From 48486259363cca01a7f2c768ec73de65a3a1f4d8 Mon Sep 17 00:00:00 2001 From: hehongyu Date: Sat, 12 Aug 2023 16:07:24 +0800 Subject: [PATCH] init --- .idea/.gitignore | 8 + .idea/compiler.xml | 8 + .idea/misc.xml | 11 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + COMMIT_EDITMSG | 1 - config | 18 - description | 1 - .../cn/cecep/talroad/TaskApplication.java | 28 + .../cecep/talroad/config/AuditWordField.java | 14 + .../talroad/config/BigDecimalSerialize.java | 17 + .../cecep/talroad/config/ExchangeConfig.java | 38 + .../talroad/config/MyMetaObjectHandler.java | 28 + .../talroad/config/MybatisPlusConfig.java | 28 + .../cn/cecep/talroad/config/QueueConfig.java | 41 + .../cecep/talroad/config/RabbitmqConfig.java | 49 + .../AmDoorMonitorAccountFiController.java | 119 ++ .../controller/AmProblemFiController.java | 324 ++++ .../AmProblemFiRatioController.java | 174 ++ .../controller/AmVideoDevFiController.java | 239 +++ ...BEnterpriseIrBusinessAlertsController.java | 150 ++ .../BEnterpriseIrEesController.java | 119 ++ .../BEnterpriseIrEesTypeController.java | 129 ++ .../BEnterpriseIrLegalController.java | 119 ++ ...terpriseIrNotifierproNoticeController.java | 147 ++ .../BEnterpriseIrSdoeptController.java | 119 ++ .../BEnterpriseRiskAssessmentController.java | 51 + .../BMainActionReportsController.java | 119 ++ .../BMainAllowablePollutionAirController.java | 119 ++ ...MainAllowablePollutionWaterController.java | 119 ++ .../BMainEmissionOnlineMonAirController.java | 298 +++ ...BMainEmissionOnlineMonWaterController.java | 119 ++ .../BMainEmissionPollutionAirController.java | 294 +++ ...EmissionPollutionSolidWasteController.java | 119 ++ ...BMainEmissionPollutionWaterController.java | 119 ++ .../BMainEmissionSourceAirController.java | 520 +++++ .../BMainEmissionSourceWaterController.java | 119 ++ .../BMainExceptionTaskCheckController.java | 55 + .../BMainFactoryVerificationController.java | 139 ++ .../BMainHazardousSolidWasteController.java | 119 ++ .../BMainHazardousSolidWasteCrController.java | 119 ++ .../BMainHazardousSolidWasteFaController.java | 119 ++ .../BMainHazardousSolidWasteLeController.java | 119 ++ .../BMainHazardousWasteOutputController.java | 144 ++ .../BMainMobileEnforcementController.java | 116 ++ .../BMainNoiseEmissionsController.java | 119 ++ .../controller/BMainPollDisController.java | 127 ++ .../BMainPollDisEmlRecordController.java | 119 ++ .../BMainPollDisEnforcementController.java | 119 ++ .../BMainPollDisFileController.java | 154 ++ .../BMainPollDisGasMoutController.java | 116 ++ .../BMainPollDisGasOoutController.java | 116 ++ .../BMainPollDisGasPollController.java | 41 + .../BMainPollDisGasSoutController.java | 159 ++ .../BMainPollDisGasToutController.java | 116 ++ .../BMainPollDisGasWzzToutController.java | 41 + .../BMainPollDisInformationController.java | 119 ++ .../BMainPollDisNoiseController.java | 119 ++ ...BMainPollDisNoiseRegulationController.java | 119 ++ .../BMainPollDisNoiseRequireController.java | 119 ++ .../BMainPollDisSelfMonController.java | 119 ++ .../BMainPollDisSelfMonOtherController.java | 119 ++ .../BMainPollDisWaterMoutController.java | 143 ++ .../BMainPollDisWaterOoutController.java | 143 ++ .../BMainPollDisWaterSoutController.java | 125 ++ .../BMainPollDisWaterToutController.java | 116 ++ .../BMainProductionInorgGasController.java | 134 ++ .../BMainProductionOrganizGasController.java | 134 ++ .../BMainProductionWaterController.java | 134 ++ .../BMainSolidHazardousController.java | 119 ++ .../BMainSolidWasteOutputController.java | 127 ++ .../BMainSysFeedbackController.java | 58 + ...BMainThreeSupervisionEnforcController.java | 181 ++ ...hreeSupervisionEnforcRecordController.java | 122 ++ .../BMainTwoRandomTaskController.java | 74 + ...BStatTablePwxkWaterAndOtherController.java | 240 +++ .../BStatTableZxbgJbxxInfoController.java | 124 ++ .../BStatTableZxbgPflAirController.java | 124 ++ .../BStatTableZxbgPflAirOtherController.java | 122 ++ ...tatTableZxbgPflAirOverproofController.java | 124 ++ ...BStatTableZxbgPflAirSpecialController.java | 124 ++ .../BStatTableZxbgPflAirStatController.java | 124 ++ .../BStatTableZxbgPflWaterController.java | 124 ++ ...tTableZxbgPflWaterVoerproofController.java | 124 ++ .../BStatTableZxbgPflallWaterController.java | 124 ++ ...BStatTableZxbgPfltotalWaterController.java | 124 ++ ...tTableZxbgWrzlAbnormalitiesController.java | 123 ++ .../BStatTableZxbgWrzlTotalController.java | 123 ++ .../controller/BasDevToElecController.java | 119 ++ .../controller/BasDeviceController.java | 532 ++++++ .../controller/BasDeviceParamController.java | 171 ++ .../controller/BasDeviceSiteController.java | 317 ++++ .../controller/BasElecDeviceController.java | 119 ++ .../controller/BasParamController.java | 127 ++ .../BasThresholdConfigController.java | 122 ++ ...BaseControlConcentStandardsController.java | 92 + ...seRegionalControlObjectivesController.java | 61 + .../controller/EarlyWarningController.java | 144 ++ .../ElectricityMeterController.java | 138 ++ .../controller/EmissionsStatController.java | 76 + .../EnvironmentalCodingController.java | 53 + ...cilityInformationManagementController.java | 275 +++ .../FactoryReportingManifestController.java | 122 ++ .../FactoryReportingRemindersController.java | 151 ++ .../FactoryReportingTaskController.java | 127 ++ .../controller/HomePageMapController.java | 177 ++ .../KeyEmittingIndustryController.java | 169 ++ .../controller/LeaderCockpitController.java | 123 ++ .../controller/MAmVideoDevFiController.java | 199 ++ .../controller/MonDevBlHourController.java | 119 ++ .../controller/MonDevBlOtherController.java | 119 ++ .../controller/MonDevBlRealController.java | 119 ++ .../controller/MonDevDlHourController.java | 119 ++ .../controller/MonDevDlOtherController.java | 119 ++ .../controller/MonDevDlRealController.java | 119 ++ .../controller/MonDevFsHourController.java | 119 ++ .../controller/MonDevFsOtherController.java | 119 ++ .../controller/MonDevFsRealController.java | 119 ++ .../controller/MonDevHourController.java | 119 ++ .../controller/MonDevJhHourController.java | 119 ++ .../controller/MonDevJhOtherController.java | 119 ++ .../controller/MonDevJhRealController.java | 119 ++ .../controller/MonDevOtherController.java | 119 ++ .../controller/MonDevRealController.java | 119 ++ .../controller/MonDevSnHourController.java | 119 ++ .../controller/MonDevSnOtherController.java | 119 ++ .../controller/MonDevSnRealController.java | 119 ++ .../controller/MonDevTcHourController.java | 119 ++ .../controller/MonDevTcOtherController.java | 119 ++ .../controller/MonDevTcRealController.java | 119 ++ .../controller/MonElecEventController.java | 119 ++ .../controller/MonElecRealController.java | 85 + .../controller/MonitoringMapController.java | 89 + ...organizationWeiStationHourIController.java | 122 ++ .../OdsMeshingShStationHourIController.java | 122 ++ .../OdsMeshingWeiStationHourIController.java | 122 ++ .../OdsOnlineOlDgiinfoAController.java | 122 ++ .../OdsOnlineOlPortinfoAController.java | 122 ++ .../OdsOnlineOlPsWhitelistAController.java | 122 ++ .../OdsOnlineOlPsinfoAController.java | 122 ++ .../OdsOnlineOlStopinfoAController.java | 122 ++ .../OnlineMonitoringAnalysisController.java | 122 ++ .../talroad/controller/PcAdslController.java | 119 ++ .../controller/PcAdslFactoryController.java | 129 ++ .../PcArchivesFactoryController.java | 62 + .../PcControlRequirementsController.java | 71 + .../PcFactoryAccessControlController.java | 149 ++ ...ntrolCoordinateOperationLogController.java | 117 ++ .../PcFactoryAccuratePortraitController.java | 98 + .../controller/PcFactoryController.java | 292 +++ ...ctoryCoordinateOperationLogController.java | 116 ++ .../PcFactoryPollutantController.java | 119 ++ ...ctoryPollutantEmissionsRankController.java | 117 ++ ...PcFactoryWasteEmissionsRankController.java | 44 + ...rationPollutantRankDataTaskController.java | 74 + .../controller/PcIndustryController.java | 138 ++ .../talroad/controller/PcLabelController.java | 331 ++++ .../controller/PcLabelFactoryController.java | 163 ++ .../controller/PcLabelValueController.java | 149 ++ .../PcManagementFacilitiesController.java | 119 ++ .../talroad/controller/PcMenuController.java | 119 ++ .../controller/PcMenuFactoryController.java | 119 ++ .../controller/PcNoiseTypeController.java | 119 ++ .../controller/PcOutletController.java | 554 ++++++ ...utletCoordinateOperationLogController.java | 117 ++ .../controller/PcPollutantController.java | 134 ++ .../PcProductionFacilityController.java | 119 ++ .../PcSolidHazardousTypeController.java | 119 ++ .../PcStationBuildingController.java | 139 ++ ...PcStationBuildingEntranceGuController.java | 122 ++ .../PcStationBuildingOpsController.java | 122 ++ .../PcStationBuildingStatController.java | 136 ++ .../controller/PointIsOfflineController.java | 52 + .../controller/SEnvGasMonRealController.java | 152 ++ .../controller/SEnvGasRealController.java | 132 ++ .../SEnvWaterMonRealController.java | 141 ++ ...IntegratedRoutineInspectionController.java | 119 ++ .../SMainDynamicControlController.java | 65 + .../SMainDynamicControlFactoryController.java | 79 + .../SMainDynamicControlParamController.java | 65 + .../SRaRealTimeAnalysisRunOneController.java | 145 ++ .../SupermonitorDrainOutletController.java | 119 ++ .../controller/TCodStationController.java | 68 + ...organizedMonitoringAnalysisController.java | 57 + .../VideoSurveillanceAnalyticsController.java | 57 + .../analysis/BCoDischargePlanController.java | 148 ++ .../analysis/BMaintenancePlanController.java | 164 ++ .../BasDeviceParamAnalyseController.java | 111 ++ .../analysis/BasDeviceParamController.java | 88 + .../BasThresholdConfigController.java | 88 + .../analysis/PcRaProblemTypeController.java | 126 ++ .../analysis/RemoteTaskController.java | 690 +++++++ .../analysis/SRaAbNalysisCarController.java | 119 ++ .../SRaAbNalysisLowCarController.java | 238 +++ ...ctionReportsActualEmissionsController.java | 119 ++ ...SRaActionReportsActualYieldController.java | 119 ++ .../SRaActionReportsAuditController.java | 130 ++ ...SRaActionReportsAuditRecordController.java | 135 ++ ...SRaActionReportsAuditResultController.java | 145 ++ .../SRaAreaRegulatoryIssuesController.java | 119 ++ ...SRaAreaTransferRateAnalysisController.java | 120 ++ .../analysis/SRaControlSchemeController.java | 122 ++ .../analysis/SRaEmissionsDiffController.java | 120 ++ ...EmissionsMonitoringVarianceController.java | 131 ++ .../analysis/SRaEmissionsOverController.java | 66 + .../SRaEmissionsOverFactoryController.java | 72 + .../SRaEmissionsStandardController.java | 162 ++ .../SRaEmissionsStatisticsController.java | 92 + .../SRaFactoryRegulatoryIssuesController.java | 118 ++ ...FactoryTransferRateAnalysisController.java | 122 ++ .../analysis/SRaGasFlagController.java | 63 + .../SRaGasPermittedEmissionsController.java | 130 ++ .../SRaGasPermittedOnlineController.java | 194 ++ .../SRaHandworkEmissionsGasController.java | 185 ++ .../SRaHandworkEmissionsWaterController.java | 167 ++ .../SRaLowMonitoringGasController.java | 54 + .../SRaLowMonitoringOtherController.java | 54 + .../SRaLowMonitoringWaterController.java | 55 + .../analysis/SRaMultiSourceController.java | 252 +++ .../SRaOnlineEmissionsGasController.java | 119 ++ .../SRaOnlineEmissionsWaterController.java | 119 ++ .../analysis/SRaOverRateGasController.java | 52 + .../analysis/SRaOverRateWaterController.java | 71 + ...rWaterPollutionTraceabilityController.java | 174 ++ .../SRaRealTimeAnalysicComsitController.java | 184 ++ ...alTimeAnalysicComsitMonitorController.java | 117 ++ .../SRaRealTimeAnalysisCementController.java | 211 +++ .../SRaRealTimeAnalysisCoController.java | 218 +++ .../SRaRealTimeAnalysisCoalController.java | 214 +++ .../SRaRealTimeAnalysisCokeController.java | 220 +++ ...RaRealTimeAnalysisConverterController.java | 219 +++ .../SRaRealTimeAnalysisFurnaceController.java | 211 +++ .../SRaRealTimeAnalysisGlassController.java | 215 +++ .../SRaRealTimeAnalysisKwhController.java | 159 ++ .../SRaRealTimeAnalysisPowerController.java | 218 +++ .../SRaRealTimeAnalysisRubbishController.java | 218 +++ .../SRaRealTimeAnalysisRunController.java | 187 ++ .../SRaRealTimeAnalysisStopController.java | 190 ++ .../SRaSelfMonitoringDataController.java | 151 ++ .../analysis/SRaWaterFlagController.java | 64 + .../SRaWaterPermittedEmissionsController.java | 155 ++ .../SRaWaterPermittedOnlineController.java | 196 ++ .../controller/app/SignatureController.java | 395 ++++ ...AppVersionAddressManagementController.java | 139 ++ .../AmProblemFiCallbackController.java | 45 + .../effective/BasTargetController.java | 85 + .../effective/ERmStationExceedController.java | 129 ++ .../effective/ForecastAccuracyController.java | 42 + .../MAiControlDelayAssessmentController.java | 56 + ...overnanceTechnologyEstimateController.java | 125 ++ .../effective/PCodAreaInfoController.java | 105 + .../PollutionCharacterAnalysisController.java | 43 + ...ctificationEffectEvaluationController.java | 72 + .../ReductionEmissionController.java | 188 ++ .../analysis/DataAnomalyAbstractFactory.java | 101 + .../analysis/DataAnomalyAbstractService.java | 350 ++++ .../constant/DataConstantAbstractService.java | 221 +++ .../impl/BurnDataConstantService.java | 56 + .../impl/CementDataConstantService.java | 56 + .../impl/CokingDataConstantService.java | 56 + .../impl/ElecDataConstantService.java | 60 + .../constant/impl/GasDataConstantService.java | 60 + .../impl/GlassDataConstantService.java | 56 + .../impl/PowerDataConstantService.java | 54 + .../impl/SteelDataConstantService.java | 56 + .../impl/WaterDataConstantService.java | 60 + .../task/entity/ConcentrationEntity.java | 42 + .../data/analyse/task/entity/DeviceSitVo.java | 52 + .../entity/FactoryActivePowerQuantityVO.java | 20 + .../task/entity/MainProductDeviceVo.java | 63 + .../task/entity/PollutantChangeVO.java | 25 + .../analyse/task/entity/PollutantEntity.java | 43 + .../analyse/task/entity/PreAmProblemFi.java | 23 + .../analyse/task/entity/ProblemRatioDTO.java | 32 + .../SimpleSRaFactoryTransferRateAnalysis.java | 35 + .../enums/DataAnomalyFactoryServiceEnum.java | 71 + .../analyse/task/enums/ExecuteReportEnum.java | 26 + ...imestoneDataAnomalyFactoryServiceEnum.java | 14 + .../PollutionDischargeProcessService.java | 8 + .../PollutionDischargeProcessServiceImpl.java | 152 ++ ...PreventionAndControlFacilitiesService.java | 9 + ...entionAndControlFacilitiesServiceImpl.java | 204 ++ .../abstractserivce/package-info.java | 6 + .../constant/ExecuteReportConstant.java | 13 + .../month/AnomalyAnalysisService.java | 106 ++ .../specifications/month/package-info.java | 6 + .../specifications/other/package-info.java | 6 + .../report/specifications/package-info.java | 6 + .../specifications/quarter/package-info.java | 6 + .../specifications/year/package-info.java | 6 + .../AbstractFactoryLabelChangeService.java | 109 ++ .../ActivePowerQuantityChangeService.java | 95 + .../change/FactoryLabelChangeService.java | 17 + .../FactoryLabelChangeServiceContext.java | 28 + .../label/change/PollutantChangeService.java | 185 ++ .../task/label/ExecuteReportTaskService.java | 173 ++ .../task/label/GapLabelTaskService.java | 169 ++ .../BaseAnomalyLimestoneService.java | 431 +++++ .../DesulphurizerAnomalyService.java | 264 +++ .../LimestoneAnomalyAbstractFactory.java | 56 + .../SteelRealDryAnomalyLimestoneService.java | 105 + .../task/limestone/entity/GasDeviceVo.java | 14 + .../wet/DlRealWetAnomalyLimestoneService.java | 93 + .../SteelRealWetAnomalyLimestoneService.java | 96 + .../task/logic/DataLogicAbstractService.java | 304 +++ .../task/logic/impl/BurnDataLogicService.java | 57 + .../logic/impl/CementDataLogicService.java | 56 + .../logic/impl/CokingDataLogicService.java | 58 + .../task/logic/impl/GasDataLogicService.java | 60 + .../logic/impl/GlassDataLogicService.java | 56 + .../logic/impl/PowerDataLogicService.java | 56 + .../logic/impl/SteelDataLogicService.java | 57 + .../logic/impl/WaterDataLogicService.java | 60 + .../missing/DataMissingAbstractService.java | 277 +++ .../missing/impl/BurnDataMissingService.java | 56 + .../impl/CementDataMissingService.java | 56 + .../impl/CokingDataMissingService.java | 59 + .../missing/impl/ElecDataMissingService.java | 60 + .../missing/impl/GasDataMissingService.java | 60 + .../impl/GasMonDataMissingService.java | 61 + .../missing/impl/GlassDataMissingService.java | 55 + .../impl/MAmProblemFiRatioService.java | 198 ++ .../missing/impl/OdsDataMissingService.java | 61 + .../impl/OdsMeShingShStationService.java | 61 + .../impl/OdsMeShingWeiStationService.java | 60 + .../missing/impl/PowerDataMissingService.java | 55 + .../missing/impl/SteelDataMissingService.java | 55 + .../missing/impl/WaterDataMissingService.java | 60 + .../data/analyse/task/real/RealService.java | 57 + .../concentration/GasConcentrationEnum.java | 92 + .../concentration/WaterConcentrationEnum.java | 94 + .../online/OnlineRealTaskService.java | 69 + .../online/impl/GasOnlineRealTaskService.java | 57 + .../impl/WaterOnlineRealTaskService.java | 60 + .../task/real/device/DeviceRealService.java | 52 + .../impl/ElecDataDeviceRealService.java | 87 + .../device/impl/GasDataDeviceRealService.java | 89 + .../impl/GasMonDataDeviceRealService.java | 86 + .../device/impl/OdsDataDeviceRealService.java | 89 + .../impl/OdsMeShingShDeviceRealService.java | 89 + .../impl/OdsMeShingWeiDeviceRealService.java | 89 + .../impl/WaterDataDeviceRealService.java | 89 + .../task/real/impl/ElecDataRealService.java | 87 + .../task/real/impl/GasDataRealService.java | 89 + .../task/real/impl/GasMonDataRealService.java | 86 + .../task/real/impl/OdsDataRealService.java | 89 + .../real/impl/OdsMeShingShRealService.java | 89 + .../real/impl/OdsMeShingWeiRealService.java | 89 + .../task/real/impl/WaterDataRealService.java | 89 + .../task/real/outlet/OutletRealService.java | 89 + .../outlet/impl/GasHourOutletService.java | 83 + .../outlet/impl/WaterHourOutletService.java | 85 + .../service/ConcentrationTaskService.java | 191 ++ .../ContrastiveAnalysisGasTaskService.java | 148 ++ .../FrequencyMeasurementTaskService.java | 248 +++ .../service/GasExceededLabelTaskService.java | 274 +++ .../GasExceededTotalLabelTaskService.java | 145 ++ .../service/OutletMonitorGasTaskService.java | 82 + .../PollutionSourceControlService.java | 109 ++ .../task/service/SiteMonitoringService.java | 345 ++++ .../StationBuildingStatTaskService.java | 38 + .../analyse/task/service/TaskService.java | 19 + .../rate/ElectricityAnalyseService.java | 46 + .../rate/InorganizationAnalyseService.java | 46 + .../rate/OnlineMonitoringAnalyseService.java | 46 + .../rate/TransferRateAbstractService.java | 132 ++ .../rate/WorkingConditionsAnalyseService.java | 46 + .../talroad/domain/AiDeepModelResult.java | 139 ++ .../domain/AmDoorMonitorAccountFi.java | 118 ++ .../cn/cecep/talroad/domain/AmProblemFi.java | 183 ++ .../talroad/domain/AmProblemFiProcess.java | 94 + .../talroad/domain/AmProblemFiRatio.java | 87 + .../cn/cecep/talroad/domain/AmVideoDevFi.java | 115 ++ .../domain/AppVersionAddressManagement.java | 69 + .../domain/BEnterpriseIrBusinessAlerts.java | 87 + .../talroad/domain/BEnterpriseIrEes.java | 99 + .../talroad/domain/BEnterpriseIrEesType.java | 76 + .../talroad/domain/BEnterpriseIrLegal.java | 92 + .../BEnterpriseIrNotifierproNotice.java | 92 + .../talroad/domain/BEnterpriseIrSdoept.java | 92 + .../domain/BEnterpriseRiskAssessment.java | 130 ++ .../domain/BEnterpriseRiskAssessmentLast.java | 88 + .../talroad/domain/BMainActionReports.java | 71 + .../domain/BMainAllowablePollutionAir.java | 174 ++ .../domain/BMainAllowablePollutionWater.java | 109 ++ .../domain/BMainEmissionOnlineMonAir.java | 161 ++ .../domain/BMainEmissionOnlineMonWater.java | 161 ++ .../domain/BMainEmissionPollutionAir.java | 144 ++ .../BMainEmissionPollutionSolidWaste.java | 121 ++ .../domain/BMainEmissionPollutionWater.java | 167 ++ .../domain/BMainEmissionSourceAir.java | 94 + .../domain/BMainEmissionSourceWater.java | 94 + .../domain/BMainExceptionTaskCheck.java | 207 ++ .../domain/BMainExceptionTaskCheckStep.java | 75 + .../domain/BMainFactoryVerification.java | 188 ++ .../cn/cecep/talroad/domain/BMainFile.java | 44 + .../domain/BMainHazardousSolidWaste.java | 109 ++ .../domain/BMainHazardousSolidWasteCr.java | 67 + .../domain/BMainHazardousSolidWasteFa.java | 98 + .../domain/BMainHazardousSolidWasteLe.java | 113 ++ .../domain/BMainHazardousWasteOutput.java | 137 ++ .../domain/BMainMobileEnforcement.java | 82 + .../domain/BMainMonitorPointOperationLog.java | 176 ++ .../talroad/domain/BMainNoiseEmissions.java | 91 + .../cn/cecep/talroad/domain/BMainPollDis.java | 129 ++ .../talroad/domain/BMainPollDisEmlRecord.java | 110 ++ .../domain/BMainPollDisEnforcement.java | 90 + .../talroad/domain/BMainPollDisFile.java | 165 ++ .../talroad/domain/BMainPollDisGasMout.java | 156 ++ .../talroad/domain/BMainPollDisGasOout.java | 157 ++ .../talroad/domain/BMainPollDisGasPoll.java | 129 ++ .../talroad/domain/BMainPollDisGasSout.java | 110 ++ .../talroad/domain/BMainPollDisGasTout.java | 106 ++ .../domain/BMainPollDisGasWzzTout.java | 134 ++ .../domain/BMainPollDisInformation.java | 85 + .../talroad/domain/BMainPollDisNoise.java | 106 ++ .../domain/BMainPollDisNoiseRegulation.java | 92 + .../domain/BMainPollDisNoiseRequire.java | 98 + .../talroad/domain/BMainPollDisSelfMon.java | 152 ++ .../domain/BMainPollDisSelfMonOther.java | 155 ++ .../talroad/domain/BMainPollDisWaterMout.java | 131 ++ .../talroad/domain/BMainPollDisWaterOout.java | 131 ++ .../talroad/domain/BMainPollDisWaterSout.java | 112 ++ .../talroad/domain/BMainPollDisWaterTout.java | 105 + .../domain/BMainProductionInorgGas.java | 127 ++ .../domain/BMainProductionOrganizGas.java | 147 ++ .../talroad/domain/BMainProductionWater.java | 116 ++ .../talroad/domain/BMainSolidHazardous.java | 66 + .../talroad/domain/BMainSolidWasteOutput.java | 132 ++ .../talroad/domain/BMainSysFeedback.java | 47 + .../domain/BMainThreeSupervisionEnforc.java | 219 +++ .../BMainThreeSupervisionEnforcRecord.java | 107 ++ .../talroad/domain/BMainTwoRandomTask.java | 221 +++ .../domain/BMainTwoRandomTaskStep.java | 71 + .../BStatTablePwxkProductionFacilities.java | 119 ++ ...atTablePwxkProductionFacilitiesParams.java | 68 + .../domain/BStatTablePwxkProducts.java | 84 + .../domain/BStatTablePwxkWaterIndustryIn.java | 132 ++ .../BStatTablePwxkWaterIndustryInTotal.java | 108 ++ .../domain/BStatTablePwxkWaterLifeIn.java | 148 ++ .../BStatTablePwxkWaterTreatmentInAsk.java | 172 ++ .../BStatTablePwxkWaterTreatmentLine.java | 164 ++ .../talroad/domain/BStatTableQueryInfo.java | 71 + .../domain/BStatTableZxbgJbxxInfo.java | 143 ++ .../BStatTableZxbgJbxxInfoFactoryBase.java | 69 + .../talroad/domain/BStatTableZxbgPflAir.java | 136 ++ .../domain/BStatTableZxbgPflAirOther.java | 119 ++ .../domain/BStatTableZxbgPflAirOverproof.java | 146 ++ .../domain/BStatTableZxbgPflAirSpecial.java | 136 ++ .../domain/BStatTableZxbgPflAirStat.java | 115 ++ .../domain/BStatTableZxbgPflWater.java | 138 ++ .../BStatTableZxbgPflWaterVoerproof.java | 139 ++ .../domain/BStatTableZxbgPflallWater.java | 120 ++ .../domain/BStatTableZxbgPfltotalWater.java | 131 ++ .../BStatTableZxbgWrzlAbnormalities.java | 150 ++ .../domain/BStatTableZxbgWrzlTotal.java | 138 ++ .../cecep/talroad/domain/BasControlValue.java | 65 + .../talroad/domain/BasDcsOperationLog.java | 47 + .../cn/cecep/talroad/domain/BasDevToElec.java | 51 + .../cn/cecep/talroad/domain/BasDevice.java | 217 +++ .../cecep/talroad/domain/BasDeviceConfig.java | 106 ++ .../domain/BasDeviceInfoOperationLog.java | 190 ++ .../cecep/talroad/domain/BasDeviceParam.java | 170 ++ .../talroad/domain/BasDeviceSalAnalysis.java | 62 + .../cecep/talroad/domain/BasDeviceSite.java | 64 + .../BasDeviceSiteCoordinateOperationLog.java | 143 ++ .../talroad/domain/BasDeviceZlConfig.java | 74 + .../cecep/talroad/domain/BasElecDevice.java | 74 + .../talroad/domain/BasElecProCepMap.java | 64 + .../cn/cecep/talroad/domain/BasParam.java | 196 ++ .../BasProductionDeviceOperationLog.java | 86 + .../cn/cecep/talroad/domain/BasTarget.java | 114 ++ .../talroad/domain/BasThresholdConfig.java | 98 + .../domain/BaseControlConcentStandards.java | 79 + .../domain/BaseRegionalControlObjectives.java | 60 + .../cn/cecep/talroad/domain/EarlyWarning.java | 138 ++ .../domain/FactoryReportingManifest.java | 97 + .../domain/FactoryReportingReminders.java | 88 + .../talroad/domain/FactoryReportingTask.java | 86 + .../talroad/domain/GasReleaseRealStatus.java | 40 + .../cecep/talroad/domain/IotDeviceType.java | 80 + .../domain/MAmDoorMonitorAccountFi.java | 101 + .../talroad/domain/MAmProblemFiRatio.java | 84 + .../MAmVideoCoordinateOperationLog.java | 89 + .../cecep/talroad/domain/MAmVideoDevFi.java | 154 ++ .../domain/MAmVideoInfoOperationLog.java | 134 ++ .../cn/cecep/talroad/domain/MonDevBlHour.java | 336 ++++ .../cecep/talroad/domain/MonDevBlOther.java | 337 ++++ .../cn/cecep/talroad/domain/MonDevBlReal.java | 337 ++++ .../cn/cecep/talroad/domain/MonDevDlHour.java | 805 ++++++++ .../cecep/talroad/domain/MonDevDlOther.java | 805 ++++++++ .../cn/cecep/talroad/domain/MonDevDlReal.java | 806 ++++++++ .../cn/cecep/talroad/domain/MonDevFsHour.java | 503 +++++ .../cecep/talroad/domain/MonDevFsOther.java | 504 +++++ .../cn/cecep/talroad/domain/MonDevFsReal.java | 506 +++++ .../cn/cecep/talroad/domain/MonDevHour.java | 980 ++++++++++ .../cn/cecep/talroad/domain/MonDevJhHour.java | 737 ++++++++ .../cecep/talroad/domain/MonDevJhOther.java | 738 ++++++++ .../cn/cecep/talroad/domain/MonDevJhReal.java | 740 ++++++++ .../cn/cecep/talroad/domain/MonDevOther.java | 980 ++++++++++ .../cn/cecep/talroad/domain/MonDevReal.java | 944 +++++++++ .../cn/cecep/talroad/domain/MonDevSnHour.java | 211 +++ .../cecep/talroad/domain/MonDevSnOther.java | 211 +++ .../cn/cecep/talroad/domain/MonDevSnReal.java | 211 +++ .../cn/cecep/talroad/domain/MonDevTcHour.java | 238 +++ .../cecep/talroad/domain/MonDevTcOther.java | 239 +++ .../cn/cecep/talroad/domain/MonDevTcReal.java | 239 +++ .../cn/cecep/talroad/domain/MonElecEvent.java | 110 ++ .../cn/cecep/talroad/domain/MonElecHour.java | 108 ++ .../talroad/domain/MonElecOperationLog.java | 75 + .../cn/cecep/talroad/domain/MonElecOther.java | 107 ++ .../cn/cecep/talroad/domain/MonElecReal.java | 103 + .../talroad/domain/OdsAirRegionAqiHourI.java | 414 ++++ .../talroad/domain/OdsAirRegionHourI.java | 407 ++++ .../OdsElectricityElecPsEquipRelationTsA.java | 85 + .../OdsInorganizationWeiStationHourI.java | 219 +++ .../domain/OdsMeshingShStationHourI.java | 272 +++ .../domain/OdsMeshingWeiStationHourI.java | 251 +++ .../talroad/domain/OdsOnlineOlDgiinfoA.java | 202 ++ .../talroad/domain/OdsOnlineOlPortinfoA.java | 286 +++ .../domain/OdsOnlineOlPsWhitelistA.java | 224 +++ .../talroad/domain/OdsOnlineOlPsinfoA.java | 244 +++ .../talroad/domain/OdsOnlineOlStopinfoA.java | 211 +++ .../cn/cecep/talroad/domain/PCodCompany.java | 188 ++ .../cecep/talroad/domain/PCodeAreaInfo.java | 55 + .../cn/cecep/talroad/domain/PCodeStation.java | 194 ++ .../java/cn/cecep/talroad/domain/PcAdsl.java | 58 + .../cecep/talroad/domain/PcAdslFactory.java | 50 + .../talroad/domain/PcArchivesFactory.java | 131 ++ .../talroad/domain/PcControlRequirements.java | 199 ++ .../cn/cecep/talroad/domain/PcFactory.java | 404 ++++ .../domain/PcFactoryAccessControl.java | 50 + ...ryAccessControlCoordinateOperationLog.java | 73 + .../PcFactoryCoordinateOperationLog.java | 68 + .../talroad/domain/PcFactoryPollutant.java | 66 + .../PcFactoryPollutantEmissionsRank.java | 110 ++ .../domain/PcFactoryWasteEmissionsRank.java | 74 + .../cn/cecep/talroad/domain/PcIndustry.java | 57 + .../java/cn/cecep/talroad/domain/PcLabel.java | 105 + .../cecep/talroad/domain/PcLabelFactory.java | 63 + .../cn/cecep/talroad/domain/PcLabelValue.java | 67 + .../domain/PcManagementFacilities.java | 42 + .../java/cn/cecep/talroad/domain/PcMenu.java | 64 + .../cecep/talroad/domain/PcMenuFactory.java | 78 + .../cn/cecep/talroad/domain/PcNoiseType.java | 57 + .../cn/cecep/talroad/domain/PcOutlet.java | 282 +++ .../PcOutletCoordinateOperationLog.java | 75 + .../cn/cecep/talroad/domain/PcPollutant.java | 98 + .../talroad/domain/PcProductionFacility.java | 43 + .../talroad/domain/PcSolidHazardousType.java | 131 ++ .../talroad/domain/PcStationBuilding.java | 98 + .../domain/PcStationBuildingEntranceGu.java | 83 + .../talroad/domain/PcStationBuildingOps.java | 86 + .../talroad/domain/PcStationBuildingStat.java | 84 + .../cn/cecep/talroad/domain/PcYieldTrend.java | 54 + .../cecep/talroad/domain/QEnvgasAreaHour.java | 238 +++ .../talroad/domain/QEnvgasStationDay.java | 563 ++++++ .../talroad/domain/QEnvgasStationMinute.java | 331 ++++ .../cn/cecep/talroad/domain/QEnvgasWqDay.java | 321 ++++ .../cecep/talroad/domain/SEnvGasMonDay.java | 314 +++ .../cecep/talroad/domain/SEnvGasMonHour.java | 314 +++ .../cecep/talroad/domain/SEnvGasMonReal.java | 317 ++++ .../cn/cecep/talroad/domain/SEnvGasReal.java | 169 ++ .../cecep/talroad/domain/SEnvGasSelfDay.java | 439 +++++ .../cecep/talroad/domain/SEnvWaterMonDay.java | 148 ++ .../talroad/domain/SEnvWaterMonHour.java | 149 ++ .../talroad/domain/SEnvWaterMonReal.java | 145 ++ .../talroad/domain/SEnvWaterSelfDay.java | 221 +++ .../cecep/talroad/domain/SEnvgasAqilevel.java | 68 + .../talroad/domain/SEnvgasPollutant.java | 77 + .../domain/SEnvgasPollutionControl.java | 49 + .../talroad/domain/SEnvgasPollutionLabel.java | 73 + .../talroad/domain/SEnvgasPollutionMold.java | 74 + .../talroad/domain/SEnvgasStationControl.java | 51 + .../domain/SIntegratedRoutineInspection.java | 103 + .../talroad/domain/SMainDynamicControl.java | 70 + .../domain/SMainDynamicControlFactory.java | 62 + .../domain/SMainDynamicControlParam.java | 58 + .../talroad/domain/SRaDayMonTimeFbjd.java | 113 ++ .../domain/SRaRealTimeAnalysicComsitSt.java | 87 + .../domain/SRaRealTimeAnalysisRunOne.java | 179 ++ .../talroad/domain/SStationTypeDict.java | 51 + .../cecep/talroad/domain/STaskYieldTrend.java | 66 + .../domain/SupermonitorDrainOutlet.java | 164 ++ .../cn/cecep/talroad/domain/TCodStation.java | 46 + .../talroad/domain/TCodStationDataAir.java | 167 ++ .../talroad/domain/TCodStationDataWater.java | 65 + .../domain/analysis/BCoDischargePlan.java | 96 + .../domain/analysis/BCoDischargePlanInfo.java | 63 + .../domain/analysis/BMaintenancePlan.java | 113 ++ .../domain/analysis/BMaintenancePlanInfo.java | 95 + .../domain/analysis/BasDeviceParam.java | 211 +++ .../analysis/BasDeviceParamAnalyse.java | 154 ++ .../domain/analysis/BasThresholdConfig.java | 115 ++ .../domain/analysis/PcRaProblemType.java | 57 + .../domain/analysis/SRaAbNalysisCar.java | 119 ++ .../domain/analysis/SRaAbNalysisLowCar.java | 175 ++ .../SRaActionReportsActualEmissions.java | 128 ++ .../analysis/SRaActionReportsActualYield.java | 113 ++ .../analysis/SRaActionReportsAudit.java | 103 + .../SRaActionReportsAuditFactoryInfo.java | 73 + .../analysis/SRaActionReportsAuditRecord.java | 105 + .../analysis/SRaActionReportsAuditResult.java | 274 +++ .../analysis/SRaAreaRegulatoryIssues.java | 174 ++ .../analysis/SRaAreaTransferRateAnalysis.java | 400 ++++ .../domain/analysis/SRaControlScheme.java | 118 ++ .../domain/analysis/SRaEmissionsDiff.java | 91 + .../SRaEmissionsMonitoringVariance.java | 117 ++ .../domain/analysis/SRaEmissionsOver.java | 117 ++ .../analysis/SRaEmissionsOverFactory.java | 89 + .../domain/analysis/SRaEmissionsStandard.java | 113 ++ .../analysis/SRaEmissionsStatistics.java | 122 ++ .../analysis/SRaFactoryRegulatoryIssues.java | 175 ++ .../SRaFactoryTransferRateAnalysis.java | 464 +++++ .../talroad/domain/analysis/SRaGasFlag.java | 99 + .../analysis/SRaGasPermittedEmissions.java | 186 ++ .../analysis/SRaGasPermittedOnline.java | 190 ++ .../analysis/SRaHandworkEmissionsGas.java | 160 ++ .../analysis/SRaHandworkEmissionsWater.java | 160 ++ .../domain/analysis/SRaLowMonitoringGas.java | 273 +++ .../analysis/SRaLowMonitoringOther.java | 180 ++ .../analysis/SRaLowMonitoringWater.java | 204 ++ .../domain/analysis/SRaMultiSource.java | 307 +++ .../analysis/SRaOnlineEmissionsGas.java | 169 ++ .../analysis/SRaOnlineEmissionsWater.java | 166 ++ .../domain/analysis/SRaOverRateGas.java | 81 + .../domain/analysis/SRaOverRateWater.java | 81 + .../SRaOverWaterPollutionTraceability.java | 295 +++ .../analysis/SRaRealTimeAnalysicComsit.java | 98 + .../SRaRealTimeAnalysicComsitMonitor.java | 73 + .../analysis/SRaRealTimeAnalysisCement.java | 219 +++ .../analysis/SRaRealTimeAnalysisCo.java | 122 ++ .../analysis/SRaRealTimeAnalysisCoal.java | 254 +++ .../analysis/SRaRealTimeAnalysisCoke.java | 228 +++ .../SRaRealTimeAnalysisConverter.java | 298 +++ .../analysis/SRaRealTimeAnalysisFurnace.java | 206 ++ .../analysis/SRaRealTimeAnalysisGlass.java | 234 +++ .../analysis/SRaRealTimeAnalysisKwh.java | 144 ++ .../analysis/SRaRealTimeAnalysisPower.java | 197 ++ .../analysis/SRaRealTimeAnalysisRubbish.java | 206 ++ .../analysis/SRaRealTimeAnalysisRun.java | 183 ++ .../analysis/SRaRealTimeAnalysisStop.java | 117 ++ .../analysis/SRaSelfMonitoringData.java | 245 +++ .../analysis/SRaSourcePermittedOnline.java | 209 ++ .../talroad/domain/analysis/SRaWaterFlag.java | 80 + .../analysis/SRaWaterPermittedEmissions.java | 185 ++ .../analysis/SRaWaterPermittedOnline.java | 214 +++ .../cecep/talroad/domain/dto/AnalysisDto.java | 38 + .../talroad/domain/dto/AuditRecordDTO.java | 21 + .../talroad/domain/dto/BMainPollMonDTO.java | 24 + .../talroad/domain/dto/BasTargetDto.java | 41 + .../domain/dto/FactoryLabelChangeDTO.java | 20 + .../domain/dto/MapOutlet24HourDataDTO.java | 35 + .../dto/PollutantCharacterAnalysisDto.java | 34 + .../domain/dto/PollutionSourceDto.java | 38 + .../talroad/domain/dto/ReachabilityDto.java | 41 + .../talroad/domain/dto/RecordListDTO.java | 32 + .../cecep/talroad/domain/dto/SequenceDto.java | 63 + .../domain/effective/ERmStationExceed.java | 77 + .../domain/effective/ERmStationHour.java | 190 ++ .../effective/MAiControlDelayAssessment.java | 85 + ...overnanceTechnologyEstimateFacilities.java | 196 ++ .../MGovernanceTechnologyEstimateFactory.java | 200 ++ ...GovernanceTechnologyEstimateProcedure.java | 200 ++ .../domain/effective/PCodeIndexPollutant.java | 39 + .../talroad/domain/effective/PCodeRegion.java | 175 ++ .../effective/PcNationalCityRankingHour.java | 144 ++ .../effective/PcNationalCityRankingOther.java | 131 ++ .../PcNationalCountyRankingHour.java | 130 ++ .../PcNationalCountyRankingOther.java | 140 ++ .../domain/effective/QEnvgasAreaTarget.java | 85 + .../domain/effective/QEnvgasWqDay.java | 325 ++++ .../domain/effective/QEnvgasWqMonth.java | 341 ++++ .../domain/effective/QEnvgasWqYear.java | 325 ++++ .../domain/effective/QTargetConfig.java | 72 + .../RectificationEffectQueryDTO.java | 31 + .../domain/effective/SEnvgasAqilevel.java | 66 + .../domain/effective/SEnvgasPollutant.java | 76 + .../effective/SEnvgasStationControl.java | 49 + .../talroad/domain/leader/vo/AirDataVO.java | 18 + .../domain/leader/vo/AirForecastDataVO.java | 22 + .../domain/leader/vo/AirQualityDataVO.java | 33 + .../domain/leader/vo/AreaTaskCountVO.java | 22 + .../talroad/domain/leader/vo/DataTypeVO.java | 16 + .../leader/vo/DetectFactoryQuestionVO.java | 20 + .../domain/leader/vo/DeviceCountVO.java | 29 + .../leader/vo/FactoryColorTagCountVO.java | 22 + .../domain/leader/vo/FusionCountDataVO.java | 28 + .../domain/leader/vo/ImplementEcharsVO.java | 16 + .../talroad/domain/leader/vo/ManTypeVO.java | 18 + .../talroad/domain/leader/vo/MapUpVo.java | 17 + .../leader/vo/MonitorEnforcementCountVO.java | 20 + .../domain/leader/vo/MonitorTaskCountVO.java | 22 + .../domain/leader/vo/OutletCountVO.java | 29 + .../leader/vo/PolluteControlDataVO.java | 19 + .../domain/leader/vo/ProblemDataCountVO.java | 20 + .../domain/leader/vo/ProblemDoingCountVO.java | 17 + .../domain/leader/vo/ProblemGroupCountVO.java | 23 + .../domain/leader/vo/ProblemTypeCountVO.java | 16 + .../domain/leader/vo/QuestionCountVO.java | 23 + .../leader/vo/QuestionTop10CountVO.java | 21 + .../leader/vo/RegulatoryCapacityCountVO.java | 25 + .../domain/leader/vo/StationTypeDictVO.java | 22 + .../talroad/domain/leader/vo/TaskCountVO.java | 32 + .../domain/leader/vo/ThreeMonitorCountVO.java | 24 + .../talroad/domain/vo/AirQualityLevelVo.java | 42 + .../talroad/domain/vo/AuditRecordLIstVO.java | 40 + .../talroad/domain/vo/ControlSuperiorVo.java | 443 +++++ .../cn/cecep/talroad/domain/vo/ControlVo.java | 48 + .../talroad/domain/vo/DataCompareVo.java | 153 ++ .../talroad/domain/vo/MonElecRealVO.java | 69 + .../cecep/talroad/domain/vo/MonthDataVo.java | 21 + .../domain/vo/PCodAreaRegionRelationVo.java | 57 + .../talroad/domain/vo/PCodCompanyVo.java | 69 + .../talroad/domain/vo/PCodeRegionVo.java | 96 + .../talroad/domain/vo/PCodeStationVo.java | 167 ++ .../domain/vo/ProblemGroupTimeCountVO.java | 16 + .../domain/vo/QEnvgasAreaStationHourVo.java | 134 ++ .../domain/vo/QEnvgasAreaTargetVo.java | 142 ++ .../talroad/domain/vo/QEnvgasStationHour.java | 235 +++ .../talroad/domain/vo/QEnvgasWqDayVo.java | 58 + .../talroad/domain/vo/SEnvgasPollutantVo.java | 71 + .../domain/vo/SEnvgasPollutionControlVo.java | 43 + .../domain/vo/SiteOperationParamVo.java | 34 + .../talroad/domain/vo/SiteOperationVo.java | 70 + .../talroad/domain/vo/SiteQueryParamVo.java | 37 + .../domain/vo/StationUnrepeatedVo.java | 25 + .../cn/cecep/talroad/domain/vo/UserVo.java | 104 + .../talroad/domain/vo/WindDirectionVo.java | 27 + .../enums/AmProblemAuditResultEnum.java | 25 + .../talroad/enums/AmProblemAuditTypeEnum.java | 27 + .../enums/AmProblemProcessTypeEnum.java | 26 + .../talroad/enums/AmProblemStatusEnum.java | 29 + .../talroad/enums/BasDeviceSiteTypeEnum.java | 62 + .../talroad/enums/BasDeviceTypeEnum.java | 78 + .../cecep/talroad/enums/BlDeviceTypeEnum.java | 30 + .../cn/cecep/talroad/enums/DataTypeEnum.java | 32 + .../talroad/enums/DeviceParamTypeEnum.java | 42 + .../cecep/talroad/enums/DeviceStatusEnum.java | 39 + .../cecep/talroad/enums/DlDeviceTypeEnum.java | 31 + .../cn/cecep/talroad/enums/EmlTypeEnums.java | 25 + .../cn/cecep/talroad/enums/EnIndustry.java | 68 + .../cecep/talroad/enums/EnStatTimeType.java | 109 ++ .../enums/EnvironmentalCodingGradeEnum.java | 217 +++ .../cn/cecep/talroad/enums/FileConstant.java | 31 + .../talroad/enums/FslDeviceTypeEnum.java | 30 + .../cecep/talroad/enums/GtDeviceTypeEnum.java | 68 + .../cecep/talroad/enums/InvalidStateEnum.java | 59 + .../cecep/talroad/enums/JhDeviceTypeEnum.java | 30 + .../cn/cecep/talroad/enums/JudgeEnum.java | 40 + .../cecep/talroad/enums/LabelFactoryEnum.java | 103 + .../cecep/talroad/enums/LabelValueEnum.java | 40 + .../talroad/enums/OperationTypeEnum.java | 52 + .../cecep/talroad/enums/OutletTypesEnum.java | 62 + .../cecep/talroad/enums/PcLabelCodeEnum.java | 17 + .../talroad/enums/PcLabelValueCodeEnum.java | 25 + .../talroad/enums/PollutantTypeEnum.java | 64 + .../cecep/talroad/enums/ProblemTypeEnum.java | 77 + .../talroad/enums/ReleaseStatusEnum.java | 64 + .../cecep/talroad/enums/SnDeviceTypeEnum.java | 30 + .../talroad/enums/StatisticsTypeEnum.java | 34 + .../cn/cecep/talroad/enums/StopTypeEnum.java | 57 + .../talroad/enums/ThresHoldConfigEnum.java | 51 + .../cn/cecep/talroad/enums/TimeTypeEnum.java | 43 + .../talroad/enums/WaterPollutantEnum.java | 55 + .../talroad/enums/WhiteListTypeEnum.java | 68 + .../cn/cecep/talroad/enums/WzzStatusEnum.java | 45 + .../cn/cecep/talroad/enums/YieldTypeEnum.java | 50 + .../effective/StandardPollutantEnum.java | 66 + .../talroad/feign/BaseRegionService.java | 30 + .../feign/impl/BaseRegionServiceImpl.java | 34 + .../mapper/AiDeepModelResultMapper.java | 14 + .../mapper/AmDoorMonitorAccountFiMapper.java | 30 + .../talroad/mapper/AmProblemFiMapper.java | 53 + .../mapper/AmProblemFiProcessMapper.java | 18 + .../mapper/AmProblemFiRatioMapper.java | 37 + .../talroad/mapper/AmVideoDevFiMapper.java | 59 + .../AppVersionAddressManagementMapper.java | 16 + .../BEnterpriseIrBusinessAlertsMapper.java | 30 + .../mapper/BEnterpriseIrEesMapper.java | 25 + .../mapper/BEnterpriseIrEesTypeMapper.java | 25 + .../mapper/BEnterpriseIrLegalMapper.java | 25 + .../BEnterpriseIrNotifierproNoticeMapper.java | 27 + .../mapper/BEnterpriseIrSdoeptMapper.java | 25 + .../BEnterpriseRiskAssessmentLastMapper.java | 22 + .../BEnterpriseRiskAssessmentMapper.java | 10 + .../mapper/BMainActionReportsMapper.java | 25 + .../BMainAllowablePollutionAirMapper.java | 33 + .../BMainAllowablePollutionWaterMapper.java | 33 + .../BMainEmissionOnlineMonAirMapper.java | 25 + .../BMainEmissionOnlineMonWaterMapper.java | 25 + .../BMainEmissionPollutionAirMapper.java | 38 + ...MainEmissionPollutionSolidWasteMapper.java | 25 + .../BMainEmissionPollutionWaterMapper.java | 38 + .../mapper/BMainEmissionSourceAirMapper.java | 25 + .../BMainEmissionSourceWaterMapper.java | 25 + .../mapper/BMainExceptionTaskCheckMapper.java | 17 + .../BMainExceptionTaskCheckStepMapper.java | 17 + .../BMainFactoryVerificationMapper.java | 24 + .../cecep/talroad/mapper/BMainFileMapper.java | 14 + .../BMainHazardousSolidWasteCrMapper.java | 25 + .../BMainHazardousSolidWasteFaMapper.java | 27 + .../BMainHazardousSolidWasteLeMapper.java | 25 + .../BMainHazardousSolidWasteMapper.java | 27 + .../BMainHazardousWasteOutputMapper.java | 30 + .../mapper/BMainMobileEnforcementMapper.java | 35 + .../BMainMonitorPointOperationLogMapper.java | 38 + .../mapper/BMainNoiseEmissionsMapper.java | 25 + .../mapper/BMainPollDisEmlRecordMapper.java | 27 + .../mapper/BMainPollDisEnforcementMapper.java | 27 + .../mapper/BMainPollDisFileMapper.java | 25 + .../mapper/BMainPollDisGasMoutMapper.java | 46 + .../mapper/BMainPollDisGasOoutMapper.java | 35 + .../mapper/BMainPollDisGasPollMapper.java | 10 + .../mapper/BMainPollDisGasSoutMapper.java | 16 + .../mapper/BMainPollDisGasToutMapper.java | 25 + .../mapper/BMainPollDisGasWzzToutMapper.java | 10 + .../mapper/BMainPollDisInformationMapper.java | 27 + .../talroad/mapper/BMainPollDisMapper.java | 37 + .../mapper/BMainPollDisNoiseMapper.java | 25 + .../BMainPollDisNoiseRegulationMapper.java | 27 + .../BMainPollDisNoiseRequireMapper.java | 25 + .../mapper/BMainPollDisSelfMonMapper.java | 40 + .../BMainPollDisSelfMonOtherMapper.java | 25 + .../mapper/BMainPollDisWaterMoutMapper.java | 40 + .../mapper/BMainPollDisWaterOoutMapper.java | 28 + .../mapper/BMainPollDisWaterSoutMapper.java | 25 + .../mapper/BMainPollDisWaterToutMapper.java | 25 + .../mapper/BMainProductionInorgGasMapper.java | 28 + .../BMainProductionOrganizGasMapper.java | 27 + .../mapper/BMainProductionWaterMapper.java | 25 + .../mapper/BMainSolidHazardousMapper.java | 25 + .../mapper/BMainSolidWasteOutputMapper.java | 25 + .../mapper/BMainSysFeedbackMapper.java | 20 + .../BMainThreeSupervisionEnforcMapper.java | 27 + ...ainThreeSupervisionEnforcRecordMapper.java | 24 + .../mapper/BMainTwoRandomTaskMapper.java | 17 + .../mapper/BMainTwoRandomTaskStepMapper.java | 17 + ...atTablePwxkProductionFacilitiesMapper.java | 20 + ...ePwxkProductionFacilitiesParamsMapper.java | 18 + .../mapper/BStatTablePwxkProductsMapper.java | 20 + .../BStatTablePwxkWaterIndustryInMapper.java | 20 + ...atTablePwxkWaterIndustryInTotalMapper.java | 20 + .../BStatTablePwxkWaterLifeInMapper.java | 20 + ...tatTablePwxkWaterTreatmentInAskMapper.java | 21 + ...StatTablePwxkWaterTreatmentLineMapper.java | 20 + .../mapper/BStatTableQueryInfoMapper.java | 16 + .../mapper/BStatTableZxbgJbxxInfoMapper.java | 34 + .../mapper/BStatTableZxbgPflAirMapper.java | 27 + .../BStatTableZxbgPflAirOtherMapper.java | 27 + .../BStatTableZxbgPflAirOverproofMapper.java | 27 + .../BStatTableZxbgPflAirSpecialMapper.java | 27 + .../BStatTableZxbgPflAirStatMapper.java | 27 + .../mapper/BStatTableZxbgPflWaterMapper.java | 27 + ...BStatTableZxbgPflWaterVoerproofMapper.java | 27 + .../BStatTableZxbgPflallWaterMapper.java | 27 + .../BStatTableZxbgPfltotalWaterMapper.java | 27 + ...BStatTableZxbgWrzlAbnormalitiesMapper.java | 30 + .../mapper/BStatTableZxbgWrzlTotalMapper.java | 32 + .../talroad/mapper/BasControlValueMapper.java | 29 + .../mapper/BasDcsOperationLogMapper.java | 18 + .../talroad/mapper/BasDevToElecMapper.java | 25 + .../talroad/mapper/BasDeviceConfigMapper.java | 24 + .../BasDeviceInfoOperationLogMapper.java | 57 + .../cecep/talroad/mapper/BasDeviceMapper.java | 61 + .../talroad/mapper/BasDeviceParamMapper.java | 63 + .../mapper/BasDeviceSalAnalysisMapper.java | 10 + ...eviceSiteCoordinateOperationLogMapper.java | 38 + .../talroad/mapper/BasDeviceSiteMapper.java | 41 + .../mapper/BasDeviceZlConfigMapper.java | 24 + .../talroad/mapper/BasElecDeviceMapper.java | 25 + .../mapper/BasElecProCepMapMapper.java | 31 + .../cecep/talroad/mapper/BasParamMapper.java | 25 + ...BasProductionDeviceOperationLogMapper.java | 18 + .../mapper/BasThresholdConfigMapper.java | 26 + .../BaseControlConcentStandardsMapper.java | 76 + .../BaseRegionalControlObjectivesMapper.java | 74 + .../talroad/mapper/EarlyWarningMapper.java | 35 + .../mapper/ElectricityMeterMapper.java | 43 + .../mapper/EnvironmentalCodingMapper.java | 106 ++ .../FacilityInformationManagementMapper.java | 71 + .../FactoryReportingManifestMapper.java | 27 + .../FactoryReportingRemindersMapper.java | 32 + .../mapper/FactoryReportingTaskMapper.java | 24 + .../mapper/GasReleaseRealStatusMapper.java | 10 + .../talroad/mapper/IotDeviceTypeMapper.java | 10 + .../talroad/mapper/LeaderCockpitMapper.java | 83 + .../mapper/MAmDoorMonitorAccountFiMapper.java | 17 + .../mapper/MAmProblemFiRatioMapper.java | 25 + .../MAmVideoCoordinateOperationLogMapper.java | 38 + .../talroad/mapper/MAmVideoDevFiMapper.java | 33 + .../MAmVideoInfoOperationLogMapper.java | 40 + .../talroad/mapper/MonDevBlHourMapper.java | 31 + .../talroad/mapper/MonDevBlOtherMapper.java | 31 + .../talroad/mapper/MonDevBlRealMapper.java | 45 + .../talroad/mapper/MonDevDlHourMapper.java | 31 + .../talroad/mapper/MonDevDlOtherMapper.java | 31 + .../talroad/mapper/MonDevDlRealMapper.java | 45 + .../talroad/mapper/MonDevFsHourMapper.java | 31 + .../talroad/mapper/MonDevFsOtherMapper.java | 31 + .../talroad/mapper/MonDevFsRealMapper.java | 49 + .../talroad/mapper/MonDevHourMapper.java | 31 + .../talroad/mapper/MonDevJhHourMapper.java | 31 + .../talroad/mapper/MonDevJhOtherMapper.java | 31 + .../talroad/mapper/MonDevJhRealMapper.java | 46 + .../talroad/mapper/MonDevOtherMapper.java | 31 + .../talroad/mapper/MonDevRealMapper.java | 50 + .../talroad/mapper/MonDevSnHourMapper.java | 31 + .../talroad/mapper/MonDevSnOtherMapper.java | 29 + .../talroad/mapper/MonDevSnRealMapper.java | 43 + .../talroad/mapper/MonDevTcHourMapper.java | 25 + .../talroad/mapper/MonDevTcOtherMapper.java | 25 + .../talroad/mapper/MonDevTcRealMapper.java | 25 + .../talroad/mapper/MonElecEventMapper.java | 25 + .../talroad/mapper/MonElecHourMapper.java | 21 + .../mapper/MonElecOperationLogMapper.java | 38 + .../talroad/mapper/MonElecOtherMapper.java | 26 + .../talroad/mapper/MonElecRealMapper.java | 36 + .../mapper/OdsAirRegionAqiHourIMapper.java | 16 + .../mapper/OdsAirRegionHourIMapper.java | 27 + ...ectricityElecPsEquipRelationTsAMapper.java | 32 + ...dsInorganizationWeiStationHourIMapper.java | 24 + .../OdsMeshingShStationHourIMapper.java | 24 + .../OdsMeshingWeiStationHourIMapper.java | 24 + .../mapper/OdsOnlineOlDgiinfoAMapper.java | 24 + .../mapper/OdsOnlineOlPortinfoAMapper.java | 26 + .../mapper/OdsOnlineOlPsWhitelistAMapper.java | 24 + .../mapper/OdsOnlineOlPsinfoAMapper.java | 24 + .../mapper/OdsOnlineOlStopinfoAMapper.java | 24 + .../talroad/mapper/PCodAreaInfoMapper.java | 29 + .../talroad/mapper/PCodCompanyMapper.java | 31 + .../talroad/mapper/PCodeStationMapper.java | 49 + .../talroad/mapper/PcAdslFactoryMapper.java | 72 + .../cn/cecep/talroad/mapper/PcAdslMapper.java | 25 + .../mapper/PcArchivesFactoryMapper.java | 12 + .../mapper/PcControlRequirementsMapper.java | 31 + ...ssControlCoordinateOperationLogMapper.java | 14 + .../mapper/PcFactoryAccessControlMapper.java | 14 + ...PcFactoryCoordinateOperationLogMapper.java | 14 + .../cecep/talroad/mapper/PcFactoryMapper.java | 132 ++ ...PcFactoryPollutantEmissionsRankMapper.java | 28 + .../mapper/PcFactoryPollutantMapper.java | 27 + .../PcFactoryWasteEmissionsRankMapper.java | 10 + .../talroad/mapper/PcIndustryMapper.java | 26 + .../talroad/mapper/PcLabelFactoryMapper.java | 94 + .../cecep/talroad/mapper/PcLabelMapper.java | 36 + .../talroad/mapper/PcLabelValueMapper.java | 28 + .../mapper/PcManagementFacilitiesMapper.java | 25 + .../talroad/mapper/PcMenuFactoryMapper.java | 25 + .../cn/cecep/talroad/mapper/PcMenuMapper.java | 25 + .../talroad/mapper/PcNoiseTypeMapper.java | 25 + .../PcOutletCoordinateOperationLogMapper.java | 14 + .../cecep/talroad/mapper/PcOutletMapper.java | 94 + .../talroad/mapper/PcPollutantMapper.java | 25 + .../mapper/PcProductionFacilityMapper.java | 25 + .../mapper/PcSolidHazardousTypeMapper.java | 16 + .../PcStationBuildingEntranceGuMapper.java | 29 + .../mapper/PcStationBuildingMapper.java | 28 + .../mapper/PcStationBuildingOpsMapper.java | 25 + .../mapper/PcStationBuildingStatMapper.java | 37 + .../talroad/mapper/PcYieldTrendMapper.java | 14 + .../talroad/mapper/PointIsOfflineMapper.java | 69 + .../mapper/ProductionScheduledMapper.java | 26 + .../mapper/QEnvgasStationDayMapper.java | 57 + .../talroad/mapper/SEnvGasMonDayMapper.java | 22 + .../talroad/mapper/SEnvGasMonHourMapper.java | 56 + .../talroad/mapper/SEnvGasMonRealMapper.java | 64 + .../talroad/mapper/SEnvGasRealMapper.java | 47 + .../talroad/mapper/SEnvGasSelfDayMapper.java | 24 + .../talroad/mapper/SEnvWaterMonDayMapper.java | 27 + .../mapper/SEnvWaterMonHourMapper.java | 53 + .../mapper/SEnvWaterMonRealMapper.java | 45 + .../mapper/SEnvWaterSelfDayMapper.java | 24 + .../SIntegratedRoutineInspectionMapper.java | 25 + .../SMainDynamicControlFactoryMapper.java | 25 + .../mapper/SMainDynamicControlMapper.java | 25 + .../SMainDynamicControlParamMapper.java | 28 + .../mapper/SRaDayMonTimeFbjdMapper.java | 25 + .../SRaRealTimeAnalysicComsitStMapper.java | 16 + .../SRaRealTimeAnalysisRunOneMapper.java | 36 + .../mapper/SStationTypeDictMapper.java | 13 + .../talroad/mapper/STaskYieldTrendMapper.java | 18 + .../mapper/SupermonitorDrainOutletMapper.java | 25 + .../mapper/TCodStationDataAirMapper.java | 13 + .../mapper/TCodStationDataWaterMapper.java | 13 + .../talroad/mapper/TCodStationMapper.java | 23 + .../analysis/BCoDischargePlanInfoMapper.java | 15 + .../analysis/BCoDischargePlanMapper.java | 21 + .../analysis/BMaintenancePlanInfoMapper.java | 24 + .../analysis/BMaintenancePlanMapper.java | 23 + .../analysis/BasDeviceParamAnalyseMapper.java | 21 + .../mapper/analysis/BasDeviceParamMapper.java | 25 + .../analysis/BasThresholdConfigMapper.java | 18 + .../analysis/PcRaProblemTypeMapper.java | 36 + .../analysis/SRaAbNalysisCarMapper.java | 25 + .../analysis/SRaAbNalysisLowCarMapper.java | 26 + ...SRaActionReportsActualEmissionsMapper.java | 30 + .../SRaActionReportsActualYieldMapper.java | 30 + ...RaActionReportsAuditFactoryInfoMapper.java | 15 + .../analysis/SRaActionReportsAuditMapper.java | 25 + .../SRaActionReportsAuditRecordMapper.java | 36 + .../SRaActionReportsAuditResultMapper.java | 31 + .../SRaAreaRegulatoryIssuesMapper.java | 25 + .../SRaAreaTransferRateAnalysisMapper.java | 23 + .../analysis/SRaControlSchemeMapper.java | 24 + .../analysis/SRaEmissionsDiffMapper.java | 24 + .../SRaEmissionsMonitoringVarianceMapper.java | 33 + .../SRaEmissionsOverFactoryMapper.java | 24 + .../analysis/SRaEmissionsOverMapper.java | 22 + .../analysis/SRaEmissionsStandardMapper.java | 44 + .../SRaEmissionsStatisticsMapper.java | 51 + .../SRaFactoryRegulatoryIssuesMapper.java | 30 + .../SRaFactoryTransferRateAnalysisMapper.java | 35 + .../mapper/analysis/SRaGasFlagMapper.java | 23 + .../SRaGasPermittedEmissionsMapper.java | 32 + .../analysis/SRaGasPermittedOnlineMapper.java | 32 + .../SRaHandworkEmissionsGasMapper.java | 50 + .../SRaHandworkEmissionsWaterMapper.java | 53 + .../analysis/SRaLowMonitoringGasMapper.java | 20 + .../analysis/SRaLowMonitoringOtherMapper.java | 16 + .../analysis/SRaLowMonitoringWaterMapper.java | 19 + .../mapper/analysis/SRaMultiSourceMapper.java | 34 + .../analysis/SRaOnlineEmissionsGasMapper.java | 59 + .../SRaOnlineEmissionsWaterMapper.java | 51 + .../mapper/analysis/SRaOverRateGasMapper.java | 26 + .../analysis/SRaOverRateWaterMapper.java | 28 + ...aOverWaterPollutionTraceabilityMapper.java | 9 + .../SRaRealTimeAnalysicComsitMapper.java | 41 + ...RaRealTimeAnalysicComsitMonitorMapper.java | 25 + .../SRaRealTimeAnalysisCementMapper.java | 36 + .../analysis/SRaRealTimeAnalysisCoMapper.java | 80 + .../SRaRealTimeAnalysisCoalMapper.java | 40 + .../SRaRealTimeAnalysisCokeMapper.java | 36 + .../SRaRealTimeAnalysisConverterMapper.java | 40 + .../SRaRealTimeAnalysisFurnaceMapper.java | 36 + .../SRaRealTimeAnalysisGlassMapper.java | 36 + .../SRaRealTimeAnalysisKwhMapper.java | 36 + .../SRaRealTimeAnalysisPowerMapper.java | 36 + .../SRaRealTimeAnalysisRubbishMapper.java | 36 + .../SRaRealTimeAnalysisRunMapper.java | 102 + .../SRaRealTimeAnalysisStopMapper.java | 43 + .../analysis/SRaSelfMonitoringDataMapper.java | 41 + .../mapper/analysis/SRaWaterFlagMapper.java | 23 + .../SRaWaterPermittedEmissionsMapper.java | 32 + .../SRaWaterPermittedOnlineMapper.java | 32 + .../effective/ERmStationExceedMapper.java | 34 + .../effective/ERmStationHourMapper.java | 18 + .../MAiControlDelayAssessmentMapper.java | 16 + ...nceTechnologyEstimateFacilitiesMapper.java | 16 + ...rnanceTechnologyEstimateFactoryMapper.java | 20 + ...anceTechnologyEstimateProcedureMapper.java | 16 + .../effective/PCodeIndexPollutantMapper.java | 39 + .../mapper/effective/PCodeRegionMapper.java | 24 + .../PcNationalCityRankingHourMapper.java | 21 + .../PcNationalCityRankingOtherMapper.java | 25 + .../PcNationalCountyRankingHourMapper.java | 16 + .../PcNationalCountyRankingOtherMapper.java | 13 + .../effective/QEnvgasAreaHourMapper.java | 13 + .../effective/QEnvgasAreaTargetMapper.java | 73 + .../mapper/effective/QEnvgasWqDayMapper.java | 75 + .../effective/QEnvgasWqMonthMapper.java | 65 + .../mapper/effective/QEnvgasWqYearMapper.java | 54 + .../effective/QReportTemplateMapper.java | 23 + .../mapper/effective/QTargetConfigMapper.java | 30 + .../RectificationEffectEvaluationMapper.java | 15 + .../effective/ReductionEmissionMapper.java | 31 + .../effective/SEnvgasAqilevelMapper.java | 18 + .../effective/SEnvgasPollutantMapper.java | 44 + .../SEnvgasStationControlMapper.java | 18 + .../BEnterpriseRiskAssessmentService.java | 15 + .../service/BMainPollDisGasPollService.java | 11 + .../BMainPollDisGasWzzToutService.java | 11 + .../BStatTablePwxkWaterAndOtherService.java | 39 + .../BaseControlConcentStandardsService.java | 36 + .../BaseRegionalControlObjectivesService.java | 23 + .../service/ElectricityMeterService.java | 68 + .../talroad/service/EmissionsStatService.java | 14 + .../service/EnvironmentalCodingService.java | 15 + .../FacilityInformationManagementService.java | 80 + .../talroad/service/HomePageMapService.java | 68 + .../IAmDoorMonitorAccountFiService.java | 26 + .../service/IAmProblemFiProcessService.java | 17 + .../service/IAmProblemFiRatioService.java | 58 + .../talroad/service/IAmProblemFiService.java | 61 + .../talroad/service/IAmVideoDevFiService.java | 63 + .../IAppVersionAddressManagementService.java | 17 + .../IBEnterpriseIrBusinessAlertsService.java | 27 + .../service/IBEnterpriseIrEesService.java | 23 + .../service/IBEnterpriseIrEesTypeService.java | 24 + .../service/IBEnterpriseIrLegalService.java | 23 + ...BEnterpriseIrNotifierproNoticeService.java | 28 + .../service/IBEnterpriseIrSdoeptService.java | 23 + .../service/IBMainActionReportsService.java | 23 + .../IBMainAllowablePollutionAirService.java | 28 + .../IBMainAllowablePollutionWaterService.java | 27 + .../IBMainEmissionOnlineMonAirService.java | 23 + .../IBMainEmissionOnlineMonWaterService.java | 23 + .../IBMainEmissionPollutionAirService.java | 36 + ...ainEmissionPollutionSolidWasteService.java | 23 + .../IBMainEmissionPollutionWaterService.java | 36 + .../IBMainEmissionSourceAirService.java | 23 + .../IBMainEmissionSourceWaterService.java | 23 + .../IBMainExceptionTaskCheckService.java | 14 + .../IBMainExceptionTaskCheckStepService.java | 12 + .../IBMainFactoryVerificationService.java | 21 + .../talroad/service/IBMainFileService.java | 12 + .../IBMainHazardousSolidWasteCrService.java | 23 + .../IBMainHazardousSolidWasteFaService.java | 23 + .../IBMainHazardousSolidWasteLeService.java | 23 + .../IBMainHazardousSolidWasteService.java | 23 + .../IBMainHazardousWasteOutputService.java | 28 + .../IBMainMobileEnforcementService.java | 27 + .../service/IBMainNoiseEmissionsService.java | 23 + .../IBMainPollDisEmlRecordService.java | 30 + .../IBMainPollDisEnforcementService.java | 29 + .../service/IBMainPollDisFileService.java | 23 + .../service/IBMainPollDisGasMoutService.java | 26 + .../service/IBMainPollDisGasOoutService.java | 26 + .../service/IBMainPollDisGasSoutService.java | 14 + .../service/IBMainPollDisGasToutService.java | 27 + .../IBMainPollDisInformationService.java | 29 + .../IBMainPollDisNoiseRegulationService.java | 30 + .../IBMainPollDisNoiseRequireService.java | 25 + .../service/IBMainPollDisNoiseService.java | 23 + .../IBMainPollDisSelfMonOtherService.java | 23 + .../service/IBMainPollDisSelfMonService.java | 23 + .../talroad/service/IBMainPollDisService.java | 32 + .../IBMainPollDisWaterMoutService.java | 23 + .../IBMainPollDisWaterOoutService.java | 23 + .../IBMainPollDisWaterSoutService.java | 23 + .../IBMainPollDisWaterToutService.java | 27 + .../IBMainProductionInorgGasService.java | 24 + .../IBMainProductionOrganizGasService.java | 24 + .../service/IBMainProductionWaterService.java | 24 + .../service/IBMainSolidHazardousService.java | 23 + .../IBMainSolidWasteOutputService.java | 26 + .../service/IBMainSysFeedbackService.java | 21 + ...inThreeSupervisionEnforcRecordService.java | 21 + .../IBMainThreeSupervisionEnforcService.java | 38 + .../service/IBMainTwoRandomTaskService.java | 14 + .../IBMainTwoRandomTaskStepService.java | 12 + .../IBStatTableZxbgJbxxInfoService.java | 27 + .../IBStatTableZxbgPflAirOtherService.java | 26 + ...IBStatTableZxbgPflAirOverproofService.java | 26 + .../service/IBStatTableZxbgPflAirService.java | 26 + .../IBStatTableZxbgPflAirSpecialService.java | 26 + .../IBStatTableZxbgPflAirStatService.java | 26 + .../IBStatTableZxbgPflWaterService.java | 26 + ...StatTableZxbgPflWaterVoerproofService.java | 26 + .../IBStatTableZxbgPflallWaterService.java | 26 + .../IBStatTableZxbgPfltotalWaterService.java | 26 + ...StatTableZxbgWrzlAbnormalitiesService.java | 26 + .../IBStatTableZxbgWrzlTotalService.java | 26 + .../service/IBasControlValueService.java | 24 + .../service/IBasDcsOperationLogService.java | 15 + .../talroad/service/IBasDevToElecService.java | 23 + .../service/IBasDeviceConfigService.java | 21 + .../service/IBasDeviceParamService.java | 60 + .../service/IBasDeviceSalAnalysisService.java | 8 + .../talroad/service/IBasDeviceService.java | 57 + .../service/IBasDeviceSiteService.java | 41 + .../service/IBasDeviceZlConfigService.java | 21 + .../service/IBasElecDeviceService.java | 23 + .../talroad/service/IBasParamService.java | 25 + ...asProductionDeviceOperationLogService.java | 15 + .../service/IBasThresholdConfigService.java | 23 + .../talroad/service/IEarlyWarningService.java | 23 + .../IFactoryReportingManifestService.java | 21 + .../IFactoryReportingRemindersService.java | 30 + .../service/IFactoryReportingTaskService.java | 22 + ...MAmVideoCoordinateOperationLogService.java | 19 + .../service/IMAmVideoDevFiService.java | 26 + .../talroad/service/IMonDevBlHourService.java | 28 + .../service/IMonDevBlOtherService.java | 28 + .../talroad/service/IMonDevBlRealService.java | 41 + .../talroad/service/IMonDevDlHourService.java | 28 + .../service/IMonDevDlOtherService.java | 28 + .../talroad/service/IMonDevDlRealService.java | 41 + .../talroad/service/IMonDevFsHourService.java | 28 + .../service/IMonDevFsOtherService.java | 28 + .../talroad/service/IMonDevFsRealService.java | 45 + .../talroad/service/IMonDevHourService.java | 26 + .../talroad/service/IMonDevJhHourService.java | 27 + .../service/IMonDevJhOtherService.java | 27 + .../talroad/service/IMonDevJhRealService.java | 40 + .../talroad/service/IMonDevOtherService.java | 26 + .../talroad/service/IMonDevRealService.java | 52 + .../talroad/service/IMonDevSnHourService.java | 28 + .../service/IMonDevSnOtherService.java | 28 + .../talroad/service/IMonDevSnRealService.java | 38 + .../talroad/service/IMonDevTcHourService.java | 23 + .../service/IMonDevTcOtherService.java | 23 + .../talroad/service/IMonDevTcRealService.java | 23 + .../talroad/service/IMonElecEventService.java | 23 + .../service/IMonElecOperationLogService.java | 15 + .../talroad/service/IMonElecRealService.java | 37 + .../service/IMonitoringMapService.java | 25 + .../service/IOdsAirRegionAqiHourIService.java | 8 + .../service/IOdsAirRegionHourIService.java | 23 + ...sInorganizationWeiStationHourIService.java | 21 + .../IOdsMeshingShStationHourIService.java | 21 + .../IOdsMeshingWeiStationHourIService.java | 21 + .../service/IOdsOnlineOlDgiinfoAService.java | 21 + .../service/IOdsOnlineOlPortinfoAService.java | 22 + .../IOdsOnlineOlPsWhitelistAService.java | 21 + .../service/IOdsOnlineOlPsinfoAService.java | 21 + .../service/IOdsOnlineOlStopinfoAService.java | 21 + .../service/IPcAdslFactoryService.java | 25 + .../cecep/talroad/service/IPcAdslService.java | 23 + .../IPcControlRequirementsService.java | 23 + ...sControlCoordinateOperationLogService.java | 14 + .../IPcFactoryAccessControlService.java | 15 + ...cFactoryCoordinateOperationLogService.java | 14 + ...cFactoryPollutantEmissionsRankService.java | 26 + .../service/IPcFactoryPollutantService.java | 23 + .../talroad/service/IPcFactoryService.java | 62 + .../IPcFactoryWasteEmissionsRankService.java | 15 + .../talroad/service/IPcIndustryService.java | 24 + .../service/IPcLabelFactoryService.java | 89 + .../talroad/service/IPcLabelService.java | 35 + .../talroad/service/IPcLabelValueService.java | 26 + .../IPcManagementFacilitiesService.java | 23 + .../service/IPcMenuFactoryService.java | 23 + .../cecep/talroad/service/IPcMenuService.java | 23 + .../talroad/service/IPcNoiseTypeService.java | 23 + ...PcOutletCoordinateOperationLogService.java | 14 + .../talroad/service/IPcOutletService.java | 89 + .../talroad/service/IPcPollutantService.java | 24 + .../service/IPcProductionFacilityService.java | 23 + .../service/IPcSolidHazardousTypeService.java | 14 + .../IPcStationBuildingEntranceGuService.java | 23 + .../service/IPcStationBuildingOpsService.java | 23 + .../service/IPcStationBuildingService.java | 23 + .../IPcStationBuildingStatService.java | 26 + .../service/IProductionManageService.java | 79 + .../service/ISEnvGasMonDayService.java | 12 + .../service/ISEnvGasMonHourService.java | 35 + .../service/ISEnvGasMonRealService.java | 43 + .../talroad/service/ISEnvGasRealService.java | 43 + .../service/ISEnvGasSelfDayService.java | 21 + .../service/ISEnvWaterMonDayService.java | 21 + .../service/ISEnvWaterMonHourService.java | 59 + .../service/ISEnvWaterMonRealService.java | 39 + .../service/ISEnvWaterSelfDayService.java | 21 + .../ISIntegratedRoutineInspectionService.java | 23 + .../ISMainDynamicControlFactoryService.java | 23 + .../ISMainDynamicControlParamService.java | 25 + .../service/ISMainDynamicControlService.java | 23 + .../ISRaRealTimeAnalysisRunOneService.java | 28 + .../ISupermonitorDrainOutletService.java | 23 + .../talroad/service/ITCodStationService.java | 27 + .../service/KeyEmittingIndustryService.java | 37 + .../MAmDoorMonitorAccountFiService.java | 5 + .../service/PcArchivesFactoryService.java | 20 + .../service/PointIsOfflineService.java | 35 + .../service/ProductionScheduledService.java | 18 + .../SRaRealTimeAnalysicComsitStService.java | 16 + .../service/STaskYieldTrendService.java | 12 + .../talroad/service/TradeMonitorService.java | 16 + .../analysis/BCoDischargePlanInfoService.java | 16 + .../analysis/BCoDischargePlanService.java | 22 + .../analysis/BMaintenancePlanInfoService.java | 25 + .../analysis/BMaintenancePlanService.java | 21 + .../BasDeviceParamAnalyseService.java | 15 + .../analysis/BasDeviceParamService.java | 21 + .../analysis/BasThresholdConfigService.java | 15 + .../analysis/IBasDeviceStatusService.java | 32 + .../analysis/IConcentrationMathService.java | 74 + .../analysis/IDataLogicAnalysisService.java | 14 + .../service/analysis/IDisPermitService.java | 18 + .../analysis/IDischargeMathService.java | 80 + .../analysis/IFacilityAnalysisService.java | 37 + .../analysis/IMonitoringAnalyseService.java | 17 + .../analysis/IPcRaProblemTypeService.java | 24 + .../analysis/IPollWaterAnalysisService.java | 14 + .../analysis/ISRaAbNalysisCarService.java | 23 + .../analysis/ISRaAbNalysisLowCarService.java | 38 + ...RaActionReportsActualEmissionsService.java | 27 + .../ISRaActionReportsActualYieldService.java | 27 + .../ISRaActionReportsAuditRecordService.java | 43 + .../ISRaActionReportsAuditResultService.java | 46 + .../ISRaActionReportsAuditService.java | 29 + .../ISRaAreaRegulatoryIssuesService.java | 23 + .../ISRaAreaTransferRateAnalysisService.java | 23 + .../analysis/ISRaControlSchemeService.java | 21 + .../analysis/ISRaEmissionsDiffService.java | 19 + ...SRaEmissionsMonitoringVarianceService.java | 29 + .../ISRaEmissionsOverFactoryService.java | 21 + .../analysis/ISRaEmissionsOverService.java | 19 + .../ISRaEmissionsStandardService.java | 36 + .../ISRaFactoryRegulatoryIssuesService.java | 27 + ...SRaFactoryTransferRateAnalysisService.java | 77 + .../service/analysis/ISRaGasFlagService.java | 20 + .../ISRaGasPermittedEmissionsService.java | 30 + .../ISRaGasPermittedOnlineService.java | 30 + .../ISRaHandworkEmissionsGasService.java | 37 + .../ISRaHandworkEmissionsWaterService.java | 36 + .../analysis/ISRaMultiSourceService.java | 34 + .../ISRaOnlineEmissionsGasService.java | 26 + .../ISRaOnlineEmissionsWaterService.java | 26 + .../analysis/ISRaOverRateGasService.java | 18 + .../analysis/ISRaOverRateWaterService.java | 24 + ...aRealTimeAnalysicComsitMonitorService.java | 25 + .../ISRaRealTimeAnalysicComsitService.java | 42 + .../ISRaRealTimeAnalysisCementService.java | 33 + .../ISRaRealTimeAnalysisCoService.java | 52 + .../ISRaRealTimeAnalysisCoalService.java | 40 + .../ISRaRealTimeAnalysisCokeService.java | 33 + .../ISRaRealTimeAnalysisConverterService.java | 39 + .../ISRaRealTimeAnalysisFurnaceService.java | 34 + .../ISRaRealTimeAnalysisGlassService.java | 33 + .../ISRaRealTimeAnalysisKwhService.java | 28 + .../ISRaRealTimeAnalysisPowerService.java | 33 + .../ISRaRealTimeAnalysisRubbishService.java | 33 + .../ISRaRealTimeAnalysisRunService.java | 45 + .../ISRaRealTimeAnalysisStopService.java | 47 + .../ISRaSelfMonitoringDataService.java | 29 + .../analysis/ISRaWaterFlagService.java | 20 + .../ISRaWaterPermittedEmissionsService.java | 28 + .../ISRaWaterPermittedOnlineService.java | 28 + .../SRaAreaTransferRateAnalysisService.java | 8 + .../SRaEmissionsStatisticsService.java | 21 + ...SRaFactoryTransferRateAnalysisService.java | 8 + .../analysis/SRaLowMonitoringGasService.java | 15 + .../SRaLowMonitoringOtherService.java | 15 + .../SRaLowMonitoringWaterService.java | 15 + ...OverWaterPollutionTraceabilityService.java | 23 + .../service/effective/BasTargetService.java | 186 ++ .../effective/ERmStationExceedService.java | 36 + .../effective/ERmStationHourService.java | 16 + .../effective/ForecastAccuracyService.java | 16 + .../effective/IPCodAreaInfoService.java | 33 + ...IRectificationEffectEvaluationService.java | 13 + .../MAiControlDelayAssessmentService.java | 20 + ...ceTechnologyEstimateFacilitiesService.java | 15 + ...nanceTechnologyEstimateFactoryService.java | 16 + ...nceTechnologyEstimateProcedureService.java | 15 + .../PcNationalCityRankingHourService.java | 16 + .../PcNationalCityRankingOtherService.java | 20 + .../PollutionCharacterAnalysisService.java | 34 + .../effective/ReductionEmissionService.java | 61 + .../effective/ReportManageService.java | 16 + .../AmDoorMonitorAccountFiServiceImpl.java | 48 + .../impl/AmProblemFiProcessServiceImpl.java | 30 + .../impl/AmProblemFiRatioServiceImpl.java | 202 ++ .../service/impl/AmProblemFiServiceImpl.java | 1351 +++++++++++++ .../service/impl/AmVideoDevFiServiceImpl.java | 386 ++++ ...ppVersionAddressManagementServiceImpl.java | 65 + ...EnterpriseIrBusinessAlertsServiceImpl.java | 54 + .../impl/BEnterpriseIrEesServiceImpl.java | 38 + .../impl/BEnterpriseIrEesTypeServiceImpl.java | 128 ++ .../impl/BEnterpriseIrLegalServiceImpl.java | 38 + ...erpriseIrNotifierproNoticeServiceImpl.java | 54 + .../impl/BEnterpriseIrSdoeptServiceImpl.java | 38 + .../BEnterpriseRiskAssessmentServiceImpl.java | 50 + .../impl/BMainActionReportsServiceImpl.java | 38 + ...BMainAllowablePollutionAirServiceImpl.java | 46 + ...ainAllowablePollutionWaterServiceImpl.java | 46 + .../BMainEmissionOnlineMonAirServiceImpl.java | 38 + ...MainEmissionOnlineMonWaterServiceImpl.java | 38 + .../BMainEmissionPollutionAirServiceImpl.java | 120 ++ ...missionPollutionSolidWasteServiceImpl.java | 38 + ...MainEmissionPollutionWaterServiceImpl.java | 122 ++ .../BMainEmissionSourceAirServiceImpl.java | 38 + .../BMainEmissionSourceWaterServiceImpl.java | 38 + .../BMainExceptionTaskCheckServiceImpl.java | 82 + ...MainExceptionTaskCheckStepServiceImpl.java | 19 + .../BMainFactoryVerificationServiceImpl.java | 41 + .../service/impl/BMainFileServiceImpl.java | 17 + ...BMainHazardousSolidWasteCrServiceImpl.java | 38 + ...BMainHazardousSolidWasteFaServiceImpl.java | 38 + ...BMainHazardousSolidWasteLeServiceImpl.java | 38 + .../BMainHazardousSolidWasteServiceImpl.java | 38 + .../BMainHazardousWasteOutputServiceImpl.java | 159 ++ .../BMainMobileEnforcementServiceImpl.java | 47 + .../impl/BMainNoiseEmissionsServiceImpl.java | 38 + .../BMainPollDisEmlRecordServiceImpl.java | 44 + .../BMainPollDisEnforcementServiceImpl.java | 41 + .../impl/BMainPollDisFileServiceImpl.java | 38 + .../impl/BMainPollDisGasMoutServiceImpl.java | 71 + .../impl/BMainPollDisGasOoutServiceImpl.java | 71 + .../impl/BMainPollDisGasPollServiceImpl.java | 25 + .../impl/BMainPollDisGasSoutServiceImpl.java | 24 + .../impl/BMainPollDisGasToutServiceImpl.java | 47 + .../BMainPollDisGasWzzToutServiceImpl.java | 50 + .../BMainPollDisInformationServiceImpl.java | 43 + ...MainPollDisNoiseRegulationServiceImpl.java | 43 + .../BMainPollDisNoiseRequireServiceImpl.java | 43 + .../impl/BMainPollDisNoiseServiceImpl.java | 38 + .../BMainPollDisSelfMonOtherServiceImpl.java | 38 + .../impl/BMainPollDisSelfMonServiceImpl.java | 38 + .../service/impl/BMainPollDisServiceImpl.java | 59 + .../BMainPollDisWaterMoutServiceImpl.java | 38 + .../BMainPollDisWaterOoutServiceImpl.java | 38 + .../BMainPollDisWaterSoutServiceImpl.java | 38 + .../BMainPollDisWaterToutServiceImpl.java | 48 + .../BMainProductionInorgGasServiceImpl.java | 80 + .../BMainProductionOrganizGasServiceImpl.java | 84 + .../impl/BMainProductionWaterServiceImpl.java | 81 + .../impl/BMainSolidHazardousServiceImpl.java | 38 + .../BMainSolidWasteOutputServiceImpl.java | 103 + .../impl/BMainSysFeedbackServiceImpl.java | 91 + ...reeSupervisionEnforcRecordServiceImpl.java | 41 + ...MainThreeSupervisionEnforcServiceImpl.java | 117 ++ .../impl/BMainTwoRandomTaskServiceImpl.java | 54 + .../BMainTwoRandomTaskStepServiceImpl.java | 19 + ...StatTablePwxkWaterAndOtherServiceImpl.java | 212 +++ .../BStatTableZxbgJbxxInfoServiceImpl.java | 46 + .../BStatTableZxbgPflAirOtherServiceImpl.java | 49 + ...atTableZxbgPflAirOverproofServiceImpl.java | 49 + .../impl/BStatTableZxbgPflAirServiceImpl.java | 51 + ...StatTableZxbgPflAirSpecialServiceImpl.java | 49 + .../BStatTableZxbgPflAirStatServiceImpl.java | 49 + .../BStatTableZxbgPflWaterServiceImpl.java | 49 + ...TableZxbgPflWaterVoerproofServiceImpl.java | 49 + .../BStatTableZxbgPflallWaterServiceImpl.java | 49 + ...StatTableZxbgPfltotalWaterServiceImpl.java | 49 + ...TableZxbgWrzlAbnormalitiesServiceImpl.java | 50 + .../BStatTableZxbgWrzlTotalServiceImpl.java | 49 + .../impl/BasControlValueServiceImpl.java | 50 + .../impl/BasDcsOperationLogServiceImpl.java | 22 + .../service/impl/BasDevToElecServiceImpl.java | 38 + .../impl/BasDeviceConfigServiceImpl.java | 41 + .../impl/BasDeviceParamServiceImpl.java | 170 ++ .../impl/BasDeviceSalAnalysisServiceImpl.java | 19 + .../service/impl/BasDeviceServiceImpl.java | 1010 ++++++++++ .../impl/BasDeviceSiteServiceImpl.java | 209 ++ .../impl/BasDeviceZlConfigServiceImpl.java | 41 + .../impl/BasElecDeviceServiceImpl.java | 38 + .../service/impl/BasParamServiceImpl.java | 137 ++ ...oductionDeviceOperationLogServiceImpl.java | 22 + .../impl/BasThresholdConfigServiceImpl.java | 51 + ...aseControlConcentStandardsServiceImpl.java | 213 +++ ...eRegionalControlObjectivesServiceImpl.java | 146 ++ .../service/impl/EarlyWarningServiceImpl.java | 49 + .../impl/ElectricityMeterServiceImpl.java | 916 +++++++++ .../impl/EmissionsStatServiceImpl.java | 510 +++++ .../impl/EnvironmentalCodingServiceImpl.java | 510 +++++ ...ilityInformationManagementServiceImpl.java | 231 +++ .../FactoryReportingManifestServiceImpl.java | 41 + .../FactoryReportingRemindersServiceImpl.java | 78 + .../impl/FactoryReportingTaskServiceImpl.java | 233 +++ .../service/impl/HomePageMapServiceImpl.java | 1452 ++++++++++++++ .../impl/KeyEmittingIndustryServiceImpl.java | 474 +++++ .../service/impl/LeaderCockpitService.java | 190 ++ .../MAmDoorMonitorAccountFiServiceImpl.java | 10 + ...ideoCoordinateOperationLogServiceImpl.java | 22 + .../impl/MAmVideoDevFiServiceImpl.java | 84 + .../service/impl/MonDevBlHourServiceImpl.java | 53 + .../impl/MonDevBlOtherServiceImpl.java | 54 + .../service/impl/MonDevBlRealServiceImpl.java | 82 + .../service/impl/MonDevDlHourServiceImpl.java | 53 + .../impl/MonDevDlOtherServiceImpl.java | 54 + .../service/impl/MonDevDlRealServiceImpl.java | 83 + .../service/impl/MonDevFsHourServiceImpl.java | 53 + .../impl/MonDevFsOtherServiceImpl.java | 54 + .../service/impl/MonDevFsRealServiceImpl.java | 93 + .../service/impl/MonDevHourServiceImpl.java | 53 + .../service/impl/MonDevJhHourServiceImpl.java | 53 + .../impl/MonDevJhOtherServiceImpl.java | 54 + .../service/impl/MonDevJhRealServiceImpl.java | 86 + .../service/impl/MonDevOtherServiceImpl.java | 54 + .../service/impl/MonDevRealServiceImpl.java | 97 + .../service/impl/MonDevSnHourServiceImpl.java | 53 + .../impl/MonDevSnOtherServiceImpl.java | 54 + .../service/impl/MonDevSnRealServiceImpl.java | 79 + .../service/impl/MonDevTcHourServiceImpl.java | 38 + .../impl/MonDevTcOtherServiceImpl.java | 38 + .../service/impl/MonDevTcRealServiceImpl.java | 38 + .../service/impl/MonElecEventServiceImpl.java | 38 + .../impl/MonElecOperationLogServiceImpl.java | 22 + .../service/impl/MonElecRealServiceImpl.java | 348 ++++ .../impl/MonitoringMapServiceImpl.java | 877 +++++++++ .../impl/OdsAirRegionAqiHourIServiceImpl.java | 21 + .../impl/OdsAirRegionHourIServiceImpl.java | 59 + ...rganizationWeiStationHourIServiceImpl.java | 43 + .../OdsMeshingShStationHourIServiceImpl.java | 43 + .../OdsMeshingWeiStationHourIServiceImpl.java | 43 + .../impl/OdsOnlineOlDgiinfoAServiceImpl.java | 43 + .../impl/OdsOnlineOlPortinfoAServiceImpl.java | 48 + .../OdsOnlineOlPsWhitelistAServiceImpl.java | 42 + .../impl/OdsOnlineOlPsinfoAServiceImpl.java | 42 + .../impl/OdsOnlineOlStopinfoAServiceImpl.java | 42 + .../impl/PcAdslFactoryServiceImpl.java | 43 + .../service/impl/PcAdslServiceImpl.java | 38 + .../impl/PcArchivesFactoryServiceImpl.java | 130 ++ .../PcControlRequirementsServiceImpl.java | 38 + ...trolCoordinateOperationLogServiceImpl.java | 19 + .../PcFactoryAccessControlServiceImpl.java | 60 + ...toryCoordinateOperationLogServiceImpl.java | 19 + ...toryPollutantEmissionsRankServiceImpl.java | 64 + .../impl/PcFactoryPollutantServiceImpl.java | 38 + .../service/impl/PcFactoryServiceImpl.java | 525 +++++ ...cFactoryWasteEmissionsRankServiceImpl.java | 20 + .../service/impl/PcIndustryServiceImpl.java | 42 + .../impl/PcLabelFactoryServiceImpl.java | 1637 ++++++++++++++++ .../service/impl/PcLabelServiceImpl.java | 181 ++ .../service/impl/PcLabelValueServiceImpl.java | 60 + .../PcManagementFacilitiesServiceImpl.java | 38 + .../impl/PcMenuFactoryServiceImpl.java | 38 + .../service/impl/PcMenuServiceImpl.java | 38 + .../service/impl/PcNoiseTypeServiceImpl.java | 38 + ...tletCoordinateOperationLogServiceImpl.java | 19 + .../service/impl/PcOutletServiceImpl.java | 529 ++++++ .../service/impl/PcPollutantServiceImpl.java | 44 + .../impl/PcProductionFacilityServiceImpl.java | 38 + .../impl/PcSolidHazardousTypeServiceImpl.java | 19 + ...cStationBuildingEntranceGuServiceImpl.java | 38 + .../impl/PcStationBuildingOpsServiceImpl.java | 38 + .../impl/PcStationBuildingServiceImpl.java | 38 + .../PcStationBuildingStatServiceImpl.java | 52 + .../impl/PointIsOfflineServiceImpl.java | 191 ++ .../impl/ProductionManageServiceImpl.java | 300 +++ .../impl/ProductionScheduledServiceImpl.java | 29 + .../impl/SEnvGasMonDayServiceImpl.java | 30 + .../impl/SEnvGasMonHourServiceImpl.java | 77 + .../impl/SEnvGasMonRealServiceImpl.java | 899 +++++++++ .../service/impl/SEnvGasRealServiceImpl.java | 389 ++++ .../impl/SEnvGasSelfDayServiceImpl.java | 40 + .../impl/SEnvWaterMonDayServiceImpl.java | 57 + .../impl/SEnvWaterMonHourServiceImpl.java | 492 +++++ .../impl/SEnvWaterMonRealServiceImpl.java | 481 +++++ .../impl/SEnvWaterSelfDayServiceImpl.java | 40 + ...ntegratedRoutineInspectionServiceImpl.java | 38 + ...SMainDynamicControlFactoryServiceImpl.java | 38 + .../SMainDynamicControlParamServiceImpl.java | 85 + .../impl/SMainDynamicControlServiceImpl.java | 38 + ...RaRealTimeAnalysicComsitStServiceImpl.java | 20 + .../SRaRealTimeAnalysisRunOneServiceImpl.java | 59 + .../impl/STaskYieldTrendServiceImpl.java | 39 + .../SupermonitorDrainOutletServiceImpl.java | 38 + .../service/impl/TCodStationServiceImpl.java | 362 ++++ .../ThreadQuerySRaDayMonTimeFbjdData.java | 52 + ...ThreadQuerySRaRealTimeAnalysisRunData.java | 50 + .../service/impl/TradeMonitorServiceImpl.java | 196 ++ .../BCoDischargePlanInfoServiceImpl.java | 50 + .../analysis/BCoDischargePlanServiceImpl.java | 62 + .../BMaintenancePlanInfoServiceImpl.java | 71 + .../analysis/BMaintenancePlanServiceImpl.java | 56 + .../BasDeviceParamAnalyseServiceImpl.java | 27 + .../analysis/BasDeviceParamServiceImpl.java | 37 + .../analysis/BasDeviceStatusServiceImpl.java | 109 ++ .../BasThresholdConfigServiceImpl.java | 29 + .../ConcentrationMathServiceImpl.java | 866 +++++++++ .../DataLogicAnalysisServiceImpl.java | 367 ++++ .../analysis/DischargeMathServiceImpl.java | 1682 +++++++++++++++++ .../impl/analysis/IDisPermitServiceImpl.java | 103 + .../IFacilityAnalysisServiceImpl.java | 503 +++++ .../MonitoringAnalyseServiceImpl.java | 144 ++ .../analysis/PcRaProblemTypeServiceImpl.java | 134 ++ .../PollWaterAnalysisServiceImpl.java | 266 +++ .../analysis/SRaAbNalysisCarServiceImpl.java | 36 + .../SRaAbNalysisLowCarServiceImpl.java | 265 +++ ...tionReportsActualEmissionsServiceImpl.java | 43 + ...RaActionReportsActualYieldServiceImpl.java | 43 + ...RaActionReportsAuditRecordServiceImpl.java | 142 ++ ...RaActionReportsAuditResultServiceImpl.java | 124 ++ .../SRaActionReportsAuditServiceImpl.java | 53 + .../SRaAreaRegulatoryIssuesServiceImpl.java | 35 + ...RaAreaTransferRateAnalysisServiceImpl.java | 35 + .../analysis/SRaControlSchemeServiceImpl.java | 37 + .../analysis/SRaEmissionsDiffServiceImpl.java | 57 + ...missionsMonitoringVarianceServiceImpl.java | 54 + .../SRaEmissionsOverFactoryServiceImpl.java | 62 + .../analysis/SRaEmissionsOverServiceImpl.java | 70 + .../SRaEmissionsStandardServiceImpl.java | 82 + .../SRaEmissionsStatisticsServiceImpl.java | 135 ++ ...SRaFactoryRegulatoryIssuesServiceImpl.java | 43 + ...actoryTransferRateAnalysisServiceImpl.java | 770 ++++++++ .../impl/analysis/SRaGasFlagServiceImpl.java | 104 + .../SRaGasPermittedEmissionsServiceImpl.java | 72 + .../SRaGasPermittedOnlineServiceImpl.java | 261 +++ .../SRaHandworkEmissionsGasServiceImpl.java | 53 + .../SRaHandworkEmissionsWaterServiceImpl.java | 53 + .../SRaLowMonitoringGasServiceImpl.java | 26 + .../SRaLowMonitoringOtherServiceImpl.java | 26 + .../SRaLowMonitoringWaterServiceImpl.java | 26 + .../analysis/SRaMultiSourceServiceImpl.java | 759 ++++++++ .../SRaOnlineEmissionsGasServiceImpl.java | 99 + .../SRaOnlineEmissionsWaterServiceImpl.java | 98 + .../analysis/SRaOverRateGasServiceImpl.java | 260 +++ .../analysis/SRaOverRateWaterServiceImpl.java | 66 + ...WaterPollutionTraceabilityServiceImpl.java | 120 ++ ...lTimeAnalysicComsitMonitorServiceImpl.java | 62 + .../SRaRealTimeAnalysicComsitServiceImpl.java | 124 ++ .../SRaRealTimeAnalysisCementServiceImpl.java | 105 + .../SRaRealTimeAnalysisCoServiceImpl.java | 466 +++++ .../SRaRealTimeAnalysisCoalServiceImpl.java | 108 ++ .../SRaRealTimeAnalysisCokeServiceImpl.java | 107 ++ ...aRealTimeAnalysisConverterServiceImpl.java | 109 ++ ...SRaRealTimeAnalysisFurnaceServiceImpl.java | 102 + .../SRaRealTimeAnalysisGlassServiceImpl.java | 106 ++ .../SRaRealTimeAnalysisKwhServiceImpl.java | 84 + .../SRaRealTimeAnalysisPowerServiceImpl.java | 107 ++ ...SRaRealTimeAnalysisRubbishServiceImpl.java | 104 + .../SRaRealTimeAnalysisRunServiceImpl.java | 224 +++ .../SRaRealTimeAnalysisStopServiceImpl.java | 382 ++++ .../SRaSelfMonitoringDataServiceImpl.java | 134 ++ .../analysis/SRaWaterFlagServiceImpl.java | 103 + ...SRaWaterPermittedEmissionsServiceImpl.java | 70 + .../SRaWaterPermittedOnlineServiceImpl.java | 256 +++ .../impl/effective/BasTargetServiceImpl.java | 1370 ++++++++++++++ .../ERmStationExceedServiceImpl.java | 210 ++ .../effective/ERmStationHourServiceImpl.java | 28 + .../ForecastAccuracyServiceImpl.java | 30 + .../MAiControlDelayAssessmentServiceImpl.java | 56 + ...chnologyEstimateFacilitiesServiceImpl.java | 26 + ...eTechnologyEstimateFactoryServiceImpl.java | 41 + ...echnologyEstimateProcedureServiceImpl.java | 26 + .../effective/PCodAreaInfoServiceImpl.java | 202 ++ .../PcNationalCityRankingHourServiceImpl.java | 50 + ...PcNationalCityRankingOtherServiceImpl.java | 73 + ...PollutionCharacterAnalysisServiceImpl.java | 313 +++ ...tificationEffectEvaluationServiceImpl.java | 45 + .../ReductionEmissionServiceImpl.java | 402 ++++ .../effective/ReportManageServiceImpl.java | 188 ++ .../strategy/AbstractStrategyAdapter.java | 78 + .../strategy/StatusStrategyAdapter.java | 344 ++++ .../talroad/service/strategy/Strategy.java | 29 + .../service/strategy/StrategyFactory.java | 29 + .../strategy/YieldStrategyAdapter.java | 437 +++++ .../strategy/support/bl/BlScxAdapter.java | 143 ++ .../support/bl/BlScxCountAdapter.java | 390 ++++ .../strategy/support/dl/DlGulAdapter.java | 170 ++ .../support/dl/DlGulCountAdapter.java | 355 ++++ .../strategy/support/fs/FsFslAdapter.java | 182 ++ .../support/fs/FsFslCountAdapter.java | 308 +++ .../strategy/support/gt/GtFdjzAdapter.java | 161 ++ .../support/gt/GtFdjzYieldAdapter.java | 24 + .../strategy/support/gt/GtGlAdapter.java | 161 ++ .../strategy/support/gt/GtGlCountAdapter.java | 55 + .../strategy/support/gt/GtGlmqAdapter.java | 183 ++ .../strategy/support/gt/GtGlmqgAdapter.java | 104 + .../strategy/support/gt/GtJlAdapter.java | 134 ++ .../strategy/support/gt/GtJlCountAdapter.java | 145 ++ .../gt/GtJlZlStatusStrategyAdapter.java | 42 + .../strategy/support/gt/GtLyAdapter.java | 168 ++ .../strategy/support/gt/GtLyYieldAdapter.java | 24 + .../strategy/support/gt/GtMqgwAdapter.java | 166 ++ .../strategy/support/gt/GtSjjAdapter.java | 179 ++ .../support/gt/GtSjjYieldAdapter.java | 24 + .../strategy/support/gt/GtSlAdapter.java | 178 ++ .../strategy/support/gt/GtSlYieldAdapter.java | 24 + .../support/gt/GtStatusStrategyAdapter.java | 57 + .../support/gt/GtYieldStrategyAdapter.java | 404 ++++ .../strategy/support/gt/GtZlAdapter.java | 134 ++ .../strategy/support/gt/GtZlCountAdapter.java | 227 +++ .../strategy/support/gt/GtZlmqAdapter.java | 301 +++ .../strategy/support/jh/JhJlAdapter.java | 156 ++ .../strategy/support/jh/JhJlCountAdapter.java | 430 +++++ .../strategy/support/jh/JhMqgwAdapter.java | 166 ++ .../strategy/support/sn/SnSnyAdapter.java | 153 ++ .../support/sn/SnSnyCountAdapter.java | 355 ++++ .../task/ConcentrationTaskController.java | 44 + .../task/ContrastiveAnalysisController.java | 35 + .../talroad/task/DataConstantController.java | 60 + .../task/DataLogicExceptionController.java | 50 + .../talroad/task/DataMissingController.java | 50 + .../talroad/task/DisPermitController.java | 45 + .../talroad/task/ExecuteReportController.java | 103 + .../task/FactoryLabelChangeController.java | 160 ++ .../task/FactoryScheduledController.java | 45 + .../task/FrequencyMeasurementController.java | 36 + .../task/GasExceededLabelTaskController.java | 35 + .../GasExceededTotalLabelTaskController.java | 35 + .../talroad/task/LabelTaskController.java | 35 + .../talroad/task/LimestoneController.java | 56 + .../PcStationBuildingStatTaskController.java | 36 + .../task/PollutantDischargeController.java | 52 + ...ventionAndControlFacilitiesController.java | 49 + .../PollutionSourceControlController.java | 72 + .../talroad/task/ProblemRatioController.java | 52 + .../task/ProductionScheduledController.java | 39 + .../task/SRaOverRateGasTaskController.java | 54 + .../task/STaskYieldTrendController.java | 36 + .../task/SiteMonitoringController.java | 33 + .../cecep/talroad/task/SjLabelController.java | 127 ++ .../talroad/task/TradeMonitorController.java | 45 + .../task/TransferRateTaskController.java | 135 ++ .../task/TransferTateLabelTaskController.java | 74 + .../cn/cecep/talroad/util/BeanContext.java | 38 + .../talroad/util/ConcentrationConstants.java | 64 + .../cn/cecep/talroad/util/ConvertNumber.java | 287 +++ .../java/cn/cecep/talroad/util/CsvUtils.java | 225 +++ .../cn/cecep/talroad/util/CustomDateUtil.java | 179 ++ .../java/cn/cecep/talroad/util/DateUtil.java | 873 +++++++++ .../talroad/util/EmissionsConstants.java | 181 ++ .../cn/cecep/talroad/util/EmissionsUtils.java | 88 + .../cn/cecep/talroad/util/ExportWordUtil.java | 49 + .../java/cn/cecep/talroad/util/HttpUtils.java | 61 + .../java/cn/cecep/talroad/util/MathUtils.java | 30 + .../cn/cecep/talroad/util/MsgProducer.java | 53 + .../cn/cecep/talroad/util/NumberUtils.java | 53 + .../cecep/talroad/util/PageConvertUtil.java | 41 + .../java/cn/cecep/talroad/util/PlxUtils.java | 94 + .../cn/cecep/talroad/util/QrCodeUtils.java | 229 +++ .../cn/cecep/talroad/util/RedisUtils.java | 45 + .../cn/cecep/talroad/util/StatusConsumer.java | 48 + .../java/cn/cecep/talroad/util/VideoUtil.java | 286 +++ .../cn/cecep/talroad/util/VoToString.java | 1147 +++++++++++ .../cn/cecep/talroad/util/VoToStringBak.java | 1051 ++++++++++ .../cn/cecep/talroad/util/YieldConsumer.java | 52 + .../java/cn/cecep/talroad/util/Ys7Common.java | 14 + .../util/effective/AirDataConverseUtil.java | 270 +++ .../util/effective/AirQualityLevelType.java | 63 + .../talroad/util/effective/BasTargetUtil.java | 529 ++++++ .../talroad/util/effective/DateUtil.java | 920 +++++++++ .../talroad/util/effective/FieldCache.java | 125 ++ .../talroad/util/effective/JavaBeanUtils.java | 162 ++ .../talroad/util/effective/NewDateUtil.java | 606 ++++++ .../util/effective/PollutantChart.java | 6 + .../util/effective/PollutantConcType.java | 223 +++ .../talroad/util/effective/StringTools.java | 400 ++++ .../cn/cecep/talroad/utils/CommonMessage.java | 125 ++ .../cn/cecep/talroad/utils/JdbcTypeUtil.java | 166 ++ .../java/cn/cecep/talroad/utils/PageUtil.java | 152 ++ .../cecep/talroad/utils/ResponseResult.java | 80 + .../java/cn/cecep/talroad/utils/Result.java | 53 + .../cn/cecep/talroad/utils/ResultCode.java | 38 + .../cn/cecep/talroad/utils/ThrFunction.java | 7 + .../talroad/vo/AmDoorMonitorAccountFiVo.java | 71 + .../talroad/vo/AmProblemFiRatioImportVo.java | 66 + .../cecep/talroad/vo/AmProblemFiRatioVo.java | 78 + .../cn/cecep/talroad/vo/AmProblemFiVo.java | 223 +++ .../cn/cecep/talroad/vo/AmVideoDevFiVo.java | 66 + .../vo/AppVersionAddressManagementVo.java | 73 + .../vo/BEnterpriseIrBusinessAlertsVo.java | 48 + .../talroad/vo/BEnterpriseIrEesTypeVo.java | 42 + .../cecep/talroad/vo/BEnterpriseIrEesVo.java | 58 + .../talroad/vo/BEnterpriseIrLegalVo.java | 54 + .../vo/BEnterpriseIrNotifierproNoticeVo.java | 52 + .../talroad/vo/BEnterpriseIrSdoeptVo.java | 54 + .../talroad/vo/BMainActionReportsVo.java | 42 + .../vo/BMainAllowablePollutionAirVo.java | 100 + .../vo/BMainAllowablePollutionWaterVo.java | 64 + .../vo/BMainEmissionAndstatusCountVo.java | 33 + .../vo/BMainEmissionAndstatusScaleVo.java | 31 + .../vo/BMainEmissionOnlineMonAirVo.java | 92 + .../vo/BMainEmissionOnlineMonWaterVo.java | 92 + .../vo/BMainEmissionPollutionAirVo.java | 100 + .../BMainEmissionPollutionSolidWasteVo.java | 70 + .../vo/BMainEmissionPollutionWaterVo.java | 100 + .../talroad/vo/BMainEmissionSourceAirVo.java | 49 + .../vo/BMainEmissionSourceWaterVo.java | 50 + .../vo/BMainExceptionTaskCheckStepVo.java | 43 + .../talroad/vo/BMainExceptionTaskCheckVo.java | 164 ++ .../vo/BMainFactoryVerificationVo.java | 120 ++ .../java/cn/cecep/talroad/vo/BMainFileVo.java | 44 + .../vo/BMainHazardousSolidWasteCrVo.java | 38 + .../vo/BMainHazardousSolidWasteFaVo.java | 124 ++ .../vo/BMainHazardousSolidWasteLeVo.java | 66 + .../vo/BMainHazardousSolidWasteVo.java | 133 ++ .../vo/BMainHazardousWasteOutputVo.java | 79 + .../talroad/vo/BMainMobileEnforcementVo.java | 50 + .../talroad/vo/BMainNoiseEmissionsVo.java | 55 + .../talroad/vo/BMainPollDisEmlRecordVo.java | 122 ++ .../talroad/vo/BMainPollDisEnforcementVo.java | 112 ++ .../cecep/talroad/vo/BMainPollDisFileVo.java | 48 + .../talroad/vo/BMainPollDisGasMoutVo.java | 86 + .../talroad/vo/BMainPollDisGasOoutVo.java | 86 + .../talroad/vo/BMainPollDisGasSoutVo.java | 58 + .../talroad/vo/BMainPollDisGasToutVo.java | 59 + .../talroad/vo/BMainPollDisInformationVo.java | 110 ++ .../vo/BMainPollDisNoiseRegulationVo.java | 101 + .../vo/BMainPollDisNoiseRequireVo.java | 57 + .../cecep/talroad/vo/BMainPollDisNoiseVo.java | 62 + .../vo/BMainPollDisSelfMonOtherVo.java | 90 + .../talroad/vo/BMainPollDisSelfMonVo.java | 90 + .../cn/cecep/talroad/vo/BMainPollDisVo.java | 60 + .../talroad/vo/BMainPollDisWaterMoutVo.java | 74 + .../talroad/vo/BMainPollDisWaterOoutVo.java | 74 + .../talroad/vo/BMainPollDisWaterSoutVo.java | 66 + .../talroad/vo/BMainPollDisWaterToutVo.java | 58 + .../talroad/vo/BMainProductionInorgGasVo.java | 70 + .../vo/BMainProductionOrganizGasVo.java | 78 + .../talroad/vo/BMainProductionWaterVo.java | 66 + .../talroad/vo/BMainSolidHazardousVo.java | 38 + .../talroad/vo/BMainSolidWasteOutputVo.java | 78 + .../cecep/talroad/vo/BMainSysFeedbackVo.java | 80 + .../BMainThreeSupervisionEnforcRecordVo.java | 79 + .../vo/BMainThreeSupervisionEnforcVo.java | 130 ++ .../talroad/vo/BMainTwoRandomTaskStepVo.java | 43 + .../talroad/vo/BMainTwoRandomTaskVo.java | 154 ++ .../BStatTablePwxkProductionFacilitiesVo.java | 124 ++ .../talroad/vo/BStatTablePwxkProductsVo.java | 61 + .../BStatTablePwxkWaterIndustryInTotalVo.java | 63 + .../vo/BStatTablePwxkWaterIndustryInVo.java | 72 + .../vo/BStatTablePwxkWaterLifeInVo.java | 61 + .../BStatTablePwxkWaterTreatmentInAskVo.java | 65 + .../BStatTablePwxkWaterTreatmentLineVo.java | 63 + .../talroad/vo/BStatTableZxbgJbxxInfoVo.java | 75 + .../vo/BStatTableZxbgPflAirOtherVo.java | 63 + .../vo/BStatTableZxbgPflAirOverproofVo.java | 84 + .../vo/BStatTableZxbgPflAirSpecialVo.java | 75 + .../vo/BStatTableZxbgPflAirStatVo.java | 59 + .../talroad/vo/BStatTableZxbgPflAirVo.java | 71 + .../talroad/vo/BStatTableZxbgPflWaterVo.java | 75 + .../vo/BStatTableZxbgPflWaterVoerproofVo.java | 80 + .../vo/BStatTableZxbgPflallWaterVo.java | 68 + .../vo/BStatTableZxbgPfltotalWaterVo.java | 72 + .../vo/BStatTableZxbgWrzlAbnormalitiesVo.java | 79 + .../talroad/vo/BStatTableZxbgWrzlTotalVo.java | 71 + .../cn/cecep/talroad/vo/BasDevToElecVo.java | 34 + .../cecep/talroad/vo/BasDeviceConfigVo.java | 74 + .../vo/BasDeviceDCSSystemParamExcelVo.java | 70 + .../talroad/vo/BasDeviceDCSSystemParamVo.java | 58 + .../cn/cecep/talroad/vo/BasDeviceExcelVo.java | 218 +++ .../cecep/talroad/vo/BasDeviceIndustryVo.java | 114 ++ .../talroad/vo/BasDeviceParamListVo.java | 148 ++ .../cn/cecep/talroad/vo/BasDeviceParamVo.java | 102 + .../talroad/vo/BasDeviceSiteDeviceTypeVo.java | 33 + .../talroad/vo/BasDeviceSiteExcelVo.java | 65 + .../cn/cecep/talroad/vo/BasDeviceSiteVo.java | 83 + .../java/cn/cecep/talroad/vo/BasDeviceVo.java | 258 +++ .../cecep/talroad/vo/BasDeviceZlConfigVo.java | 43 + .../cn/cecep/talroad/vo/BasElecDeviceVo.java | 46 + .../java/cn/cecep/talroad/vo/BasParamVo.java | 118 ++ .../BasProductionDeviceOperationLogQuery.java | 109 ++ .../talroad/vo/BasThresholdConfigVo.java | 71 + .../vo/BaseControlConcentStandardsVo.java | 42 + .../vo/BaseRegionalControlObjectivesVo.java | 26 + .../java/cn/cecep/talroad/vo/ChartVo.java | 209 ++ .../vo/DistributionOfMajorEmittersVo.java | 24 + .../java/cn/cecep/talroad/vo/DropDownVO.java | 17 + .../java/cn/cecep/talroad/vo/EChartsVO.java | 158 ++ .../cn/cecep/talroad/vo/EarlyWarningVo.java | 67 + .../cn/cecep/talroad/vo/EmissionsStatVo.java | 220 +++ .../talroad/vo/EnvironmentCreditPropVo.java | 33 + .../FacilityInformationManagementDCSVO.java | 23 + .../vo/FacilityInformationManagementVO.java | 37 + .../cn/cecep/talroad/vo/FactoryDeviceVo.java | 43 + .../cn/cecep/talroad/vo/FactoryLicenseVo.java | 19 + .../vo/FactoryReportingManifestVo.java | 55 + .../vo/FactoryReportingRemindersVo.java | 69 + .../talroad/vo/FactoryReportingTaskVo.java | 47 + .../talroad/vo/GasPEMonitoringPointVO.java | 57 + .../cecep/talroad/vo/GasPollEmissionsVO.java | 27 + .../vo/ImportPollutionDischargeVo.java | 25 + .../vo/IndustrialHazardousWasteVo.java | 46 + .../talroad/vo/IndustryCompanyOverviewVo.java | 40 + .../IndustryEmissionTrackingOverviewVo.java | 43 + .../vo/IndustryPollutantEmissionsTop10Vo.java | 35 + .../vo/LawEnforcementPieStatisticsVo.java | 24 + .../MAmVideoCoordinateOperationLogQuery.java | 110 ++ .../talroad/vo/MAmVideoDevFiExcelVo.java | 142 ++ .../cn/cecep/talroad/vo/MAmVideoDevFiVo.java | 102 + .../java/cn/cecep/talroad/vo/MapPointVo.java | 42 + .../cn/cecep/talroad/vo/MonDevBlHourVo.java | 198 ++ .../cn/cecep/talroad/vo/MonDevBlOtherVo.java | 198 ++ .../cn/cecep/talroad/vo/MonDevBlRealVo.java | 201 ++ .../cn/cecep/talroad/vo/MonDevBlStringVO.java | 152 ++ .../java/cn/cecep/talroad/vo/MonDevBlVO.java | 144 ++ .../cn/cecep/talroad/vo/MonDevDlHourVo.java | 466 +++++ .../cn/cecep/talroad/vo/MonDevDlOtherVo.java | 466 +++++ .../cn/cecep/talroad/vo/MonDevDlRealVo.java | 469 +++++ .../cn/cecep/talroad/vo/MonDevDlStringVO.java | 352 ++++ .../java/cn/cecep/talroad/vo/MonDevDlVO.java | 343 ++++ .../cn/cecep/talroad/vo/MonDevFsHourVo.java | 294 +++ .../cn/cecep/talroad/vo/MonDevFsOtherVo.java | 294 +++ .../cn/cecep/talroad/vo/MonDevFsRealVo.java | 300 +++ .../cn/cecep/talroad/vo/MonDevFsStringVO.java | 230 +++ .../java/cn/cecep/talroad/vo/MonDevFsVO.java | 221 +++ .../cn/cecep/talroad/vo/MonDevGtRealVO.java | 415 ++++ .../cn/cecep/talroad/vo/MonDevGtStringVO.java | 424 +++++ .../java/cn/cecep/talroad/vo/MonDevGtVO.java | 402 ++++ .../cn/cecep/talroad/vo/MonDevHourVo.java | 566 ++++++ .../cn/cecep/talroad/vo/MonDevJhHourVo.java | 426 +++++ .../cn/cecep/talroad/vo/MonDevJhOtherVo.java | 426 +++++ .../cn/cecep/talroad/vo/MonDevJhRealVo.java | 433 +++++ .../cn/cecep/talroad/vo/MonDevJhStringVO.java | 311 +++ .../java/cn/cecep/talroad/vo/MonDevJhVO.java | 303 +++ .../cn/cecep/talroad/vo/MonDevOtherVo.java | 566 ++++++ .../cn/cecep/talroad/vo/MonDevRealVo.java | 542 ++++++ .../cn/cecep/talroad/vo/MonDevSnHourVo.java | 126 ++ .../cn/cecep/talroad/vo/MonDevSnOtherVo.java | 126 ++ .../cn/cecep/talroad/vo/MonDevSnRealVo.java | 129 ++ .../cn/cecep/talroad/vo/MonDevSnStringVO.java | 101 + .../java/cn/cecep/talroad/vo/MonDevSnVO.java | 91 + .../cn/cecep/talroad/vo/MonDevTcHourVo.java | 142 ++ .../cn/cecep/talroad/vo/MonDevTcOtherVo.java | 142 ++ .../cn/cecep/talroad/vo/MonDevTcRealVo.java | 142 ++ .../cn/cecep/talroad/vo/MonElecEventVo.java | 66 + .../talroad/vo/MonElecOperationLogQuery.java | 92 + .../cecep/talroad/vo/MonElecRealSiteVo.java | 31 + .../cn/cecep/talroad/vo/MonElecRealVo.java | 102 + .../cecep/talroad/vo/OdsAirRegionHourIVo.java | 235 +++ .../OdsInorganizationWeiStationHourIVo.java | 147 ++ .../vo/OdsMeshingShStationHourIVo.java | 159 ++ .../vo/OdsMeshingWeiStationHourIVo.java | 147 ++ .../talroad/vo/OdsOnlineOlDgiinfoAVo.java | 119 ++ .../talroad/vo/OdsOnlineOlPortinfoAVo.java | 167 ++ .../talroad/vo/OdsOnlineOlPsWhitelistAVo.java | 131 ++ .../talroad/vo/OdsOnlineOlPsinfoAVo.java | 143 ++ .../talroad/vo/OdsOnlineOlStopinfoAVo.java | 127 ++ .../cn/cecep/talroad/vo/OutletNameVO.java | 23 + .../cn/cecep/talroad/vo/PcAdslFactoryVo.java | 34 + .../java/cn/cecep/talroad/vo/PcAdslVo.java | 38 + .../cecep/talroad/vo/PcArchivesFactoryVo.java | 48 + .../talroad/vo/PcControlRequirementsVo.java | 143 ++ .../vo/PcCountryLicensingStatusVo.java | 22 + ...AccessControlCoordinateOperationLogVo.java | 78 + .../talroad/vo/PcFactoryAccessControlVo.java | 47 + .../vo/PcFactoryCoordinateOperationLogVo.java | 74 + .../talroad/vo/PcFactoryCoordinateVo.java | 46 + .../vo/PcFactoryLicensingStatusVo.java | 28 + .../vo/PcFactoryPollutantEmissionsRankVo.java | 50 + .../talroad/vo/PcFactoryPollutantVo.java | 38 + .../java/cn/cecep/talroad/vo/PcFactoryVo.java | 308 +++ .../cn/cecep/talroad/vo/PcIndustryVo.java | 34 + .../cn/cecep/talroad/vo/PcLabelFactoryVo.java | 47 + .../cn/cecep/talroad/vo/PcLabelValueVo.java | 39 + .../java/cn/cecep/talroad/vo/PcLabelVo.java | 76 + .../talroad/vo/PcManagementFacilitiesVo.java | 26 + .../cn/cecep/talroad/vo/PcMenuFactoryVo.java | 46 + .../java/cn/cecep/talroad/vo/PcMenuVo.java | 38 + .../cn/cecep/talroad/vo/PcNoiseTypeVo.java | 34 + .../vo/PcOutletCoordinateOperationLogVo.java | 82 + .../talroad/vo/PcOutletCoordinateVo.java | 43 + .../cn/cecep/talroad/vo/PcOutletGasVO.java | 82 + .../java/cn/cecep/talroad/vo/PcOutletVo.java | 198 ++ .../cn/cecep/talroad/vo/PcPollutantVo.java | 50 + .../talroad/vo/PcProductionFacilityVo.java | 27 + .../vo/PcProfessionLicensingStatusVo.java | 21 + .../talroad/vo/PcSolidHazardousTypeVo.java | 77 + .../vo/PcStationBuildingEntranceGuVo.java | 50 + .../talroad/vo/PcStationBuildingOpsVo.java | 54 + .../talroad/vo/PcStationBuildingStatVo.java | 84 + .../cecep/talroad/vo/PcStationBuildingVo.java | 58 + .../cecep/talroad/vo/PermitRequirementVo.java | 37 + .../cn/cecep/talroad/vo/PointIsOfflineVO.java | 29 + .../cn/cecep/talroad/vo/SEnvGasMonDayVo.java | 232 +++ .../cn/cecep/talroad/vo/SEnvGasMonHourVo.java | 232 +++ .../cn/cecep/talroad/vo/SEnvGasMonRealVo.java | 226 +++ .../cn/cecep/talroad/vo/SEnvGasRealVo.java | 100 + .../cn/cecep/talroad/vo/SEnvGasSelfDayVo.java | 251 +++ .../cecep/talroad/vo/SEnvWaterMonDayVo.java | 122 ++ .../cecep/talroad/vo/SEnvWaterMonHourVo.java | 122 ++ .../cecep/talroad/vo/SEnvWaterMonRealVo.java | 122 ++ .../cecep/talroad/vo/SEnvWaterSelfDayVo.java | 143 ++ .../vo/SIntegratedRoutineInspectionVo.java | 62 + .../vo/SMainDynamicControlFactoryVo.java | 41 + .../vo/SMainDynamicControlParamVo.java | 54 + .../talroad/vo/SMainDynamicControlVo.java | 51 + .../vo/SRaRealTimeAnalysisRunOneVo.java | 99 + .../cecep/talroad/vo/STaskYieldTrendVo.java | 69 + .../cn/cecep/talroad/vo/SetParamInfoVo.java | 25 + .../talroad/vo/SupermonitorDrainOutletVo.java | 98 + .../cn/cecep/talroad/vo/SysBasRegion.java | 102 + .../cn/cecep/talroad/vo/TCodStationVo.java | 79 + .../talroad/vo/WarningEnvGasMonRealVo.java | 262 +++ .../talroad/vo/WaterPollEmissionsVO.java | 24 + .../cecep/talroad/vo/analysis/AvgValueVo.java | 21 + .../analysis/CoAndMaintenancePlanAllInfo.java | 78 + .../CoDeviceDiffuseStatusFactoryVO.java | 12 + .../vo/analysis/CoDeviceTypeCountVO.java | 19 + .../analysis/CoDeviceTypeDiffuseStatusVO.java | 16 + .../talroad/vo/analysis/CoPlanAllInfo.java | 89 + .../vo/analysis/DeviceStatusWorkStepVO.java | 23 + .../FactoryIndustryProblemCountVO.java | 17 + .../vo/analysis/FactoryOutletStaticsVo.java | 21 + .../talroad/vo/analysis/FactoryOutletVo.java | 33 + .../analysis/FactoryTop10ProblemCountVO.java | 11 + .../analysis/FactoryTransferRateParamVo.java | 30 + .../vo/analysis/MaintenancePlanAllInfo.java | 81 + .../talroad/vo/analysis/MaxEmissionsVO.java | 19 + .../vo/analysis/MonthTotalEmissionsVO.java | 25 + .../vo/analysis/OutletPermitPollutantVO.java | 76 + .../vo/analysis/OutletPollutantVO.java | 15 + .../analysis/PcOutletPermitPollutantVO.java | 40 + .../vo/analysis/PcRaProblemTypeVo.java | 41 + .../vo/analysis/PermitEmissionsFactoryVO.java | 47 + .../vo/analysis/PollDisPollutantGroupVO.java | 30 + .../talroad/vo/analysis/PumpStateVo.java | 21 + .../vo/analysis/SRaAbNalysisCarVo.java | 74 + .../vo/analysis/SRaAbNalysisLowCarVo.java | 74 + .../SRaActionReportsActualEmissionsVo.java | 84 + .../SRaActionReportsActualYieldVo.java | 72 + .../SRaActionReportsAuditRecordVo.java | 73 + .../SRaActionReportsAuditResultVo.java | 137 ++ .../vo/analysis/SRaActionReportsAuditVo.java | 72 + .../analysis/SRaAreaRegulatoryIssuesVo.java | 114 ++ .../SRaAreaTransferRateAnalysisVo.java | 142 ++ .../vo/analysis/SRaControlSchemeVo.java | 75 + .../vo/analysis/SRaEmissionsDiffVo.java | 90 + .../SRaEmissionsMonitoringVarianceVo.java | 112 ++ .../analysis/SRaEmissionsOverFactoryVo.java | 43 + .../vo/analysis/SRaEmissionsOverVo.java | 55 + .../vo/analysis/SRaEmissionsStandardVo.java | 74 + .../SRaFactoryRegulatoryIssuesVo.java | 103 + .../SRaFactoryTransferRateAnalysisVo.java | 78 + .../talroad/vo/analysis/SRaGasFlagVo.java | 136 ++ .../analysis/SRaGasPermittedEmissionsVo.java | 111 ++ .../vo/analysis/SRaGasPermittedOnlineVo.java | 115 ++ .../analysis/SRaHandworkEmissionsGasVo.java | 98 + .../analysis/SRaHandworkEmissionsWaterVo.java | 98 + .../talroad/vo/analysis/SRaMultiSourceVo.java | 111 ++ .../vo/analysis/SRaOnlineEmissionsGasVo.java | 104 + .../analysis/SRaOnlineEmissionsWaterVo.java | 105 + .../talroad/vo/analysis/SRaOverRateGasVo.java | 75 + .../vo/analysis/SRaOverRateWaterVo.java | 75 + .../SRaRealTimeAnalysicComsitMonitorVo.java | 84 + .../analysis/SRaRealTimeAnalysicComsitVo.java | 51 + .../analysis/SRaRealTimeAnalysisCementVo.java | 75 + .../vo/analysis/SRaRealTimeAnalysisCoVo.java | 86 + .../analysis/SRaRealTimeAnalysisCoalVo.java | 79 + .../analysis/SRaRealTimeAnalysisCokeVo.java | 79 + .../SRaRealTimeAnalysisConverterVo.java | 86 + .../SRaRealTimeAnalysisFurnaceVo.java | 66 + .../analysis/SRaRealTimeAnalysisGlassVo.java | 79 + .../vo/analysis/SRaRealTimeAnalysisKwhVo.java | 94 + .../analysis/SRaRealTimeAnalysisPowerVo.java | 67 + .../SRaRealTimeAnalysisRubbishVo.java | 71 + .../vo/analysis/SRaRealTimeAnalysisRunVo.java | 82 + .../analysis/SRaRealTimeAnalysisStopVo.java | 86 + .../vo/analysis/SRaSelfMonitoringDataVo.java | 136 ++ .../talroad/vo/analysis/SRaWaterFlagVo.java | 111 ++ .../SRaWaterPermittedEmissionsVo.java | 111 ++ .../analysis/SRaWaterPermittedOnlineVo.java | 115 ++ .../WaterPollutionTraceabilityVo.java | 24 + .../talroad/vo/effective/AirParmaVo.java | 65 + .../vo/effective/AirQualityConverter.java | 325 ++++ .../talroad/vo/effective/AirQualityData.java | 233 +++ .../vo/effective/AirQualityLevelVo.java | 44 + .../talroad/vo/effective/BasYearTargetVo.java | 53 + .../talroad/vo/effective/ERmStationInfo.java | 61 + .../FactoryRectificationEffectCountVO.java | 40 + .../vo/effective/ForecastAccuracyInfo.java | 17 + .../MGovernanceTechnologyEstimate.java | 144 ++ .../talroad/vo/effective/MonthDataVo.java | 25 + .../vo/effective/PcNationalCityRanking.java | 132 ++ .../vo/effective/PcNationalCountyRanking.java | 113 ++ .../vo/effective/QEnvgasAreaTargetVo.java | 149 ++ .../talroad/vo/effective/QReportParamVo.java | 47 + .../talroad/vo/effective/QReportTemplate.java | 59 + .../vo/effective/SEnvGasMonValueVo.java | 13 + .../talroad/vo/export/AmVideoDevFiExport.java | 52 + .../vo/export/BasDeviceSiteExport.java | 49 + .../export/PcNationalCityRankingExport.java | 127 ++ .../export/PcNationalCountyRankingExport.java | 103 + .../vo/homepage/EnterpriseIssuesTopVo.java | 33 + .../vo/homepage/HpmCompanyOverviewVo.java | 63 + .../homepage/HpmEmissionRatioOverviewVo.java | 54 + .../vo/homepage/HpmEmissionTrackingMonVo.java | 30 + .../HpmEmissionTrackingOverviewVo.java | 79 + .../vo/homepage/HpmEnterpriseOverviewVo.java | 50 + .../vo/homepage/HpmEnterprisePopVo.java | 47 + .../vo/homepage/HpmEnvironmentOverviewVo.java | 33 + .../vo/homepage/HpmMeriRatingOverviewVo.java | 62 + .../MonitoringPointWarningDetailsVo.java | 44 + .../vo/homepage/MonitoringPointWarningVo.java | 45 + .../vo/homepage/OverviewOnlineMonitorsVo.java | 41 + .../OverviewUnorganizedMonitorsVo.java | 25 + .../vo/homepage/OverviewVideoMonitorsVo.java | 31 + .../homepage/ProportionVideoMonitorsVo.java | 32 + .../homepage/RegionalOnlineMonitoringVo.java | 37 + .../vo/homepage/VideoMonitoringIssuesVo.java | 56 + .../vo/query/AmDoorMonitorAccountFiQuery.java | 77 + .../talroad/vo/query/AmProblemFiQuery.java | 101 + .../vo/query/AmProblemFiRatioQuery.java | 64 + .../talroad/vo/query/AmVideoDevFiQuery.java | 126 ++ .../AppVersionAddressManagementQuery.java | 87 + .../BEnterpriseIrBusinessAlertsQuery.java | 70 + .../vo/query/BEnterpriseIrEesQuery.java | 63 + .../vo/query/BEnterpriseIrEesTypeQuery.java | 51 + .../vo/query/BEnterpriseIrLegalQuery.java | 62 + .../BEnterpriseIrNotifierproNoticeQuery.java | 73 + .../vo/query/BEnterpriseIrSdoeptQuery.java | 61 + .../vo/query/BMainActionReportsQuery.java | 51 + .../BMainAllowablePollutionAirQuery.java | 95 + .../BMainAllowablePollutionWaterQuery.java | 67 + .../query/BMainEmissionOnlineMonAirQuery.java | 114 ++ .../BMainEmissionOnlineMonWaterQuery.java | 123 ++ .../query/BMainEmissionPollutionAirQuery.java | 92 + ...BMainEmissionPollutionSolidWasteQuery.java | 96 + .../BMainEmissionPollutionWaterQuery.java | 100 + .../vo/query/BMainEmissionSourceAirQuery.java | 88 + ...BMainEmissionSourceAirWaterSolidQuery.java | 35 + .../query/BMainEmissionSourceWaterQuery.java | 80 + .../query/BMainExceptionTaskCheckQuery.java | 40 + .../BMainExceptionTaskCheckStepQuery.java | 52 + .../query/BMainFactoryVerificationQuery.java | 109 ++ .../BMainHazardousSolidWasteCrQuery.java | 48 + .../BMainHazardousSolidWasteFaQuery.java | 63 + .../BMainHazardousSolidWasteLeQuery.java | 69 + .../query/BMainHazardousSolidWasteQuery.java | 69 + .../query/BMainHazardousWasteOutputQuery.java | 98 + .../vo/query/BMainMobileEnforcementQuery.java | 61 + .../vo/query/BMainNoiseEmissionsQuery.java | 61 + .../vo/query/BMainPollDisEmlRecordQuery.java | 54 + .../query/BMainPollDisEnforcementQuery.java | 60 + .../vo/query/BMainPollDisFileQuery.java | 51 + .../vo/query/BMainPollDisGasMoutQuery.java | 86 + .../vo/query/BMainPollDisGasOoutQuery.java | 85 + .../vo/query/BMainPollDisGasSoutQuery.java | 70 + .../vo/query/BMainPollDisGasToutQuery.java | 63 + .../query/BMainPollDisInformationQuery.java | 57 + .../vo/query/BMainPollDisNoiseQuery.java | 66 + .../BMainPollDisNoiseRegulationQuery.java | 60 + .../query/BMainPollDisNoiseRequireQuery.java | 60 + .../talroad/vo/query/BMainPollDisQuery.java | 67 + .../query/BMainPollDisSelfMonOtherQuery.java | 88 + .../vo/query/BMainPollDisSelfMonQuery.java | 88 + .../vo/query/BMainPollDisWaterMoutQuery.java | 76 + .../vo/query/BMainPollDisWaterOoutQuery.java | 76 + .../vo/query/BMainPollDisWaterSoutQuery.java | 69 + .../vo/query/BMainPollDisWaterToutQuery.java | 63 + .../query/BMainProductionInorgGasQuery.java | 73 + .../query/BMainProductionOrganizGasQuery.java | 83 + .../vo/query/BMainProductionWaterQuery.java | 71 + .../vo/query/BMainSolidHazardousQuery.java | 49 + .../vo/query/BMainSolidWasteOutputQuery.java | 99 + .../BMainThreeSupervisionEnforcQuery.java | 122 ++ ...MainThreeSupervisionEnforcRecordQuery.java | 80 + .../vo/query/BMainTwoRandomTaskQuery.java | 39 + .../vo/query/BMainTwoRandomTaskStepQuery.java | 52 + .../vo/query/BStatTableZxbgJbxxInfoQuery.java | 76 + .../query/BStatTableZxbgPflAirOtherQuery.java | 67 + .../BStatTableZxbgPflAirOverproofQuery.java | 82 + .../vo/query/BStatTableZxbgPflAirQuery.java | 73 + .../BStatTableZxbgPflAirSpecialQuery.java | 76 + .../query/BStatTableZxbgPflAirStatQuery.java | 64 + .../vo/query/BStatTableZxbgPflWaterQuery.java | 76 + .../BStatTableZxbgPflWaterVoerproofQuery.java | 79 + .../query/BStatTableZxbgPflallWaterQuery.java | 70 + .../BStatTableZxbgPfltotalWaterQuery.java | 73 + .../talroad/vo/query/BStatTableZxbgQuery.java | 19 + .../BStatTableZxbgWrzlAbnormalitiesQuery.java | 79 + .../query/BStatTableZxbgWrzlTotalQuery.java | 73 + .../vo/query/BStatTablepPwxkWaterQuery.java | 43 + .../vo/query/BasDcsOperationLogQuery.java | 84 + .../talroad/vo/query/BasDevToElecQuery.java | 45 + .../vo/query/BasDeviceConfigQuery.java | 73 + .../query/BasDeviceDCSSystemParamQuery.java | 39 + .../talroad/vo/query/BasDeviceParamQuery.java | 90 + .../talroad/vo/query/BasDeviceQuery.java | 141 ++ .../talroad/vo/query/BasDeviceSiteQuery.java | 162 ++ .../vo/query/BasDeviceZlConfigQuery.java | 52 + .../talroad/vo/query/BasElecDeviceQuery.java | 54 + .../cecep/talroad/vo/query/BasParamQuery.java | 108 ++ .../vo/query/BasThresholdConfigQuery.java | 72 + .../BaseControlConcentStandardsQuery.java | 73 + .../BaseRegionalControlObjectivesQuery.java | 64 + .../talroad/vo/query/EarlyWarningQuery.java | 81 + .../query/EffectiveMonitoringRateQuery.java | 47 + .../vo/query/FacilityInformationQuery.java | 57 + .../query/FactoryReportingManifestQuery.java | 61 + .../query/FactoryReportingRemindersQuery.java | 61 + .../vo/query/FactoryReportingTaskQuery.java | 55 + .../vo/query/FindSequenceDataQuery.java | 24 + .../vo/query/GasPEMonitoringPointQuery.java | 18 + .../talroad/vo/query/MAmVideoDevFiQuery.java | 92 + .../talroad/vo/query/MonDevBlHourQuery.java | 168 ++ .../talroad/vo/query/MonDevBlOtherQuery.java | 168 ++ .../talroad/vo/query/MonDevBlRealQuery.java | 168 ++ .../talroad/vo/query/MonDevDlHourQuery.java | 369 ++++ .../talroad/vo/query/MonDevDlOtherQuery.java | 369 ++++ .../talroad/vo/query/MonDevDlRealQuery.java | 369 ++++ .../talroad/vo/query/MonDevFsHourQuery.java | 240 +++ .../talroad/vo/query/MonDevFsOtherQuery.java | 240 +++ .../talroad/vo/query/MonDevFsRealQuery.java | 240 +++ .../talroad/vo/query/MonDevHourQuery.java | 444 +++++ .../talroad/vo/query/MonDevJhHourQuery.java | 342 ++++ .../talroad/vo/query/MonDevJhOtherQuery.java | 342 ++++ .../talroad/vo/query/MonDevJhRealQuery.java | 342 ++++ .../talroad/vo/query/MonDevOtherQuery.java | 444 +++++ .../talroad/vo/query/MonDevRealQuery.java | 444 +++++ .../talroad/vo/query/MonDevSnHourQuery.java | 114 ++ .../talroad/vo/query/MonDevSnOtherQuery.java | 114 ++ .../talroad/vo/query/MonDevSnRealQuery.java | 114 ++ .../talroad/vo/query/MonDevTcHourQuery.java | 126 ++ .../talroad/vo/query/MonDevTcOtherQuery.java | 126 ++ .../talroad/vo/query/MonDevTcRealQuery.java | 126 ++ .../talroad/vo/query/MonElecEventQuery.java | 69 + .../talroad/vo/query/MonElecRealQuery.java | 83 + .../vo/query/MonitoringPointLogQuery.java | 39 + .../vo/query/OdsAirRegionHourIQuery.java | 196 ++ ...OdsInorganizationWeiStationHourIQuery.java | 130 ++ .../query/OdsMeshingShStationHourIQuery.java | 139 ++ .../query/OdsMeshingWeiStationHourIQuery.java | 130 ++ .../vo/query/OdsOnlineOlDgiinfoAQuery.java | 109 ++ .../vo/query/OdsOnlineOlPortinfoAQuery.java | 145 ++ .../query/OdsOnlineOlPsWhitelistAQuery.java | 118 ++ .../vo/query/OdsOnlineOlPsinfoAQuery.java | 127 ++ .../vo/query/OdsOnlineOlStopinfoAQuery.java | 115 ++ .../talroad/vo/query/PcAdslFactoryQuery.java | 45 + .../cecep/talroad/vo/query/PcAdslQuery.java | 50 + .../vo/query/PcControlRequirementsQuery.java | 52 + ...essControlCoordinateOperationLogQuery.java | 59 + .../vo/query/PcFactoryAccessControlQuery.java | 61 + .../PcFactoryCoordinateOperationLogQuery.java | 59 + .../PcFactoryPollutantEmissionsRankQuery.java | 64 + .../vo/query/PcFactoryPollutantQuery.java | 48 + .../talroad/vo/query/PcFactoryQuery.java | 209 ++ .../talroad/vo/query/PcIndustryQuery.java | 45 + .../talroad/vo/query/PcLabelFactoryQuery.java | 47 + .../cecep/talroad/vo/query/PcLabelQuery.java | 65 + .../talroad/vo/query/PcLabelValueQuery.java | 51 + .../vo/query/PcManagementFacilitiesQuery.java | 39 + .../talroad/vo/query/PcMenuFactoryQuery.java | 54 + .../cecep/talroad/vo/query/PcMenuQuery.java | 48 + .../talroad/vo/query/PcNoiseTypeQuery.java | 45 + .../talroad/vo/query/PcOutletAppQuery.java | 114 ++ .../PcOutletCoordinateOperationLogQuery.java | 72 + .../vo/query/PcOutletCoordinateQuery.java | 63 + .../talroad/vo/query/PcOutletGasQuery.java | 47 + .../vo/query/PcOutletGasUpdateQuery.java | 27 + .../cecep/talroad/vo/query/PcOutletQuery.java | 112 ++ .../talroad/vo/query/PcPollutantQuery.java | 63 + .../vo/query/PcProductionFacilityQuery.java | 39 + .../vo/query/PcSolidHazardousTypeQuery.java | 78 + .../PcStationBuildingEntranceGuQuery.java | 63 + .../vo/query/PcStationBuildingOpsQuery.java | 65 + .../vo/query/PcStationBuildingQuery.java | 63 + .../vo/query/PcStationBuildingStatQuery.java | 68 + .../talroad/vo/query/SEnvGasMonDayQuery.java | 82 + .../talroad/vo/query/SEnvGasMonHourQuery.java | 82 + .../talroad/vo/query/SEnvGasMonRealQuery.java | 83 + .../talroad/vo/query/SEnvGasRealQuery.java | 145 ++ .../talroad/vo/query/SEnvGasSelfDayQuery.java | 208 ++ .../vo/query/SEnvWaterMonDayQuery.java | 109 ++ .../vo/query/SEnvWaterMonHourQuery.java | 109 ++ .../vo/query/SEnvWaterMonRealQuery.java | 109 ++ .../vo/query/SEnvWaterSelfDayQuery.java | 127 ++ .../SIntegratedRoutineInspectionQuery.java | 73 + .../SMainDynamicControlFactoryQuery.java | 54 + .../query/SMainDynamicControlParamQuery.java | 51 + .../vo/query/SMainDynamicControlQuery.java | 22 + .../query/SRaRealTimeAnalysisRunOneQuery.java | 65 + .../query/SupermonitorDrainOutletQuery.java | 88 + .../query/analysis/BCoDischargePlanQuery.java | 42 + .../query/analysis/BMaintenancePlanQuery.java | 44 + .../analysis/BasDeviceParamAnalyseQuery.java | 37 + .../query/analysis/BasDeviceParamQuery.java | 35 + .../analysis/BasThresholdConfigQuery.java | 62 + .../MonitoringPointWarningDetailsQuery.java | 28 + .../query/analysis/PcRaProblemTypeQuery.java | 60 + .../vo/query/analysis/SREStatisticsQuery.java | 29 + .../query/analysis/SRaAbNalysisCarQuery.java | 75 + .../analysis/SRaAbNalysisLowCarQuery.java | 104 + .../SRaActionReportsActualEmissionsQuery.java | 83 + .../SRaActionReportsActualYieldQuery.java | 76 + .../analysis/SRaActionReportsAuditQuery.java | 75 + .../SRaActionReportsAuditRecordQuery.java | 75 + .../SRaActionReportsAuditResultQuery.java | 144 ++ .../SRaAreaRegulatoryIssuesQuery.java | 106 ++ .../SRaAreaTransferRateAnalysisQuery.java | 135 ++ .../query/analysis/SRaControlSchemeQuery.java | 76 + .../query/analysis/SRaEmissionsDiffQuery.java | 53 + .../SRaEmissionsMonitoringVarianceQuery.java | 84 + .../SRaEmissionsOverFactoryQuery.java | 42 + .../query/analysis/SRaEmissionsOverQuery.java | 37 + .../analysis/SRaEmissionsStandardQuery.java | 144 ++ .../SRaFactoryRegulatoryIssuesQuery.java | 97 + .../SRaFactoryTransferRateAnalysisQuery.java | 100 + .../vo/query/analysis/SRaGasFlagQuery.java | 51 + .../SRaGasPermittedEmissionsQuery.java | 114 ++ .../analysis/SRaGasPermittedOnlineQuery.java | 117 ++ .../SRaHandworkEmissionsGasQuery.java | 111 ++ .../SRaHandworkEmissionsWaterQuery.java | 111 ++ .../query/analysis/SRaLowMonitoringQuery.java | 108 ++ .../query/analysis/SRaMultiSourceQuery.java | 115 ++ .../analysis/SRaOnlineEmissionsGasQuery.java | 75 + .../SRaOnlineEmissionsWaterQuery.java | 71 + .../query/analysis/SRaOverRateGasQuery.java | 43 + .../query/analysis/SRaOverRateWaterQuery.java | 48 + ...RaOverWaterPollutionTraceabilityQuery.java | 87 + ...SRaRealTimeAnalysicComsitMonitorQuery.java | 55 + .../SRaRealTimeAnalysicComsitQuery.java | 58 + .../SRaRealTimeAnalysisCementQuery.java | 79 + .../analysis/SRaRealTimeAnalysisCoQuery.java | 67 + .../SRaRealTimeAnalysisCoalQuery.java | 69 + .../SRaRealTimeAnalysisCokeQuery.java | 85 + .../SRaRealTimeAnalysisConverterQuery.java | 71 + .../SRaRealTimeAnalysisFurnaceQuery.java | 79 + .../SRaRealTimeAnalysisGlassQuery.java | 82 + .../analysis/SRaRealTimeAnalysisKwhQuery.java | 100 + .../SRaRealTimeAnalysisPowerQuery.java | 77 + .../SRaRealTimeAnalysisRubbishQuery.java | 79 + .../analysis/SRaRealTimeAnalysisRunQuery.java | 58 + .../SRaRealTimeAnalysisStopQuery.java | 67 + .../analysis/SRaSelfMonitoringDataQuery.java | 136 ++ .../vo/query/analysis/SRaWaterFlagQuery.java | 50 + .../SRaWaterPermittedEmissionsQuery.java | 110 ++ .../SRaWaterPermittedOnlineQuery.java | 122 ++ .../MAiControlDelayAssessmentQuery.java | 34 + .../MGovernanceTechnologyEstimateQuery.java | 96 + .../src/main/resources/bootstrap.yml | 26 + .../src/main/resources/logback.xml | 74 + .../talroad/AmDoorMonitorAccountFiMapper.xml | 68 + .../mapper/talroad/AmProblemFiMapper.xml | 331 ++++ .../talroad/AmProblemFiProcessMapper.xml | 5 + .../mapper/talroad/AmProblemFiRatioMapper.xml | 82 + .../mapper/talroad/AmVideoDevFiMapper.xml | 272 +++ .../AppVersionAddressManagementMapper.xml | 29 + .../BEnterpriseIrBusinessAlertsMapper.xml | 52 + .../mapper/talroad/BEnterpriseIrEesMapper.xml | 38 + .../talroad/BEnterpriseIrEesTypeMapper.xml | 30 + .../talroad/BEnterpriseIrLegalMapper.xml | 36 + .../BEnterpriseIrNotifierproNoticeMapper.xml | 47 + .../talroad/BEnterpriseIrSdoeptMapper.xml | 36 + .../BEnterpriseRiskAssessmentLastMapper.xml | 32 + .../BEnterpriseRiskAssessmentMapper.xml | 31 + .../talroad/BMainActionReportsMapper.xml | 30 + .../BMainAllowablePollutionAirMapper.xml | 69 + .../BMainAllowablePollutionWaterMapper.xml | 58 + .../BMainEmissionOnlineMonAirMapper.xml | 54 + .../BMainEmissionOnlineMonWaterMapper.xml | 55 + .../BMainEmissionPollutionAirMapper.xml | 87 + ...BMainEmissionPollutionSolidWasteMapper.xml | 44 + .../BMainEmissionPollutionWaterMapper.xml | 87 + .../talroad/BMainEmissionSourceAirMapper.xml | 34 + .../BMainEmissionSourceWaterMapper.xml | 34 + .../BMainFactoryVerificationMapper.xml | 65 + .../BMainHazardousSolidWasteCrMapper.xml | 28 + .../BMainHazardousSolidWasteFaMapper.xml | 67 + .../BMainHazardousSolidWasteLeMapper.xml | 42 + .../BMainHazardousSolidWasteMapper.xml | 70 + .../BMainHazardousWasteOutputMapper.xml | 111 ++ .../talroad/BMainMobileEnforcementMapper.xml | 71 + .../BMainMonitorPointOperationLogMapper.xml | 464 +++++ .../talroad/BMainNoiseEmissionsMapper.xml | 36 + .../talroad/BMainPollDisEmlRecordMapper.xml | 61 + .../talroad/BMainPollDisEnforcementMapper.xml | 78 + .../mapper/talroad/BMainPollDisFileMapper.xml | 30 + .../talroad/BMainPollDisGasMoutMapper.xml | 169 ++ .../talroad/BMainPollDisGasOoutMapper.xml | 66 + .../talroad/BMainPollDisGasPollMapper.xml | 35 + .../talroad/BMainPollDisGasSoutMapper.xml | 7 + .../talroad/BMainPollDisGasToutMapper.xml | 45 + .../talroad/BMainPollDisGasWzzToutMapper.xml | 34 + .../talroad/BMainPollDisInformationMapper.xml | 63 + .../mapper/talroad/BMainPollDisMapper.xml | 59 + .../talroad/BMainPollDisNoiseMapper.xml | 40 + .../BMainPollDisNoiseRegulationMapper.xml | 65 + .../BMainPollDisNoiseRequireMapper.xml | 36 + .../talroad/BMainPollDisSelfMonMapper.xml | 137 ++ .../BMainPollDisSelfMonOtherMapper.xml | 54 + .../talroad/BMainPollDisWaterMoutMapper.xml | 163 ++ .../talroad/BMainPollDisWaterOoutMapper.xml | 60 + .../talroad/BMainPollDisWaterSoutMapper.xml | 47 + .../talroad/BMainPollDisWaterToutMapper.xml | 42 + .../talroad/BMainProductionInorgGasMapper.xml | 61 + .../BMainProductionOrganizGasMapper.xml | 67 + .../talroad/BMainProductionWaterMapper.xml | 42 + .../talroad/BMainSolidHazardousMapper.xml | 28 + .../talroad/BMainSolidWasteOutputMapper.xml | 48 + .../mapper/talroad/BMainSysFeedbackMapper.xml | 32 + .../BMainThreeSupervisionEnforcMapper.xml | 130 ++ ...MainThreeSupervisionEnforcRecordMapper.xml | 43 + ...tatTablePwxkProductionFacilitiesMapper.xml | 246 +++ ...lePwxkProductionFacilitiesParamsMapper.xml | 109 ++ .../talroad/BStatTablePwxkProductsMapper.xml | 167 ++ .../BStatTablePwxkWaterIndustryInMapper.xml | 251 +++ ...tatTablePwxkWaterIndustryInTotalMapper.xml | 210 ++ .../BStatTablePwxkWaterLifeInMapper.xml | 278 +++ ...StatTablePwxkWaterTreatmentInAskMapper.xml | 320 ++++ ...BStatTablePwxkWaterTreatmentLineMapper.xml | 307 +++ .../talroad/BStatTableQueryInfoMapper.xml | 123 ++ .../talroad/BStatTableZxbgJbxxInfoMapper.xml | 97 + .../talroad/BStatTableZxbgPflAirMapper.xml | 66 + .../BStatTableZxbgPflAirOtherMapper.xml | 62 + .../BStatTableZxbgPflAirOverproofMapper.xml | 72 + .../BStatTableZxbgPflAirSpecialMapper.xml | 68 + .../BStatTableZxbgPflAirStatMapper.xml | 60 + .../talroad/BStatTableZxbgPflWaterMapper.xml | 68 + .../BStatTableZxbgPflWaterVoerproofMapper.xml | 70 + .../BStatTableZxbgPflallWaterMapper.xml | 64 + .../BStatTableZxbgPfltotalWaterMapper.xml | 65 + .../BStatTableZxbgWrzlAbnormalitiesMapper.xml | 93 + .../talroad/BStatTableZxbgWrzlTotalMapper.xml | 125 ++ .../mapper/talroad/BasControlValueMapper.xml | 34 + .../talroad/BasDcsOperationLogMapper.xml | 29 + .../mapper/talroad/BasDevToElecMapper.xml | 24 + .../mapper/talroad/BasDeviceConfigMapper.xml | 42 + .../BasDeviceInfoOperationLogMapper.xml | 537 ++++++ .../mapper/talroad/BasDeviceMapper.xml | 404 ++++ .../mapper/talroad/BasDeviceParamMapper.xml | 281 +++ .../talroad/BasDeviceSalAnalysisMapper.xml | 19 + ...DeviceSiteCoordinateOperationLogMapper.xml | 511 +++++ .../mapper/talroad/BasDeviceSiteMapper.xml | 168 ++ .../talroad/BasDeviceZlConfigMapper.xml | 29 + .../mapper/talroad/BasElecDeviceMapper.xml | 31 + .../mapper/talroad/BasElecProCepMapMapper.xml | 191 ++ .../mapper/talroad/BasParamMapper.xml | 64 + .../BasProductionDeviceOperationLogMapper.xml | 26 + .../talroad/BasThresholdConfigMapper.xml | 44 + .../BaseControlConcentStandardsMapper.xml | 402 ++++ .../BaseRegionalControlObjectivesMapper.xml | 264 +++ .../mapper/talroad/EarlyWarningMapper.xml | 55 + .../mapper/talroad/ElectricityMeterMapper.xml | 117 ++ .../talroad/EnvironmentalCodingMapper.xml | 129 ++ .../FacilityInformationManagementMapper.xml | 142 ++ .../FactoryReportingManifestMapper.xml | 42 + .../FactoryReportingRemindersMapper.xml | 45 + .../talroad/FactoryReportingTaskMapper.xml | 32 + .../talroad/GasReleaseRealStatusMapper.xml | 17 + .../mapper/talroad/IotDeviceTypeMapper.xml | 24 + .../mapper/talroad/LeaderCockpitMapper.xml | 159 ++ .../talroad/MAmDoorMonitorAccountFiMapper.xml | 71 + .../talroad/MAmProblemFiRatioMapper.xml | 144 ++ .../MAmVideoCoordinateOperationLogMapper.xml | 500 +++++ .../mapper/talroad/MAmVideoDevFiMapper.xml | 152 ++ .../MAmVideoInfoOperationLogMapper.xml | 484 +++++ .../mapper/talroad/MonDevBlHourMapper.xml | 112 ++ .../mapper/talroad/MonDevBlOtherMapper.xml | 113 ++ .../mapper/talroad/MonDevBlRealMapper.xml | 203 ++ .../mapper/talroad/MonDevDlHourMapper.xml | 247 +++ .../mapper/talroad/MonDevDlOtherMapper.xml | 247 +++ .../mapper/talroad/MonDevDlRealMapper.xml | 334 ++++ .../mapper/talroad/MonDevFsHourMapper.xml | 161 ++ .../mapper/talroad/MonDevFsOtherMapper.xml | 161 ++ .../mapper/talroad/MonDevFsRealMapper.xml | 285 +++ .../mapper/talroad/MonDevHourMapper.xml | 437 +++++ .../mapper/talroad/MonDevJhHourMapper.xml | 225 +++ .../mapper/talroad/MonDevJhOtherMapper.xml | 225 +++ .../mapper/talroad/MonDevJhRealMapper.xml | 319 ++++ .../mapper/talroad/MonDevOtherMapper.xml | 438 +++++ .../mapper/talroad/MonDevRealMapper.xml | 704 +++++++ .../mapper/talroad/MonDevSnHourMapper.xml | 77 + .../mapper/talroad/MonDevSnOtherMapper.xml | 77 + .../mapper/talroad/MonDevSnRealMapper.xml | 154 ++ .../mapper/talroad/MonDevTcHourMapper.xml | 79 + .../mapper/talroad/MonDevTcOtherMapper.xml | 79 + .../mapper/talroad/MonDevTcRealMapper.xml | 79 + .../mapper/talroad/MonElecEventMapper.xml | 42 + .../mapper/talroad/MonElecHourMapper.xml | 23 + .../talroad/MonElecOperationLogMapper.xml | 394 ++++ .../mapper/talroad/MonElecOtherMapper.xml | 37 + .../mapper/talroad/MonElecRealMapper.xml | 154 ++ .../talroad/OdsAirRegionAqiHourIMapper.xml | 80 + .../talroad/OdsAirRegionHourIMapper.xml | 133 ++ ...lectricityElecPsEquipRelationTsAMapper.xml | 29 + ...OdsInorganizationWeiStationHourIMapper.xml | 80 + .../OdsMeshingShStationHourIMapper.xml | 86 + .../OdsMeshingWeiStationHourIMapper.xml | 80 + .../talroad/OdsOnlineOlDgiinfoAMapper.xml | 66 + .../talroad/OdsOnlineOlPortinfoAMapper.xml | 95 + .../talroad/OdsOnlineOlPsWhitelistAMapper.xml | 72 + .../talroad/OdsOnlineOlPsinfoAMapper.xml | 78 + .../talroad/OdsOnlineOlStopinfoAMapper.xml | 70 + .../mapper/talroad/PCodAreaInfoMapper.xml | 63 + .../mapper/talroad/PCodCompanyMapper.xml | 73 + .../mapper/talroad/PCodeStationMapper.xml | 252 +++ .../mapper/talroad/PcAdslFactoryMapper.xml | 132 ++ .../resources/mapper/talroad/PcAdslMapper.xml | 29 + .../talroad/PcControlRequirementsMapper.xml | 110 ++ .../talroad/PcFactoryAccessControlMapper.xml | 31 + .../PcFactoryCoordinateOperationLogMapper.xml | 5 + .../mapper/talroad/PcFactoryMapper.xml | 1187 ++++++++++++ .../PcFactoryPollutantEmissionsRankMapper.xml | 85 + .../talroad/PcFactoryPollutantMapper.xml | 34 + .../PcFactoryWasteEmissionsRankMapper.xml | 23 + .../mapper/talroad/PcIndustryMapper.xml | 36 + .../mapper/talroad/PcLabelFactoryMapper.xml | 127 ++ .../mapper/talroad/PcLabelMapper.xml | 66 + .../mapper/talroad/PcLabelValueMapper.xml | 35 + .../talroad/PcManagementFacilitiesMapper.xml | 21 + .../mapper/talroad/PcMenuFactoryMapper.xml | 32 + .../resources/mapper/talroad/PcMenuMapper.xml | 28 + .../mapper/talroad/PcNoiseTypeMapper.xml | 26 + .../mapper/talroad/PcOutletMapper.xml | 544 ++++++ .../mapper/talroad/PcPollutantMapper.xml | 34 + .../talroad/PcProductionFacilityMapper.xml | 20 + .../PcStationBuildingEntranceGuMapper.xml | 51 + .../talroad/PcStationBuildingMapper.xml | 61 + .../talroad/PcStationBuildingOpsMapper.xml | 36 + .../talroad/PcStationBuildingStatMapper.xml | 102 + .../mapper/talroad/PcYieldTrendMapper.xml | 27 + .../mapper/talroad/PointIsOfflineMapper.xml | 92 + .../talroad/ProductionScheduledMapper.xml | 83 + .../mapper/talroad/SEnvGasMonDayMapper.xml | 192 ++ .../mapper/talroad/SEnvGasMonHourMapper.xml | 423 +++++ .../mapper/talroad/SEnvGasMonRealMapper.xml | 551 ++++++ .../mapper/talroad/SEnvGasRealMapper.xml | 271 +++ .../mapper/talroad/SEnvGasSelfDayMapper.xml | 130 ++ .../mapper/talroad/SEnvWaterMonDayMapper.xml | 77 + .../mapper/talroad/SEnvWaterMonHourMapper.xml | 225 +++ .../mapper/talroad/SEnvWaterMonRealMapper.xml | 160 ++ .../mapper/talroad/SEnvWaterSelfDayMapper.xml | 76 + .../SIntegratedRoutineInspectionMapper.xml | 40 + .../SMainDynamicControlFactoryMapper.xml | 32 + .../talroad/SMainDynamicControlMapper.xml | 34 + .../SMainDynamicControlParamMapper.xml | 46 + .../talroad/SRaDayMonTimeFbjdMapper.xml | 20 + .../SRaRealTimeAnalysicComsitStMapper.xml | 25 + .../SRaRealTimeAnalysisRunOneMapper.xml | 217 +++ .../mapper/talroad/STaskYieldTrendMapper.xml | 58 + .../talroad/SupermonitorDrainOutletMapper.xml | 56 + .../talroad/TCodStationDataAirMapper.xml | 42 + .../talroad/TCodStationDataWaterMapper.xml | 31 + .../mapper/talroad/TCodStationMapper.xml | 65 + .../analysis/BCoDischargePlanInfoMapper.xml | 56 + .../analysis/BCoDischargePlanMapper.xml | 100 + .../analysis/BMaintenancePlanInfoMapper.xml | 210 ++ .../analysis/BMaintenancePlanMapper.xml | 217 +++ .../analysis/BasDeviceParamAnalyseMapper.xml | 215 +++ .../talroad/analysis/BasDeviceParamMapper.xml | 260 +++ .../analysis/BasThresholdConfigMapper.xml | 152 ++ .../analysis/PcRaProblemTypeMapper.xml | 68 + .../analysis/SRaAbNalysisCarMapper.xml | 44 + .../analysis/SRaAbNalysisLowCarMapper.xml | 56 + .../SRaActionReportsActualEmissionsMapper.xml | 43 + .../SRaActionReportsActualYieldMapper.xml | 40 + ...SRaActionReportsAuditFactoryInfoMapper.xml | 27 + .../analysis/SRaActionReportsAuditMapper.xml | 40 + .../SRaActionReportsAuditRecordMapper.xml | 73 + .../SRaActionReportsAuditResultMapper.xml | 114 ++ .../SRaAreaRegulatoryIssuesMapper.xml | 60 + .../SRaAreaTransferRateAnalysisMapper.xml | 102 + .../analysis/SRaControlSchemeMapper.xml | 43 + .../analysis/SRaEmissionsDiffMapper.xml | 75 + .../SRaEmissionsMonitoringVarianceMapper.xml | 79 + .../SRaEmissionsOverFactoryMapper.xml | 60 + .../analysis/SRaEmissionsOverMapper.xml | 77 + .../analysis/SRaEmissionsStandardMapper.xml | 65 + .../analysis/SRaEmissionsStatisticsMapper.xml | 163 ++ .../SRaFactoryRegulatoryIssuesMapper.xml | 70 + .../SRaFactoryTransferRateAnalysisMapper.xml | 264 +++ .../talroad/analysis/SRaGasFlagMapper.xml | 169 ++ .../SRaGasPermittedEmissionsMapper.xml | 109 ++ .../analysis/SRaGasPermittedOnlineMapper.xml | 111 ++ .../SRaHandworkEmissionsGasMapper.xml | 94 + .../SRaHandworkEmissionsWaterMapper.xml | 94 + .../analysis/SRaLowMonitoringGasMapper.xml | 485 +++++ .../analysis/SRaLowMonitoringOtherMapper.xml | 303 +++ .../analysis/SRaLowMonitoringWaterMapper.xml | 345 ++++ .../talroad/analysis/SRaMultiSourceMapper.xml | 150 ++ .../analysis/SRaOnlineEmissionsGasMapper.xml | 117 ++ .../SRaOnlineEmissionsWaterMapper.xml | 109 ++ .../talroad/analysis/SRaOverRateGasMapper.xml | 114 ++ .../analysis/SRaOverRateWaterMapper.xml | 96 + ...RaOverWaterPollutionTraceabilityMapper.xml | 45 + .../SRaRealTimeAnalysicComsitMapper.xml | 115 ++ ...SRaRealTimeAnalysicComsitMonitorMapper.xml | 27 + .../SRaRealTimeAnalysisCementMapper.xml | 118 ++ .../analysis/SRaRealTimeAnalysisCoMapper.xml | 282 +++ .../SRaRealTimeAnalysisCoalMapper.xml | 122 ++ .../SRaRealTimeAnalysisCokeMapper.xml | 118 ++ .../SRaRealTimeAnalysisConverterMapper.xml | 124 ++ .../SRaRealTimeAnalysisFurnaceMapper.xml | 116 ++ .../SRaRealTimeAnalysisGlassMapper.xml | 119 ++ .../analysis/SRaRealTimeAnalysisKwhMapper.xml | 72 + .../SRaRealTimeAnalysisPowerMapper.xml | 116 ++ .../SRaRealTimeAnalysisRubbishMapper.xml | 117 ++ .../analysis/SRaRealTimeAnalysisRunMapper.xml | 289 +++ .../SRaRealTimeAnalysisStopMapper.xml | 192 ++ .../analysis/SRaSelfMonitoringDataMapper.xml | 503 +++++ .../talroad/analysis/SRaWaterFlagMapper.xml | 157 ++ .../SRaWaterPermittedEmissionsMapper.xml | 117 ++ .../SRaWaterPermittedOnlineMapper.xml | 109 ++ .../effective/ERmStationExceedMapper.xml | 163 ++ .../effective/ERmStationHourMapper.xml | 354 ++++ .../MAiControlDelayAssessmentMapper.xml | 138 ++ ...anceTechnologyEstimateFacilitiesMapper.xml | 292 +++ ...ernanceTechnologyEstimateFactoryMapper.xml | 316 ++++ ...nanceTechnologyEstimateProcedureMapper.xml | 305 +++ .../effective/PCodeIndexPollutantMapper.xml | 27 + .../talroad/effective/PCodeRegionMapper.xml | 286 +++ .../PcNationalCityRankingHourMapper.xml | 284 +++ .../PcNationalCityRankingOtherMapper.xml | 307 +++ .../effective/QEnvgasAreaTargetMapper.xml | 75 + .../effective/QEnvgasStationDayMapper.xml | 178 ++ .../talroad/effective/QEnvgasWqDayMapper.xml | 442 +++++ .../effective/QEnvgasWqMonthMapper.xml | 549 ++++++ .../talroad/effective/QEnvgasWqYearMapper.xml | 365 ++++ .../effective/QReportTemplateMapper.xml | 16 + .../talroad/effective/QTargetConfigMapper.xml | 12 + .../RectificationEffectEvaluationMapper.xml | 42 + .../effective/ReductionEmissionMapper.xml | 95 + .../effective/SEnvgasPollutantMapper.xml | 98 + .../task/real/device/DeviceRealService.class | Bin 0 -> 5176 bytes .../impl/ElecDataDeviceRealService.class | Bin 0 -> 8279 bytes .../impl/GasDataDeviceRealService.class | Bin 0 -> 8330 bytes .../impl/GasMonDataDeviceRealService.class | Bin 0 -> 3009 bytes .../impl/OdsDataDeviceRealService.class | Bin 0 -> 8608 bytes .../impl/OdsMeShingShDeviceRealService.class | Bin 0 -> 8511 bytes .../impl/OdsMeShingWeiDeviceRealService.class | Bin 0 -> 8528 bytes .../impl/WaterDataDeviceRealService.class | Bin 0 -> 8370 bytes .../task/real/impl/ElecDataRealService.class | Bin 0 -> 8046 bytes .../task/real/impl/GasDataRealService.class | Bin 0 -> 8272 bytes .../real/impl/GasMonDataRealService.class | Bin 0 -> 2951 bytes .../task/real/impl/OdsDataRealService.class | Bin 0 -> 8550 bytes .../real/impl/OdsMeShingShRealService.class | Bin 0 -> 8453 bytes .../real/impl/OdsMeShingWeiRealService.class | Bin 0 -> 8470 bytes .../task/real/impl/WaterDataRealService.class | Bin 0 -> 8312 bytes .../task/real/outlet/OutletRealService.class | Bin 0 -> 7759 bytes .../outlet/impl/GasHourOutletService.class | Bin 0 -> 8289 bytes .../outlet/impl/WaterHourOutletService.class | Bin 0 -> 8327 bytes .../talroad/vo/AmDoorMonitorAccountFiVo.class | Bin 0 -> 7742 bytes .../talroad/vo/AmProblemFiRatioImportVo.class | Bin 0 -> 6305 bytes .../cecep/talroad/vo/AmProblemFiRatioVo.class | Bin 0 -> 6993 bytes .../cn/cecep/talroad/vo/AmProblemFiVo.class | Bin 0 -> 15559 bytes .../cn/cecep/talroad/vo/AmVideoDevFiVo.class | Bin 0 -> 7241 bytes .../vo/AppVersionAddressManagementVo.class | Bin 0 -> 7030 bytes .../vo/BEnterpriseIrBusinessAlertsVo.class | Bin 0 -> 4328 bytes .../talroad/vo/BEnterpriseIrEesTypeVo.class | Bin 0 -> 3661 bytes .../cecep/talroad/vo/BEnterpriseIrEesVo.class | Bin 0 -> 6124 bytes .../talroad/vo/BEnterpriseIrLegalVo.class | Bin 0 -> 5064 bytes .../vo/BEnterpriseIrNotifierproNoticeVo.class | Bin 0 -> 4933 bytes .../talroad/vo/BEnterpriseIrSdoeptVo.class | Bin 0 -> 5180 bytes .../talroad/vo/BMainActionReportsVo.class | Bin 0 -> 3491 bytes .../vo/BMainAllowablePollutionAirVo.class | Bin 0 -> 11770 bytes .../vo/BMainAllowablePollutionWaterVo.class | Bin 0 -> 6368 bytes .../vo/BMainEmissionOnlineMonAirVo.class | Bin 0 -> 10477 bytes .../vo/BMainEmissionOnlineMonWaterVo.class | Bin 0 -> 10475 bytes .../vo/BMainEmissionPollutionAirVo.class | Bin 0 -> 8367 bytes .../BMainEmissionPollutionSolidWasteVo.class | Bin 0 -> 7665 bytes .../vo/BMainEmissionPollutionWaterVo.class | Bin 0 -> 8353 bytes .../talroad/vo/BMainEmissionSourceAirVo.class | Bin 0 -> 4740 bytes .../vo/BMainEmissionSourceWaterVo.class | Bin 0 -> 4748 bytes .../vo/BMainExceptionTaskCheckStepVo.class | Bin 0 -> 3677 bytes .../vo/BMainExceptionTaskCheckVo.class | Bin 0 -> 21364 bytes .../vo/BMainFactoryVerificationVo.class | Bin 0 -> 14913 bytes .../cn/cecep/talroad/vo/BMainFileVo.class | Bin 0 -> 4556 bytes .../vo/BMainHazardousSolidWasteCrVo.class | Bin 0 -> 3147 bytes .../vo/BMainHazardousSolidWasteFaVo.class | Bin 0 -> 13046 bytes .../vo/BMainHazardousSolidWasteLeVo.class | Bin 0 -> 7284 bytes .../vo/BMainHazardousSolidWasteVo.class | Bin 0 -> 14353 bytes .../vo/BMainHazardousWasteOutputVo.class | Bin 0 -> 9110 bytes .../talroad/vo/BMainMobileEnforcementVo.class | Bin 0 -> 4693 bytes .../talroad/vo/BMainNoiseEmissionsVo.class | Bin 0 -> 5580 bytes .../talroad/vo/BMainPollDisEmlRecordVo.class | Bin 0 -> 13705 bytes .../vo/BMainPollDisEnforcementVo.class | Bin 0 -> 12529 bytes .../cecep/talroad/vo/BMainPollDisFileVo.class | Bin 0 -> 4083 bytes .../talroad/vo/BMainPollDisGasMoutVo.class | Bin 0 -> 10066 bytes .../talroad/vo/BMainPollDisGasOoutVo.class | Bin 0 -> 10069 bytes .../talroad/vo/BMainPollDisGasSoutVo.class | Bin 0 -> 5993 bytes .../talroad/vo/BMainPollDisGasToutVo.class | Bin 0 -> 6024 bytes .../vo/BMainPollDisInformationVo.class | Bin 0 -> 11901 bytes .../vo/BMainPollDisNoiseRegulationVo.class | Bin 0 -> 10578 bytes .../vo/BMainPollDisNoiseRequireVo.class | Bin 0 -> 5907 bytes .../talroad/vo/BMainPollDisNoiseVo.class | Bin 0 -> 6515 bytes .../vo/BMainPollDisSelfMonOtherVo.class | Bin 0 -> 10997 bytes .../talroad/vo/BMainPollDisSelfMonVo.class | Bin 0 -> 10942 bytes .../cn/cecep/talroad/vo/BMainPollDisVo.class | Bin 0 -> 5820 bytes .../talroad/vo/BMainPollDisWaterMoutVo.class | Bin 0 -> 8219 bytes .../talroad/vo/BMainPollDisWaterOoutVo.class | Bin 0 -> 8222 bytes .../talroad/vo/BMainPollDisWaterSoutVo.class | Bin 0 -> 6943 bytes .../talroad/vo/BMainPollDisWaterToutVo.class | Bin 0 -> 6038 bytes .../vo/BMainProductionInorgGasVo.class | Bin 0 -> 7726 bytes .../vo/BMainProductionOrganizGasVo.class | Bin 0 -> 9198 bytes .../talroad/vo/BMainProductionWaterVo.class | Bin 0 -> 6832 bytes .../talroad/vo/BMainSolidHazardousVo.class | Bin 0 -> 3071 bytes .../talroad/vo/BMainSolidWasteOutputVo.class | Bin 0 -> 8687 bytes .../cecep/talroad/vo/BMainSysFeedbackVo.class | Bin 0 -> 6082 bytes .../BMainThreeSupervisionEnforcRecordVo.class | Bin 0 -> 8397 bytes .../vo/BMainThreeSupervisionEnforcVo.class | Bin 0 -> 17284 bytes .../talroad/vo/BMainTwoRandomTaskStepVo.class | Bin 0 -> 3616 bytes .../talroad/vo/BMainTwoRandomTaskVo.class | Bin 0 -> 20975 bytes .../cn/cecep/talroad/vo/BasDevToElecVo.class | Bin 0 -> 2606 bytes .../cecep/talroad/vo/BasDeviceConfigVo.class | Bin 0 -> 7068 bytes .../vo/BasDeviceDCSSystemParamExcelVo.class | Bin 0 -> 5977 bytes .../vo/BasDeviceDCSSystemParamVo.class | Bin 0 -> 4550 bytes .../cecep/talroad/vo/BasDeviceExcelVo.class | Bin 0 -> 18415 bytes .../talroad/vo/BasDeviceIndustryVo.class | Bin 0 -> 15058 bytes .../talroad/vo/BasDeviceParamListVo.class | Bin 0 -> 11737 bytes .../cecep/talroad/vo/BasDeviceParamVo.class | Bin 0 -> 11679 bytes .../vo/BasDeviceSiteDeviceTypeVo.class | Bin 0 -> 2178 bytes .../talroad/vo/BasDeviceSiteExcelVo.class | Bin 0 -> 8526 bytes .../cn/cecep/talroad/vo/BasDeviceSiteVo.class | Bin 0 -> 7800 bytes .../cn/cecep/talroad/vo/BasDeviceVo.class | Bin 0 -> 18005 bytes .../talroad/vo/BasDeviceZlConfigVo.class | Bin 0 -> 3553 bytes .../cn/cecep/talroad/vo/BasElecDeviceVo.class | Bin 0 -> 3977 bytes .../cn/cecep/talroad/vo/BasParamVo.class | Bin 0 -> 14448 bytes ...BasProductionDeviceOperationLogQuery.class | Bin 0 -> 9483 bytes .../talroad/vo/BasThresholdConfigVo.class | Bin 0 -> 7096 bytes .../vo/BaseControlConcentStandardsVo.class | Bin 0 -> 4627 bytes .../vo/BaseRegionalControlObjectivesVo.class | Bin 0 -> 2268 bytes .../classes/cn/cecep/talroad/vo/ChartVo.class | Bin 0 -> 3544 bytes .../vo/DistributionOfMajorEmittersVo.class | Bin 0 -> 3332 bytes .../cn/cecep/talroad/vo/DropDownVO.class | Bin 0 -> 2026 bytes .../cn/cecep/talroad/vo/EChartsVO.class | Bin 0 -> 5322 bytes .../cn/cecep/talroad/vo/EarlyWarningVo.class | Bin 0 -> 6596 bytes .../cn/cecep/talroad/vo/EmissionsStatVo.class | Bin 0 -> 982 bytes .../talroad/vo/EnvironmentCreditPropVo.class | Bin 0 -> 4171 bytes .../FacilityInformationManagementDCSVO.class | Bin 0 -> 1845 bytes .../vo/FacilityInformationManagementVO.class | Bin 0 -> 3754 bytes .../cn/cecep/talroad/vo/FactoryDeviceVo.class | Bin 0 -> 7046 bytes .../cecep/talroad/vo/FactoryLicenseVo.class | Bin 0 -> 1896 bytes .../vo/FactoryReportingManifestVo.class | Bin 0 -> 5044 bytes .../vo/FactoryReportingRemindersVo.class | Bin 0 -> 7039 bytes .../talroad/vo/FactoryReportingTaskVo.class | Bin 0 -> 4032 bytes .../talroad/vo/GasPEMonitoringPointVO.class | Bin 0 -> 3617 bytes .../cecep/talroad/vo/GasPollEmissionsVO.class | Bin 0 -> 4390 bytes .../vo/ImportPollutionDischargeVo.class | Bin 0 -> 2790 bytes .../vo/IndustrialHazardousWasteVo.class | Bin 0 -> 6664 bytes .../vo/IndustryCompanyOverviewVo.class | Bin 0 -> 6896 bytes .../IndustryEmissionTrackingOverviewVo.class | Bin 0 -> 5129 bytes .../IndustryPollutantEmissionsTop10Vo.class | Bin 0 -> 3927 bytes .../vo/LawEnforcementPieStatisticsVo.class | Bin 0 -> 2207 bytes .../MAmVideoCoordinateOperationLogQuery.class | Bin 0 -> 9381 bytes .../talroad/vo/MAmVideoDevFiExcelVo.class | Bin 0 -> 10432 bytes .../cn/cecep/talroad/vo/MAmVideoDevFiVo.class | Bin 0 -> 12662 bytes .../cn/cecep/talroad/vo/MapPointVo.class | Bin 0 -> 7258 bytes .../cn/cecep/talroad/vo/MonDevBlHourVo.class | Bin 0 -> 26752 bytes .../cn/cecep/talroad/vo/MonDevBlOtherVo.class | Bin 0 -> 26770 bytes .../cn/cecep/talroad/vo/MonDevBlRealVo.class | Bin 0 -> 27405 bytes .../cecep/talroad/vo/MonDevBlStringVO.class | Bin 0 -> 24559 bytes .../cn/cecep/talroad/vo/MonDevBlVO.class | Bin 0 -> 24284 bytes .../cn/cecep/talroad/vo/MonDevDlHourVo.class | Bin 0 -> 87736 bytes .../cn/cecep/talroad/vo/MonDevDlOtherVo.class | Bin 0 -> 87755 bytes .../cn/cecep/talroad/vo/MonDevDlRealVo.class | Bin 0 -> 88795 bytes .../cecep/talroad/vo/MonDevDlStringVO.class | Bin 0 -> 82493 bytes .../cn/cecep/talroad/vo/MonDevDlVO.class | Bin 0 -> 82213 bytes .../cn/cecep/talroad/vo/MonDevFsHourVo.class | Bin 0 -> 46640 bytes .../cn/cecep/talroad/vo/MonDevFsOtherVo.class | Bin 0 -> 46658 bytes .../cn/cecep/talroad/vo/MonDevFsRealVo.class | Bin 0 -> 48284 bytes .../cecep/talroad/vo/MonDevFsStringVO.class | Bin 0 -> 44183 bytes .../cn/cecep/talroad/vo/MonDevFsVO.class | Bin 0 -> 43908 bytes .../cn/cecep/talroad/vo/MonDevGtRealVO.class | Bin 0 -> 113559 bytes .../cecep/talroad/vo/MonDevGtStringVO.class | Bin 0 -> 113787 bytes .../cn/cecep/talroad/vo/MonDevGtVO.class | Bin 0 -> 108560 bytes .../cn/cecep/talroad/vo/MonDevHourVo.class | Bin 0 -> 115114 bytes .../cn/cecep/talroad/vo/MonDevJhHourVo.class | Bin 0 -> 76303 bytes .../cn/cecep/talroad/vo/MonDevJhOtherVo.class | Bin 0 -> 76322 bytes .../cn/cecep/talroad/vo/MonDevJhRealVo.class | Bin 0 -> 77322 bytes .../cecep/talroad/vo/MonDevJhStringVO.class | Bin 0 -> 68197 bytes .../cn/cecep/talroad/vo/MonDevJhVO.class | Bin 0 -> 67917 bytes .../cn/cecep/talroad/vo/MonDevOtherVo.class | Bin 0 -> 115118 bytes .../cn/cecep/talroad/vo/MonDevRealVo.class | Bin 0 -> 107486 bytes .../cn/cecep/talroad/vo/MonDevSnHourVo.class | Bin 0 -> 15071 bytes .../cn/cecep/talroad/vo/MonDevSnOtherVo.class | Bin 0 -> 15090 bytes .../cn/cecep/talroad/vo/MonDevSnRealVo.class | Bin 0 -> 15616 bytes .../cecep/talroad/vo/MonDevSnStringVO.class | Bin 0 -> 13986 bytes .../cn/cecep/talroad/vo/MonDevSnVO.class | Bin 0 -> 13711 bytes .../cn/cecep/talroad/vo/MonDevTcHourVo.class | Bin 0 -> 17709 bytes .../cn/cecep/talroad/vo/MonDevTcOtherVo.class | Bin 0 -> 17729 bytes .../cn/cecep/talroad/vo/MonDevTcRealVo.class | Bin 0 -> 17683 bytes .../cn/cecep/talroad/vo/MonElecEventVo.class | Bin 0 -> 6576 bytes .../talroad/vo/MonElecOperationLogQuery.class | Bin 0 -> 7760 bytes .../cecep/talroad/vo/MonElecRealSiteVo.class | Bin 0 -> 4432 bytes .../cn/cecep/talroad/vo/MonElecRealVo.class | Bin 0 -> 11074 bytes .../talroad/vo/OdsAirRegionHourIVo.class | Bin 0 -> 32676 bytes .../OdsInorganizationWeiStationHourIVo.class | Bin 0 -> 16924 bytes .../vo/OdsMeshingShStationHourIVo.class | Bin 0 -> 19314 bytes .../vo/OdsMeshingWeiStationHourIVo.class | Bin 0 -> 17533 bytes .../talroad/vo/OdsOnlineOlDgiinfoAVo.class | Bin 0 -> 13820 bytes .../talroad/vo/OdsOnlineOlPortinfoAVo.class | Bin 0 -> 21787 bytes .../vo/OdsOnlineOlPsWhitelistAVo.class | Bin 0 -> 15174 bytes .../talroad/vo/OdsOnlineOlPsinfoAVo.class | Bin 0 -> 17941 bytes .../talroad/vo/OdsOnlineOlStopinfoAVo.class | Bin 0 -> 14753 bytes .../cn/cecep/talroad/vo/OutletNameVO.class | Bin 0 -> 3050 bytes .../cn/cecep/talroad/vo/PcAdslFactoryVo.class | Bin 0 -> 2631 bytes .../cn/cecep/talroad/vo/PcAdslVo.class | Bin 0 -> 3125 bytes .../talroad/vo/PcArchivesFactoryVo.class | Bin 0 -> 2914 bytes .../talroad/vo/PcControlRequirementsVo.class | Bin 0 -> 20990 bytes .../PcFactoryPollutantEmissionsRankVo.class | Bin 0 -> 4683 bytes .../talroad/vo/PcFactoryPollutantVo.class | Bin 0 -> 3009 bytes .../cn/cecep/talroad/vo/PcFactoryVo.class | Bin 0 -> 44246 bytes .../cn/cecep/talroad/vo/PcIndustryVo.class | Bin 0 -> 2502 bytes .../cecep/talroad/vo/PcLabelFactoryVo.class | Bin 0 -> 4488 bytes .../cn/cecep/talroad/vo/PcLabelValueVo.class | Bin 0 -> 3353 bytes .../cn/cecep/talroad/vo/PcLabelVo.class | Bin 0 -> 7969 bytes .../talroad/vo/PcManagementFacilitiesVo.class | Bin 0 -> 1636 bytes .../cn/cecep/talroad/vo/PcMenuFactoryVo.class | Bin 0 -> 3994 bytes .../cn/cecep/talroad/vo/PcMenuVo.class | Bin 0 -> 2946 bytes .../cn/cecep/talroad/vo/PcNoiseTypeVo.class | Bin 0 -> 2573 bytes .../cn/cecep/talroad/vo/PcOutletGasVO.class | Bin 0 -> 4627 bytes .../cn/cecep/talroad/vo/PcOutletVo.class | Bin 0 -> 26537 bytes .../cn/cecep/talroad/vo/PcPollutantVo.class | Bin 0 -> 4504 bytes .../talroad/vo/PcProductionFacilityVo.class | Bin 0 -> 1618 bytes .../talroad/vo/PcSolidHazardousTypeVo.class | Bin 0 -> 8096 bytes .../vo/PcStationBuildingEntranceGuVo.class | Bin 0 -> 4805 bytes .../talroad/vo/PcStationBuildingOpsVo.class | Bin 0 -> 5151 bytes .../talroad/vo/PcStationBuildingStatVo.class | Bin 0 -> 7890 bytes .../talroad/vo/PcStationBuildingVo.class | Bin 0 -> 5678 bytes .../talroad/vo/PermitRequirementVo.class | Bin 0 -> 4872 bytes .../cecep/talroad/vo/PointIsOfflineVO.class | Bin 0 -> 4825 bytes .../cn/cecep/talroad/vo/SEnvGasMonDayVo.class | Bin 0 -> 23226 bytes .../cecep/talroad/vo/SEnvGasMonHourVo.class | Bin 0 -> 23232 bytes .../cecep/talroad/vo/SEnvGasMonRealVo.class | Bin 0 -> 33615 bytes .../cn/cecep/talroad/vo/SEnvGasRealVo.class | Bin 0 -> 11268 bytes .../cecep/talroad/vo/SEnvWaterMonDayVo.class | Bin 0 -> 14151 bytes .../cecep/talroad/vo/SEnvWaterMonHourVo.class | Bin 0 -> 14155 bytes .../cecep/talroad/vo/SEnvWaterMonRealVo.class | Bin 0 -> 14155 bytes .../vo/SIntegratedRoutineInspectionVo.class | Bin 0 -> 6071 bytes .../vo/SMainDynamicControlFactoryVo.class | Bin 0 -> 3620 bytes .../vo/SMainDynamicControlParamVo.class | Bin 0 -> 3799 bytes .../talroad/vo/SMainDynamicControlVo.class | Bin 0 -> 4673 bytes .../vo/SRaRealTimeAnalysisRunOneVo.class | Bin 0 -> 11686 bytes .../cecep/talroad/vo/STaskYieldTrendVo.class | Bin 0 -> 5682 bytes .../cn/cecep/talroad/vo/SetParamInfoVo.class | Bin 0 -> 2192 bytes .../vo/SupermonitorDrainOutletVo.class | Bin 0 -> 11521 bytes .../cn/cecep/talroad/vo/SysBasRegion.class | Bin 0 -> 6578 bytes .../cn/cecep/talroad/vo/TCodStationVo.class | Bin 0 -> 6182 bytes .../talroad/vo/WarningEnvGasMonRealVo.class | Bin 0 -> 19403 bytes .../talroad/vo/WaterPollEmissionsVO.class | Bin 0 -> 3697 bytes .../talroad/vo/analysis/AvgValueVo.class | Bin 0 -> 2438 bytes .../CoAndMaintenancePlanAllInfo.class | Bin 0 -> 9388 bytes .../CoDeviceDiffuseStatusFactoryVO.class | Bin 0 -> 2559 bytes .../vo/analysis/CoDeviceTypeCountVO.class | Bin 0 -> 3190 bytes .../CoDeviceTypeDiffuseStatusVO.class | Bin 0 -> 2654 bytes .../talroad/vo/analysis/CoPlanAllInfo.class | Bin 0 -> 10933 bytes .../vo/analysis/DeviceStatusWorkStepVO.class | Bin 0 -> 2383 bytes .../FactoryIndustryProblemCountVO.class | Bin 0 -> 2865 bytes .../vo/analysis/FactoryOutletStaticsVo.class | Bin 0 -> 3385 bytes .../talroad/vo/analysis/FactoryOutletVo.class | Bin 0 -> 4921 bytes .../analysis/FactoryTop10ProblemCountVO.class | Bin 0 -> 2235 bytes .../analysis/FactoryTransferRateParamVo.class | Bin 0 -> 4701 bytes .../vo/analysis/MaintenancePlanAllInfo.class | Bin 0 -> 10918 bytes .../talroad/vo/analysis/MaxEmissionsVO.class | Bin 0 -> 1948 bytes .../vo/analysis/MonthTotalEmissionsVO.class | Bin 0 -> 2299 bytes .../vo/analysis/OutletPermitPollutantVO.class | Bin 0 -> 8363 bytes .../vo/analysis/OutletPollutantVO.class | Bin 0 -> 1551 bytes .../analysis/PcOutletPermitPollutantVO.class | Bin 0 -> 3927 bytes .../vo/analysis/PcRaProblemTypeVo.class | Bin 0 -> 4302 bytes .../analysis/PermitEmissionsFactoryVO.class | Bin 0 -> 3997 bytes .../vo/analysis/PollDisPollutantGroupVO.class | Bin 0 -> 2971 bytes .../talroad/vo/analysis/PumpStateVo.class | Bin 0 -> 2456 bytes .../vo/analysis/SRaAbNalysisCarVo.class | Bin 0 -> 8137 bytes .../vo/analysis/SRaAbNalysisLowCarVo.class | Bin 0 -> 8166 bytes .../SRaActionReportsActualEmissionsVo.class | Bin 0 -> 9217 bytes .../SRaActionReportsActualYieldVo.class | Bin 0 -> 7573 bytes .../SRaActionReportsAuditRecordVo.class | Bin 0 -> 7558 bytes .../SRaActionReportsAuditResultVo.class | Bin 0 -> 17965 bytes .../vo/analysis/SRaActionReportsAuditVo.class | Bin 0 -> 7747 bytes .../analysis/SRaAreaRegulatoryIssuesVo.class | Bin 0 -> 14459 bytes .../SRaAreaTransferRateAnalysisVo.class | Bin 0 -> 20208 bytes .../vo/analysis/SRaControlSchemeVo.class | Bin 0 -> 7940 bytes .../vo/analysis/SRaEmissionsDiffVo.class | Bin 0 -> 8887 bytes .../SRaEmissionsMonitoringVarianceVo.class | Bin 0 -> 11183 bytes .../analysis/SRaEmissionsOverFactoryVo.class | Bin 0 -> 5008 bytes .../vo/analysis/SRaEmissionsOverVo.class | Bin 0 -> 4839 bytes .../vo/analysis/SRaEmissionsStandardVo.class | Bin 0 -> 7772 bytes .../SRaFactoryRegulatoryIssuesVo.class | Bin 0 -> 12950 bytes .../SRaFactoryTransferRateAnalysisVo.class | Bin 0 -> 8009 bytes .../talroad/vo/analysis/SRaGasFlagVo.class | Bin 0 -> 555 bytes .../analysis/SRaGasPermittedEmissionsVo.class | Bin 0 -> 13094 bytes .../vo/analysis/SRaGasPermittedOnlineVo.class | Bin 0 -> 13890 bytes .../analysis/SRaHandworkEmissionsGasVo.class | Bin 0 -> 11026 bytes .../SRaHandworkEmissionsWaterVo.class | Bin 0 -> 11055 bytes .../vo/analysis/SRaMultiSourceVo.class | Bin 0 -> 13314 bytes .../vo/analysis/SRaOnlineEmissionsGasVo.class | Bin 0 -> 11098 bytes .../analysis/SRaOnlineEmissionsWaterVo.class | Bin 0 -> 11119 bytes .../vo/analysis/SRaOverRateGasVo.class | Bin 0 -> 9149 bytes .../vo/analysis/SRaOverRateWaterVo.class | Bin 0 -> 9133 bytes .../SRaRealTimeAnalysicComsitMonitorVo.class | Bin 0 -> 9427 bytes .../SRaRealTimeAnalysicComsitVo.class | Bin 0 -> 4805 bytes .../SRaRealTimeAnalysisCementVo.class | Bin 0 -> 7790 bytes .../vo/analysis/SRaRealTimeAnalysisCoVo.class | Bin 0 -> 9539 bytes .../analysis/SRaRealTimeAnalysisCoalVo.class | Bin 0 -> 8564 bytes .../analysis/SRaRealTimeAnalysisCokeVo.class | Bin 0 -> 8433 bytes .../SRaRealTimeAnalysisConverterVo.class | Bin 0 -> 9716 bytes .../SRaRealTimeAnalysisFurnaceVo.class | Bin 0 -> 6648 bytes .../analysis/SRaRealTimeAnalysisGlassVo.class | Bin 0 -> 8353 bytes .../analysis/SRaRealTimeAnalysisKwhVo.class | Bin 0 -> 10694 bytes .../analysis/SRaRealTimeAnalysisPowerVo.class | Bin 0 -> 6709 bytes .../SRaRealTimeAnalysisRubbishVo.class | Bin 0 -> 7282 bytes .../analysis/SRaRealTimeAnalysisRunVo.class | Bin 0 -> 9259 bytes .../analysis/SRaRealTimeAnalysisStopVo.class | Bin 0 -> 9590 bytes .../vo/analysis/SRaSelfMonitoringDataVo.class | Bin 0 -> 17067 bytes .../talroad/vo/analysis/SRaWaterFlagVo.class | Bin 0 -> 567 bytes .../SRaWaterPermittedEmissionsVo.class | Bin 0 -> 13330 bytes .../analysis/SRaWaterPermittedOnlineVo.class | Bin 0 -> 14087 bytes .../WaterPollutionTraceabilityVo.class | Bin 0 -> 4777 bytes .../talroad/vo/effective/AirParmaVo.class | Bin 0 -> 12226 bytes .../vo/effective/AirQualityConverter.class | Bin 0 -> 13609 bytes .../talroad/vo/effective/AirQualityData.class | Bin 0 -> 37154 bytes .../vo/effective/AirQualityLevelVo.class | Bin 0 -> 5595 bytes .../vo/effective/BasYearTargetVo.class | Bin 0 -> 9114 bytes .../talroad/vo/effective/ERmStationInfo.class | Bin 0 -> 6890 bytes .../FactoryRectificationEffectCountVO.class | Bin 0 -> 6206 bytes .../vo/effective/ForecastAccuracyInfo.class | Bin 0 -> 2946 bytes .../MGovernanceTechnologyEstimate.class | Bin 0 -> 14439 bytes .../talroad/vo/effective/MonthDataVo.class | Bin 0 -> 5877 bytes .../vo/effective/PcNationalCityRanking.class | Bin 0 -> 12643 bytes .../effective/PcNationalCountyRanking.class | Bin 0 -> 9464 bytes .../vo/effective/QEnvgasAreaTargetVo.class | Bin 0 -> 18575 bytes .../talroad/vo/effective/QReportParamVo.class | Bin 0 -> 6699 bytes .../vo/effective/QReportTemplate.class | Bin 0 -> 5355 bytes .../vo/effective/SEnvGasMonValueVo.class | Bin 0 -> 3147 bytes .../vo/export/AmVideoDevFiExport.class | Bin 0 -> 4910 bytes .../vo/export/BasDeviceSiteExport.class | Bin 0 -> 5131 bytes .../export/PcNationalCityRankingExport.class | Bin 0 -> 10559 bytes .../PcNationalCountyRankingExport.class | Bin 0 -> 8694 bytes .../vo/homepage/EnterpriseIssuesTopVo.class | Bin 0 -> 3573 bytes .../vo/homepage/HpmCompanyOverviewVo.class | Bin 0 -> 11766 bytes .../homepage/HpmEmissionRatioOverviewVo.class | Bin 0 -> 10534 bytes .../homepage/HpmEmissionTrackingMonVo.class | Bin 0 -> 3465 bytes .../HpmEmissionTrackingOverviewVo.class | Bin 0 -> 15153 bytes .../vo/homepage/HpmEnterpriseOverviewVo.class | Bin 0 -> 9461 bytes .../vo/homepage/HpmEnterprisePopVo.class | Bin 0 -> 5053 bytes .../homepage/HpmEnvironmentOverviewVo.class | Bin 0 -> 3694 bytes .../vo/homepage/HpmMeriRatingOverviewVo.class | Bin 0 -> 9334 bytes .../MonitoringPointWarningDetailsVo.class | Bin 0 -> 4934 bytes .../homepage/MonitoringPointWarningVo.class | Bin 0 -> 4962 bytes .../homepage/OverviewOnlineMonitorsVo.class | Bin 0 -> 5407 bytes .../OverviewUnorganizedMonitorsVo.class | Bin 0 -> 2364 bytes .../vo/homepage/OverviewVideoMonitorsVo.class | Bin 0 -> 3944 bytes .../homepage/ProportionVideoMonitorsVo.class | Bin 0 -> 3987 bytes .../homepage/RegionalOnlineMonitoringVo.class | Bin 0 -> 5404 bytes .../vo/homepage/VideoMonitoringIssuesVo.class | Bin 0 -> 7746 bytes .../query/AmDoorMonitorAccountFiQuery.class | Bin 0 -> 9564 bytes .../talroad/vo/query/AmProblemFiQuery.class | Bin 0 -> 12897 bytes .../vo/query/AmProblemFiRatioQuery.class | Bin 0 -> 7383 bytes .../talroad/vo/query/AmVideoDevFiQuery.class | Bin 0 -> 10817 bytes .../AppVersionAddressManagementQuery.class | Bin 0 -> 8161 bytes .../BEnterpriseIrBusinessAlertsQuery.class | Bin 0 -> 7739 bytes .../vo/query/BEnterpriseIrEesQuery.class | Bin 0 -> 7470 bytes .../vo/query/BEnterpriseIrEesTypeQuery.class | Bin 0 -> 4809 bytes .../vo/query/BEnterpriseIrLegalQuery.class | Bin 0 -> 6468 bytes .../BEnterpriseIrNotifierproNoticeQuery.class | Bin 0 -> 8440 bytes .../vo/query/BEnterpriseIrSdoeptQuery.class | Bin 0 -> 6595 bytes .../vo/query/BMainActionReportsQuery.class | Bin 0 -> 4681 bytes .../BMainAllowablePollutionAirQuery.class | Bin 0 -> 13682 bytes .../BMainAllowablePollutionWaterQuery.class | Bin 0 -> 7887 bytes .../BMainEmissionOnlineMonAirQuery.class | Bin 0 -> 15579 bytes .../BMainEmissionOnlineMonWaterQuery.class | Bin 0 -> 15654 bytes .../BMainEmissionPollutionAirQuery.class | Bin 0 -> 11805 bytes ...MainEmissionPollutionSolidWasteQuery.class | Bin 0 -> 11204 bytes .../BMainEmissionPollutionWaterQuery.class | Bin 0 -> 11817 bytes .../query/BMainEmissionSourceAirQuery.class | Bin 0 -> 8646 bytes ...MainEmissionSourceAirWaterSolidQuery.class | Bin 0 -> 3011 bytes .../query/BMainEmissionSourceWaterQuery.class | Bin 0 -> 7914 bytes .../query/BMainExceptionTaskCheckQuery.class | Bin 0 -> 5436 bytes .../BMainExceptionTaskCheckStepQuery.class | Bin 0 -> 4877 bytes .../query/BMainFactoryVerificationQuery.class | Bin 0 -> 16853 bytes .../BMainHazardousSolidWasteCrQuery.class | Bin 0 -> 4300 bytes .../BMainHazardousSolidWasteFaQuery.class | Bin 0 -> 6981 bytes .../BMainHazardousSolidWasteLeQuery.class | Bin 0 -> 8797 bytes .../query/BMainHazardousSolidWasteQuery.class | Bin 0 -> 8219 bytes .../BMainHazardousWasteOutputQuery.class | Bin 0 -> 11873 bytes .../query/BMainMobileEnforcementQuery.class | Bin 0 -> 6857 bytes .../vo/query/BMainNoiseEmissionsQuery.class | Bin 0 -> 6927 bytes .../vo/query/BMainPollDisEmlRecordQuery.class | Bin 0 -> 5479 bytes .../query/BMainPollDisEnforcementQuery.class | Bin 0 -> 6593 bytes .../vo/query/BMainPollDisFileQuery.class | Bin 0 -> 4760 bytes .../vo/query/BMainPollDisGasMoutQuery.class | Bin 0 -> 11900 bytes .../vo/query/BMainPollDisGasOoutQuery.class | Bin 0 -> 11835 bytes .../vo/query/BMainPollDisGasSoutQuery.class | Bin 0 -> 8251 bytes .../vo/query/BMainPollDisGasToutQuery.class | Bin 0 -> 7401 bytes .../query/BMainPollDisInformationQuery.class | Bin 0 -> 6030 bytes .../vo/query/BMainPollDisNoiseQuery.class | Bin 0 -> 7910 bytes .../BMainPollDisNoiseRegulationQuery.class | Bin 0 -> 6924 bytes .../query/BMainPollDisNoiseRequireQuery.class | Bin 0 -> 6690 bytes .../talroad/vo/query/BMainPollDisQuery.class | Bin 0 -> 7314 bytes .../query/BMainPollDisSelfMonOtherQuery.class | Bin 0 -> 12872 bytes .../vo/query/BMainPollDisSelfMonQuery.class | Bin 0 -> 12783 bytes .../vo/query/BMainPollDisWaterMoutQuery.class | Bin 0 -> 9847 bytes .../vo/query/BMainPollDisWaterOoutQuery.class | Bin 0 -> 9850 bytes .../vo/query/BMainPollDisWaterSoutQuery.class | Bin 0 -> 8379 bytes .../vo/query/BMainPollDisWaterToutQuery.class | Bin 0 -> 7423 bytes .../query/BMainProductionInorgGasQuery.class | Bin 0 -> 9420 bytes .../BMainProductionOrganizGasQuery.class | Bin 0 -> 11042 bytes .../vo/query/BMainProductionWaterQuery.class | Bin 0 -> 8471 bytes .../vo/query/BMainSolidHazardousQuery.class | Bin 0 -> 4296 bytes .../vo/query/BMainSolidWasteOutputQuery.class | Bin 0 -> 12054 bytes .../BMainThreeSupervisionEnforcQuery.class | Bin 0 -> 18553 bytes ...ainThreeSupervisionEnforcRecordQuery.class | Bin 0 -> 9974 bytes .../vo/query/BMainTwoRandomTaskQuery.class | Bin 0 -> 4377 bytes .../query/BMainTwoRandomTaskStepQuery.class | Bin 0 -> 4791 bytes .../vo/query/BasDcsOperationLogQuery.class | Bin 0 -> 14037 bytes .../talroad/vo/query/BasDevToElecQuery.class | Bin 0 -> 3666 bytes .../vo/query/BasDeviceConfigQuery.class | Bin 0 -> 8298 bytes .../query/BasDeviceDCSSystemParamQuery.class | Bin 0 -> 4577 bytes .../vo/query/BasDeviceParamQuery.class | Bin 0 -> 11638 bytes .../talroad/vo/query/BasDeviceQuery.class | Bin 0 -> 21728 bytes .../talroad/vo/query/BasDeviceSiteQuery.class | Bin 0 -> 13517 bytes .../vo/query/BasDeviceZlConfigQuery.class | Bin 0 -> 4704 bytes .../talroad/vo/query/BasElecDeviceQuery.class | Bin 0 -> 5117 bytes .../talroad/vo/query/BasParamQuery.class | Bin 0 -> 16268 bytes .../vo/query/BasThresholdConfigQuery.class | Bin 0 -> 8480 bytes .../BaseControlConcentStandardsQuery.class | Bin 0 -> 7644 bytes .../BaseRegionalControlObjectivesQuery.class | Bin 0 -> 5531 bytes .../talroad/vo/query/EarlyWarningQuery.class | Bin 0 -> 10623 bytes .../query/EffectiveMonitoringRateQuery.class | Bin 0 -> 7148 bytes .../vo/query/FacilityInformationQuery.class | Bin 0 -> 7147 bytes .../query/FactoryReportingManifestQuery.class | Bin 0 -> 6326 bytes .../FactoryReportingRemindersQuery.class | Bin 0 -> 6599 bytes .../vo/query/FactoryReportingTaskQuery.class | Bin 0 -> 5235 bytes .../vo/query/FindSequenceDataQuery.class | Bin 0 -> 2598 bytes .../vo/query/GasPEMonitoringPointQuery.class | Bin 0 -> 2267 bytes .../talroad/vo/query/MAmVideoDevFiQuery.class | Bin 0 -> 11904 bytes .../talroad/vo/query/MonDevBlHourQuery.class | Bin 0 -> 28894 bytes .../talroad/vo/query/MonDevBlOtherQuery.class | Bin 0 -> 28916 bytes .../talroad/vo/query/MonDevBlRealQuery.class | Bin 0 -> 28867 bytes .../talroad/vo/query/MonDevDlHourQuery.class | Bin 0 -> 91584 bytes .../talroad/vo/query/MonDevDlOtherQuery.class | Bin 0 -> 91607 bytes .../talroad/vo/query/MonDevDlRealQuery.class | Bin 0 -> 91558 bytes .../talroad/vo/query/MonDevFsHourQuery.class | Bin 0 -> 49413 bytes .../talroad/vo/query/MonDevFsOtherQuery.class | Bin 0 -> 49435 bytes .../talroad/vo/query/MonDevFsRealQuery.class | Bin 0 -> 49387 bytes .../talroad/vo/query/MonDevHourQuery.class | Bin 0 -> 120074 bytes .../talroad/vo/query/MonDevJhHourQuery.class | Bin 0 -> 79996 bytes .../talroad/vo/query/MonDevJhOtherQuery.class | Bin 0 -> 80019 bytes .../talroad/vo/query/MonDevJhRealQuery.class | Bin 0 -> 79969 bytes .../talroad/vo/query/MonDevOtherQuery.class | Bin 0 -> 120082 bytes .../talroad/vo/query/MonDevRealQuery.class | Bin 0 -> 120096 bytes .../talroad/vo/query/MonDevSnHourQuery.class | Bin 0 -> 16763 bytes .../talroad/vo/query/MonDevSnOtherQuery.class | Bin 0 -> 16786 bytes .../talroad/vo/query/MonDevSnRealQuery.class | Bin 0 -> 16736 bytes .../talroad/vo/query/MonDevTcHourQuery.class | Bin 0 -> 19501 bytes .../talroad/vo/query/MonDevTcOtherQuery.class | Bin 0 -> 19525 bytes .../talroad/vo/query/MonDevTcRealQuery.class | Bin 0 -> 19475 bytes .../talroad/vo/query/MonElecEventQuery.class | Bin 0 -> 7864 bytes .../talroad/vo/query/MonElecRealQuery.class | Bin 0 -> 8118 bytes .../vo/query/MonitoringPointLogQuery.class | Bin 0 -> 4951 bytes .../vo/query/OdsAirRegionHourIQuery.class | Bin 0 -> 35584 bytes ...dsInorganizationWeiStationHourIQuery.class | Bin 0 -> 18812 bytes .../query/OdsMeshingShStationHourIQuery.class | Bin 0 -> 21393 bytes .../OdsMeshingWeiStationHourIQuery.class | Bin 0 -> 19399 bytes .../vo/query/OdsOnlineOlDgiinfoAQuery.class | Bin 0 -> 15627 bytes .../vo/query/OdsOnlineOlPortinfoAQuery.class | Bin 0 -> 24085 bytes .../query/OdsOnlineOlPsWhitelistAQuery.class | Bin 0 -> 17142 bytes .../vo/query/OdsOnlineOlPsinfoAQuery.class | Bin 0 -> 19996 bytes .../vo/query/OdsOnlineOlStopinfoAQuery.class | Bin 0 -> 16686 bytes .../talroad/vo/query/PcAdslFactoryQuery.class | Bin 0 -> 3555 bytes .../cecep/talroad/vo/query/PcAdslQuery.class | Bin 0 -> 4428 bytes .../vo/query/PcControlRequirementsQuery.class | Bin 0 -> 4842 bytes ...PcFactoryPollutantEmissionsRankQuery.class | Bin 0 -> 7148 bytes .../vo/query/PcFactoryPollutantQuery.class | Bin 0 -> 4115 bytes .../talroad/vo/query/PcFactoryQuery.class | Bin 0 -> 39243 bytes .../talroad/vo/query/PcIndustryQuery.class | Bin 0 -> 3537 bytes .../vo/query/PcLabelFactoryQuery.class | Bin 0 -> 4070 bytes .../cecep/talroad/vo/query/PcLabelQuery.class | Bin 0 -> 7217 bytes .../talroad/vo/query/PcLabelValueQuery.class | Bin 0 -> 4606 bytes .../query/PcManagementFacilitiesQuery.class | Bin 0 -> 2643 bytes .../talroad/vo/query/PcMenuFactoryQuery.class | Bin 0 -> 5159 bytes .../cecep/talroad/vo/query/PcMenuQuery.class | Bin 0 -> 4002 bytes .../talroad/vo/query/PcNoiseTypeQuery.class | Bin 0 -> 3622 bytes .../talroad/vo/query/PcOutletAppQuery.class | Bin 0 -> 20794 bytes .../talroad/vo/query/PcOutletGasQuery.class | Bin 0 -> 5537 bytes .../vo/query/PcOutletGasUpdateQuery.class | Bin 0 -> 3334 bytes .../talroad/vo/query/PcOutletQuery.class | Bin 0 -> 19668 bytes .../talroad/vo/query/PcPollutantQuery.class | Bin 0 -> 6362 bytes .../vo/query/PcProductionFacilityQuery.class | Bin 0 -> 2617 bytes .../vo/query/PcSolidHazardousTypeQuery.class | Bin 0 -> 9500 bytes .../PcStationBuildingEntranceGuQuery.class | Bin 0 -> 6942 bytes .../vo/query/PcStationBuildingOpsQuery.class | Bin 0 -> 7296 bytes .../vo/query/PcStationBuildingQuery.class | Bin 0 -> 7003 bytes .../vo/query/PcStationBuildingStatQuery.class | Bin 0 -> 8680 bytes .../talroad/vo/query/SEnvGasMonDayQuery.class | Bin 0 -> 8691 bytes .../vo/query/SEnvGasMonHourQuery.class | Bin 0 -> 8699 bytes .../vo/query/SEnvGasMonRealQuery.class | Bin 0 -> 8699 bytes .../talroad/vo/query/SEnvGasRealQuery.class | Bin 0 -> 16312 bytes .../vo/query/SEnvWaterMonDayQuery.class | Bin 0 -> 16240 bytes .../vo/query/SEnvWaterMonHourQuery.class | Bin 0 -> 16248 bytes .../vo/query/SEnvWaterMonRealQuery.class | Bin 0 -> 16248 bytes .../SIntegratedRoutineInspectionQuery.class | Bin 0 -> 8943 bytes .../SMainDynamicControlFactoryQuery.class | Bin 0 -> 5379 bytes .../query/SMainDynamicControlParamQuery.class | Bin 0 -> 4890 bytes .../vo/query/SMainDynamicControlQuery.class | Bin 0 -> 1781 bytes .../SRaRealTimeAnalysisRunOneQuery.class | Bin 0 -> 7104 bytes .../query/SupermonitorDrainOutletQuery.class | Bin 0 -> 12089 bytes .../analysis/BCoDischargePlanQuery.class | Bin 0 -> 5160 bytes .../analysis/BMaintenancePlanQuery.class | Bin 0 -> 6668 bytes .../analysis/BasDeviceParamAnalyseQuery.class | Bin 0 -> 6396 bytes .../query/analysis/BasDeviceParamQuery.class | Bin 0 -> 5521 bytes .../analysis/BasThresholdConfigQuery.class | Bin 0 -> 8686 bytes .../MonitoringPointWarningDetailsQuery.class | Bin 0 -> 1841 bytes .../query/analysis/PcRaProblemTypeQuery.class | Bin 0 -> 6222 bytes .../query/analysis/SREStatisticsQuery.class | Bin 0 -> 4243 bytes .../query/analysis/SRaAbNalysisCarQuery.class | Bin 0 -> 9671 bytes .../analysis/SRaAbNalysisLowCarQuery.class | Bin 0 -> 13160 bytes ...SRaActionReportsActualEmissionsQuery.class | Bin 0 -> 10856 bytes .../SRaActionReportsActualYieldQuery.class | Bin 0 -> 9083 bytes .../analysis/SRaActionReportsAuditQuery.class | Bin 0 -> 9277 bytes .../SRaActionReportsAuditRecordQuery.class | Bin 0 -> 9077 bytes .../SRaActionReportsAuditResultQuery.class | Bin 0 -> 5098 bytes .../SRaAreaRegulatoryIssuesQuery.class | Bin 0 -> 16520 bytes .../SRaAreaTransferRateAnalysisQuery.class | Bin 0 -> 25030 bytes .../analysis/SRaControlSchemeQuery.class | Bin 0 -> 9469 bytes .../analysis/SRaEmissionsDiffQuery.class | Bin 0 -> 6608 bytes .../SRaEmissionsMonitoringVarianceQuery.class | Bin 0 -> 6652 bytes .../SRaEmissionsOverFactoryQuery.class | Bin 0 -> 5647 bytes .../analysis/SRaEmissionsOverQuery.class | Bin 0 -> 4616 bytes .../analysis/SRaEmissionsStandardQuery.class | Bin 0 -> 12055 bytes .../SRaFactoryRegulatoryIssuesQuery.class | Bin 0 -> 14919 bytes .../SRaFactoryTransferRateAnalysisQuery.class | Bin 0 -> 13495 bytes .../vo/query/analysis/SRaGasFlagQuery.class | Bin 0 -> 7562 bytes .../SRaGasPermittedEmissionsQuery.class | Bin 0 -> 17626 bytes .../analysis/SRaGasPermittedOnlineQuery.class | Bin 0 -> 20581 bytes .../SRaHandworkEmissionsGasQuery.class | Bin 0 -> 17239 bytes .../SRaHandworkEmissionsWaterQuery.class | Bin 0 -> 17279 bytes .../analysis/SRaLowMonitoringQuery.class | Bin 0 -> 8722 bytes .../query/analysis/SRaMultiSourceQuery.class | Bin 0 -> 19301 bytes .../analysis/SRaOnlineEmissionsGasQuery.class | Bin 0 -> 7009 bytes .../SRaOnlineEmissionsWaterQuery.class | Bin 0 -> 7027 bytes .../query/analysis/SRaOverRateGasQuery.class | Bin 0 -> 5762 bytes .../analysis/SRaOverRateWaterQuery.class | Bin 0 -> 5770 bytes ...aOverWaterPollutionTraceabilityQuery.class | Bin 0 -> 7422 bytes ...RaRealTimeAnalysicComsitMonitorQuery.class | Bin 0 -> 4662 bytes .../SRaRealTimeAnalysicComsitQuery.class | Bin 0 -> 6113 bytes .../SRaRealTimeAnalysisCementQuery.class | Bin 0 -> 11107 bytes .../analysis/SRaRealTimeAnalysisCoQuery.class | Bin 0 -> 8307 bytes .../SRaRealTimeAnalysisCoalQuery.class | Bin 0 -> 8456 bytes .../SRaRealTimeAnalysisCokeQuery.class | Bin 0 -> 12795 bytes .../SRaRealTimeAnalysisConverterQuery.class | Bin 0 -> 8550 bytes .../SRaRealTimeAnalysisFurnaceQuery.class | Bin 0 -> 10539 bytes .../SRaRealTimeAnalysisGlassQuery.class | Bin 0 -> 12241 bytes .../SRaRealTimeAnalysisKwhQuery.class | Bin 0 -> 13888 bytes .../SRaRealTimeAnalysisPowerQuery.class | Bin 0 -> 10543 bytes .../SRaRealTimeAnalysisRubbishQuery.class | Bin 0 -> 11142 bytes .../SRaRealTimeAnalysisRunQuery.class | Bin 0 -> 6224 bytes .../SRaRealTimeAnalysisStopQuery.class | Bin 0 -> 8338 bytes .../analysis/SRaSelfMonitoringDataQuery.class | Bin 0 -> 22828 bytes .../vo/query/analysis/SRaWaterFlagQuery.class | Bin 0 -> 7570 bytes .../SRaWaterPermittedEmissionsQuery.class | Bin 0 -> 18680 bytes .../SRaWaterPermittedOnlineQuery.class | Bin 0 -> 22045 bytes .../MAiControlDelayAssessmentQuery.class | Bin 0 -> 5679 bytes .../MGovernanceTechnologyEstimateQuery.class | Bin 0 -> 11340 bytes 3101 files changed, 263507 insertions(+), 20 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml delete mode 100644 COMMIT_EDITMSG delete mode 100644 config delete mode 100644 description create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/TaskApplication.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/AuditWordField.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/BigDecimalSerialize.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/ExchangeConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MyMetaObjectHandler.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MybatisPlusConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/QueueConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/RabbitmqConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmDoorMonitorAccountFiController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiRatioController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmVideoDevFiController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrBusinessAlertsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesTypeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrLegalController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrNotifierproNoticeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrSdoeptController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseRiskAssessmentController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainActionReportsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionAirController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonAirController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionAirController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionSolidWasteController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceAirController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainExceptionTaskCheckController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainFactoryVerificationController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteCrController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteFaController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteLeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousWasteOutputController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainMobileEnforcementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainNoiseEmissionsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEmlRecordController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEnforcementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisFileController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasMoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasOoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasPollController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasSoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasToutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasWzzToutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisInformationController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRegulationController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRequireController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterMoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterOoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterSoutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterToutController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionInorgGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionOrganizGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidHazardousController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidWasteOutputController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSysFeedbackController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcRecordController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainTwoRandomTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTablePwxkWaterAndOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgJbxxInfoController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOverproofController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirSpecialController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirStatController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterVoerproofController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflallWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPfltotalWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlAbnormalitiesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlTotalController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDevToElecController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceParamController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceSiteController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasElecDeviceController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasParamController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasThresholdConfigController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseControlConcentStandardsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseRegionalControlObjectivesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EarlyWarningController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/ElectricityMeterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EmissionsStatController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EnvironmentalCodingController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FacilityInformationManagementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingManifestController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingRemindersController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/HomePageMapController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/KeyEmittingIndustryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/LeaderCockpitController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MAmVideoDevFiController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcHourController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecEventController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonitoringMapController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsInorganizationWeiStationHourIController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingShStationHourIController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingWeiStationHourIController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlDgiinfoAController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPortinfoAController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsWhitelistAController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsinfoAController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlStopinfoAController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OnlineMonitoringAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcArchivesFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcControlRequirementsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlCoordinateOperationLogController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccuratePortraitController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryCoordinateOperationLogController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantEmissionsRankController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryWasteEmissionsRankController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcGenerationPollutantRankDataTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcIndustryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelValueController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcManagementFacilitiesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcNoiseTypeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletCoordinateOperationLogController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcPollutantController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcProductionFacilityController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcSolidHazardousTypeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingEntranceGuController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingOpsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingStatController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PointIsOfflineController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasMonRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvWaterMonRealController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SIntegratedRoutineInspectionController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlParamController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SRaRealTimeAnalysisRunOneController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SupermonitorDrainOutletController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/TCodStationController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/UnorganizedMonitoringAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/VideoSurveillanceAnalyticsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BCoDischargePlanController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BMaintenancePlanController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamAnalyseController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasThresholdConfigController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/PcRaProblemTypeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/RemoteTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisCarController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisLowCarController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualEmissionsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualYieldController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditRecordController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditResultController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaRegulatoryIssuesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaTransferRateAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaControlSchemeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsDiffController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsMonitoringVarianceController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverFactoryController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStandardController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStatisticsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryRegulatoryIssuesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryTransferRateAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasFlagController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedEmissionsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedOnlineController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringOtherController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaMultiSourceController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateGasController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateWaterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverWaterPollutionTraceabilityController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitMonitorController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoalController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCokeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisConverterController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisFurnaceController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisGlassController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisKwhController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisPowerController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRubbishController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRunController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisStopController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaSelfMonitoringDataController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterFlagController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedEmissionsController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedOnlineController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/SignatureController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/version/AppVersionAddressManagementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/callback/AmProblemFiCallbackController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/BasTargetController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ERmStationExceedController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ForecastAccuracyController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MAiControlDelayAssessmentController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MGovernanceTechnologyEstimateController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PCodAreaInfoController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PollutionCharacterAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/RectificationEffectEvaluationController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ReductionEmissionController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/DataConstantAbstractService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/BurnDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CementDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CokingDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/ElecDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GasDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GlassDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/PowerDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/SteelDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/WaterDataConstantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ConcentrationEntity.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/DeviceSitVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/FactoryActivePowerQuantityVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/MainProductDeviceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantChangeVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantEntity.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PreAmProblemFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ProblemRatioDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/SimpleSRaFactoryTransferRateAnalysis.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/DataAnomalyFactoryServiceEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/ExecuteReportEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/LimestoneDataAnomalyFactoryServiceEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/abstractserivce/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/constant/ExecuteReportConstant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/AnomalyAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/other/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/quarter/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/year/package-info.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/AbstractFactoryLabelChangeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/ActivePowerQuantityChangeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeServiceContext.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/PollutantChangeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/ExecuteReportTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/GapLabelTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/BaseAnomalyLimestoneService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/DesulphurizerAnomalyService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/LimestoneAnomalyAbstractFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/dry/SteelRealDryAnomalyLimestoneService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/entity/GasDeviceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/DlRealWetAnomalyLimestoneService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/SteelRealWetAnomalyLimestoneService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/DataLogicAbstractService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/BurnDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CementDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CokingDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GasDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GlassDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/PowerDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/SteelDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/WaterDataLogicService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/DataMissingAbstractService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/BurnDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CementDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CokingDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/ElecDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasMonDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GlassDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/MAmProblemFiRatioService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingShStationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingWeiStationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/PowerDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/SteelDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/WaterDataMissingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/RealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/GasConcentrationEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/WaterConcentrationEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/OnlineRealTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/GasOnlineRealTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/WaterOnlineRealTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasMonDataDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsDataDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasDataRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingShRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/WaterDataRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/OutletRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/GasHourOutletService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ConcentrationTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ContrastiveAnalysisGasTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/FrequencyMeasurementTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededLabelTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededTotalLabelTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/OutletMonitorGasTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/PollutionSourceControlService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/SiteMonitoringService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/StationBuildingStatTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/TaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/ElectricityAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/InorganizationAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/OnlineMonitoringAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/TransferRateAbstractService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/WorkingConditionsAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AiDeepModelResult.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmDoorMonitorAccountFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiProcess.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiRatio.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmVideoDevFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AppVersionAddressManagement.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrBusinessAlerts.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEes.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEesType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrLegal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrNotifierproNotice.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrSdoept.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessment.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessmentLast.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainActionReports.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionSolidWaste.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheck.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheckStep.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFactoryVerification.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFile.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWaste.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteCr.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteFa.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteLe.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousWasteOutput.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMobileEnforcement.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMonitorPointOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainNoiseEmissions.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDis.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEmlRecord.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEnforcement.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisFile.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasMout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasOout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasPoll.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasSout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasTout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasWzzTout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisInformation.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoise.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRegulation.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRequire.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMon.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMonOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterMout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterOout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterSout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterTout.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionInorgGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionOrganizGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidHazardous.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidWasteOutput.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSysFeedback.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforc.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforcRecord.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTask.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTaskStep.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilities.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilitiesParams.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProducts.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryIn.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryInTotal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterLifeIn.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentInAsk.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentLine.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableQueryInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfoFactoryBase.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOverproof.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirSpecial.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirStat.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWaterVoerproof.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflallWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPfltotalWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlAbnormalities.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlTotal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasControlValue.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDcsOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevToElec.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevice.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceInfoOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceParam.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSalAnalysis.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSite.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSiteCoordinateOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceZlConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecDevice.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecProCepMap.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasParam.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasProductionDeviceOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasTarget.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasThresholdConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseControlConcentStandards.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseRegionalControlObjectives.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/EarlyWarning.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingManifest.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingReminders.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingTask.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/GasReleaseRealStatus.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/IotDeviceType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmDoorMonitorAccountFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmProblemFiRatio.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoCoordinateOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoDevFi.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoInfoOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecEvent.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionAqiHourI.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionHourI.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsElectricityElecPsEquipRelationTsA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsInorganizationWeiStationHourI.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingShStationHourI.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingWeiStationHourI.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlDgiinfoA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPortinfoA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsWhitelistA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsinfoA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlStopinfoA.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodCompany.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeAreaInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeStation.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdsl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdslFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcArchivesFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcControlRequirements.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControlCoordinateOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryCoordinateOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutantEmissionsRank.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryWasteEmissionsRank.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcIndustry.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabel.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelValue.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcManagementFacilities.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenu.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenuFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcNoiseType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutlet.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutletCoordinateOperationLog.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcPollutant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcProductionFacility.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcSolidHazardousType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuilding.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingEntranceGu.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingOps.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingStat.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcYieldTrend.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasAreaHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationMinute.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasWqDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasSelfDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonReal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterSelfDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasAqilevel.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionControl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionLabel.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionMold.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasStationControl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SIntegratedRoutineInspection.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlParam.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaDayMonTimeFbjd.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysicComsitSt.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysisRunOne.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SStationTypeDict.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/STaskYieldTrend.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SupermonitorDrainOutlet.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStation.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataAir.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlan.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlanInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlan.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlanInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParam.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParamAnalyse.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasThresholdConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/PcRaProblemType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisCar.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisLowCar.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualEmissions.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualYield.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAudit.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditFactoryInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditRecord.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditResult.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaRegulatoryIssues.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaTransferRateAnalysis.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaControlScheme.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsDiff.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsMonitoringVariance.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOver.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOverFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStandard.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStatistics.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryRegulatoryIssues.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryTransferRateAnalysis.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasFlag.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedEmissions.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedOnline.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaMultiSource.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateGas.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateWater.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverWaterPollutionTraceability.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsit.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsitMonitor.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCement.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoal.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoke.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisConverter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisFurnace.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisGlass.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisKwh.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisPower.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRubbish.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRun.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisStop.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSelfMonitoringData.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSourcePermittedOnline.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterFlag.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedEmissions.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedOnline.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AnalysisDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AuditRecordDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BMainPollMonDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BasTargetDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/FactoryLabelChangeDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/MapOutlet24HourDataDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutantCharacterAnalysisDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutionSourceDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/ReachabilityDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/RecordListDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/SequenceDto.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationExceed.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MAiControlDelayAssessment.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFacilities.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateProcedure.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeIndexPollutant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeRegion.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingOther.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasAreaTarget.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqDay.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqMonth.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqYear.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QTargetConfig.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/RectificationEffectQueryDTO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasAqilevel.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasPollutant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasStationControl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirDataVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirForecastDataVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirQualityDataVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AreaTaskCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DataTypeVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DetectFactoryQuestionVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DeviceCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FactoryColorTagCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FusionCountDataVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ImplementEcharsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ManTypeVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MapUpVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorEnforcementCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorTaskCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/OutletCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/PolluteControlDataVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDataCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDoingCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemGroupCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemTypeCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionTop10CountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/RegulatoryCapacityCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/StationTypeDictVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/TaskCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ThreeMonitorCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AirQualityLevelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AuditRecordLIstVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlSuperiorVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/DataCompareVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonElecRealVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonthDataVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodAreaRegionRelationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodCompanyVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeRegionVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeStationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ProblemGroupTimeCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaStationHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaTargetVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasStationHour.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasWqDayVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutantVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutionControlVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteQueryParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/StationUnrepeatedVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/UserVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/WindDirectionVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditResultEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemProcessTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemStatusEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceSiteTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BlDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DataTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceParamTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceStatusEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DlDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EmlTypeEnums.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnIndustry.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnStatTimeType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnvironmentalCodingGradeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FileConstant.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FslDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/GtDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/InvalidStateEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JhDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JudgeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelFactoryEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelValueEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OperationTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OutletTypesEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelCodeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelValueCodeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PollutantTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ProblemTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ReleaseStatusEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/SnDeviceTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StatisticsTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StopTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ThresHoldConfigEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/TimeTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WaterPollutantEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WhiteListTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WzzStatusEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/YieldTypeEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/effective/StandardPollutantEnum.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/BaseRegionService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/impl/BaseRegionServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AiDeepModelResultMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmDoorMonitorAccountFiMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiProcessMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiRatioMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmVideoDevFiMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AppVersionAddressManagementMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrBusinessAlertsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesTypeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrLegalMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrNotifierproNoticeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrSdoeptMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentLastMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainActionReportsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionSolidWasteMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckStepMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFactoryVerificationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFileMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteCrMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteFaMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteLeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousWasteOutputMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMobileEnforcementMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMonitorPointOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainNoiseEmissionsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEmlRecordMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEnforcementMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisFileMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasMoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasOoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasPollMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasSoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasToutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasWzzToutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisInformationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRegulationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRequireMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterMoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterOoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterSoutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterToutMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionInorgGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionOrganizGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidHazardousMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidWasteOutputMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSysFeedbackMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcRecordMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskStepMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesParamsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInTotalMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterLifeInMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentInAskMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentLineMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableQueryInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgJbxxInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOverproofMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirSpecialMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirStatMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterVoerproofMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflallWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPfltotalWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlAbnormalitiesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlTotalMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasControlValueMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDcsOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDevToElecMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceConfigMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceInfoOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceParamMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSalAnalysisMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteCoordinateOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceZlConfigMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecDeviceMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecProCepMapMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasParamMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasProductionDeviceOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasThresholdConfigMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseControlConcentStandardsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseRegionalControlObjectivesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EarlyWarningMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ElectricityMeterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EnvironmentalCodingMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FacilityInformationManagementMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingManifestMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingRemindersMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingTaskMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/GasReleaseRealStatusMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/IotDeviceTypeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/LeaderCockpitMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmDoorMonitorAccountFiMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmProblemFiRatioMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoCoordinateOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoDevFiMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoInfoOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecEventMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionAqiHourIMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionHourIMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsElectricityElecPsEquipRelationTsAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsInorganizationWeiStationHourIMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingShStationHourIMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingWeiStationHourIMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlDgiinfoAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPortinfoAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsWhitelistAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsinfoAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlStopinfoAMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodAreaInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodCompanyMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodeStationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcArchivesFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcControlRequirementsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlCoordinateOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryCoordinateOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantEmissionsRankMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryWasteEmissionsRankMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcIndustryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelValueMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcManagementFacilitiesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcNoiseTypeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletCoordinateOperationLogMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcPollutantMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcProductionFacilityMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcSolidHazardousTypeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingEntranceGuMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingOpsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingStatMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcYieldTrendMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PointIsOfflineMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ProductionScheduledMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/QEnvgasStationDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasSelfDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonRealMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterSelfDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SIntegratedRoutineInspectionMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlParamMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaDayMonTimeFbjdMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysicComsitStMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysisRunOneMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SStationTypeDictMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/STaskYieldTrendMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SupermonitorDrainOutletMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataAirMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamAnalyseMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasThresholdConfigMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/PcRaProblemTypeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisCarMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisLowCarMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualEmissionsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualYieldMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditFactoryInfoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditRecordMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditResultMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaRegulatoryIssuesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaTransferRateAnalysisMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaControlSchemeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsDiffMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsMonitoringVarianceMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStandardMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStatisticsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryRegulatoryIssuesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryTransferRateAnalysisMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasFlagMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedEmissionsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedOnlineMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaMultiSourceMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateGasMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateWaterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverWaterPollutionTraceabilityMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMonitorMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCementMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoalMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCokeMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisConverterMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisFurnaceMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisGlassMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisKwhMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisPowerMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRubbishMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRunMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisStopMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaSelfMonitoringDataMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterFlagMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedEmissionsMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedOnlineMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationExceedMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MAiControlDelayAssessmentMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFacilitiesMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFactoryMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateProcedureMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeIndexPollutantMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeRegionMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingOtherMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaHourMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaTargetMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqDayMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqMonthMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqYearMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QReportTemplateMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QTargetConfigMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/RectificationEffectEvaluationMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ReductionEmissionMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasAqilevelMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasPollutantMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasStationControlMapper.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BEnterpriseRiskAssessmentService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasPollService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasWzzToutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BStatTablePwxkWaterAndOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseControlConcentStandardsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseRegionalControlObjectivesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ElectricityMeterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EmissionsStatService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EnvironmentalCodingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/FacilityInformationManagementService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/HomePageMapService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmDoorMonitorAccountFiService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiProcessService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiRatioService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmVideoDevFiService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAppVersionAddressManagementService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrBusinessAlertsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesTypeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrLegalService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrNotifierproNoticeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrSdoeptService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainActionReportsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionAirService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonAirService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionAirService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionSolidWasteService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceAirService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckStepService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFactoryVerificationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFileService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteCrService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteFaService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteLeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousWasteOutputService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainMobileEnforcementService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainNoiseEmissionsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEmlRecordService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEnforcementService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisFileService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasMoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasOoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasSoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasToutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisInformationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRegulationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRequireService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterMoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterOoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterSoutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterToutService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionInorgGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionOrganizGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidHazardousService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidWasteOutputService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSysFeedbackService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcRecordService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskStepService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgJbxxInfoService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOverproofService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirSpecialService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirStatService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterVoerproofService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflallWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPfltotalWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlAbnormalitiesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlTotalService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasControlValueService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDcsOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDevToElecService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceConfigService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceParamService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSalAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSiteService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceZlConfigService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasElecDeviceService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasParamService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasProductionDeviceOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasThresholdConfigService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IEarlyWarningService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingManifestService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingRemindersService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingTaskService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoCoordinateOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoDevFiService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecEventService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonitoringMapService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionAqiHourIService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionHourIService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsInorganizationWeiStationHourIService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingShStationHourIService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingWeiStationHourIService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlDgiinfoAService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPortinfoAService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsWhitelistAService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsinfoAService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlStopinfoAService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcControlRequirementsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlCoordinateOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryCoordinateOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantEmissionsRankService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryWasteEmissionsRankService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcIndustryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelValueService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcManagementFacilitiesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcNoiseTypeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletCoordinateOperationLogService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcPollutantService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcProductionFacilityService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcSolidHazardousTypeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingEntranceGuService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingOpsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingStatService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IProductionManageService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonDayService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasSelfDayService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonDayService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonRealService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterSelfDayService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISIntegratedRoutineInspectionService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlParamService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISRaRealTimeAnalysisRunOneService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISupermonitorDrainOutletService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ITCodStationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/KeyEmittingIndustryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/MAmDoorMonitorAccountFiService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PcArchivesFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PointIsOfflineService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ProductionScheduledService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/SRaRealTimeAnalysicComsitStService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/STaskYieldTrendService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/TradeMonitorService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanInfoService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanInfoService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasThresholdConfigService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IBasDeviceStatusService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IConcentrationMathService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDataLogicAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDisPermitService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDischargeMathService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IFacilityAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IMonitoringAnalyseService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPcRaProblemTypeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPollWaterAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisCarService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisLowCarService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualEmissionsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualYieldService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditRecordService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditResultService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaRegulatoryIssuesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaTransferRateAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaControlSchemeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsDiffService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsMonitoringVarianceService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsStandardService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryRegulatoryIssuesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryTransferRateAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasFlagService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedEmissionsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedOnlineService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaMultiSourceService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitMonitorService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCementService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoalService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCokeService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisConverterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisFurnaceService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisGlassService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisKwhService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisPowerService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRubbishService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRunService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisStopService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaSelfMonitoringDataService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterFlagService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedEmissionsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedOnlineService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaAreaTransferRateAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaEmissionsStatisticsService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaFactoryTransferRateAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringGasService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringWaterService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaOverWaterPollutionTraceabilityService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/BasTargetService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationExceedService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ForecastAccuracyService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IPCodAreaInfoService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IRectificationEffectEvaluationService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MAiControlDelayAssessmentService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFacilitiesService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFactoryService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateProcedureService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingHourService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingOtherService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PollutionCharacterAnalysisService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReductionEmissionService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReportManageService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmDoorMonitorAccountFiServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiProcessServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiRatioServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmVideoDevFiServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AppVersionAddressManagementServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrBusinessAlertsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesTypeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrLegalServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrNotifierproNoticeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrSdoeptServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseRiskAssessmentServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainActionReportsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionAirServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonAirServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionAirServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionSolidWasteServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceAirServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckStepServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFactoryVerificationServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFileServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteCrServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteFaServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteLeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousWasteOutputServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainMobileEnforcementServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainNoiseEmissionsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEmlRecordServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEnforcementServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisFileServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasMoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasOoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasPollServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasSoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasToutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasWzzToutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisInformationServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRegulationServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRequireServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterMoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterOoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterSoutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterToutServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionInorgGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionOrganizGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidHazardousServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidWasteOutputServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSysFeedbackServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcRecordServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskStepServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTablePwxkWaterAndOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgJbxxInfoServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOverproofServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirSpecialServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirStatServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterVoerproofServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflallWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPfltotalWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlAbnormalitiesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlTotalServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasControlValueServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDcsOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDevToElecServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceConfigServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceParamServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSalAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSiteServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceZlConfigServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasElecDeviceServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasParamServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasProductionDeviceOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasThresholdConfigServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseControlConcentStandardsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseRegionalControlObjectivesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EarlyWarningServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ElectricityMeterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EmissionsStatServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EnvironmentalCodingServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FacilityInformationManagementServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingManifestServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingRemindersServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingTaskServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/HomePageMapServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/KeyEmittingIndustryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/LeaderCockpitService.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmDoorMonitorAccountFiServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoCoordinateOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoDevFiServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecEventServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonitoringMapServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionAqiHourIServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionHourIServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsInorganizationWeiStationHourIServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingShStationHourIServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingWeiStationHourIServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlDgiinfoAServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPortinfoAServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsWhitelistAServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsinfoAServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlStopinfoAServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcArchivesFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcControlRequirementsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlCoordinateOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryCoordinateOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantEmissionsRankServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryWasteEmissionsRankServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcIndustryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelValueServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcManagementFacilitiesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcNoiseTypeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletCoordinateOperationLogServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcPollutantServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcProductionFacilityServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcSolidHazardousTypeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingEntranceGuServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingOpsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingStatServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PointIsOfflineServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionManageServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionScheduledServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonDayServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasSelfDayServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonDayServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonRealServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterSelfDayServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SIntegratedRoutineInspectionServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlParamServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysicComsitStServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysisRunOneServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/STaskYieldTrendServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SupermonitorDrainOutletServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TCodStationServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaDayMonTimeFbjdData.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaRealTimeAnalysisRunData.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TradeMonitorServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanInfoServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanInfoServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamAnalyseServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceStatusServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasThresholdConfigServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/ConcentrationMathServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DataLogicAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DischargeMathServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IDisPermitServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IFacilityAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/MonitoringAnalyseServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PcRaProblemTypeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PollWaterAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisCarServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisLowCarServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualEmissionsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualYieldServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditRecordServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditResultServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaRegulatoryIssuesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaTransferRateAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaControlSchemeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsDiffServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsMonitoringVarianceServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStandardServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStatisticsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryRegulatoryIssuesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryTransferRateAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasFlagServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedEmissionsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedOnlineServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaMultiSourceServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateGasServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateWaterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverWaterPollutionTraceabilityServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitMonitorServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCementServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoalServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCokeServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisConverterServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisFurnaceServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisGlassServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisKwhServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisPowerServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRubbishServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRunServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisStopServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaSelfMonitoringDataServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterFlagServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedEmissionsServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedOnlineServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/BasTargetServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationExceedServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ForecastAccuracyServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MAiControlDelayAssessmentServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFacilitiesServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFactoryServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateProcedureServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PCodAreaInfoServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingHourServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingOtherServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PollutionCharacterAnalysisServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/RectificationEffectEvaluationServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReductionEmissionServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReportManageServiceImpl.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/AbstractStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StatusStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/Strategy.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StrategyFactory.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/YieldStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzYieldAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqgAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlZlStatusStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyYieldAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtMqgwAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjYieldAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlYieldAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtStatusStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtYieldStrategyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlmqAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhMqgwAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyCountAdapter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ConcentrationTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ContrastiveAnalysisController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataConstantController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataLogicExceptionController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataMissingController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DisPermitController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ExecuteReportController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryLabelChangeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryScheduledController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FrequencyMeasurementController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededLabelTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededTotalLabelTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LabelTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LimestoneController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PcStationBuildingStatTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutantDischargeController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionPreventionAndControlFacilitiesController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionSourceControlController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProblemRatioController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProductionScheduledController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SRaOverRateGasTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/STaskYieldTrendController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SiteMonitoringController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SjLabelController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TradeMonitorController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferRateTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferTateLabelTaskController.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/BeanContext.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConcentrationConstants.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConvertNumber.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CsvUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CustomDateUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/DateUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsConstants.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ExportWordUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/HttpUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MathUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MsgProducer.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/NumberUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PageConvertUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PlxUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/QrCodeUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/RedisUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/StatusConsumer.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VideoUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToString.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToStringBak.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/YieldConsumer.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/Ys7Common.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirDataConverseUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirQualityLevelType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/BasTargetUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/DateUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/FieldCache.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/JavaBeanUtils.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/NewDateUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantChart.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantConcType.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/StringTools.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/CommonMessage.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/JdbcTypeUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/PageUtil.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResponseResult.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/Result.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResultCode.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ThrFunction.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmDoorMonitorAccountFiVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioImportVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmVideoDevFiVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AppVersionAddressManagementVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrBusinessAlertsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrLegalVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrSdoeptVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainActionReportsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusCountVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusScaleVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionAirVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionSolidWasteVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckStepVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFactoryVerificationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFileVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteCrVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainMobileEnforcementVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainNoiseEmissionsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEmlRecordVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEnforcementVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisFileVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasMoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasToutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisInformationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRegulationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterMoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterOoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionInorgGasVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidHazardousVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSysFeedbackVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcRecordVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductionFacilitiesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInTotalVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterLifeInVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentInAskVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentLineVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgJbxxInfoVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOverproofVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirSpecialVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirStatVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVoerproofVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflallWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPfltotalWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlAbnormalitiesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlTotalVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDevToElecVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceConfigVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamExcelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceExcelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceIndustryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamListVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceZlConfigVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasElecDeviceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasThresholdConfigVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseControlConcentStandardsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ChartVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DistributionOfMajorEmittersVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DropDownVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EChartsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EarlyWarningVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EmissionsStatVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EnvironmentCreditPropVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryDeviceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryLicenseVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingManifestVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingRemindersVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingTaskVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPEMonitoringPointVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPollEmissionsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ImportPollutionDischargeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryCompanyOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryPollutantEmissionsTop10Vo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MapPointVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtRealVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnStringVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcOtherVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecEventVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealSiteVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsAirRegionHourIVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingShStationHourIVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlDgiinfoAVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPortinfoAVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsinfoAVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlStopinfoAVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OutletNameVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcArchivesFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcControlRequirementsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcCountryLicensingStatusVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlCoordinateOperationLogVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateOperationLogVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryLicensingStatusVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcIndustryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelValueVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcManagementFacilitiesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcNoiseTypeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateOperationLogVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletGasVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcPollutantVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProductionFacilityVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProfessionLicensingStatusVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcSolidHazardousTypeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingEntranceGuVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingOpsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingStatVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PermitRequirementVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PointIsOfflineVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonDayVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasSelfDayVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonDayVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonHourVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterSelfDayVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/STaskYieldTrendVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SetParamInfoVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SupermonitorDrainOutletVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SysBasRegion.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/TCodStationVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WarningEnvGasMonRealVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WaterPollEmissionsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/AvgValueVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoPlanAllInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletStaticsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTransferRateParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPermitPollutantVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPollutantVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcRaProblemTypeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PermitEmissionsFactoryVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PumpStateVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisCarVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisLowCarVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditResultVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaRegulatoryIssuesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaControlSchemeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryRegulatoryIssuesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasFlagVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedEmissionsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedOnlineVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsGasVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateGasVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateWaterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitMonitorVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCementVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisConverterVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisGlassVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisKwhVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRubbishVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisStopVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaSelfMonitoringDataVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedOnlineVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/WaterPollutionTraceabilityVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirParmaVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityConverter.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityData.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityLevelVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/BasYearTargetVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ERmStationInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/FactoryRectificationEffectCountVO.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ForecastAccuracyInfo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MGovernanceTechnologyEstimate.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MonthDataVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCityRanking.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCountyRanking.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportParamVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportTemplate.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/AmVideoDevFiExport.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/BasDeviceSiteExport.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCountyRankingExport.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmCompanyOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionRatioOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingMonVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterprisePopVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmMeriRatingOverviewVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewUnorganizedMonitorsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/ProportionVideoMonitorsVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/RegionalOnlineMonitoringVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/VideoMonitoringIssuesVo.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrBusinessAlertsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainActionReportsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonAirQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckStepQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainFactoryVerificationQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteCrQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteFaQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousWasteOutputQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEmlRecordQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasMoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasToutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRegulationQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterMoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidHazardousQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskStepQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgJbxxInfoQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOverproofQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirSpecialQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirStatQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterVoerproofQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflallWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPfltotalWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlAbnormalitiesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlTotalQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTablepPwxkWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDcsOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDevToElecQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceConfigQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceDCSSystemParamQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceParamQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasElecDeviceQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasParamQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EarlyWarningQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EffectiveMonitoringRateQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FacilityInformationQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FindSequenceDataQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/GasPEMonitoringPointQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MAmVideoDevFiQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcOtherQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecEventQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingWeiStationHourIQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsWhitelistAQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlCoordinateOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryCoordinateOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcIndustryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelValueQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcNoiseTypeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletAppQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateOperationLogQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcPollutantQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcSolidHazardousTypeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingEntranceGuQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasSelfDayQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonHourQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterSelfDayQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasThresholdConfigQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/MonitoringPointWarningDetailsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisCarQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisLowCarQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualEmissionsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditRecordQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaControlSchemeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsMonitoringVarianceQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateGasQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateWaterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisPowerQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterFlagQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedOnlineQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.java create mode 100644 szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MGovernanceTechnologyEstimateQuery.java create mode 100644 szhpt-fixed-task/src/main/resources/bootstrap.yml create mode 100644 szhpt-fixed-task/src/main/resources/logback.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AmDoorMonitorAccountFiMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiProcessMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiRatioMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AmVideoDevFiMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/AppVersionAddressManagementMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrBusinessAlertsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesTypeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrLegalMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrNotifierproNoticeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrSdoeptMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentLastMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainActionReportsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionSolidWasteMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainFactoryVerificationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteCrMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteFaMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteLeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousWasteOutputMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMobileEnforcementMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMonitorPointOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainNoiseEmissionsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEmlRecordMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEnforcementMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisFileMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasMoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasOoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasPollMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasSoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasToutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasWzzToutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisInformationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRegulationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRequireMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterMoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterOoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterSoutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterToutMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionInorgGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionOrganizGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidHazardousMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidWasteOutputMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSysFeedbackMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcRecordMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesParamsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInTotalMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterLifeInMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentInAskMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentLineMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableQueryInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgJbxxInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOverproofMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirSpecialMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirStatMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterVoerproofMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflallWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPfltotalWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlAbnormalitiesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlTotalMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasControlValueMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDcsOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDevToElecMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceConfigMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceInfoOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceParamMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSalAnalysisMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteCoordinateOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceZlConfigMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecDeviceMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecProCepMapMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasParamMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasProductionDeviceOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BasThresholdConfigMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BaseControlConcentStandardsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/BaseRegionalControlObjectivesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/EarlyWarningMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/ElectricityMeterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/EnvironmentalCodingMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/FacilityInformationManagementMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingManifestMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingRemindersMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingTaskMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/GasReleaseRealStatusMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/IotDeviceTypeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/LeaderCockpitMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MAmDoorMonitorAccountFiMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MAmProblemFiRatioMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoCoordinateOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoDevFiMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoInfoOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecEventMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionAqiHourIMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionHourIMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsElectricityElecPsEquipRelationTsAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsInorganizationWeiStationHourIMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingShStationHourIMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingWeiStationHourIMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlDgiinfoAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPortinfoAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsWhitelistAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsinfoAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlStopinfoAMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PCodAreaInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PCodCompanyMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PCodeStationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcControlRequirementsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryAccessControlMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryCoordinateOperationLogMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantEmissionsRankMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryWasteEmissionsRankMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcIndustryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelValueMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcManagementFacilitiesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcNoiseTypeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcOutletMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcPollutantMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcProductionFacilityMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingEntranceGuMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingOpsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingStatMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PcYieldTrendMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/PointIsOfflineMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/ProductionScheduledMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasSelfDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonRealMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterSelfDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SIntegratedRoutineInspectionMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlParamMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SRaDayMonTimeFbjdMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysicComsitStMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysisRunOneMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/STaskYieldTrendMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/SupermonitorDrainOutletMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataAirMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamAnalyseMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasThresholdConfigMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/PcRaProblemTypeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisCarMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisLowCarMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualEmissionsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualYieldMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditFactoryInfoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditRecordMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditResultMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaRegulatoryIssuesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaTransferRateAnalysisMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaControlSchemeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsDiffMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsMonitoringVarianceMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStandardMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStatisticsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryRegulatoryIssuesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryTransferRateAnalysisMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasFlagMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedEmissionsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedOnlineMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaMultiSourceMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateGasMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateWaterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverWaterPollutionTraceabilityMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMonitorMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCementMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoalMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCokeMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisConverterMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisFurnaceMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisGlassMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisKwhMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisPowerMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRubbishMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRunMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisStopMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaSelfMonitoringDataMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterFlagMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedEmissionsMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedOnlineMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationExceedMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MAiControlDelayAssessmentMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFacilitiesMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFactoryMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateProcedureMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeIndexPollutantMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeRegionMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingHourMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingOtherMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasAreaTargetMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasStationDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqDayMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqMonthMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqYearMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QReportTemplateMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QTargetConfigMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/RectificationEffectEvaluationMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ReductionEmissionMapper.xml create mode 100644 szhpt-fixed-task/src/main/resources/mapper/talroad/effective/SEnvgasPollutantMapper.xml create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/GasMonDataDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsDataDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/GasDataRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingShRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/WaterDataRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/outlet/OutletRealService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/outlet/impl/GasHourOutletService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmDoorMonitorAccountFiVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmProblemFiRatioImportVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmProblemFiRatioVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmProblemFiVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmVideoDevFiVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AppVersionAddressManagementVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrBusinessAlertsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrLegalVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrSdoeptVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainActionReportsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionPollutionAirVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionPollutionSolidWasteVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainExceptionTaskCheckStepVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainFactoryVerificationVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainFileVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteCrVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainMobileEnforcementVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainNoiseEmissionsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisEmlRecordVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisEnforcementVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisFileVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasMoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasToutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisInformationVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisNoiseRegulationVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisNoiseVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisSelfMonVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterMoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterOoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionInorgGasVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidHazardousVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSysFeedbackVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcRecordVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainTwoRandomTaskVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDevToElecVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceConfigVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceDCSSystemParamExcelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceExcelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceIndustryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamListVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceZlConfigVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasElecDeviceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasThresholdConfigVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BaseControlConcentStandardsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ChartVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/DistributionOfMajorEmittersVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/DropDownVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EChartsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EarlyWarningVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EmissionsStatVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EnvironmentCreditPropVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryDeviceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryLicenseVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryReportingManifestVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryReportingRemindersVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryReportingTaskVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/GasPEMonitoringPointVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/GasPollEmissionsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ImportPollutionDischargeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustryCompanyOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustryPollutantEmissionsTop10Vo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MapPointVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevGtRealVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevGtStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevGtVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnStringVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevTcHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevTcOtherVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevTcRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecEventVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecOperationLogQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecRealSiteVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsAirRegionHourIVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsMeshingShStationHourIVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlDgiinfoAVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlPortinfoAVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlPsinfoAVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlStopinfoAVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OutletNameVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcArchivesFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcControlRequirementsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcIndustryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcLabelFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcLabelValueVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcLabelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcManagementFacilitiesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcNoiseTypeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletGasVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcPollutantVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcProductionFacilityVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcSolidHazardousTypeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcStationBuildingEntranceGuVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcStationBuildingOpsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcStationBuildingStatVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcStationBuildingVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PermitRequirementVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PointIsOfflineVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonDayVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonDayVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonHourVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/STaskYieldTrendVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SetParamInfoVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SupermonitorDrainOutletVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SysBasRegion.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/TCodStationVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/WarningEnvGasMonRealVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/WaterPollEmissionsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/AvgValueVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoPlanAllInfo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryOutletStaticsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryOutletVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryTransferRateParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/OutletPermitPollutantVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/OutletPollutantVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PcRaProblemTypeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PermitEmissionsFactoryVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PumpStateVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAbNalysisCarVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAbNalysisLowCarVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditResultVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAreaRegulatoryIssuesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaControlSchemeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaFactoryRegulatoryIssuesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaGasFlagVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaGasPermittedEmissionsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaGasPermittedOnlineVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsGasVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOverRateGasVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOverRateWaterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitMonitorVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCementVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisConverterVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisGlassVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisKwhVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRubbishVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisStopVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaSelfMonitoringDataVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterPermittedOnlineVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/WaterPollutionTraceabilityVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirParmaVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityConverter.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityData.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityLevelVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/BasYearTargetVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/ERmStationInfo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/FactoryRectificationEffectCountVO.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/ForecastAccuracyInfo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/MGovernanceTechnologyEstimate.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/MonthDataVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/PcNationalCityRanking.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/PcNationalCountyRanking.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportParamVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportTemplate.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/AmVideoDevFiExport.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/BasDeviceSiteExport.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/PcNationalCountyRankingExport.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmCompanyOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEmissionRatioOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingMonVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnterprisePopVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmMeriRatingOverviewVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewUnorganizedMonitorsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/ProportionVideoMonitorsVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/RegionalOnlineMonitoringVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/VideoMonitoringIssuesVo.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrBusinessAlertsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrEesQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainActionReportsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonAirQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionSourceAirQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionSourceWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckStepQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainFactoryVerificationQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteCrQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteFaQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousWasteOutputQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisEmlRecordQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasMoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasToutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisNoiseQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisNoiseRegulationQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisSelfMonQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterMoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainSolidHazardousQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainTwoRandomTaskStepQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDcsOperationLogQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDevToElecQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceConfigQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceDCSSystemParamQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceParamQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasElecDeviceQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasParamQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/EarlyWarningQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/EffectiveMonitoringRateQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FacilityInformationQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FindSequenceDataQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/GasPEMonitoringPointQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MAmVideoDevFiQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevTcHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevTcOtherQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevTcRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonElecEventQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonElecRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsMeshingWeiStationHourIQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPsWhitelistAQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcAdslFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcAdslQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcIndustryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelValueQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcMenuFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcMenuQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcNoiseTypeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletAppQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcPollutantQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcSolidHazardousTypeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingEntranceGuQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonHourQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SMainDynamicControlFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SMainDynamicControlQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasThresholdConfigQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/MonitoringPointWarningDetailsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisCarQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisLowCarQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualEmissionsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditRecordQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaControlSchemeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsMonitoringVarianceQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOverRateGasQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOverRateWaterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisPowerQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaWaterFlagQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedOnlineQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.class create mode 100644 szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/effective/MGovernanceTechnologyEstimateQuery.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..081b737 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 数据源本地存储已忽略文件 +/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..70ee99e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..70e18e8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6c4b3ad --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/COMMIT_EDITMSG b/COMMIT_EDITMSG deleted file mode 100644 index 4216007..0000000 --- a/COMMIT_EDITMSG +++ /dev/null @@ -1 +0,0 @@ -单项重点污染物减排量 diff --git a/config b/config deleted file mode 100644 index c10bcfe..0000000 --- a/config +++ /dev/null @@ -1,18 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = false - bare = false - logallrefupdates = true - symlinks = false - ignorecase = true -[submodule] - active = . -[remote "origin"] - url = http://10.0.206.25/local_projects/he_bei/tangshan/enterprise-controll/szhpt-tangshan/tang_shan_task.git - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "hehongyu_dev"] - remote = origin - merge = refs/heads/hehongyu_dev -[branch "develop"] - remote = origin - merge = refs/heads/develop diff --git a/description b/description deleted file mode 100644 index 498b267..0000000 --- a/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/TaskApplication.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/TaskApplication.java new file mode 100644 index 0000000..230c3f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/TaskApplication.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad; + + +import cn.cecep.talroad.common.security.annotation.EnableCustomConfig; +import cn.cecep.talroad.common.security.annotation.EnableRyFeignClients; +import cn.cecep.talroad.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * 多元融合 + * + * @author talroad + */ +@EnableScheduling +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableDiscoveryClient +@EnableRyFeignClients +@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) +public class TaskApplication { + public static void main(String[] args) { + SpringApplication.run(TaskApplication.class, args); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/AuditWordField.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/AuditWordField.java new file mode 100644 index 0000000..eb8d30e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/AuditWordField.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.config; + +import java.lang.annotation.*; + +/** + * 是否为审核记录文档中选择是否的字段 + */ + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface AuditWordField { + //对应排序 + int orderNum(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/BigDecimalSerialize.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/BigDecimalSerialize.java new file mode 100644 index 0000000..503bda5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/BigDecimalSerialize.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.config; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.math.BigDecimal; + +public class BigDecimalSerialize extends JsonSerializer { + @Override + public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (value != null) { + gen.writeString(value.stripTrailingZeros().toPlainString()); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/ExchangeConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/ExchangeConfig.java new file mode 100644 index 0000000..9baa4c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/ExchangeConfig.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.config; + +import org.springframework.amqp.core.DirectExchange; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Auther: cjh + * @Date: 2023-04-17 14:53 + * @Class: ExchangeConfig + * @Deseription: + * @Version V1.0 + */ +@Configuration +public class ExchangeConfig { + + /** + * 消息交换机的名字 + */ + public static final String DIRECT_EXCHANGE = "metadata-bigdata"; + + + /** + * 1.定义direct exchange,绑定queueTest + * 2.durable="true" rabbitmq重启的时候不需要创建新的交换机 + * 3.direct交换器相对来说比较简单,匹配规则为:如果路由键匹配,消息就被投送到相关的队列 + * fanout交换器中没有路由键的概念,他会把消息发送到所有绑定在此交换器上面的队列中。 + * topic交换器你采用模糊匹配路由键的原则进行转发消息到队列中 + * key: queue在该direct-exchange中的key值,当消息发送给direct-exchange中指定key为设置值时, + * 消息将会转发给queue参数指定的消息队列 + */ + @Bean + public DirectExchange directExchange() { + DirectExchange directExchange = new DirectExchange(DIRECT_EXCHANGE, true, false); + return directExchange; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MyMetaObjectHandler.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MyMetaObjectHandler.java new file mode 100644 index 0000000..d5b2fab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MyMetaObjectHandler.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.config; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +import java.util.Date; + + +@Slf4j +@Component +public class MyMetaObjectHandler implements MetaObjectHandler { + + @Override + public void insertFill(MetaObject metaObject) { + log.info("start insert fill..."); + this.setFieldValByName("createTime", new Date(), metaObject); + this.setFieldValByName("updateTime", new Date(), metaObject); + //this.setFieldValByName("status", 0, metaObject); + } + + @Override + public void updateFill(MetaObject metaObject) { + log.info("start update fill..."); + this.setFieldValByName("updateTime", new Date(), metaObject); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MybatisPlusConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MybatisPlusConfig.java new file mode 100644 index 0000000..e4c748c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/MybatisPlusConfig.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +@EnableTransactionManagement +@MapperScan("cn.cecep.talroad.mapper") +@Configuration +public class MybatisPlusConfig { + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); + mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + paginationInnerInterceptor.setDbType(DbType.POSTGRE_SQL); + paginationInnerInterceptor.setOverflow(true); + mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor); + return mybatisPlusInterceptor; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/QueueConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/QueueConfig.java new file mode 100644 index 0000000..a5e0511 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/QueueConfig.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Auther: cjh + * @Date: 2023-04-17 14:56 + * @Class: QueueConfig + * @Deseription: + * @Version V1.0 + */ +@Configuration +public class QueueConfig { + + private static final String statusQueue = "status-queue"; + + private static final String yieldQueue = "yield-queue"; + + @Bean + public Queue statusQueue() { + /** + durable="true" 持久化 rabbitmq重启的时候不需要创建新的队列 + auto-delete 表示消息队列没有在使用时将被自动删除 默认是false + exclusive 表示该消息队列是否只在当前connection生效,默认是false + */ + return new Queue(statusQueue, true, false, false); + } + + @Bean + public Queue yieldQueue() { + /** + durable="true" 持久化 rabbitmq重启的时候不需要创建新的队列 + auto-delete 表示消息队列没有在使用时将被自动删除 默认是false + exclusive 表示该消息队列是否只在当前connection生效,默认是false + */ + return new Queue(yieldQueue, true, false, false); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/RabbitmqConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/RabbitmqConfig.java new file mode 100644 index 0000000..6280a18 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/config/RabbitmqConfig.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.config; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Auther: cjh + * @Date: 2023-04-17 15:20 + * @Class: RabbitmqConfig + * @Deseription: + * @Version V1.0 + */ +@Configuration +public class RabbitmqConfig { + + /** + * 停限产设备状态路由 + */ + public static final String ROUTE_KEY_STATUS = "route_key_status"; + /** + * 产量统计路由 + */ + public static final String ROUTE_KEY_YIELD = "route_key_yield"; + + @Autowired + private QueueConfig queueConfig; + @Autowired + private ExchangeConfig exchangeConfig; + + /** + * 将停限产状态消息队列和交换机进行绑定 + */ + @Bean + public Binding binding_statusQueue() { + return BindingBuilder.bind(queueConfig.statusQueue()).to(exchangeConfig.directExchange()).with(RabbitmqConfig.ROUTE_KEY_STATUS); + } + + /** + * 将产量统计队列和交换机进行绑定 + */ + @Bean + public Binding binding_yieldQueue() { + return BindingBuilder.bind(queueConfig.yieldQueue()).to(exchangeConfig.directExchange()).with(RabbitmqConfig.ROUTE_KEY_YIELD); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmDoorMonitorAccountFiController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmDoorMonitorAccountFiController.java new file mode 100644 index 0000000..2277c4b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmDoorMonitorAccountFiController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.AmDoorMonitorAccountFi; +import cn.cecep.talroad.service.IAmDoorMonitorAccountFiService; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import cn.cecep.talroad.vo.query.AmDoorMonitorAccountFiQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 门禁监控Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--门禁监控") +@RestController +@RequestMapping("/amDoorMonitorAccountFi") +public class AmDoorMonitorAccountFiController extends BasesController +{ + @Autowired + private IAmDoorMonitorAccountFiService amDoorMonitorAccountFiService; + + /** + * 查询门禁监控列表 + */ + @ApiOperation(value = "查询门禁监控") + @GetMapping("/list") + public AjaxResults> list(AmDoorMonitorAccountFiQuery amDoorMonitorAccountFi) + { + Page page = new Page<>(amDoorMonitorAccountFi.getPageNum(), amDoorMonitorAccountFi.getPageSize()); + IPage list = amDoorMonitorAccountFiService.page(page, AmDoorMonitorAccountFiQuery.createLambdaQueryWrapper(amDoorMonitorAccountFi)); + return AjaxResults.success(list); + } + + + /** + * 导出门禁监控列表 + */ + @ApiOperation(value = "导出门禁监控") + @Log(title = "门禁监控", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody AmDoorMonitorAccountFiQuery amDoorMonitorAccountFi) + { + List list = amDoorMonitorAccountFiService.list(AmDoorMonitorAccountFiQuery.createLambdaQueryWrapper(amDoorMonitorAccountFi)); + ExcelUtil util = new ExcelUtil(AmDoorMonitorAccountFi.class); + util.exportExcel(response, list, "门禁监控数据"); + } + + /** + * 获取门禁监控详细信息 + */ + @ApiOperation(value = "获取门禁监控详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(amDoorMonitorAccountFiService.getById(id)); + } + /** + * 新增门禁监控 + */ + @ApiOperation(value = "新增门禁监控") + @Log(title = "门禁监控", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody AmDoorMonitorAccountFi amDoorMonitorAccountFi) { + return toAjax(amDoorMonitorAccountFiService.save(amDoorMonitorAccountFi)); + } + /** + * 修改门禁监控 + */ + @ApiOperation(value = "修改门禁监控") + @Log(title = "门禁监控", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody AmDoorMonitorAccountFiVo amDoorMonitorAccountFiVo) { + if(ObjectUtil.isEmpty(amDoorMonitorAccountFiVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(amDoorMonitorAccountFiVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + AmDoorMonitorAccountFi amDoorMonitorAccountFi = amDoorMonitorAccountFiService.getById(amDoorMonitorAccountFiVo.getId()); + if(ObjectUtil.isEmpty(amDoorMonitorAccountFi)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", amDoorMonitorAccountFiVo.getId())); + } + //赋值 + BeanUtil.copyProperties(amDoorMonitorAccountFiVo,amDoorMonitorAccountFi); + return toAjax(amDoorMonitorAccountFiService.saveOrUpdate(amDoorMonitorAccountFi)); + } + + /** + * 删除门禁监控 + */ + @ApiOperation(value = "删除门禁监控") + @RequiresPermissions("talroad:fi:remove") + @Log(title = "门禁监控", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(amDoorMonitorAccountFiService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiController.java new file mode 100644 index 0000000..f129b88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiController.java @@ -0,0 +1,324 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.BussinessException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.AmProblemFiProcess; +import cn.cecep.talroad.enums.AmProblemAuditTypeEnum; +import cn.cecep.talroad.enums.AmProblemStatusEnum; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.google.common.collect.Lists; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@Api(tags = "预警报警信息") +@RestController +@RequestMapping("/amProblemFi") +public class AmProblemFiController extends BasesController { + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private IAmProblemFiProcessService amProblemFiProcessService; + @Autowired + private IBEnterpriseIrBusinessAlertsService bEnterpriseIrBusinessAlertsService; + @Autowired + private IBEnterpriseIrNotifierproNoticeService bEnterpriseIrNotifierproNoticeService; + + @ApiOperation(value = "查询预警报警信息") + @GetMapping("/list") + public AjaxResults> list(AmProblemFiQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + amProblemFiService.selectList(page, query); + return AjaxResults.success(page); + } + + @ApiOperation(value = "查询图表数据") + @GetMapping("/chartData") + public AjaxResults> chartData(AmProblemFiQuery.ChartDataParam param) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List data = amProblemFiService.getChartData(param, regionCode); + return AjaxResults.success(data); + } + + @ApiOperation(value = "查询趋势图数据") + @GetMapping("/trendData") + public AjaxResults trendData(AmProblemFiQuery.ChartDataParam param) { + EChartsVO data = amProblemFiService.getTrendData(param); + return AjaxResults.success(data); + } + + @ApiOperation(value = "导出预警报警信息") + @Log(title = "预警报警信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody AmProblemFiQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = amProblemFiService.selectList(page, query); + ExcelUtil util = new ExcelUtil<>(AmProblemFiVo.class); + util.exportExcel(response, list, "预警报警信息数据"); + } + + /** + * 获取预警报警信息详细信息 + */ + @ApiOperation(value = "获取预警报警信息详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(amProblemFiService.getInfo(id)); + } + + @ApiOperation(value = "模型分析结果验证保存") + @PostMapping(value = "/modelValid/update") + public AjaxResults updateModelValid(@RequestBody @Validated AmProblemFiVo.ModelValidForm form) { + amProblemFiService.updateModelValid(form); + return AjaxResults.success(); + } + + @ApiOperation(value = "数据逻辑异常问题类型详情数据") + @GetMapping("/logicExceptionData") + public AjaxResults logicExceptionData( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = amProblemFiService.logicExceptionData(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } + + @ApiOperation(value = "生产问题详情数据") + @GetMapping("/detail/002") + public AjaxResults detail002( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = amProblemFiService.detail002(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } + + @ApiOperation(value = "排放量超标(003004)、预警(003005)详情接口") + @GetMapping(value = {"/detail/003004", "/detail/003005"}) + public AjaxResults detail003004( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime + ) { + EChartsVO data = amProblemFiService.detail003004(id, startTime, endTime); + return AjaxResults.success(data); + } + + @ApiOperation(value = "浓度超标(003002)、预警(003003)详情接口") + @GetMapping(value = {"/detail/003002", "/detail/003003"}) + public AjaxResults detail003002( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime + ) { + EChartsVO data = amProblemFiService.detail003002(id, startTime, endTime); + return AjaxResults.success(data); + } + + @ApiOperation(value = "获取dcs、分表计电曲线图数据") + @GetMapping("/detail/dcsElec") + public AjaxResults dcsElec( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = amProblemFiService.dcsElec(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } + + @ApiOperation(value = "治理设施停运问题详情") + @GetMapping("/detail/elecMerge") + public AjaxResults elecMerge( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime + ) { + EChartsVO chartsVO = amProblemFiService.elecMerge(id, startTime, endTime); + return AjaxResults.success(chartsVO); + } + + @ApiOperation(value = "生产工况监测大屏-治理设施异常问题统计") + @GetMapping("/problemType/count") + public AjaxResults> problemTypeCount(@RequestParam(value = "problemType", defaultValue = "004") String problemType) { + List data = amProblemFiService.getProblemTypeCount(problemType); + return AjaxResults.success(data); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "企业端分页查询预警信息") + @GetMapping("/pageYjProblem") + public AjaxResults> pageYjProblem(AmProblemFiQuery query) { + query.setType(0); + query.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + if (StringUtils.isEmpty(query.getFactoryId())) { + throw new BussinessException("未找到用户关联企业"); + } + query.setNoRegion(true); + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + amProblemFiService.selectList(page, query); + return AjaxResults.success(page); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "企业端分页查询报警信息") + @GetMapping("/pageBjProblem") + public AjaxResults> pageBjProblem(AmProblemFiQuery query) { + query.setType(1); + query.setNoRegion(true); + final String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + if (StringUtils.isEmpty(factoryId)) { + throw new BussinessException("未找到用户关联企业"); + } + query.setFactoryId(factoryId); + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + amProblemFiService.selectList(page, query); + return AjaxResults.success(page); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "分页查询报警审核信息") + @GetMapping("/pageBjShProblem") + public AjaxResults> pageBjShProblem(AmProblemFiQuery query) { + query.setNoRegion(true); + query.setType(1); + query.setProblemStatusList(Lists.newArrayList( + AmProblemStatusEnum.WAIT_AUDIT.getValue(), + AmProblemStatusEnum.PASS.getValue(), + AmProblemStatusEnum.UN_PASS.getValue() + )); + query.setProblemAuditType(AmProblemAuditTypeEnum.ZS.getValue()); + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + amProblemFiService.selectList(page, query); + return AjaxResults.success(page); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询报警处理详情信息") + @GetMapping("/getProblemProcess") + public AjaxResults> getProblemProcess(@RequestParam String problemId) { + return AjaxResults.success(amProblemFiProcessService.list(Wrappers.lambdaQuery().eq(AmProblemFiProcess::getProblemId, problemId))); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "整改信息填写") + @PostMapping(value = "/rectify/save") + public AjaxResults rectifySave(@RequestBody @Validated AmProblemFiProcess param) { + param.setProcessUserId(SecurityUtils.getLoginUser().getSysUser().getUserId().toString()); + param.setProcessUserName(SecurityUtils.getLoginUser().getSysUser().getNickName()); + amProblemFiService.rectifySave(param); + return AjaxResults.success(); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "审核结果") + @PostMapping(value = "/audit/result") + public AjaxResults auditResult(@RequestBody @Validated AmProblemFiProcess param) { + param.setProcessUserId(SecurityUtils.getUserKey()); + param.setProcessUserName(SecurityUtils.getUsername()); + amProblemFiService.auditResult(param); + return AjaxResults.success(); + } + + @ApiOperationSupport(order = 1) + @ApiOperation(value = "预警签收") + @PostMapping(value = "/yj/sign") + public AjaxResults yjSign(@RequestBody @Validated AmProblemFiProcess param) { + param.setProcessUserId(SecurityUtils.getUserKey()); + param.setProcessUserName(SecurityUtils.getUsername()); + amProblemFiService.yjSign(param); + return AjaxResults.success(); + } + + + @ApiOperation(value = "聚合接口查各类告警总数") + @GetMapping(value = "/countList") + public AjaxResults countList(@RequestParam String factoryId) { + List> res = new ArrayList<>(); + if (factoryId.isEmpty()) { + return AjaxResults.success(res); + } + //type: 0-预警;1-报警 + Integer warnCount = amProblemFiService.countByFactoryId(factoryId, 0); + + Map warnMap = new HashMap<>(); + warnMap.put("typeDesc", "预警"); + warnMap.put("id", "warn"); + warnMap.put("count", warnCount.toString()); + res.add(warnMap); + + Integer baojinWarnCount = amProblemFiService.countByFactoryId(factoryId, 1); + Map baojinWarnMap = new HashMap<>(); + baojinWarnMap.put("typeDesc", "报警"); + baojinWarnMap.put("id", "baojinWarn"); + baojinWarnMap.put("count", baojinWarnCount.toString()); + res.add(baojinWarnMap); + //通知 + + Integer noticeCount = bEnterpriseIrNotifierproNoticeService.countByFactoryId(factoryId); + Map noticeCountMap = new HashMap<>(); + noticeCountMap.put("typeDesc", "通知"); + noticeCountMap.put("id", "notice"); + noticeCountMap.put("count", noticeCount.toString()); + res.add(noticeCountMap); + + //提醒 + + Integer alertCount = bEnterpriseIrBusinessAlertsService.countByFactoryId(factoryId); + Map alertCountMap = new HashMap<>(); + alertCountMap.put("typeDesc", "业务提醒"); + alertCountMap.put("id", "tixing"); + alertCountMap.put("count", alertCount.toString()); + res.add(alertCountMap); + + return AjaxResults.success(res); + } + @ApiOperationSupport(order = 1) + @ApiOperation(value = "预警添加反馈") + @PostMapping(value = "/yj/addCause") + public AjaxResults addCause(@RequestBody @Validated AmProblemFi param) { + return AjaxResults.success(amProblemFiService.addCause(param)); + } + @ApiOperation(value = "预警问题分类级联数据") + @GetMapping("/getAListOfAlerts") + public AjaxResults>> getAListOfAlerts() { + List> list = amProblemFiService.getAListOfAlerts(); + return AjaxResults.success(list); + } + + @ApiOperation(value = "整改时间填写") + @PostMapping(value = "/rectify/update") + public AjaxResults rectifyUpdate(@RequestBody @Validated AmProblemFiVo param) { + return AjaxResults.success(amProblemFiService.rectifyUpdate(param)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiRatioController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiRatioController.java new file mode 100644 index 0000000..5e72d89 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmProblemFiRatioController.java @@ -0,0 +1,174 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.vo.AmProblemFiRatioImportVo; +import cn.cecep.talroad.vo.PcPollutantVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.AmProblemFiRatioQuery; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import java.io.IOException; +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.AmProblemFiRatio; +import cn.cecep.talroad.vo.AmProblemFiRatioVo; +import cn.cecep.talroad.service.IAmProblemFiRatioService; +import org.springframework.web.multipart.MultipartFile; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 预警报警信息-预警比例定制Controller 控制层 + * + * @author szhpt + * @date 2023-06-27*/ +@Api(tags = "预警报警信息-预警比例定制") +@RestController +@RequestMapping("/ratio") +public class AmProblemFiRatioController extends BasesController +{ + @Autowired + private IAmProblemFiRatioService amProblemFiRatioService; + + /** + * 查询预警报警信息-预警比例定制列表 + */ + @ApiOperation(value = "查询预警报警信息-预警比例定制") + @GetMapping("/list") + public AjaxResults> list(AmProblemFiRatioQuery amProblemFiRatio) + { + Page page = new Page<>(amProblemFiRatio.getPageNum(), amProblemFiRatio.getPageSize()); + amProblemFiRatioService.pageList(page, amProblemFiRatio); + return AjaxResults.success(page); + } + + /** + * 查询预警报警信息-污染物下拉接口 + */ + @ApiOperation(value = "查询预警报警信息-污染物下拉接口") + @GetMapping("/pcPollutantList") + public AjaxResults> pcPollutantList() + { + List pcPollutantVos = amProblemFiRatioService.pcPollutantList(); + return AjaxResults.success(pcPollutantVos); + } + + + /** + * 导出预警报警信息-预警比例定制列表 + */ + @ApiOperation(value = "导出预警报警信息-预警比例定制") + @Log(title = "预警报警信息-预警比例定制", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, AmProblemFiRatioQuery amProblemFiRatio) + { + List list = amProblemFiRatioService.selectAmProblemFiRatioList(amProblemFiRatio); + ExcelUtil util = new ExcelUtil<>(AmProblemFiRatioVo.class); + util.exportExcel(response, list, "预警报警信息-预警比例定制数据"); + } + + @ApiOperation(value = "预警比例定制导入模板") + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) throws IOException + { + ExcelUtil util = new ExcelUtil<>(AmProblemFiRatioImportVo.class); + util.importTemplateExcel(response, "预警报警信息-预警比例定制数据"); + } + + @ApiOperation(value = "预警比例定制导入数据") + @Log(title = "预警比例定制", businessType = BusinessType.IMPORT) + @ApiImplicitParams({ + @ApiImplicitParam(name = "file", value = "文件", dataType = "MultipartFile"), + }) + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file) throws Exception + { + + String fileName = file.getOriginalFilename(); + String fileNameFormat = fileName.substring(fileName.lastIndexOf(".") + 1); + if (!"xlsx".equals(fileNameFormat) && !"xls".equals(fileNameFormat)) { + throw new ServiceException("抱歉,导入的模板不是xlsx/xls格式,无法导入数据"); + } + + ExcelUtil util = null; + List sDcFacilityFiVoList = null; + try { + util = new ExcelUtil<>(AmProblemFiRatioImportVo.class); + sDcFacilityFiVoList = util.importExcel(file.getInputStream()); + //添加无法录入的数据 + } catch (Exception e) { + throw new ServiceException("抱歉,导入的模板数据格式不正确,无法导入数据"); + } + String message = amProblemFiRatioService.importAmProblemFiRatioList(sDcFacilityFiVoList); + return AjaxResult.success(message); + } + + /** + * 获取预警报警信息-预警比例定制详细信息 + */ + @ApiOperation(value = "获取预警报警信息-预警比例定制详细信息") + @GetMapping(value = "/getInfo") + public AjaxResults getInfo(@RequestParam Long id) { + return AjaxResults.success(amProblemFiRatioService.selectAmProblemFiRatio(id)); + } + /** + * 新增预警报警信息-预警比例定制 + */ + @ApiOperation(value = "新增预警报警信息-预警比例定制") + @Log(title = "预警报警信息-预警比例定制", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody AmProblemFiRatio amProblemFiRatio) { + return toAjax(amProblemFiRatioService.save(amProblemFiRatio)); + } + /** + * 修改预警报警信息-预警比例定制 + */ + @ApiOperation(value = "修改预警报警信息-预警比例定制") + @Log(title = "预警报警信息-预警比例定制", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody AmProblemFiRatioVo amProblemFiRatioVo) { + if(ObjectUtil.isEmpty(amProblemFiRatioVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(amProblemFiRatioVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + AmProblemFiRatio amProblemFiRatio = amProblemFiRatioService.getById(amProblemFiRatioVo.getId()); + if(ObjectUtil.isEmpty(amProblemFiRatio)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", amProblemFiRatioVo.getId())); + } + //赋值 + BeanUtil.copyProperties(amProblemFiRatioVo,amProblemFiRatio); + return toAjax(amProblemFiRatioService.saveOrUpdate(amProblemFiRatio)); + } + + /** + * 删除预警报警信息-预警比例定制 + */ + @ApiOperation(value = "删除预警报警信息-预警比例定制") + @RequiresPermissions("talroad:ratio:remove") + @Log(title = "预警报警信息-预警比例定制", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(amProblemFiRatioService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmVideoDevFiController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmVideoDevFiController.java new file mode 100644 index 0000000..8164429 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/AmVideoDevFiController.java @@ -0,0 +1,239 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.AmVideoDevFi; +import cn.cecep.talroad.domain.MAmVideoInfoOperationLog; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.export.AmVideoDevFiExport; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 视频监控Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--视频监控") +@RestController +@RequestMapping("/amVideoDevFi") +public class AmVideoDevFiController extends BasesController +{ + @Autowired + private IAmVideoDevFiService amVideoDevFiService; + + /** + * 查询视频监控列表 + */ + @ApiOperation(value = "查询视频监控") + @GetMapping("/list") + public AjaxResults> list(AmVideoDevFiQuery amVideoDevFi) + { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + amVideoDevFi.setFactoryId(factoryId); + } + Page page = new Page<>(amVideoDevFi.getPageNum(), amVideoDevFi.getPageSize()); + IPage list = amVideoDevFiService.page(page, AmVideoDevFiQuery.createLambdaQueryWrapper(amVideoDevFi)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取视频监控分组数据") + @GetMapping("/group/list") + public AjaxResults> groupList(AmVideoDevFiQuery amVideoDevFi) + { + List list = amVideoDevFiService.getGroupList(amVideoDevFi); + return AjaxResults.success(list); + } + @ApiOperation(value = "获取秸秆视频监控数据") + @GetMapping("/group/straw") + public AjaxResults> groupStraw(@RequestParam(value = "devName",required = false) String devName) + { + List list = amVideoDevFiService.list(new QueryWrapper().eq("dev_type","秸秆").isNull("factory_id").like(StringUtils.isNotEmpty(devName),"dev_name",devName).orderByAsc("dev_id")); + return AjaxResults.success(list); + } + + + /** + * 导出视频监控列表 + */ + @ApiOperation(value = "导出视频监控") + @Log(title = "视频监控", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, AmVideoDevFi amVideoDevFi) + { + List list = amVideoDevFiService.selectAmVideoDevFiList(amVideoDevFi); + ExcelUtil util = new ExcelUtil(AmVideoDevFi.class); + util.exportExcel(response, list, "视频监控数据"); + } + @ApiOperation(value = "获取视频监控搜索框内容--企业端") + @GetMapping("/listFactoryVideo") + public AjaxResults> listFactoryVideo(AmVideoDevFiQuery amVideoDevFi) + { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + amVideoDevFi.setFactoryId(factoryId); + amVideoDevFi.setIsStatus("1"); + } + List list = amVideoDevFiService.selectAmVideoDevFiSelectList(AmVideoDevFiQuery.createLambdaQueryWrapperFactory(amVideoDevFi)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取视频监控搜索框内容-排污许可设施--企业端") + @GetMapping("/listFactoryXkVideo") + public AjaxResults> listFactoryXkVideo(AmVideoDevFiQuery amVideoDevFi) + { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + amVideoDevFi.setFactoryId(factoryId); + amVideoDevFi.setIndustry("XK"); + amVideoDevFi.setIsStatus("1"); + } + List list = amVideoDevFiService.selectAmVideoDevFiSelectXkList(AmVideoDevFiQuery.createLambdaQueryWrapperXK(amVideoDevFi)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询视频监控-企业端") + @GetMapping("/listFactory") + public AjaxResults> listFactory(AmVideoDevFiQuery amVideoDevFi) + { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + amVideoDevFi.setFactoryId(factoryId); + amVideoDevFi.setIsStatus("1"); + } + Page page = new Page<>(amVideoDevFi.getPageNum(), amVideoDevFi.getPageSize()); + IPage list = amVideoDevFiService.selectDeviceNameById(page, AmVideoDevFiQuery.createLambdaQueryWrapperFactory(amVideoDevFi)); + return AjaxResults.success(list); + } + @ApiOperation(value = "导出视频监控-企业端") + @Log(title = "导出视频监控-企业端", businessType = BusinessType.EXPORT) + @PostMapping("/exportFactory") + public void exportFactory(HttpServletResponse response, AmVideoDevFiQuery amVideoDevFi) + { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + amVideoDevFi.setFactoryId(factoryId); + amVideoDevFi.setIsStatus("1"); + } + List list = amVideoDevFiService.selectAmVideoDevFiSelectList(AmVideoDevFiQuery.createLambdaQueryWrapperFactory(amVideoDevFi)); + ExcelUtil util = new ExcelUtil(AmVideoDevFiExport.class); + util.exportExcel(response, list, "视频监控数据"); + } + + @ApiOperation(value = "修改视频监控-企业端") + @Log(title = "视频监控", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editFactory") + public AjaxResults editFactory(@RequestBody List amVideoDevFiVo) { + if(amVideoDevFiVo.size()==0){ + throw new InvalidParameterException("没有修改的内容"); + } + List saveList = new ArrayList(); + List saveExportList = new ArrayList(); + for(AmVideoDevFiExport avdi:amVideoDevFiVo){ + AmVideoDevFi amVideoDevFi = amVideoDevFiService.getById(avdi.getId()); + AmVideoDevFiExport amVideoDevFiExport = amVideoDevFiService.getByExport(avdi.getId()); + if(ObjectUtil.isEmpty(amVideoDevFi)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", avdi.getId())); + } + amVideoDevFi.setDeviceId(avdi.getDeviceId()); + saveList.add(amVideoDevFi); + saveExportList.add(amVideoDevFiExport); + } + amVideoDevFiService.saveLog(amVideoDevFiVo,saveExportList); + //赋值 + return toAjax(amVideoDevFiService.saveOrUpdateBatch(saveList)); + } + + @ApiOperation(value = "操作日志列表-视频设备绑定排污可设备信息") + @PostMapping("/getMAmVideoInfoOperationLogList") + public AjaxResults> getMAmVideoInfoOperationLogList(AmVideoDevFiQuery amVideoDevFiVo) { + try { + IPage list = amVideoDevFiService.getMAmVideoInfoOperationLogList(amVideoDevFiVo); + return AjaxResults.success(list); + } catch (Exception e) { + return AjaxResults.error("操作日志列表获取失败!"); + } + } + + /** + * 获取视频监控详细信息 + */ + @ApiOperation(value = "获取视频监控详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(amVideoDevFiService.getInfo(id)); + } + /** + * 新增视频监控 + */ + @ApiOperation(value = "新增视频监控") + @Log(title = "视频监控", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody AmVideoDevFi amVideoDevFi) { + return toAjax(amVideoDevFiService.save(amVideoDevFi)); + } + /** + * 修改视频监控 + */ + @ApiOperation(value = "修改视频监控") + @Log(title = "视频监控", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody AmVideoDevFiVo amVideoDevFiVo) { + if(ObjectUtil.isEmpty(amVideoDevFiVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(amVideoDevFiVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + AmVideoDevFi amVideoDevFi = amVideoDevFiService.getById(amVideoDevFiVo.getId()); + if(ObjectUtil.isEmpty(amVideoDevFi)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", amVideoDevFiVo.getId())); + } + //赋值 + BeanUtil.copyProperties(amVideoDevFiVo,amVideoDevFi); + return toAjax(amVideoDevFiService.saveOrUpdate(amVideoDevFi)); + } + + /** + * 删除视频监控 + */ + @ApiOperation(value = "删除视频监控") + @RequiresPermissions("talroad:fi:remove") + @Log(title = "视频监控", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(amVideoDevFiService.removeByIds(Arrays.asList(ids))); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrBusinessAlertsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrBusinessAlertsController.java new file mode 100644 index 0000000..bede878 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrBusinessAlertsController.java @@ -0,0 +1,150 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrBusinessAlerts; +import cn.cecep.talroad.service.IBEnterpriseIrBusinessAlertsService; +import cn.cecep.talroad.vo.BEnterpriseIrBusinessAlertsVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrBusinessAlertsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.shaded.com.google.common.base.Objects; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 通知提醒-业务提醒Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "A通知提醒-业务提醒") +@RestController +@RequestMapping("/alerts") +public class BEnterpriseIrBusinessAlertsController extends BasesController +{ + @Autowired + private IBEnterpriseIrBusinessAlertsService bEnterpriseIrBusinessAlertsService; + + @ApiOperation(value = "查询企业通知提醒类型") + @GetMapping("/selectOptions/{factoryId}") + public AjaxResults>> selectOptions(@PathVariable(value = "factoryId") String factoryId) + { + return AjaxResults.success(bEnterpriseIrBusinessAlertsService.selectOptions(factoryId)); + } + + /** + * 查询通知提醒-业务提醒列表 + */ + @ApiOperation(value = "分页列表查询-业务提醒") + @GetMapping("/list") + public AjaxResults> list(@Valid BEnterpriseIrBusinessAlertsQuery bEnterpriseIrBusinessAlerts) throws ParseException { + Page page = new Page<>(bEnterpriseIrBusinessAlerts.getPageNum(), bEnterpriseIrBusinessAlerts.getPageSize()); + IPage list = bEnterpriseIrBusinessAlertsService.page(page, BEnterpriseIrBusinessAlertsQuery.createLambdaQueryWrapper(bEnterpriseIrBusinessAlerts)); + return AjaxResults.success(list); + } + + + /** + * 导出通知提醒-业务提醒列表 + */ + @ApiOperation(value = "导出通知提醒-业务提醒") + @Log(title = "通知提醒-业务提醒", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts) + { + List list = bEnterpriseIrBusinessAlertsService.selectBEnterpriseIrBusinessAlertsList(bEnterpriseIrBusinessAlerts); + ExcelUtil util = new ExcelUtil(BEnterpriseIrBusinessAlerts.class); + util.exportExcel(response, list, "通知提醒-业务提醒数据"); + } + + /** + * 获取通知提醒-业务提醒详细信息 + */ + @ApiOperation(value = "单条查询-业务提醒详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bEnterpriseIrBusinessAlertsService.getById(id)); + } + /** + * 新增通知提醒-业务提醒 + */ + @ApiOperation(value = "新增通知提醒-业务提醒") + @Log(title = "通知提醒-业务提醒", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts) { + return toAjax(bEnterpriseIrBusinessAlertsService.save(bEnterpriseIrBusinessAlerts)); + } + /** + * 修改通知提醒-业务提醒 + */ + @ApiOperation(value = "修改通知提醒-业务提醒") + @Log(title = "通知提醒-业务提醒", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrBusinessAlertsVo bEnterpriseIrBusinessAlertsVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrBusinessAlertsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrBusinessAlertsVo.getBusinessId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts = bEnterpriseIrBusinessAlertsService.getById(bEnterpriseIrBusinessAlertsVo.getBusinessId()); + if(ObjectUtil.isEmpty(bEnterpriseIrBusinessAlerts)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrBusinessAlertsVo.getBusinessId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrBusinessAlertsVo,bEnterpriseIrBusinessAlerts); + return toAjax(bEnterpriseIrBusinessAlertsService.saveOrUpdate(bEnterpriseIrBusinessAlerts)); + } + + /** + * 已读修改 + */ + @ApiOperation(value = "已读-修改状态") + @Log(title = "已读-修改状态", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editStatus/{businessId}") + public AjaxResults editStatus(@PathVariable(value = "businessId") Long businessId) { + BEnterpriseIrBusinessAlerts entity = bEnterpriseIrBusinessAlertsService.getBaseMapper().selectById(businessId); + if(entity == null){ + throw new ServiceException("数据不存在,请刷新!"); + } + if(Objects.equal(entity.getStatus(), "1")){ + return toAjax(true); + } + entity.setStatus("1"); + entity.setUpdateTime(new Date()); + return toAjax(bEnterpriseIrBusinessAlertsService.updateById(entity)); + } + + /** + * 删除通知提醒-业务提醒 + */ + @ApiOperation(value = "删除通知提醒-业务提醒") + @RequiresPermissions("talroad:alerts:remove") + @Log(title = "通知提醒-业务提醒", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bEnterpriseIrBusinessAlertsService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesController.java new file mode 100644 index 0000000..0c475bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrEes; +import cn.cecep.talroad.service.IBEnterpriseIrEesService; +import cn.cecep.talroad.vo.BEnterpriseIrEesVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrEesQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 知识库-生态环境标准Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "知识库-生态环境标准") +@RestController +@RequestMapping("/ees") +public class BEnterpriseIrEesController extends BasesController +{ + @Autowired + private IBEnterpriseIrEesService bEnterpriseIrEesService; + + /** + * 查询知识库-生态环境标准列表 + */ + @ApiOperation(value = "查询知识库-生态环境标准") + @GetMapping("/list") + public AjaxResults> list(BEnterpriseIrEesQuery bEnterpriseIrEes) + { + Page page = new Page<>(bEnterpriseIrEes.getPageNum(), bEnterpriseIrEes.getPageSize()); + IPage list = bEnterpriseIrEesService.page(page, BEnterpriseIrEesQuery.createLambdaQueryWrapper(bEnterpriseIrEes)); + return AjaxResults.success(list); + } + + + /** + * 导出知识库-生态环境标准列表 + */ + @ApiOperation(value = "导出知识库-生态环境标准") + @Log(title = "知识库-生态环境标准", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrEes bEnterpriseIrEes) + { + List list = bEnterpriseIrEesService.selectBEnterpriseIrEesList(bEnterpriseIrEes); + ExcelUtil util = new ExcelUtil(BEnterpriseIrEes.class); + util.exportExcel(response, list, "知识库-生态环境标准数据"); + } + + /** + * 获取知识库-生态环境标准详细信息 + */ + @ApiOperation(value = "获取知识库-生态环境标准详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bEnterpriseIrEesService.getById(id)); + } + /** + * 新增知识库-生态环境标准 + */ + @ApiOperation(value = "新增知识库-生态环境标准") + @Log(title = "知识库-生态环境标准", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrEes bEnterpriseIrEes) { + return toAjax(bEnterpriseIrEesService.save(bEnterpriseIrEes)); + } + /** + * 修改知识库-生态环境标准 + */ + @ApiOperation(value = "修改知识库-生态环境标准") + @Log(title = "知识库-生态环境标准", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrEesVo bEnterpriseIrEesVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrEesVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrEesVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrEes bEnterpriseIrEes = bEnterpriseIrEesService.getById(bEnterpriseIrEesVo.getId()); + if(ObjectUtil.isEmpty(bEnterpriseIrEes)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrEesVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrEesVo,bEnterpriseIrEes); + return toAjax(bEnterpriseIrEesService.saveOrUpdate(bEnterpriseIrEes)); + } + + /** + * 删除知识库-生态环境标准 + */ + @ApiOperation(value = "删除知识库-生态环境标准") + @RequiresPermissions("talroad:ees:remove") + @Log(title = "知识库-生态环境标准", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bEnterpriseIrEesService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesTypeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesTypeController.java new file mode 100644 index 0000000..b95927e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrEesTypeController.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrEesType; +import cn.cecep.talroad.service.IBEnterpriseIrEesTypeService; +import cn.cecep.talroad.vo.BEnterpriseIrEesTypeVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrEesTypeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 知识库-生态环境标准-分类Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "知识库-生态环境标准-分类") +@RestController +@RequestMapping("/eesType") +public class BEnterpriseIrEesTypeController extends BasesController +{ + @Autowired + private IBEnterpriseIrEesTypeService bEnterpriseIrEesTypeService; + + /** + * 查询行业列表 + */ + @ApiOperation(value = "知识库树结构") + @GetMapping("/selectTreeList") + public AjaxResults> selectTreeList(String eesClassify) + { + return AjaxResults.success(bEnterpriseIrEesTypeService.selectTreeList(eesClassify)); + } + + /** + * 查询知识库-生态环境标准-分类列表 + */ + @ApiOperation(value = "查询知识库-生态环境标准-分类") + @GetMapping("/list") + public AjaxResults> list(BEnterpriseIrEesTypeQuery bEnterpriseIrEesType) + { + Page page = new Page<>(bEnterpriseIrEesType.getPageNum(), bEnterpriseIrEesType.getPageSize()); + IPage list = bEnterpriseIrEesTypeService.page(page, BEnterpriseIrEesTypeQuery.createLambdaQueryWrapper(bEnterpriseIrEesType)); + return AjaxResults.success(list); + } + + + /** + * 导出知识库-生态环境标准-分类列表 + */ + @ApiOperation(value = "导出知识库-生态环境标准-分类") + @Log(title = "知识库-生态环境标准-分类", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrEesType bEnterpriseIrEesType) + { + List list = bEnterpriseIrEesTypeService.selectBEnterpriseIrEesTypeList(bEnterpriseIrEesType); + ExcelUtil util = new ExcelUtil(BEnterpriseIrEesType.class); + util.exportExcel(response, list, "知识库-生态环境标准-分类数据"); + } + + /** + * 获取知识库-生态环境标准-分类详细信息 + */ + @ApiOperation(value = "获取知识库-生态环境标准-分类详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bEnterpriseIrEesTypeService.getById(id)); + } + /** + * 新增知识库-生态环境标准-分类 + */ + @ApiOperation(value = "新增知识库-生态环境标准-分类") + @Log(title = "知识库-生态环境标准-分类", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrEesType bEnterpriseIrEesType) { + return toAjax(bEnterpriseIrEesTypeService.save(bEnterpriseIrEesType)); + } + /** + * 修改知识库-生态环境标准-分类 + */ + @ApiOperation(value = "修改知识库-生态环境标准-分类") + @Log(title = "知识库-生态环境标准-分类", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrEesTypeVo bEnterpriseIrEesTypeVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrEesTypeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrEesTypeVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrEesType bEnterpriseIrEesType = bEnterpriseIrEesTypeService.getById(bEnterpriseIrEesTypeVo.getId()); + if(ObjectUtil.isEmpty(bEnterpriseIrEesType)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrEesTypeVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrEesTypeVo,bEnterpriseIrEesType); + return toAjax(bEnterpriseIrEesTypeService.saveOrUpdate(bEnterpriseIrEesType)); + } + + /** + * 删除知识库-生态环境标准-分类 + */ + @ApiOperation(value = "删除知识库-生态环境标准-分类") + @RequiresPermissions("talroad:type:remove") + @Log(title = "知识库-生态环境标准-分类", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bEnterpriseIrEesTypeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrLegalController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrLegalController.java new file mode 100644 index 0000000..bf22075 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrLegalController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrLegal; +import cn.cecep.talroad.service.IBEnterpriseIrLegalService; +import cn.cecep.talroad.vo.BEnterpriseIrLegalVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrLegalQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 知识库-法律法规Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "知识库-法律法规") +@RestController +@RequestMapping("/legal") +public class BEnterpriseIrLegalController extends BasesController +{ + @Autowired + private IBEnterpriseIrLegalService bEnterpriseIrLegalService; + + /** + * 查询知识库-法律法规列表 + */ + @ApiOperation(value = "查询知识库-法律法规") + @GetMapping("/list") + public AjaxResults> list(BEnterpriseIrLegalQuery bEnterpriseIrLegal) + { + Page page = new Page<>(bEnterpriseIrLegal.getPageNum(), bEnterpriseIrLegal.getPageSize()); + IPage list = bEnterpriseIrLegalService.page(page, BEnterpriseIrLegalQuery.createLambdaQueryWrapper(bEnterpriseIrLegal)); + return AjaxResults.success(list); + } + + + /** + * 导出知识库-法律法规列表 + */ + @ApiOperation(value = "导出知识库-法律法规") + @Log(title = "知识库-法律法规", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrLegal bEnterpriseIrLegal) + { + List list = bEnterpriseIrLegalService.selectBEnterpriseIrLegalList(bEnterpriseIrLegal); + ExcelUtil util = new ExcelUtil(BEnterpriseIrLegal.class); + util.exportExcel(response, list, "知识库-法律法规数据"); + } + + /** + * 获取知识库-法律法规详细信息 + */ + @ApiOperation(value = "获取知识库-法律法规详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bEnterpriseIrLegalService.getById(id)); + } + /** + * 新增知识库-法律法规 + */ + @ApiOperation(value = "新增知识库-法律法规") + @Log(title = "知识库-法律法规", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrLegal bEnterpriseIrLegal) { + return toAjax(bEnterpriseIrLegalService.save(bEnterpriseIrLegal)); + } + /** + * 修改知识库-法律法规 + */ + @ApiOperation(value = "修改知识库-法律法规") + @Log(title = "知识库-法律法规", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrLegalVo bEnterpriseIrLegalVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrLegalVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrLegalVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrLegal bEnterpriseIrLegal = bEnterpriseIrLegalService.getById(bEnterpriseIrLegalVo.getId()); + if(ObjectUtil.isEmpty(bEnterpriseIrLegal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrLegalVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrLegalVo,bEnterpriseIrLegal); + return toAjax(bEnterpriseIrLegalService.saveOrUpdate(bEnterpriseIrLegal)); + } + + /** + * 删除知识库-法律法规 + */ + @ApiOperation(value = "删除知识库-法律法规") + @RequiresPermissions("talroad:legal:remove") + @Log(title = "知识库-法律法规", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bEnterpriseIrLegalService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrNotifierproNoticeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrNotifierproNoticeController.java new file mode 100644 index 0000000..faff6ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrNotifierproNoticeController.java @@ -0,0 +1,147 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import cn.cecep.talroad.service.IBEnterpriseIrNotifierproNoticeService; +import cn.cecep.talroad.vo.BEnterpriseIrNotifierproNoticeVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrNotifierproNoticeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.shaded.com.google.common.base.Objects; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.*; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 通知提醒-通知公告Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "A通知提醒-通知公告") +@RestController +@RequestMapping("/notice") +public class BEnterpriseIrNotifierproNoticeController extends BasesController +{ + @Autowired + private IBEnterpriseIrNotifierproNoticeService bEnterpriseIrNotifierproNoticeService; + + @ApiOperation(value = "查询企业通知公告类型") + @GetMapping("/selectOptions/{factoryId}") + public AjaxResults>> selectOptions(@PathVariable(value = "factoryId") String factoryId) + { + return AjaxResults.success(bEnterpriseIrNotifierproNoticeService.selectOptions(factoryId)); + } + + /** + * 查询通知提醒-通知公告列表 + */ + @ApiOperation(value = "分页列表查询-通知公告") + @GetMapping("/list") + public AjaxResults> list(@Valid BEnterpriseIrNotifierproNoticeQuery bEnterpriseIrNotifierproNotice) throws ParseException { + Page page = new Page<>(bEnterpriseIrNotifierproNotice.getPageNum(), bEnterpriseIrNotifierproNotice.getPageSize()); + IPage list = bEnterpriseIrNotifierproNoticeService.page(page, BEnterpriseIrNotifierproNoticeQuery.createLambdaQueryWrapper(bEnterpriseIrNotifierproNotice)); + return AjaxResults.success(list); + } + + + /** + * 导出通知提醒-通知公告列表 + */ + @ApiOperation(value = "导出通知提醒-通知公告") + @Log(title = "通知提醒-通知公告", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice) + { + List list = bEnterpriseIrNotifierproNoticeService.selectBEnterpriseIrNotifierproNoticeList(bEnterpriseIrNotifierproNotice); + ExcelUtil util = new ExcelUtil(BEnterpriseIrNotifierproNotice.class); + util.exportExcel(response, list, "通知提醒-通知公告数据"); + } + + /** + * 获取通知提醒-通知公告详细信息 + */ + @ApiOperation(value = "单条查询-通知公告详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bEnterpriseIrNotifierproNoticeService.getById(id)); + } + /** + * 新增通知提醒-通知公告 + */ + @ApiOperation(value = "新增通知提醒-通知公告") + @Log(title = "通知提醒-通知公告", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice) { + return toAjax(bEnterpriseIrNotifierproNoticeService.save(bEnterpriseIrNotifierproNotice)); + } + /** + * 修改通知提醒-通知公告 + */ + @ApiOperation(value = "修改通知提醒-通知公告") + @Log(title = "通知提醒-通知公告", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrNotifierproNoticeVo bEnterpriseIrNotifierproNoticeVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrNotifierproNoticeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrNotifierproNoticeVo.getNoticeId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice = bEnterpriseIrNotifierproNoticeService.getById(bEnterpriseIrNotifierproNoticeVo.getNoticeId()); + if(ObjectUtil.isEmpty(bEnterpriseIrNotifierproNotice)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrNotifierproNoticeVo.getNoticeId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrNotifierproNoticeVo,bEnterpriseIrNotifierproNotice); + return toAjax(bEnterpriseIrNotifierproNoticeService.saveOrUpdate(bEnterpriseIrNotifierproNotice)); + } + + /** + * 已读修改 + */ + @ApiOperation(value = "已读-修改状态") + @Log(title = "已读-修改状态", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editStatus/{noticeId}") + public AjaxResults editStatus(@PathVariable(value = "noticeId") Long noticeId) { + BEnterpriseIrNotifierproNotice entity = bEnterpriseIrNotifierproNoticeService.getBaseMapper().selectById(noticeId); + if(entity == null){ + throw new ServiceException("数据不存在,请刷新!"); + } + if(Objects.equal(entity.getStatus(), "1")){ + return toAjax(true); + } + entity.setStatus("1"); + entity.setUpdateTime(new Date()); + return toAjax(bEnterpriseIrNotifierproNoticeService.updateById(entity)); + } + + /** + * 删除通知提醒-通知公告 + */ + @ApiOperation(value = "删除通知提醒-通知公告") + @RequiresPermissions("talroad:notice:remove") + @Log(title = "通知提醒-通知公告", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bEnterpriseIrNotifierproNoticeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrSdoeptController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrSdoeptController.java new file mode 100644 index 0000000..8cc2815 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseIrSdoeptController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BEnterpriseIrSdoept; +import cn.cecep.talroad.service.IBEnterpriseIrSdoeptService; +import cn.cecep.talroad.vo.BEnterpriseIrSdoeptVo; +import cn.cecep.talroad.vo.query.BEnterpriseIrSdoeptQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 知识库-排污治理科普库Controller 控制层 + * + * @author szhpt + * @date 2023-03-14*/ +@Api(tags = "知识库-排污治理科普库") +@RestController +@RequestMapping("/sdoept") +public class BEnterpriseIrSdoeptController extends BasesController +{ + @Autowired + private IBEnterpriseIrSdoeptService bEnterpriseIrSdoeptService; + + /** + * 查询知识库-排污治理科普库列表 + */ + @ApiOperation(value = "查询知识库-排污治理科普库") + @GetMapping("/list") + public AjaxResults> list(BEnterpriseIrSdoeptQuery bEnterpriseIrSdoept) + { + Page page = new Page<>(bEnterpriseIrSdoept.getPageNum(), bEnterpriseIrSdoept.getPageSize()); + IPage list = bEnterpriseIrSdoeptService.page(page, BEnterpriseIrSdoeptQuery.createLambdaQueryWrapper(bEnterpriseIrSdoept)); + return AjaxResults.success(list); + } + + + /** + * 导出知识库-排污治理科普库列表 + */ + @ApiOperation(value = "导出知识库-排污治理科普库") + @Log(title = "知识库-排污治理科普库", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BEnterpriseIrSdoept bEnterpriseIrSdoept) + { + List list = bEnterpriseIrSdoeptService.selectBEnterpriseIrSdoeptList(bEnterpriseIrSdoept); + ExcelUtil util = new ExcelUtil(BEnterpriseIrSdoept.class); + util.exportExcel(response, list, "知识库-排污治理科普库数据"); + } + + /** + * 获取知识库-排污治理科普库详细信息 + */ + @ApiOperation(value = "获取知识库-排污治理科普库详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bEnterpriseIrSdoeptService.getById(id)); + } + /** + * 新增知识库-排污治理科普库 + */ + @ApiOperation(value = "新增知识库-排污治理科普库") + @Log(title = "知识库-排污治理科普库", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BEnterpriseIrSdoept bEnterpriseIrSdoept) { + return toAjax(bEnterpriseIrSdoeptService.save(bEnterpriseIrSdoept)); + } + /** + * 修改知识库-排污治理科普库 + */ + @ApiOperation(value = "修改知识库-排污治理科普库") + @Log(title = "知识库-排污治理科普库", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BEnterpriseIrSdoeptVo bEnterpriseIrSdoeptVo) { + if(ObjectUtil.isEmpty(bEnterpriseIrSdoeptVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bEnterpriseIrSdoeptVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BEnterpriseIrSdoept bEnterpriseIrSdoept = bEnterpriseIrSdoeptService.getById(bEnterpriseIrSdoeptVo.getId()); + if(ObjectUtil.isEmpty(bEnterpriseIrSdoept)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bEnterpriseIrSdoeptVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bEnterpriseIrSdoeptVo,bEnterpriseIrSdoept); + return toAjax(bEnterpriseIrSdoeptService.saveOrUpdate(bEnterpriseIrSdoept)); + } + + /** + * 删除知识库-排污治理科普库 + */ + @ApiOperation(value = "删除知识库-排污治理科普库") + @RequiresPermissions("talroad:sdoept:remove") + @Log(title = "知识库-排污治理科普库", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bEnterpriseIrSdoeptService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseRiskAssessmentController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseRiskAssessmentController.java new file mode 100644 index 0000000..6f473d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BEnterpriseRiskAssessmentController.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessment; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessmentLast; +import cn.cecep.talroad.service.BEnterpriseRiskAssessmentService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * @Author: weizhuang + * @Date:2023/3/16 14:23 + * @Version 1.0 + */ +@Api(tags = "A企业风险评估") +@RestController +@RequestMapping("/riskAssessment") +public class BEnterpriseRiskAssessmentController extends BasesController { + + @Autowired + private BEnterpriseRiskAssessmentService bEnterpriseRiskAssessmentService; + + + /** + * 获取企业基本信息详细信息 + */ + @ApiOperation(value = "查询企业风险评估-新版") + @GetMapping(value = "/last/{factoryId}") + public AjaxResults> getLastInfo(@PathVariable("factoryId") String factoryId) { + return AjaxResults.success(bEnterpriseRiskAssessmentService.getLastInfo(factoryId)); + } + + /** + * 获取企业基本信息详细信息 + */ + @ApiOperation(value = "查询企业风险评估-老版") + @GetMapping(value = "/{factoryId}") + public AjaxResults getInfo(@PathVariable("factoryId") String factoryId) { + return AjaxResults.success(bEnterpriseRiskAssessmentService.getInfo(factoryId)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainActionReportsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainActionReportsController.java new file mode 100644 index 0000000..355eec7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainActionReportsController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainActionReports; +import cn.cecep.talroad.service.IBMainActionReportsService; +import cn.cecep.talroad.vo.BMainActionReportsVo; +import cn.cecep.talroad.vo.query.BMainActionReportsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告Controller 控制层 + * + * @author szhpt + * @date 2023-01-11*/ +@Api(tags = "业务--执行报告") +@RestController +@RequestMapping("/bMainActionReports") +public class BMainActionReportsController extends BasesController +{ + @Autowired + private IBMainActionReportsService bMainActionReportsService; + + /** + * 查询执行报告列表 + */ + @ApiOperation(value = "查询执行报告") + @GetMapping("/list") + public AjaxResults> list(BMainActionReportsQuery bMainActionReports) + { + Page page = new Page<>(bMainActionReports.getPageNum(), bMainActionReports.getPageSize()); + IPage list = bMainActionReportsService.page(page, BMainActionReportsQuery.createLambdaQueryWrapper(bMainActionReports)); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告列表 + */ + @ApiOperation(value = "导出执行报告") + @Log(title = "执行报告", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainActionReports bMainActionReports) + { + List list = bMainActionReportsService.selectBMainActionReportsList(bMainActionReports); + ExcelUtil util = new ExcelUtil(BMainActionReports.class); + util.exportExcel(response, list, "执行报告数据"); + } + + /** + * 获取执行报告详细信息 + */ + @ApiOperation(value = "获取执行报告详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainActionReportsService.getById(id)); + } + /** + * 新增执行报告 + */ + @ApiOperation(value = "新增执行报告") + @Log(title = "执行报告", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainActionReports bMainActionReports) { + return toAjax(bMainActionReportsService.save(bMainActionReports)); + } + /** + * 修改执行报告 + */ + @ApiOperation(value = "修改执行报告") + @Log(title = "执行报告", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainActionReportsVo bMainActionReportsVo) { + if(ObjectUtil.isEmpty(bMainActionReportsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainActionReportsVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainActionReports bMainActionReports = bMainActionReportsService.getById(bMainActionReportsVo.getId()); + if(ObjectUtil.isEmpty(bMainActionReports)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainActionReportsVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainActionReportsVo,bMainActionReports); + return toAjax(bMainActionReportsService.saveOrUpdate(bMainActionReports)); + } + + /** + * 删除执行报告 + */ + @ApiOperation(value = "删除执行报告") + @RequiresPermissions("talroad:reports:remove") + @Log(title = "执行报告", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainActionReportsService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionAirController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionAirController.java new file mode 100644 index 0000000..dcdbbc1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionAirController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import cn.cecep.talroad.service.IBMainAllowablePollutionAirService; +import cn.cecep.talroad.vo.BMainAllowablePollutionAirVo; +import cn.cecep.talroad.vo.query.BMainAllowablePollutionAirQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 总许可量-大气排放总许可量要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "总许可量-大气排放总许可量要求") +@RestController +@RequestMapping("/bmainAllowablePollutionAir") +public class BMainAllowablePollutionAirController extends BasesController +{ + @Autowired + private IBMainAllowablePollutionAirService bMainAllowablePollutionAirService; + + /** + * 查询总许可量-大气排放总许可量要求列表 + */ + @ApiOperation(value = "查询总许可量-大气排放总许可量要求") + @GetMapping("/list") + public AjaxResults> list(BMainAllowablePollutionAirQuery bMainAllowablePollutionAir) + { + Page page = new Page<>(bMainAllowablePollutionAir.getPageNum(), bMainAllowablePollutionAir.getPageSize()); + IPage list = bMainAllowablePollutionAirService.selectBMainAllowablePollutionAirPageList(page, BMainAllowablePollutionAirQuery.createLambdaQueryWrapper(bMainAllowablePollutionAir)); + return AjaxResults.success(list); + } + + + /** + * 导出总许可量-大气排放总许可量要求列表 + */ + @ApiOperation(value = "导出总许可量-大气排放总许可量要求") + @Log(title = "总许可量-大气排放总许可量要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainAllowablePollutionAir bMainAllowablePollutionAir) + { + List list = bMainAllowablePollutionAirService.selectBMainAllowablePollutionAirList(bMainAllowablePollutionAir); + ExcelUtil util = new ExcelUtil(BMainAllowablePollutionAir.class); + util.exportExcel(response, list, "总许可量-大气排放总许可量要求数据"); + } + + /** + * 获取总许可量-大气排放总许可量要求详细信息 + */ + @ApiOperation(value = "获取总许可量-大气排放总许可量要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainAllowablePollutionAirService.getById(id)); + } + /** + * 新增总许可量-大气排放总许可量要求 + */ + @ApiOperation(value = "新增总许可量-大气排放总许可量要求") + @Log(title = "总许可量-大气排放总许可量要求", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainAllowablePollutionAir bMainAllowablePollutionAir) { + return toAjax(bMainAllowablePollutionAirService.save(bMainAllowablePollutionAir)); + } + /** + * 修改总许可量-大气排放总许可量要求 + */ + @ApiOperation(value = "修改总许可量-大气排放总许可量要求") + @Log(title = "总许可量-大气排放总许可量要求", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainAllowablePollutionAirVo bMainAllowablePollutionAirVo) { + if(ObjectUtil.isEmpty(bMainAllowablePollutionAirVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainAllowablePollutionAirVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainAllowablePollutionAir bMainAllowablePollutionAir = bMainAllowablePollutionAirService.getById(bMainAllowablePollutionAirVo.getId()); + if(ObjectUtil.isEmpty(bMainAllowablePollutionAir)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainAllowablePollutionAirVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainAllowablePollutionAirVo,bMainAllowablePollutionAir); + return toAjax(bMainAllowablePollutionAirService.saveOrUpdate(bMainAllowablePollutionAir)); + } + + /** + * 删除总许可量-大气排放总许可量要求 + */ + @ApiOperation(value = "删除总许可量-大气排放总许可量要求") + @RequiresPermissions("talroad:bmainAllowablePollutionAir:remove") + @Log(title = "总许可量-大气排放总许可量要求", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainAllowablePollutionAirService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionWaterController.java new file mode 100644 index 0000000..a2043e1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainAllowablePollutionWaterController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import cn.cecep.talroad.service.IBMainAllowablePollutionWaterService; +import cn.cecep.talroad.vo.BMainAllowablePollutionWaterVo; +import cn.cecep.talroad.vo.query.BMainAllowablePollutionWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 总许可量- 废水排放总许可量要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "总许可量- 废水排放总许可量要求") +@RestController +@RequestMapping("/bmainAllowablePollutionWater") +public class BMainAllowablePollutionWaterController extends BasesController +{ + @Autowired + private IBMainAllowablePollutionWaterService bMainAllowablePollutionWaterService; + + /** + * 查询总许可量- 废水排放总许可量要求列表 + */ + @ApiOperation(value = "查询总许可量- 废水排放总许可量要求") + @GetMapping("/list") + public AjaxResults> list(BMainAllowablePollutionWaterQuery bMainAllowablePollutionWater) + { + Page page = new Page<>(bMainAllowablePollutionWater.getPageNum(), bMainAllowablePollutionWater.getPageSize()); + IPage list = bMainAllowablePollutionWaterService.selectBMainAllowablePollutionWaterPageList(page, BMainAllowablePollutionWaterQuery.createLambdaQueryWrapper(bMainAllowablePollutionWater)); + return AjaxResults.success(list); + } + + + /** + * 导出总许可量- 废水排放总许可量要求列表 + */ + @ApiOperation(value = "导出总许可量- 废水排放总许可量要求") + @Log(title = "总许可量- 废水排放总许可量要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainAllowablePollutionWater bMainAllowablePollutionWater) + { + List list = bMainAllowablePollutionWaterService.selectBMainAllowablePollutionWaterList(bMainAllowablePollutionWater); + ExcelUtil util = new ExcelUtil(BMainAllowablePollutionWater.class); + util.exportExcel(response, list, "总许可量- 废水排放总许可量要求数据"); + } + + /** + * 获取总许可量- 废水排放总许可量要求详细信息 + */ + @ApiOperation(value = "获取总许可量- 废水排放总许可量要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainAllowablePollutionWaterService.getById(id)); + } + /** + * 新增总许可量- 废水排放总许可量要求 + */ + @ApiOperation(value = "新增总许可量- 废水排放总许可量要求") + @Log(title = "总许可量- 废水排放总许可量要求", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainAllowablePollutionWater bMainAllowablePollutionWater) { + return toAjax(bMainAllowablePollutionWaterService.save(bMainAllowablePollutionWater)); + } + /** + * 修改总许可量- 废水排放总许可量要求 + */ + @ApiOperation(value = "修改总许可量- 废水排放总许可量要求") + @Log(title = "总许可量- 废水排放总许可量要求", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainAllowablePollutionWaterVo bMainAllowablePollutionWaterVo) { + if(ObjectUtil.isEmpty(bMainAllowablePollutionWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainAllowablePollutionWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainAllowablePollutionWater bMainAllowablePollutionWater = bMainAllowablePollutionWaterService.getById(bMainAllowablePollutionWaterVo.getId()); + if(ObjectUtil.isEmpty(bMainAllowablePollutionWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainAllowablePollutionWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainAllowablePollutionWaterVo,bMainAllowablePollutionWater); + return toAjax(bMainAllowablePollutionWaterService.saveOrUpdate(bMainAllowablePollutionWater)); + } + + /** + * 删除总许可量- 废水排放总许可量要求 + */ + @ApiOperation(value = "删除总许可量- 废水排放总许可量要求") + @RequiresPermissions("talroad:bmainAllowablePollutionWater:remove") + @Log(title = "总许可量- 废水排放总许可量要求", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainAllowablePollutionWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonAirController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonAirController.java new file mode 100644 index 0000000..6ad3c38 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonAirController.java @@ -0,0 +1,298 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionOnlineMonAir; +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import cn.cecep.talroad.service.IBMainEmissionOnlineMonAirService; +import cn.cecep.talroad.service.IBMainEmissionOnlineMonWaterService; +import cn.cecep.talroad.util.CustomDateUtil; +import cn.cecep.talroad.vo.BMainEmissionOnlineMonAirVo; +import cn.cecep.talroad.vo.ChartVo; +import cn.cecep.talroad.vo.query.BMainEmissionOnlineMonAirQuery; +import cn.cecep.talroad.vo.query.BMainEmissionOnlineMonWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Maps; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-在线监测排放趋势-废气Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-在线监测排放趋势-废气") +@RestController +@RequestMapping("/bmainEmissionOnlineMonAir") +public class BMainEmissionOnlineMonAirController extends BasesController +{ + @Autowired + private IBMainEmissionOnlineMonAirService bMainEmissionOnlineMonAirService; + + @Autowired + private IBMainEmissionOnlineMonWaterService bMainEmissionOnlineMonWaterService; + + /** + * 查询企业排放信息-在线监测排放趋势-监测点列表 + */ + @ApiOperation(value = "污染类别查询监测点位") + @GetMapping("/pullPoints") + public AjaxResults>> pullPollutants(BMainEmissionOnlineMonAirQuery bMainEmissionOnlineMonAir) + { + List> maps = Lists.newArrayList(); + List polls = Lists.newArrayList(); + if(bMainEmissionOnlineMonAir.getFacts().equals("废气")){ + List list = bMainEmissionOnlineMonAirService.list(new QueryWrapper().eq("factory_id", bMainEmissionOnlineMonAir.getFactoryId()).isNotNull("mon_name")); + if(!CollectionUtils.isEmpty(list)){ + polls.addAll(list.stream().map(BMainEmissionOnlineMonAir::getMonName).distinct().collect(Collectors.toList())); + } + } else if (bMainEmissionOnlineMonAir.getFacts().equals("废水")){ + List list = bMainEmissionOnlineMonWaterService.list(new QueryWrapper().eq("factory_id", bMainEmissionOnlineMonAir.getFactoryId()).isNotNull("mon_name")); + if(!CollectionUtils.isEmpty(list)){ + polls.addAll(list.stream().map(BMainEmissionOnlineMonWater::getMonName).distinct().collect(Collectors.toList())); + } + } + if(!CollectionUtils.isEmpty(polls)){ + polls.forEach(p->{ + Map map = Maps.newHashMap(); + map.put("label", p); + map.put("value", p); + maps.add(map); + }); + } + return AjaxResults.success(maps); + } + + /** + * 废气-废水-导出企业排放信息-在线监测排放趋势 + */ + @ApiOperation(value = "废气-废水-导出企业排放信息-在线监测排放趋势") + @Log(title = "废气-废水-导出企业排放信息-在线监测排放趋势", businessType = BusinessType.EXPORT) + @PostMapping("/chart/export") + public void chartExport(HttpServletResponse response, @Valid @RequestBody BMainEmissionOnlineMonAirQuery bMainEmissionOnlineMonAir) throws ParseException { + switch(bMainEmissionOnlineMonAir.getFacts()){ + case "废气": + bMainEmissionOnlineMonAir.setSearchBeginTime(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), "yyyy-MM-dd HH").toString()); + bMainEmissionOnlineMonAir.setSearchEndTime(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), "yyyy-MM-dd HH").toString()); + List airTables = bMainEmissionOnlineMonAirService.list(BMainEmissionOnlineMonAirQuery.createLambdaQueryWrapper(bMainEmissionOnlineMonAir)); + ExcelUtil util = new ExcelUtil(BMainEmissionOnlineMonAir.class); + util.exportExcel(response, airTables, "企业点位"+bMainEmissionOnlineMonAir.getMonName()+"排放信息-在线监测排放趋势-废气数据"); + break; + case "废水": + String searchBeginTime = DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), "yyyy-MM-dd").toString(); + String searchEndTime = DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), "yyyy-MM-dd").toString(); + List waterTables = bMainEmissionOnlineMonWaterService.list(BMainEmissionOnlineMonWaterQuery.createLambdaQueryWrapper(new BMainEmissionOnlineMonWaterQuery(bMainEmissionOnlineMonAir.getMonName(), searchBeginTime, searchEndTime))); + ExcelUtil waterUtil = new ExcelUtil(BMainEmissionOnlineMonWater.class); + waterUtil.exportExcel(response, waterTables, "企业点位"+bMainEmissionOnlineMonAir.getMonName()+"排放信息-在线监测排放趋势-废水数据"); + break; + } + } + + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + */ + @ApiOperation(value = "废气-废水-(图表+列表)查询企业排放信息-在线监测排放趋势") + @GetMapping("/chart") + public AjaxResults> chart(@Valid BMainEmissionOnlineMonAirQuery bMainEmissionOnlineMonAir) throws ParseException { + Map res = Maps.newHashMap(); + ChartVo chartVo = new ChartVo(); + switch(bMainEmissionOnlineMonAir.getFacts()){ + case "废气": + bMainEmissionOnlineMonAir.setSearchBeginTime(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), "yyyy-MM-dd HH").toString()); + bMainEmissionOnlineMonAir.setSearchEndTime(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), "yyyy-MM-dd HH").toString()); + List airTables = bMainEmissionOnlineMonAirService.list(BMainEmissionOnlineMonAirQuery.createLambdaQueryWrapper(bMainEmissionOnlineMonAir)); + if(!CollectionUtils.isEmpty(airTables)){ + chartVo.setLegendData(airTables.stream().map(BMainEmissionOnlineMonAir::getPollutionType).distinct().collect(Collectors.toList()).toArray(new Object[0])); +// chartVo.setXsxisData(formateDateLists(waterTables.stream().map(BMainEmissionOnlineMonWater::getMonitoningTime).distinct().collect(Collectors.toList()), "yyyy-MM-dd ")); + chartVo.setXsxisData(airTables.stream().map(BMainEmissionOnlineMonAir::getMonitoningTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + Map> airMaps = airTables.stream().collect(Collectors.groupingBy(BMainEmissionOnlineMonAir::getPollutionType)); + List> seriesData = Lists.newArrayList(); + airMaps.forEach((air, data)->{ + Map map = Maps.newHashMap(); + map.put("name", air); + Map> timeMaps = CollectionUtils.isEmpty(data) ? Maps.newHashMap() : data.stream().collect(Collectors.groupingBy(BMainEmissionOnlineMonAir::getMonitoningTime)); + List y = Lists.newArrayList(); + for (Object time : chartVo.getXsxisData()) { + if(timeMaps.containsKey(time)){ + y.add(timeMaps.get(time).get(0).getPollutionDischarge()); + } else { + y.add("--"); + } + } + map.put("data", y); + seriesData.add(map); + }); + chartVo.setSeriesData(seriesData); + chartVo.setXsxisData(formateDateLists(airTables.stream().map(BMainEmissionOnlineMonAir::getMonitoningTime).distinct().collect(Collectors.toList()), "yyyy-MM-dd HH")); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + chartVo.setLegendData(new Object[0]); + } + res.put("table", airTables); + break; + case "废水": + String searchBeginTime = DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), "yyyy-MM-dd").toString(); + String searchEndTime = DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), "yyyy-MM-dd").toString(); + List waterTables = bMainEmissionOnlineMonWaterService.list(BMainEmissionOnlineMonWaterQuery.createLambdaQueryWrapper(new BMainEmissionOnlineMonWaterQuery(bMainEmissionOnlineMonAir.getMonName(), searchBeginTime, searchEndTime))); + if(!CollectionUtils.isEmpty(waterTables)){ + chartVo.setLegendData(waterTables.stream().map(BMainEmissionOnlineMonWater::getPollutionType).distinct().collect(Collectors.toList()).toArray(new Object[0])); +// chartVo.setXsxisData(formateDateLists(waterTables.stream().map(BMainEmissionOnlineMonWater::getMonitoningTime).distinct().collect(Collectors.toList()), "yyyy-MM-dd")); + chartVo.setXsxisData(waterTables.stream().map(BMainEmissionOnlineMonWater::getMonitoningTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + Map> waterMaps = waterTables.stream().collect(Collectors.groupingBy(BMainEmissionOnlineMonWater::getPollutionType)); + List> seriesData = Lists.newArrayList(); + waterMaps.forEach((water, data)->{ + Map map = Maps.newHashMap(); + map.put("name", water); + Map> timeMaps = CollectionUtils.isEmpty(data) ? Maps.newHashMap() : data.stream().collect(Collectors.groupingBy(BMainEmissionOnlineMonWater::getMonitoningTime)); + List y = Lists.newArrayList(); + for (Object time : chartVo.getXsxisData()) { + if(timeMaps.containsKey(time)){ + y.add(timeMaps.get(time).get(0).getPollutionDischarge()); + } else { + y.add("--"); + } + } + map.put("data", y); + seriesData.add(map); + }); + chartVo.setSeriesData(seriesData); + chartVo.setXsxisData(formateDateLists(waterTables.stream().map(BMainEmissionOnlineMonWater::getMonitoningTime).distinct().collect(Collectors.toList()), "yyyy-MM-dd")); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + chartVo.setLegendData(new Object[0]); + } + res.put("table", waterTables); + break; + } + List xsxisDatas = Lists.newArrayList(); + if(bMainEmissionOnlineMonAir.getFacts().equals("废气")){ + xsxisDatas.addAll(CustomDateUtil.getAllHours(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), CustomDateUtil.HOUR_PATTERN), DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), CustomDateUtil.HOUR_PATTERN), CustomDateUtil.HOUR_PATTERN)); + } else if (bMainEmissionOnlineMonAir.getFacts().equals("废水")){ + xsxisDatas.addAll(CustomDateUtil.getAllDays(DateUtil.parse(bMainEmissionOnlineMonAir.getSearchBeginTime(), CustomDateUtil.DATE_PATTERN), DateUtil.parse(bMainEmissionOnlineMonAir.getSearchEndTime(), CustomDateUtil.DATE_PATTERN), CustomDateUtil.DATE_PATTERN)); + } + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(xsxisDatas.stream().toArray()); + } + // 数据缺失, 补全x轴及对应数据 + if(chartVo.getXsxisData().length != xsxisDatas.size()){ + CustomDateUtil.packEcharts(chartVo, xsxisDatas); + } + res.put("chart", chartVo); + return AjaxResults.success(res); + } + + private Object[] formateDateLists(List source, String format){ + Object[] res = new Object[source.size()]; + for (int i = 0; i < source.size(); i++) { + res[i] = DateUtils.parseDateToStr(format, source.get(i)); + } + return res; + } + + + /** + * 查询企业排放信息-在线监测排放趋势-废气列表 + */ + @ApiOperation(value = "查询企业排放信息-在线监测排放趋势-废气") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionOnlineMonAirQuery bMainEmissionOnlineMonAir) throws ParseException { + Page page = new Page<>(bMainEmissionOnlineMonAir.getPageNum(), bMainEmissionOnlineMonAir.getPageSize()); + IPage list = bMainEmissionOnlineMonAirService.page(page, BMainEmissionOnlineMonAirQuery.createLambdaQueryWrapper(bMainEmissionOnlineMonAir)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-在线监测排放趋势-废气列表 + */ + @ApiOperation(value = "导出企业排放信息-在线监测排放趋势-废气") + @Log(title = "企业排放信息-在线监测排放趋势-废气", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir) + { + List list = bMainEmissionOnlineMonAirService.selectBMainEmissionOnlineMonAirList(bMainEmissionOnlineMonAir); + ExcelUtil util = new ExcelUtil(BMainEmissionOnlineMonAir.class); + util.exportExcel(response, list, "企业排放信息-在线监测排放趋势-废气数据"); + } + + /** + * 获取企业排放信息-在线监测排放趋势-废气详细信息 + */ + @ApiOperation(value = "获取企业排放信息-在线监测排放趋势-废气详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionOnlineMonAirService.getById(id)); + } + /** + * 新增企业排放信息-在线监测排放趋势-废气 + */ + @ApiOperation(value = "新增企业排放信息-在线监测排放趋势-废气") + @Log(title = "企业排放信息-在线监测排放趋势-废气", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir) { + return toAjax(bMainEmissionOnlineMonAirService.save(bMainEmissionOnlineMonAir)); + } + /** + * 修改企业排放信息-在线监测排放趋势-废气 + */ + @ApiOperation(value = "修改企业排放信息-在线监测排放趋势-废气") + @Log(title = "企业排放信息-在线监测排放趋势-废气", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionOnlineMonAirVo bMainEmissionOnlineMonAirVo) { + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonAirVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonAirVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir = bMainEmissionOnlineMonAirService.getById(bMainEmissionOnlineMonAirVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonAir)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionOnlineMonAirVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionOnlineMonAirVo,bMainEmissionOnlineMonAir); + return toAjax(bMainEmissionOnlineMonAirService.saveOrUpdate(bMainEmissionOnlineMonAir)); + } + + /** + * 删除企业排放信息-在线监测排放趋势-废气 + */ + @ApiOperation(value = "删除企业排放信息-在线监测排放趋势-废气") + @RequiresPermissions("talroad:bmainEmissionOnlineMonAir:remove") + @Log(title = "企业排放信息-在线监测排放趋势-废气", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionOnlineMonAirService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonWaterController.java new file mode 100644 index 0000000..b2d8696 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionOnlineMonWaterController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import cn.cecep.talroad.service.IBMainEmissionOnlineMonWaterService; +import cn.cecep.talroad.vo.BMainEmissionOnlineMonWaterVo; +import cn.cecep.talroad.vo.query.BMainEmissionOnlineMonWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-在线监测排放趋势-废水Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-在线监测排放趋势-废水") +@RestController +@RequestMapping("/bmainEmissionOnlineMonWater") +public class BMainEmissionOnlineMonWaterController extends BasesController +{ + @Autowired + private IBMainEmissionOnlineMonWaterService bMainEmissionOnlineMonWaterService; + + /** + * 查询企业排放信息-在线监测排放趋势-废水列表 + */ + @ApiOperation(value = "查询企业排放信息-在线监测排放趋势-废水") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionOnlineMonWaterQuery bMainEmissionOnlineMonWater) throws ParseException { + Page page = new Page<>(bMainEmissionOnlineMonWater.getPageNum(), bMainEmissionOnlineMonWater.getPageSize()); + IPage list = bMainEmissionOnlineMonWaterService.page(page, BMainEmissionOnlineMonWaterQuery.createLambdaQueryWrapper(bMainEmissionOnlineMonWater)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-在线监测排放趋势-废水列表 + */ + @ApiOperation(value = "导出企业排放信息-在线监测排放趋势-废水") + @Log(title = "企业排放信息-在线监测排放趋势-废水", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater) + { + List list = bMainEmissionOnlineMonWaterService.selectBMainEmissionOnlineMonWaterList(bMainEmissionOnlineMonWater); + ExcelUtil util = new ExcelUtil(BMainEmissionOnlineMonWater.class); + util.exportExcel(response, list, "企业排放信息-在线监测排放趋势-废水数据"); + } + + /** + * 获取企业排放信息-在线监测排放趋势-废水详细信息 + */ + @ApiOperation(value = "获取企业排放信息-在线监测排放趋势-废水详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionOnlineMonWaterService.getById(id)); + } + /** + * 新增企业排放信息-在线监测排放趋势-废水 + */ + @ApiOperation(value = "新增企业排放信息-在线监测排放趋势-废水") + @Log(title = "企业排放信息-在线监测排放趋势-废水", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater) { + return toAjax(bMainEmissionOnlineMonWaterService.save(bMainEmissionOnlineMonWater)); + } + /** + * 修改企业排放信息-在线监测排放趋势-废水 + */ + @ApiOperation(value = "修改企业排放信息-在线监测排放趋势-废水") + @Log(title = "企业排放信息-在线监测排放趋势-废水", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionOnlineMonWaterVo bMainEmissionOnlineMonWaterVo) { + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater = bMainEmissionOnlineMonWaterService.getById(bMainEmissionOnlineMonWaterVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionOnlineMonWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionOnlineMonWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionOnlineMonWaterVo,bMainEmissionOnlineMonWater); + return toAjax(bMainEmissionOnlineMonWaterService.saveOrUpdate(bMainEmissionOnlineMonWater)); + } + + /** + * 删除企业排放信息-在线监测排放趋势-废水 + */ + @ApiOperation(value = "删除企业排放信息-在线监测排放趋势-废水") + @RequiresPermissions("talroad:bmainEmissionOnlineMonWater:remove") + @Log(title = "企业排放信息-在线监测排放趋势-废水", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionOnlineMonWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionAirController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionAirController.java new file mode 100644 index 0000000..1527e1a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionAirController.java @@ -0,0 +1,294 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import cn.cecep.talroad.service.IBMainEmissionPollutionAirService; +import cn.cecep.talroad.service.IBMainEmissionPollutionSolidWasteService; +import cn.cecep.talroad.service.IBMainEmissionPollutionWaterService; +import cn.cecep.talroad.util.CustomDateUtil; +import cn.cecep.talroad.vo.BMainEmissionPollutionAirVo; +import cn.cecep.talroad.vo.ChartVo; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionAirQuery; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionSolidWasteQuery; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Maps; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-不同污染物年度排放趋势-废气Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-不同污染物年度排放趋势-废气") +@RestController +@RequestMapping("/bmainEmissionPollutionAir") +public class BMainEmissionPollutionAirController extends BasesController +{ + @Autowired + private IBMainEmissionPollutionAirService bMainEmissionPollutionAirService; + + @Autowired + private IBMainEmissionPollutionWaterService bMainEmissionPollutionWaterService; + + @Autowired + private IBMainEmissionPollutionSolidWasteService bMainEmissionPollutionSolidWaterService; + + /** + * 导出企业排放信息-不同污染物年度排放趋势-废气列表 + */ + @ApiOperation(value = "废气-废水-固废-导出企业排放信息-不同污染物年度排放趋势") + @Log(title = "废气-废水-固废-导出企业排放信息-不同污染物年度排放趋势", businessType = BusinessType.EXPORT) + @PostMapping("/chart/export") + public void chartExport(HttpServletResponse response, @Valid @RequestBody BMainEmissionPollutionAirQuery bMainEmissionPollutionAir) + { + switch(bMainEmissionPollutionAir.getPollutionCategory()){ + case "废气": + bMainEmissionPollutionAir.setPollutionCategory(null); + List airTables = bMainEmissionPollutionAirService.list(BMainEmissionPollutionAirQuery.createLambdaQueryWrapper(bMainEmissionPollutionAir)); + ExcelUtil util = new ExcelUtil(BMainEmissionPollutionAir.class); + util.exportExcel(response, airTables, "企业排放信息-不同污染物年度排放趋势-废气数据"); + break; + case "废水": + bMainEmissionPollutionAir.setPollutionCategory(null); + List waterTables = bMainEmissionPollutionWaterService.list(BMainEmissionPollutionWaterQuery.createLambdaQueryWrapper(new BMainEmissionPollutionWaterQuery(bMainEmissionPollutionAir.getPollutionCategory(), bMainEmissionPollutionAir.getDataSource(), bMainEmissionPollutionAir.getSearchBeginYear(), bMainEmissionPollutionAir.getSearchEndYear(), bMainEmissionPollutionAir.getFactoryId()))); + ExcelUtil waterUtil = new ExcelUtil(BMainEmissionPollutionWater.class); + waterUtil.exportExcel(response, waterTables, "企业排放信息-不同污染物年度排放趋势-废水数据"); + break; + case "固废": + List solidTables = bMainEmissionPollutionSolidWaterService.list(BMainEmissionPollutionSolidWasteQuery.createLambdaQueryWrapper(new BMainEmissionPollutionSolidWasteQuery(bMainEmissionPollutionAir.getPollutionCategory(), bMainEmissionPollutionAir.getDataSource(), bMainEmissionPollutionAir.getSearchBeginYear(), bMainEmissionPollutionAir.getSearchEndYear(), bMainEmissionPollutionAir.getFactoryId()))); + ExcelUtil solidUtil = new ExcelUtil(BMainEmissionPollutionSolidWaste.class); + solidUtil.exportExcel(response, solidTables, "企业排放信息-不同污染物年度排放趋势-固废数据"); + break; + } + } + + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + */ + @ApiOperation(value = "废气-废水-固废-(图表+列表)查询企业排放信息-不同污染物年度排放趋势") + @GetMapping("/chart") + public AjaxResults> chart(@Valid BMainEmissionPollutionAirQuery bMainEmissionPollutionAir) + { + + Map res = Maps.newHashMap(); + ChartVo chartVo = new ChartVo(); + switch(bMainEmissionPollutionAir.getPollutionCategory()){ + case "废气": + bMainEmissionPollutionAir.setPollutionCategory(null); + List legendData = Arrays.stream(ChartVo.AirPollutant.values()).distinct().map(ChartVo.AirPollutant::getCode).collect(Collectors.toList()); + chartVo.setLegendData(legendData.toArray(new Object[0])); + List airTables = bMainEmissionPollutionAirService.list(BMainEmissionPollutionAirQuery.createLambdaQueryWrapper(bMainEmissionPollutionAir)); + if(!CollectionUtils.isEmpty(airTables)){ + /*List xsxisData = Lists.newArrayList(); + for (int i = Integer.parseInt(tables.get(tables.size()-1).getPollYear()); i <= Integer.parseInt(tables.get(0).getPollYear()); i++) { + xsxisData.add(i); + }*/ + chartVo.setXsxisData(airTables.stream().map(BMainEmissionPollutionAir::getPollYear).distinct().collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (Object legendDatum : chartVo.getLegendData()) { + Map map = Maps.newHashMap(); + if (legendDatum.equals("SO₂")) { + map.put("name", legendDatum); + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingSo2).collect(Collectors.toList())); + }else if (legendDatum.equals("NOₓ")) { + map.put("name", legendDatum); + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingNox).collect(Collectors.toList())); + }else if (legendDatum.equals("颗粒物")) { + map.put("name", legendDatum); + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingPm).collect(Collectors.toList())); + }else if (legendDatum.equals("VOCs")) { + map.put("name", legendDatum); + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingVocs).collect(Collectors.toList())); + } + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + } + res.put("table", airTables); + break; + case "废水": + bMainEmissionPollutionAir.setPollutionCategory(null); + List waterLegendData = Arrays.stream(ChartVo.WaterPollutant.values()).distinct().map(ChartVo.WaterPollutant::getCode).distinct().collect(Collectors.toList()); + chartVo.setLegendData(waterLegendData.toArray(new Object[0])); + List waterTables = bMainEmissionPollutionWaterService.list(BMainEmissionPollutionWaterQuery.createLambdaQueryWrapper(new BMainEmissionPollutionWaterQuery(bMainEmissionPollutionAir.getPollutionCategory(), bMainEmissionPollutionAir.getDataSource(), bMainEmissionPollutionAir.getSearchBeginYear(), bMainEmissionPollutionAir.getSearchEndYear(), bMainEmissionPollutionAir.getFactoryId()))); + if(!CollectionUtils.isEmpty(waterTables)){ + chartVo.setXsxisData(waterTables.stream().map(BMainEmissionPollutionWater::getPollYear).distinct().collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (Object legendDatum : chartVo.getLegendData()) { + Map map = Maps.newHashMap(); + if (legendDatum.equals("COD")) { + map.put("name", legendDatum); + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingCod).collect(Collectors.toList())); + }else if (legendDatum.equals("氨氮")) { + map.put("name", legendDatum); + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingNhn).collect(Collectors.toList())); + }else if (legendDatum.equals("总氮")) { + map.put("name", legendDatum); + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingTn).collect(Collectors.toList())); + }else if (legendDatum.equals("总磷")) { + map.put("name", legendDatum); + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingTp).collect(Collectors.toList())); + } + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + } + res.put("table", waterTables); + break; + case "固废": + List solidTables = bMainEmissionPollutionSolidWaterService.list(BMainEmissionPollutionSolidWasteQuery.createLambdaQueryWrapper(new BMainEmissionPollutionSolidWasteQuery(bMainEmissionPollutionAir.getPollutionCategory(), bMainEmissionPollutionAir.getDataSource(), bMainEmissionPollutionAir.getSearchBeginYear(), bMainEmissionPollutionAir.getSearchEndYear(), bMainEmissionPollutionAir.getFactoryId()))); + if(!CollectionUtils.isEmpty(solidTables)){ + List solidLegendData = solidTables.stream().map(BMainEmissionPollutionSolidWaste::getSolidWasteName).distinct().collect(Collectors.toList()); + chartVo.setLegendData(solidLegendData.toArray(new Object[0])); + chartVo.setXsxisData(solidTables.stream().map(BMainEmissionPollutionSolidWaste::getPollYear).distinct().collect(Collectors.toList()).toArray(new Object[0])); + Map> solidMaps = solidTables.stream().collect(Collectors.groupingBy(BMainEmissionPollutionSolidWaste::getSolidWasteName)); + List> seriesData = Lists.newArrayList(); + solidMaps.forEach((solid, data)->{ + Map map = Maps.newHashMap(); + map.put("name", solid); + Map> yearMaps = CollectionUtils.isEmpty(data) ? Maps.newHashMap() : data.stream().collect(Collectors.groupingBy(BMainEmissionPollutionSolidWaste::getPollYear)); + List y = Lists.newArrayList(); + for (Object year : chartVo.getXsxisData()) { + if(yearMaps.containsKey(year)){ + y.add(yearMaps.get(year).get(0).getAnnualActualProduction()); + } else { + y.add(null); + } + } + map.put("data", y); + seriesData.add(map); + }); + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + } + res.put("table", solidTables); + break; + } + if(bMainEmissionPollutionAir.getSearchBeginYear() != null && bMainEmissionPollutionAir.getSearchEndYear() != null){ + List xsxisDatas = CustomDateUtil.getAllYears(DateUtil.parse(bMainEmissionPollutionAir.getSearchBeginYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), DateUtil.parse(bMainEmissionPollutionAir.getSearchEndYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), CustomDateUtil.DATE_PATTERN_YEAR); + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(xsxisDatas.stream().toArray()); + } + // 数据缺失, 补全x轴及对应数据 + if(chartVo.getXsxisData().length != xsxisDatas.size()){ + CustomDateUtil.packEcharts(chartVo, xsxisDatas); + } + } + res.put("chart", chartVo); + return AjaxResults.success(res); + } + + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + */ + @ApiOperation(value = "查询企业排放信息-不同污染物年度排放趋势-废气") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionPollutionAirQuery bMainEmissionPollutionAir) + { + Page page = new Page<>(bMainEmissionPollutionAir.getPageNum(), bMainEmissionPollutionAir.getPageSize()); + IPage list = bMainEmissionPollutionAirService.page(page, BMainEmissionPollutionAirQuery.createLambdaQueryWrapper(bMainEmissionPollutionAir)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-不同污染物年度排放趋势-废气列表 + */ + @ApiOperation(value = "导出企业排放信息-不同污染物年度排放趋势-废气") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废气", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionPollutionAirQuery bMainEmissionPollutionAir) + { + List list = bMainEmissionPollutionAirService.list(BMainEmissionPollutionAirQuery.createLambdaQueryWrapper(bMainEmissionPollutionAir)); + ExcelUtil util = new ExcelUtil(BMainEmissionPollutionAir.class); + util.exportExcel(response, list, "企业排放信息-不同污染物年度排放趋势-废气数据"); + } + + /** + * 获取企业排放信息-不同污染物年度排放趋势-废气详细信息 + */ + @ApiOperation(value = "获取企业排放信息-不同污染物年度排放趋势-废气详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionPollutionAirService.getById(id)); + } + /** + * 新增企业排放信息-不同污染物年度排放趋势-废气 + */ + @ApiOperation(value = "新增企业排放信息-不同污染物年度排放趋势-废气") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废气", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionPollutionAir bMainEmissionPollutionAir) { + return toAjax(bMainEmissionPollutionAirService.save(bMainEmissionPollutionAir)); + } + /** + * 修改企业排放信息-不同污染物年度排放趋势-废气 + */ + @ApiOperation(value = "修改企业排放信息-不同污染物年度排放趋势-废气") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废气", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionPollutionAirVo bMainEmissionPollutionAirVo) { + if(ObjectUtil.isEmpty(bMainEmissionPollutionAirVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionPollutionAirVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionPollutionAir bMainEmissionPollutionAir = bMainEmissionPollutionAirService.getById(bMainEmissionPollutionAirVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionPollutionAir)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionPollutionAirVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionPollutionAirVo,bMainEmissionPollutionAir); + return toAjax(bMainEmissionPollutionAirService.saveOrUpdate(bMainEmissionPollutionAir)); + } + + /** + * 删除企业排放信息-不同污染物年度排放趋势-废气 + */ + @ApiOperation(value = "删除企业排放信息-不同污染物年度排放趋势-废气") + @RequiresPermissions("talroad:bmainEmissionPollutionAir:remove") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废气", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionPollutionAirService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionSolidWasteController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionSolidWasteController.java new file mode 100644 index 0000000..de05046 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionSolidWasteController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import cn.cecep.talroad.service.IBMainEmissionPollutionSolidWasteService; +import cn.cecep.talroad.vo.BMainEmissionPollutionSolidWasteVo; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionSolidWasteQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-不同污染物年度排放趋势-固废Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-不同污染物年度排放趋势-固废") +@RestController +@RequestMapping("/bmainEmissionPollutionSolidWaste") +public class BMainEmissionPollutionSolidWasteController extends BasesController +{ + @Autowired + private IBMainEmissionPollutionSolidWasteService bMainEmissionPollutionSolidWasteService; + + /** + * 查询企业排放信息-不同污染物年度排放趋势-固废列表 + */ + @ApiOperation(value = "查询企业排放信息-不同污染物年度排放趋势-固废") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionPollutionSolidWasteQuery bMainEmissionPollutionSolidWaste) + { + Page page = new Page<>(bMainEmissionPollutionSolidWaste.getPageNum(), bMainEmissionPollutionSolidWaste.getPageSize()); + IPage list = bMainEmissionPollutionSolidWasteService.page(page, BMainEmissionPollutionSolidWasteQuery.createLambdaQueryWrapper(bMainEmissionPollutionSolidWaste)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-不同污染物年度排放趋势-固废列表 + */ + @ApiOperation(value = "导出企业排放信息-不同污染物年度排放趋势-固废") + @Log(title = "企业排放信息-不同污染物年度排放趋势-固废", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste) + { + List list = bMainEmissionPollutionSolidWasteService.selectBMainEmissionPollutionSolidWasteList(bMainEmissionPollutionSolidWaste); + ExcelUtil util = new ExcelUtil(BMainEmissionPollutionSolidWaste.class); + util.exportExcel(response, list, "企业排放信息-不同污染物年度排放趋势-固废数据"); + } + + /** + * 获取企业排放信息-不同污染物年度排放趋势-固废详细信息 + */ + @ApiOperation(value = "获取企业排放信息-不同污染物年度排放趋势-固废详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionPollutionSolidWasteService.getById(id)); + } + /** + * 新增企业排放信息-不同污染物年度排放趋势-固废 + */ + @ApiOperation(value = "新增企业排放信息-不同污染物年度排放趋势-固废") + @Log(title = "企业排放信息-不同污染物年度排放趋势-固废", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste) { + return toAjax(bMainEmissionPollutionSolidWasteService.save(bMainEmissionPollutionSolidWaste)); + } + /** + * 修改企业排放信息-不同污染物年度排放趋势-固废 + */ + @ApiOperation(value = "修改企业排放信息-不同污染物年度排放趋势-固废") + @Log(title = "企业排放信息-不同污染物年度排放趋势-固废", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionPollutionSolidWasteVo bMainEmissionPollutionSolidWasteVo) { + if(ObjectUtil.isEmpty(bMainEmissionPollutionSolidWasteVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionPollutionSolidWasteVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste = bMainEmissionPollutionSolidWasteService.getById(bMainEmissionPollutionSolidWasteVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionPollutionSolidWaste)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionPollutionSolidWasteVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionPollutionSolidWasteVo,bMainEmissionPollutionSolidWaste); + return toAjax(bMainEmissionPollutionSolidWasteService.saveOrUpdate(bMainEmissionPollutionSolidWaste)); + } + + /** + * 删除企业排放信息-不同污染物年度排放趋势-固废 + */ + @ApiOperation(value = "删除企业排放信息-不同污染物年度排放趋势-固废") + @RequiresPermissions("talroad:bmainEmissionPollutionSolidWaste:remove") + @Log(title = "企业排放信息-不同污染物年度排放趋势-固废", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionPollutionSolidWasteService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionWaterController.java new file mode 100644 index 0000000..295eb44 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionPollutionWaterController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import cn.cecep.talroad.service.IBMainEmissionPollutionWaterService; +import cn.cecep.talroad.vo.BMainEmissionPollutionWaterVo; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-不同污染物年度排放趋势-废水Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-不同污染物年度排放趋势-废水") +@RestController +@RequestMapping("/bmainEmissionPollutionWater") +public class BMainEmissionPollutionWaterController extends BasesController +{ + @Autowired + private IBMainEmissionPollutionWaterService bMainEmissionPollutionWaterService; + + /** + * 查询企业排放信息-不同污染物年度排放趋势-废水列表 + */ + @ApiOperation(value = "查询企业排放信息-不同污染物年度排放趋势-废水") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionPollutionWaterQuery bMainEmissionPollutionWater) + { + Page page = new Page<>(bMainEmissionPollutionWater.getPageNum(), bMainEmissionPollutionWater.getPageSize()); + IPage list = bMainEmissionPollutionWaterService.page(page, BMainEmissionPollutionWaterQuery.createLambdaQueryWrapper(bMainEmissionPollutionWater)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-不同污染物年度排放趋势-废水列表 + */ + @ApiOperation(value = "导出企业排放信息-不同污染物年度排放趋势-废水") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废水", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionPollutionWater bMainEmissionPollutionWater) + { + List list = bMainEmissionPollutionWaterService.selectBMainEmissionPollutionWaterList(bMainEmissionPollutionWater); + ExcelUtil util = new ExcelUtil(BMainEmissionPollutionWater.class); + util.exportExcel(response, list, "企业排放信息-不同污染物年度排放趋势-废水数据"); + } + + /** + * 获取企业排放信息-不同污染物年度排放趋势-废水详细信息 + */ + @ApiOperation(value = "获取企业排放信息-不同污染物年度排放趋势-废水详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionPollutionWaterService.getById(id)); + } + /** + * 新增企业排放信息-不同污染物年度排放趋势-废水 + */ + @ApiOperation(value = "新增企业排放信息-不同污染物年度排放趋势-废水") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废水", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionPollutionWater bMainEmissionPollutionWater) { + return toAjax(bMainEmissionPollutionWaterService.save(bMainEmissionPollutionWater)); + } + /** + * 修改企业排放信息-不同污染物年度排放趋势-废水 + */ + @ApiOperation(value = "修改企业排放信息-不同污染物年度排放趋势-废水") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废水", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionPollutionWaterVo bMainEmissionPollutionWaterVo) { + if(ObjectUtil.isEmpty(bMainEmissionPollutionWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionPollutionWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionPollutionWater bMainEmissionPollutionWater = bMainEmissionPollutionWaterService.getById(bMainEmissionPollutionWaterVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionPollutionWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionPollutionWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionPollutionWaterVo,bMainEmissionPollutionWater); + return toAjax(bMainEmissionPollutionWaterService.saveOrUpdate(bMainEmissionPollutionWater)); + } + + /** + * 删除企业排放信息-不同污染物年度排放趋势-废水 + */ + @ApiOperation(value = "删除企业排放信息-不同污染物年度排放趋势-废水") + @RequiresPermissions("talroad:bmainEmissionPollutionWater:remove") + @Log(title = "企业排放信息-不同污染物年度排放趋势-废水", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionPollutionWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceAirController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceAirController.java new file mode 100644 index 0000000..5d656a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceAirController.java @@ -0,0 +1,520 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.service.IBMainEmissionPollutionAirService; +import cn.cecep.talroad.service.IBMainEmissionPollutionWaterService; +import cn.cecep.talroad.service.IBMainEmissionSourceAirService; +import cn.cecep.talroad.service.IBMainEmissionSourceWaterService; +import cn.cecep.talroad.util.CustomDateUtil; +import cn.cecep.talroad.vo.BMainEmissionSourceAirVo; +import cn.cecep.talroad.vo.ChartVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionAirQuery; +import cn.cecep.talroad.vo.query.BMainEmissionPollutionWaterQuery; +import cn.cecep.talroad.vo.query.BMainEmissionSourceAirQuery; +import cn.cecep.talroad.vo.query.BMainEmissionSourceWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapBuilder; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Maps; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-多来源排放量对比-废气Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-多来源排放量对比-废气") +@RestController +@RequestMapping("/bmainEmissionSourceAir") +public class BMainEmissionSourceAirController extends BasesController +{ + @Autowired + private IBMainEmissionSourceAirService bMainEmissionSourceAirService; + + @Autowired + private IBMainEmissionSourceWaterService bMainEmissionSourceWaterService; + + @Autowired + private IBMainEmissionPollutionAirService bMainEmissionPollutionAirService; + + @Autowired + private IBMainEmissionPollutionWaterService bMainEmissionPollutionWaterService; + + + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + */ + @ApiOperation(value = "污染类别查询污染物类别") + @GetMapping("/pullPollutants") + public AjaxResults>> pullPollutants(BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + List> maps = Lists.newArrayList(); +// List polls = Lists.newArrayList(); +// if(bMainEmissionSourceAir.getFacts().equals("废气")){ +// List list = bMainEmissionSourceAirService.list(new QueryWrapper().eq("factory_id", bMainEmissionSourceAir.getFactoryId()).isNotNull("pollution_category")); +// if(!CollectionUtils.isEmpty(list)){ +// polls.addAll(list.stream().map(BMainEmissionSourceAir::getPollutionCategory).distinct().collect(Collectors.toList())); +// } +// } else if (bMainEmissionSourceAir.getFacts().equals("废水")){ +// List list = bMainEmissionSourceWaterService.list(new QueryWrapper().eq("factory_id", bMainEmissionSourceAir.getFactoryId()).isNotNull("pollution_category")); +// if(!CollectionUtils.isEmpty(list)){ +// polls.addAll(list.stream().map(BMainEmissionSourceWater::getPollutionCategory).distinct().collect(Collectors.toList())); +// } +// } +// if(!CollectionUtils.isEmpty(polls)){ +// polls.forEach(p->{ +// Map map = Maps.newHashMap(); +// map.put("label", p); +// map.put("value", p); +// maps.add(map); +// }); +// } + + String[] strings; + // SO₂,颗粒物,COD,总氮,NOₓ,VOCs,氨氮,总磷' + if (StrUtil.equals(bMainEmissionSourceAir.getFacts(), "废气")) { + strings = new String[]{"SO₂", "颗粒物", "NOₓ", "VOCs"}; + + } else if (StrUtil.equals(bMainEmissionSourceAir.getFacts(), "废水")) { + strings = new String[]{"COD", "总氮", "总磷", "氨氮"}; + + } else { + throw new InvalidParameterException("参数错误"); + } + + for (String string : strings) { + maps.add(MapBuilder.create() + .put("label", string) + .put("value", string) + .build()); + } + + return AjaxResults.success(maps); + } + + /** + * 废气-废水-固废-导出企业排放信息-多来源排放量对比 + */ + @ApiOperation(value = "废气-废水-固废-导出企业排放信息-多来源排放量对比") + @Log(title = "废气-废水-导出企业排放信息-多来源排放量对比", businessType = BusinessType.EXPORT) + @PostMapping("/chart/export") + public void chartExport(HttpServletResponse response, @Valid @RequestBody BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + switch(bMainEmissionSourceAir.getFacts()){ + case "废气": + List airTables = bMainEmissionSourceAirService.list(BMainEmissionSourceAirQuery.createLambdaQueryWrapper(bMainEmissionSourceAir)); + Class clazz =configClass(BMainEmissionSourceAir.class, bMainEmissionSourceAir.getPollutionCategory()+"系统核算排放量","systematicAccountingSo2",bMainEmissionSourceAir.getPollutionCategory()+"执行报告排放量","actionReportsSo2",bMainEmissionSourceAir.getPollutionCategory()+"许可排放量","permissionSo2"); + ExcelUtil airUtil = new ExcelUtil(clazz); + airUtil.exportExcel(response, airTables, bMainEmissionSourceAir.getPollutionCategory()+"-多来源排放量对比"); + break; + case "废水": + List waterTables = bMainEmissionSourceWaterService.list(BMainEmissionSourceWaterQuery.createLambdaQueryWrapper(new BMainEmissionSourceWaterQuery(bMainEmissionSourceAir.getPollutionCategory(), bMainEmissionSourceAir.getSearchBeginYear(), bMainEmissionSourceAir.getSearchEndYear(),bMainEmissionSourceAir.getFactoryId()))); + Class clazz1 =configClass(BMainEmissionSourceWater.class, bMainEmissionSourceAir.getPollutionCategory()+"系统核算排放量","systematicAccountingCod",bMainEmissionSourceAir.getPollutionCategory()+"执行报告排放量","actionReportsCod",bMainEmissionSourceAir.getPollutionCategory()+"许可排放量","permissionCod"); + ExcelUtil waterUtil = new ExcelUtil(clazz1); + waterUtil.exportExcel(response, waterTables, bMainEmissionSourceAir.getPollutionCategory()+"-多来源排放量对比"); + break; + } + } + /** + * 注解之运行时修改字段的注解值操作 + * @param clazz + * @param val + * @return + */ + private Class configClass(Class clazz , String val,String filed,String val1,String filed1,String val2,String filed2) { + + Field[] fields = clazz.getDeclaredFields(); + try { + for(int i = 0;i < fields.length;i++){ + Field f = fields[i]; + if(f.getName().equals(filed)){ + Excel excelAn = f.getAnnotation(Excel.class);//Excel是注解类型 + if(excelAn == null){ + continue; + } + InvocationHandler h = Proxy.getInvocationHandler(excelAn); + Field hField = h.getClass().getDeclaredField("memberValues"); + // 因为这个字段事 private final 修饰,所以要打开权限 + hField.setAccessible(true); + // 获取 memberValues + Map memberValues = (Map) hField.get(h); + // 修改 value 属性值 这里修改的是@Excel(name = "姓名") + //name是key + memberValues.put("name", val); + } + if(f.getName().equals(filed1)){ + Excel excelAn = f.getAnnotation(Excel.class);//Excel是注解类型 + if(excelAn == null){ + continue; + } + InvocationHandler h = Proxy.getInvocationHandler(excelAn); + Field hField = h.getClass().getDeclaredField("memberValues"); + // 因为这个字段事 private final 修饰,所以要打开权限 + hField.setAccessible(true); + // 获取 memberValues + Map memberValues = (Map) hField.get(h); + // 修改 value 属性值 这里修改的是@Excel(name = "姓名") + //name是key + memberValues.put("name", val1); + } + if(f.getName().equals(filed2)){ + Excel excelAn = f.getAnnotation(Excel.class);//Excel是注解类型 + if(excelAn == null){ + continue; + } + InvocationHandler h = Proxy.getInvocationHandler(excelAn); + Field hField = h.getClass().getDeclaredField("memberValues"); + // 因为这个字段事 private final 修饰,所以要打开权限 + hField.setAccessible(true); + // 获取 memberValues + Map memberValues = (Map) hField.get(h); + // 修改 value 属性值 这里修改的是@Excel(name = "姓名") + //name是key + memberValues.put("name", val2); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return clazz; + } + @ApiOperation(value = "废气-废水-固废-查询企业排放信息-多来源排放量对比") + @Log(title = "废气-废水-查询企业排放信息-多来源排放量对比", businessType = BusinessType.EXPORT) + @PostMapping("/chart/list") + public AjaxResults> chartList( @RequestBody BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + List list=new ArrayList<>(); + if(bMainEmissionSourceAir.getFacts().equals("废气")){ + list= bMainEmissionSourceAirService.list(BMainEmissionSourceAirQuery.createLambdaQueryWrapper(bMainEmissionSourceAir)); + } + if(bMainEmissionSourceAir.getFacts().equals("废水")){ + List waterTables = bMainEmissionSourceWaterService.list(BMainEmissionSourceWaterQuery.createLambdaQueryWrapper(new BMainEmissionSourceWaterQuery(bMainEmissionSourceAir.getPollutionCategory(), bMainEmissionSourceAir.getSearchBeginYear(), bMainEmissionSourceAir.getSearchEndYear(),bMainEmissionSourceAir.getFactoryId()))); + List listq=new ArrayList<>(); + waterTables.forEach(item->{ + BMainEmissionSourceAir bMainEmissionSourceAir1=new BMainEmissionSourceAir(); + BeanUtils.copyProperties(item, bMainEmissionSourceAir1); + bMainEmissionSourceAir1.setActionReportsSo2(item.getActionReportsCod()); + bMainEmissionSourceAir1.setSystematicAccountingSo2(item.getSystematicAccountingCod()); + bMainEmissionSourceAir1.setPermissionSo2(item.getPermissionCod()); + listq.add(bMainEmissionSourceAir1); + }); + list=listq; + } + + return AjaxResults.success(list); + } + @ApiOperation(value = "废气-废水-固废-查询企业排放信息-多来源排放量对比") + @PostMapping("/chartListBy") + public AjaxResults chartListBy(@RequestBody BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + List list=new ArrayList<>(); + if(bMainEmissionSourceAir.getFacts().equals("废气")){ + list= bMainEmissionSourceAirService.list(BMainEmissionSourceAirQuery.createLambdaQueryWrapper(bMainEmissionSourceAir)); + } + if(bMainEmissionSourceAir.getFacts().equals("废水")){ + List waterTables = bMainEmissionSourceWaterService.list(BMainEmissionSourceWaterQuery.createLambdaQueryWrapper(new BMainEmissionSourceWaterQuery(bMainEmissionSourceAir.getPollutionCategory(), bMainEmissionSourceAir.getSearchBeginYear(), bMainEmissionSourceAir.getSearchEndYear(),bMainEmissionSourceAir.getFactoryId()))); + List listq=new ArrayList<>(); + waterTables.forEach(item->{ + BMainEmissionSourceAir bMainEmissionSourceAir1=new BMainEmissionSourceAir(); + BeanUtils.copyProperties(item, bMainEmissionSourceAir1); + bMainEmissionSourceAir1.setActionReportsSo2(item.getActionReportsCod()); + bMainEmissionSourceAir1.setSystematicAccountingSo2(item.getSystematicAccountingCod()); + bMainEmissionSourceAir1.setPermissionSo2(item.getPermissionCod()); + listq.add(bMainEmissionSourceAir1); + }); + list=listq; + } + List xdata=new ArrayList<>(); + if(ObjectUtil.isNotNull(bMainEmissionSourceAir.getSearchBeginYear())&&ObjectUtil.isNotNull(bMainEmissionSourceAir.getSearchEndYear())){ + xdata = CustomDateUtil.getAllYears(DateUtil.parse(bMainEmissionSourceAir.getSearchBeginYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), DateUtil.parse(bMainEmissionSourceAir.getSearchEndYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), CustomDateUtil.DATE_PATTERN_YEAR); + }else { + List listData=new ArrayList<>(); + list.forEach(item->{ + listData.add(item.getPollYear()); + }); + xdata=listData; + } + // x轴数据 + EChartsVO eChartsVO=new EChartsVO(); + List chartsVO= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("系统核算排放量"); + ser.setProp("systematicAccountingSo2"); + ser.setUnit("(千瓦)"); + ser.setValues(new ArrayList<>()); + chartsVO.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("执行报告排放量"); + ser1.setProp("actionReportsSo2"); + ser1.setUnit("(千瓦)"); + ser1.setValues(new ArrayList<>()); + chartsVO.add(ser1); + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("许可排放量"); + ser2.setProp("permissionSo2"); + ser2.setUnit("(千瓦)"); + ser2.setValues(new ArrayList<>()); + chartsVO.add(ser2); + /* + 填充系列值 + */ + Map timeStatusMap = list.stream().collect(Collectors.toMap(o -> o.getPollYear(), o -> o, (o1, o2) -> o1)); + xdata.forEach(time->{ + if(timeStatusMap.containsKey(time)){ + BMainEmissionSourceAir sRaRealTimeAnalysisRun = timeStatusMap.get(time); + chartsVO.get(0).getValues().add(sRaRealTimeAnalysisRun.getSystematicAccountingSo2()); + chartsVO.get(1).getValues().add(sRaRealTimeAnalysisRun.getActionReportsSo2()); + chartsVO.get(2).getValues().add(sRaRealTimeAnalysisRun.getPermissionSo2()); + }else { + chartsVO.get(0).getValues().add(null); + chartsVO.get(1).getValues().add(null); + chartsVO.get(2).getValues().add(null); + } + }); + eChartsVO.setXData(xdata); + eChartsVO.setSeries(chartsVO); + return AjaxResults.success(eChartsVO); + } + + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + */ + @ApiOperation(value = "废气-废水-(图表+列表)查询企业排放信息-多来源排放量对比") + @GetMapping("/chart") + public AjaxResults> chart(@Valid BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + Map res = Maps.newHashMap(); + ChartVo chartVo = new ChartVo(); + switch(bMainEmissionSourceAir.getFacts()){ + case "废气": + BMainEmissionPollutionAirQuery bMainEmissionPollutionAirQuery = new BMainEmissionPollutionAirQuery(); + bMainEmissionPollutionAirQuery.setFactoryId(bMainEmissionSourceAir.getFactoryId()); + bMainEmissionPollutionAirQuery.setDataSource("系统核算"); + List airTables = bMainEmissionPollutionAirService.list(BMainEmissionPollutionAirQuery.createLambdaQueryWrapper(bMainEmissionPollutionAirQuery)); +// List airTables = bMainEmissionSourceAirService.list(BMainEmissionSourceAirQuery.createLambdaQueryWrapper(new BMainEmissionSourceAirQuery(bMainEmissionSourceAir.getPollutionCategory(), bMainEmissionSourceAir.getSearchBeginYear(), bMainEmissionSourceAir.getSearchEndYear()))); + if(!CollectionUtils.isEmpty(airTables)){ + chartVo.setLegendData(new Object[]{"系统核算","执行报告"}); + chartVo.setXsxisData(airTables.stream().map(BMainEmissionPollutionAir::getPollYear).distinct().collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (Object legendDatum : chartVo.getLegendData()) { + Map map = Maps.newHashMap(); + if (legendDatum.equals("系统核算")) { + map.put("name", legendDatum); + switch (bMainEmissionSourceAir.getPollutionCategory()) { + case "SO₂": + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingSo2).collect(Collectors.toList())); + res.put("table", airTables.stream().map(x -> new BMainEmissionSourceAir(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingSo2(), null, x.getAllowableEmissionSo2())).collect(Collectors.toList())); + break; + case "颗粒物": + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingPm).collect(Collectors.toList())); + res.put("table", airTables.stream().map(x -> new BMainEmissionSourceAir(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingPm(), null, x.getAllowableEmissionPm())).collect(Collectors.toList())); + break; + case "NOₓ": + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingNox).collect(Collectors.toList())); + res.put("table", airTables.stream().map(x -> new BMainEmissionSourceAir(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingNox(), null, x.getAllowableEmissionNox())).collect(Collectors.toList())); + break; + case "VOCs": + map.put("data", airTables.stream().map(BMainEmissionPollutionAir::getActuallyEmittingVocs).collect(Collectors.toList())); + res.put("table", airTables.stream().map(x -> new BMainEmissionSourceAir(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingVocs(), null, x.getAllowableEmissionVocs())).collect(Collectors.toList())); + break; + } + seriesData.add(map); + } +// else if (legendDatum.equals("执行报告")) { +// map.put("name", legendDatum); +// map.put("data", new ArrayList<>(airTables.size())); +// seriesData.add(map); +// } + + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + } + +// res.put("table", airTables); + break; + case "废水": + BMainEmissionPollutionWaterQuery bMainEmissionPollutionWaterQuery = new BMainEmissionPollutionWaterQuery(); + bMainEmissionPollutionWaterQuery.setFactoryId(bMainEmissionSourceAir.getFactoryId()); + bMainEmissionPollutionWaterQuery.setDataSource("系统核算"); + List waterTables = bMainEmissionPollutionWaterService.list(BMainEmissionPollutionWaterQuery.createLambdaQueryWrapper(bMainEmissionPollutionWaterQuery)); +// List waterTables = bMainEmissionPollutionWaterService.list(BMainEmissionSourceWaterQuery.createLambdaQueryWrapper(new BMainEmissionSourceWaterQuery(bMainEmissionSourceAir.getPollutionCategory(), bMainEmissionSourceAir.getSearchBeginYear(), bMainEmissionSourceAir.getSearchEndYear()))); + if(!CollectionUtils.isEmpty(waterTables)){ + chartVo.setLegendData(new Object[]{"系统核算","执行报告"}); + chartVo.setXsxisData(waterTables.stream().map(BMainEmissionPollutionWater::getPollYear).distinct().collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (Object legendDatum : chartVo.getLegendData()) { + Map map = Maps.newHashMap(); + if (legendDatum.equals("系统核算")) { + map.put("name", legendDatum); + + switch (bMainEmissionSourceAir.getPollutionCategory()) { + case "COD": + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingCod).collect(Collectors.toList())); + res.put("table", waterTables.stream().map(x -> new BMainEmissionSourceWater(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingCod(), null, x.getAllowableEmissionCod())).collect(Collectors.toList())); + break; + case "总氮": + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingTn).collect(Collectors.toList())); + res.put("table", waterTables.stream().map(x -> new BMainEmissionSourceWater(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingTn(), null, x.getAllowableEmissionTn())).collect(Collectors.toList())); + break; + case "总磷": + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingTp).collect(Collectors.toList())); + res.put("table", waterTables.stream().map(x -> new BMainEmissionSourceWater(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingTp(), null, x.getAllowableEmissionTp())).collect(Collectors.toList())); + break; + case "氨氮": + map.put("data", waterTables.stream().map(BMainEmissionPollutionWater::getActuallyEmittingNhn).collect(Collectors.toList())); + res.put("table", waterTables.stream().map(x -> new BMainEmissionSourceWater(x.getFactoryId(), x.getPollYear(), x.getActuallyEmittingNhn(), null, x.getAllowableEmissionNhn())).collect(Collectors.toList())); + break; + } + seriesData.add(map); + } +// else if (legendDatum.equals("执行报告")) { +// map.put("name", legendDatum); +// map.put("data", Arrays.asList(new Object[waterTables.size()])); +// } + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + res.put("table", new ArrayList<>()); + } +// res.put("table", waterTables); + break; + } + if(bMainEmissionSourceAir.getSearchBeginYear() != null && bMainEmissionSourceAir.getSearchEndYear() != null){ + List xsxisDatas = CustomDateUtil.getAllYears(DateUtil.parse(bMainEmissionSourceAir.getSearchBeginYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), DateUtil.parse(bMainEmissionSourceAir.getSearchEndYear()+"", CustomDateUtil.DATE_PATTERN_YEAR), CustomDateUtil.DATE_PATTERN_YEAR); + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(xsxisDatas.stream().toArray()); + } + // 数据缺失, 补全x轴及对应数据 + if(chartVo.getXsxisData().length != xsxisDatas.size()){ + CustomDateUtil.packEcharts(chartVo, xsxisDatas); + } + } + res.put("chart", chartVo); + return AjaxResults.success(res); + } + + + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + */ + @ApiOperation(value = "查询企业排放信息-多来源排放量对比-废气") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionSourceAirQuery bMainEmissionSourceAir) + { + Page page = new Page<>(bMainEmissionSourceAir.getPageNum(), bMainEmissionSourceAir.getPageSize()); + IPage list = bMainEmissionSourceAirService.page(page, BMainEmissionSourceAirQuery.createLambdaQueryWrapper(bMainEmissionSourceAir)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-多来源排放量对比-废气列表 + */ + @ApiOperation(value = "导出企业排放信息-多来源排放量对比-废气") + @Log(title = "企业排放信息-多来源排放量对比-废气", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionSourceAir bMainEmissionSourceAir) + { + List list = bMainEmissionSourceAirService.selectBMainEmissionSourceAirList(bMainEmissionSourceAir); + ExcelUtil util = new ExcelUtil(BMainEmissionSourceAir.class); + util.exportExcel(response, list, "企业排放信息-多来源排放量对比-废气数据"); + } + + /** + * 获取企业排放信息-多来源排放量对比-废气详细信息 + */ + @ApiOperation(value = "获取企业排放信息-多来源排放量对比-废气详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionSourceAirService.getById(id)); + } + /** + * 新增企业排放信息-多来源排放量对比-废气 + */ + @ApiOperation(value = "新增企业排放信息-多来源排放量对比-废气") + @Log(title = "企业排放信息-多来源排放量对比-废气", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionSourceAir bMainEmissionSourceAir) { + return toAjax(bMainEmissionSourceAirService.save(bMainEmissionSourceAir)); + } + /** + * 修改企业排放信息-多来源排放量对比-废气 + */ + @ApiOperation(value = "修改企业排放信息-多来源排放量对比-废气") + @Log(title = "企业排放信息-多来源排放量对比-废气", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionSourceAirVo bMainEmissionSourceAirVo) { + if(ObjectUtil.isEmpty(bMainEmissionSourceAirVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionSourceAirVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionSourceAir bMainEmissionSourceAir = bMainEmissionSourceAirService.getById(bMainEmissionSourceAirVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionSourceAir)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionSourceAirVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionSourceAirVo,bMainEmissionSourceAir); + return toAjax(bMainEmissionSourceAirService.saveOrUpdate(bMainEmissionSourceAir)); + } + + /** + * 删除企业排放信息-多来源排放量对比-废气 + */ + @ApiOperation(value = "删除企业排放信息-多来源排放量对比-废气") + @RequiresPermissions("talroad:bmainEmissionSourceAir:remove") + @Log(title = "企业排放信息-多来源排放量对比-废气", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionSourceAirService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceWaterController.java new file mode 100644 index 0000000..2775d8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainEmissionSourceWaterController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import cn.cecep.talroad.service.IBMainEmissionSourceWaterService; +import cn.cecep.talroad.vo.BMainEmissionSourceWaterVo; +import cn.cecep.talroad.vo.query.BMainEmissionSourceWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放信息-多来源排放量对比-废水Controller 控制层 + * + * @author szhpt + * @date 2023-01-31*/ +@Api(tags = "企业排放信息-多来源排放量对比-废水") +@RestController +@RequestMapping("/bmainEmissionSourceWater") +public class BMainEmissionSourceWaterController extends BasesController +{ + @Autowired + private IBMainEmissionSourceWaterService bMainEmissionSourceWaterService; + + /** + * 查询企业排放信息-多来源排放量对比-废水列表 + */ + @ApiOperation(value = "查询企业排放信息-多来源排放量对比-废水") + @GetMapping("/list") + public AjaxResults> list(BMainEmissionSourceWaterQuery bMainEmissionSourceWater) + { + Page page = new Page<>(bMainEmissionSourceWater.getPageNum(), bMainEmissionSourceWater.getPageSize()); + IPage list = bMainEmissionSourceWaterService.page(page, BMainEmissionSourceWaterQuery.createLambdaQueryWrapper(bMainEmissionSourceWater)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放信息-多来源排放量对比-废水列表 + */ + @ApiOperation(value = "导出企业排放信息-多来源排放量对比-废水") + @Log(title = "企业排放信息-多来源排放量对比-废水", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainEmissionSourceWater bMainEmissionSourceWater) + { + List list = bMainEmissionSourceWaterService.selectBMainEmissionSourceWaterList(bMainEmissionSourceWater); + ExcelUtil util = new ExcelUtil(BMainEmissionSourceWater.class); + util.exportExcel(response, list, "企业排放信息-多来源排放量对比-废水数据"); + } + + /** + * 获取企业排放信息-多来源排放量对比-废水详细信息 + */ + @ApiOperation(value = "获取企业排放信息-多来源排放量对比-废水详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainEmissionSourceWaterService.getById(id)); + } + /** + * 新增企业排放信息-多来源排放量对比-废水 + */ + @ApiOperation(value = "新增企业排放信息-多来源排放量对比-废水") + @Log(title = "企业排放信息-多来源排放量对比-废水", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainEmissionSourceWater bMainEmissionSourceWater) { + return toAjax(bMainEmissionSourceWaterService.save(bMainEmissionSourceWater)); + } + /** + * 修改企业排放信息-多来源排放量对比-废水 + */ + @ApiOperation(value = "修改企业排放信息-多来源排放量对比-废水") + @Log(title = "企业排放信息-多来源排放量对比-废水", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainEmissionSourceWaterVo bMainEmissionSourceWaterVo) { + if(ObjectUtil.isEmpty(bMainEmissionSourceWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainEmissionSourceWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainEmissionSourceWater bMainEmissionSourceWater = bMainEmissionSourceWaterService.getById(bMainEmissionSourceWaterVo.getId()); + if(ObjectUtil.isEmpty(bMainEmissionSourceWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainEmissionSourceWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainEmissionSourceWaterVo,bMainEmissionSourceWater); + return toAjax(bMainEmissionSourceWaterService.saveOrUpdate(bMainEmissionSourceWater)); + } + + /** + * 删除企业排放信息-多来源排放量对比-废水 + */ + @ApiOperation(value = "删除企业排放信息-多来源排放量对比-废水") + @RequiresPermissions("talroad:bmainEmissionSourceWater:remove") + @Log(title = "企业排放信息-多来源排放量对比-废水", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainEmissionSourceWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainExceptionTaskCheckController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainExceptionTaskCheckController.java new file mode 100644 index 0000000..5d0a4ff --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainExceptionTaskCheckController.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BMainExceptionTaskCheck; +import cn.cecep.talroad.service.IBMainExceptionTaskCheckService; +import cn.cecep.talroad.vo.BMainExceptionTaskCheckVo; +import cn.cecep.talroad.vo.query.BMainExceptionTaskCheckQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 移动执法信息-异常任务核查Controller 控制层 + */ +@Api(tags = "移动执法信息-异常任务核查") +@RestController +@RequestMapping("/exceptionTaskCheck") +public class BMainExceptionTaskCheckController extends BasesController +{ + @Autowired + private IBMainExceptionTaskCheckService bMainExceptionTaskCheckService; + + @ApiOperation(value = "查询移动执法信息-异常任务核查") + @GetMapping("/list") + public AjaxResults> list(BMainExceptionTaskCheckQuery bMainExceptionTaskCheck) + { + Page page = new Page<>(bMainExceptionTaskCheck.getPageNum(), bMainExceptionTaskCheck.getPageSize()); + IPage list = bMainExceptionTaskCheckService.page(page, BMainExceptionTaskCheckQuery.createLambdaQueryWrapper(bMainExceptionTaskCheck)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取区域下拉框数据, 汇总异常任务核查所有的区域") + @GetMapping("/regionOptions") + public AjaxResults> regionOptions() + { + List taskChecks = bMainExceptionTaskCheckService.list(new QueryWrapper().select("region_name").groupBy("region_name")); + return AjaxResults.success(taskChecks.stream().map(BMainExceptionTaskCheck::getRegionName).collect(Collectors.toList())); + } + + @ApiOperation(value = "获取移动执法信息-异常任务核查详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bMainExceptionTaskCheckService.getInfo(id)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainFactoryVerificationController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainFactoryVerificationController.java new file mode 100644 index 0000000..f3cf526 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainFactoryVerificationController.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BMainFactoryVerificationQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BMainFactoryVerification; +import cn.cecep.talroad.vo.BMainFactoryVerificationVo; +import cn.cecep.talroad.service.IBMainFactoryVerificationService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 移动执法信息-企业核查Controller 控制层 + * + * @author szhpt + * @date 2023-03-30*/ +@Api(tags = "移动执法信息-企业核查") +@RestController +@RequestMapping("/verification") +public class BMainFactoryVerificationController extends BasesController +{ + @Autowired + private IBMainFactoryVerificationService bMainFactoryVerificationService; + + /** + * 查询移动执法信息-企业核查列表 + */ + @ApiOperation(value = "查询移动执法信息-企业核查") + @GetMapping("/list") + public AjaxResults> list(BMainFactoryVerificationQuery bMainFactoryVerification) + { + Page page = new Page<>(bMainFactoryVerification.getPageNum(), bMainFactoryVerification.getPageSize()); + IPage list = bMainFactoryVerificationService.page(page, BMainFactoryVerificationQuery.createLambdaQueryWrapper(bMainFactoryVerification)); + return AjaxResults.success(list); + } + + + /** + * 导出移动执法信息-企业核查列表 + */ + @ApiOperation(value = "导出移动执法信息-企业核查") + @Log(title = "移动执法信息-企业核查", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BMainFactoryVerificationQuery bMainFactoryVerification) + { + List list = bMainFactoryVerificationService.list(BMainFactoryVerificationQuery.createLambdaQueryWrapper(bMainFactoryVerification)); + ExcelUtil util = new ExcelUtil(BMainFactoryVerification.class); + util.exportExcel(response, list, "移动执法信息-企业核查数据"); + } + + /** + * 获取移动执法信息-企业核查详细信息 + */ + @ApiOperation(value = "获取任务来源下拉框") + @GetMapping(value = "/taskSourceSelectList") + public AjaxResults> taskSourceSelectList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("distinct task_source") + .orderByAsc("task_source"); + List list = bMainFactoryVerificationService.list(queryWrapper); + + List collect = list.stream().map(BMainFactoryVerification::getTaskSource).collect(Collectors.toList()); + return AjaxResults.success(collect); + } + + /** + * 获取移动执法信息-企业核查详细信息 + */ + @ApiOperation(value = "获取移动执法信息-企业核查详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bMainFactoryVerificationService.getById(id)); + } + /** + * 新增移动执法信息-企业核查 + */ + @ApiOperation(value = "新增移动执法信息-企业核查") + @Log(title = "移动执法信息-企业核查", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainFactoryVerification bMainFactoryVerification) { + return toAjax(bMainFactoryVerificationService.save(bMainFactoryVerification)); + } + /** + * 修改移动执法信息-企业核查 + */ + @ApiOperation(value = "修改移动执法信息-企业核查") + @Log(title = "移动执法信息-企业核查", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainFactoryVerificationVo bMainFactoryVerificationVo) { + if(ObjectUtil.isEmpty(bMainFactoryVerificationVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainFactoryVerificationVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainFactoryVerification bMainFactoryVerification = bMainFactoryVerificationService.getById(bMainFactoryVerificationVo.getId()); + if(ObjectUtil.isEmpty(bMainFactoryVerification)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainFactoryVerificationVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainFactoryVerificationVo,bMainFactoryVerification); + return toAjax(bMainFactoryVerificationService.saveOrUpdate(bMainFactoryVerification)); + } + + /** + * 删除移动执法信息-企业核查 + */ + @ApiOperation(value = "删除移动执法信息-企业核查") + @RequiresPermissions("talroad:verification:remove") + @Log(title = "移动执法信息-企业核查", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainFactoryVerificationService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteController.java new file mode 100644 index 0000000..db0bf12 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainHazardousSolidWaste; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteService; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteVo; +import cn.cecep.talroad.vo.query.BMainHazardousSolidWasteQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固体废物基础信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--固体废物基础信息") +@RestController +@RequestMapping("/bMainHazardousSolidWaste") +public class BMainHazardousSolidWasteController extends BasesController +{ + @Autowired + private IBMainHazardousSolidWasteService bMainHazardousSolidWasteService; + + /** + * 查询固体废物基础信息列表 + */ + @ApiOperation(value = "查询固体废物基础信息") + @GetMapping("/list") + public AjaxResults> list(BMainHazardousSolidWasteQuery bMainHazardousSolidWaste) + { + Page page = new Page<>(bMainHazardousSolidWaste.getPageNum(), bMainHazardousSolidWaste.getPageSize()); + IPage list = bMainHazardousSolidWasteService.page(page, BMainHazardousSolidWasteQuery.createLambdaQueryWrapper(bMainHazardousSolidWaste)); + return AjaxResults.success(list); + } + + + /** + * 导出固体废物基础信息列表 + */ + @ApiOperation(value = "导出固体废物基础信息") + @Log(title = "固体废物基础信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainHazardousSolidWaste bMainHazardousSolidWaste) + { + List list = bMainHazardousSolidWasteService.selectBMainHazardousSolidWasteList(bMainHazardousSolidWaste); + ExcelUtil util = new ExcelUtil(BMainHazardousSolidWaste.class); + util.exportExcel(response, list, "固体废物基础信息数据"); + } + + /** + * 获取固体废物基础信息详细信息 + */ + @ApiOperation(value = "获取固体废物基础信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainHazardousSolidWasteService.getById(id)); + } + /** + * 新增固体废物基础信息 + */ + @ApiOperation(value = "新增固体废物基础信息") + @Log(title = "固体废物基础信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainHazardousSolidWaste bMainHazardousSolidWaste) { + return toAjax(bMainHazardousSolidWasteService.save(bMainHazardousSolidWaste)); + } + /** + * 修改固体废物基础信息 + */ + @ApiOperation(value = "修改固体废物基础信息") + @Log(title = "固体废物基础信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainHazardousSolidWasteVo bMainHazardousSolidWasteVo) { + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainHazardousSolidWaste bMainHazardousSolidWaste = bMainHazardousSolidWasteService.getById(bMainHazardousSolidWasteVo.getId()); + if(ObjectUtil.isEmpty(bMainHazardousSolidWaste)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainHazardousSolidWasteVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainHazardousSolidWasteVo,bMainHazardousSolidWaste); + return toAjax(bMainHazardousSolidWasteService.saveOrUpdate(bMainHazardousSolidWaste)); + } + + /** + * 删除固体废物基础信息 + */ + @ApiOperation(value = "删除固体废物基础信息") + @RequiresPermissions("talroad:waste:remove") + @Log(title = "固体废物基础信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainHazardousSolidWasteService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteCrController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteCrController.java new file mode 100644 index 0000000..422ab4e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteCrController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteCr; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteCrService; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteCrVo; +import cn.cecep.talroad.vo.query.BMainHazardousSolidWasteCrQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固体废物环境管理要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-11*/ +@Api(tags = "基本档案--固体废物环境管理要求") +@RestController +@RequestMapping("/bMainHazardousSolidWasteCr") +public class BMainHazardousSolidWasteCrController extends BasesController +{ + @Autowired + private IBMainHazardousSolidWasteCrService bMainHazardousSolidWasteCrService; + + /** + * 查询固体废物环境管理要求列表 + */ + @ApiOperation(value = "查询固体废物环境管理要求") + @GetMapping("/list") + public AjaxResults> list(BMainHazardousSolidWasteCrQuery bMainHazardousSolidWasteCr) + { + Page page = new Page<>(bMainHazardousSolidWasteCr.getPageNum(), bMainHazardousSolidWasteCr.getPageSize()); + IPage list = bMainHazardousSolidWasteCrService.page(page, BMainHazardousSolidWasteCrQuery.createLambdaQueryWrapper(bMainHazardousSolidWasteCr)); + return AjaxResults.success(list); + } + + + /** + * 导出固体废物环境管理要求列表 + */ + @ApiOperation(value = "导出固体废物环境管理要求") + @Log(title = "固体废物环境管理要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr) + { + List list = bMainHazardousSolidWasteCrService.selectBMainHazardousSolidWasteCrList(bMainHazardousSolidWasteCr); + ExcelUtil util = new ExcelUtil(BMainHazardousSolidWasteCr.class); + util.exportExcel(response, list, "固体废物环境管理要求数据"); + } + + /** + * 获取固体废物环境管理要求详细信息 + */ + @ApiOperation(value = "获取固体废物环境管理要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainHazardousSolidWasteCrService.getById(id)); + } + /** + * 新增固体废物环境管理要求 + */ + @ApiOperation(value = "新增固体废物环境管理要求") + @Log(title = "固体废物环境管理要求", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr) { + return toAjax(bMainHazardousSolidWasteCrService.save(bMainHazardousSolidWasteCr)); + } + /** + * 修改固体废物环境管理要求 + */ + @ApiOperation(value = "修改固体废物环境管理要求") + @Log(title = "固体废物环境管理要求", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainHazardousSolidWasteCrVo bMainHazardousSolidWasteCrVo) { + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteCrVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteCrVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr = bMainHazardousSolidWasteCrService.getById(bMainHazardousSolidWasteCrVo.getId()); + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteCr)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainHazardousSolidWasteCrVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainHazardousSolidWasteCrVo,bMainHazardousSolidWasteCr); + return toAjax(bMainHazardousSolidWasteCrService.saveOrUpdate(bMainHazardousSolidWasteCr)); + } + + /** + * 删除固体废物环境管理要求 + */ + @ApiOperation(value = "删除固体废物环境管理要求") + @RequiresPermissions("talroad:cr:remove") + @Log(title = "固体废物环境管理要求", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainHazardousSolidWasteCrService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteFaController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteFaController.java new file mode 100644 index 0000000..be96b66 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteFaController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteFa; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteFaService; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteFaVo; +import cn.cecep.talroad.vo.query.BMainHazardousSolidWasteFaQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 自行贮存和自行利用处置设施信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--自行贮存和自行利用处置设施信息") +@RestController +@RequestMapping("/bMainHazardousSolidWasteFa") +public class BMainHazardousSolidWasteFaController extends BasesController +{ + @Autowired + private IBMainHazardousSolidWasteFaService bMainHazardousSolidWasteFaService; + + /** + * 查询自行贮存和自行利用处置设施信息列表 + */ + @ApiOperation(value = "查询自行贮存和自行利用处置设施信息") + @GetMapping("/list") + public AjaxResults> list(BMainHazardousSolidWasteFaQuery bMainHazardousSolidWasteFa) + { + Page page = new Page<>(bMainHazardousSolidWasteFa.getPageNum(), bMainHazardousSolidWasteFa.getPageSize()); + IPage list = bMainHazardousSolidWasteFaService.page(page, BMainHazardousSolidWasteFaQuery.createLambdaQueryWrapper(bMainHazardousSolidWasteFa)); + return AjaxResults.success(list); + } + + + /** + * 导出自行贮存和自行利用处置设施信息列表 + */ + @ApiOperation(value = "导出自行贮存和自行利用处置设施信息") + @Log(title = "自行贮存和自行利用处置设施信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa) + { + List list = bMainHazardousSolidWasteFaService.selectBMainHazardousSolidWasteFaList(bMainHazardousSolidWasteFa); + ExcelUtil util = new ExcelUtil(BMainHazardousSolidWasteFa.class); + util.exportExcel(response, list, "自行贮存和自行利用处置设施信息数据"); + } + + /** + * 获取自行贮存和自行利用处置设施信息详细信息 + */ + @ApiOperation(value = "获取自行贮存和自行利用处置设施信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainHazardousSolidWasteFaService.getById(id)); + } + /** + * 新增自行贮存和自行利用处置设施信息 + */ + @ApiOperation(value = "新增自行贮存和自行利用处置设施信息") + @Log(title = "自行贮存和自行利用处置设施信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa) { + return toAjax(bMainHazardousSolidWasteFaService.save(bMainHazardousSolidWasteFa)); + } + /** + * 修改自行贮存和自行利用处置设施信息 + */ + @ApiOperation(value = "修改自行贮存和自行利用处置设施信息") + @Log(title = "自行贮存和自行利用处置设施信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainHazardousSolidWasteFaVo bMainHazardousSolidWasteFaVo) { + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteFaVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteFaVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa = bMainHazardousSolidWasteFaService.getById(bMainHazardousSolidWasteFaVo.getId()); + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteFa)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainHazardousSolidWasteFaVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainHazardousSolidWasteFaVo,bMainHazardousSolidWasteFa); + return toAjax(bMainHazardousSolidWasteFaService.saveOrUpdate(bMainHazardousSolidWasteFa)); + } + + /** + * 删除自行贮存和自行利用处置设施信息 + */ + @ApiOperation(value = "删除自行贮存和自行利用处置设施信息") + @RequiresPermissions("talroad:fa:remove") + @Log(title = "自行贮存和自行利用处置设施信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainHazardousSolidWasteFaService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteLeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteLeController.java new file mode 100644 index 0000000..9ee08cc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousSolidWasteLeController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteLe; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteLeService; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteLeVo; +import cn.cecep.talroad.vo.query.BMainHazardousSolidWasteLeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固体废物排放信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--固体废物排放信息") +@RestController +@RequestMapping("/bMainHazardousSolidWasteLe") +public class BMainHazardousSolidWasteLeController extends BasesController +{ + @Autowired + private IBMainHazardousSolidWasteLeService bMainHazardousSolidWasteLeService; + + /** + * 查询固体废物排放信息列表 + */ + @ApiOperation(value = "查询固体废物排放信息") + @GetMapping("/list") + public AjaxResults> list(BMainHazardousSolidWasteLeQuery bMainHazardousSolidWasteLe) + { + Page page = new Page<>(bMainHazardousSolidWasteLe.getPageNum(), bMainHazardousSolidWasteLe.getPageSize()); + IPage list = bMainHazardousSolidWasteLeService.page(page, BMainHazardousSolidWasteLeQuery.createLambdaQueryWrapper(bMainHazardousSolidWasteLe)); + return AjaxResults.success(list); + } + + + /** + * 导出固体废物排放信息列表 + */ + @ApiOperation(value = "导出固体废物排放信息") + @Log(title = "固体废物排放信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe) + { + List list = bMainHazardousSolidWasteLeService.selectBMainHazardousSolidWasteLeList(bMainHazardousSolidWasteLe); + ExcelUtil util = new ExcelUtil(BMainHazardousSolidWasteLe.class); + util.exportExcel(response, list, "固体废物排放信息数据"); + } + + /** + * 获取固体废物排放信息详细信息 + */ + @ApiOperation(value = "获取固体废物排放信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainHazardousSolidWasteLeService.getById(id)); + } + /** + * 新增固体废物排放信息 + */ + @ApiOperation(value = "新增固体废物排放信息") + @Log(title = "固体废物排放信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe) { + return toAjax(bMainHazardousSolidWasteLeService.save(bMainHazardousSolidWasteLe)); + } + /** + * 修改固体废物排放信息 + */ + @ApiOperation(value = "修改固体废物排放信息") + @Log(title = "固体废物排放信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainHazardousSolidWasteLeVo bMainHazardousSolidWasteLeVo) { + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteLeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteLeVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe = bMainHazardousSolidWasteLeService.getById(bMainHazardousSolidWasteLeVo.getId()); + if(ObjectUtil.isEmpty(bMainHazardousSolidWasteLe)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainHazardousSolidWasteLeVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainHazardousSolidWasteLeVo,bMainHazardousSolidWasteLe); + return toAjax(bMainHazardousSolidWasteLeService.saveOrUpdate(bMainHazardousSolidWasteLe)); + } + + /** + * 删除固体废物排放信息 + */ + @ApiOperation(value = "删除固体废物排放信息") + @RequiresPermissions("talroad:le:remove") + @Log(title = "固体废物排放信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainHazardousSolidWasteLeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousWasteOutputController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousWasteOutputController.java new file mode 100644 index 0000000..78552ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainHazardousWasteOutputController.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainHazardousWasteOutput; +import cn.cecep.talroad.service.IBMainHazardousWasteOutputService; +import cn.cecep.talroad.vo.BMainHazardousWasteOutputVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainHazardousWasteOutputQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Assert; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 危废产生与处理Controller 控制层 + * + * @author szhpt + * @date 2023-01-10 */ +@Api(tags = "基本档案--危废产生与处理") +@RestController +@RequestMapping("/bMainHazardousWasteOutput") +public class BMainHazardousWasteOutputController extends BasesController { + @Autowired + private IBMainHazardousWasteOutputService bMainHazardousWasteOutputService; + + /** + * 查询危废产生与处理列表 + */ + @ApiOperation(value = "查询危废产生与处理") + @GetMapping("/list") + public AjaxResults> list(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + if (null == bMainHazardousWasteOutput.getPageNum()) { + bMainHazardousWasteOutput.setPageNum(1); + } + if (null == bMainHazardousWasteOutput.getPageSize()) { + bMainHazardousWasteOutput.setPageSize(10); + } + Page page = new Page<>(bMainHazardousWasteOutput.getPageNum(), bMainHazardousWasteOutput.getPageSize()); + IPage list = bMainHazardousWasteOutputService.page(page, BMainHazardousWasteOutputQuery.createLambdaQueryWrapper(bMainHazardousWasteOutput)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询危废产生与处理曲线图数据") + @GetMapping("/charData") + public AjaxResults getCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + Assert.notNull(bMainHazardousWasteOutput.getStartDate(), "开始年月不能为空!"); + Assert.notNull(bMainHazardousWasteOutput.getEndDate(), "结束年月不能为空!"); + EChartsVO charData = bMainHazardousWasteOutputService.getCharData(bMainHazardousWasteOutput); + return AjaxResults.success(charData); + } + + @ApiOperation(value = "app端-查询危废产生与处理曲线图数据") + @GetMapping("/appCharData") + public AjaxResults getAppCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + Assert.notNull(bMainHazardousWasteOutput.getStartDate(), "开始年月不能为空!"); + Assert.notNull(bMainHazardousWasteOutput.getEndDate(), "结束年月不能为空!"); + EChartsVO charData = bMainHazardousWasteOutputService.getAppCharData(bMainHazardousWasteOutput); + return AjaxResults.success(charData); + } + + + /** + * 导出危废产生与处理列表 + */ + @ApiOperation(value = "导出危废产生与处理") + @Log(title = "危废产生与处理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + List list = bMainHazardousWasteOutputService.list(BMainHazardousWasteOutputQuery.createLambdaQueryWrapper(bMainHazardousWasteOutput)); + ExcelUtil util = new ExcelUtil(BMainHazardousWasteOutput.class); + util.exportExcel(response, list, "危废产生与处理数据"); + } + + /** + * 获取危废产生与处理详细信息 + */ + @ApiOperation(value = "获取危废产生与处理详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainHazardousWasteOutputService.getById(id)); + } + + /** + * 新增危废产生与处理 + */ + @ApiOperation(value = "新增危废产生与处理") + @Log(title = "危废产生与处理", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainHazardousWasteOutput bMainHazardousWasteOutput) { + return toAjax(bMainHazardousWasteOutputService.save(bMainHazardousWasteOutput)); + } + + /** + * 修改危废产生与处理 + */ + @ApiOperation(value = "修改危废产生与处理") + @Log(title = "危废产生与处理", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainHazardousWasteOutputVo bMainHazardousWasteOutputVo) { + if (ObjectUtil.isEmpty(bMainHazardousWasteOutputVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(bMainHazardousWasteOutputVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + BMainHazardousWasteOutput bMainHazardousWasteOutput = bMainHazardousWasteOutputService.getById(bMainHazardousWasteOutputVo.getId()); + if (ObjectUtil.isEmpty(bMainHazardousWasteOutput)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainHazardousWasteOutputVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainHazardousWasteOutputVo, bMainHazardousWasteOutput); + return toAjax(bMainHazardousWasteOutputService.saveOrUpdate(bMainHazardousWasteOutput)); + } + + /** + * 删除危废产生与处理 + */ + @ApiOperation(value = "删除危废产生与处理") + @RequiresPermissions("talroad:output:remove") + @Log(title = "危废产生与处理", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainHazardousWasteOutputService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainMobileEnforcementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainMobileEnforcementController.java new file mode 100644 index 0000000..f7d56d9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainMobileEnforcementController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainMobileEnforcement; +import cn.cecep.talroad.service.IBMainMobileEnforcementService; +import cn.cecep.talroad.vo.BMainMobileEnforcementVo; +import cn.cecep.talroad.vo.query.BMainMobileEnforcementQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 移动执法信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "业务--移动执法信息") +@RestController +@RequestMapping("/bMainMobileEnforcement") +public class BMainMobileEnforcementController extends BasesController +{ + @Autowired + private IBMainMobileEnforcementService bMainMobileEnforcementService; + + /** + * 查询移动执法信息列表 + */ + @ApiOperation(value = "查询移动执法信息") + @GetMapping("/list") + public AjaxResults> list(BMainMobileEnforcementQuery bMainMobileEnforcement) + { + return AjaxResults.success(bMainMobileEnforcementService.pullPage(bMainMobileEnforcement)); + } + + + /** + * 导出移动执法信息列表 + */ + @ApiOperation(value = "导出移动执法信息") + @Log(title = "移动执法信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BMainMobileEnforcementQuery bMainMobileEnforcement) + { + List list = bMainMobileEnforcementService.list(BMainMobileEnforcementQuery.createLambdaQueryWrapper(bMainMobileEnforcement)); + ExcelUtil util = new ExcelUtil(BMainMobileEnforcement.class); + util.exportExcel(response, list, "移动执法信息数据"); + } + + /** + * 获取移动执法信息详细信息 + */ + @ApiOperation(value = "获取移动执法信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainMobileEnforcementService.getById(id)); + } + /** + * 新增移动执法信息 + */ + @ApiOperation(value = "新增移动执法信息") + @Log(title = "移动执法信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainMobileEnforcement bMainMobileEnforcement) { + return toAjax(bMainMobileEnforcementService.save(bMainMobileEnforcement)); + } + /** + * 修改移动执法信息 + */ + @ApiOperation(value = "修改移动执法信息") + @Log(title = "移动执法信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainMobileEnforcementVo bMainMobileEnforcementVo) { + if(ObjectUtil.isEmpty(bMainMobileEnforcementVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainMobileEnforcementVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainMobileEnforcement bMainMobileEnforcement = bMainMobileEnforcementService.getById(bMainMobileEnforcementVo.getId()); + if(ObjectUtil.isEmpty(bMainMobileEnforcement)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainMobileEnforcementVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainMobileEnforcementVo,bMainMobileEnforcement); + return toAjax(bMainMobileEnforcementService.saveOrUpdate(bMainMobileEnforcement)); + } + + /** + * 删除移动执法信息 + */ + @ApiOperation(value = "删除移动执法信息") + @RequiresPermissions("talroad:enforcement:remove") + @Log(title = "移动执法信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainMobileEnforcementService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainNoiseEmissionsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainNoiseEmissionsController.java new file mode 100644 index 0000000..aa0f775 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainNoiseEmissionsController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainNoiseEmissions; +import cn.cecep.talroad.service.IBMainNoiseEmissionsService; +import cn.cecep.talroad.vo.BMainNoiseEmissionsVo; +import cn.cecep.talroad.vo.query.BMainNoiseEmissionsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 噪声排放信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--噪声排放信息") +@RestController +@RequestMapping("/bMainNoiseEmissions") +public class BMainNoiseEmissionsController extends BasesController +{ + @Autowired + private IBMainNoiseEmissionsService bMainNoiseEmissionsService; + + /** + * 查询噪声排放信息列表 + */ + @ApiOperation(value = "查询噪声排放信息") + @GetMapping("/list") + public AjaxResults> list(BMainNoiseEmissionsQuery bMainNoiseEmissions) + { + Page page = new Page<>(bMainNoiseEmissions.getPageNum(), bMainNoiseEmissions.getPageSize()); + IPage list = bMainNoiseEmissionsService.page(page, BMainNoiseEmissionsQuery.createLambdaQueryWrapper(bMainNoiseEmissions)); + return AjaxResults.success(list); + } + + + /** + * 导出噪声排放信息列表 + */ + @ApiOperation(value = "导出噪声排放信息") + @Log(title = "噪声排放信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainNoiseEmissions bMainNoiseEmissions) + { + List list = bMainNoiseEmissionsService.selectBMainNoiseEmissionsList(bMainNoiseEmissions); + ExcelUtil util = new ExcelUtil(BMainNoiseEmissions.class); + util.exportExcel(response, list, "噪声排放信息数据"); + } + + /** + * 获取噪声排放信息详细信息 + */ + @ApiOperation(value = "获取噪声排放信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainNoiseEmissionsService.getById(id)); + } + /** + * 新增噪声排放信息 + */ + @ApiOperation(value = "新增噪声排放信息") + @Log(title = "噪声排放信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainNoiseEmissions bMainNoiseEmissions) { + return toAjax(bMainNoiseEmissionsService.save(bMainNoiseEmissions)); + } + /** + * 修改噪声排放信息 + */ + @ApiOperation(value = "修改噪声排放信息") + @Log(title = "噪声排放信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainNoiseEmissionsVo bMainNoiseEmissionsVo) { + if(ObjectUtil.isEmpty(bMainNoiseEmissionsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainNoiseEmissionsVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainNoiseEmissions bMainNoiseEmissions = bMainNoiseEmissionsService.getById(bMainNoiseEmissionsVo.getId()); + if(ObjectUtil.isEmpty(bMainNoiseEmissions)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainNoiseEmissionsVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainNoiseEmissionsVo,bMainNoiseEmissions); + return toAjax(bMainNoiseEmissionsService.saveOrUpdate(bMainNoiseEmissions)); + } + + /** + * 删除噪声排放信息 + */ + @ApiOperation(value = "删除噪声排放信息") + @RequiresPermissions("talroad:emissions:remove") + @Log(title = "噪声排放信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainNoiseEmissionsService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisController.java new file mode 100644 index 0000000..efd0640 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisController.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDis; +import cn.cecep.talroad.service.IBMainPollDisService; +import cn.cecep.talroad.util.ConvertNumber; +import cn.cecep.talroad.vo.BMainPollDisVo; +import cn.cecep.talroad.vo.query.BMainPollDisQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可") +@RestController +@RequestMapping("/BMainPollDis") +public class BMainPollDisController extends BasesController +{ + @Autowired + private IBMainPollDisService bMainPollDisService; + + /** + * 查询排污许可列表 + */ + @ApiOperation(value = "查询排污许可") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisQuery bMainPollDis) + { + Page page = new Page<>(bMainPollDis.getPageNum(), bMainPollDis.getPageSize()); + IPage list = bMainPollDisService.page(page, BMainPollDisQuery.createLambdaQueryWrapper(bMainPollDis)); + if(!CollectionUtils.isEmpty(list.getRecords())){ + list.getRecords().forEach(item->{ + item.setBusinessType(BMainPollDis.PwxkzType.getByCode(item.getBusinessType()).desc); + item.setEditionCode(ConvertNumber.chineseNumToArabicNum(item.getEditionCode().replaceAll("第","").replaceAll("版","")).toString()); + }); + } + return AjaxResults.success(list); + } + + + /** + * 导出排污许可列表 + */ + @ApiOperation(value = "导出排污许可") + @Log(title = "排污许可", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDis bMainPollDis) + { + List list = bMainPollDisService.selectBMainPollDisList(bMainPollDis); + ExcelUtil util = new ExcelUtil(BMainPollDis.class); + util.exportExcel(response, list, "排污许可数据"); + } + + /** + * 获取排污许可详细信息 + */ + @ApiOperation(value = "获取排污许可详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bMainPollDisService.getById(id)); + } + /** + * 新增排污许可 + */ + @ApiOperation(value = "新增排污许可") + @Log(title = "排污许可", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDis bMainPollDis) { + return toAjax(bMainPollDisService.save(bMainPollDis)); + } + /** + * 修改排污许可 + */ + @ApiOperation(value = "修改排污许可") + @Log(title = "排污许可", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisVo bMainPollDisVo) { + if(ObjectUtil.isEmpty(bMainPollDisVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDis bMainPollDis = bMainPollDisService.getById(bMainPollDisVo.getId()); + if(ObjectUtil.isEmpty(bMainPollDis)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisVo,bMainPollDis); + return toAjax(bMainPollDisService.saveOrUpdate(bMainPollDis)); + } + + /** + * 删除排污许可 + */ + @ApiOperation(value = "删除排污许可") + @RequiresPermissions("talroad:BMainPollDis:remove") + @Log(title = "排污许可", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainPollDisService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEmlRecordController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEmlRecordController.java new file mode 100644 index 0000000..9984b08 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEmlRecordController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisEmlRecord; +import cn.cecep.talroad.service.IBMainPollDisEmlRecordService; +import cn.cecep.talroad.vo.BMainPollDisEmlRecordVo; +import cn.cecep.talroad.vo.query.BMainPollDisEmlRecordQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可环境管理台账Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可环境管理台账") +@RestController +@RequestMapping("/BMainPollDisEmlRecord") +public class BMainPollDisEmlRecordController extends BasesController +{ + @Autowired + private IBMainPollDisEmlRecordService bMainPollDisEmlRecordService; + + /** + * 查询排污许可环境管理台账列表 + */ + @ApiOperation(value = "查询排污许可环境管理台账") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisEmlRecordQuery bMainPollDisEmlRecord) + { + Page page = new Page<>(bMainPollDisEmlRecord.getPageNum(), bMainPollDisEmlRecord.getPageSize()); + IPage list = bMainPollDisEmlRecordService.page(page, BMainPollDisEmlRecordQuery.createLambdaQueryWrapper(bMainPollDisEmlRecord)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可环境管理台账列表 + */ + @ApiOperation(value = "导出排污许可环境管理台账") + @Log(title = "排污许可环境管理台账", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisEmlRecord bMainPollDisEmlRecord) + { + List list = bMainPollDisEmlRecordService.selectBMainPollDisEmlRecordList(bMainPollDisEmlRecord); + ExcelUtil util = new ExcelUtil(BMainPollDisEmlRecord.class); + util.exportExcel(response, list, "排污许可环境管理台账数据"); + } + + /** + * 获取排污许可环境管理台账详细信息 + */ + @ApiOperation(value = "获取排污许可环境管理台账详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisEmlRecordService.getById(id)); + } + /** + * 新增排污许可环境管理台账 + */ + @ApiOperation(value = "新增排污许可环境管理台账") + @Log(title = "排污许可环境管理台账", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisEmlRecord bMainPollDisEmlRecord) { + return toAjax(bMainPollDisEmlRecordService.save(bMainPollDisEmlRecord)); + } + /** + * 修改排污许可环境管理台账 + */ + @ApiOperation(value = "修改排污许可环境管理台账") + @Log(title = "排污许可环境管理台账", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisEmlRecordVo bMainPollDisEmlRecordVo) { + if(ObjectUtil.isEmpty(bMainPollDisEmlRecordVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisEmlRecordVo.getEmlId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisEmlRecord bMainPollDisEmlRecord = bMainPollDisEmlRecordService.getById(bMainPollDisEmlRecordVo.getEmlId()); + if(ObjectUtil.isEmpty(bMainPollDisEmlRecord)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisEmlRecordVo.getEmlId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisEmlRecordVo,bMainPollDisEmlRecord); + return toAjax(bMainPollDisEmlRecordService.saveOrUpdate(bMainPollDisEmlRecord)); + } + + /** + * 删除排污许可环境管理台账 + */ + @ApiOperation(value = "删除排污许可环境管理台账") + @RequiresPermissions("talroad:BMainPollDisEmlRecord:remove") + @Log(title = "排污许可环境管理台账", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisEmlRecordService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEnforcementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEnforcementController.java new file mode 100644 index 0000000..e18e98d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisEnforcementController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import cn.cecep.talroad.service.IBMainPollDisEnforcementService; +import cn.cecep.talroad.vo.BMainPollDisEnforcementVo; +import cn.cecep.talroad.vo.query.BMainPollDisEnforcementQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可执行守法报告Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可执行守法报告") +@RestController +@RequestMapping("/BMainPollDisEnforcement") +public class BMainPollDisEnforcementController extends BasesController +{ + @Autowired + private IBMainPollDisEnforcementService bMainPollDisEnforcementService; + + /** + * 查询排污许可执行守法报告列表 + */ + @ApiOperation(value = "查询排污许可执行守法报告") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisEnforcementQuery bMainPollDisEnforcement) + { + Page page = new Page<>(bMainPollDisEnforcement.getPageNum(), bMainPollDisEnforcement.getPageSize()); + IPage list = bMainPollDisEnforcementService.page(page, BMainPollDisEnforcementQuery.createLambdaQueryWrapper(bMainPollDisEnforcement)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可执行守法报告列表 + */ + @ApiOperation(value = "导出排污许可执行守法报告") + @Log(title = "排污许可执行守法报告", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisEnforcement bMainPollDisEnforcement) + { + List list = bMainPollDisEnforcementService.selectBMainPollDisEnforcementList(bMainPollDisEnforcement); + ExcelUtil util = new ExcelUtil(BMainPollDisEnforcement.class); + util.exportExcel(response, list, "排污许可执行守法报告数据"); + } + + /** + * 获取排污许可执行守法报告详细信息 + */ + @ApiOperation(value = "获取排污许可执行守法报告详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisEnforcementService.getById(id)); + } + /** + * 新增排污许可执行守法报告 + */ + @ApiOperation(value = "新增排污许可执行守法报告") + @Log(title = "排污许可执行守法报告", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisEnforcement bMainPollDisEnforcement) { + return toAjax(bMainPollDisEnforcementService.save(bMainPollDisEnforcement)); + } + /** + * 修改排污许可执行守法报告 + */ + @ApiOperation(value = "修改排污许可执行守法报告") + @Log(title = "排污许可执行守法报告", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisEnforcementVo bMainPollDisEnforcementVo) { + if(ObjectUtil.isEmpty(bMainPollDisEnforcementVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisEnforcementVo.getEnforcementId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisEnforcement bMainPollDisEnforcement = bMainPollDisEnforcementService.getById(bMainPollDisEnforcementVo.getEnforcementId()); + if(ObjectUtil.isEmpty(bMainPollDisEnforcement)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisEnforcementVo.getEnforcementId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisEnforcementVo,bMainPollDisEnforcement); + return toAjax(bMainPollDisEnforcementService.saveOrUpdate(bMainPollDisEnforcement)); + } + + /** + * 删除排污许可执行守法报告 + */ + @ApiOperation(value = "删除排污许可执行守法报告") + @RequiresPermissions("talroad:BMainPollDisEnforcement:remove") + @Log(title = "排污许可执行守法报告", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisEnforcementService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisFileController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisFileController.java new file mode 100644 index 0000000..9b36136 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisFileController.java @@ -0,0 +1,154 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisFile; +import cn.cecep.talroad.service.IBMainPollDisFileService; +import cn.cecep.talroad.vo.BMainPollDisFileVo; +import cn.cecep.talroad.vo.query.BMainPollDisFileQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.shaded.com.google.common.collect.Lists; +import com.alibaba.nacos.shaded.com.google.common.collect.Maps; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可附件信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可附件信息") +@RestController +@RequestMapping("/BMainPollDisFile") +public class BMainPollDisFileController extends BasesController +{ + @Autowired + private IBMainPollDisFileService bMainPollDisFileService; + + /** + * 查询排污许可附件信息列表 + */ + @ApiOperation(value = "查询排污许可附件信息") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisFileQuery bMainPollDisFile) + { + Page page = new Page<>(bMainPollDisFile.getPageNum(), 99); + IPage list = bMainPollDisFileService.page(page, BMainPollDisFileQuery.createLambdaQueryWrapper(bMainPollDisFile)); + List dbFiles = list.getRecords(); + Map> dbFileMaps = CollectionUtils.isEmpty(dbFiles) ? Maps.newHashMap() : dbFiles.stream().collect(Collectors.groupingBy(BMainPollDisFile::getFileType)); + BMainPollDisFile.PwxkzFile[] values = BMainPollDisFile.PwxkzFile.values(); + ArrayList res = Lists.newArrayList(); + for (BMainPollDisFile.PwxkzFile file : values) { + HashMap item = Maps.newHashMap(); + item.put("type", file.desc); + item.put("files", dbFileMaps.containsKey(file.desc) ? dbFileMaps.get(file.desc) : Lists.newArrayList()); + res.add(item); + } + return AjaxResults.success(res); + } + + + /** + * 导出排污许可附件信息列表 + */ + @ApiOperation(value = "导出排污许可附件信息") + @Log(title = "排污许可附件信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisFile bMainPollDisFile) + { + List list = bMainPollDisFileService.selectBMainPollDisFileList(bMainPollDisFile); + ExcelUtil util = new ExcelUtil(BMainPollDisFile.class); + util.exportExcel(response, list, "排污许可附件信息数据"); + } + + /** + * 获取排污许可附件信息详细信息 + */ + @ApiOperation(value = "获取排污许可附件信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisFileService.getById(id)); + } + + /** + * 获取指定企业指定排污许可证附件信息 + */ + @ApiOperation(value = "获取指定企业指定排污许可证附件信息") + @PostMapping(value = "/{factoryId}/{pollDisId}") + public AjaxResults> getInfo(@PathVariable("factoryId") String factoryId, + @PathVariable("pollDisId") String pollDisId) { + return AjaxResults.success(bMainPollDisFileService.list(BMainPollDisFile.createLambdaQueryWrapper(factoryId, pollDisId))); + } + + /** + * 新增排污许可附件信息 + */ + @ApiOperation(value = "新增排污许可附件信息") + @Log(title = "排污许可附件信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisFile bMainPollDisFile) { + return toAjax(bMainPollDisFileService.save(bMainPollDisFile)); + } + /** + * 修改排污许可附件信息 + */ + @ApiOperation(value = "修改排污许可附件信息") + @Log(title = "排污许可附件信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisFileVo bMainPollDisFileVo) { + if(ObjectUtil.isEmpty(bMainPollDisFileVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisFileVo.getFileId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisFile bMainPollDisFile = bMainPollDisFileService.getById(bMainPollDisFileVo.getFileId()); + if(ObjectUtil.isEmpty(bMainPollDisFile)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisFileVo.getFileId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisFileVo,bMainPollDisFile); + return toAjax(bMainPollDisFileService.saveOrUpdate(bMainPollDisFile)); + } + + /** + * 删除排污许可附件信息 + */ + @ApiOperation(value = "删除排污许可附件信息") + @RequiresPermissions("talroad:BMainPollDisFile:remove") + @Log(title = "排污许可附件信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisFileService.removeByIds(Arrays.asList(ids))); + } + + /** + * 单条删除-排污许可附件信息 + */ + @ApiOperation(value = "删除排污许可附件信息-单条") + @RequiresPermissions("talroad:BMainPollDisFile:remove") + @Log(title = "排污许可附件信息", businessType = BusinessType.DELETE) + @PostMapping("/removeOne/{id}") + public AjaxResults removeOne(@PathVariable Long id) { + return toAjax(bMainPollDisFileService.removeById(id)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasMoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasMoutController.java new file mode 100644 index 0000000..ce015c5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasMoutController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisGasMout; +import cn.cecep.talroad.service.IBMainPollDisGasMoutService; +import cn.cecep.talroad.vo.BMainPollDisGasMoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisGasMoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气主排放口Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可大气主排放口") +@RestController +@RequestMapping("/BMainPollDisGasMout") +public class BMainPollDisGasMoutController extends BasesController +{ + @Autowired + private IBMainPollDisGasMoutService bMainPollDisGasMoutService; + + /** + * 查询排污许可大气主排放口列表 + */ + @ApiOperation(value = "查询排污许可大气主排放口") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisGasMoutQuery bMainPollDisGasMout) + { + return AjaxResults.success(bMainPollDisGasMoutService.pullPage(bMainPollDisGasMout)); + } + + + /** + * 导出排污许可大气主排放口列表 + */ + @ApiOperation(value = "导出排污许可大气主排放口") + @Log(title = "排污许可大气主排放口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisGasMout bMainPollDisGasMout) + { + List list = bMainPollDisGasMoutService.selectBMainPollDisGasMoutList(bMainPollDisGasMout); + ExcelUtil util = new ExcelUtil(BMainPollDisGasMout.class); + util.exportExcel(response, list, "排污许可大气主排放口数据"); + } + + /** + * 获取排污许可大气主排放口详细信息 + */ + @ApiOperation(value = "获取排污许可大气主排放口详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisGasMoutService.getById(id)); + } + /** + * 新增排污许可大气主排放口 + */ + @ApiOperation(value = "新增排污许可大气主排放口") + @Log(title = "排污许可大气主排放口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisGasMout bMainPollDisGasMout) { + return toAjax(bMainPollDisGasMoutService.save(bMainPollDisGasMout)); + } + /** + * 修改排污许可大气主排放口 + */ + @ApiOperation(value = "修改排污许可大气主排放口") + @Log(title = "排污许可大气主排放口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisGasMoutVo bMainPollDisGasMoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisGasMoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisGasMoutVo.getMoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisGasMout bMainPollDisGasMout = bMainPollDisGasMoutService.getById(bMainPollDisGasMoutVo.getMoutId()); + if(ObjectUtil.isEmpty(bMainPollDisGasMout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisGasMoutVo.getMoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisGasMoutVo,bMainPollDisGasMout); + return toAjax(bMainPollDisGasMoutService.saveOrUpdate(bMainPollDisGasMout)); + } + + /** + * 删除排污许可大气主排放口 + */ + @ApiOperation(value = "删除排污许可大气主排放口") + @RequiresPermissions("talroad:BMainPollDisGasMout:remove") + @Log(title = "排污许可大气主排放口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisGasMoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasOoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasOoutController.java new file mode 100644 index 0000000..9a4291b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasOoutController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisGasOout; +import cn.cecep.talroad.service.IBMainPollDisGasOoutService; +import cn.cecep.talroad.vo.BMainPollDisGasOoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisGasOoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气一般排放口Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可大气一般排放口") +@RestController +@RequestMapping("/BMainPollDisGasOout") +public class BMainPollDisGasOoutController extends BasesController +{ + @Autowired + private IBMainPollDisGasOoutService bMainPollDisGasOoutService; + + /** + * 查询排污许可大气一般排放口列表 + */ + @ApiOperation(value = "查询排污许可大气一般排放口") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisGasOoutQuery bMainPollDisGasOout) + { + return AjaxResults.success(bMainPollDisGasOoutService.pullPage(bMainPollDisGasOout)); + } + + + /** + * 导出排污许可大气一般排放口列表 + */ + @ApiOperation(value = "导出排污许可大气一般排放口") + @Log(title = "排污许可大气一般排放口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisGasOout bMainPollDisGasOout) + { + List list = bMainPollDisGasOoutService.selectBMainPollDisGasOoutList(bMainPollDisGasOout); + ExcelUtil util = new ExcelUtil(BMainPollDisGasOout.class); + util.exportExcel(response, list, "排污许可大气一般排放口数据"); + } + + /** + * 获取排污许可大气一般排放口详细信息 + */ + @ApiOperation(value = "获取排污许可大气一般排放口详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisGasOoutService.getById(id)); + } + /** + * 新增排污许可大气一般排放口 + */ + @ApiOperation(value = "新增排污许可大气一般排放口") + @Log(title = "排污许可大气一般排放口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisGasOout bMainPollDisGasOout) { + return toAjax(bMainPollDisGasOoutService.save(bMainPollDisGasOout)); + } + /** + * 修改排污许可大气一般排放口 + */ + @ApiOperation(value = "修改排污许可大气一般排放口") + @Log(title = "排污许可大气一般排放口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisGasOoutVo bMainPollDisGasOoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisGasOoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisGasOoutVo.getOoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisGasOout bMainPollDisGasOout = bMainPollDisGasOoutService.getById(bMainPollDisGasOoutVo.getOoutId()); + if(ObjectUtil.isEmpty(bMainPollDisGasOout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisGasOoutVo.getOoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisGasOoutVo,bMainPollDisGasOout); + return toAjax(bMainPollDisGasOoutService.saveOrUpdate(bMainPollDisGasOout)); + } + + /** + * 删除排污许可大气一般排放口 + */ + @ApiOperation(value = "删除排污许可大气一般排放口") + @RequiresPermissions("talroad:BMainPollDisGasOout:remove") + @Log(title = "排污许可大气一般排放口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisGasOoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasPollController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasPollController.java new file mode 100644 index 0000000..4c91d5e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasPollController.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BMainPollDisGasPoll; +import cn.cecep.talroad.service.BMainPollDisGasPollService; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气排放总计Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污单位排放总许可量") +@RestController +@RequestMapping("/BMainPollDisGasPollTout") +public class BMainPollDisGasPollController extends BasesController +{ + @Autowired + private BMainPollDisGasPollService bMainPollDisGasPollService; + + /** + * 查询排污许可大气排放总计列表 + */ + @ApiOperation(value = "查询排污单位排放总许可量") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisGasToutQuery bMainPollDisGasTout) + { + return AjaxResults.success(bMainPollDisGasPollService.pullPage(bMainPollDisGasTout)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasSoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasSoutController.java new file mode 100644 index 0000000..e3d182c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasSoutController.java @@ -0,0 +1,159 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisGasSout; +import cn.cecep.talroad.service.IBMainPollDisGasSoutService; +import cn.cecep.talroad.vo.BMainPollDisGasSoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisGasSoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气特殊情况Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可大气特殊情况") +@RestController +@RequestMapping("/BMainPollDisGasSout") +public class BMainPollDisGasSoutController extends BasesController +{ + @Autowired + private IBMainPollDisGasSoutService bMainPollDisGasSoutService; + + /** + * 查询排污许可大气特殊情况列表 + */ + @ApiOperation(value = "查询排污许可大气特殊情况") + @GetMapping("/list") + public AjaxResults> list(@Valid BMainPollDisGasSoutQuery bMainPollDisGasSout) + { + Page page = new Page<>(bMainPollDisGasSout.getPageNum(), bMainPollDisGasSout.getPageSize()); + IPage list = bMainPollDisGasSoutService.page(page, BMainPollDisGasSoutQuery.createLambdaQueryWrapper(bMainPollDisGasSout)); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + ArrayList res = Lists.newArrayList(); + List mainDrain = records.stream().filter(item -> item.getPollutantType().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setVent("主要排放口"); + }); + res.addAll(mainDrain); + } + List drain = records.stream().filter(item -> item.getPollutantType().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.forEach(item->{ + item.setVent("一般排放口"); + }); + res.addAll(drain); + } + list.setRecords(res); + List wzzs = records.stream().filter(item -> item.getPollutantType().equals("2")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(wzzs)){ + wzzs.forEach(item->{ + item.setVent("无组织排放口"); + }); + res.addAll(wzzs); + } + List amounts = records.stream().filter(item -> item.getPollutantType().equals("3")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(amounts)){ + amounts.forEach(item->{ + item.setVent("全厂合计"); + }); + res.addAll(amounts); + } + list.setRecords(res); + } + return AjaxResults.success(list); + } + + + /** + * 导出排污许可大气特殊情况列表 + */ + @ApiOperation(value = "导出排污许可大气特殊情况") + @Log(title = "排污许可大气特殊情况", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisGasSout bMainPollDisGasSout) + { + List list = bMainPollDisGasSoutService.list(new QueryWrapper<>()); + ExcelUtil util = new ExcelUtil(BMainPollDisGasSout.class); + util.exportExcel(response, list, "排污许可大气特殊情况数据"); + } + + /** + * 获取排污许可大气特殊情况详细信息 + */ + @ApiOperation(value = "获取排污许可大气特殊情况详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisGasSoutService.getById(id)); + } + /** + * 新增排污许可大气特殊情况 + */ + @ApiOperation(value = "新增排污许可大气特殊情况") + @Log(title = "排污许可大气特殊情况", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisGasSout bMainPollDisGasSout) { + return toAjax(bMainPollDisGasSoutService.save(bMainPollDisGasSout)); + } + /** + * 修改排污许可大气特殊情况 + */ + @ApiOperation(value = "修改排污许可大气特殊情况") + @Log(title = "排污许可大气特殊情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisGasSoutVo bMainPollDisGasSoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisGasSoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisGasSoutVo.getSoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisGasSout bMainPollDisGasSout = bMainPollDisGasSoutService.getById(bMainPollDisGasSoutVo.getSoutId()); + if(ObjectUtil.isEmpty(bMainPollDisGasSout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisGasSoutVo.getSoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisGasSoutVo,bMainPollDisGasSout); + return toAjax(bMainPollDisGasSoutService.saveOrUpdate(bMainPollDisGasSout)); + } + + /** + * 删除排污许可大气特殊情况 + */ + @ApiOperation(value = "删除排污许可大气特殊情况") + @RequiresPermissions("talroad:BMainPollDisGasSout:remove") + @Log(title = "排污许可大气特殊情况", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisGasSoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasToutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasToutController.java new file mode 100644 index 0000000..da737e9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasToutController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import cn.cecep.talroad.service.IBMainPollDisGasToutService; +import cn.cecep.talroad.vo.BMainPollDisGasToutVo; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气排放总计Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可大气排放总计") +@RestController +@RequestMapping("/BMainPollDisGasTout") +public class BMainPollDisGasToutController extends BasesController +{ + @Autowired + private IBMainPollDisGasToutService bMainPollDisGasToutService; + + /** + * 查询排污许可大气排放总计列表 + */ + @ApiOperation(value = "查询排污许可大气排放总计") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisGasToutQuery bMainPollDisGasTout) + { + return AjaxResults.success(bMainPollDisGasToutService.pullPage(bMainPollDisGasTout)); + } + + + /** + * 导出排污许可大气排放总计列表 + */ + @ApiOperation(value = "导出排污许可大气排放总计") + @Log(title = "排污许可大气排放总计", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisGasTout bMainPollDisGasTout) + { + List list = bMainPollDisGasToutService.selectBMainPollDisGasToutList(bMainPollDisGasTout); + ExcelUtil util = new ExcelUtil(BMainPollDisGasTout.class); + util.exportExcel(response, list, "排污许可大气排放总计数据"); + } + + /** + * 获取排污许可大气排放总计详细信息 + */ + @ApiOperation(value = "获取排污许可大气排放总计详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisGasToutService.getById(id)); + } + /** + * 新增排污许可大气排放总计 + */ + @ApiOperation(value = "新增排污许可大气排放总计") + @Log(title = "排污许可大气排放总计", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisGasTout bMainPollDisGasTout) { + return toAjax(bMainPollDisGasToutService.save(bMainPollDisGasTout)); + } + /** + * 修改排污许可大气排放总计 + */ + @ApiOperation(value = "修改排污许可大气排放总计") + @Log(title = "排污许可大气排放总计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisGasToutVo bMainPollDisGasToutVo) { + if(ObjectUtil.isEmpty(bMainPollDisGasToutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisGasToutVo.getToutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisGasTout bMainPollDisGasTout = bMainPollDisGasToutService.getById(bMainPollDisGasToutVo.getToutId()); + if(ObjectUtil.isEmpty(bMainPollDisGasTout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisGasToutVo.getToutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisGasToutVo,bMainPollDisGasTout); + return toAjax(bMainPollDisGasToutService.saveOrUpdate(bMainPollDisGasTout)); + } + + /** + * 删除排污许可大气排放总计 + */ + @ApiOperation(value = "删除排污许可大气排放总计") + @RequiresPermissions("talroad:BMainPollDisGasTout:remove") + @Log(title = "排污许可大气排放总计", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisGasToutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasWzzToutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasWzzToutController.java new file mode 100644 index 0000000..4bd583e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisGasWzzToutController.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BMainPollDisGasWzzTout; +import cn.cecep.talroad.service.BMainPollDisGasWzzToutService; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可大气排放总计Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可大气无组织排放总计") +@RestController +@RequestMapping("/BMainPollDisGasWzzTout") +public class BMainPollDisGasWzzToutController extends BasesController +{ + @Autowired + private BMainPollDisGasWzzToutService bMainPollDisGasWzzToutService; + + /** + * 查询排污许可大气排放总计列表 + */ + @ApiOperation(value = "查询排污许可大气无组织排放总计") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisGasToutQuery bMainPollDisGasTout) + { + return AjaxResults.success(bMainPollDisGasWzzToutService.pullPage(bMainPollDisGasTout)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisInformationController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisInformationController.java new file mode 100644 index 0000000..ca3417d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisInformationController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisInformation; +import cn.cecep.talroad.service.IBMainPollDisInformationService; +import cn.cecep.talroad.vo.BMainPollDisInformationVo; +import cn.cecep.talroad.vo.query.BMainPollDisInformationQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可信息公开Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可信息公开") +@RestController +@RequestMapping("/BMainPollDisInformation") +public class BMainPollDisInformationController extends BasesController +{ + @Autowired + private IBMainPollDisInformationService bMainPollDisInformationService; + + /** + * 查询排污许可信息公开列表 + */ + @ApiOperation(value = "查询排污许可信息公开") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisInformationQuery bMainPollDisInformation) + { + Page page = new Page<>(bMainPollDisInformation.getPageNum(), bMainPollDisInformation.getPageSize()); + IPage list = bMainPollDisInformationService.page(page, BMainPollDisInformationQuery.createLambdaQueryWrapper(bMainPollDisInformation)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可信息公开列表 + */ + @ApiOperation(value = "导出排污许可信息公开") + @Log(title = "排污许可信息公开", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisInformation bMainPollDisInformation) + { + List list = bMainPollDisInformationService.selectBMainPollDisInformationList(bMainPollDisInformation); + ExcelUtil util = new ExcelUtil(BMainPollDisInformation.class); + util.exportExcel(response, list, "排污许可信息公开数据"); + } + + /** + * 获取排污许可信息公开详细信息 + */ + @ApiOperation(value = "获取排污许可信息公开详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisInformationService.getById(id)); + } + /** + * 新增排污许可信息公开 + */ + @ApiOperation(value = "新增排污许可信息公开") + @Log(title = "排污许可信息公开", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisInformation bMainPollDisInformation) { + return toAjax(bMainPollDisInformationService.save(bMainPollDisInformation)); + } + /** + * 修改排污许可信息公开 + */ + @ApiOperation(value = "修改排污许可信息公开") + @Log(title = "排污许可信息公开", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisInformationVo bMainPollDisInformationVo) { + if(ObjectUtil.isEmpty(bMainPollDisInformationVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisInformationVo.getInformationId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisInformation bMainPollDisInformation = bMainPollDisInformationService.getById(bMainPollDisInformationVo.getInformationId()); + if(ObjectUtil.isEmpty(bMainPollDisInformation)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisInformationVo.getInformationId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisInformationVo,bMainPollDisInformation); + return toAjax(bMainPollDisInformationService.saveOrUpdate(bMainPollDisInformation)); + } + + /** + * 删除排污许可信息公开 + */ + @ApiOperation(value = "删除排污许可信息公开") + @RequiresPermissions("talroad:BMainPollDisInformation:remove") + @Log(title = "排污许可信息公开", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisInformationService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseController.java new file mode 100644 index 0000000..f5facfc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisNoise; +import cn.cecep.talroad.service.IBMainPollDisNoiseService; +import cn.cecep.talroad.vo.BMainPollDisNoiseVo; +import cn.cecep.talroad.vo.query.BMainPollDisNoiseQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可其他许可噪声排放Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可其他许可噪声排放") +@RestController +@RequestMapping("/BMainPollDisNoise") +public class BMainPollDisNoiseController extends BasesController +{ + @Autowired + private IBMainPollDisNoiseService bMainPollDisNoiseService; + + /** + * 查询排污许可其他许可噪声排放列表 + */ + @ApiOperation(value = "查询排污许可其他许可噪声排放") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisNoiseQuery bMainPollDisNoise) + { + Page page = new Page<>(bMainPollDisNoise.getPageNum(), bMainPollDisNoise.getPageSize()); + IPage list = bMainPollDisNoiseService.page(page, BMainPollDisNoiseQuery.createLambdaQueryWrapper(bMainPollDisNoise)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可其他许可噪声排放列表 + */ + @ApiOperation(value = "导出排污许可其他许可噪声排放") + @Log(title = "排污许可其他许可噪声排放", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisNoise bMainPollDisNoise) + { + List list = bMainPollDisNoiseService.selectBMainPollDisNoiseList(bMainPollDisNoise); + ExcelUtil util = new ExcelUtil(BMainPollDisNoise.class); + util.exportExcel(response, list, "排污许可其他许可噪声排放数据"); + } + + /** + * 获取排污许可其他许可噪声排放详细信息 + */ + @ApiOperation(value = "获取排污许可其他许可噪声排放详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisNoiseService.getById(id)); + } + /** + * 新增排污许可其他许可噪声排放 + */ + @ApiOperation(value = "新增排污许可其他许可噪声排放") + @Log(title = "排污许可其他许可噪声排放", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisNoise bMainPollDisNoise) { + return toAjax(bMainPollDisNoiseService.save(bMainPollDisNoise)); + } + /** + * 修改排污许可其他许可噪声排放 + */ + @ApiOperation(value = "修改排污许可其他许可噪声排放") + @Log(title = "排污许可其他许可噪声排放", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisNoiseVo bMainPollDisNoiseVo) { + if(ObjectUtil.isEmpty(bMainPollDisNoiseVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisNoiseVo.getNoiseId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisNoise bMainPollDisNoise = bMainPollDisNoiseService.getById(bMainPollDisNoiseVo.getNoiseId()); + if(ObjectUtil.isEmpty(bMainPollDisNoise)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisNoiseVo.getNoiseId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisNoiseVo,bMainPollDisNoise); + return toAjax(bMainPollDisNoiseService.saveOrUpdate(bMainPollDisNoise)); + } + + /** + * 删除排污许可其他许可噪声排放 + */ + @ApiOperation(value = "删除排污许可其他许可噪声排放") + @RequiresPermissions("talroad:BMainPollDisNoise:remove") + @Log(title = "排污许可其他许可噪声排放", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisNoiseService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRegulationController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRegulationController.java new file mode 100644 index 0000000..d2aaa72 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRegulationController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisNoiseRegulation; +import cn.cecep.talroad.service.IBMainPollDisNoiseRegulationService; +import cn.cecep.talroad.vo.BMainPollDisNoiseRegulationVo; +import cn.cecep.talroad.vo.query.BMainPollDisNoiseRegulationQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可其他许可改正规定Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可其他许可改正规定") +@RestController +@RequestMapping("/BMainPollDisNoiseRegulation") +public class BMainPollDisNoiseRegulationController extends BasesController +{ + @Autowired + private IBMainPollDisNoiseRegulationService bMainPollDisNoiseRegulationService; + + /** + * 查询排污许可其他许可改正规定列表 + */ + @ApiOperation(value = "查询排污许可其他许可改正规定") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisNoiseRegulationQuery bMainPollDisNoiseRegulation) + { + Page page = new Page<>(bMainPollDisNoiseRegulation.getPageNum(), bMainPollDisNoiseRegulation.getPageSize()); + IPage list = bMainPollDisNoiseRegulationService.page(page, BMainPollDisNoiseRegulationQuery.createLambdaQueryWrapper(bMainPollDisNoiseRegulation)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可其他许可改正规定列表 + */ + @ApiOperation(value = "导出排污许可其他许可改正规定") + @Log(title = "排污许可其他许可改正规定", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation) + { + List list = bMainPollDisNoiseRegulationService.selectBMainPollDisNoiseRegulationList(bMainPollDisNoiseRegulation); + ExcelUtil util = new ExcelUtil(BMainPollDisNoiseRegulation.class); + util.exportExcel(response, list, "排污许可其他许可改正规定数据"); + } + + /** + * 获取排污许可其他许可改正规定详细信息 + */ + @ApiOperation(value = "获取排污许可其他许可改正规定详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisNoiseRegulationService.getById(id)); + } + /** + * 新增排污许可其他许可改正规定 + */ + @ApiOperation(value = "新增排污许可其他许可改正规定") + @Log(title = "排污许可其他许可改正规定", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation) { + return toAjax(bMainPollDisNoiseRegulationService.save(bMainPollDisNoiseRegulation)); + } + /** + * 修改排污许可其他许可改正规定 + */ + @ApiOperation(value = "修改排污许可其他许可改正规定") + @Log(title = "排污许可其他许可改正规定", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisNoiseRegulationVo bMainPollDisNoiseRegulationVo) { + if(ObjectUtil.isEmpty(bMainPollDisNoiseRegulationVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisNoiseRegulationVo.getRegulationId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation = bMainPollDisNoiseRegulationService.getById(bMainPollDisNoiseRegulationVo.getRegulationId()); + if(ObjectUtil.isEmpty(bMainPollDisNoiseRegulation)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisNoiseRegulationVo.getRegulationId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisNoiseRegulationVo,bMainPollDisNoiseRegulation); + return toAjax(bMainPollDisNoiseRegulationService.saveOrUpdate(bMainPollDisNoiseRegulation)); + } + + /** + * 删除排污许可其他许可改正规定 + */ + @ApiOperation(value = "删除排污许可其他许可改正规定") + @RequiresPermissions("talroad:BMainPollDisNoiseRegulation:remove") + @Log(title = "排污许可其他许可改正规定", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisNoiseRegulationService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRequireController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRequireController.java new file mode 100644 index 0000000..c82f42e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisNoiseRequireController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisNoiseRequire; +import cn.cecep.talroad.service.IBMainPollDisNoiseRequireService; +import cn.cecep.talroad.vo.BMainPollDisNoiseRequireVo; +import cn.cecep.talroad.vo.query.BMainPollDisNoiseRequireQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可环境管理要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可环境管理要求") +@RestController +@RequestMapping("/BMainPollDisNoiseRequire") +public class BMainPollDisNoiseRequireController extends BasesController +{ + @Autowired + private IBMainPollDisNoiseRequireService bMainPollDisNoiseRequireService; + + /** + * 查询排污许可环境管理要求列表 + */ + @ApiOperation(value = "查询排污许可环境管理要求") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisNoiseRequireQuery bMainPollDisNoiseRequire) + { + Page page = new Page<>(bMainPollDisNoiseRequire.getPageNum(), bMainPollDisNoiseRequire.getPageSize()); + IPage list = bMainPollDisNoiseRequireService.page(page, BMainPollDisNoiseRequireQuery.createLambdaQueryWrapper(bMainPollDisNoiseRequire)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可环境管理要求列表 + */ + @ApiOperation(value = "导出排污许可环境管理要求") + @Log(title = "排污许可环境管理要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisNoiseRequire bMainPollDisNoiseRequire) + { + List list = bMainPollDisNoiseRequireService.selectBMainPollDisNoiseRequireList(bMainPollDisNoiseRequire); + ExcelUtil util = new ExcelUtil(BMainPollDisNoiseRequire.class); + util.exportExcel(response, list, "排污许可环境管理要求数据"); + } + + /** + * 获取排污许可环境管理要求详细信息 + */ + @ApiOperation(value = "获取排污许可环境管理要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisNoiseRequireService.getById(id)); + } + /** + * 新增排污许可环境管理要求 + */ + @ApiOperation(value = "新增排污许可环境管理要求") + @Log(title = "排污许可环境管理要求", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisNoiseRequire bMainPollDisNoiseRequire) { + return toAjax(bMainPollDisNoiseRequireService.save(bMainPollDisNoiseRequire)); + } + /** + * 修改排污许可环境管理要求 + */ + @ApiOperation(value = "修改排污许可环境管理要求") + @Log(title = "排污许可环境管理要求", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisNoiseRequireVo bMainPollDisNoiseRequireVo) { + if(ObjectUtil.isEmpty(bMainPollDisNoiseRequireVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisNoiseRequireVo.getRequireId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisNoiseRequire bMainPollDisNoiseRequire = bMainPollDisNoiseRequireService.getById(bMainPollDisNoiseRequireVo.getRequireId()); + if(ObjectUtil.isEmpty(bMainPollDisNoiseRequire)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisNoiseRequireVo.getRequireId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisNoiseRequireVo,bMainPollDisNoiseRequire); + return toAjax(bMainPollDisNoiseRequireService.saveOrUpdate(bMainPollDisNoiseRequire)); + } + + /** + * 删除排污许可环境管理要求 + */ + @ApiOperation(value = "删除排污许可环境管理要求") + @RequiresPermissions("talroad:BMainPollDisNoiseRequire:remove") + @Log(title = "排污许可环境管理要求", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisNoiseRequireService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonController.java new file mode 100644 index 0000000..c1de0d8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import cn.cecep.talroad.service.IBMainPollDisSelfMonService; +import cn.cecep.talroad.vo.BMainPollDisSelfMonVo; +import cn.cecep.talroad.vo.query.BMainPollDisSelfMonQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可自行监测要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可自行监测要求") +@RestController +@RequestMapping("/BMainPollDisSelfMon") +public class BMainPollDisSelfMonController extends BasesController +{ + @Autowired + private IBMainPollDisSelfMonService bMainPollDisSelfMonService; + + /** + * 查询排污许可自行监测要求列表 + */ + @ApiOperation(value = "查询排污许可自行监测要求") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisSelfMonQuery bMainPollDisSelfMon) + { + Page page = new Page<>(bMainPollDisSelfMon.getPageNum(), bMainPollDisSelfMon.getPageSize()); + IPage list = bMainPollDisSelfMonService.page(page, BMainPollDisSelfMonQuery.createLambdaQueryWrapper(bMainPollDisSelfMon)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可自行监测要求列表 + */ + @ApiOperation(value = "导出排污许可自行监测要求") + @Log(title = "排污许可自行监测要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisSelfMon bMainPollDisSelfMon) + { + List list = bMainPollDisSelfMonService.selectBMainPollDisSelfMonList(bMainPollDisSelfMon); + ExcelUtil util = new ExcelUtil(BMainPollDisSelfMon.class); + util.exportExcel(response, list, "排污许可自行监测要求数据"); + } + + /** + * 获取排污许可自行监测要求详细信息 + */ + @ApiOperation(value = "获取排污许可自行监测要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisSelfMonService.getById(id)); + } + /** + * 新增排污许可自行监测要求 + */ + @ApiOperation(value = "新增排污许可自行监测要求") + @Log(title = "排污许可自行监测要求", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisSelfMon bMainPollDisSelfMon) { + return toAjax(bMainPollDisSelfMonService.save(bMainPollDisSelfMon)); + } + /** + * 修改排污许可自行监测要求 + */ + @ApiOperation(value = "修改排污许可自行监测要求") + @Log(title = "排污许可自行监测要求", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisSelfMonVo bMainPollDisSelfMonVo) { + if(ObjectUtil.isEmpty(bMainPollDisSelfMonVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisSelfMonVo.getMonId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisSelfMon bMainPollDisSelfMon = bMainPollDisSelfMonService.getById(bMainPollDisSelfMonVo.getMonId()); + if(ObjectUtil.isEmpty(bMainPollDisSelfMon)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisSelfMonVo.getMonId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisSelfMonVo,bMainPollDisSelfMon); + return toAjax(bMainPollDisSelfMonService.saveOrUpdate(bMainPollDisSelfMon)); + } + + /** + * 删除排污许可自行监测要求 + */ + @ApiOperation(value = "删除排污许可自行监测要求") + @RequiresPermissions("talroad:BMainPollDisSelfMon:remove") + @Log(title = "排污许可自行监测要求", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisSelfMonService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonOtherController.java new file mode 100644 index 0000000..33c6f07 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisSelfMonOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisSelfMonOther; +import cn.cecep.talroad.service.IBMainPollDisSelfMonOtherService; +import cn.cecep.talroad.vo.BMainPollDisSelfMonOtherVo; +import cn.cecep.talroad.vo.query.BMainPollDisSelfMonOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可自行监测记录Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可自行监测记录") +@RestController +@RequestMapping("/BMainPollDisSelfMonOther") +public class BMainPollDisSelfMonOtherController extends BasesController +{ + @Autowired + private IBMainPollDisSelfMonOtherService bMainPollDisSelfMonOtherService; + + /** + * 查询排污许可自行监测记录列表 + */ + @ApiOperation(value = "查询排污许可自行监测记录") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisSelfMonOtherQuery bMainPollDisSelfMonOther) + { + Page page = new Page<>(bMainPollDisSelfMonOther.getPageNum(), bMainPollDisSelfMonOther.getPageSize()); + IPage list = bMainPollDisSelfMonOtherService.page(page, BMainPollDisSelfMonOtherQuery.createLambdaQueryWrapper(bMainPollDisSelfMonOther)); + return AjaxResults.success(list); + } + + + /** + * 导出排污许可自行监测记录列表 + */ + @ApiOperation(value = "导出排污许可自行监测记录") + @Log(title = "排污许可自行监测记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisSelfMonOther bMainPollDisSelfMonOther) + { + List list = bMainPollDisSelfMonOtherService.selectBMainPollDisSelfMonOtherList(bMainPollDisSelfMonOther); + ExcelUtil util = new ExcelUtil(BMainPollDisSelfMonOther.class); + util.exportExcel(response, list, "排污许可自行监测记录数据"); + } + + /** + * 获取排污许可自行监测记录详细信息 + */ + @ApiOperation(value = "获取排污许可自行监测记录详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisSelfMonOtherService.getById(id)); + } + /** + * 新增排污许可自行监测记录 + */ + @ApiOperation(value = "新增排污许可自行监测记录") + @Log(title = "排污许可自行监测记录", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisSelfMonOther bMainPollDisSelfMonOther) { + return toAjax(bMainPollDisSelfMonOtherService.save(bMainPollDisSelfMonOther)); + } + /** + * 修改排污许可自行监测记录 + */ + @ApiOperation(value = "修改排污许可自行监测记录") + @Log(title = "排污许可自行监测记录", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisSelfMonOtherVo bMainPollDisSelfMonOtherVo) { + if(ObjectUtil.isEmpty(bMainPollDisSelfMonOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisSelfMonOtherVo.getMonOtherId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisSelfMonOther bMainPollDisSelfMonOther = bMainPollDisSelfMonOtherService.getById(bMainPollDisSelfMonOtherVo.getMonOtherId()); + if(ObjectUtil.isEmpty(bMainPollDisSelfMonOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisSelfMonOtherVo.getMonOtherId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisSelfMonOtherVo,bMainPollDisSelfMonOther); + return toAjax(bMainPollDisSelfMonOtherService.saveOrUpdate(bMainPollDisSelfMonOther)); + } + + /** + * 删除排污许可自行监测记录 + */ + @ApiOperation(value = "删除排污许可自行监测记录") + @RequiresPermissions("talroad:BMainPollDisSelfMonOther:remove") + @Log(title = "排污许可自行监测记录", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisSelfMonOtherService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterMoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterMoutController.java new file mode 100644 index 0000000..bb4cb3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterMoutController.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisWaterMout; +import cn.cecep.talroad.service.IBMainPollDisWaterMoutService; +import cn.cecep.talroad.vo.BMainPollDisWaterMoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisWaterMoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可水污染物主排放口Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可水污染物主排放口") +@RestController +@RequestMapping("/BMainPollDisWaterMout") +public class BMainPollDisWaterMoutController extends BasesController +{ + @Autowired + private IBMainPollDisWaterMoutService bMainPollDisWaterMoutService; + + /** + * 查询排污许可水污染物主排放口列表 + */ + @ApiOperation(value = "查询排污许可水污染物主排放口") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisWaterMoutQuery bMainPollDisWaterMout) + { + Page page = new Page<>(bMainPollDisWaterMout.getPageNum(), bMainPollDisWaterMout.getPageSize()); + IPage list = bMainPollDisWaterMoutService.page(page, BMainPollDisWaterMoutQuery.createLambdaQueryWrapper(bMainPollDisWaterMout)); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + List mainDrain = records.stream().filter(item -> item.getOutletUseTotal().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setPollutantsMgRate(item.getPollutantsType()); + item.setPollutantsType(""); + item.setVent("主要排放口合计"); + }); + } + List drain = records.stream().filter(item -> item.getOutletUseTotal().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.sort(Comparator.comparing(BMainPollDisWaterMout::getOutletCode, Comparator.naturalOrder())); + } + ArrayList res = Lists.newArrayList(); + res.addAll(drain); + res.addAll(mainDrain); + list.setRecords(res); + } + return AjaxResults.success(list); + } + + + /** + * 导出排污许可水污染物主排放口列表 + */ + @ApiOperation(value = "导出排污许可水污染物主排放口") + @Log(title = "排污许可水污染物主排放口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisWaterMout bMainPollDisWaterMout) + { + List list = bMainPollDisWaterMoutService.selectBMainPollDisWaterMoutList(bMainPollDisWaterMout); + ExcelUtil util = new ExcelUtil(BMainPollDisWaterMout.class); + util.exportExcel(response, list, "排污许可水污染物主排放口数据"); + } + + /** + * 获取排污许可水污染物主排放口详细信息 + */ + @ApiOperation(value = "获取排污许可水污染物主排放口详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisWaterMoutService.getById(id)); + } + /** + * 新增排污许可水污染物主排放口 + */ + @ApiOperation(value = "新增排污许可水污染物主排放口") + @Log(title = "排污许可水污染物主排放口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisWaterMout bMainPollDisWaterMout) { + return toAjax(bMainPollDisWaterMoutService.save(bMainPollDisWaterMout)); + } + /** + * 修改排污许可水污染物主排放口 + */ + @ApiOperation(value = "修改排污许可水污染物主排放口") + @Log(title = "排污许可水污染物主排放口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisWaterMoutVo bMainPollDisWaterMoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisWaterMoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisWaterMoutVo.getMoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisWaterMout bMainPollDisWaterMout = bMainPollDisWaterMoutService.getById(bMainPollDisWaterMoutVo.getMoutId()); + if(ObjectUtil.isEmpty(bMainPollDisWaterMout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisWaterMoutVo.getMoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisWaterMoutVo,bMainPollDisWaterMout); + return toAjax(bMainPollDisWaterMoutService.saveOrUpdate(bMainPollDisWaterMout)); + } + + /** + * 删除排污许可水污染物主排放口 + */ + @ApiOperation(value = "删除排污许可水污染物主排放口") + @RequiresPermissions("talroad:BMainPollDisWaterMout:remove") + @Log(title = "排污许可水污染物主排放口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisWaterMoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterOoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterOoutController.java new file mode 100644 index 0000000..d592c4c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterOoutController.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisWaterOout; +import cn.cecep.talroad.service.IBMainPollDisWaterOoutService; +import cn.cecep.talroad.vo.BMainPollDisWaterOoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisWaterOoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可水污染物一般排放口Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可水污染物一般排放口") +@RestController +@RequestMapping("/BMainPollDisWaterOout") +public class BMainPollDisWaterOoutController extends BasesController +{ + @Autowired + private IBMainPollDisWaterOoutService bMainPollDisWaterOoutService; + + /** + * 查询排污许可水污染物一般排放口列表 + */ + @ApiOperation(value = "查询排污许可水污染物一般排放口") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisWaterOoutQuery bMainPollDisWaterOout) + { + Page page = new Page<>(bMainPollDisWaterOout.getPageNum(), bMainPollDisWaterOout.getPageSize()); + IPage list = bMainPollDisWaterOoutService.page(page, BMainPollDisWaterOoutQuery.createLambdaQueryWrapper(bMainPollDisWaterOout)); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + List mainDrain = records.stream().filter(item -> item.getOutletUseTotal().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setPollutantsMgRate(item.getPollutantsType()); + item.setPollutantsType(""); + item.setVent("一般排放口合计"); + }); + } + List drain = records.stream().filter(item -> item.getOutletUseTotal().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.sort(Comparator.comparing(BMainPollDisWaterOout::getOutletCode, Comparator.naturalOrder())); + } + ArrayList res = Lists.newArrayList(); + res.addAll(drain); + res.addAll(mainDrain); + list.setRecords(res); + } + return AjaxResults.success(list); + } + + + /** + * 导出排污许可水污染物一般排放口列表 + */ + @ApiOperation(value = "导出排污许可水污染物一般排放口") + @Log(title = "排污许可水污染物一般排放口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisWaterOout bMainPollDisWaterOout) + { + List list = bMainPollDisWaterOoutService.selectBMainPollDisWaterOoutList(bMainPollDisWaterOout); + ExcelUtil util = new ExcelUtil(BMainPollDisWaterOout.class); + util.exportExcel(response, list, "排污许可水污染物一般排放口数据"); + } + + /** + * 获取排污许可水污染物一般排放口详细信息 + */ + @ApiOperation(value = "获取排污许可水污染物一般排放口详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisWaterOoutService.getById(id)); + } + /** + * 新增排污许可水污染物一般排放口 + */ + @ApiOperation(value = "新增排污许可水污染物一般排放口") + @Log(title = "排污许可水污染物一般排放口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisWaterOout bMainPollDisWaterOout) { + return toAjax(bMainPollDisWaterOoutService.save(bMainPollDisWaterOout)); + } + /** + * 修改排污许可水污染物一般排放口 + */ + @ApiOperation(value = "修改排污许可水污染物一般排放口") + @Log(title = "排污许可水污染物一般排放口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisWaterOoutVo bMainPollDisWaterOoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisWaterOoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisWaterOoutVo.getOoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisWaterOout bMainPollDisWaterOout = bMainPollDisWaterOoutService.getById(bMainPollDisWaterOoutVo.getOoutId()); + if(ObjectUtil.isEmpty(bMainPollDisWaterOout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisWaterOoutVo.getOoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisWaterOoutVo,bMainPollDisWaterOout); + return toAjax(bMainPollDisWaterOoutService.saveOrUpdate(bMainPollDisWaterOout)); + } + + /** + * 删除排污许可水污染物一般排放口 + */ + @ApiOperation(value = "删除排污许可水污染物一般排放口") + @RequiresPermissions("talroad:BMainPollDisWaterOout:remove") + @Log(title = "排污许可水污染物一般排放口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisWaterOoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterSoutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterSoutController.java new file mode 100644 index 0000000..77f472f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterSoutController.java @@ -0,0 +1,125 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisWaterSout; +import cn.cecep.talroad.service.IBMainPollDisWaterSoutService; +import cn.cecep.talroad.vo.BMainPollDisWaterSoutVo; +import cn.cecep.talroad.vo.query.BMainPollDisWaterSoutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可水污染物特殊情况Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可水污染物特殊情况") +@RestController +@RequestMapping("/BMainPollDisWaterSout") +public class BMainPollDisWaterSoutController extends BasesController +{ + @Autowired + private IBMainPollDisWaterSoutService bMainPollDisWaterSoutService; + + /** + * 查询排污许可水污染物特殊情况列表 + */ + @ApiOperation(value = "查询排污许可水污染物特殊情况") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisWaterSoutQuery bMainPollDisWaterSout) + { + Page page = new Page<>(bMainPollDisWaterSout.getPageNum(), bMainPollDisWaterSout.getPageSize()); + IPage list = bMainPollDisWaterSoutService.page(page, BMainPollDisWaterSoutQuery.createLambdaQueryWrapper(bMainPollDisWaterSout)); + + if(CollectionUtils.isNotEmpty(list.getRecords())){ + list.getRecords().sort(Comparator.comparing(BMainPollDisWaterSout::getOutletCode, Comparator.naturalOrder())); + } + return AjaxResults.success(list); + } + + + /** + * 导出排污许可水污染物特殊情况列表 + */ + @ApiOperation(value = "导出排污许可水污染物特殊情况") + @Log(title = "排污许可水污染物特殊情况", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisWaterSout bMainPollDisWaterSout) + { + List list = bMainPollDisWaterSoutService.selectBMainPollDisWaterSoutList(bMainPollDisWaterSout); + ExcelUtil util = new ExcelUtil(BMainPollDisWaterSout.class); + util.exportExcel(response, list, "排污许可水污染物特殊情况数据"); + } + + /** + * 获取排污许可水污染物特殊情况详细信息 + */ + @ApiOperation(value = "获取排污许可水污染物特殊情况详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisWaterSoutService.getById(id)); + } + /** + * 新增排污许可水污染物特殊情况 + */ + @ApiOperation(value = "新增排污许可水污染物特殊情况") + @Log(title = "排污许可水污染物特殊情况", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisWaterSout bMainPollDisWaterSout) { + return toAjax(bMainPollDisWaterSoutService.save(bMainPollDisWaterSout)); + } + /** + * 修改排污许可水污染物特殊情况 + */ + @ApiOperation(value = "修改排污许可水污染物特殊情况") + @Log(title = "排污许可水污染物特殊情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisWaterSoutVo bMainPollDisWaterSoutVo) { + if(ObjectUtil.isEmpty(bMainPollDisWaterSoutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisWaterSoutVo.getSoutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisWaterSout bMainPollDisWaterSout = bMainPollDisWaterSoutService.getById(bMainPollDisWaterSoutVo.getSoutId()); + if(ObjectUtil.isEmpty(bMainPollDisWaterSout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisWaterSoutVo.getSoutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisWaterSoutVo,bMainPollDisWaterSout); + return toAjax(bMainPollDisWaterSoutService.saveOrUpdate(bMainPollDisWaterSout)); + } + + /** + * 删除排污许可水污染物特殊情况 + */ + @ApiOperation(value = "删除排污许可水污染物特殊情况") + @RequiresPermissions("talroad:BMainPollDisWaterSout:remove") + @Log(title = "排污许可水污染物特殊情况", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisWaterSoutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterToutController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterToutController.java new file mode 100644 index 0000000..9044f71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainPollDisWaterToutController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import cn.cecep.talroad.service.IBMainPollDisWaterToutService; +import cn.cecep.talroad.vo.BMainPollDisWaterToutVo; +import cn.cecep.talroad.vo.query.BMainPollDisWaterToutQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污许可水污染物排放总计Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "排污许可--排污许可水污染物排放总计") +@RestController +@RequestMapping("/BMainPollDisWaterTout") +public class BMainPollDisWaterToutController extends BasesController +{ + @Autowired + private IBMainPollDisWaterToutService bMainPollDisWaterToutService; + + /** + * 查询排污许可水污染物排放总计列表 + */ + @ApiOperation(value = "查询排污许可水污染物排放总计") + @GetMapping("/list") + public AjaxResults> list(BMainPollDisWaterToutQuery bMainPollDisWaterTout) + { + return AjaxResults.success(bMainPollDisWaterToutService.pullPage(bMainPollDisWaterTout)); + } + + + /** + * 导出排污许可水污染物排放总计列表 + */ + @ApiOperation(value = "导出排污许可水污染物排放总计") + @Log(title = "排污许可水污染物排放总计", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainPollDisWaterTout bMainPollDisWaterTout) + { + List list = bMainPollDisWaterToutService.selectBMainPollDisWaterToutList(bMainPollDisWaterTout); + ExcelUtil util = new ExcelUtil(BMainPollDisWaterTout.class); + util.exportExcel(response, list, "排污许可水污染物排放总计数据"); + } + + /** + * 获取排污许可水污染物排放总计详细信息 + */ + @ApiOperation(value = "获取排污许可水污染物排放总计详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(bMainPollDisWaterToutService.getById(id)); + } + /** + * 新增排污许可水污染物排放总计 + */ + @ApiOperation(value = "新增排污许可水污染物排放总计") + @Log(title = "排污许可水污染物排放总计", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainPollDisWaterTout bMainPollDisWaterTout) { + return toAjax(bMainPollDisWaterToutService.save(bMainPollDisWaterTout)); + } + /** + * 修改排污许可水污染物排放总计 + */ + @ApiOperation(value = "修改排污许可水污染物排放总计") + @Log(title = "排污许可水污染物排放总计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainPollDisWaterToutVo bMainPollDisWaterToutVo) { + if(ObjectUtil.isEmpty(bMainPollDisWaterToutVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainPollDisWaterToutVo.getToutId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainPollDisWaterTout bMainPollDisWaterTout = bMainPollDisWaterToutService.getById(bMainPollDisWaterToutVo.getToutId()); + if(ObjectUtil.isEmpty(bMainPollDisWaterTout)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainPollDisWaterToutVo.getToutId())); + } + //赋值 + BeanUtil.copyProperties(bMainPollDisWaterToutVo,bMainPollDisWaterTout); + return toAjax(bMainPollDisWaterToutService.saveOrUpdate(bMainPollDisWaterTout)); + } + + /** + * 删除排污许可水污染物排放总计 + */ + @ApiOperation(value = "删除排污许可水污染物排放总计") + @RequiresPermissions("talroad:BMainPollDisWaterTout:remove") + @Log(title = "排污许可水污染物排放总计", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainPollDisWaterToutService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionInorgGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionInorgGasController.java new file mode 100644 index 0000000..4789cbb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionInorgGasController.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainProductionInorgGas; +import cn.cecep.talroad.service.IBMainProductionInorgGasService; +import cn.cecep.talroad.service.IProductionManageService; +import cn.cecep.talroad.vo.BMainProductionInorgGasVo; +import cn.cecep.talroad.vo.BMainProductionOrganizGasVo; +import cn.cecep.talroad.vo.query.BMainProductionInorgGasQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废气无组织排放产治排信息Controller 控制层 + * + * @author szhpt + * @date 2023-02-08*/ +@Api(tags = "废气无组织排放产治排信息") +@RestController +@RequestMapping("/bmainProductionInorgGas") +public class BMainProductionInorgGasController extends BasesController +{ + @Autowired + private IBMainProductionInorgGasService bMainProductionInorgGasService; + + /** + * 查询废气无组织排放产治排信息列表 + */ + @ApiOperation(value = "查询废气无组织排放产治排信息") + @GetMapping("/list") + public AjaxResults> list(BMainProductionInorgGasQuery bMainProductionInorgGas) + { + Page page = new Page<>(bMainProductionInorgGas.getPageNum(), bMainProductionInorgGas.getPageSize()); + IPage list = bMainProductionInorgGasService.page(page, BMainProductionInorgGasQuery.createLambdaQueryWrapper(bMainProductionInorgGas)); + return AjaxResults.success(list); + } + + + /** + * 导出废气无组织排放产治排信息列表 + */ + @ApiOperation(value = "导出废气无组织排放产治排信息") + @Log(title = "废气无组织排放产治排信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainProductionInorgGas bMainProductionInorgGas) + { + List list = bMainProductionInorgGasService.selectBMainProductionInorgGasList(bMainProductionInorgGas); + ExcelUtil util = new ExcelUtil(BMainProductionInorgGas.class); + util.exportExcel(response, list, "废气无组织排放产治排信息数据"); + } + + /** + * 获取废气无组织排放产治排信息详细信息 + */ + @ApiOperation(value = "获取废气无组织排放产治排信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainProductionInorgGasService.getById(id)); + } + /** + * 新增废气无组织排放产治排信息 + */ + @ApiOperation(value = "新增废气无组织排放产治排信息") + @Log(title = "废气无组织排放产治排信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainProductionInorgGas bMainProductionInorgGas) { + return toAjax(bMainProductionInorgGasService.save(bMainProductionInorgGas)); + } + /** + * 修改废气无组织排放产治排信息 + */ + @ApiOperation(value = "修改废气无组织排放产治排信息") + @Log(title = "废气无组织排放产治排信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainProductionInorgGasVo bMainProductionInorgGasVo) { + if(ObjectUtil.isEmpty(bMainProductionInorgGasVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainProductionInorgGasVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainProductionInorgGas bMainProductionInorgGas = bMainProductionInorgGasService.getById(bMainProductionInorgGasVo.getId()); + if(ObjectUtil.isEmpty(bMainProductionInorgGas)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainProductionInorgGasVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainProductionInorgGasVo,bMainProductionInorgGas); + return toAjax(bMainProductionInorgGasService.saveOrUpdate(bMainProductionInorgGas)); + } + + /** + * 删除废气无组织排放产治排信息 + */ + @ApiOperation(value = "删除废气无组织排放产治排信息") + @RequiresPermissions("talroad:bmainProductionInorgGas:remove") + @Log(title = "废气无组织排放产治排信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainProductionInorgGasService.removeByIds(Arrays.asList(ids))); + } + + @ApiOperation(value = "获取弹框数据(数据趋势、视频监控)") + @GetMapping("/frameData") + public AjaxResults frameData( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = bMainProductionInorgGasService.getFrameData(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionOrganizGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionOrganizGasController.java new file mode 100644 index 0000000..5a16e3c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionOrganizGasController.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainProductionOrganizGas; +import cn.cecep.talroad.service.IBMainProductionOrganizGasService; +import cn.cecep.talroad.service.IProductionManageService; +import cn.cecep.talroad.vo.BMainProductionOrganizGasVo; +import cn.cecep.talroad.vo.query.BMainProductionOrganizGasQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废气有组织排放产治排信息Controller 控制层 + * + * @author szhpt + * @date 2023-02-08*/ +@Api(tags = "废气有组织排放产治排信息") +@RestController +@RequestMapping("/bmainProductionOrganizGas") +public class BMainProductionOrganizGasController extends BasesController +{ + @Autowired + private IBMainProductionOrganizGasService bMainProductionOrganizGasService; + + /** + * 查询废气有组织排放产治排信息列表 + */ + @ApiOperation(value = "查询废气有组织排放产治排信息") + @GetMapping("/list") + public AjaxResults> list(BMainProductionOrganizGasQuery bMainProductionOrganizGas) + { + Page page = new Page<>(bMainProductionOrganizGas.getPageNum(), bMainProductionOrganizGas.getPageSize()); + IPage list = bMainProductionOrganizGasService.page(page, BMainProductionOrganizGasQuery.createLambdaQueryWrapper(bMainProductionOrganizGas)); + return AjaxResults.success(list); + } + + + /** + * 导出废气有组织排放产治排信息列表 + */ + @ApiOperation(value = "导出废气有组织排放产治排信息") + @Log(title = "废气有组织排放产治排信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainProductionOrganizGas bMainProductionOrganizGas) + { + List list = bMainProductionOrganizGasService.selectBMainProductionOrganizGasList(bMainProductionOrganizGas); + ExcelUtil util = new ExcelUtil(BMainProductionOrganizGas.class); + util.exportExcel(response, list, "废气有组织排放产治排信息数据"); + } + + /** + * 获取废气有组织排放产治排信息详细信息 + */ + @ApiOperation(value = "获取废气有组织排放产治排信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainProductionOrganizGasService.getById(id)); + } + /** + * 新增废气有组织排放产治排信息 + */ + @ApiOperation(value = "新增废气有组织排放产治排信息") + @Log(title = "废气有组织排放产治排信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainProductionOrganizGas bMainProductionOrganizGas) { + return toAjax(bMainProductionOrganizGasService.save(bMainProductionOrganizGas)); + } + /** + * 修改废气有组织排放产治排信息 + */ + @ApiOperation(value = "修改废气有组织排放产治排信息") + @Log(title = "废气有组织排放产治排信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainProductionOrganizGasVo bMainProductionOrganizGasVo) { + if(ObjectUtil.isEmpty(bMainProductionOrganizGasVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainProductionOrganizGasVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainProductionOrganizGas bMainProductionOrganizGas = bMainProductionOrganizGasService.getById(bMainProductionOrganizGasVo.getId()); + if(ObjectUtil.isEmpty(bMainProductionOrganizGas)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainProductionOrganizGasVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainProductionOrganizGasVo,bMainProductionOrganizGas); + return toAjax(bMainProductionOrganizGasService.saveOrUpdate(bMainProductionOrganizGas)); + } + + /** + * 删除废气有组织排放产治排信息 + */ + @ApiOperation(value = "删除废气有组织排放产治排信息") + @RequiresPermissions("talroad:bmainProductionOrganizGas:remove") + @Log(title = "废气有组织排放产治排信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainProductionOrganizGasService.removeByIds(Arrays.asList(ids))); + } + + @ApiOperation(value = "获取弹框数据(数据趋势、视频监控)") + @GetMapping("/frameData") + public AjaxResults frameData( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = bMainProductionOrganizGasService.getFrameData(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionWaterController.java new file mode 100644 index 0000000..e5ae530 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainProductionWaterController.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainProductionWater; +import cn.cecep.talroad.service.IBMainProductionWaterService; +import cn.cecep.talroad.service.IProductionManageService; +import cn.cecep.talroad.vo.BMainProductionOrganizGasVo; +import cn.cecep.talroad.vo.BMainProductionWaterVo; +import cn.cecep.talroad.vo.query.BMainProductionWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废水排放产治排信息Controller 控制层 + * + * @author szhpt + * @date 2023-02-08*/ +@Api(tags = "废水排放产治排信息") +@RestController +@RequestMapping("/bmainProductionWater") +public class BMainProductionWaterController extends BasesController +{ + @Autowired + private IBMainProductionWaterService bMainProductionWaterService; + + /** + * 查询废水排放产治排信息列表 + */ + @ApiOperation(value = "查询废水排放产治排信息") + @GetMapping("/list") + public AjaxResults> list(BMainProductionWaterQuery bMainProductionWater) + { + Page page = new Page<>(bMainProductionWater.getPageNum(), bMainProductionWater.getPageSize()); + IPage list = bMainProductionWaterService.page(page, BMainProductionWaterQuery.createLambdaQueryWrapper(bMainProductionWater)); + return AjaxResults.success(list); + } + + + /** + * 导出废水排放产治排信息列表 + */ + @ApiOperation(value = "导出废水排放产治排信息") + @Log(title = "废水排放产治排信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainProductionWater bMainProductionWater) + { + List list = bMainProductionWaterService.selectBMainProductionWaterList(bMainProductionWater); + ExcelUtil util = new ExcelUtil(BMainProductionWater.class); + util.exportExcel(response, list, "废水排放产治排信息数据"); + } + + /** + * 获取废水排放产治排信息详细信息 + */ + @ApiOperation(value = "获取废水排放产治排信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainProductionWaterService.getById(id)); + } + /** + * 新增废水排放产治排信息 + */ + @ApiOperation(value = "新增废水排放产治排信息") + @Log(title = "废水排放产治排信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainProductionWater bMainProductionWater) { + return toAjax(bMainProductionWaterService.save(bMainProductionWater)); + } + /** + * 修改废水排放产治排信息 + */ + @ApiOperation(value = "修改废水排放产治排信息") + @Log(title = "废水排放产治排信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainProductionWaterVo bMainProductionWaterVo) { + if(ObjectUtil.isEmpty(bMainProductionWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainProductionWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainProductionWater bMainProductionWater = bMainProductionWaterService.getById(bMainProductionWaterVo.getId()); + if(ObjectUtil.isEmpty(bMainProductionWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainProductionWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainProductionWaterVo,bMainProductionWater); + return toAjax(bMainProductionWaterService.saveOrUpdate(bMainProductionWater)); + } + + /** + * 删除废水排放产治排信息 + */ + @ApiOperation(value = "删除废水排放产治排信息") + @RequiresPermissions("talroad:bmainProductionWater:remove") + @Log(title = "废水排放产治排信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bMainProductionWaterService.removeByIds(Arrays.asList(ids))); + } + + @ApiOperation(value = "获取弹框数据(数据趋势、视频监控)") + @GetMapping("/frameData") + public AjaxResults frameData( + @RequestParam("id") String id, + @RequestParam("startTime") String startTime, + @RequestParam("endTime") String endTime, + @RequestParam("pageNum") Long pageNum, + @RequestParam("pageSize") Long pageSize + ) { + IProductionManageService.FrameDataVo data = bMainProductionWaterService.getFrameData(id, startTime, endTime, pageNum, pageSize); + return AjaxResults.success(data); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidHazardousController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidHazardousController.java new file mode 100644 index 0000000..3bb0ae7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidHazardousController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainSolidHazardous; +import cn.cecep.talroad.service.IBMainSolidHazardousService; +import cn.cecep.talroad.vo.BMainSolidHazardousVo; +import cn.cecep.talroad.vo.query.BMainSolidHazardousQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固危废贮存信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-18*/ +@Api(tags = "产治排跟踪--固危废贮存信息") +@RestController +@RequestMapping("/BMainSolidHazardous") +public class BMainSolidHazardousController extends BasesController +{ + @Autowired + private IBMainSolidHazardousService bMainSolidHazardousService; + + /** + * 查询固危废贮存信息列表 + */ + @ApiOperation(value = "查询固危废贮存信息") + @GetMapping("/list") + public AjaxResults> list(BMainSolidHazardousQuery bMainSolidHazardous) + { + Page page = new Page<>(bMainSolidHazardous.getPageNum(), bMainSolidHazardous.getPageSize()); + IPage list = bMainSolidHazardousService.page(page, BMainSolidHazardousQuery.createLambdaQueryWrapper(bMainSolidHazardous)); + return AjaxResults.success(list); + } + + + /** + * 导出固危废贮存信息列表 + */ + @ApiOperation(value = "导出固危废贮存信息") + @Log(title = "固危废贮存信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainSolidHazardous bMainSolidHazardous) + { + List list = bMainSolidHazardousService.selectBMainSolidHazardousList(bMainSolidHazardous); + ExcelUtil util = new ExcelUtil(BMainSolidHazardous.class); + util.exportExcel(response, list, "固危废贮存信息数据"); + } + + /** + * 获取固危废贮存信息详细信息 + */ + @ApiOperation(value = "获取固危废贮存信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainSolidHazardousService.getById(id)); + } + /** + * 新增固危废贮存信息 + */ + @ApiOperation(value = "新增固危废贮存信息") + @Log(title = "固危废贮存信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainSolidHazardous bMainSolidHazardous) { + return toAjax(bMainSolidHazardousService.save(bMainSolidHazardous)); + } + /** + * 修改固危废贮存信息 + */ + @ApiOperation(value = "修改固危废贮存信息") + @Log(title = "固危废贮存信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainSolidHazardousVo bMainSolidHazardousVo) { + if(ObjectUtil.isEmpty(bMainSolidHazardousVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainSolidHazardousVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainSolidHazardous bMainSolidHazardous = bMainSolidHazardousService.getById(bMainSolidHazardousVo.getId()); + if(ObjectUtil.isEmpty(bMainSolidHazardous)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainSolidHazardousVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainSolidHazardousVo,bMainSolidHazardous); + return toAjax(bMainSolidHazardousService.saveOrUpdate(bMainSolidHazardous)); + } + + /** + * 删除固危废贮存信息 + */ + @ApiOperation(value = "删除固危废贮存信息") + @RequiresPermissions("talroad:BMainSolidHazardous:remove") + @Log(title = "固危废贮存信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainSolidHazardousService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidWasteOutputController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidWasteOutputController.java new file mode 100644 index 0000000..f2bb313 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSolidWasteOutputController.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BMainSolidWasteOutput; +import cn.cecep.talroad.service.IBMainSolidWasteOutputService; +import cn.cecep.talroad.vo.BMainSolidWasteOutputVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainSolidWasteOutputQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固废产生与处理Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--固废产生与处理") +@RestController +@RequestMapping("/bMainSolidWasteOutput") +public class BMainSolidWasteOutputController extends BasesController +{ + @Autowired + private IBMainSolidWasteOutputService bMainSolidWasteOutputService; + + /** + * 查询固废产生与处理列表 + */ + @ApiOperation(value = "查询固废产生与处理") + @GetMapping("/list") + public AjaxResults> list(BMainSolidWasteOutputQuery bMainSolidWasteOutput) + { + Page page = new Page<>(bMainSolidWasteOutput.getPageNum(), bMainSolidWasteOutput.getPageSize()); + IPage list = bMainSolidWasteOutputService.page(page, BMainSolidWasteOutputQuery.createLambdaQueryWrapper(bMainSolidWasteOutput)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询固废产生与处理曲线图数据") + @GetMapping("/charData") + public AjaxResults getCharData(BMainSolidWasteOutputQuery bMainSolidWasteOutput) + { + EChartsVO charData = bMainSolidWasteOutputService.getCharData(bMainSolidWasteOutput); + return AjaxResults.success(charData); + } + + /** + * 导出固废产生与处理列表 + */ + @ApiOperation(value = "导出固废产生与处理") + @Log(title = "固废产生与处理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BMainSolidWasteOutputQuery bMainSolidWasteOutput) + { + List list = bMainSolidWasteOutputService.list(BMainSolidWasteOutputQuery.createLambdaQueryWrapper(bMainSolidWasteOutput)); + ExcelUtil util = new ExcelUtil(BMainSolidWasteOutput.class); + util.exportExcel(response, list, "固废产生与处理数据"); + } + + /** + * 获取固废产生与处理详细信息 + */ + @ApiOperation(value = "获取固废产生与处理详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainSolidWasteOutputService.getById(id)); + } + /** + * 新增固废产生与处理 + */ + @ApiOperation(value = "新增固废产生与处理") + @Log(title = "固废产生与处理", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainSolidWasteOutput bMainSolidWasteOutput) { + return toAjax(bMainSolidWasteOutputService.save(bMainSolidWasteOutput)); + } + /** + * 修改固废产生与处理 + */ + @ApiOperation(value = "修改固废产生与处理") + @Log(title = "固废产生与处理", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainSolidWasteOutputVo bMainSolidWasteOutputVo) { + if(ObjectUtil.isEmpty(bMainSolidWasteOutputVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainSolidWasteOutputVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainSolidWasteOutput bMainSolidWasteOutput = bMainSolidWasteOutputService.getById(bMainSolidWasteOutputVo.getId()); + if(ObjectUtil.isEmpty(bMainSolidWasteOutput)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainSolidWasteOutputVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bMainSolidWasteOutputVo,bMainSolidWasteOutput); + return toAjax(bMainSolidWasteOutputService.saveOrUpdate(bMainSolidWasteOutput)); + } + + /** + * 删除固废产生与处理 + */ + @ApiOperation(value = "删除固废产生与处理") + @RequiresPermissions("talroad:output:remove") + @Log(title = "固废产生与处理", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(bMainSolidWasteOutputService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSysFeedbackController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSysFeedbackController.java new file mode 100644 index 0000000..063b21e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainSysFeedbackController.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.IBMainSysFeedbackService; +import cn.cecep.talroad.vo.BMainSysFeedbackVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + + +/** + * 系统使用反馈Controller 控制层 + */ +@Api(tags = "系统使用反馈") +@RestController +@RequestMapping("/feedback") +public class BMainSysFeedbackController extends BasesController +{ + @Autowired + private IBMainSysFeedbackService bMainSysFeedbackService; + + /** + * 查询系统使用反馈列表 + */ + @ApiOperation(value = "查询系统使用反馈") + @GetMapping("/list") + public AjaxResults> list(BMainSysFeedbackVo.SearchVo searchVo) + { + Page page = new Page<>(searchVo.getPageNum(), searchVo.getPageSize()); + bMainSysFeedbackService.selectSysFeedbackList(page, searchVo); + return AjaxResults.success(page); + } + + @ApiOperation(value = "获取系统使用反馈详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bMainSysFeedbackService.getInfo(id)); + } + + + /** + * 新增系统使用反馈 + */ + @ApiOperation(value = "新增系统使用反馈") + @Log(title = "系统使用反馈", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@Validated @RequestBody BMainSysFeedbackVo.AddForm addForm) { + bMainSysFeedbackService.add(addForm); + return AjaxResults.success(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcController.java new file mode 100644 index 0000000..967941a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcController.java @@ -0,0 +1,181 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BMainThreeSupervisionEnforcQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; +import cn.cecep.talroad.vo.BMainThreeSupervisionEnforcVo; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 三监联动执法信息Controller 控制层 + * + * @author szhpt + * @date 2023-03-29*/ +@Api(tags = "三监联动执法信息") +@RestController +@RequestMapping("/threeSupervision") +public class BMainThreeSupervisionEnforcController extends BasesController +{ + @Autowired + private IBMainThreeSupervisionEnforcService bMainThreeSupervisionEnforcService; + + /** + * 查询三监联动执法信息列表 + */ + @ApiOperation(value = "查询三监联动执法信息") + @GetMapping("/list") + public AjaxResults> list(BMainThreeSupervisionEnforcQuery bMainThreeSupervisionEnforc) + { + Page page = new Page<>(bMainThreeSupervisionEnforc.getPageNum(), bMainThreeSupervisionEnforc.getPageSize()); + IPage list = bMainThreeSupervisionEnforcService.page(page, BMainThreeSupervisionEnforcQuery.createLambdaQueryWrapper(bMainThreeSupervisionEnforc)); + return AjaxResults.success(list); + } + + + /** + * 导出三监联动执法信息列表 + */ + @ApiOperation(value = "导出三监联动执法信息") + @Log(title = "三监联动执法信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BMainThreeSupervisionEnforcQuery bMainThreeSupervisionEnforc) + { + List list = bMainThreeSupervisionEnforcService.list(BMainThreeSupervisionEnforcQuery.createLambdaQueryWrapper(bMainThreeSupervisionEnforc)); + ExcelUtil util = new ExcelUtil(BMainThreeSupervisionEnforc.class); + util.exportExcel(response, list, "三监联动执法信息数据"); + } + + /** + * 导出三监联动执法信息列表 + */ + @ApiOperation(value = "发起部门下拉框") + @GetMapping("/initiatingDeptSelectList") + public List initiatingDeptSelectList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("distinct initiating_dept_id, initiating_dept_name") + .orderByAsc("initiating_dept_name"); + return bMainThreeSupervisionEnforcService.list(queryWrapper); + } + + /** + * 获取三监联动执法信息详细信息 + */ + @ApiOperation(value = "获取三监联动执法信息详细信息") + @GetMapping(value = "/{taskId}") + public AjaxResults getInfo(@PathVariable("taskId") String taskId) { + return AjaxResults.success(bMainThreeSupervisionEnforcService.selectById(taskId)); + } + /** + * 新增三监联动执法信息 + */ + @ApiOperation(value = "新增三监联动执法信息") + @Log(title = "三监联动执法信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc) { + return toAjax(bMainThreeSupervisionEnforcService.save(bMainThreeSupervisionEnforc)); + } + /** + * 修改三监联动执法信息 + */ + @ApiOperation(value = "修改三监联动执法信息") + @Log(title = "三监联动执法信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainThreeSupervisionEnforcVo bMainThreeSupervisionEnforcVo) { + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforcVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforcVo.getTaskId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc = bMainThreeSupervisionEnforcService.getById(bMainThreeSupervisionEnforcVo.getTaskId()); + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforc)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainThreeSupervisionEnforcVo.getTaskId())); + } + //赋值 + BeanUtil.copyProperties(bMainThreeSupervisionEnforcVo,bMainThreeSupervisionEnforc); + return toAjax(bMainThreeSupervisionEnforcService.saveOrUpdate(bMainThreeSupervisionEnforc)); + } + + /** + * 删除三监联动执法信息 + */ + @ApiOperation(value = "删除三监联动执法信息") + @RequiresPermissions("talroad:enforc:remove") + @Log(title = "三监联动执法信息", businessType = BusinessType.DELETE) + @PostMapping("/{taskIds}") + public AjaxResults remove(@PathVariable String[] taskIds) { + return toAjax(bMainThreeSupervisionEnforcService.removeByIds(Arrays.asList(taskIds))); + } + @ApiOperation(value = "第三方三监联动执法信息列表") + @PostMapping("/get") + public Object get(@RequestBody Map data, HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGet(data,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方三监联动执法信息详情") + @GetMapping("/getXianHeInfo") + public Object getInfo(String taskId,HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetInfo(taskId,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方企业核查列表") + @PostMapping("/getTaskAccount") + public Object getTaskAccount(@RequestBody Map data, HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetTaskAccount(data,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方企业核查详情") + @GetMapping("/getTaskInfo") + public Object getTaskInfo(String taskId,HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetTaskInfo(taskId,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方获取区县") + @GetMapping("/getCityCodeList") + public Object getCityCodeList(String pid,HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetCityCodeList(pid,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方企业核查列表") + @PostMapping("/getCheckTaskAccount") + public Object getCheckTaskAccount(@RequestBody Map data, HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetCheckTaskAccount(data,request.getHeader("Authorization")); + } + @ApiOperation(value = "第三方动态传递") + @PostMapping("/getAllUrl") + public Object getAllUrl(@RequestBody XianheInfo xianheInfo,HttpServletRequest request) { + return bMainThreeSupervisionEnforcService.xianheGetAllUrl(xianheInfo.getUrl() + ,xianheInfo.method,xianheInfo.param,request.getHeader("Authorization")); + } + @Data + static class XianheInfo{ + private String url; + private String param; + private String method; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcRecordController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcRecordController.java new file mode 100644 index 0000000..60cd119 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainThreeSupervisionEnforcRecordController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BMainThreeSupervisionEnforcRecordQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import cn.cecep.talroad.vo.BMainThreeSupervisionEnforcRecordVo; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcRecordService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 三监联动执法信息记录Controller 控制层 + * + * @author szhpt + * @date 2023-03-29*/ +@Api(tags = "三监联动执法信息记录") +@RestController +@RequestMapping("/threeSupervision/record") +public class BMainThreeSupervisionEnforcRecordController extends BasesController +{ + @Autowired + private IBMainThreeSupervisionEnforcRecordService bMainThreeSupervisionEnforcRecordService; + + /** + * 查询三监联动执法信息记录列表 + */ + @ApiOperation(value = "查询三监联动执法信息记录") + @GetMapping("/list") + public AjaxResults> list(BMainThreeSupervisionEnforcRecordQuery bMainThreeSupervisionEnforcRecord) + { + Page page = new Page<>(bMainThreeSupervisionEnforcRecord.getPageNum(), bMainThreeSupervisionEnforcRecord.getPageSize()); + IPage list = bMainThreeSupervisionEnforcRecordService.page(page, BMainThreeSupervisionEnforcRecordQuery.createLambdaQueryWrapper(bMainThreeSupervisionEnforcRecord)); + return AjaxResults.success(list); + } + + + /** + * 导出三监联动执法信息记录列表 + */ + @ApiOperation(value = "导出三监联动执法信息记录") + @Log(title = "三监联动执法信息记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord) + { + List list = bMainThreeSupervisionEnforcRecordService.selectBMainThreeSupervisionEnforcRecordList(bMainThreeSupervisionEnforcRecord); + ExcelUtil util = new ExcelUtil(BMainThreeSupervisionEnforcRecord.class); + util.exportExcel(response, list, "三监联动执法信息记录数据"); + } + + /** + * 获取三监联动执法信息记录详细信息 + */ + @ApiOperation(value = "获取三监联动执法信息记录详细信息") + @PostMapping(value = "/{recordId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bMainThreeSupervisionEnforcRecordService.getById(id)); + } + /** + * 新增三监联动执法信息记录 + */ + @ApiOperation(value = "新增三监联动执法信息记录") + @Log(title = "三监联动执法信息记录", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord) { + return toAjax(bMainThreeSupervisionEnforcRecordService.save(bMainThreeSupervisionEnforcRecord)); + } + /** + * 修改三监联动执法信息记录 + */ + @ApiOperation(value = "修改三监联动执法信息记录") + @Log(title = "三监联动执法信息记录", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BMainThreeSupervisionEnforcRecordVo bMainThreeSupervisionEnforcRecordVo) { + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforcRecordVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforcRecordVo.getRecordId())){ + throw new InvalidParameterException("参数id为空"); + } + BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord = bMainThreeSupervisionEnforcRecordService.getById(bMainThreeSupervisionEnforcRecordVo.getRecordId()); + if(ObjectUtil.isEmpty(bMainThreeSupervisionEnforcRecord)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bMainThreeSupervisionEnforcRecordVo.getRecordId())); + } + //赋值 + BeanUtil.copyProperties(bMainThreeSupervisionEnforcRecordVo,bMainThreeSupervisionEnforcRecord); + return toAjax(bMainThreeSupervisionEnforcRecordService.saveOrUpdate(bMainThreeSupervisionEnforcRecord)); + } + + /** + * 删除三监联动执法信息记录 + */ + @ApiOperation(value = "删除三监联动执法信息记录") + @RequiresPermissions("talroad:record:remove") + @Log(title = "三监联动执法信息记录", businessType = BusinessType.DELETE) + @PostMapping("/{recordIds}") + public AjaxResults remove(@PathVariable String[] recordIds) { + return toAjax(bMainThreeSupervisionEnforcRecordService.removeByIds(Arrays.asList(recordIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainTwoRandomTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainTwoRandomTaskController.java new file mode 100644 index 0000000..a4509ce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BMainTwoRandomTaskController.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BMainTwoRandomTask; +import cn.cecep.talroad.service.IBMainTwoRandomTaskService; +import cn.cecep.talroad.vo.BMainTwoRandomTaskVo; +import cn.cecep.talroad.vo.query.BMainTwoRandomTaskQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 移动执法信息-双随机任务Controller 控制层 + */ +@Api(tags = "移动执法信息-双随机任务") +@RestController +@RequestMapping("/twoRandomTask") +public class BMainTwoRandomTaskController extends BasesController +{ + @Autowired + private IBMainTwoRandomTaskService bMainTwoRandomTaskService; + + /** + * 查询移动执法信息-双随机任务列表 + */ + @ApiOperation(value = "查询移动执法信息-双随机任务") + @GetMapping("/list") + public AjaxResults> list(BMainTwoRandomTaskQuery bMainTwoRandomTask) + { + Page page = new Page<>(bMainTwoRandomTask.getPageNum(), bMainTwoRandomTask.getPageSize()); + IPage list = bMainTwoRandomTaskService.page(page, BMainTwoRandomTaskQuery.createLambdaQueryWrapper(bMainTwoRandomTask)); + return AjaxResults.success(list); + } + + /** + * 获取移动执法信息-双随机任务详细信息 + */ + @ApiOperation(value = "获取移动执法信息-双随机任务详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(bMainTwoRandomTaskService.getInfo(id)); + } + + @ApiOperation(value = "获取任务类型下拉框数据") + @GetMapping("/taskTypeOptions") + public AjaxResults> taskTypeOptions() + { + List list = bMainTwoRandomTaskService.list(new QueryWrapper().select("task_type").groupBy("task_type")) + .stream().map(BMainTwoRandomTask::getTaskType) + .collect(Collectors.toList()); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取任务状态下拉框数据") + @GetMapping("/taskStatusOptions") + public AjaxResults> taskStatusOptions() + { + List list = bMainTwoRandomTaskService.list(new QueryWrapper().select("task_status").groupBy("task_status")) + .stream().map(BMainTwoRandomTask::getTaskStatus) + .collect(Collectors.toList()); + return AjaxResults.success(list); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTablePwxkWaterAndOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTablePwxkWaterAndOtherController.java new file mode 100644 index 0000000..ef585b7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTablePwxkWaterAndOtherController.java @@ -0,0 +1,240 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +//import cn.cecep.talroad.common.core.utils.poi.ExcelUtilNew; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableQueryInfo; +import cn.cecep.talroad.service.BStatTablePwxkWaterAndOtherService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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 javax.servlet.http.HttpServletResponse; + +@RestController +@Api(value = "排污许可执行分析废水固废和其他",tags = "排污许可停机分析废水固废和其他") +@RequestMapping("pwxkTable") +public class BStatTablePwxkWaterAndOtherController { + + @Autowired + private BStatTablePwxkWaterAndOtherService service; + + @ApiOperation(value = "查询水处理行业生产线信息") + @PostMapping("/selectProductLine") + public AjaxResults> selectProductLine(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectProductLine(query); + } + + @ApiOperation(value = "查询生活污水进水信息") + @PostMapping("/selectLifeIn") + public AjaxResults> selectLifeIn(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectLifeIn(query); + } + + @ApiOperation(value = "查询工业污水进水信息") + @PostMapping("/selectIndustryIn") + public AjaxResults> selectIndustryIn(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectIndustryIn(query); + } + @ApiOperation(value = "查询污水处理厂进水监测要求信息") + @PostMapping("/selectTreatmentInAsk") + public AjaxResults> selectTreatmentInAsk(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectTreatmentInAsk(query); + } + @ApiOperation(value = "查询工业进水合计信息") + @PostMapping("/selectIndustryInTotal") + public AjaxResults> selectIndustryInTotal(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectIndustryInTotal(query); + } + @ApiOperation(value = "查询固废基础信息") + @PostMapping("/selectHazardousSolidWaste") + public AjaxResults> selectHazardousSolidWaste(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectHazardousSolidWaste(query); + } + @ApiOperation(value = "查询固废自行贮存和处置利用信息") + @PostMapping("/selectHazardousSolidWasteFa") + public AjaxResults> selectHazardousSolidWasteFa(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectHazardousSolidWasteFa(query); + } + @ApiOperation(value = "查询生产设施信息") + @PostMapping("/selectProductionFacilities") + public AjaxResults> selectProductionFacilities(@RequestBody BStatTablepPwxkWaterQuery query) { + //todo 待开发 + return service.selectProductionFacilities(query); + } + @ApiOperation(value = "查询产品信息") + @PostMapping("/selectProducts") + public AjaxResults> selectProducts(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectProducts(query); + } + @ApiOperation(value = "查询执行守法报告要求") + @PostMapping("/selectEnforceComplianceReportingRequirements") + public AjaxResults> selectEnforceComplianceReportingRequirements(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectEnforceComplianceReportingRequirements(query); + } + @ApiOperation(value = "查询信息公开要求") + @PostMapping("/selectPollDisInformation") + public AjaxResults> selectPollDisInformation(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectPollDisInformation(query); + } + @ApiOperation(value = "查询环境管理台账记录要求") + @PostMapping("/selectPollDisEmlRecord") + public AjaxResults> selectBMainPollDisEmlRecord(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectBMainPollDisEmlRecord(query); + } + @ApiOperation(value = "查询改正规定") + @PostMapping("/selectPollDisNoiseRegulation") + public AjaxResults> selectBMainPollDisNoiseRegulation(@RequestBody BStatTablepPwxkWaterQuery query) { + return service.selectBMainPollDisNoiseRegulation(query); + } + + + @ApiOperation("保存查询条件") + @PostMapping("/saveQueryContent") + public AjaxResults saveQueryContent(@RequestBody BStatTableQueryInfo query) { + return service.saveQueryContent(query); + } + + + @ApiOperation(value = "导出水处理行业生产线信息") + @PostMapping("/exportProductLine") + public void exportProductLine(@RequestBody BStatTablepPwxkWaterQuery query, HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectProductLine(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkWaterTreatmentLineVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出水处理行业生产线信息"); + } + + @ApiOperation(value = "导出生活污水进水信息") + @PostMapping("/exportLifeIn") + public void exportLifeIn(@RequestBody BStatTablepPwxkWaterQuery query + , HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectLifeIn(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkWaterLifeInVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出生活污水进水信息"); + } + + @ApiOperation(value = "导出工业污水进水信息") + @PostMapping("/exportIndustryIn") + public void exportIndustryIn(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectIndustryIn(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkWaterIndustryInVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出工业污水进水信息"); + } + @ApiOperation(value = "导出污水处理厂进水监测要求信息") + @PostMapping("/exportTreatmentInAsk") + public void exportTreatmentInAsk(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectTreatmentInAsk(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkWaterTreatmentInAskVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出污水处理厂进水监测要求信息"); + } + @ApiOperation(value = "导出工业进水合计信息") + @PostMapping("/exportIndustryInTotal") + public void exportIndustryInTotal(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectIndustryInTotal(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkWaterIndustryInTotalVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出污水处理厂进水监测要求信息"); + } + @ApiOperation(value = "导出固废基础信息") + @PostMapping("/exportHazardousSolidWaste") + public void exportHazardousSolidWaste(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectHazardousSolidWaste(query); + ExcelUtil excelUtil = new ExcelUtil<>(BMainHazardousSolidWasteVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出污水处理厂进水监测要求信息"); + } +// @ApiOperation(value = "导出固废自行贮存和处置利用信息") +// @PostMapping("/exportHazardousSolidWasteFa") +// public void exportHazardousSolidWasteFa(@RequestBody BStatTablepPwxkWaterQuery query, +// HttpServletResponse response) { +// query.setPageNum(1); +// query.setPageSize(Integer.MAX_VALUE); +// AjaxResults> iPageAjaxResults = service.selectHazardousSolidWasteFa(query); +// System.out.println(iPageAjaxResults.getData().getRecords()); +// ExcelUtilNew excelUtil = new ExcelUtilNew<>(BMainHazardousSolidWasteFaVo.class); +// excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出固废自行贮存和处置利用信息"); +// } +// @ApiOperation(value = "导出生产设施信息") +// @PostMapping("/exportProductionFacilities") +// public void exportProductionFacilities(@RequestBody BStatTablepPwxkWaterQuery query, +// HttpServletResponse response) { +// query.setPageNum(1); +// query.setPageSize(Integer.MAX_VALUE); +// AjaxResults> iPageAjaxResults = service.selectProductionFacilities(query); +// ExcelUtilNew excelUtil = new ExcelUtilNew<>(BStatTablePwxkProductionFacilitiesVo.class); +// excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出生产设施信息"); +// } + @ApiOperation(value = "导出产品信息") + @PostMapping("/exportProducts") + public void exportProducts(@RequestBody BStatTablepPwxkWaterQuery query, HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectProducts(query); + ExcelUtil excelUtil = new ExcelUtil<>(BStatTablePwxkProductsVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出产品信息"); + } + @ApiOperation(value = "导出执行守法报告要求") + @PostMapping("/exportReportingRequirements") + public void exportEnforceComplianceReportingRequirements( + @RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + query.setExportOperate(true); + AjaxResults> iPageAjaxResults = service.selectEnforceComplianceReportingRequirements(query); + ExcelUtil excelUtil = new ExcelUtil<>(BMainPollDisEnforcementVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出执行守法报告要求"); + } + @ApiOperation(value = "导出信息公开要求") + @PostMapping("/exportPollDisInformation") + public void exportPollDisInformation(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectPollDisInformation(query); + ExcelUtil excelUtil = new ExcelUtil<>(BMainPollDisInformationVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出信息公开要求"); + } + @ApiOperation(value = "导出环境管理台账记录要求") + @PostMapping("/exportPollDisEmlRecord") + public void exportBMainPollDisEmlRecord(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = service.selectBMainPollDisEmlRecord(query); + ExcelUtil excelUtil = new ExcelUtil<>(BMainPollDisEmlRecordVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出环境管理台账记录要求"); + } + @ApiOperation(value = "导出改正规定") + @PostMapping("/exportPollDisNoiseRegulation") + public void exportBMainPollDisNoiseRegulation(@RequestBody BStatTablepPwxkWaterQuery query, + HttpServletResponse response) { + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + query.setExportOperate(true); + AjaxResults> iPageAjaxResults = service.selectBMainPollDisNoiseRegulation(query); + ExcelUtil excelUtil = new ExcelUtil<>(BMainPollDisNoiseRegulationVo.class); + excelUtil.exportExcel(response,iPageAjaxResults.getData().getRecords(),"导出改正规定"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgJbxxInfoController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgJbxxInfoController.java new file mode 100644 index 0000000..1c9ad48 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgJbxxInfoController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTableZxbgQuery; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgJbxxInfoQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import cn.cecep.talroad.vo.BStatTableZxbgJbxxInfoVo; +import cn.cecep.talroad.service.IBStatTableZxbgJbxxInfoService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--企业基本信息Controller 控制层 + * + * @author szhpt + * @date 2023-07-27*/ +@Api(tags = "固定源产排治--执行报告--企业基本信息") +@RestController +@RequestMapping("/execution/report/info") +public class BStatTableZxbgJbxxInfoController extends BasesController +{ + @Autowired + private IBStatTableZxbgJbxxInfoService bStatTableZxbgJbxxInfoService; + + /** + * 查询固定源产排治--执行报告--企业基本信息列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--企业基本信息") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgJbxxInfoService.selectBStatTableZxbgJbxxInfoListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--企业基本信息列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--企业基本信息",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--企业基本信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgJbxxInfoService.selectBStatTableZxbgJbxxInfoListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgJbxxInfo.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "执行报告--企业基本信息数据"); + } + + /** + * 获取固定源产排治--执行报告--企业基本信息详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--企业基本信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgJbxxInfoService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--企业基本信息 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--企业基本信息") + @Log(title = "固定源产排治--执行报告--企业基本信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo) { + return toAjax(bStatTableZxbgJbxxInfoService.save(bStatTableZxbgJbxxInfo)); + } + /** + * 修改固定源产排治--执行报告--企业基本信息 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--企业基本信息") + @Log(title = "固定源产排治--执行报告--企业基本信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgJbxxInfoVo bStatTableZxbgJbxxInfoVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgJbxxInfoVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgJbxxInfoVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo = bStatTableZxbgJbxxInfoService.getById(bStatTableZxbgJbxxInfoVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgJbxxInfo)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgJbxxInfoVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgJbxxInfoVo,bStatTableZxbgJbxxInfo); + return toAjax(bStatTableZxbgJbxxInfoService.saveOrUpdate(bStatTableZxbgJbxxInfo)); + } + + /** + * 删除固定源产排治--执行报告--企业基本信息 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--企业基本信息") + @RequiresPermissions("talroad:info:remove") + @Log(title = "固定源产排治--执行报告--企业基本信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgJbxxInfoService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirController.java new file mode 100644 index 0000000..13965bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflAirQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; +import cn.cecep.talroad.vo.BStatTableZxbgPflAirVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废气实际排放量Controller 控制层 + * + * @author szhpt + * @date 2023-07-27*/ +@Api(tags = "固定源产排治--执行报告--废气实际排放量") +@RestController +@RequestMapping("/execution/report/air") +public class BStatTableZxbgPflAirController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflAirService bStatTableZxbgPflAirService; + + /** + * 查询固定源产排治--执行报告--废气实际排放量列表 + */ + @ApiOperation(value = "查询--执行报告--废气实际排放量") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflAirService.selectBStatTableZxbgPflAirListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废气实际排放量列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废气实际排放量",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废气实际排放量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflAirService.selectBStatTableZxbgPflAirListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflAir.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "执行报告--废气实际排放量数据"); + } + + /** + * 获取固定源产排治--执行报告--废气实际排放量详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废气实际排放量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflAirService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废气实际排放量 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废气实际排放量") + @Log(title = "固定源产排治--执行报告--废气实际排放量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflAir bStatTableZxbgPflAir) { + return toAjax(bStatTableZxbgPflAirService.save(bStatTableZxbgPflAir)); + } + /** + * 修改固定源产排治--执行报告--废气实际排放量 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废气实际排放量") + @Log(title = "固定源产排治--执行报告--废气实际排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflAirVo bStatTableZxbgPflAirVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflAir bStatTableZxbgPflAir = bStatTableZxbgPflAirService.getById(bStatTableZxbgPflAirVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflAir)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflAirVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflAirVo,bStatTableZxbgPflAir); + return toAjax(bStatTableZxbgPflAirService.saveOrUpdate(bStatTableZxbgPflAir)); + } + + /** + * 删除固定源产排治--执行报告--废气实际排放量 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废气实际排放量") + @RequiresPermissions("talroad:air:remove") + @Log(title = "固定源产排治--执行报告--废气实际排放量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflAirService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOtherController.java new file mode 100644 index 0000000..16174a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOtherController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.BStatTableZxbgPflAirOtherVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOtherService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废气其他排放总计Controller + * + * @author szhpt + * @date 2023-07-27*/ +@Api(tags = "固定源产排治--执行报告--废气其他排放总计") +@RestController +@RequestMapping("/execution/report/other") +public class BStatTableZxbgPflAirOtherController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflAirOtherService bStatTableZxbgPflAirOtherService; + + /** + * 查询固定源产排治--执行报告--废气其他排放总计列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--废气其他排放总计") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflAirOtherService.selectBStatTableZxbgPflAirOtherListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废气其他排放总计列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废气其他排放总计",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废气其他排放总计", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflAirOtherService.selectBStatTableZxbgPflAirOtherListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflAirOther.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "执行报告--废气其他排放总计数据"); + } + + /** + * 获取固定源产排治--执行报告--废气其他排放总计详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废气其他排放总计详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflAirOtherService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废气其他排放总计 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废气其他排放总计") + @Log(title = "固定源产排治--执行报告--废气其他排放总计", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflAirOther bStatTableZxbgPflAirOther) { + return toAjax(bStatTableZxbgPflAirOtherService.save(bStatTableZxbgPflAirOther)); + } + /** + * 修改固定源产排治--执行报告--废气其他排放总计 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废气其他排放总计") + @Log(title = "固定源产排治--执行报告--废气其他排放总计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflAirOtherVo bStatTableZxbgPflAirOtherVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOtherVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflAirOther bStatTableZxbgPflAirOther = bStatTableZxbgPflAirOtherService.getById(bStatTableZxbgPflAirOtherVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflAirOtherVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflAirOtherVo,bStatTableZxbgPflAirOther); + return toAjax(bStatTableZxbgPflAirOtherService.saveOrUpdate(bStatTableZxbgPflAirOther)); + } + + /** + * 删除固定源产排治--执行报告--废气其他排放总计 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废气其他排放总计") + @RequiresPermissions("talroad:other:remove") + @Log(title = "固定源产排治--执行报告--废气其他排放总计", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflAirOtherService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOverproofController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOverproofController.java new file mode 100644 index 0000000..254f454 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirOverproofController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflAirOverproofQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; +import cn.cecep.talroad.vo.BStatTableZxbgPflAirOverproofVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOverproofService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废气超标排放信息Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--废气超标排放信息") +@RestController +@RequestMapping("/execution/gas/overproof") +public class BStatTableZxbgPflAirOverproofController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflAirOverproofService bStatTableZxbgPflAirOverproofService; + + /** + * 查询固定源产排治--执行报告--废气超标排放信息列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--废气超标排放信息") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflAirOverproofService.selectBStatTableZxbgPflAirOverproofListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废气超标排放信息列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废气超标排放信息",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废气超标排放信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflAirOverproofService.selectBStatTableZxbgPflAirOverproofListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflAirOverproof.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--废气超标排放信息数据"); + } + + /** + * 获取固定源产排治--执行报告--废气超标排放信息详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废气超标排放信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflAirOverproofService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废气超标排放信息 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废气超标排放信息") + @Log(title = "固定源产排治--执行报告--废气超标排放信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflAirOverproof bStatTableZxbgPflAirOverproof) { + return toAjax(bStatTableZxbgPflAirOverproofService.save(bStatTableZxbgPflAirOverproof)); + } + /** + * 修改固定源产排治--执行报告--废气超标排放信息 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废气超标排放信息") + @Log(title = "固定源产排治--执行报告--废气超标排放信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflAirOverproofVo bStatTableZxbgPflAirOverproofVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOverproofVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOverproofVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflAirOverproof bStatTableZxbgPflAirOverproof = bStatTableZxbgPflAirOverproofService.getById(bStatTableZxbgPflAirOverproofVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirOverproof)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflAirOverproofVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflAirOverproofVo,bStatTableZxbgPflAirOverproof); + return toAjax(bStatTableZxbgPflAirOverproofService.saveOrUpdate(bStatTableZxbgPflAirOverproof)); + } + + /** + * 删除固定源产排治--执行报告--废气超标排放信息 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废气超标排放信息") + @RequiresPermissions("talroad:overproof:remove") + @Log(title = "固定源产排治--执行报告--废气超标排放信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflAirOverproofService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirSpecialController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirSpecialController.java new file mode 100644 index 0000000..6295ee1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirSpecialController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflAirSpecialQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; +import cn.cecep.talroad.vo.BStatTableZxbgPflAirSpecialVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirSpecialService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--特殊时段废气排放量Controller 控制层 + * + * @author szhpt + * @date 2023-07-31*/ +@Api(tags = "固定源产排治--执行报告--特殊时段废气排放量") +@RestController +@RequestMapping("/execution/report/special") +public class BStatTableZxbgPflAirSpecialController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflAirSpecialService bStatTableZxbgPflAirSpecialService; + + /** + * 查询固定源产排治--执行报告--特殊时段废气排放量列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--特殊时段废气排放量") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflAirSpecialService.selectBStatTableZxbgPflAirSpecialListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--特殊时段废气排放量列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--特殊时段废气排放量") + @Log(title = "固定源产排治--执行报告--特殊时段废气排放量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflAirSpecialService.selectBStatTableZxbgPflAirSpecialListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflAirSpecial.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--特殊时段废气排放量数据"); + } + + /** + * 获取固定源产排治--执行报告--特殊时段废气排放量详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--特殊时段废气排放量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflAirSpecialService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--特殊时段废气排放量 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--特殊时段废气排放量") + @Log(title = "固定源产排治--执行报告--特殊时段废气排放量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflAirSpecial bStatTableZxbgPflAirSpecial) { + return toAjax(bStatTableZxbgPflAirSpecialService.save(bStatTableZxbgPflAirSpecial)); + } + /** + * 修改固定源产排治--执行报告--特殊时段废气排放量 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--特殊时段废气排放量") + @Log(title = "固定源产排治--执行报告--特殊时段废气排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflAirSpecialVo bStatTableZxbgPflAirSpecialVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirSpecialVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirSpecialVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflAirSpecial bStatTableZxbgPflAirSpecial = bStatTableZxbgPflAirSpecialService.getById(bStatTableZxbgPflAirSpecialVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirSpecial)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflAirSpecialVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflAirSpecialVo,bStatTableZxbgPflAirSpecial); + return toAjax(bStatTableZxbgPflAirSpecialService.saveOrUpdate(bStatTableZxbgPflAirSpecial)); + } + + /** + * 删除固定源产排治--执行报告--特殊时段废气排放量 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--特殊时段废气排放量") + @RequiresPermissions("talroad:special:remove") + @Log(title = "固定源产排治--执行报告--特殊时段废气排放量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflAirSpecialService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirStatController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirStatController.java new file mode 100644 index 0000000..eb8907f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflAirStatController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflAirStatQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; +import cn.cecep.talroad.vo.BStatTableZxbgPflAirStatVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirStatService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--总计废气实际排放量Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--总计废气实际排放量") +@RestController +@RequestMapping("/execution/report/stat") +public class BStatTableZxbgPflAirStatController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflAirStatService bStatTableZxbgPflAirStatService; + + /** + * 查询固定源产排治--执行报告--总计废气实际排放量列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--总计废气实际排放量") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflAirStatService.selectBStatTableZxbgPflAirStatListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--总计废气实际排放量列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--总计废气实际排放量",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--总计废气实际排放量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflAirStatService.selectBStatTableZxbgPflAirStatListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflAirStat.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--总计废气实际排放量数据"); + } + + /** + * 获取固定源产排治--执行报告--总计废气实际排放量详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--总计废气实际排放量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflAirStatService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--总计废气实际排放量 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--总计废气实际排放量") + @Log(title = "固定源产排治--执行报告--总计废气实际排放量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflAirStat bStatTableZxbgPflAirStat) { + return toAjax(bStatTableZxbgPflAirStatService.save(bStatTableZxbgPflAirStat)); + } + /** + * 修改固定源产排治--执行报告--总计废气实际排放量 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--总计废气实际排放量") + @Log(title = "固定源产排治--执行报告--总计废气实际排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflAirStatVo bStatTableZxbgPflAirStatVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirStatVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirStatVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflAirStat bStatTableZxbgPflAirStat = bStatTableZxbgPflAirStatService.getById(bStatTableZxbgPflAirStatVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflAirStat)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflAirStatVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflAirStatVo,bStatTableZxbgPflAirStat); + return toAjax(bStatTableZxbgPflAirStatService.saveOrUpdate(bStatTableZxbgPflAirStat)); + } + + /** + * 删除固定源产排治--执行报告--总计废气实际排放量 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--总计废气实际排放量") + @RequiresPermissions("talroad:stat:remove") + @Log(title = "固定源产排治--执行报告--总计废气实际排放量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflAirStatService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterController.java new file mode 100644 index 0000000..8ede3fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflWaterQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; +import cn.cecep.talroad.vo.BStatTableZxbgPflWaterVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废水实际排放量Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--废水实际排放量") +@RestController +@RequestMapping("/execution/report/water") +public class BStatTableZxbgPflWaterController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflWaterService bStatTableZxbgPflWaterService; + + /** + * 查询固定源产排治--执行报告--废水实际排放量列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--废水实际排放量") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflWaterService.selectBStatTableZxbgPflWaterListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废水实际排放量列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废水实际排放量",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废水实际排放量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflWaterService.selectBStatTableZxbgPflWaterListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflWater.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--废水实际排放量数据"); + } + + /** + * 获取固定源产排治--执行报告--废水实际排放量详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废水实际排放量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflWaterService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废水实际排放量 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废水实际排放量") + @Log(title = "固定源产排治--执行报告--废水实际排放量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflWater bStatTableZxbgPflWater) { + return toAjax(bStatTableZxbgPflWaterService.save(bStatTableZxbgPflWater)); + } + /** + * 修改固定源产排治--执行报告--废水实际排放量 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废水实际排放量") + @Log(title = "固定源产排治--执行报告--废水实际排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflWaterVo bStatTableZxbgPflWaterVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflWater bStatTableZxbgPflWater = bStatTableZxbgPflWaterService.getById(bStatTableZxbgPflWaterVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflWaterVo,bStatTableZxbgPflWater); + return toAjax(bStatTableZxbgPflWaterService.saveOrUpdate(bStatTableZxbgPflWater)); + } + + /** + * 删除固定源产排治--执行报告--废水实际排放量 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废水实际排放量") + @RequiresPermissions("talroad:water:remove") + @Log(title = "固定源产排治--执行报告--废水实际排放量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterVoerproofController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterVoerproofController.java new file mode 100644 index 0000000..27b8ae1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflWaterVoerproofController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflWaterVoerproofQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; +import cn.cecep.talroad.vo.BStatTableZxbgPflWaterVoerproofVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterVoerproofService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废水超标排放信息Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--废水超标排放信息") +@RestController +@RequestMapping("/execution/report/voerproof") +public class BStatTableZxbgPflWaterVoerproofController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflWaterVoerproofService bStatTableZxbgPflWaterVoerproofService; + + /** + * 查询固定源产排治--执行报告--废水超标排放信息列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--废水超标排放信息") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflWaterVoerproofService.selectBStatTableZxbgPflWaterVoerproofListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废水超标排放信息列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废水超标排放信息",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废水超标排放信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflWaterVoerproofService.selectBStatTableZxbgPflWaterVoerproofListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflWaterVoerproof.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--废水超标排放信息数据"); + } + + /** + * 获取固定源产排治--执行报告--废水超标排放信息详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废水超标排放信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflWaterVoerproofService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废水超标排放信息 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废水超标排放信息") + @Log(title = "固定源产排治--执行报告--废水超标排放信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflWaterVoerproof bStatTableZxbgPflWaterVoerproof) { + return toAjax(bStatTableZxbgPflWaterVoerproofService.save(bStatTableZxbgPflWaterVoerproof)); + } + /** + * 修改固定源产排治--执行报告--废水超标排放信息 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废水超标排放信息") + @Log(title = "固定源产排治--执行报告--废水超标排放信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflWaterVoerproofVo bStatTableZxbgPflWaterVoerproofVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflWaterVoerproofVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflWaterVoerproofVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflWaterVoerproof bStatTableZxbgPflWaterVoerproof = bStatTableZxbgPflWaterVoerproofService.getById(bStatTableZxbgPflWaterVoerproofVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflWaterVoerproof)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflWaterVoerproofVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflWaterVoerproofVo,bStatTableZxbgPflWaterVoerproof); + return toAjax(bStatTableZxbgPflWaterVoerproofService.saveOrUpdate(bStatTableZxbgPflWaterVoerproof)); + } + + /** + * 删除固定源产排治--执行报告--废水超标排放信息 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废水超标排放信息") + @RequiresPermissions("talroad:voerproof:remove") + @Log(title = "固定源产排治--执行报告--废水超标排放信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflWaterVoerproofService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflallWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflallWaterController.java new file mode 100644 index 0000000..ab48c22 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPflallWaterController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPflallWaterQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; +import cn.cecep.talroad.vo.BStatTableZxbgPflallWaterVo; +import cn.cecep.talroad.service.IBStatTableZxbgPflallWaterService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--总计废水实际排放量Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--总计废水实际排放量") +@RestController +@RequestMapping("/execution/report/allwater") +public class BStatTableZxbgPflallWaterController extends BasesController +{ + @Autowired + private IBStatTableZxbgPflallWaterService bStatTableZxbgPflallWaterService; + + /** + * 查询固定源产排治--执行报告--总计废水实际排放量列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--总计废水实际排放量") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPflallWaterService.selectBStatTableZxbgPflallWaterListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--总计废水实际排放量列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--总计废水实际排放量",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--总计废水实际排放量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPflallWaterService.selectBStatTableZxbgPflallWaterListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPflallWater.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--总计废水实际排放量数据"); + } + + /** + * 获取固定源产排治--执行报告--总计废水实际排放量详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--总计废水实际排放量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPflallWaterService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--总计废水实际排放量 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--总计废水实际排放量") + @Log(title = "固定源产排治--执行报告--总计废水实际排放量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPflallWater bStatTableZxbgPflallWater) { + return toAjax(bStatTableZxbgPflallWaterService.save(bStatTableZxbgPflallWater)); + } + /** + * 修改固定源产排治--执行报告--总计废水实际排放量 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--总计废水实际排放量") + @Log(title = "固定源产排治--执行报告--总计废水实际排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPflallWaterVo bStatTableZxbgPflallWaterVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPflallWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPflallWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPflallWater bStatTableZxbgPflallWater = bStatTableZxbgPflallWaterService.getById(bStatTableZxbgPflallWaterVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPflallWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPflallWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPflallWaterVo,bStatTableZxbgPflallWater); + return toAjax(bStatTableZxbgPflallWaterService.saveOrUpdate(bStatTableZxbgPflallWater)); + } + + /** + * 删除固定源产排治--执行报告--总计废水实际排放量 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--总计废水实际排放量") + @RequiresPermissions("talroad:water:remove") + @Log(title = "固定源产排治--执行报告--总计废水实际排放量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPflallWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPfltotalWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPfltotalWaterController.java new file mode 100644 index 0000000..b6f5564 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgPfltotalWaterController.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgPfltotalWaterQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; +import cn.cecep.talroad.vo.BStatTableZxbgPfltotalWaterVo; +import cn.cecep.talroad.service.IBStatTableZxbgPfltotalWaterService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)Controller 控制层 + * + * @author szhpt + * @date 2023-07-28*/ +@Api(tags = "固定源产排治--执行报告--废水正常排放总计(一般排放口)") +@RestController +@RequestMapping("/execution/report/watertotal") +public class BStatTableZxbgPfltotalWaterController extends BasesController +{ + @Autowired + private IBStatTableZxbgPfltotalWaterService bStatTableZxbgPfltotalWaterService; + + /** + * 查询固定源产排治--执行报告--废水正常排放总计(一般排放口)列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--废水正常排放总计(一般排放口)") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgPfltotalWaterService.selectBStatTableZxbgPfltotalWaterListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--废水正常排放总计(一般排放口)列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--废水正常排放总计(一般排放口)",produces = "application/octet-stream") + @Log(title = "固定源产排治--执行报告--废水正常排放总计(一般排放口)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgPfltotalWaterService.selectBStatTableZxbgPfltotalWaterListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgPfltotalWater.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--废水正常排放总计(一般排放口)数据"); + } + + /** + * 获取固定源产排治--执行报告--废水正常排放总计(一般排放口)详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--废水正常排放总计(一般排放口)详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgPfltotalWaterService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--废水正常排放总计(一般排放口) + */ + @ApiOperation(value = "新增固定源产排治--执行报告--废水正常排放总计(一般排放口)") + @Log(title = "固定源产排治--执行报告--废水正常排放总计(一般排放口)", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgPfltotalWater bStatTableZxbgPfltotalWater) { + return toAjax(bStatTableZxbgPfltotalWaterService.save(bStatTableZxbgPfltotalWater)); + } + /** + * 修改固定源产排治--执行报告--废水正常排放总计(一般排放口) + */ + @ApiOperation(value = "修改固定源产排治--执行报告--废水正常排放总计(一般排放口)") + @Log(title = "固定源产排治--执行报告--废水正常排放总计(一般排放口)", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgPfltotalWaterVo bStatTableZxbgPfltotalWaterVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgPfltotalWaterVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgPfltotalWaterVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgPfltotalWater bStatTableZxbgPfltotalWater = bStatTableZxbgPfltotalWaterService.getById(bStatTableZxbgPfltotalWaterVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgPfltotalWater)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgPfltotalWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgPfltotalWaterVo,bStatTableZxbgPfltotalWater); + return toAjax(bStatTableZxbgPfltotalWaterService.saveOrUpdate(bStatTableZxbgPfltotalWater)); + } + + /** + * 删除固定源产排治--执行报告--废水正常排放总计(一般排放口) + */ + @ApiOperation(value = "删除固定源产排治--执行报告--废水正常排放总计(一般排放口)") + @RequiresPermissions("talroad:water:remove") + @Log(title = "固定源产排治--执行报告--废水正常排放总计(一般排放口)", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgPfltotalWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlAbnormalitiesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlAbnormalitiesController.java new file mode 100644 index 0000000..3f0612b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlAbnormalitiesController.java @@ -0,0 +1,123 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgWrzlAbnormalitiesQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.vo.BStatTableZxbgWrzlAbnormalitiesVo; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlAbnormalitiesService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--污染治理设施异常情况Controller 控制层 + * + * @author szhpt + * @date 2023-07-31*/ +@Api(tags = "固定源产排治--执行报告--污染治理设施异常情况") +@RestController +@RequestMapping("/execution/report/abnormalities") +public class BStatTableZxbgWrzlAbnormalitiesController extends BasesController +{ + @Autowired + private IBStatTableZxbgWrzlAbnormalitiesService bStatTableZxbgWrzlAbnormalitiesService; + + /** + * 查询固定源产排治--执行报告--污染治理设施异常情况列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--污染治理设施异常情况") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgWrzlAbnormalitiesService.selectBStatTableZxbgWrzlAbnormalitiesListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--污染治理设施异常情况列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--污染治理设施异常情况") + @Log(title = "固定源产排治--执行报告--污染治理设施异常情况", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgWrzlAbnormalitiesService.selectBStatTableZxbgWrzlAbnormalitiesListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgWrzlAbnormalities.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--污染治理设施异常情况数据"); + } + + /** + * 获取固定源产排治--执行报告--污染治理设施异常情况详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--污染治理设施异常情况详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgWrzlAbnormalitiesService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--污染治理设施异常情况 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--污染治理设施异常情况") + @Log(title = "固定源产排治--执行报告--污染治理设施异常情况", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgWrzlAbnormalities bStatTableZxbgWrzlAbnormalities) { + return toAjax(bStatTableZxbgWrzlAbnormalitiesService.save(bStatTableZxbgWrzlAbnormalities)); + } + /** + * 修改固定源产排治--执行报告--污染治理设施异常情况 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--污染治理设施异常情况") + @Log(title = "固定源产排治--执行报告--污染治理设施异常情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgWrzlAbnormalitiesVo bStatTableZxbgWrzlAbnormalitiesVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlAbnormalitiesVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlAbnormalitiesVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgWrzlAbnormalities bStatTableZxbgWrzlAbnormalities = bStatTableZxbgWrzlAbnormalitiesService.getById(bStatTableZxbgWrzlAbnormalitiesVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlAbnormalities)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgWrzlAbnormalitiesVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgWrzlAbnormalitiesVo,bStatTableZxbgWrzlAbnormalities); + return toAjax(bStatTableZxbgWrzlAbnormalitiesService.saveOrUpdate(bStatTableZxbgWrzlAbnormalities)); + } + + /** + * 删除固定源产排治--执行报告--污染治理设施异常情况 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--污染治理设施异常情况") + @RequiresPermissions("talroad:abnormalities:remove") + @Log(title = "固定源产排治--执行报告--污染治理设施异常情况", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgWrzlAbnormalitiesService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlTotalController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlTotalController.java new file mode 100644 index 0000000..809f6b6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BStatTableZxbgWrzlTotalController.java @@ -0,0 +1,123 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BStatTableZxbgWrzlTotalQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.vo.BStatTableZxbgWrzlTotalVo; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlTotalService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固定源产排治--执行报告--污染治理设施正常情况汇总Controller 控制层 + * + * @author szhpt + * @date 2023-07-31*/ +@Api(tags = "固定源产排治--执行报告--污染治理设施正常情况汇总") +@RestController +@RequestMapping("/execution/report/facilities") +public class BStatTableZxbgWrzlTotalController extends BasesController +{ + @Autowired + private IBStatTableZxbgWrzlTotalService bStatTableZxbgWrzlTotalService; + + /** + * 查询固定源产排治--执行报告--污染治理设施正常情况汇总列表 + */ + @ApiOperation(value = "查询固定源产排治--执行报告--污染治理设施正常情况汇总") + @PostMapping("/list") + public AjaxResults> list(@RequestBody BStatTablepPwxkWaterQuery query) + { + return bStatTableZxbgWrzlTotalService.selectBStatTableZxbgWrzlTotalListBy(query); + } + + + /** + * 导出固定源产排治--执行报告--污染治理设施正常情况汇总列表 + */ + @ApiOperation(value = "导出固定源产排治--执行报告--污染治理设施正常情况汇总") + @Log(title = "固定源产排治--执行报告--污染治理设施正常情况汇总", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BStatTablepPwxkWaterQuery query) + { + query.setPageNum(1); + query.setPageSize(9999999); + AjaxResults> iPageAjaxResults = bStatTableZxbgWrzlTotalService.selectBStatTableZxbgWrzlTotalListBy(query); + ExcelUtil util = new ExcelUtil(BStatTableZxbgWrzlTotal.class); + util.exportExcel(response, iPageAjaxResults.getData().getRecords(), "固定源产排治--执行报告--污染治理设施正常情况汇总数据"); + } + + /** + * 获取固定源产排治--执行报告--污染治理设施正常情况汇总详细信息 + */ + @ApiOperation(value = "获取固定源产排治--执行报告--污染治理设施正常情况汇总详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(bStatTableZxbgWrzlTotalService.getById(id)); + } + /** + * 新增固定源产排治--执行报告--污染治理设施正常情况汇总 + */ + @ApiOperation(value = "新增固定源产排治--执行报告--污染治理设施正常情况汇总") + @Log(title = "固定源产排治--执行报告--污染治理设施正常情况汇总", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal) { + return toAjax(bStatTableZxbgWrzlTotalService.save(bStatTableZxbgWrzlTotal)); + } + /** + * 修改固定源产排治--执行报告--污染治理设施正常情况汇总 + */ + @ApiOperation(value = "修改固定源产排治--执行报告--污染治理设施正常情况汇总") + @Log(title = "固定源产排治--执行报告--污染治理设施正常情况汇总", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BStatTableZxbgWrzlTotalVo bStatTableZxbgWrzlTotalVo) { + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlTotalVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlTotalVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal = bStatTableZxbgWrzlTotalService.getById(bStatTableZxbgWrzlTotalVo.getId()); + if(ObjectUtil.isEmpty(bStatTableZxbgWrzlTotal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", bStatTableZxbgWrzlTotalVo.getId())); + } + //赋值 + BeanUtil.copyProperties(bStatTableZxbgWrzlTotalVo,bStatTableZxbgWrzlTotal); + return toAjax(bStatTableZxbgWrzlTotalService.saveOrUpdate(bStatTableZxbgWrzlTotal)); + } + + /** + * 删除固定源产排治--执行报告--污染治理设施正常情况汇总 + */ + @ApiOperation(value = "删除固定源产排治--执行报告--污染治理设施正常情况汇总") + @RequiresPermissions("talroad:total:remove") + @Log(title = "固定源产排治--执行报告--污染治理设施正常情况汇总", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(bStatTableZxbgWrzlTotalService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDevToElecController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDevToElecController.java new file mode 100644 index 0000000..a2351b8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDevToElecController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BasDevToElec; +import cn.cecep.talroad.service.IBasDevToElecService; +import cn.cecep.talroad.vo.BasDevToElecVo; +import cn.cecep.talroad.vo.query.BasDevToElecQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 有组织-分表计电设备对应Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--有组织-分表计电设备对应") +@RestController +@RequestMapping("/basDevToElec") +public class BasDevToElecController extends BasesController +{ + @Autowired + private IBasDevToElecService basDevToElecService; + + /** + * 查询有组织-分表计电设备对应列表 + */ + @ApiOperation(value = "查询有组织-分表计电设备对应") + @GetMapping("/list") + public AjaxResults> list(BasDevToElecQuery basDevToElec) + { + Page page = new Page<>(basDevToElec.getPageNum(), basDevToElec.getPageSize()); + IPage list = basDevToElecService.page(page, BasDevToElecQuery.createLambdaQueryWrapper(basDevToElec)); + return AjaxResults.success(list); + } + + + /** + * 导出有组织-分表计电设备对应列表 + */ + @ApiOperation(value = "导出有组织-分表计电设备对应") + @Log(title = "有组织-分表计电设备对应", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasDevToElec basDevToElec) + { + List list = basDevToElecService.selectBasDevToElecList(basDevToElec); + ExcelUtil util = new ExcelUtil(BasDevToElec.class); + util.exportExcel(response, list, "有组织-分表计电设备对应数据"); + } + + /** + * 获取有组织-分表计电设备对应详细信息 + */ + @ApiOperation(value = "获取有组织-分表计电设备对应详细信息") + @PostMapping(value = "/{deviceId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(basDevToElecService.getById(id)); + } + /** + * 新增有组织-分表计电设备对应 + */ + @ApiOperation(value = "新增有组织-分表计电设备对应") + @Log(title = "有组织-分表计电设备对应", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasDevToElec basDevToElec) { + return toAjax(basDevToElecService.save(basDevToElec)); + } + /** + * 修改有组织-分表计电设备对应 + */ + @ApiOperation(value = "修改有组织-分表计电设备对应") + @Log(title = "有组织-分表计电设备对应", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasDevToElecVo basDevToElecVo) { + if(ObjectUtil.isEmpty(basDevToElecVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(basDevToElecVo.getDeviceId())){ + throw new InvalidParameterException("参数id为空"); + } + BasDevToElec basDevToElec = basDevToElecService.getById(basDevToElecVo.getDeviceId()); + if(ObjectUtil.isEmpty(basDevToElec)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basDevToElecVo.getDeviceId())); + } + //赋值 + BeanUtil.copyProperties(basDevToElecVo,basDevToElec); + return toAjax(basDevToElecService.saveOrUpdate(basDevToElec)); + } + + /** + * 删除有组织-分表计电设备对应 + */ + @ApiOperation(value = "删除有组织-分表计电设备对应") + @RequiresPermissions("talroad:elec:remove") + @Log(title = "有组织-分表计电设备对应", businessType = BusinessType.DELETE) + @PostMapping("/{deviceIds}") + public AjaxResults remove(@PathVariable String[] deviceIds) { + return toAjax(basDevToElecService.removeByIds(Arrays.asList(deviceIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceController.java new file mode 100644 index 0000000..cc8c6f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceController.java @@ -0,0 +1,532 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.domain.BasProductionDeviceOperationLog; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.enums.EnStatTimeType; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.service.IBasProductionDeviceOperationLogService; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.util.CsvUtils; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.BasDeviceDCSSystemParamQuery; +import cn.cecep.talroad.vo.query.BasDeviceQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.*; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.PrimitiveIterator; +import java.util.stream.IntStream; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备信息(有组织)Controller 控制层 + * + * @author szhpt + * @date 2023-01-10 + */ +@Api(tags = "基础信息--设备信息(有组织)") +@RestController +@RequestMapping("/basDevice") +public class BasDeviceController extends BasesController { + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IPcFactoryService pcFactoryService; + + @Autowired + private IBasParamService paramService; + @Autowired + private IBasProductionDeviceOperationLogService basProductionDeviceOperationLogService; + + @Autowired + private IPcFactoryService factoryService; + + /** + * 查询设备信息(有组织)列表 + */ + @ApiOperation(value = "查询设备信息(有组织)") + @GetMapping("/list") + public AjaxResults> list(BasDeviceQuery basDevice) { + // 若未指定企业,则默认当前用户企业 + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)){ + if (StringUtils.isEmpty(basDevice.getFactoryId())) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDevice.setFactoryId(factoryId); + } + } + basDevice.setStatus(1L); + Page page = new Page<>(basDevice.getPageNum(), basDevice.getPageSize()); + + QueryWrapper lambdaQueryWrapper = BasDeviceQuery.createLambdaQueryWrapper(basDevice); + + // 若未指定行业 + if (StringUtils.isEmpty(basDevice.getIndustry())) { + lambdaQueryWrapper.in("industry", "GT,DL,JH,BL,SN,FS".split(",")); + } + + IPage list = basDeviceService.page(page, lambdaQueryWrapper); + return AjaxResults.success(list); + } + + /** + * DCS系统参数设置列表 + */ + @ApiOperation(value = "DCS系统参数设置列表") + @GetMapping("/listDCSSystemParam") + public AjaxResults> listDCSSystemParam(BasDeviceDCSSystemParamQuery query) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + query.setFactoryId(factoryId); + } + if (StringUtils.isNotEmpty(query.getFactoryId())) { + PcFactory pcFactory = pcFactoryService.getById(query.getFactoryId()); + if(StringUtils.isBlank(pcFactory.getIndustryCategory())){ + query.setIndustry("------"); + }else{ + query.setIndustry(pcFactory.getIndustryCategory()); + } + } + IPage list = basDeviceService.listDCSSystemParam(query); + + return AjaxResults.success(list); + } + + /** + * 设备信息(有组织)下拉框 + */ + @ApiOperation(value = "设备信息(有组织)下拉框") + @GetMapping("/basDeviceSelect") + public AjaxResults> basDeviceSelect(BasDeviceQuery basDevice) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDevice.setFactoryId(factoryId); + basDevice.setStatus(1L); + } + List list = basDeviceService.list(BasDeviceQuery.createLambdaQueryWrapper(basDevice)); + return AjaxResults.success(list); + } + + /** + * 工序下拉框 + */ + @ApiOperation(value = "工序下拉框") + @GetMapping("/workStepSelect") + public AjaxResults> workStepSelect(BasDeviceQuery basDevice) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + PcFactory pcFactory = pcFactoryService.getById(factoryId); + basDevice.setFactoryId(factoryId); + basDevice.setIndustry(pcFactory.getIndustryCategory()); + } + List list = basDeviceService.groupByWorkStepSelect(basDevice.getFactoryId(), basDevice.getIndustry()); + return AjaxResults.success(list); + + } + + /** + * 工序下拉框 + */ + @ApiOperation(value = "参数名称下拉框") + @GetMapping("/paramNameSelect") + public AjaxResults> paramNameSelect(BasDeviceQuery basDevice) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + PcFactory pcFactory = pcFactoryService.getById(factoryId); + basDevice.setFactoryId(factoryId); + basDevice.setIndustry(pcFactory.getIndustryCategory()); + } + List list = basDeviceService.groupByParamNameSelect(basDevice.getFactoryId(), basDevice.getIndustry()); + return AjaxResults.success(list); + } + + /** + * 导出设备信息(有组织)列表 + */ + @ApiOperation(value = "导出设备信息(有组织)") + @Log(title = "设备信息(有组织)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BasDeviceQuery basDevice) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + if (StringUtils.isEmpty(basDevice.getFactoryId())) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDevice.setFactoryId(factoryId); + } + } + basDevice.setStatus(1L); + QueryWrapper lambdaQueryWrapper = BasDeviceQuery.createLambdaQueryWrapper(basDevice); + //lambdaQueryWrapper.notIn("type", "XK,EL,TC".split(",")); + lambdaQueryWrapper.in("industry", "GT,DL,JH,BL,SN,FS".split(",")); + + lambdaQueryWrapper.eq(basDevice.getStatus() != null, "status", basDevice.getStatus()); + List list = basDeviceService.list(lambdaQueryWrapper); + + + List basDeviceExcelVoList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + BasDeviceExcelVo basDeviceExcelVo = new BasDeviceExcelVo(); + BeanUtil.copyProperties(e, basDeviceExcelVo); + basDeviceExcelVo.setSerialnumber(iterator.next()); + basDeviceExcelVoList.add(basDeviceExcelVo); + }); + + ExcelUtil util = new ExcelUtil(BasDeviceExcelVo.class); + util.exportExcel(response, basDeviceExcelVoList, "生产设施坐标"); + } + + /** + * 导出设备信息(有组织)列表 + */ + @ApiOperation(value = "导出DCS系统参数设置") + @Log(title = "导出DCS系统参数设置", businessType = BusinessType.EXPORT) + @PostMapping("/exportDCSSystemParam") + public void exportDCSSystemParam(HttpServletResponse response, @RequestBody BasDeviceDCSSystemParamQuery query) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + PcFactory pcFactory = pcFactoryService.getById(factoryId); + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + query.setFactoryId(factoryId); + if (StringUtils.isBlank(pcFactory.getIndustryCategory())) { + query.setIndustry("------"); + } else { + query.setIndustry(pcFactory.getIndustryCategory()); + } + } + List list = basDeviceService.exportDCSSystemParam(query); + List basDeviceExcelVoList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + e.setSerialnumber(iterator.next()); + }); + ExcelUtil util = new ExcelUtil(BasDeviceDCSSystemParamExcelVo.class); + util.exportExcel(response, list, "DCS系统参数设置数据"); + } + + /** + * 获取设备信息(有组织)详细信息 + */ + @ApiOperation(value = "获取设备信息(有组织)详细信息") + @GetMapping(value = "/{deviceId}") + public AjaxResults getInfo(@PathVariable("deviceId") String id) { + return AjaxResults.success(basDeviceService.getById(id)); + } + + /** + * 新增设备信息(有组织) + */ + @ApiOperation(value = "新增设备信息(有组织)") + @Log(title = "设备信息(有组织)", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasDevice basDevice) { + return toAjax(basDeviceService.save(basDevice)); + } + + /** + * 修改设备信息(有组织) + */ + @ApiOperation(value = "修改设备信息(有组织)") + @Log(title = "设备信息(有组织)", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasDeviceVo basDeviceVo) { + if (ObjectUtil.isEmpty(basDeviceVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(basDeviceVo.getDeviceId())) { + throw new InvalidParameterException("参数id为空"); + } + BasDevice basDevice = basDeviceService.getById(basDeviceVo.getDeviceId()); + if (ObjectUtil.isEmpty(basDevice)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basDeviceVo.getDeviceId())); + } + //赋值 + BeanUtil.copyProperties(basDeviceVo, basDevice); + return toAjax(basDeviceService.saveOrUpdate(basDevice)); + } + + + /** + * 修改设备信息(有组织) + */ + @ApiOperation(value = "批量修改设备信息(有组织)") + @Log(title = "批量分表计电--设备点位", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatch") + public AjaxResults editBatch(@RequestBody BasDeviceVo[] BasDeviceVoArr) { + if (BasDeviceVoArr == null || BasDeviceVoArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + for(BasDeviceVo bs:BasDeviceVoArr){ + bs.setLon(bs.getLonMap()); + bs.setLat(bs.getLatMap()); + } + basDeviceService.editBatch(BasDeviceVoArr); + return toAjax(true); + } + + /** + * 删除设备信息(有组织) + */ + @ApiOperation(value = "删除设备信息(有组织)") +// @RequiresPermissions("talroad:device:remove") + @Log(title = "设备信息(有组织)", businessType = BusinessType.DELETE) + @PostMapping("/remove/{deviceIds}") + public AjaxResults remove(@PathVariable String[] deviceIds) { + return toAjax(basDeviceService.removeByIds(Arrays.asList(deviceIds))); + } + + @GetMapping("/getDevicesByType") + @ApiOperation(value = "获取指定工厂某工序下所有设备", notes = "") + public AjaxResults> getDevicesByType( + @ApiParam(name = "factoryId", value = "工厂id", required = true) @RequestParam String factoryId, + @ApiParam(name = "deviceType", value = "设备类型(焦化:JL,烧结:SJJ,球团:SL,炼铁:GL,炼钢:ZL,白灰窑:LY,发电:FDJZ。ALL=全部)", required = false) @RequestParam(required = false) String deviceType + ) { + // 需要修改直接查询,不要进行BeanUtils.copyProperties + + List list = null; + if (StringUtils.isNotEmpty(deviceType)) { + list = basDeviceService.lambdaQuery().eq(BasDevice::getFactoryId, factoryId) + .eq(!("ALL".equals(deviceType)), BasDevice::getType, deviceType) + .in(BasDevice::getIndustry, Arrays.asList("GT", "BL", "FS", "DL", "JH", "SN")) + .gt(BasDevice::getStatus, 0) + .orderByAsc(BasDevice::getDeviceId).list(); + } else { + list = basDeviceService.lambdaQuery().eq(BasDevice::getFactoryId, factoryId) + .gt(BasDevice::getStatus, 0) + .orderByAsc(BasDevice::getDeviceId).list(); + } + + List deviceIdNameVOS = new ArrayList<>(); + list.forEach(a -> { + DeviceIdNameVO vo = new DeviceIdNameVO(); + BeanUtils.copyProperties(a, vo); + deviceIdNameVOS.add(vo); + }); + return AjaxResults.success(deviceIdNameVOS); + } + + @Data + @ApiModel + public static class DeviceIdNameVO { + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + } + + @GetMapping("/getDeviceDataByType") + @ApiOperation(value = "设备数据查询") + public AjaxResults getDeviceDataByType( + @ApiParam(name = "timeType", value = "时间类型(R:实时,H:小时,D:日,N:月,Y:年)", allowableValues = "R,H,D,N,Y") @RequestParam(required = false) String timeType, + @ApiParam(name = "industry", value = "行业", required = true, allowableValues = "GT,JH,SN,BL,DL,FS") @RequestParam String industry, + @ApiParam(name = "factoryId", value = "工厂id", required = true, defaultValue = "4001") @RequestParam String factoryId, + @ApiParam(name = "deviceId", value = "设备id(英文逗号分隔)", defaultValue = "DL40010001") @RequestParam(required = false) String deviceId, + @ApiParam(name = "deviceType", value = "设备类型。钢铁=(焦炉:JL,烧结机:SJJ,竖炉:SL,高炉:GL,转炉:ZL,炉窑:LY,发电:FDJZ,GLMQ:高炉煤气放散,ZLMQ:转炉煤气放散),焦化=JL,水泥=SNY,玻璃:SCX,电力=(锅炉:GUL,发电机组:FDJZ),焚烧:FS", required = true) @RequestParam String deviceType, + @ApiParam(name = "startTime", value = "开始时间。实时=yyyy-MM-dd HH:mm:ss,小时=yyyy-MM-dd HH:00,日=yyyy-MM-dd,月=yyyy-MM,年=yyyy", defaultValue = "2021-11-03 10:00:00", required = true) @RequestParam String startTime, + @ApiParam(name = "endTime", value = "结束时间。实时=yyyy-MM-dd HH:mm:ss,小时=yyyy-MM-dd HH:00,日=yyyy-MM-dd,月=yyyy-MM,年=yyyy", defaultValue = "2021-11-03 10:30:00", required = true) @RequestParam String endTime, + @ApiParam(name = "orderField", value = "排序字段(dataTime)") @RequestParam(required = false) String orderField, + @ApiParam(name = "orderType", value = "排序方向。asc=升序(默认),desc=降序") @RequestParam(required = false) String orderType, + @ApiParam(name = "pageNo", value = "当前页号(从1开始)", defaultValue = "1") @RequestParam(required = false) Integer pageNo, + @ApiParam(name = "pageSize", value = "每页条数", defaultValue = "20") @RequestParam(required = false) Integer pageSize + ) { + //检查分页是否生效 + long start = System.currentTimeMillis(); + Page page = new Page(pageNo, pageSize); + basDeviceService.getDeviceDataByType(timeType, industry, factoryId, deviceId, deviceType, startTime, endTime, orderField, orderType, page); + long end = System.currentTimeMillis(); + logger.info("basDevice.getDeviceDataByType##设备数据查询耗时:" + (end - start) + "毫秒"); + return AjaxResults.success(page); + } + + @GetMapping("/getDeviceDataByType_Export") + @ApiOperation(value = "设备数据查询-导出CSV") + public void getDeviceDataByType_Export( + @ApiParam(name = "timeType", value = "时间类型(R:实时,H:小时,D:日,N:月,Y:年)", allowableValues = "R,H,D,N,Y") @RequestParam(required = false) String timeType, + @ApiParam(name = "industry", value = "行业", required = true, allowableValues = "GT,JH,SN,BL,DL,FS") @RequestParam String industry, + @ApiParam(name = "factoryId", value = "工厂id", required = true, defaultValue = "4001") @RequestParam String factoryId, + @ApiParam(name = "deviceId", value = "设备id(英文逗号分隔)", defaultValue = "DL40010001") @RequestParam(required = false) String deviceId, + @ApiParam(name = "deviceType", value = "设备类型。钢铁=(焦炉:JL,烧结机:SJJ,竖炉:SL,高炉:GL,转炉:ZL,炉窑:LY,发电:FDJZ,GLMQ:高炉煤气,ZLMQ:转炉煤气),焦化=JL,水泥=SNY,玻璃:SCX,电力=(锅炉:GUL,发电机组:FDJZ),焚烧:FS", required = true) @RequestParam String deviceType, + @ApiParam(name = "startTime", value = "开始时间。实时=yyyy-MM-dd HH:mm:ss,小时=yyyy-MM-dd HH:00,日=yyyy-MM-dd,月=yyyy-MM,年=yyyy", defaultValue = "2021-11-03 10:00:00", required = true) @RequestParam String startTime, + @ApiParam(name = "endTime", value = "结束时间。实时=yyyy-MM-dd HH:mm:ss,小时=yyyy-MM-dd HH:00,日=yyyy-MM-dd,月=yyyy-MM,年=yyyy", defaultValue = "2021-11-03 10:30:00", required = true) @RequestParam String endTime, + @ApiParam(name = "orderField", value = "排序字段(dataTime)") @RequestParam(required = false) String orderField, + @ApiParam(name = "orderType", value = "排序方向。asc=升序(默认),desc=降序") @RequestParam(required = false) String orderType, + @ApiParam(name = "pageNo", value = "当前页号(从1开始)", defaultValue = "1") @RequestParam(required = false) Integer pageNo, + @ApiParam(name = "pageSize", value = "每页条数", defaultValue = "20") @RequestParam(required = false) Integer pageSize, + HttpServletResponse response + ) throws Exception { + CsvUtils csvUtils = new CsvUtils(); + List lstMonData; + String fileName; + + //===== 初始化 + if (StringUtils.isBlank(timeType)) + timeType = EnStatTimeType.REAL.id(); + fileName = String.format("DCS_%s%s_%s_%s_%s.csv", industry.toUpperCase(), factoryId, timeType, startTime, endTime); + fileName = fileName.replaceAll(" ", "-").replaceAll(":", ""); + + List basParams = paramService.list(new QueryWrapper().eq("industry", industry).eq("device_type", deviceType)); + PcFactory pcFactory = factoryService.getById(factoryId.toString()); + + csvUtils.initMonDevData(timeType, pcFactory, basParams); + + response.setContentType("multipart/form-data"); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); + response.getOutputStream().write(csvUtils.getBufInBytes()); + csvUtils.clearBuf(); + + //==== 查询并生成 + AjaxResults ajaxResults = getDeviceDataByType(timeType, industry, factoryId, deviceId, deviceType, startTime, endTime, orderField, orderType, pageNo, pageSize); + if (ajaxResults.getCode() == 200) //成功 + { + IPage data = ajaxResults.getData(); + lstMonData = data.getRecords(); + + csvUtils.exportMonDevData(lstMonData); + response.getOutputStream().write(csvUtils.getBufInBytes()); //分段输出 + csvUtils.clearBuf(); + } else //失败 + { + csvUtils.exportError("[" + ajaxResults.getCode() + "]" + ajaxResults.getMsg()); + } + response.getOutputStream().write(csvUtils.getBufInBytes()); + csvUtils.clearBuf(); + response.flushBuffer(); + } + + @GetMapping("/getDeviceChart/{deviceId}/{startTime}/{endTime}") + @ApiOperation(value = "获取设备工况折线图", notes = "") + public AjaxResults getDeviceChart(@PathVariable(value = "deviceId") String deviceId, + @PathVariable(value = "startTime") String startTime, + @PathVariable(value = "endTime") String endTime) { + return AjaxResults.success(basDeviceService.getDeviceChart(deviceId, startTime, endTime)); + } + + @GetMapping("/getDeviceChart/v2") + @ApiOperation(value = "获取设备工况折线图") + public AjaxResults getDeviceChart2(@RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "startTime") String startTime, + @RequestParam(value = "endTime") String endTime, + @RequestParam(value = "timeType", defaultValue = "R") String timeType) { + return AjaxResults.success(basDeviceService.getDeviceChart(deviceId, startTime, endTime, timeType)); + } + @GetMapping("/getDeviceChart/v3") + @ApiOperation(value = "获取装备停限产设备工况折线图") + public AjaxResults getDeviceChart3(@RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "startTime") String startTime, + @RequestParam(value = "endTime") String endTime, + @RequestParam(value = "timeType", defaultValue = "R") String timeType) { + return AjaxResults.success(basDeviceService.getDeviceChart3(deviceId, startTime, endTime, timeType)); + } + @GetMapping("/getDeviceChart/v5") + @ApiOperation(value = "获取CO设备工况折线图") + public AjaxResults getDeviceChart5(@RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "startTime") String startTime, + @RequestParam(value = "endTime") String endTime, + @RequestParam(value = "timeType", defaultValue = "R") String timeType) { + return AjaxResults.success(basDeviceService.getDeviceChart5(deviceId, startTime, endTime, timeType)); + } + @GetMapping("/getDeviceChart/v6") + @ApiOperation(value = "获取CO设备工况折线图") + public AjaxResults getDeviceChart6(@RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "startTime") String startTime, + @RequestParam(value = "endTime") String endTime, + @RequestParam(value = "timeType", defaultValue = "R") String timeType) { + return AjaxResults.success(basDeviceService.getDeviceChart6(deviceId, startTime, endTime, timeType)); + } + + @GetMapping("/getDevicesByInsduty") + @ApiOperation(value = "获取指定企业、指定行业下所有设备", notes = "") + public AjaxResults> getDevicesByInsduty( + @ApiParam(name = "factoryId", value = "工厂id", required = true) @RequestParam String factoryId, + @ApiParam(name = "industry", value = "行业类型(焦化:JH,钢铁:GT,玻璃:BL,垃圾焚烧:FS,水泥:SN,电力:DL,分表计电:EL,排污许可生产、治理设备:XK。ALL=全部)", required = true) @RequestParam String industry + ) { + // 需要修改直接查询,不要进行BeanUtils.copyProperties + List list = basDeviceService.lambdaQuery().eq(BasDevice::getFactoryId, factoryId) + .eq(!("ALL".equals(industry)), BasDevice::getIndustry, industry) + .gt(BasDevice::getStatus, 0) + .orderByAsc(BasDevice::getDeviceId).list(); + List basDeviceIndustryVOs = new ArrayList<>(); + list.forEach(a -> { + BasDeviceIndustryVo vo = new BasDeviceIndustryVo(); + BeanUtils.copyProperties(a, vo); + basDeviceIndustryVOs.add(vo); + }); + return AjaxResults.success(basDeviceIndustryVOs); + } + + /** + * 操作日志 + */ + @ApiOperation(value = "操作日志") + @GetMapping("/editLogList") + public AjaxResults> editLogList(BasProductionDeviceOperationLogQuery basProductionDeviceOperationLogQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basProductionDeviceOperationLogQuery.setFactoryId(factoryId); + } + Page page = new Page<>(basProductionDeviceOperationLogQuery.getPageNum(), basProductionDeviceOperationLogQuery.getPageSize()); + IPage list = basProductionDeviceOperationLogService.page(page, basProductionDeviceOperationLogQuery.createLambdaQueryWrapper(basProductionDeviceOperationLogQuery)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "生产工况监测大屏-工况监控数量总览") + @GetMapping("/countOverview") + public AjaxResults countOverview() { + BasDeviceVo.CountOverview countOverview = basDeviceService.getCountOverview(); + return AjaxResults.success(countOverview); + } + + @ApiOperation(value = "煤气放散分析大屏-煤气放散数量") + @GetMapping("/coal/countOverview") + public AjaxResults coalCountOverview() { + BasDeviceVo.CoalCountOverview countOverview = basDeviceService.getCoalCountOverview(); + return AjaxResults.success(countOverview); + } + + @ApiOperation(value = "煤气放散分析大屏-煤气放散清单") + @GetMapping("/coal/diffuse/list") + public AjaxResults> coalDiffuseList( + @ApiParam(value = "设备名称", name = "deviceName") @RequestParam(value = "deviceName", required = false) String deviceName, + @ApiParam(value = "当前状态 1正常放散,2异常放散,3未放散,4离线", name = "status") @RequestParam(value = "status", required = false) String status + ) { + List list = basDeviceService.getCoalDiffuseList(deviceName, status); + return AjaxResults.success(list); + } + +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceParamController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceParamController.java new file mode 100644 index 0000000..4011a4a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceParamController.java @@ -0,0 +1,171 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BasDcsOperationLog; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.service.IBasDcsOperationLogService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.query.BasDcsOperationLogQuery; +import cn.cecep.talroad.vo.query.BasDeviceParamQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 各设备的监测参数属性Controller 控制层 + * + * @author szhpt + * @date 2023-01-10 + */ +@Api(tags = "基础信息--各设备的监测参数属性") +@RestController +@RequestMapping("/basDeviceParam") +public class BasDeviceParamController extends BasesController { + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDcsOperationLogService basDcsOperationLogService; + + /** + * 查询各设备的监测参数属性列表 + */ + @ApiOperation(value = "查询各设备的监测参数属性") + @GetMapping("/list") + public AjaxResults> list(BasDeviceParamQuery basDeviceParam) { + Page page = new Page<>(basDeviceParam.getPageNum(), basDeviceParam.getPageSize()); + basDeviceParam.setIsStatus("1"); + IPage list = basDeviceParamService.page(page, BasDeviceParamQuery.createLambdaQueryWrapper(basDeviceParam)); + return AjaxResults.success(list); + } + + + /** + * 导出各设备的监测参数属性列表 + */ + @ApiOperation(value = "导出各设备的监测参数属性") + @Log(title = "各设备的监测参数属性", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasDeviceParam basDeviceParam) { + basDeviceParam.setIsStatus("1"); + List list = basDeviceParamService.selectBasDeviceParamList(basDeviceParam); + ExcelUtil util = new ExcelUtil(BasDeviceParam.class); + util.exportExcel(response, list, "各设备的监测参数属性数据"); + } + + /** + * 获取各设备的监测参数属性详细信息 + */ + @ApiOperation(value = "获取各设备的监测参数属性详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(basDeviceParamService.getById(id)); + } + + /** + * 新增各设备的监测参数属性 + */ + @ApiOperation(value = "新增各设备的监测参数属性") + @Log(title = "各设备的监测参数属性", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasDeviceParam basDeviceParam) { + return toAjax(basDeviceParamService.save(basDeviceParam)); + } + + /** + * 修改各设备的监测参数属性 + */ + @ApiOperation(value = "修改各设备的监测参数属性") + @Log(title = "各设备的监测参数属性", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasDeviceParamVo basDeviceParamVo) { + if (ObjectUtil.isEmpty(basDeviceParamVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(basDeviceParamVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + BasDeviceParam basDeviceParam = basDeviceParamService.getById(basDeviceParamVo.getId()); + if (ObjectUtil.isEmpty(basDeviceParam)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basDeviceParamVo.getId())); + } + //赋值 + BeanUtil.copyProperties(basDeviceParamVo, basDeviceParam); + return toAjax(basDeviceParamService.saveOrUpdate(basDeviceParam)); + } + + /** + * 批量修改各设备的监测参数属性 + */ + @ApiOperation(value = "批量修改各设备的监测参数属性") + @Log(title = "批量各设备的监测参数属性", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatch") + public AjaxResults editBatch(@RequestBody BasDeviceParamVo[] basDeviceParamVoArr) { + if (basDeviceParamVoArr == null || basDeviceParamVoArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + + basDeviceParamService.editBatch(basDeviceParamVoArr); + return toAjax(true); + } + + /** + * 删除各设备的监测参数属性 + */ + @ApiOperation(value = "删除各设备的监测参数属性") + @RequiresPermissions("talroad:param:remove") + @Log(title = "各设备的监测参数属性", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(basDeviceParamService.removeByIds(Arrays.asList(ids))); + } + + + /** + * 操作日志 + */ + @ApiOperation(value = "操作日志") + @GetMapping("/editLogList") + public AjaxResults> editLogList(BasDcsOperationLogQuery query) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + query.setFactoryId(factoryId); + } + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage list = basDcsOperationLogService.page(page, query.createLambdaQueryWrapper(query)); + return AjaxResults.success(list); + } + + + /** + * 操作日志 + */ + @ApiOperation(value = "设置参数信息") + @GetMapping("/setParamInfo") + public AjaxResults setParamInfo() { + basDeviceParamService.setParamInfo(); + return AjaxResults.success(1); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceSiteController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceSiteController.java new file mode 100644 index 0000000..e3164ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasDeviceSiteController.java @@ -0,0 +1,317 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.BasDeviceSiteTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasDeviceSiteService; +import cn.cecep.talroad.service.IMonElecOperationLogService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.export.AmVideoDevFiExport; +import cn.cecep.talroad.vo.export.BasDeviceSiteExport; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import cn.cecep.talroad.vo.query.BasDeviceQuery; +import cn.cecep.talroad.vo.query.BasDeviceSiteQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +@Api(tags = "设备点位表") +@RestController +@RequestMapping("/deviceSite") +public class BasDeviceSiteController extends BasesController { + + @Autowired + private IBasDeviceSiteService basDeviceSiteService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonElecOperationLogService monElecOperationLogService; + + @ApiOperation(value = "设备点位列表") + @GetMapping("/list") + public AjaxResults> list(String deviceId) { + List list = basDeviceSiteService.list(new QueryWrapper() + .eq(StringUtils.isNotEmpty(deviceId), "device_id", deviceId)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "站点名称下拉框") + @GetMapping("/stationNameSelect") + public AjaxResults> stationNameSelect(BasDeviceSiteQuery basDeviceSiteQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if (ObjectUtil.equal(roleId, 10L)) { + basDeviceSiteQuery.setIsStatus("1"); + } + QueryWrapper lambdaQueryWrapper = BasDeviceSiteQuery.createSingLambdaQueryWrapperQiye(basDeviceSiteQuery); + lambdaQueryWrapper.orderByAsc("mam.name"); + List list = basDeviceSiteService.selectBasDeviceSiteExportListT(lambdaQueryWrapper); + return AjaxResults.success(list); + } + + @ApiOperation(value = "设施名称下拉框") + @GetMapping("/deviceNameSelect") + public AjaxResults> deviceNameSelect(BasDeviceQuery basDeviceQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if (ObjectUtil.equal(roleId, 10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDeviceQuery.setIndustry("XK"); + basDeviceQuery.setIsStatus("1"); + } + QueryWrapper lambdaQueryWrapper = BasDeviceQuery.createLambdaQueryWrapper(basDeviceQuery); + lambdaQueryWrapper.orderByAsc("pollutant_name"); + List list = basDeviceSiteService.selectBasDeviceList(lambdaQueryWrapper); + return AjaxResults.success(list); + } + + @ApiOperation(value = "设备类型下拉框") + @GetMapping("/deviceTypeSelect") + public AjaxResults> deviceTypeSelect() { + List basDeviceSiteDeviceTypeVoList = new ArrayList<>(); + for (BasDeviceSiteTypeEnum item : BasDeviceSiteTypeEnum.values()) { + basDeviceSiteDeviceTypeVoList.add(new BasDeviceSiteDeviceTypeVo(item.getCode(), item.getName())); + } + return AjaxResults.success(basDeviceSiteDeviceTypeVoList); + } + + @ApiOperation(value = "分表计电--设备功率设备点位列表") + @GetMapping("/listPower") + public AjaxResults> listPower(BasDeviceSiteQuery basDeviceSiteQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDeviceSiteQuery.setFactoryId(factoryId); + } + Page page = new Page<>(basDeviceSiteQuery.getPageNum(), basDeviceSiteQuery.getPageSize()); + if (StringUtils.isNotBlank(basDeviceSiteQuery.getDeviceName())) { + // 先去反查设备 + List basDeviceList = basDeviceService.list(new QueryWrapper().eq("name", basDeviceSiteQuery.getDeviceName())); + List deviceIds = basDeviceList.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + basDeviceSiteQuery.setDeviceIds(deviceIds); + } + IPage list = basDeviceSiteService.page(page, BasDeviceSiteQuery.createSingLambdaQueryWrapper(basDeviceSiteQuery)); + List records = list.getRecords(); + if (!CollectionUtils.isEmpty(records)) { + List deviceIdList = records.stream().map(BasDeviceSite::getDeviceId).collect(Collectors.toList()); + List basDeviceList = basDeviceService.list(new QueryWrapper().in("device_id", deviceIdList)); + Map deviceIdNameMap = basDeviceList.stream().collect(Collectors.toMap(BasDevice::getDeviceId, BasDevice::getName)); + records.forEach(item -> { + item.setDeviceName(deviceIdNameMap.get(item.getDeviceId())); + }); + } + return AjaxResults.success(list); + } + + @ApiOperation(value = "设备点位列表-企业端") + @GetMapping("/listFactory") + public AjaxResults> listFactory(BasDeviceSiteQuery basDeviceSite) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if (ObjectUtil.equal(roleId, 10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDeviceSite.setFactoryId(factoryId); + basDeviceSite.setIsStatus("1"); + } + Page page = new Page<>(basDeviceSite.getPageNum(), basDeviceSite.getPageSize()); + IPage list = basDeviceSiteService.selectDeviceNameById(page, BasDeviceSiteQuery.createLambdaQueryWrapper(basDeviceSite)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "导出设备列表-企业端") + @GetMapping("/exportFactory") + @Log(title = "导出设备列表-企业端", businessType = BusinessType.EXPORT) + public void exportFactory(HttpServletResponse response, BasDeviceSiteQuery basDeviceSite) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if (ObjectUtil.equal(roleId, 10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDeviceSite.setFactoryId(factoryId); + basDeviceSite.setIsStatus("1"); + } + List list = basDeviceSiteService.selectBasDeviceSiteExportList(BasDeviceSiteQuery.createLambdaQueryWrapper(basDeviceSite)); + ExcelUtil util = new ExcelUtil(BasDeviceSiteExport.class); + util.exportExcel(response, list, "视频监控数据"); + } + + @ApiOperation(value = "修改视频监控-企业端") + @Log(title = "视频监控", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editFactory") + public AjaxResults editFactory(@RequestBody List basDeviceSiteVo) { + if (basDeviceSiteVo.size() == 0) { + throw new InvalidParameterException("没有修改的内容"); + } + List saveList = new ArrayList(); + List saveExportList = new ArrayList(); + for (BasDeviceSiteExport avdi : basDeviceSiteVo) { + BasDeviceSite basDeviceSite = basDeviceSiteService.getById(avdi.getId()); + BasDeviceSiteExport basDeviceSiteExport = basDeviceSiteService.getByExport(avdi.getId()); + if (ObjectUtil.isEmpty(basDeviceSite)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", avdi.getId())); + } + basDeviceSite.setDeviceId(avdi.getDeviceId()); + basDeviceSite.setPointLat(avdi.getPointLat()); + basDeviceSite.setPointLng(avdi.getPointLng()); + saveList.add(basDeviceSite); + saveExportList.add(basDeviceSiteExport); + } + basDeviceSiteService.saveLog(basDeviceSiteVo, saveExportList); + //赋值 + return toAjax(basDeviceSiteService.saveOrUpdateBatch(saveList)); + } + + @ApiOperation(value = "操作日志列表-视频设备绑定排污可设备信息") + @PostMapping("/getBasDeviceSiteCoordinateOperationLogList") + public AjaxResults> getBasDeviceSiteCoordinateOperationLogList(BasDeviceSiteQuery basDeviceSite) { + try { + IPage list = basDeviceSiteService.getBasDeviceSiteCoordinateOperationLogList(basDeviceSite); + return AjaxResults.success(list); + } catch (Exception e) { + return AjaxResults.error("操作日志列表获取失败!"); + } + } + + + /** + * 获取分表计电--设备点位详细信息 + */ + @ApiOperation(value = "获取分表计电--设备点位详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(basDeviceSiteService.getById(id)); + } + + /** + * 导出分表计电--设备点位列表 + */ + @ApiOperation(value = "导出分表计电--设备点位") + @Log(title = "导出分表计电--设备点位", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasDeviceSite basDeviceSite) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + basDeviceSite.setFactoryId(factoryId); + } + List list = basDeviceSiteService.selectExportBasDeviceList(basDeviceSite); + + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + e.setSerialnumber(iterator.next()); + if (e.getType() != null) { + e.setType(BasDeviceSiteTypeEnum.GOVERNANCE.getNameByCode(e.getType())); + } + }); + + ExcelUtil util = new ExcelUtil(BasDeviceSiteExcelVo.class); + util.exportExcel(response, list, "分表记电系统参数设置"); + } + + /** + * 新增设分表计电--设备点位 + */ + @ApiOperation(value = "新增分表计电--设备点位") + @Log(title = "分表计电--设备点位", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasDeviceSite basDeviceSite) { + return toAjax(basDeviceSiteService.save(basDeviceSite)); + } + + /** + * 修改分表计电--设备点位 + */ + @ApiOperation(value = "修改分表计电--设备点位") + @Log(title = "分表计电--设备点位", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasDeviceSiteVo basDeviceSiteVo) { + if (ObjectUtil.isEmpty(basDeviceSiteVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(basDeviceSiteVo.getDeviceId())) { + throw new InvalidParameterException("参数id为空"); + } + BasDeviceSite basDeviceSite = basDeviceSiteService.getById(basDeviceSiteVo.getId()); + if (ObjectUtil.isEmpty(basDeviceSite)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basDeviceSiteVo.getDeviceId())); + } + //赋值 + BeanUtil.copyProperties(basDeviceSiteVo, basDeviceSite); + return toAjax(basDeviceSiteService.saveOrUpdate(basDeviceSite)); + } + + /** + * 修改分表计电--设备点位 + * + */ + @ApiOperation(value = "批量修改分表计电--设备点位") + @Log(title = "批量分表计电--设备点位", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatch") + public AjaxResults editBatch(@RequestBody BasDeviceSiteVo[] basDeviceSiteVoArr) { + if (basDeviceSiteVoArr == null || basDeviceSiteVoArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + basDeviceSiteService.editBatch(basDeviceSiteVoArr); + return toAjax(true); + } + + /** + * 删除分表计电--设备点位 + */ + @ApiOperation(value = "删除分表计电--设备点位") +// @RequiresPermissions("talroad:device:remove") + @Log(title = "分表计电--设备点位", businessType = BusinessType.DELETE) + @PostMapping("/remove/{deviceIds}") + public AjaxResults remove(@PathVariable String[] deviceIds) { + return toAjax(basDeviceSiteService.removeByIds(Arrays.asList(deviceIds))); + } + + /** + * 操作日志 + */ + @ApiOperation(value = "操作日志") + @GetMapping("/editLogList") + public AjaxResults> editLogList(MonElecOperationLogQuery monElecOperationLogQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + monElecOperationLogQuery.setFactoryId(factoryId); + } + Page page = new Page<>(monElecOperationLogQuery.getPageNum(), monElecOperationLogQuery.getPageSize()); + IPage list = monElecOperationLogService.page(page, monElecOperationLogQuery.createLambdaQueryWrapper(monElecOperationLogQuery)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "分表计电大屏-分表计电数量总览") + @GetMapping("/countOverview") + public AjaxResults countOverview() { + BasDeviceSiteVo.CountOverview countOverview = basDeviceSiteService.getCountOverview(); + return AjaxResults.success(countOverview); + } + + @ApiOperation(value = "分表计电大屏-分表计电点位分布") + @GetMapping("/scatter") + public AjaxResults scatterChart(@ApiParam(name = "type", value = "1:按区域, 2:按行业") @RequestParam("type") String type) { + EChartsVO chartsVO = basDeviceSiteService.getScatterChart(type); + return AjaxResults.success(chartsVO); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasElecDeviceController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasElecDeviceController.java new file mode 100644 index 0000000..c8d5455 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasElecDeviceController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BasElecDevice; +import cn.cecep.talroad.service.IBasElecDeviceService; +import cn.cecep.talroad.vo.BasElecDeviceVo; +import cn.cecep.talroad.vo.query.BasElecDeviceQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 分表计电设备信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--分表计电设备信息") +@RestController +@RequestMapping("/basElecDevice") +public class BasElecDeviceController extends BasesController +{ + @Autowired + private IBasElecDeviceService basElecDeviceService; + + /** + * 查询分表计电设备信息列表 + */ + @ApiOperation(value = "查询分表计电设备信息") + @GetMapping("/list") + public AjaxResults> list(BasElecDeviceQuery basElecDevice) + { + Page page = new Page<>(basElecDevice.getPageNum(), basElecDevice.getPageSize()); + IPage list = basElecDeviceService.page(page, BasElecDeviceQuery.createLambdaQueryWrapper(basElecDevice)); + return AjaxResults.success(list); + } + + + /** + * 导出分表计电设备信息列表 + */ + @ApiOperation(value = "导出分表计电设备信息") + @Log(title = "分表计电设备信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasElecDevice basElecDevice) + { + List list = basElecDeviceService.selectBasElecDeviceList(basElecDevice); + ExcelUtil util = new ExcelUtil(BasElecDevice.class); + util.exportExcel(response, list, "分表计电设备信息数据"); + } + + /** + * 获取分表计电设备信息详细信息 + */ + @ApiOperation(value = "获取分表计电设备信息详细信息") + @PostMapping(value = "/{elecDeviceId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(basElecDeviceService.getById(id)); + } + /** + * 新增分表计电设备信息 + */ + @ApiOperation(value = "新增分表计电设备信息") + @Log(title = "分表计电设备信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasElecDevice basElecDevice) { + return toAjax(basElecDeviceService.save(basElecDevice)); + } + /** + * 修改分表计电设备信息 + */ + @ApiOperation(value = "修改分表计电设备信息") + @Log(title = "分表计电设备信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasElecDeviceVo basElecDeviceVo) { + if(ObjectUtil.isEmpty(basElecDeviceVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(basElecDeviceVo.getElecDeviceId())){ + throw new InvalidParameterException("参数id为空"); + } + BasElecDevice basElecDevice = basElecDeviceService.getById(basElecDeviceVo.getElecDeviceId()); + if(ObjectUtil.isEmpty(basElecDevice)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basElecDeviceVo.getElecDeviceId())); + } + //赋值 + BeanUtil.copyProperties(basElecDeviceVo,basElecDevice); + return toAjax(basElecDeviceService.saveOrUpdate(basElecDevice)); + } + + /** + * 删除分表计电设备信息 + */ + @ApiOperation(value = "删除分表计电设备信息") + @RequiresPermissions("talroad:device:remove") + @Log(title = "分表计电设备信息", businessType = BusinessType.DELETE) + @PostMapping("/{elecDeviceIds}") + public AjaxResults remove(@PathVariable String[] elecDeviceIds) { + return toAjax(basElecDeviceService.removeByIds(Arrays.asList(elecDeviceIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasParamController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasParamController.java new file mode 100644 index 0000000..ce9b400 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasParamController.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.vo.BasParamVo; +import cn.cecep.talroad.vo.query.BasParamQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 监测参数汇总(有组织)Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基础信息--监测参数汇总(有组织)") +@RestController +@RequestMapping("/basParam") +public class BasParamController extends BasesController +{ + @Autowired + private IBasParamService basParamService; + + /** + * 查询监测参数汇总(有组织)列表 + */ + @ApiOperation(value = "查询监测参数汇总(有组织)") + @GetMapping("/list") + public AjaxResults> list(BasParamQuery basParam) + { + Page page = new Page<>(basParam.getPageNum(), basParam.getPageSize()); + IPage list = basParamService.page(page, BasParamQuery.createLambdaQueryWrapper(basParam)); + return AjaxResults.success(list); + } + + + /** + * 导出监测参数汇总(有组织)列表 + */ + @ApiOperation(value = "导出监测参数汇总(有组织)") + @Log(title = "监测参数汇总(有组织)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasParam basParam) + { + List list = basParamService.selectBasParamList(basParam); + ExcelUtil util = new ExcelUtil(BasParam.class); + util.exportExcel(response, list, "监测参数汇总(有组织)数据"); + } + + /** + * 获取监测参数汇总(有组织)详细信息 + */ + @ApiOperation(value = "获取监测参数汇总(有组织)详细信息") + @GetMapping(value = "/{paramId}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(basParamService.getById(id)); + } + /** + * 新增监测参数汇总(有组织) + */ + @ApiOperation(value = "新增监测参数汇总(有组织)") + @Log(title = "监测参数汇总(有组织)", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasParam basParam) { + return toAjax(basParamService.save(basParam)); + } + /** + * 修改监测参数汇总(有组织) + */ + @ApiOperation(value = "修改监测参数汇总(有组织)") + @Log(title = "监测参数汇总(有组织)", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasParamVo basParamVo) { + if(ObjectUtil.isEmpty(basParamVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(basParamVo.getParamId())){ + throw new InvalidParameterException("参数id为空"); + } + BasParam basParam = basParamService.getById(basParamVo.getParamId()); + if(ObjectUtil.isEmpty(basParam)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basParamVo.getParamId())); + } + //赋值 + BeanUtil.copyProperties(basParamVo,basParam); + return toAjax(basParamService.saveOrUpdate(basParam)); + } + + /** + * 删除监测参数汇总(有组织) + */ + @ApiOperation(value = "删除监测参数汇总(有组织)") + @RequiresPermissions("talroad:param:remove") + @Log(title = "监测参数汇总(有组织)", businessType = BusinessType.DELETE) + @PostMapping("/{paramIds}") + public AjaxResults remove(@PathVariable String[] paramIds) { + return toAjax(basParamService.removeByIds(Arrays.asList(paramIds))); + } + + @GetMapping("/monitoringParam") + @ApiOperation(value = "DCS监测数据表头数据") + public AjaxResults> getMonitoringParam(){ + Map data = basParamService.getMonitroingParam(); + return AjaxResults.success(data); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasThresholdConfigController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasThresholdConfigController.java new file mode 100644 index 0000000..2d65338 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BasThresholdConfigController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.BasThresholdConfigQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.vo.BasThresholdConfigVo; +import cn.cecep.talroad.service.IBasThresholdConfigService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析-阈值设置Controller 控制层 + * + * @author szhpt + * @date 2023-05-18*/ +@Api(tags = "关联分析-阈值设置") +@RestController +@RequestMapping("/thresholdConfig") +public class BasThresholdConfigController extends BasesController +{ + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + + /** + * 查询关联分析-阈值设置列表 + */ + @ApiOperation(value = "查询关联分析-阈值设置") + @GetMapping("/list") + public AjaxResults> list(BasThresholdConfigQuery basThresholdConfig) + { + Page page = new Page<>(basThresholdConfig.getPageNum(), basThresholdConfig.getPageSize()); + IPage list = basThresholdConfigService.page(page, BasThresholdConfigQuery.createLambdaQueryWrapper(basThresholdConfig)); + return AjaxResults.success(list); + } + + + /** + * 导出关联分析-阈值设置列表 + */ + @ApiOperation(value = "导出关联分析-阈值设置") + @Log(title = "关联分析-阈值设置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BasThresholdConfig basThresholdConfig) + { + List list = basThresholdConfigService.selectBasThresholdConfigList(basThresholdConfig); + ExcelUtil util = new ExcelUtil(BasThresholdConfig.class); + util.exportExcel(response, list, "关联分析-阈值设置数据"); + } + + /** + * 获取关联分析-阈值设置详细信息 + */ + @ApiOperation(value = "获取关联分析-阈值设置详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(basThresholdConfigService.getById(id)); + } + /** + * 新增关联分析-阈值设置 + */ + @ApiOperation(value = "新增关联分析-阈值设置") + @Log(title = "关联分析-阈值设置", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody BasThresholdConfig basThresholdConfig) { + return toAjax(basThresholdConfigService.save(basThresholdConfig)); + } + /** + * 修改关联分析-阈值设置 + */ + @ApiOperation(value = "修改关联分析-阈值设置") + @Log(title = "关联分析-阈值设置", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody BasThresholdConfigVo basThresholdConfigVo) { + if(ObjectUtil.isEmpty(basThresholdConfigVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(basThresholdConfigVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + BasThresholdConfig basThresholdConfig = basThresholdConfigService.getById(basThresholdConfigVo.getDataId()); + if(ObjectUtil.isEmpty(basThresholdConfig)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", basThresholdConfigVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(basThresholdConfigVo,basThresholdConfig); + return toAjax(basThresholdConfigService.saveOrUpdate(basThresholdConfig)); + } + + /** + * 删除关联分析-阈值设置 + */ + @ApiOperation(value = "删除关联分析-阈值设置") + @RequiresPermissions("talroad:thresholdConfig:remove") + @Log(title = "关联分析-阈值设置", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(basThresholdConfigService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseControlConcentStandardsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseControlConcentStandardsController.java new file mode 100644 index 0000000..f8941db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseControlConcentStandardsController.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.controller; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseControlConcentStandards; +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.cecep.talroad.service.BaseControlConcentStandardsService; + +import cn.cecep.talroad.vo.BaseControlConcentStandardsVo; +import cn.cecep.talroad.vo.query.BaseControlConcentStandardsQuery; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.jsonwebtoken.lang.Collections; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** +* (base_control_concent_standards)表控制层 +* +* @author xxxxx +*/ +@Api(tags ="管控浓度标准设置") +@RestController +@RequestMapping("/controlConcentSt") +public class BaseControlConcentStandardsController { +/** +* 服务对象 +*/ +@Resource +private BaseControlConcentStandardsService baseControlConcentStandardsService; + + /** + * 查询列表 + * + * @param query 查询条件 + * @return 单条数据 + */ + @ApiOperation("获取列表") + @GetMapping("/selectList") + public AjaxResults> selectList(BaseControlConcentStandardsQuery query) { + return baseControlConcentStandardsService.selectList(query); + } + @ApiOperation("导出文件") + @GetMapping("/export") + public void export(HttpServletResponse response, BaseControlConcentStandardsQuery query) { +// query = new BaseControlConcentStandardsQuery(); + query.setPageNum(1); + query.setPageSize(Integer.MAX_VALUE); + AjaxResults> iPageAjaxResults = baseControlConcentStandardsService.selectList(query); + if(iPageAjaxResults.getCode()==200){ + List records = iPageAjaxResults.getData().getRecords(); + ExcelUtil util = new ExcelUtil<>(BaseControlConcentStandardsVo.class); + util.hideColumnNative(2,1,0); + util.exportExcel(response, records, "管控浓度标准设置"); + } + } + @PostMapping("/import") + @ResponseBody + public AjaxResults importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil<>(BaseControlConcentStandards.class); + List voList = util.importExcel(file.getInputStream()); + List data = voList.stream().filter(v -> StringUtils.isNotEmpty(v.getIncludeCalculations())).collect(Collectors.toList()); + if(Collections.isEmpty(data)){ + return AjaxResults.success(true); + } + baseControlConcentStandardsService.importData(data); + return AjaxResults.success(true); + } + + @ApiOperation("更新建议排放量小时均值") + @PostMapping("/updateAdviceEmissionAvg") + public AjaxResults updateAdviceEmissionAvg() { + baseControlConcentStandardsService.updateAdviceEmissionAvg(); + return AjaxResults.success(); + } + @GetMapping("/addPollutant") + public AjaxResults addPollutant(@RequestParam String code, @RequestParam Integer type) { + Integer integer= baseControlConcentStandardsService.addPollutant(code,type); + return AjaxResults.success(integer); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseRegionalControlObjectivesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseRegionalControlObjectivesController.java new file mode 100644 index 0000000..500679c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/BaseRegionalControlObjectivesController.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.vo.BaseRegionalControlObjectivesVo; +import cn.cecep.talroad.service.BaseRegionalControlObjectivesService; +import cn.cecep.talroad.vo.query.BaseRegionalControlObjectivesQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.concurrent.locks.ReentrantLock; + +/** +* (base_regional_control_objectives)表控制层---自动生成 +* +* @author 李祥厚 +*/ +@Api(tags = "区域管控目标") +@RestController +@RequestMapping("/regionalControlObj") +public class BaseRegionalControlObjectivesController { + + private static final ReentrantLock lock=new ReentrantLock(); +/** +* 服务对象 +*/ +@Resource +private BaseRegionalControlObjectivesService baseRegionalControlObjectivesService; + + /** + * 通过主键查询单条数据 + * + * @param query 主键 + * @return 列表数据 + */ + @ApiOperation(value = "查询区域管控目标列表") + @GetMapping("/selectList") + public AjaxResults> + selectList(BaseRegionalControlObjectivesQuery query) { + return baseRegionalControlObjectivesService.selectList(query); + } + /** + * 通过主键查询单条数据 + * + * @param data + * @return 列表数据 + */ + @ApiOperation(value = "区域管控目标保存") + @PostMapping("/save") + public AjaxResults saveList(@RequestBody List data) { + lock.lock(); + AjaxResults save = baseRegionalControlObjectivesService.save(data); + lock.unlock(); + return save; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EarlyWarningController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EarlyWarningController.java new file mode 100644 index 0000000..442539a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EarlyWarningController.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.EarlyWarningQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.vo.EarlyWarningVo; +import cn.cecep.talroad.service.IEarlyWarningService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 管控浓度超标预警Controller 控制层 + * + * @author szhpt + * @date 2023-04-24*/ +@Api(tags = "管控浓度超标预警") +@RestController +@RequestMapping("/earlyWarning") +public class EarlyWarningController extends BasesController +{ + @Autowired + private IEarlyWarningService earlyWarningService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询管控浓度超标预警列表 + */ + @ApiOperation(value = "查询管控浓度超标预警") + @GetMapping("/list") + public AjaxResults> list(EarlyWarningQuery earlyWarning) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + earlyWarning.setRegionCodes(regionCodes); + Page page = new Page<>(earlyWarning.getPageNum(), earlyWarning.getPageSize()); + IPage list = earlyWarningService.page(page, EarlyWarningQuery.createLambdaQueryWrapper(earlyWarning)); + return AjaxResults.success(list); + } + + + /** + * 导出管控浓度超标预警列表 + */ + @ApiOperation(value = "导出管控浓度超标预警") + @Log(title = "管控浓度超标预警", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody EarlyWarningQuery earlyWarning) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + earlyWarning.setRegionCodes(regionCodes); + List list = earlyWarningService.selectEarlyWarningList(earlyWarning); + ExcelUtil util = new ExcelUtil(EarlyWarning.class); + util.exportExcel(response, list, "管控浓度超标预警数据"); + } + + /** + * 获取管控浓度超标预警详细信息 + */ + @ApiOperation(value = "获取管控浓度超标预警详细信息") + @PostMapping(value = "/{ewId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(earlyWarningService.getById(id)); + } + /** + * 新增管控浓度超标预警 + */ + @ApiOperation(value = "新增管控浓度超标预警") + @Log(title = "管控浓度超标预警", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody EarlyWarning earlyWarning) { + return toAjax(earlyWarningService.save(earlyWarning)); + } + /** + * 修改管控浓度超标预警 + */ + @ApiOperation(value = "修改管控浓度超标预警") + @Log(title = "管控浓度超标预警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody EarlyWarningVo earlyWarningVo) { + if(ObjectUtil.isEmpty(earlyWarningVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(earlyWarningVo.getEwId())){ + throw new InvalidParameterException("参数id为空"); + } + EarlyWarning earlyWarning = earlyWarningService.getById(earlyWarningVo.getEwId()); + if(ObjectUtil.isEmpty(earlyWarning)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", earlyWarningVo.getEwId())); + } + //赋值 + BeanUtil.copyProperties(earlyWarningVo,earlyWarning); + return toAjax(earlyWarningService.saveOrUpdate(earlyWarning)); + } + + /** + * 删除管控浓度超标预警 + */ + @ApiOperation(value = "删除管控浓度超标预警") + @RequiresPermissions("talroad:warning:remove") + @Log(title = "管控浓度超标预警", businessType = BusinessType.DELETE) + @PostMapping("/{ewIds}") + public AjaxResults remove(@PathVariable String[] ewIds) { + return toAjax(earlyWarningService.removeByIds(Arrays.asList(ewIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/ElectricityMeterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/ElectricityMeterController.java new file mode 100644 index 0000000..c773a56 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/ElectricityMeterController.java @@ -0,0 +1,138 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.mapper.BasElecProCepMapMapper; +import cn.cecep.talroad.service.ElectricityMeterService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +import cn.cecep.talroad.domain.BasElecProCepMap; +/** + * @className: ElectricityMeterController + * @description: 分表计电定时任务 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:21 PM + * @Company: Copyright© [2023/03/30 5:21 PM] by [Mr.Yanghongtao] + **/ +@RestController +@RequestMapping("electricityMeterController") +@Slf4j +public class ElectricityMeterController { + + @Autowired + ElectricityMeterService electricityMeterServiceImpl; + + @Autowired + private BasElecProCepMapMapper basElecProCepMapMapper; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/2 6:32 PM + * @Deseription: 按照规则,15分钟执行一次,但是数据接入可能会慢一些,所以定时任务执行时间往后延长2分钟 02 17 32 47 执行, + * @Params: dateTime yyyy-MM-dd HH-02:00 | yyyy-MM-dd HH-17:00 | yyyy-MM-dd HH-32:00 | yyyy-MM-dd HH-47:00 + * @Params: deviceType 1-生产设施,2-治理设施 + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "统计设备运行状态") + @GetMapping("/statisticsDeviceRunningState") + @Log(title = "统计设备运行状态-每15分钟一次", businessType = BusinessType.UPDATE) + public AjaxResults statisticsDeviceRunningState(@RequestParam(name = "dateTime") String dateTime) { + try { + + // 查询一下生产设施和治理设施的对应关系 + List isStatus = basElecProCepMapMapper.selectList(new QueryWrapper().eq("is_status", 1)); + // key生产设施ID + Map> cepAndProIds = isStatus.stream() + .collect(Collectors.groupingBy(BasElecProCepMap::getCepDeviceId, + Collectors.mapping(BasElecProCepMap::getProDeviceId, Collectors.toList()))); + + electricityMeterServiceImpl.statisticsDeviceRunningState(dateTime,"0",cepAndProIds); + electricityMeterServiceImpl.statisticsDeviceRunningState(dateTime,"1",cepAndProIds); + } catch (ParseException e) { + throw new RuntimeException("传入时间格式错误!"); + } catch (Exception e) { + log.error("统计设备运行状态-每15分钟一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + + @ApiOperation(value = "统计设备运行状态-每日一次") + @GetMapping("/statisticsDeviceRunningTime") + @Log(title = "统计设备运行状态-每日一次", businessType = BusinessType.UPDATE) + public AjaxResults statisticsDeviceRunningTime( + @RequestParam(value = "startTime",required = false) String startTime, + @RequestParam(value = "endTime",required = false) String endTime + ) { + try { + electricityMeterServiceImpl.statisticsDeviceRunningTime(startTime,endTime); + } catch (Exception e) { + log.error("统计设备运行状态-每日一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + + @ApiOperation(value = "统计设备运行状态-每月一次") + @GetMapping("/statisticsDeviceRunningTimeByMonth") + @Log(title = "统计设备运行状态-每月一次", businessType = BusinessType.UPDATE) + public AjaxResults statisticsDeviceRunningTimeByMonth( + @RequestParam(value = "startTime",required = false) String startTime, + @RequestParam(value = "endTime",required = false) String endTime + ) { + try { + electricityMeterServiceImpl.statisticsDeviceRunningTimeByMonth(startTime,endTime); + } catch (Exception e) { + log.error("统计设备运行状态-每月一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + + @ApiOperation(value = "统计设备用电数据,每小时一次") + @GetMapping("/statisticsDeviceUsePowerCount") + @Log(title = "统计设备用电数据-每小时一次", businessType = BusinessType.UPDATE) + public AjaxResults statisticsDeviceUsePowerCount( + @RequestParam(value = "startTime",required = false) String startTime, + @RequestParam(value = "endTime",required = false) String endTime + ) { + try { + electricityMeterServiceImpl.statisticsDeviceUsePowerCount(startTime,endTime); + } catch (Exception e) { + log.error("统计设备用电数据-每小时一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + + @ApiOperation(value = "统计设备用电数据,每日统计一次") + @GetMapping("/statisticsDeviceUsePowerCountByDay") + @Log(title = "统计设备用电数据-每日一次", businessType = BusinessType.UPDATE) + public AjaxResults statisticsDeviceUsePowerCountByDay( + @RequestParam(value = "startTime",required = false) String startTime, + @RequestParam(value = "endTime",required = false) String endTime + ) { + try { + electricityMeterServiceImpl.statisticsDeviceUsePowerCountByDay(startTime,endTime); + } catch (Exception e) { + log.error("统计设备用电数据-每日一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EmissionsStatController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EmissionsStatController.java new file mode 100644 index 0000000..4b8552e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EmissionsStatController.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.EmissionsStatService; +import cn.cecep.talroad.vo.EmissionsStatVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@Api(tags = "排放量汇总统计controller") +@RestController +@RequestMapping("/emissionsStat") +public class EmissionsStatController { + + @Autowired + private EmissionsStatService emissionsStatService; + + @ApiOperation(value = "获取监测点排放量统计") + @GetMapping("/point/list") + public AjaxResults> pointList(EmissionsStatVo.PointSearch search) { + IPage page = new Page<>(search.getPageNum(), search.getPageSize()); + List rows = emissionsStatService.getPointList(page, search); + page.setRecords(rows); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出监测点排放量统计") + @Log(title = "导出监测点排放量统计", businessType = BusinessType.EXPORT) + @PostMapping("/point/export") + public void pointExport(HttpServletResponse response, @RequestBody EmissionsStatVo.PointSearch search) { + ExcelUtil util = new ExcelUtil<>(EmissionsStatVo.PointRow.class); + util.exportExcel(response, pointList(search).getData().getRecords(), "导出监测点排放量统计"); + } + + @ApiOperation(value = "获取企业排放量统计") + @GetMapping("/factory/list") + public AjaxResults> factoryList(EmissionsStatVo.FactorySearch search) { + IPage page = new Page<>(search.getPageNum(), search.getPageSize()); + List rows = emissionsStatService.getFactoryList(page, search); + page.setRecords(rows); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出企业排放量统计") + @Log(title = "导出企业排放量统计", businessType = BusinessType.EXPORT) + @PostMapping("/factory/export") + public void factoryExport(HttpServletResponse response, @RequestBody EmissionsStatVo.FactorySearch search) { + ExcelUtil util = new ExcelUtil<>(EmissionsStatVo.FactoryRow.class); + util.exportExcel(response, factoryList(search).getData().getRecords(), "导出企业排放量统计"); + } + + @ApiOperation(value = "获取区域排放量统计") + @GetMapping("/region/list") + public AjaxResults regionList(EmissionsStatVo.RegionSearch search) { + EmissionsStatVo.Region region = emissionsStatService.getRegionStat(search); + return AjaxResults.success(region); + } + + @ApiOperation(value = "导出区域排放量统计") + @Log(title = "导出区域排放量统计", businessType = BusinessType.EXPORT) + @PostMapping("/region/export") + public void regionExport(HttpServletResponse response, @RequestBody EmissionsStatVo.RegionSearch search) { + ExcelUtil util = new ExcelUtil<>(EmissionsStatVo.RegionRow.class); + util.exportExcel(response, regionList(search).getData().getRows(), "导出区域排放量统计"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EnvironmentalCodingController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EnvironmentalCodingController.java new file mode 100644 index 0000000..a1de40a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/EnvironmentalCodingController.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.EnvironmentalCodingService; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @className: ElectricityMeterController + * @description: 唐山市企业环保码赋码体系及规则定时任务 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:21 PM + * @Company: Copyright© [2023/03/30 5:21 PM] by [Mr.Yanghongtao] + **/ +@RestController +@RequestMapping("environmentalCodingController") +@Slf4j +public class EnvironmentalCodingController { + @Autowired + EnvironmentalCodingService electricityMeterServiceImpl; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/2 6:32 PM + * @Deseription: 每日执行一次,计算企业评分 + * @Params: dateTime yyyy-MM-dd + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "每日执行一次,计算企业评分") + @GetMapping("/scanYesterdayDeductionPoints") + @Log(title = "计算企业评分-每日一次", businessType = BusinessType.UPDATE) + public AjaxResults scanYesterdayDeductionPoints(@RequestParam(name = "dateTime",required = false) String dateTime) { + try { + electricityMeterServiceImpl.scanYesterdayDeductionPoints(dateTime); + } catch (Exception e) { + log.error("计算企业评分-每日一次执行失败,异常日志:{}",e); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FacilityInformationManagementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FacilityInformationManagementController.java new file mode 100644 index 0000000..6ca6909 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FacilityInformationManagementController.java @@ -0,0 +1,275 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceInfoOperationLog; +import cn.cecep.talroad.service.FacilityInformationManagementService; +import cn.cecep.talroad.system.api.domain.SysUser; +import cn.cecep.talroad.system.api.model.LoginUser; +import cn.cecep.talroad.vo.FacilityInformationManagementDCSVO; +import cn.cecep.talroad.vo.FacilityInformationManagementVO; +import cn.cecep.talroad.vo.query.FacilityInformationQuery; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @className: FacilityInformationManagement + * @description: 设施信息管理 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 10:32 + * @Company: Copyright© [2023/04/28 10:32] by [Mr.Yanghongtao] + **/ +@RestController +@RequestMapping("facilityInformationManagement") +@Slf4j +@Api(description = "设施信息管理Controller", tags = "设施信息管理Controller") +public class FacilityInformationManagementController { + + @Autowired + private FacilityInformationManagementService facilityInformationManagementServiceImpl; + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 10:32 AM + * @Deseription: 分表计电生产设施匹配列表 + * @Params: deviceName 分表计电生产设施的名称 + * @Params: pollutantName 排污生产设施名称 + * @Params: pollutantCode 排污生产设施编号(bas_device表的id) + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "设施匹配列表") + @PostMapping("/getProductionDeviceList") + public AjaxResults> getProductionDeviceList(@RequestBody FacilityInformationQuery dto) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + Long roleId = loginUser.getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + dto.setFactoryId(loginUser.getSysUser().getFactoryId()); + } + IPage list = facilityInformationManagementServiceImpl.getProductionDeviceList(dto); + return AjaxResults.success(list); + } catch (Exception e) { + log.error("设施匹配列表获取失败!,异常:{}", e); + return AjaxResults.error("分表计电生产设施匹配列表获取失败!"); + } + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 10:32 AM + * @Deseription: 分表计电生产设施匹配列表 + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "设施匹配搜索列表") + @GetMapping("/getProductionDeviceSearchList") + @ApiImplicitParam(name = "queryType", value = "查询类型:1-分表计电生产设施匹配列表查询,2-分表计电治理设施匹配列表查询,3-DCS生产设施匹配列表查询", required = true, paramType = "query", dataType = "Integer") + public AjaxResults> getProductionDeviceSearchList( + @RequestParam(name = "queryType") String queryType, + @RequestParam(value = "factoryId", required = false) String factoryId + ) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + Long roleId = loginUser.getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = loginUser.getSysUser().getFactoryId(); + } + List list = facilityInformationManagementServiceImpl.getProductionDeviceSearchList(factoryId, queryType); + return AjaxResults.success(list); + } catch (Exception e) { + log.error("设施匹配列表获取失败!,异常:{}", e); + return AjaxResults.error("分表计电生产设施匹配列表获取失败!"); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 13:23 + * @Deseription: 保存 + * @Params: dto + * @Params: type 1-分表计电生产设施匹配|2-分表计电治理设施匹配|3-DCS生产设施点位匹配 + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "设施匹配列表保存") + @PostMapping("/modifyDeviceAndPollutantCodeList/{type}") + public AjaxResults modifyDeviceAndPollutantCodeList(@RequestBody List dto, @PathVariable String type) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + SysUser sysUser = loginUser.getSysUser(); + facilityInformationManagementServiceImpl.modifyDeviceAndPollutantCodeList(sysUser, dto, type); + } catch (Exception e) { + log.error("设备信息管理-设施匹配列表保存失败!,异常:{}", e); + return AjaxResults.error("保存失败!"); + } + return AjaxResults.success(); + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 10:32 AM + * @Deseription: 排污许可设施列表 + * @Params: deviceType 排污许可设施类型,0-生产,1-治理 + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "排污许可设施列表") + @ApiImplicitParam(name = "deviceType", value = "排污许可设施类型,0-生产,1-治理", required = true, paramType = "query", dataType = "Integer") + @GetMapping("/getPollutantDeviceList") + public AjaxResults> getPollutantDeviceList(@RequestParam(name = "deviceType") Integer deviceType,@RequestParam(value = "factoryId", required = false) String factoryId) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + Long roleId = loginUser.getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = loginUser.getSysUser().getFactoryId(); + } + List list = facilityInformationManagementServiceImpl.getPollutantDeviceList(factoryId, deviceType); + return AjaxResults.success(list); + } catch (Exception e) { + log.error("排污许可设施列表获取失败!,异常:{}", e); + return AjaxResults.error("排污许可设施列表获取失败!"); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 10:32 AM + * @Deseription: 分表计电生产设施匹配列表 + * @Params: deviceName 分表计电生产设施的名称 + * @Params: pollutantName 排污生产设施名称 + * @Params: pollutantCode 排污生产设施编号(bas_device表的id) + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "操作日志列表") + @PostMapping("/getBasDeviceInfoOperationLogList") + public AjaxResults> getBasDeviceInfoOperationLogList(@RequestBody FacilityInformationQuery dto) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + Long roleId = loginUser.getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + dto.setFactoryId(loginUser.getSysUser().getFactoryId()); + } + + IPage list = facilityInformationManagementServiceImpl.getBasDeviceInfoOperationLogList(dto); + return AjaxResults.success(list); + } catch (Exception e) { + log.error("操作日志列表获取失败!,异常:{}", e); + return AjaxResults.error("操作日志列表获取失败!"); + } + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 10:32 AM + * @Deseription: 分表计电生产设施匹配列表 + * @Params: deviceName 分表计电生产设施的名称 + * @Params: pollutantName 排污生产设施名称 + * @Params: pollutantCode 排污生产设施编号(bas_device表的id) + * @Return: cn.cecep.talroad.common.core.web.domain.AjaxResults + * @Throws: + */ + @ApiOperation(value = "取消对应关系") + @PostMapping("/cancelDeviceAndPollutantCodeList/{type}") + public AjaxResults cancelDeviceAndPollutantCodeList(@RequestBody FacilityInformationQuery dto, @PathVariable String type) { + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + return AjaxResults.error("用户Token失效,请重新登录!"); + } + dto.setFactoryId(loginUser.getSysUser().getFactoryId()); + facilityInformationManagementServiceImpl.cancelDeviceAndPollutantCodeList(loginUser.getSysUser(), dto, type); + return AjaxResults.success(); + } catch (Exception e) { + log.error("取消对应关系失败!,异常:{}", e); + return AjaxResults.error("取消对应关系失败!"); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 16:00 + * @Deseription: 导出 + * @Params: response + * @Params: sRaRealTimeAnalysisConverter + * @Return: void + * @Throws: + */ + @ApiOperation(value = "导出") + @PostMapping("/export/{type}") + public void export(HttpServletResponse response, @RequestBody FacilityInformationQuery dto, @PathVariable String type) throws IOException { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null) { + response.setContentType("text/plain;charset=UTF-8"); + response.setStatus(500); + PrintWriter out = response.getWriter(); + out.println("用户Token失效,请重新登录!"); + return; + } + Long roleId = loginUser.getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + dto.setFactoryId(loginUser.getSysUser().getFactoryId()); + } + dto.setQueryType(type); + dto.setPageNum(1); + dto.setPageSize(Integer.MAX_VALUE); + if ("1".equals(type)) { + IPage list = facilityInformationManagementServiceImpl.getProductionDeviceList(dto); + ExcelUtil util = new ExcelUtil<>(FacilityInformationManagementVO.class); + util.exportExcel(response, list.getRecords(), "分表计电生产设施匹配"); + } else if ("2".equals(type)) { + IPage list = facilityInformationManagementServiceImpl.getProductionDeviceList(dto); + ExcelUtil util = new ExcelUtil<>(FacilityInformationManagementVO.class); + util.exportExcel(response, list.getRecords(), "分表计电治理设施匹配"); + } else { + IPage list = facilityInformationManagementServiceImpl.getProductionDeviceList(dto); + List targetList = list.getRecords().stream().map(x -> { + FacilityInformationManagementDCSVO vo = new FacilityInformationManagementDCSVO(); + vo.setDeviceId(x.getDeviceId()); + vo.setDeviceName(x.getDeviceName()); + vo.setWorkStep(x.getWorkStep()); + vo.setPollutantCode(x.getPollutantCode()); + vo.setPollutantName(x.getPollutantName()); + return vo; + } + ).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil<>(FacilityInformationManagementDCSVO.class); + util.exportExcel(response, targetList, "DCS生产设施点位匹配"); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingManifestController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingManifestController.java new file mode 100644 index 0000000..331b7f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingManifestController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.FactoryReportingManifestQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.FactoryReportingManifest; +import cn.cecep.talroad.vo.FactoryReportingManifestVo; +import cn.cecep.talroad.service.IFactoryReportingManifestService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业信息上报任务清单Controller 控制层 + * + * @author szhpt + * @date 2023-05-09*/ +@Api(tags = "企业信息上报任务清单") +@RestController +@RequestMapping("/manifest") +public class FactoryReportingManifestController extends BasesController +{ + @Autowired + private IFactoryReportingManifestService factoryReportingManifestService; + + /** + * 查询企业信息上报任务清单列表 + */ + @ApiOperation(value = "查询企业信息上报任务清单") + @GetMapping("/list") + public AjaxResults> list(FactoryReportingManifestQuery factoryReportingManifest) + { + Page page = new Page<>(factoryReportingManifest.getPageNum(), factoryReportingManifest.getPageSize()); + IPage list = factoryReportingManifestService.page(page, FactoryReportingManifestQuery.createLambdaQueryWrapper(factoryReportingManifest)); + return AjaxResults.success(list); + } + + + /** + * 导出企业信息上报任务清单列表 + */ + @ApiOperation(value = "导出企业信息上报任务清单") + @Log(title = "企业信息上报任务清单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, FactoryReportingManifest factoryReportingManifest) + { + List list = factoryReportingManifestService.selectFactoryReportingManifestList(factoryReportingManifest); + ExcelUtil util = new ExcelUtil(FactoryReportingManifest.class); + util.exportExcel(response, list, "企业信息上报任务清单数据"); + } + + /** + * 获取企业信息上报任务清单详细信息 + */ + @ApiOperation(value = "获取企业信息上报任务清单详细信息") + @PostMapping(value = "/{factoryName}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(factoryReportingManifestService.getById(id)); + } + /** + * 新增企业信息上报任务清单 + */ + @ApiOperation(value = "新增企业信息上报任务清单") + @Log(title = "企业信息上报任务清单", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody FactoryReportingManifest factoryReportingManifest) { + return toAjax(factoryReportingManifestService.save(factoryReportingManifest)); + } + /** + * 修改企业信息上报任务清单 + */ + @ApiOperation(value = "修改企业信息上报任务清单") + @Log(title = "企业信息上报任务清单", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody FactoryReportingManifestVo factoryReportingManifestVo) { + if(ObjectUtil.isEmpty(factoryReportingManifestVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(factoryReportingManifestVo.getFmId())){ + throw new InvalidParameterException("参数id为空"); + } + FactoryReportingManifest factoryReportingManifest = factoryReportingManifestService.getById(factoryReportingManifestVo.getFmId()); + if(ObjectUtil.isEmpty(factoryReportingManifest)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", factoryReportingManifestVo.getFmId())); + } + //赋值 + BeanUtil.copyProperties(factoryReportingManifestVo,factoryReportingManifest); + return toAjax(factoryReportingManifestService.saveOrUpdate(factoryReportingManifest)); + } + + /** + * 删除企业信息上报任务清单 + */ + @ApiOperation(value = "删除企业信息上报任务清单") + @RequiresPermissions("talroad:manifest:remove") + @Log(title = "企业信息上报任务清单", businessType = BusinessType.DELETE) + @PostMapping("/{factoryNames}") + public AjaxResults remove(@PathVariable String[] factoryNames) { + return toAjax(factoryReportingManifestService.removeByIds(Arrays.asList(factoryNames))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingRemindersController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingRemindersController.java new file mode 100644 index 0000000..a399f13 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingRemindersController.java @@ -0,0 +1,151 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.system.api.domain.SysRole; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.FactoryReportingRemindersQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; +import java.util.Arrays; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.FactoryReportingReminders; +import cn.cecep.talroad.vo.FactoryReportingRemindersVo; +import cn.cecep.talroad.service.IFactoryReportingRemindersService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业信息上报提交提示Controller 控制层 + * + * @author szhpt + * @date 2023-05-09*/ +@Api(tags = "企业信息上报提交提示") +@RestController +@RequestMapping("/reminders") +public class FactoryReportingRemindersController extends BasesController +{ + @Autowired + private IFactoryReportingRemindersService factoryReportingRemindersService; + + /** + * 查询企业信息上报提交提示列表 + */ + @ApiOperation(value = "查询企业信息上报提交提示") + @GetMapping("/list") + public AjaxResults> list(FactoryReportingRemindersQuery query) + { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + + List roleList = SecurityUtils.getLoginUser().getSysUser().getRoles(); + List roleIdList = roleList.stream().map(SysRole::getRoleId).collect(Collectors.toList()); + if(roleIdList.size()>0){ + for(Long roleId:roleIdList){ + if(ObjectUtil.equal(roleId,9L)){ + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + query.setRegionCode(regionCode); + } + } + } + factoryReportingRemindersService.factoryReportingRemindersList(page, query); + return AjaxResults.success(page); + } + @ApiOperation(value = "初始化企业信息上报状态") + @GetMapping("/initReminders") + public void initReminders(FactoryReportingRemindersQuery factoryReportingReminders) + { + factoryReportingRemindersService.factoryReportingReminders(); + } + + + /** + * 导出企业信息上报提交提示列表 + */ + @ApiOperation(value = "导出企业信息上报提交提示") + @Log(title = "企业信息上报提交提示", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, FactoryReportingReminders factoryReportingReminders) + { + List list = factoryReportingRemindersService.selectFactoryReportingRemindersList(factoryReportingReminders); + ExcelUtil util = new ExcelUtil(FactoryReportingReminders.class); + util.exportExcel(response, list, "企业信息上报提交提示数据"); + } + + /** + * 获取企业信息上报提交提示详细信息 + */ + @ApiOperation(value = "获取企业信息上报提交提示详细信息") + @PostMapping(value = "/{factoryId}") + public AjaxResults getInfo(@PathVariable("factoryId") String factoryId) { + return AjaxResults.success(factoryReportingRemindersService.getOne(new QueryWrapper().eq("factory_id",factoryId))); + } + /** + * 新增企业信息上报提交提示 + */ + @ApiOperation(value = "新增企业信息上报提交提示") + @Log(title = "企业信息上报提交提示", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody FactoryReportingReminders factoryReportingReminders) { + return toAjax(factoryReportingRemindersService.save(factoryReportingReminders)); + } + /** + * 修改企业信息上报提交提示 + */ + @ApiOperation(value = "修改企业信息上报提交提示") + @Log(title = "企业信息上报提交提示", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody FactoryReportingRemindersVo factoryReportingRemindersVo) { + if(ObjectUtil.isEmpty(factoryReportingRemindersVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(factoryReportingRemindersVo.getFactoryId())){ + throw new InvalidParameterException("企业id为空"); + } + + FactoryReportingRemindersVo factoryReportingReminders =new FactoryReportingRemindersVo(); + factoryReportingReminders.setFactoryId(factoryReportingRemindersVo.getFactoryId()); + + factoryReportingReminders.setSubmitTime( + DateUtil.parse(LocalDateTime.now().format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + ),"yyyy-MM-dd HH:mm:ss")); +// factoryReportingReminders.setSubmitUser(SecurityUtils.getUsername()); + Integer bol = factoryReportingRemindersService.updateReminder(factoryReportingReminders); + return AjaxResults.success("提交成功",true); + } + + /** + * 删除企业信息上报提交提示 + */ +// @ApiOperation(value = "删除企业信息上报提交提示") +// @RequiresPermissions("talroad:reminders:remove") +// @Log(title = "企业信息上报提交提示", businessType = BusinessType.DELETE) +// @PostMapping("/{feIds}") +// public AjaxResults remove(@PathVariable String[] feIds) { +// return toAjax(factoryReportingRemindersService.removeByIds(Arrays.asList(feIds))); +// } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingTaskController.java new file mode 100644 index 0000000..1bb9500 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/FactoryReportingTaskController.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.FactoryReportingTaskQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.FactoryReportingTask; +import cn.cecep.talroad.vo.FactoryReportingTaskVo; +import cn.cecep.talroad.service.IFactoryReportingTaskService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业信息上报任务Controller 控制层 + * + * @author szhpt + * @date 2023-05-09*/ +@Api(tags = "企业信息上报任务") +@RestController +@RequestMapping("/reportingTask") +public class FactoryReportingTaskController extends BasesController +{ + @Autowired + private IFactoryReportingTaskService factoryReportingTaskService; + + /** + * 查询企业信息上报任务列表 + */ + @ApiOperation(value = "查询企业信息上报任务") + @GetMapping("/list") + public AjaxResults> list(FactoryReportingTaskQuery factoryReportingTask) + { + Page page = new Page<>(factoryReportingTask.getPageNum(), factoryReportingTask.getPageSize()); + IPage list = factoryReportingTaskService.page(page, FactoryReportingTaskQuery.createLambdaQueryWrapper(factoryReportingTask)); + return AjaxResults.success(list); + } + + + /** + * 导出企业信息上报任务列表 + */ + @ApiOperation(value = "导出企业信息上报任务") + @Log(title = "企业信息上报任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, FactoryReportingTask factoryReportingTask) + { + List list = factoryReportingTaskService.selectFactoryReportingTaskList(factoryReportingTask); + ExcelUtil util = new ExcelUtil(FactoryReportingTask.class); + util.exportExcel(response, list, "企业信息上报任务数据"); + } + + /** + * 获取企业信息上报任务详细信息 + */ + @ApiOperation(value = "获取企业信息上报任务详细信息") + @PostMapping(value = "/{frId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(factoryReportingTaskService.getById(id)); + } + /** + * 新增企业信息上报任务 + */ + @ApiOperation(value = "新增企业信息上报任务") + @Log(title = "企业信息上报任务", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody FactoryReportingTask factoryReportingTask) { + return toAjax(factoryReportingTaskService.save(factoryReportingTask)); + } + /** + * 修改企业信息上报任务 + */ + @ApiOperation(value = "修改企业信息上报任务") + @Log(title = "企业信息上报任务", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody FactoryReportingTaskVo factoryReportingTaskVo) { + if(ObjectUtil.isEmpty(factoryReportingTaskVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(factoryReportingTaskVo.getFrId())){ + throw new InvalidParameterException("参数id为空"); + } + FactoryReportingTask factoryReportingTask = factoryReportingTaskService.getById(factoryReportingTaskVo.getFrId()); + if(ObjectUtil.isEmpty(factoryReportingTask)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", factoryReportingTaskVo.getFrId())); + } + //赋值S + BeanUtil.copyProperties(factoryReportingTaskVo,factoryReportingTask); + return toAjax(factoryReportingTaskService.saveOrUpdate(factoryReportingTask)); + } + + /** + * 删除企业信息上报任务 + */ + @ApiOperation(value = "删除企业信息上报任务") + @RequiresPermissions("talroad:task:remove") + @Log(title = "企业信息上报任务", businessType = BusinessType.DELETE) + @PostMapping("/{frIds}") + public AjaxResults remove(@PathVariable String[] frIds) { + return toAjax(factoryReportingTaskService.removeByIds(Arrays.asList(frIds))); + } + @ApiOperation(value = "企业信息上报任务清单") + @GetMapping("informationReporting") + public void informationReporting(){ + factoryReportingTaskService.informationReporting(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/HomePageMapController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/HomePageMapController.java new file mode 100644 index 0000000..b919e31 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/HomePageMapController.java @@ -0,0 +1,177 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "首页-地图信息接口") +@Slf4j +@RestController +@RequestMapping("/homePageMapController") +public class HomePageMapController { + + @Autowired + private HomePageMapService homePageMapService; + + @Autowired + private RedisService redisService; + + @ApiOperation(value = "企业总览") + @GetMapping("/companyOverview") + public AjaxResults companyOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectCompanyOverview(null,regionCode)); + } + + + @ApiOperation(value = "绩效评级总览") + @GetMapping("/meritRatingOverview") + public AjaxResults meritRatingOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + HpmMeriRatingOverviewVo hrov = homePageMapService.selectMeritRatingOverview(null,regionCode); + return AjaxResults.success(hrov); + } + + @ApiOperation(value = "生产环境信用总览") + @GetMapping("/environmentOverview") + public AjaxResults environmentOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectOnvironmentOverview(null,regionCode)); + } + + @ApiOperation(value = "排放跟踪") + @GetMapping("/emissionTrackingOverview") + @ApiImplicitParams({ + @ApiImplicitParam(name = "emissionType", value = "系统: 0;执行报告:1;", dataType = "String"), + }) + public AjaxResults emissionTrackingOverview(String emissionType) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectEmissionTrackingOverview(emissionType,regionCode)); + } + + @ApiOperation(value = "污染物自行监测比例") + @GetMapping("/emissionRatioOverview") + public AjaxResults emissionRatioOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectEmissionRatioOverview(regionCode)); + } + + @ApiOperation(value = "地图-企业点位弹出层") + @GetMapping("/enterpriseMapPop") + @ApiImplicitParam(name = "factoryId", value = "企业id", dataType = "String") + public AjaxResults enterpriseMapPop(@RequestParam(value = "factoryId") String factoryId) { + return AjaxResults.success(homePageMapService.selectEnterpriseMapPop(factoryId)); + } + + @ApiOperation(value = "地图-企业点位弹出层-总排放趋势图") + @GetMapping("/enterpriseMapPopEmissionTrends") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业id", dataType = "String"), + @ApiImplicitParam(name = "dataType", value = "时间类型 Y M D", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults enterpriseMapPopEmissionTrends(@RequestParam(value = "factoryId") String factoryId, + String dataType, String monitoringStartTime, String monitoringEndTime) { + return AjaxResults.success(homePageMapService.enterpriseMapPopEmissionTrends(factoryId, dataType, monitoringStartTime, monitoringEndTime)); + } + + @ApiOperation(value = "地图-企业点位弹出层-产品产量图") + @GetMapping("/enterpriseMapPopYield") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业id", dataType = "String"), + @ApiImplicitParam(name = "dataType", value = "数据时间类型", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults enterpriseMapPopYield(@RequestParam(value = "factoryId") String factoryId, + String dataType, String monitoringStartTime, String monitoringEndTime) { + return AjaxResults.success(homePageMapService.selectEnterpriseMapPopYield(factoryId, dataType, monitoringStartTime, monitoringEndTime)); + } + + @ApiOperation(value = "地图-企业点位弹出层-废气/废水排放趋势图") + @GetMapping("/emissionTrends") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业id", dataType = "String"), + @ApiImplicitParam(name = "selectType", value = "废气 1/废水 2", dataType = "String"), + @ApiImplicitParam(name = "dataType", value = "时间类型 Y M D", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults emissionTrends(@RequestParam(value = "factoryId") String factoryId, + @RequestParam(value = "selectType") String selectType, + String dataType, String monitoringStartTime, String monitoringEndTime) { + return AjaxResults.success(homePageMapService.emissionTrends(factoryId, selectType, dataType, monitoringStartTime, monitoringEndTime)); + } + + + public String[] cachKey = new String[]{"CompanyOverview","IndustryEmissionTrackingOverview","IndustryPollutantDischargeTrends","IndustryProductOutputTrends","Top10CompaniesWithPollutantEmissionsInTheIndustry","CompanyOverview","MeritRatingOverview","EmissionTrackingOverview","EnterpriseMapPop","RankingStat","regionChildList","getRegionCodeListChild"}; + + @ApiOperation(value = "根据Redis组名称清理缓存") + @GetMapping("/cleanRedis") + public AjaxResults cleanRedisByCacheNames() { + Boolean aBoolean = false; + for (String redisKey:cachKey){ + if (redisService.hasKey(redisKey)) { + aBoolean = redisService.deleteObject(redisKey); + } else { + aBoolean = homePageMapService.cleanRedisByCacheNames(redisKey); + } + } + if (aBoolean) { + return AjaxResults.success(aBoolean); + } else { + return AjaxResults.error("没有匹配的值,删除失败!", aBoolean); + } + } + + /** + * + * 数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据 + * 其中dcs已初始化完成 + * 5、6、7 不需要设置参数、1参数已设置完成 + */ + public String[] paramKeys = new String[]{"2","3","4"}; + @ApiOperation(value = "初始化bas_device_param") + @GetMapping("/initializeBasDeviceParamAll") + public AjaxResults initializeBasDeviceParamAll() { + log.info("初始化bas_device_param开始:"+paramKeys); + Boolean aBoolean = homePageMapService.initializeBasDeviceParamAll(paramKeys); + if (aBoolean) { + return AjaxResults.success(aBoolean); + } else { + return AjaxResults.error("没有匹配的值,删除失败!", aBoolean); + } + } + + @ApiOperation(value = "月度排放跟踪") + @GetMapping("/emissionTrackingMon") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业ID", dataType = "String"), + @ApiImplicitParam(name = "monitoringPointId", value = "统计监测点ID", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults> emissionTrackingMon(String factoryId, String monitoringPointId, String monitoringStartTime, String monitoringEndTime) { + List datas= homePageMapService.getEmissionTrackingMon(factoryId, monitoringPointId, monitoringStartTime, monitoringEndTime) ; + return AjaxResults.success(datas); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/KeyEmittingIndustryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/KeyEmittingIndustryController.java new file mode 100644 index 0000000..d2dee3d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/KeyEmittingIndustryController.java @@ -0,0 +1,169 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.KeyEmittingIndustryService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.homepage.HpmEnvironmentOverviewVo; +import cn.cecep.talroad.vo.homepage.HpmMeriRatingOverviewVo; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Api(tags = "固定源分析-重点排放行业分析") +@RestController +@RequestMapping("/KeyEmittingIndustry") +public class KeyEmittingIndustryController { + + @Autowired + private KeyEmittingIndustryService keyEmittingIndustryService; + + @Autowired + private IAmProblemFiService amProblemFiService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @ApiOperation(value = "行业企业总览") + @GetMapping("/industryCompanyOverview") + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String") + public AjaxResults industryCompanyOverview(String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectIndustryCompanyOverview(industry,regionCode)); + } + + + @ApiOperation(value = "绩效评级总览") + @GetMapping("/meritRatingOverview") + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String") + public AjaxResults meritRatingOverview(String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + HpmMeriRatingOverviewVo hrov = keyEmittingIndustryService.selectMeritRatingOverview(industry,regionCode); + return AjaxResults.success(hrov); + } + + @ApiOperation(value = "生产环境信用总览") + @GetMapping("/environmentOverview") + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String") + public AjaxResults environmentOverview(String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectOnvironmentOverview(industry,regionCode)); + } + + @ApiOperation(value = "行业污染物排放跟踪 (实际排放/许可排放)及行业排名") + @GetMapping("/emissionTrackingOverview") + @ApiImplicitParams({ + @ApiImplicitParam(name = "emissionType", value = "系统: 0;执行报告:1;", dataType = "String"), + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults> industryEmissionTrackingOverview(String emissionType, String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectIndustryEmissionTrackingOverviewVo(emissionType, industry,regionCode)); + } + + @ApiOperation(value = "行业危废产生及处置利用") + @GetMapping("/industrialHazardousWaste") + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String") + public AjaxResults> productionAndDisposalOfIndustrialHazardousWaste(String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectProductionAndDisposalOfIndustrialHazardousWaste(industry,regionCode)); + } + + @ApiOperation(value = "行业污染物排放趋势") + @GetMapping("/industryPollutantDischargeTrends") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantCategory", value = "污染物种类 0 废气 1 废水 2固废", dataType = "String"), + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults industryPollutantDischargeTrends(String pollutantCategory, String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectIndustryPollutantDischargeTrends(pollutantCategory, industry,regionCode)); + } + + @ApiOperation(value = "行业产品产量趋势") + @GetMapping("/industryProductOutputTrends") + @ApiImplicitParams({ + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults industryProductOutputTrends(String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectIndustryProductOutputTrends(industry,regionCode)); + } + + @ApiOperation(value = "行业污染物排放TOP10企业") + @GetMapping("/top10CompaniesWithPollutantEmissionsInTheIndustry") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型", dataType = "String", required = true), + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults> top10CompaniesWithPollutantEmissionsInTheIndustry(@RequestParam String pollutantType, @RequestParam String industry) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(keyEmittingIndustryService.selectTop10CompaniesWithPollutantEmissionsInTheIndustry(pollutantType, industry,regionCode)); + } + + @ApiOperation(value = "执法情况统计") + @GetMapping("/selectLawEnforcementStatistics") + @ApiImplicitParams({ + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults lawEnforcementStatistics(String industry) { + return AjaxResults.success(keyEmittingIndustryService.selectLawEnforcementStatistics(industry)); + } + + @ApiOperation(value = "行业污染物治理工艺") + @GetMapping("/industryPollutantTreatmentProcess") + @ApiImplicitParams({ + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults industryPollutantTreatmentProcess(String industry) { + return AjaxResults.success(keyEmittingIndustryService.selectIndustryPollutantTreatmentProcess(industry)); + } + + @ApiOperation(value = "行业问题统计") + @GetMapping("/industryIssuesStatistics") + @ApiImplicitParams({ + @ApiImplicitParam(name = "industry", value = "行业", dataType = "String"), + }) + public AjaxResults> industryIssuesStatistics(String industry) { + AmProblemFiQuery.ChartDataParam param = new AmProblemFiQuery.ChartDataParam(); + param.setIndustry(industry); + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(amProblemFiService.getChartData(param,regionCode)); + } + + @ApiOperation(value = "执法情况饼图统计") + @GetMapping("/selectLawEnforcementPieStatistics") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业id", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults> selectLawEnforcementPieStatistics(@RequestParam(value = "factoryId",required = false) String factoryId, + @RequestParam(value = "startTime",required = false) String startTime, + @RequestParam(value = "endTime",required = false) String endTime) { + Map params = new HashMap<>(); + params.put("startTime", startTime); + params.put("endTime", endTime); + params.put("factoryId", factoryId); + return AjaxResults.success(keyEmittingIndustryService.selectLawEnforcementPieStatistics(params)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/LeaderCockpitController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/LeaderCockpitController.java new file mode 100644 index 0000000..b9d43b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/LeaderCockpitController.java @@ -0,0 +1,123 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.leader.vo.*; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.impl.LeaderCockpitService; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 领导驾驶舱控制层 + */ +@RestController +@RequestMapping("/leaderCockpit") +@Api( tags = "大屏--领导驾驶舱控制层") +public class LeaderCockpitController { + + @Autowired + private LeaderCockpitService leaderCockpitService; + + @Autowired + private RedisService redisService; + + @Autowired + private IPcFactoryService pcFactoryService; + + /** + * 站点类型列表 + * @return + */ + @GetMapping("/stationTypeList") + @ApiOperation(value = "站点类型列表") + public AjaxResults> stationTypeList(){ + return leaderCockpitService.stationTypeList(); + } + + @GetMapping("/MapUpCount") + @ApiOperation(value = "地图上方数量查看") + public AjaxResults MapUpCount(){ + return leaderCockpitService.MapUpCount(); + } + + @GetMapping("/getFusionCount") + @ApiOperation(value = "融合数据获取接口") + public AjaxResults getFusionCountData(){ + return leaderCockpitService.getFusionCountData(); + } + + @GetMapping("/getProblemDataCount") + @ApiOperation(value = "关联分析数据接口") + public AjaxResults getProblemDataCount(@RequestParam(value = "problemId",required = false) String problemId){ + return leaderCockpitService.getProblemDataCount(problemId); + } + + @GetMapping("/getThreeMonitorData") + @ApiOperation(value = "三监联动数据接口") + public AjaxResults getThreeMonitorData(){ + return leaderCockpitService.getThreeMonitorData(); + } + + + @GetMapping("/getMonitorEnforcementData") + @ApiOperation(value = "监督执法数据接口") + public AjaxResults getMonitorEnforcementData(@RequestParam("selectType")Integer selectType){ + return leaderCockpitService.getMonitorEnforcementData(selectType); + } + + + @GetMapping("/getAirData") + @ApiOperation(value = "污染防治数据接口") + public AjaxResults getAirData(){ + return leaderCockpitService.getAirData(); + } + + + @ApiOperation(value = "首页返回地图点位数据") + @PostMapping("/getFactoryPoint") + public AjaxResults> getFactoryPoint(@RequestBody PcFactoryQuery.SearchVo searchVo) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + //判断 只有查询全部企业信息时,存在,直接返回 + if (searchVo.getLabelMap().size() == 0 && StringUtils.isEmpty(searchVo.getFactoryName())) { + if (redisService.hasKey("MapPcFactoryALlInfo"+regionCode)) { + Page page = redisService.getCacheObject("MapPcFactoryALlInfo"+regionCode); + return AjaxResults.success(page); + } + } + Page page = new Page<>(searchVo.getPageNum(), searchVo.getPageSize()); + + List search = pcFactoryService.search(null, searchVo, "home",regionCode); + + List collect = search.stream().map(o -> { + PcFactoryVo.MapPointVo vo = new PcFactoryVo.MapPointVo(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + page.setRecords(collect); + page.setTotal(collect.size()); + + //判断 只有查询全部企业信息时,才进行缓存 + if (searchVo.getLabelMap().size() == 0 && StringUtils.isEmpty(searchVo.getFactoryName())) { + //判断 key不存在时,进行缓存 + if (!redisService.hasKey("MapPcFactoryALlInfo"+regionCode)) { + redisService.setCacheObject("MapPcFactoryALlInfo"+regionCode, page); + } + } + return AjaxResults.success(page); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MAmVideoDevFiController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MAmVideoDevFiController.java new file mode 100644 index 0000000..d118101 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MAmVideoDevFiController.java @@ -0,0 +1,199 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BMainMonitorPointOperationLog; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.service.IMAmVideoCoordinateOperationLogService; +import cn.cecep.talroad.service.IMAmVideoDevFiService; +import cn.cecep.talroad.vo.BasDeviceExcelVo; +import cn.cecep.talroad.vo.MAmVideoCoordinateOperationLogQuery; +import cn.cecep.talroad.vo.MAmVideoDevFiExcelVo; +import cn.cecep.talroad.vo.MAmVideoDevFiVo; +import cn.cecep.talroad.vo.query.MAmVideoDevFiQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; +import java.util.stream.IntStream; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 基础信息 与 产治排跟踪--视频设施清单Controller 控制层 + * + * @author szhpt + * @date 2023-02-10 + */ +@Api(tags = "基础信息 与 产治排跟踪--视频设施清单") +@RestController +@RequestMapping("/mamVideoDevFi") +public class MAmVideoDevFiController extends BasesController { + @Autowired + private IMAmVideoDevFiService mAmVideoDevFiService; + @Autowired + private IMAmVideoCoordinateOperationLogService imAmVideoCoordinateOperationLogService; + + /** + * 查询基础信息 与 产治排跟踪--视频设施清单列表 + */ + @ApiOperation(value = "查询基础信息 与 产治排跟踪--视频设施清单") + @GetMapping("/list") + public AjaxResults> list(MAmVideoDevFiQuery mAmVideoDevFi) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + mAmVideoDevFi.setFactoryId(factoryId); + //mAmVideoDevFi.setStatus("1"); + } + Page page = new Page<>(mAmVideoDevFi.getPageNum(), mAmVideoDevFi.getPageSize()); + IPage list = mAmVideoDevFiService.page(page, MAmVideoDevFiQuery.createLambdaQueryWrapper(mAmVideoDevFi)); + return AjaxResults.success(list); + } + + /** + * 查询基础信息 与 产治排跟踪--视频设施清单列表 + */ + @ApiOperation(value = "视频设施下拉框") + @GetMapping("/mAmVideoDevFiSelect") + public AjaxResults> mAmVideoDevFiSelect(MAmVideoDevFiQuery mAmVideoDevFi) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + mAmVideoDevFi.setFactoryId(factoryId); + mAmVideoDevFi.setStatus("1"); + } + List list = mAmVideoDevFiService.list(MAmVideoDevFiQuery.createLambdaQueryWrapper(mAmVideoDevFi)); + return AjaxResults.success(list); + } + + + /** + * 导出基础信息 与 产治排跟踪--视频设施清单列表 + */ + @ApiOperation(value = "导出基础信息 与 产治排跟踪--视频设施清单") + @Log(title = "基础信息 与 产治排跟踪--视频设施清单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody MAmVideoDevFi mAmVideoDevFi) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + mAmVideoDevFi.setFactoryId(factoryId); + mAmVideoDevFi.setStatus("1"); + } + List list = mAmVideoDevFiService.selectMAmVideoDevFiList(mAmVideoDevFi); + + List mAmVideoDevFiExcelVoArrayList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + MAmVideoDevFiExcelVo mAmVideoDevFiExcelVo = new MAmVideoDevFiExcelVo(); + BeanUtil.copyProperties(e, mAmVideoDevFiExcelVo); + mAmVideoDevFiExcelVo.setSerialnumber(iterator.next()); + mAmVideoDevFiExcelVoArrayList.add(mAmVideoDevFiExcelVo); + }); + ExcelUtil util = new ExcelUtil(MAmVideoDevFiExcelVo.class); + util.exportExcel(response, mAmVideoDevFiExcelVoArrayList, "视频坐标"); + } + + /** + * 获取基础信息 与 产治排跟踪--视频设施清单详细信息 + */ + @ApiOperation(value = "获取基础信息 与 产治排跟踪--视频设施清单详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(mAmVideoDevFiService.getById(id)); + } + + /** + * 新增基础信息 与 产治排跟踪--视频设施清单 + */ + @ApiOperation(value = "新增基础信息 与 产治排跟踪--视频设施清单") + @Log(title = "基础信息 与 产治排跟踪--视频设施清单", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MAmVideoDevFi mAmVideoDevFi) { + return toAjax(mAmVideoDevFiService.save(mAmVideoDevFi)); + } + + /** + * 修改基础信息 与 产治排跟踪--视频设施清单 + */ + @ApiOperation(value = "批量修改基础信息 与 产治排跟踪--视频设施清单") + @Log(title = "基础信息 与 产治排跟踪--视频设施清单", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatch") + public AjaxResults editBatch(@RequestBody MAmVideoDevFiVo[] mAmVideoDevFiVoArr) { + if (mAmVideoDevFiVoArr ==null || mAmVideoDevFiVoArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + + mAmVideoDevFiService.editBatch(mAmVideoDevFiVoArr); + return toAjax(true); + } + + /** + * 修改基础信息 与 产治排跟踪--视频设施清单 + */ + @ApiOperation(value = "修改单个基础信息 与 产治排跟踪--视频设施清单") + @Log(title = "基础信息 与 产治排跟踪--视频设施清单", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MAmVideoDevFiVo mAmVideoDevFiVo) { + if (ObjectUtil.isEmpty(mAmVideoDevFiVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(mAmVideoDevFiVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + MAmVideoDevFi mAmVideoDevFi = mAmVideoDevFiService.getById(mAmVideoDevFiVo.getId()); + if (ObjectUtil.isEmpty(mAmVideoDevFi)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", mAmVideoDevFiVo.getId())); + } + //赋值 + BeanUtil.copyProperties(mAmVideoDevFiVo, mAmVideoDevFi); + return toAjax(mAmVideoDevFiService.saveOrUpdate(mAmVideoDevFi)); + } + + /** + * + * 删除基础信息 与 产治排跟踪--视频设施清单 + */ + @ApiOperation(value = "删除基础信息 与 产治排跟踪--视频设施清单") +// @RequiresPermissions("talroad:mamVideoDevFi:remove") + @Log(title = "基础信息 与 产治排跟踪--视频设施清单", businessType = BusinessType.DELETE) + @PostMapping("/remove/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(mAmVideoDevFiService.removeByIds(Arrays.asList(ids))); + } + + /** + * 操作日志 + */ + @ApiOperation(value = "操作日志") + @GetMapping("/editLogList") + public AjaxResults> editLogList(MAmVideoCoordinateOperationLogQuery mAmVideoCoordinateOperationLogQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + mAmVideoCoordinateOperationLogQuery.setFactoryId(factoryId); + } + Page page = new Page<>(mAmVideoCoordinateOperationLogQuery.getPageNum(), mAmVideoCoordinateOperationLogQuery.getPageSize()); + IPage list = imAmVideoCoordinateOperationLogService.page(page, mAmVideoCoordinateOperationLogQuery.createLambdaQueryWrapper(mAmVideoCoordinateOperationLogQuery)); + return AjaxResults.success(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlHourController.java new file mode 100644 index 0000000..9818702 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevBlHour; +import cn.cecep.talroad.service.IMonDevBlHourService; +import cn.cecep.talroad.vo.MonDevBlHourVo; +import cn.cecep.talroad.vo.query.MonDevBlHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-玻璃-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-玻璃-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevBlHour") +public class MonDevBlHourController extends BasesController +{ + @Autowired + private IMonDevBlHourService monDevBlHourService; + + /** + * 查询设备数据-玻璃-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-玻璃-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevBlHourQuery monDevBlHour) + { + Page page = new Page<>(monDevBlHour.getPageNum(), monDevBlHour.getPageSize()); + IPage list = monDevBlHourService.page(page, MonDevBlHourQuery.createLambdaQueryWrapper(monDevBlHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-玻璃-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-玻璃-小时 保存设备的小时数据") + @Log(title = "设备数据-玻璃-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevBlHour monDevBlHour) + { + List list = monDevBlHourService.selectMonDevBlHourList(monDevBlHour); + ExcelUtil util = new ExcelUtil(MonDevBlHour.class); + util.exportExcel(response, list, "设备数据-玻璃-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-玻璃-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-玻璃-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevBlHourService.getById(id)); + } + /** + * 新增设备数据-玻璃-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-玻璃-小时 保存设备的小时数据") + @Log(title = "设备数据-玻璃-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevBlHour monDevBlHour) { + return toAjax(monDevBlHourService.save(monDevBlHour)); + } + /** + * 修改设备数据-玻璃-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-玻璃-小时 保存设备的小时数据") + @Log(title = "设备数据-玻璃-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevBlHourVo monDevBlHourVo) { + if(ObjectUtil.isEmpty(monDevBlHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevBlHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevBlHour monDevBlHour = monDevBlHourService.getById(monDevBlHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevBlHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevBlHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevBlHourVo,monDevBlHour); + return toAjax(monDevBlHourService.saveOrUpdate(monDevBlHour)); + } + + /** + * 删除设备数据-玻璃-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-玻璃-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-玻璃-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevBlHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlOtherController.java new file mode 100644 index 0000000..5231912 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevBlOther; +import cn.cecep.talroad.service.IMonDevBlOtherService; +import cn.cecep.talroad.vo.MonDevBlOtherVo; +import cn.cecep.talroad.vo.query.MonDevBlOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-玻璃-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevBlOther") +public class MonDevBlOtherController extends BasesController +{ + @Autowired + private IMonDevBlOtherService monDevBlOtherService; + + /** + * 查询设备数据-玻璃-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-玻璃-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevBlOtherQuery monDevBlOther) + { + Page page = new Page<>(monDevBlOther.getPageNum(), monDevBlOther.getPageSize()); + IPage list = monDevBlOtherService.page(page, MonDevBlOtherQuery.createLambdaQueryWrapper(monDevBlOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-玻璃-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-玻璃-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-玻璃-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevBlOther monDevBlOther) + { + List list = monDevBlOtherService.selectMonDevBlOtherList(monDevBlOther); + ExcelUtil util = new ExcelUtil(MonDevBlOther.class); + util.exportExcel(response, list, "设备数据-玻璃-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-玻璃-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-玻璃-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevBlOtherService.getById(id)); + } + /** + * 新增设备数据-玻璃-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-玻璃-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-玻璃-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevBlOther monDevBlOther) { + return toAjax(monDevBlOtherService.save(monDevBlOther)); + } + /** + * 修改设备数据-玻璃-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-玻璃-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-玻璃-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevBlOtherVo monDevBlOtherVo) { + if(ObjectUtil.isEmpty(monDevBlOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevBlOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevBlOther monDevBlOther = monDevBlOtherService.getById(monDevBlOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevBlOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevBlOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevBlOtherVo,monDevBlOther); + return toAjax(monDevBlOtherService.saveOrUpdate(monDevBlOther)); + } + + /** + * 删除设备数据-玻璃-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-玻璃-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-玻璃-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevBlOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlRealController.java new file mode 100644 index 0000000..c35147d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevBlRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.service.IMonDevBlRealService; +import cn.cecep.talroad.vo.MonDevBlRealVo; +import cn.cecep.talroad.vo.query.MonDevBlRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-玻璃-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-玻璃-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevBlReal") +public class MonDevBlRealController extends BasesController +{ + @Autowired + private IMonDevBlRealService monDevBlRealService; + + /** + * 查询设备数据-玻璃-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-玻璃-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevBlRealQuery monDevBlReal) + { + Page page = new Page<>(monDevBlReal.getPageNum(), monDevBlReal.getPageSize()); + IPage list = monDevBlRealService.page(page, MonDevBlRealQuery.createLambdaQueryWrapper(monDevBlReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-玻璃-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-玻璃-实时 保存设备的实时数据") + @Log(title = "设备数据-玻璃-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevBlReal monDevBlReal) + { + List list = monDevBlRealService.selectMonDevBlRealList(monDevBlReal); + ExcelUtil util = new ExcelUtil(MonDevBlReal.class); + util.exportExcel(response, list, "设备数据-玻璃-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-玻璃-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-玻璃-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevBlRealService.getById(id)); + } + /** + * 新增设备数据-玻璃-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-玻璃-实时 保存设备的实时数据") + @Log(title = "设备数据-玻璃-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevBlReal monDevBlReal) { + return toAjax(monDevBlRealService.save(monDevBlReal)); + } + /** + * 修改设备数据-玻璃-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-玻璃-实时 保存设备的实时数据") + @Log(title = "设备数据-玻璃-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevBlRealVo monDevBlRealVo) { + if(ObjectUtil.isEmpty(monDevBlRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevBlRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevBlReal monDevBlReal = monDevBlRealService.getById(monDevBlRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevBlReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevBlRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevBlRealVo,monDevBlReal); + return toAjax(monDevBlRealService.saveOrUpdate(monDevBlReal)); + } + + /** + * 删除设备数据-玻璃-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-玻璃-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-玻璃-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevBlRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlHourController.java new file mode 100644 index 0000000..32a8888 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevDlHour; +import cn.cecep.talroad.service.IMonDevDlHourService; +import cn.cecep.talroad.vo.MonDevDlHourVo; +import cn.cecep.talroad.vo.query.MonDevDlHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-电力-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-电力-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevDlHour") +public class MonDevDlHourController extends BasesController +{ + @Autowired + private IMonDevDlHourService monDevDlHourService; + + /** + * 查询设备数据-电力-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-电力-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevDlHourQuery monDevDlHour) + { + Page page = new Page<>(monDevDlHour.getPageNum(), monDevDlHour.getPageSize()); + IPage list = monDevDlHourService.page(page, MonDevDlHourQuery.createLambdaQueryWrapper(monDevDlHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-电力-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-电力-小时 保存设备的小时数据") + @Log(title = "设备数据-电力-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevDlHour monDevDlHour) + { + List list = monDevDlHourService.selectMonDevDlHourList(monDevDlHour); + ExcelUtil util = new ExcelUtil(MonDevDlHour.class); + util.exportExcel(response, list, "设备数据-电力-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-电力-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-电力-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevDlHourService.getById(id)); + } + /** + * 新增设备数据-电力-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-电力-小时 保存设备的小时数据") + @Log(title = "设备数据-电力-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevDlHour monDevDlHour) { + return toAjax(monDevDlHourService.save(monDevDlHour)); + } + /** + * 修改设备数据-电力-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-电力-小时 保存设备的小时数据") + @Log(title = "设备数据-电力-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevDlHourVo monDevDlHourVo) { + if(ObjectUtil.isEmpty(monDevDlHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevDlHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevDlHour monDevDlHour = monDevDlHourService.getById(monDevDlHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevDlHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevDlHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevDlHourVo,monDevDlHour); + return toAjax(monDevDlHourService.saveOrUpdate(monDevDlHour)); + } + + /** + * 删除设备数据-电力-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-电力-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-电力-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevDlHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlOtherController.java new file mode 100644 index 0000000..a9da0ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevDlOther; +import cn.cecep.talroad.service.IMonDevDlOtherService; +import cn.cecep.talroad.vo.MonDevDlOtherVo; +import cn.cecep.talroad.vo.query.MonDevDlOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-电力-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-电力-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevDlOther") +public class MonDevDlOtherController extends BasesController +{ + @Autowired + private IMonDevDlOtherService monDevDlOtherService; + + /** + * 查询设备数据-电力-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-电力-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevDlOtherQuery monDevDlOther) + { + Page page = new Page<>(monDevDlOther.getPageNum(), monDevDlOther.getPageSize()); + IPage list = monDevDlOtherService.page(page, MonDevDlOtherQuery.createLambdaQueryWrapper(monDevDlOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-电力-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-电力-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-电力-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevDlOther monDevDlOther) + { + List list = monDevDlOtherService.selectMonDevDlOtherList(monDevDlOther); + ExcelUtil util = new ExcelUtil(MonDevDlOther.class); + util.exportExcel(response, list, "设备数据-电力-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-电力-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-电力-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevDlOtherService.getById(id)); + } + /** + * 新增设备数据-电力-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-电力-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-电力-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevDlOther monDevDlOther) { + return toAjax(monDevDlOtherService.save(monDevDlOther)); + } + /** + * 修改设备数据-电力-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-电力-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-电力-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevDlOtherVo monDevDlOtherVo) { + if(ObjectUtil.isEmpty(monDevDlOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevDlOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevDlOther monDevDlOther = monDevDlOtherService.getById(monDevDlOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevDlOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevDlOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevDlOtherVo,monDevDlOther); + return toAjax(monDevDlOtherService.saveOrUpdate(monDevDlOther)); + } + + /** + * 删除设备数据-电力-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-电力-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-电力-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevDlOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlRealController.java new file mode 100644 index 0000000..c484eb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevDlRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.service.IMonDevDlRealService; +import cn.cecep.talroad.vo.MonDevDlRealVo; +import cn.cecep.talroad.vo.query.MonDevDlRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-电力-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-电力-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevDlReal") +public class MonDevDlRealController extends BasesController +{ + @Autowired + private IMonDevDlRealService monDevDlRealService; + + /** + * 查询设备数据-电力-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-电力-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevDlRealQuery monDevDlReal) + { + Page page = new Page<>(monDevDlReal.getPageNum(), monDevDlReal.getPageSize()); + IPage list = monDevDlRealService.page(page, MonDevDlRealQuery.createLambdaQueryWrapper(monDevDlReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-电力-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-电力-实时 保存设备的实时数据") + @Log(title = "设备数据-电力-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevDlReal monDevDlReal) + { + List list = monDevDlRealService.selectMonDevDlRealList(monDevDlReal); + ExcelUtil util = new ExcelUtil(MonDevDlReal.class); + util.exportExcel(response, list, "设备数据-电力-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-电力-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-电力-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevDlRealService.getById(id)); + } + /** + * 新增设备数据-电力-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-电力-实时 保存设备的实时数据") + @Log(title = "设备数据-电力-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevDlReal monDevDlReal) { + return toAjax(monDevDlRealService.save(monDevDlReal)); + } + /** + * 修改设备数据-电力-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-电力-实时 保存设备的实时数据") + @Log(title = "设备数据-电力-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevDlRealVo monDevDlRealVo) { + if(ObjectUtil.isEmpty(monDevDlRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevDlRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevDlReal monDevDlReal = monDevDlRealService.getById(monDevDlRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevDlReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevDlRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevDlRealVo,monDevDlReal); + return toAjax(monDevDlRealService.saveOrUpdate(monDevDlReal)); + } + + /** + * 删除设备数据-电力-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-电力-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-电力-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevDlRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsHourController.java new file mode 100644 index 0000000..323c2bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.cecep.talroad.service.IMonDevFsHourService; +import cn.cecep.talroad.vo.MonDevFsHourVo; +import cn.cecep.talroad.vo.query.MonDevFsHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-垃圾焚烧-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-垃圾焚烧-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevFsHour") +public class MonDevFsHourController extends BasesController +{ + @Autowired + private IMonDevFsHourService monDevFsHourService; + + /** + * 查询设备数据-垃圾焚烧-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-垃圾焚烧-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevFsHourQuery monDevFsHour) + { + Page page = new Page<>(monDevFsHour.getPageNum(), monDevFsHour.getPageSize()); + IPage list = monDevFsHourService.page(page, MonDevFsHourQuery.createLambdaQueryWrapper(monDevFsHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-垃圾焚烧-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-垃圾焚烧-小时 保存设备的小时数据") + @Log(title = "设备数据-垃圾焚烧-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevFsHour monDevFsHour) + { + List list = monDevFsHourService.selectMonDevFsHourList(monDevFsHour); + ExcelUtil util = new ExcelUtil(MonDevFsHour.class); + util.exportExcel(response, list, "设备数据-垃圾焚烧-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-垃圾焚烧-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-垃圾焚烧-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevFsHourService.getById(id)); + } + /** + * 新增设备数据-垃圾焚烧-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-垃圾焚烧-小时 保存设备的小时数据") + @Log(title = "设备数据-垃圾焚烧-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevFsHour monDevFsHour) { + return toAjax(monDevFsHourService.save(monDevFsHour)); + } + /** + * 修改设备数据-垃圾焚烧-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-垃圾焚烧-小时 保存设备的小时数据") + @Log(title = "设备数据-垃圾焚烧-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevFsHourVo monDevFsHourVo) { + if(ObjectUtil.isEmpty(monDevFsHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevFsHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevFsHour monDevFsHour = monDevFsHourService.getById(monDevFsHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevFsHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevFsHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevFsHourVo,monDevFsHour); + return toAjax(monDevFsHourService.saveOrUpdate(monDevFsHour)); + } + + /** + * 删除设备数据-垃圾焚烧-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-垃圾焚烧-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-垃圾焚烧-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevFsHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsOtherController.java new file mode 100644 index 0000000..baae959 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevFsOther; +import cn.cecep.talroad.service.IMonDevFsOtherService; +import cn.cecep.talroad.vo.MonDevFsOtherVo; +import cn.cecep.talroad.vo.query.MonDevFsOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevFsOther") +public class MonDevFsOtherController extends BasesController +{ + @Autowired + private IMonDevFsOtherService monDevFsOtherService; + + /** + * 查询设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevFsOtherQuery monDevFsOther) + { + Page page = new Page<>(monDevFsOther.getPageNum(), monDevFsOther.getPageSize()); + IPage list = monDevFsOtherService.page(page, MonDevFsOtherQuery.createLambdaQueryWrapper(monDevFsOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevFsOther monDevFsOther) + { + List list = monDevFsOtherService.selectMonDevFsOtherList(monDevFsOther); + ExcelUtil util = new ExcelUtil(MonDevFsOther.class); + util.exportExcel(response, list, "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevFsOtherService.getById(id)); + } + /** + * 新增设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevFsOther monDevFsOther) { + return toAjax(monDevFsOtherService.save(monDevFsOther)); + } + /** + * 修改设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevFsOtherVo monDevFsOtherVo) { + if(ObjectUtil.isEmpty(monDevFsOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevFsOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevFsOther monDevFsOther = monDevFsOtherService.getById(monDevFsOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevFsOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevFsOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevFsOtherVo,monDevFsOther); + return toAjax(monDevFsOtherService.saveOrUpdate(monDevFsOther)); + } + + /** + * 删除设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevFsOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsRealController.java new file mode 100644 index 0000000..adeecb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevFsRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.service.IMonDevFsRealService; +import cn.cecep.talroad.vo.MonDevFsRealVo; +import cn.cecep.talroad.vo.query.MonDevFsRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-垃圾焚烧-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-垃圾焚烧-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevFsReal") +public class MonDevFsRealController extends BasesController +{ + @Autowired + private IMonDevFsRealService monDevFsRealService; + + /** + * 查询设备数据-垃圾焚烧-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-垃圾焚烧-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevFsRealQuery monDevFsReal) + { + Page page = new Page<>(monDevFsReal.getPageNum(), monDevFsReal.getPageSize()); + IPage list = monDevFsRealService.page(page, MonDevFsRealQuery.createLambdaQueryWrapper(monDevFsReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-垃圾焚烧-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-垃圾焚烧-实时 保存设备的实时数据") + @Log(title = "设备数据-垃圾焚烧-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevFsReal monDevFsReal) + { + List list = monDevFsRealService.selectMonDevFsRealList(monDevFsReal); + ExcelUtil util = new ExcelUtil(MonDevFsReal.class); + util.exportExcel(response, list, "设备数据-垃圾焚烧-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-垃圾焚烧-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-垃圾焚烧-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevFsRealService.getById(id)); + } + /** + * 新增设备数据-垃圾焚烧-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-垃圾焚烧-实时 保存设备的实时数据") + @Log(title = "设备数据-垃圾焚烧-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevFsReal monDevFsReal) { + return toAjax(monDevFsRealService.save(monDevFsReal)); + } + /** + * 修改设备数据-垃圾焚烧-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-垃圾焚烧-实时 保存设备的实时数据") + @Log(title = "设备数据-垃圾焚烧-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevFsRealVo monDevFsRealVo) { + if(ObjectUtil.isEmpty(monDevFsRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevFsRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevFsReal monDevFsReal = monDevFsRealService.getById(monDevFsRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevFsReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevFsRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevFsRealVo,monDevFsReal); + return toAjax(monDevFsRealService.saveOrUpdate(monDevFsReal)); + } + + /** + * 删除设备数据-垃圾焚烧-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-垃圾焚烧-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-垃圾焚烧-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevFsRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevHourController.java new file mode 100644 index 0000000..68ef255 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevHour; +import cn.cecep.talroad.service.IMonDevHourService; +import cn.cecep.talroad.vo.MonDevHourVo; +import cn.cecep.talroad.vo.query.MonDevHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevHour") +public class MonDevHourController extends BasesController +{ + @Autowired + private IMonDevHourService monDevHourService; + + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevHourQuery monDevHour) + { + Page page = new Page<>(monDevHour.getPageNum(), monDevHour.getPageSize()); + IPage list = monDevHourService.page(page, MonDevHourQuery.createLambdaQueryWrapper(monDevHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevHour monDevHour) + { + List list = monDevHourService.selectMonDevHourList(monDevHour); + ExcelUtil util = new ExcelUtil(MonDevHour.class); + util.exportExcel(response, list, "设备数据(有组织)-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据(有组织)-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据(有组织)-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevHourService.getById(id)); + } + /** + * 新增设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevHour monDevHour) { + return toAjax(monDevHourService.save(monDevHour)); + } + /** + * 修改设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevHourVo monDevHourVo) { + if(ObjectUtil.isEmpty(monDevHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevHour monDevHour = monDevHourService.getById(monDevHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevHourVo,monDevHour); + return toAjax(monDevHourService.saveOrUpdate(monDevHour)); + } + + /** + * 删除设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhHourController.java new file mode 100644 index 0000000..ea8d35e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevJhHour; +import cn.cecep.talroad.service.IMonDevJhHourService; +import cn.cecep.talroad.vo.MonDevJhHourVo; +import cn.cecep.talroad.vo.query.MonDevJhHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-焦化-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-焦化-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevJhHour") +public class MonDevJhHourController extends BasesController +{ + @Autowired + private IMonDevJhHourService monDevJhHourService; + + /** + * 查询设备数据-焦化-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-焦化-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevJhHourQuery monDevJhHour) + { + Page page = new Page<>(monDevJhHour.getPageNum(), monDevJhHour.getPageSize()); + IPage list = monDevJhHourService.page(page, MonDevJhHourQuery.createLambdaQueryWrapper(monDevJhHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-焦化-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-焦化-小时 保存设备的小时数据") + @Log(title = "设备数据-焦化-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevJhHour monDevJhHour) + { + List list = monDevJhHourService.selectMonDevJhHourList(monDevJhHour); + ExcelUtil util = new ExcelUtil(MonDevJhHour.class); + util.exportExcel(response, list, "设备数据-焦化-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-焦化-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-焦化-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevJhHourService.getById(id)); + } + /** + * 新增设备数据-焦化-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-焦化-小时 保存设备的小时数据") + @Log(title = "设备数据-焦化-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevJhHour monDevJhHour) { + return toAjax(monDevJhHourService.save(monDevJhHour)); + } + /** + * 修改设备数据-焦化-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-焦化-小时 保存设备的小时数据") + @Log(title = "设备数据-焦化-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevJhHourVo monDevJhHourVo) { + if(ObjectUtil.isEmpty(monDevJhHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevJhHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevJhHour monDevJhHour = monDevJhHourService.getById(monDevJhHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevJhHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevJhHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevJhHourVo,monDevJhHour); + return toAjax(monDevJhHourService.saveOrUpdate(monDevJhHour)); + } + + /** + * 删除设备数据-焦化-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-焦化-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-焦化-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevJhHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhOtherController.java new file mode 100644 index 0000000..dd545f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevJhOther; +import cn.cecep.talroad.service.IMonDevJhOtherService; +import cn.cecep.talroad.vo.MonDevJhOtherVo; +import cn.cecep.talroad.vo.query.MonDevJhOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-焦化-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-焦化-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevJhOther") +public class MonDevJhOtherController extends BasesController +{ + @Autowired + private IMonDevJhOtherService monDevJhOtherService; + + /** + * 查询设备数据-焦化-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-焦化-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevJhOtherQuery monDevJhOther) + { + Page page = new Page<>(monDevJhOther.getPageNum(), monDevJhOther.getPageSize()); + IPage list = monDevJhOtherService.page(page, MonDevJhOtherQuery.createLambdaQueryWrapper(monDevJhOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-焦化-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-焦化-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-焦化-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevJhOther monDevJhOther) + { + List list = monDevJhOtherService.selectMonDevJhOtherList(monDevJhOther); + ExcelUtil util = new ExcelUtil(MonDevJhOther.class); + util.exportExcel(response, list, "设备数据-焦化-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-焦化-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-焦化-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevJhOtherService.getById(id)); + } + /** + * 新增设备数据-焦化-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-焦化-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-焦化-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevJhOther monDevJhOther) { + return toAjax(monDevJhOtherService.save(monDevJhOther)); + } + /** + * 修改设备数据-焦化-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-焦化-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-焦化-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevJhOtherVo monDevJhOtherVo) { + if(ObjectUtil.isEmpty(monDevJhOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevJhOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevJhOther monDevJhOther = monDevJhOtherService.getById(monDevJhOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevJhOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevJhOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevJhOtherVo,monDevJhOther); + return toAjax(monDevJhOtherService.saveOrUpdate(monDevJhOther)); + } + + /** + * 删除设备数据-焦化-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-焦化-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-焦化-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevJhOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhRealController.java new file mode 100644 index 0000000..5c4e4be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevJhRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.vo.MonDevJhRealVo; +import cn.cecep.talroad.vo.query.MonDevJhRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-焦化-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-焦化-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevJhReal") +public class MonDevJhRealController extends BasesController +{ + @Autowired + private IMonDevJhRealService monDevJhRealService; + + /** + * 查询设备数据-焦化-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-焦化-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevJhRealQuery monDevJhReal) + { + Page page = new Page<>(monDevJhReal.getPageNum(), monDevJhReal.getPageSize()); + IPage list = monDevJhRealService.page(page, MonDevJhRealQuery.createLambdaQueryWrapper(monDevJhReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-焦化-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-焦化-实时 保存设备的实时数据") + @Log(title = "设备数据-焦化-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevJhReal monDevJhReal) + { + List list = monDevJhRealService.selectMonDevJhRealList(monDevJhReal); + ExcelUtil util = new ExcelUtil(MonDevJhReal.class); + util.exportExcel(response, list, "设备数据-焦化-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-焦化-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-焦化-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevJhRealService.getById(id)); + } + /** + * 新增设备数据-焦化-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-焦化-实时 保存设备的实时数据") + @Log(title = "设备数据-焦化-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevJhReal monDevJhReal) { + return toAjax(monDevJhRealService.save(monDevJhReal)); + } + /** + * 修改设备数据-焦化-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-焦化-实时 保存设备的实时数据") + @Log(title = "设备数据-焦化-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevJhRealVo monDevJhRealVo) { + if(ObjectUtil.isEmpty(monDevJhRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevJhRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevJhReal monDevJhReal = monDevJhRealService.getById(monDevJhRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevJhReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevJhRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevJhRealVo,monDevJhReal); + return toAjax(monDevJhRealService.saveOrUpdate(monDevJhReal)); + } + + /** + * 删除设备数据-焦化-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-焦化-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-焦化-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevJhRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevOtherController.java new file mode 100644 index 0000000..4a8ec40 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevOther; +import cn.cecep.talroad.service.IMonDevOtherService; +import cn.cecep.talroad.vo.MonDevOtherVo; +import cn.cecep.talroad.vo.query.MonDevOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevOther") +public class MonDevOtherController extends BasesController +{ + @Autowired + private IMonDevOtherService monDevOtherService; + + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevOtherQuery monDevOther) + { + Page page = new Page<>(monDevOther.getPageNum(), monDevOther.getPageSize()); + IPage list = monDevOtherService.page(page, MonDevOtherQuery.createLambdaQueryWrapper(monDevOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevOther monDevOther) + { + List list = monDevOtherService.selectMonDevOtherList(monDevOther); + ExcelUtil util = new ExcelUtil(MonDevOther.class); + util.exportExcel(response, list, "设备数据(有组织)-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据(有组织)-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据(有组织)-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevOtherService.getById(id)); + } + /** + * 新增设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevOther monDevOther) { + return toAjax(monDevOtherService.save(monDevOther)); + } + /** + * 修改设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevOtherVo monDevOtherVo) { + if(ObjectUtil.isEmpty(monDevOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevOther monDevOther = monDevOtherService.getById(monDevOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevOtherVo,monDevOther); + return toAjax(monDevOtherService.saveOrUpdate(monDevOther)); + } + + /** + * 删除设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据(有组织)-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据(有组织)-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevRealController.java new file mode 100644 index 0000000..081fd2d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.vo.MonDevRealVo; +import cn.cecep.talroad.vo.query.MonDevRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") +@RestController +@RequestMapping("/monDevReal") +public class MonDevRealController extends BasesController +{ + @Autowired + private IMonDevRealService monDevRealService; + + /** + * 查询设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数列表 + */ + @ApiOperation(value = "查询设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") + @GetMapping("/list") + public AjaxResults> list(MonDevRealQuery monDevReal) + { + Page page = new Page<>(monDevReal.getPageNum(), monDevReal.getPageSize()); + IPage list = monDevRealService.page(page, MonDevRealQuery.createLambdaQueryWrapper(monDevReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数列表 + */ + @ApiOperation(value = "导出设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") + @Log(title = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevReal monDevReal) + { + List list = monDevRealService.selectMonDevRealList(monDevReal); + ExcelUtil util = new ExcelUtil(MonDevReal.class); + util.exportExcel(response, list, "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数数据"); + } + + /** + * 获取设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数详细信息 + */ + @ApiOperation(value = "获取设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevRealService.getById(id)); + } + /** + * 新增设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + */ + @ApiOperation(value = "新增设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") + @Log(title = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevReal monDevReal) { + return toAjax(monDevRealService.save(monDevReal)); + } + /** + * 修改设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + */ + @ApiOperation(value = "修改设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") + @Log(title = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevRealVo monDevRealVo) { + if(ObjectUtil.isEmpty(monDevRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevReal monDevReal = monDevRealService.getById(monDevRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevRealVo,monDevReal); + return toAjax(monDevRealService.saveOrUpdate(monDevReal)); + } + + /** + * 删除设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + */ + @ApiOperation(value = "删除设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnHourController.java new file mode 100644 index 0000000..c5aa871 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevSnHour; +import cn.cecep.talroad.service.IMonDevSnHourService; +import cn.cecep.talroad.vo.MonDevSnHourVo; +import cn.cecep.talroad.vo.query.MonDevSnHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-水泥-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-水泥-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevSnHour") +public class MonDevSnHourController extends BasesController +{ + @Autowired + private IMonDevSnHourService monDevSnHourService; + + /** + * 查询设备数据-水泥-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-水泥-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevSnHourQuery monDevSnHour) + { + Page page = new Page<>(monDevSnHour.getPageNum(), monDevSnHour.getPageSize()); + IPage list = monDevSnHourService.page(page, MonDevSnHourQuery.createLambdaQueryWrapper(monDevSnHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-水泥-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-水泥-小时 保存设备的小时数据") + @Log(title = "设备数据-水泥-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevSnHour monDevSnHour) + { + List list = monDevSnHourService.selectMonDevSnHourList(monDevSnHour); + ExcelUtil util = new ExcelUtil(MonDevSnHour.class); + util.exportExcel(response, list, "设备数据-水泥-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-水泥-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-水泥-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevSnHourService.getById(id)); + } + /** + * 新增设备数据-水泥-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-水泥-小时 保存设备的小时数据") + @Log(title = "设备数据-水泥-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevSnHour monDevSnHour) { + return toAjax(monDevSnHourService.save(monDevSnHour)); + } + /** + * 修改设备数据-水泥-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-水泥-小时 保存设备的小时数据") + @Log(title = "设备数据-水泥-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevSnHourVo monDevSnHourVo) { + if(ObjectUtil.isEmpty(monDevSnHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevSnHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevSnHour monDevSnHour = monDevSnHourService.getById(monDevSnHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevSnHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevSnHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevSnHourVo,monDevSnHour); + return toAjax(monDevSnHourService.saveOrUpdate(monDevSnHour)); + } + + /** + * 删除设备数据-水泥-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-水泥-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-水泥-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevSnHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnOtherController.java new file mode 100644 index 0000000..1d4a94a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevSnOther; +import cn.cecep.talroad.service.IMonDevSnOtherService; +import cn.cecep.talroad.vo.MonDevSnOtherVo; +import cn.cecep.talroad.vo.query.MonDevSnOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-水泥-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-水泥-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevSnOther") +public class MonDevSnOtherController extends BasesController +{ + @Autowired + private IMonDevSnOtherService monDevSnOtherService; + + /** + * 查询设备数据-水泥-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-水泥-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevSnOtherQuery monDevSnOther) + { + Page page = new Page<>(monDevSnOther.getPageNum(), monDevSnOther.getPageSize()); + IPage list = monDevSnOtherService.page(page, MonDevSnOtherQuery.createLambdaQueryWrapper(monDevSnOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-水泥-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-水泥-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-水泥-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevSnOther monDevSnOther) + { + List list = monDevSnOtherService.selectMonDevSnOtherList(monDevSnOther); + ExcelUtil util = new ExcelUtil(MonDevSnOther.class); + util.exportExcel(response, list, "设备数据-水泥-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-水泥-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-水泥-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevSnOtherService.getById(id)); + } + /** + * 新增设备数据-水泥-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-水泥-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-水泥-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevSnOther monDevSnOther) { + return toAjax(monDevSnOtherService.save(monDevSnOther)); + } + /** + * 修改设备数据-水泥-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-水泥-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-水泥-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevSnOtherVo monDevSnOtherVo) { + if(ObjectUtil.isEmpty(monDevSnOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevSnOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevSnOther monDevSnOther = monDevSnOtherService.getById(monDevSnOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevSnOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevSnOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevSnOtherVo,monDevSnOther); + return toAjax(monDevSnOtherService.saveOrUpdate(monDevSnOther)); + } + + /** + * 删除设备数据-水泥-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-水泥-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-水泥-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevSnOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnRealController.java new file mode 100644 index 0000000..3619fd9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevSnRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.service.IMonDevSnRealService; +import cn.cecep.talroad.vo.MonDevSnRealVo; +import cn.cecep.talroad.vo.query.MonDevSnRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-水泥-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-水泥-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevSnReal") +public class MonDevSnRealController extends BasesController +{ + @Autowired + private IMonDevSnRealService monDevSnRealService; + + /** + * 查询设备数据-水泥-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-水泥-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevSnRealQuery monDevSnReal) + { + Page page = new Page<>(monDevSnReal.getPageNum(), monDevSnReal.getPageSize()); + IPage list = monDevSnRealService.page(page, MonDevSnRealQuery.createLambdaQueryWrapper(monDevSnReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-水泥-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-水泥-实时 保存设备的实时数据") + @Log(title = "设备数据-水泥-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevSnReal monDevSnReal) + { + List list = monDevSnRealService.selectMonDevSnRealList(monDevSnReal); + ExcelUtil util = new ExcelUtil(MonDevSnReal.class); + util.exportExcel(response, list, "设备数据-水泥-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-水泥-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-水泥-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevSnRealService.getById(id)); + } + /** + * 新增设备数据-水泥-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-水泥-实时 保存设备的实时数据") + @Log(title = "设备数据-水泥-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevSnReal monDevSnReal) { + return toAjax(monDevSnRealService.save(monDevSnReal)); + } + /** + * 修改设备数据-水泥-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-水泥-实时 保存设备的实时数据") + @Log(title = "设备数据-水泥-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevSnRealVo monDevSnRealVo) { + if(ObjectUtil.isEmpty(monDevSnRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevSnRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevSnReal monDevSnReal = monDevSnRealService.getById(monDevSnRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevSnReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevSnRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevSnRealVo,monDevSnReal); + return toAjax(monDevSnRealService.saveOrUpdate(monDevSnReal)); + } + + /** + * 删除设备数据-水泥-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-水泥-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-水泥-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevSnRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcHourController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcHourController.java new file mode 100644 index 0000000..bc23dd6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcHourController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevTcHour; +import cn.cecep.talroad.service.IMonDevTcHourService; +import cn.cecep.talroad.vo.MonDevTcHourVo; +import cn.cecep.talroad.vo.query.MonDevTcHourQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-陶瓷-小时 保存设备的小时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-陶瓷-小时 保存设备的小时数据") +@RestController +@RequestMapping("/monDevTcHour") +public class MonDevTcHourController extends BasesController +{ + @Autowired + private IMonDevTcHourService monDevTcHourService; + + /** + * 查询设备数据-陶瓷-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "查询设备数据-陶瓷-小时 保存设备的小时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevTcHourQuery monDevTcHour) + { + Page page = new Page<>(monDevTcHour.getPageNum(), monDevTcHour.getPageSize()); + IPage list = monDevTcHourService.page(page, MonDevTcHourQuery.createLambdaQueryWrapper(monDevTcHour)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-陶瓷-小时 保存设备的小时数据列表 + */ + @ApiOperation(value = "导出设备数据-陶瓷-小时 保存设备的小时数据") + @Log(title = "设备数据-陶瓷-小时 保存设备的小时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevTcHour monDevTcHour) + { + List list = monDevTcHourService.selectMonDevTcHourList(monDevTcHour); + ExcelUtil util = new ExcelUtil(MonDevTcHour.class); + util.exportExcel(response, list, "设备数据-陶瓷-小时 保存设备的小时数据数据"); + } + + /** + * 获取设备数据-陶瓷-小时 保存设备的小时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-陶瓷-小时 保存设备的小时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevTcHourService.getById(id)); + } + /** + * 新增设备数据-陶瓷-小时 保存设备的小时数据 + */ + @ApiOperation(value = "新增设备数据-陶瓷-小时 保存设备的小时数据") + @Log(title = "设备数据-陶瓷-小时 保存设备的小时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevTcHour monDevTcHour) { + return toAjax(monDevTcHourService.save(monDevTcHour)); + } + /** + * 修改设备数据-陶瓷-小时 保存设备的小时数据 + */ + @ApiOperation(value = "修改设备数据-陶瓷-小时 保存设备的小时数据") + @Log(title = "设备数据-陶瓷-小时 保存设备的小时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevTcHourVo monDevTcHourVo) { + if(ObjectUtil.isEmpty(monDevTcHourVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevTcHourVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevTcHour monDevTcHour = monDevTcHourService.getById(monDevTcHourVo.getDataId()); + if(ObjectUtil.isEmpty(monDevTcHour)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevTcHourVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevTcHourVo,monDevTcHour); + return toAjax(monDevTcHourService.saveOrUpdate(monDevTcHour)); + } + + /** + * 删除设备数据-陶瓷-小时 保存设备的小时数据 + */ + @ApiOperation(value = "删除设备数据-陶瓷-小时 保存设备的小时数据") + @RequiresPermissions("talroad:hour:remove") + @Log(title = "设备数据-陶瓷-小时 保存设备的小时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevTcHourService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcOtherController.java new file mode 100644 index 0000000..df17f6b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcOtherController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevTcOther; +import cn.cecep.talroad.service.IMonDevTcOtherService; +import cn.cecep.talroad.vo.MonDevTcOtherVo; +import cn.cecep.talroad.vo.query.MonDevTcOtherQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-陶瓷-其它时间 保存设备的小时以上的数据") +@RestController +@RequestMapping("/monDevTcOther") +public class MonDevTcOtherController extends BasesController +{ + @Autowired + private IMonDevTcOtherService monDevTcOtherService; + + /** + * 查询设备数据-陶瓷-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "查询设备数据-陶瓷-其它时间 保存设备的小时以上的数据") + @GetMapping("/list") + public AjaxResults> list(MonDevTcOtherQuery monDevTcOther) + { + Page page = new Page<>(monDevTcOther.getPageNum(), monDevTcOther.getPageSize()); + IPage list = monDevTcOtherService.page(page, MonDevTcOtherQuery.createLambdaQueryWrapper(monDevTcOther)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-陶瓷-其它时间 保存设备的小时以上的数据列表 + */ + @ApiOperation(value = "导出设备数据-陶瓷-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevTcOther monDevTcOther) + { + List list = monDevTcOtherService.selectMonDevTcOtherList(monDevTcOther); + ExcelUtil util = new ExcelUtil(MonDevTcOther.class); + util.exportExcel(response, list, "设备数据-陶瓷-其它时间 保存设备的小时以上的数据数据"); + } + + /** + * 获取设备数据-陶瓷-其它时间 保存设备的小时以上的数据详细信息 + */ + @ApiOperation(value = "获取设备数据-陶瓷-其它时间 保存设备的小时以上的数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevTcOtherService.getById(id)); + } + /** + * 新增设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "新增设备数据-陶瓷-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevTcOther monDevTcOther) { + return toAjax(monDevTcOtherService.save(monDevTcOther)); + } + /** + * 修改设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "修改设备数据-陶瓷-其它时间 保存设备的小时以上的数据") + @Log(title = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevTcOtherVo monDevTcOtherVo) { + if(ObjectUtil.isEmpty(monDevTcOtherVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevTcOtherVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevTcOther monDevTcOther = monDevTcOtherService.getById(monDevTcOtherVo.getDataId()); + if(ObjectUtil.isEmpty(monDevTcOther)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevTcOtherVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevTcOtherVo,monDevTcOther); + return toAjax(monDevTcOtherService.saveOrUpdate(monDevTcOther)); + } + + /** + * 删除设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + */ + @ApiOperation(value = "删除设备数据-陶瓷-其它时间 保存设备的小时以上的数据") + @RequiresPermissions("talroad:other:remove") + @Log(title = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevTcOtherService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcRealController.java new file mode 100644 index 0000000..03d5396 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonDevTcRealController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonDevTcReal; +import cn.cecep.talroad.service.IMonDevTcRealService; +import cn.cecep.talroad.vo.MonDevTcRealVo; +import cn.cecep.talroad.vo.query.MonDevTcRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 设备数据-陶瓷-实时 保存设备的实时数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--工况数据--设备数据-陶瓷-实时 保存设备的实时数据") +@RestController +@RequestMapping("/monDevTcReal") +public class MonDevTcRealController extends BasesController +{ + @Autowired + private IMonDevTcRealService monDevTcRealService; + + /** + * 查询设备数据-陶瓷-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "查询设备数据-陶瓷-实时 保存设备的实时数据") + @GetMapping("/list") + public AjaxResults> list(MonDevTcRealQuery monDevTcReal) + { + Page page = new Page<>(monDevTcReal.getPageNum(), monDevTcReal.getPageSize()); + IPage list = monDevTcRealService.page(page, MonDevTcRealQuery.createLambdaQueryWrapper(monDevTcReal)); + return AjaxResults.success(list); + } + + + /** + * 导出设备数据-陶瓷-实时 保存设备的实时数据列表 + */ + @ApiOperation(value = "导出设备数据-陶瓷-实时 保存设备的实时数据") + @Log(title = "设备数据-陶瓷-实时 保存设备的实时数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonDevTcReal monDevTcReal) + { + List list = monDevTcRealService.selectMonDevTcRealList(monDevTcReal); + ExcelUtil util = new ExcelUtil(MonDevTcReal.class); + util.exportExcel(response, list, "设备数据-陶瓷-实时 保存设备的实时数据数据"); + } + + /** + * 获取设备数据-陶瓷-实时 保存设备的实时数据详细信息 + */ + @ApiOperation(value = "获取设备数据-陶瓷-实时 保存设备的实时数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monDevTcRealService.getById(id)); + } + /** + * 新增设备数据-陶瓷-实时 保存设备的实时数据 + */ + @ApiOperation(value = "新增设备数据-陶瓷-实时 保存设备的实时数据") + @Log(title = "设备数据-陶瓷-实时 保存设备的实时数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonDevTcReal monDevTcReal) { + return toAjax(monDevTcRealService.save(monDevTcReal)); + } + /** + * 修改设备数据-陶瓷-实时 保存设备的实时数据 + */ + @ApiOperation(value = "修改设备数据-陶瓷-实时 保存设备的实时数据") + @Log(title = "设备数据-陶瓷-实时 保存设备的实时数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonDevTcRealVo monDevTcRealVo) { + if(ObjectUtil.isEmpty(monDevTcRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monDevTcRealVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonDevTcReal monDevTcReal = monDevTcRealService.getById(monDevTcRealVo.getDataId()); + if(ObjectUtil.isEmpty(monDevTcReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monDevTcRealVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monDevTcRealVo,monDevTcReal); + return toAjax(monDevTcRealService.saveOrUpdate(monDevTcReal)); + } + + /** + * 删除设备数据-陶瓷-实时 保存设备的实时数据 + */ + @ApiOperation(value = "删除设备数据-陶瓷-实时 保存设备的实时数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "设备数据-陶瓷-实时 保存设备的实时数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monDevTcRealService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecEventController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecEventController.java new file mode 100644 index 0000000..ae66868 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecEventController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.MonElecEvent; +import cn.cecep.talroad.service.IMonElecEventService; +import cn.cecep.talroad.vo.MonElecEventVo; +import cn.cecep.talroad.vo.query.MonElecEventQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 有组织-分表计电设备对应 两类设备为多对多的关系Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控-有组织-分表计电设备对应 两类设备为多对多的关系") +@RestController +@RequestMapping("/monElecEvent") +public class MonElecEventController extends BasesController +{ + @Autowired + private IMonElecEventService monElecEventService; + + /** + * 查询有组织-分表计电设备对应 两类设备为多对多的关系列表 + */ + @ApiOperation(value = "查询有组织-分表计电设备对应 两类设备为多对多的关系") + @GetMapping("/list") + public AjaxResults> list(MonElecEventQuery monElecEvent) + { + Page page = new Page<>(monElecEvent.getPageNum(), monElecEvent.getPageSize()); + IPage list = monElecEventService.page(page, MonElecEventQuery.createLambdaQueryWrapper(monElecEvent)); + return AjaxResults.success(list); + } + + + /** + * 导出有组织-分表计电设备对应 两类设备为多对多的关系列表 + */ + @ApiOperation(value = "导出有组织-分表计电设备对应 两类设备为多对多的关系") + @Log(title = "有组织-分表计电设备对应 两类设备为多对多的关系", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MonElecEvent monElecEvent) + { + List list = monElecEventService.selectMonElecEventList(monElecEvent); + ExcelUtil util = new ExcelUtil(MonElecEvent.class); + util.exportExcel(response, list, "有组织-分表计电设备对应 两类设备为多对多的关系数据"); + } + + /** + * 获取有组织-分表计电设备对应 两类设备为多对多的关系详细信息 + */ + @ApiOperation(value = "获取有组织-分表计电设备对应 两类设备为多对多的关系详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(monElecEventService.getById(id)); + } + /** + * 新增有组织-分表计电设备对应 两类设备为多对多的关系 + */ + @ApiOperation(value = "新增有组织-分表计电设备对应 两类设备为多对多的关系") + @Log(title = "有组织-分表计电设备对应 两类设备为多对多的关系", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody MonElecEvent monElecEvent) { + return toAjax(monElecEventService.save(monElecEvent)); + } + /** + * 修改有组织-分表计电设备对应 两类设备为多对多的关系 + */ + @ApiOperation(value = "修改有组织-分表计电设备对应 两类设备为多对多的关系") + @Log(title = "有组织-分表计电设备对应 两类设备为多对多的关系", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody MonElecEventVo monElecEventVo) { + if(ObjectUtil.isEmpty(monElecEventVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(monElecEventVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + MonElecEvent monElecEvent = monElecEventService.getById(monElecEventVo.getDataId()); + if(ObjectUtil.isEmpty(monElecEvent)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", monElecEventVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(monElecEventVo,monElecEvent); + return toAjax(monElecEventService.saveOrUpdate(monElecEvent)); + } + + /** + * 删除有组织-分表计电设备对应 两类设备为多对多的关系 + */ + @ApiOperation(value = "删除有组织-分表计电设备对应 两类设备为多对多的关系") + @RequiresPermissions("talroad:event:remove") + @Log(title = "有组织-分表计电设备对应 两类设备为多对多的关系", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable Long[] dataIds) { + return toAjax(monElecEventService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecRealController.java new file mode 100644 index 0000000..029f326 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonElecRealController.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.IMonElecRealService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.MonElecRealVo; +import cn.cecep.talroad.vo.query.MonElecRealQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 分表计电设备-点位对应 设备与点位为多对多的关系Controller 控制层 + * + * @author szhpt + * @date 2023-01-10 + */ +@Api(tags = "监测监控-分表计电设备-点位对应 设备与点位为多对多的关系") +@RestController +@RequestMapping("/monElecReal") +public class MonElecRealController extends BasesController { + @Autowired + private IMonElecRealService monElecRealService; + + + @ApiOperation(value = "查询分表计电设备-点位对应 设备与点位为多对多的关系") + @GetMapping("/list") + public AjaxResults> list(MonElecRealQuery monElecReal) { + Page page = new Page<>(monElecReal.getPageNum(), monElecReal.getPageSize()); + monElecRealService.elecRealPage(page, monElecReal); + return AjaxResults.success(page); + } + + @ApiOperation(value = "查询分表计电曲线图数据") + @GetMapping("/charData") + public AjaxResults charData(MonElecRealQuery monElecReal) { + EChartsVO chartsVO = monElecRealService.getCharData(monElecReal); + return AjaxResults.success(chartsVO); + } + + @ApiOperation(value = "导出分表计电设备-点位对应 设备与点位为多对多的关系") + @Log(title = "分表计电设备-点位对应 设备与点位为多对多的关系", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody MonElecRealQuery monElecReal) { + Page page = new Page<>(monElecReal.getPageNum(), monElecReal.getPageSize()); + List vos = monElecRealService.elecRealPage(page, monElecReal); + ExcelUtil util = new ExcelUtil<>(MonElecRealVo.class); + util.exportExcel(response, vos, "sheet1"); + } + + @ApiOperation(value = "分表计电大屏-用电趋势总览") + @GetMapping("/kwhChart") + public AjaxResults kwhChartData( + @ApiParam(name = "startTime", value = "开始日期") @RequestParam("startTime") String startTime, + @ApiParam(name = "endTime", value = "结束日期") @RequestParam("endTime") String endTime + ) { + EChartsVO chartsVO = monElecRealService.getKwhChartData(startTime, endTime); + return AjaxResults.success(chartsVO); + } + + @ApiOperation(value = "分表计电大屏-用电量监控") + @GetMapping("/kwhMonitor") + public AjaxResults> kwhMonitor( + @ApiParam(name = "type", value = "1:按区域, 2:按行业") @RequestParam("type") String type, + @ApiParam(name = "startTime", value = "开始日期") @RequestParam("startTime") String startTime, + @ApiParam(name = "endTime", value = "结束日期") @RequestParam("endTime") String endTime + ) { + List vos = monElecRealService.getKwhMonitor(type, startTime, endTime); + return AjaxResults.success(vos); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonitoringMapController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonitoringMapController.java new file mode 100644 index 0000000..e84000c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/MonitoringMapController.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BaseController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.IMonitoringMapService; +import cn.cecep.talroad.vo.MapPointVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * @Author: weizhuang + * ADate:2023/2/15 10:21 + * @Version 1.0 + */ +@Api(tags = "A固定源档案-企业监控地图-wz") +@RestController +@RequestMapping("/monitoringMap") +public class MonitoringMapController extends BaseController { + + @Autowired + private IMonitoringMapService iMonitoringMapService; + + @ApiOperation(value = "门禁点位-弹窗数据") + @GetMapping("/accessControl/pop/{factoryId}/{accessControlCode}") + public AjaxResults> pullAccessControlPop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "accessControlCode") String accessControlCode) { + return AjaxResults.success(iMonitoringMapService.pullAccessControlPop(factoryId, accessControlCode)); + } + + @ApiOperation(value = "地图打点[pointType=门禁、生产监控、煤气放散监控、在线监测、无组织监控、分表计电、视频监控]") + @GetMapping("/pullPoints/{factoryId}/{pointType}") + public AjaxResults> pullPoints(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointType") String pointType) { + return AjaxResults.success(iMonitoringMapService.pullPoints(factoryId, pointType)); + } + + @ApiOperation(value = "煤气放散分析大屏-地图点位") + @GetMapping("/coal/map/points") + public AjaxResults> coalMapPoints(@RequestParam(value = "name", required = false) String name) { + return AjaxResults.success(iMonitoringMapService.coalMapPoints(name)); + } + + @ApiOperation(value = "分表计电-弹窗数据") + @GetMapping("/fbjd/pop/{factoryId}/{pointCode}") + public AjaxResults> pullFbjdPop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullFbjdPop(factoryId, pointCode)); + } + + @ApiOperation(value = "无组织监控-弹窗数据") + @GetMapping("/wzz/pop/{factoryId}/{pointCode}") + public AjaxResults> pullWzzPop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullWzzPop(factoryId, pointCode)); + } + + @ApiOperation(value = "无组织监控-弹窗数据") + @GetMapping("/wzz/pop/v2/{pointCode}") + public AjaxResults> pullWzzPop(@PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullWzzPop(null, pointCode)); + } + + @ApiOperation(value = "在线监测-弹窗数据") + @GetMapping("/online/pop/{factoryId}/{pointCode}") + public AjaxResults> pullOnlinePop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullOnlinePop(factoryId, pointCode)); + } + + @ApiOperation(value = "生产监控-弹窗数据") + @GetMapping("/produce/pop/{factoryId}/{pointCode}") + public AjaxResults> pullProducePop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullProducePop(factoryId, pointCode)); + } + + @ApiOperation(value = "煤气放散监控-弹窗数据") + @GetMapping("/coalGas/pop/{factoryId}/{pointCode}") + public AjaxResults> pullCoalGasPop(@PathVariable(value = "factoryId") String factoryId, + @PathVariable(value = "pointCode") String pointCode) { + return AjaxResults.success(iMonitoringMapService.pullCoalGasPop(factoryId, pointCode)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsInorganizationWeiStationHourIController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsInorganizationWeiStationHourIController.java new file mode 100644 index 0000000..66a4f8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsInorganizationWeiStationHourIController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsInorganizationWeiStationHourIQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.vo.OdsInorganizationWeiStationHourIVo; +import cn.cecep.talroad.service.IOdsInorganizationWeiStationHourIService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 【请填写功能名称】Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "【请填写功能名称】") +@RestController +@RequestMapping("/inorganizationStation") +public class OdsInorganizationWeiStationHourIController extends BasesController +{ + @Autowired + private IOdsInorganizationWeiStationHourIService odsInorganizationWeiStationHourIService; + + /** + * 查询【请填写功能名称】列表 + */ + @ApiOperation(value = "查询【请填写功能名称】") + @GetMapping("/list") + public AjaxResults> list(OdsInorganizationWeiStationHourIQuery odsInorganizationWeiStationHourI) + { + Page page = new Page<>(odsInorganizationWeiStationHourI.getPageNum(), odsInorganizationWeiStationHourI.getPageSize()); + IPage list = odsInorganizationWeiStationHourIService.page(page, OdsInorganizationWeiStationHourIQuery.createLambdaQueryWrapper(odsInorganizationWeiStationHourI)); + return AjaxResults.success(list); + } + + + /** + * 导出【请填写功能名称】列表 + */ + @ApiOperation(value = "导出【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI) + { + List list = odsInorganizationWeiStationHourIService.selectOdsInorganizationWeiStationHourIList(odsInorganizationWeiStationHourI); + ExcelUtil util = new ExcelUtil(OdsInorganizationWeiStationHourI.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @ApiOperation(value = "获取【请填写功能名称】详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsInorganizationWeiStationHourIService.getById(id)); + } + /** + * 新增【请填写功能名称】 + */ + @ApiOperation(value = "新增【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI) { + return toAjax(odsInorganizationWeiStationHourIService.save(odsInorganizationWeiStationHourI)); + } + /** + * 修改【请填写功能名称】 + */ + @ApiOperation(value = "修改【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsInorganizationWeiStationHourIVo odsInorganizationWeiStationHourIVo) { + if(ObjectUtil.isEmpty(odsInorganizationWeiStationHourIVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsInorganizationWeiStationHourIVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI = odsInorganizationWeiStationHourIService.getById(odsInorganizationWeiStationHourIVo.getId()); + if(ObjectUtil.isEmpty(odsInorganizationWeiStationHourI)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsInorganizationWeiStationHourIVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsInorganizationWeiStationHourIVo,odsInorganizationWeiStationHourI); + return toAjax(odsInorganizationWeiStationHourIService.saveOrUpdate(odsInorganizationWeiStationHourI)); + } + + /** + * 删除【请填写功能名称】 + */ + @ApiOperation(value = "删除【请填写功能名称】") + @RequiresPermissions("talroad:i:remove") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsInorganizationWeiStationHourIService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingShStationHourIController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingShStationHourIController.java new file mode 100644 index 0000000..b7d3474 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingShStationHourIController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsMeshingShStationHourIQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.vo.OdsMeshingShStationHourIVo; +import cn.cecep.talroad.service.IOdsMeshingShStationHourIService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * ods层网格化市控站点小时增量Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "ods层网格化市控站点小时增量") +@RestController +@RequestMapping("/meshingStation") +public class OdsMeshingShStationHourIController extends BasesController +{ + @Autowired + private IOdsMeshingShStationHourIService odsMeshingShStationHourIService; + + /** + * 查询ods层网格化市控站点小时增量列表 + */ + @ApiOperation(value = "查询ods层网格化市控站点小时增量") + @GetMapping("/list") + public AjaxResults> list(OdsMeshingShStationHourIQuery odsMeshingShStationHourI) + { + Page page = new Page<>(odsMeshingShStationHourI.getPageNum(), odsMeshingShStationHourI.getPageSize()); + IPage list = odsMeshingShStationHourIService.page(page, OdsMeshingShStationHourIQuery.createLambdaQueryWrapper(odsMeshingShStationHourI)); + return AjaxResults.success(list); + } + + + /** + * 导出ods层网格化市控站点小时增量列表 + */ + @ApiOperation(value = "导出ods层网格化市控站点小时增量") + @Log(title = "ods层网格化市控站点小时增量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsMeshingShStationHourI odsMeshingShStationHourI) + { + List list = odsMeshingShStationHourIService.selectOdsMeshingShStationHourIList(odsMeshingShStationHourI); + ExcelUtil util = new ExcelUtil(OdsMeshingShStationHourI.class); + util.exportExcel(response, list, "ods层网格化市控站点小时增量数据"); + } + + /** + * 获取ods层网格化市控站点小时增量详细信息 + */ + @ApiOperation(value = "获取ods层网格化市控站点小时增量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsMeshingShStationHourIService.getById(id)); + } + /** + * 新增ods层网格化市控站点小时增量 + */ + @ApiOperation(value = "新增ods层网格化市控站点小时增量") + @Log(title = "ods层网格化市控站点小时增量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsMeshingShStationHourI odsMeshingShStationHourI) { + return toAjax(odsMeshingShStationHourIService.save(odsMeshingShStationHourI)); + } + /** + * 修改ods层网格化市控站点小时增量 + */ + @ApiOperation(value = "修改ods层网格化市控站点小时增量") + @Log(title = "ods层网格化市控站点小时增量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsMeshingShStationHourIVo odsMeshingShStationHourIVo) { + if(ObjectUtil.isEmpty(odsMeshingShStationHourIVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsMeshingShStationHourIVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsMeshingShStationHourI odsMeshingShStationHourI = odsMeshingShStationHourIService.getById(odsMeshingShStationHourIVo.getId()); + if(ObjectUtil.isEmpty(odsMeshingShStationHourI)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsMeshingShStationHourIVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsMeshingShStationHourIVo,odsMeshingShStationHourI); + return toAjax(odsMeshingShStationHourIService.saveOrUpdate(odsMeshingShStationHourI)); + } + + /** + * 删除ods层网格化市控站点小时增量 + */ + @ApiOperation(value = "删除ods层网格化市控站点小时增量") + @RequiresPermissions("talroad:i:remove") + @Log(title = "ods层网格化市控站点小时增量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsMeshingShStationHourIService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingWeiStationHourIController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingWeiStationHourIController.java new file mode 100644 index 0000000..e5d80bf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsMeshingWeiStationHourIController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsMeshingWeiStationHourIQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.vo.OdsMeshingWeiStationHourIVo; +import cn.cecep.talroad.service.IOdsMeshingWeiStationHourIService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * ods层网格化微站站点小时增量Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "ods层网格化微站站点小时增量") +@RestController +@RequestMapping("/meshingWeiStation") +public class OdsMeshingWeiStationHourIController extends BasesController +{ + @Autowired + private IOdsMeshingWeiStationHourIService odsMeshingWeiStationHourIService; + + /** + * 查询ods层网格化微站站点小时增量列表 + */ + @ApiOperation(value = "查询ods层网格化微站站点小时增量") + @GetMapping("/list") + public AjaxResults> list(OdsMeshingWeiStationHourIQuery odsMeshingWeiStationHourI) + { + Page page = new Page<>(odsMeshingWeiStationHourI.getPageNum(), odsMeshingWeiStationHourI.getPageSize()); + IPage list = odsMeshingWeiStationHourIService.page(page, OdsMeshingWeiStationHourIQuery.createLambdaQueryWrapper(odsMeshingWeiStationHourI)); + return AjaxResults.success(list); + } + + + /** + * 导出ods层网格化微站站点小时增量列表 + */ + @ApiOperation(value = "导出ods层网格化微站站点小时增量") + @Log(title = "ods层网格化微站站点小时增量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsMeshingWeiStationHourI odsMeshingWeiStationHourI) + { + List list = odsMeshingWeiStationHourIService.selectOdsMeshingWeiStationHourIList(odsMeshingWeiStationHourI); + ExcelUtil util = new ExcelUtil(OdsMeshingWeiStationHourI.class); + util.exportExcel(response, list, "ods层网格化微站站点小时增量数据"); + } + + /** + * 获取ods层网格化微站站点小时增量详细信息 + */ + @ApiOperation(value = "获取ods层网格化微站站点小时增量详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsMeshingWeiStationHourIService.getById(id)); + } + /** + * 新增ods层网格化微站站点小时增量 + */ + @ApiOperation(value = "新增ods层网格化微站站点小时增量") + @Log(title = "ods层网格化微站站点小时增量", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsMeshingWeiStationHourI odsMeshingWeiStationHourI) { + return toAjax(odsMeshingWeiStationHourIService.save(odsMeshingWeiStationHourI)); + } + /** + * 修改ods层网格化微站站点小时增量 + */ + @ApiOperation(value = "修改ods层网格化微站站点小时增量") + @Log(title = "ods层网格化微站站点小时增量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsMeshingWeiStationHourIVo odsMeshingWeiStationHourIVo) { + if(ObjectUtil.isEmpty(odsMeshingWeiStationHourIVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsMeshingWeiStationHourIVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsMeshingWeiStationHourI odsMeshingWeiStationHourI = odsMeshingWeiStationHourIService.getById(odsMeshingWeiStationHourIVo.getId()); + if(ObjectUtil.isEmpty(odsMeshingWeiStationHourI)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsMeshingWeiStationHourIVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsMeshingWeiStationHourIVo,odsMeshingWeiStationHourI); + return toAjax(odsMeshingWeiStationHourIService.saveOrUpdate(odsMeshingWeiStationHourI)); + } + + /** + * 删除ods层网格化微站站点小时增量 + */ + @ApiOperation(value = "删除ods层网格化微站站点小时增量") + @RequiresPermissions("talroad:i:remove") + @Log(title = "ods层网格化微站站点小时增量", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsMeshingWeiStationHourIService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlDgiinfoAController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlDgiinfoAController.java new file mode 100644 index 0000000..e05b4ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlDgiinfoAController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsOnlineOlDgiinfoAQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; +import cn.cecep.talroad.vo.OdsOnlineOlDgiinfoAVo; +import cn.cecep.talroad.service.IOdsOnlineOlDgiinfoAService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 【请填写功能名称】Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "【请填写功能名称】") +@RestController +@RequestMapping("/onlineOlDginfo") +public class OdsOnlineOlDgiinfoAController extends BasesController +{ + @Autowired + private IOdsOnlineOlDgiinfoAService odsOnlineOlDgiinfoAService; + + /** + * 查询【请填写功能名称】列表 + */ + @ApiOperation(value = "查询【请填写功能名称】") + @GetMapping("/list") + public AjaxResults> list(OdsOnlineOlDgiinfoAQuery odsOnlineOlDgiinfoA) + { + Page page = new Page<>(odsOnlineOlDgiinfoA.getPageNum(), odsOnlineOlDgiinfoA.getPageSize()); + IPage list = odsOnlineOlDgiinfoAService.page(page, OdsOnlineOlDgiinfoAQuery.createLambdaQueryWrapper(odsOnlineOlDgiinfoA)); + return AjaxResults.success(list); + } + + + /** + * 导出【请填写功能名称】列表 + */ + @ApiOperation(value = "导出【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA) + { + List list = odsOnlineOlDgiinfoAService.selectOdsOnlineOlDgiinfoAList(odsOnlineOlDgiinfoA); + ExcelUtil util = new ExcelUtil(OdsOnlineOlDgiinfoA.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @ApiOperation(value = "获取【请填写功能名称】详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsOnlineOlDgiinfoAService.getById(id)); + } + /** + * 新增【请填写功能名称】 + */ + @ApiOperation(value = "新增【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA) { + return toAjax(odsOnlineOlDgiinfoAService.save(odsOnlineOlDgiinfoA)); + } + /** + * 修改【请填写功能名称】 + */ + @ApiOperation(value = "修改【请填写功能名称】") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsOnlineOlDgiinfoAVo odsOnlineOlDgiinfoAVo) { + if(ObjectUtil.isEmpty(odsOnlineOlDgiinfoAVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsOnlineOlDgiinfoAVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA = odsOnlineOlDgiinfoAService.getById(odsOnlineOlDgiinfoAVo.getId()); + if(ObjectUtil.isEmpty(odsOnlineOlDgiinfoA)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsOnlineOlDgiinfoAVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsOnlineOlDgiinfoAVo,odsOnlineOlDgiinfoA); + return toAjax(odsOnlineOlDgiinfoAService.saveOrUpdate(odsOnlineOlDgiinfoA)); + } + + /** + * 删除【请填写功能名称】 + */ + @ApiOperation(value = "删除【请填写功能名称】") + @RequiresPermissions("talroad:a:remove") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsOnlineOlDgiinfoAService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPortinfoAController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPortinfoAController.java new file mode 100644 index 0000000..02a42a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPortinfoAController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsOnlineOlPortinfoAQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; +import cn.cecep.talroad.vo.OdsOnlineOlPortinfoAVo; +import cn.cecep.talroad.service.IOdsOnlineOlPortinfoAService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 点位信息Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "点位信息") +@RestController +@RequestMapping("/onlinePortInfo") +public class OdsOnlineOlPortinfoAController extends BasesController +{ + @Autowired + private IOdsOnlineOlPortinfoAService odsOnlineOlPortinfoAService; + + /** + * 查询点位信息列表 + */ + @ApiOperation(value = "查询点位信息") + @GetMapping("/list") + public AjaxResults> list(OdsOnlineOlPortinfoAQuery odsOnlineOlPortinfoA) + { + Page page = new Page<>(odsOnlineOlPortinfoA.getPageNum(), odsOnlineOlPortinfoA.getPageSize()); + IPage list = odsOnlineOlPortinfoAService.page(page, OdsOnlineOlPortinfoAQuery.createLambdaQueryWrapper(odsOnlineOlPortinfoA)); + return AjaxResults.success(list); + } + + + /** + * 导出点位信息列表 + */ + @ApiOperation(value = "导出点位信息") + @Log(title = "点位信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsOnlineOlPortinfoA odsOnlineOlPortinfoA) + { + List list = odsOnlineOlPortinfoAService.selectOdsOnlineOlPortinfoAList(odsOnlineOlPortinfoA); + ExcelUtil util = new ExcelUtil(OdsOnlineOlPortinfoA.class); + util.exportExcel(response, list, "点位信息数据"); + } + + /** + * 获取点位信息详细信息 + */ + @ApiOperation(value = "获取点位信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsOnlineOlPortinfoAService.getById(id)); + } + /** + * 新增点位信息 + */ + @ApiOperation(value = "新增点位信息") + @Log(title = "点位信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsOnlineOlPortinfoA odsOnlineOlPortinfoA) { + return toAjax(odsOnlineOlPortinfoAService.save(odsOnlineOlPortinfoA)); + } + /** + * 修改点位信息 + */ + @ApiOperation(value = "修改点位信息") + @Log(title = "点位信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsOnlineOlPortinfoAVo odsOnlineOlPortinfoAVo) { + if(ObjectUtil.isEmpty(odsOnlineOlPortinfoAVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsOnlineOlPortinfoAVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsOnlineOlPortinfoA odsOnlineOlPortinfoA = odsOnlineOlPortinfoAService.getById(odsOnlineOlPortinfoAVo.getId()); + if(ObjectUtil.isEmpty(odsOnlineOlPortinfoA)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsOnlineOlPortinfoAVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsOnlineOlPortinfoAVo,odsOnlineOlPortinfoA); + return toAjax(odsOnlineOlPortinfoAService.saveOrUpdate(odsOnlineOlPortinfoA)); + } + + /** + * 删除点位信息 + */ + @ApiOperation(value = "删除点位信息") + @RequiresPermissions("talroad:a:remove") + @Log(title = "点位信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsOnlineOlPortinfoAService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsWhitelistAController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsWhitelistAController.java new file mode 100644 index 0000000..8099561 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsWhitelistAController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsOnlineOlPsWhitelistAQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; +import cn.cecep.talroad.vo.OdsOnlineOlPsWhitelistAVo; +import cn.cecep.talroad.service.IOdsOnlineOlPsWhitelistAService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 白名单信息Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "白名单信息") +@RestController +@RequestMapping("/onlineWhiteList") +public class OdsOnlineOlPsWhitelistAController extends BasesController +{ + @Autowired + private IOdsOnlineOlPsWhitelistAService odsOnlineOlPsWhitelistAService; + + /** + * 查询白名单信息列表 + */ + @ApiOperation(value = "查询白名单信息") + @GetMapping("/list") + public AjaxResults> list(OdsOnlineOlPsWhitelistAQuery odsOnlineOlPsWhitelistA) + { + Page page = new Page<>(odsOnlineOlPsWhitelistA.getPageNum(), odsOnlineOlPsWhitelistA.getPageSize()); + IPage list = odsOnlineOlPsWhitelistAService.page(page, OdsOnlineOlPsWhitelistAQuery.createLambdaQueryWrapper(odsOnlineOlPsWhitelistA)); + return AjaxResults.success(list); + } + + + /** + * 导出白名单信息列表 + */ + @ApiOperation(value = "导出白名单信息") + @Log(title = "白名单信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA) + { + List list = odsOnlineOlPsWhitelistAService.selectOdsOnlineOlPsWhitelistAList(odsOnlineOlPsWhitelistA); + ExcelUtil util = new ExcelUtil(OdsOnlineOlPsWhitelistA.class); + util.exportExcel(response, list, "白名单信息数据"); + } + + /** + * 获取白名单信息详细信息 + */ + @ApiOperation(value = "获取白名单信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsOnlineOlPsWhitelistAService.getById(id)); + } + /** + * 新增白名单信息 + */ + @ApiOperation(value = "新增白名单信息") + @Log(title = "白名单信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA) { + return toAjax(odsOnlineOlPsWhitelistAService.save(odsOnlineOlPsWhitelistA)); + } + /** + * 修改白名单信息 + */ + @ApiOperation(value = "修改白名单信息") + @Log(title = "白名单信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsOnlineOlPsWhitelistAVo odsOnlineOlPsWhitelistAVo) { + if(ObjectUtil.isEmpty(odsOnlineOlPsWhitelistAVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsOnlineOlPsWhitelistAVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA = odsOnlineOlPsWhitelistAService.getById(odsOnlineOlPsWhitelistAVo.getId()); + if(ObjectUtil.isEmpty(odsOnlineOlPsWhitelistA)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsOnlineOlPsWhitelistAVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsOnlineOlPsWhitelistAVo,odsOnlineOlPsWhitelistA); + return toAjax(odsOnlineOlPsWhitelistAService.saveOrUpdate(odsOnlineOlPsWhitelistA)); + } + + /** + * 删除白名单信息 + */ + @ApiOperation(value = "删除白名单信息") + @RequiresPermissions("talroad:a:remove") + @Log(title = "白名单信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsOnlineOlPsWhitelistAService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsinfoAController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsinfoAController.java new file mode 100644 index 0000000..36f596c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlPsinfoAController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsOnlineOlPsinfoAQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; +import cn.cecep.talroad.vo.OdsOnlineOlPsinfoAVo; +import cn.cecep.talroad.service.IOdsOnlineOlPsinfoAService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 公司信息Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "公司信息") +@RestController +@RequestMapping("/onlinePsInfo") +public class OdsOnlineOlPsinfoAController extends BasesController +{ + @Autowired + private IOdsOnlineOlPsinfoAService odsOnlineOlPsinfoAService; + + /** + * 查询公司信息列表 + */ + @ApiOperation(value = "查询公司信息") + @GetMapping("/list") + public AjaxResults> list(OdsOnlineOlPsinfoAQuery odsOnlineOlPsinfoA) + { + Page page = new Page<>(odsOnlineOlPsinfoA.getPageNum(), odsOnlineOlPsinfoA.getPageSize()); + IPage list = odsOnlineOlPsinfoAService.page(page, OdsOnlineOlPsinfoAQuery.createLambdaQueryWrapper(odsOnlineOlPsinfoA)); + return AjaxResults.success(list); + } + + + /** + * 导出公司信息列表 + */ + @ApiOperation(value = "导出公司信息") + @Log(title = "公司信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsOnlineOlPsinfoA odsOnlineOlPsinfoA) + { + List list = odsOnlineOlPsinfoAService.selectOdsOnlineOlPsinfoAList(odsOnlineOlPsinfoA); + ExcelUtil util = new ExcelUtil(OdsOnlineOlPsinfoA.class); + util.exportExcel(response, list, "公司信息数据"); + } + + /** + * 获取公司信息详细信息 + */ + @ApiOperation(value = "获取公司信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsOnlineOlPsinfoAService.getById(id)); + } + /** + * 新增公司信息 + */ + @ApiOperation(value = "新增公司信息") + @Log(title = "公司信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsOnlineOlPsinfoA odsOnlineOlPsinfoA) { + return toAjax(odsOnlineOlPsinfoAService.save(odsOnlineOlPsinfoA)); + } + /** + * 修改公司信息 + */ + @ApiOperation(value = "修改公司信息") + @Log(title = "公司信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsOnlineOlPsinfoAVo odsOnlineOlPsinfoAVo) { + if(ObjectUtil.isEmpty(odsOnlineOlPsinfoAVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsOnlineOlPsinfoAVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsOnlineOlPsinfoA odsOnlineOlPsinfoA = odsOnlineOlPsinfoAService.getById(odsOnlineOlPsinfoAVo.getId()); + if(ObjectUtil.isEmpty(odsOnlineOlPsinfoA)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsOnlineOlPsinfoAVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsOnlineOlPsinfoAVo,odsOnlineOlPsinfoA); + return toAjax(odsOnlineOlPsinfoAService.saveOrUpdate(odsOnlineOlPsinfoA)); + } + + /** + * 删除公司信息 + */ + @ApiOperation(value = "删除公司信息") + @RequiresPermissions("talroad:a:remove") + @Log(title = "公司信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsOnlineOlPsinfoAService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlStopinfoAController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlStopinfoAController.java new file mode 100644 index 0000000..5373095 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OdsOnlineOlStopinfoAController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.OdsOnlineOlStopinfoAQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; +import cn.cecep.talroad.vo.OdsOnlineOlStopinfoAVo; +import cn.cecep.talroad.service.IOdsOnlineOlStopinfoAService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 停产信息Controller 控制层 + * + * @author szhpt + * @date 2023-06-10*/ +@Api(tags = "停产信息") +@RestController +@RequestMapping("/onlineStopInfo") +public class OdsOnlineOlStopinfoAController extends BasesController +{ + @Autowired + private IOdsOnlineOlStopinfoAService odsOnlineOlStopinfoAService; + + /** + * 查询停产信息列表 + */ + @ApiOperation(value = "查询停产信息") + @GetMapping("/list") + public AjaxResults> list(OdsOnlineOlStopinfoAQuery odsOnlineOlStopinfoA) + { + Page page = new Page<>(odsOnlineOlStopinfoA.getPageNum(), odsOnlineOlStopinfoA.getPageSize()); + IPage list = odsOnlineOlStopinfoAService.page(page, OdsOnlineOlStopinfoAQuery.createLambdaQueryWrapper(odsOnlineOlStopinfoA)); + return AjaxResults.success(list); + } + + + /** + * 导出停产信息列表 + */ + @ApiOperation(value = "导出停产信息") + @Log(title = "停产信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OdsOnlineOlStopinfoA odsOnlineOlStopinfoA) + { + List list = odsOnlineOlStopinfoAService.selectOdsOnlineOlStopinfoAList(odsOnlineOlStopinfoA); + ExcelUtil util = new ExcelUtil(OdsOnlineOlStopinfoA.class); + util.exportExcel(response, list, "停产信息数据"); + } + + /** + * 获取停产信息详细信息 + */ + @ApiOperation(value = "获取停产信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(odsOnlineOlStopinfoAService.getById(id)); + } + /** + * 新增停产信息 + */ + @ApiOperation(value = "新增停产信息") + @Log(title = "停产信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody OdsOnlineOlStopinfoA odsOnlineOlStopinfoA) { + return toAjax(odsOnlineOlStopinfoAService.save(odsOnlineOlStopinfoA)); + } + /** + * 修改停产信息 + */ + @ApiOperation(value = "修改停产信息") + @Log(title = "停产信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody OdsOnlineOlStopinfoAVo odsOnlineOlStopinfoAVo) { + if(ObjectUtil.isEmpty(odsOnlineOlStopinfoAVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(odsOnlineOlStopinfoAVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + OdsOnlineOlStopinfoA odsOnlineOlStopinfoA = odsOnlineOlStopinfoAService.getById(odsOnlineOlStopinfoAVo.getId()); + if(ObjectUtil.isEmpty(odsOnlineOlStopinfoA)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", odsOnlineOlStopinfoAVo.getId())); + } + //赋值 + BeanUtil.copyProperties(odsOnlineOlStopinfoAVo,odsOnlineOlStopinfoA); + return toAjax(odsOnlineOlStopinfoAService.saveOrUpdate(odsOnlineOlStopinfoA)); + } + + /** + * 删除停产信息 + */ + @ApiOperation(value = "删除停产信息") + @RequiresPermissions("talroad:a:remove") + @Log(title = "停产信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(odsOnlineOlStopinfoAService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OnlineMonitoringAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OnlineMonitoringAnalysisController.java new file mode 100644 index 0000000..9a2fb31 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/OnlineMonitoringAnalysisController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SysBasRegion; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.analysis.MonitoringPointWarningDetailsQuery; +import cn.cecep.talroad.vo.query.analysis.SRaMultiSourceQuery; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.xml.crypto.Data; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Api(tags = "大屏--在线监控分析") +@RestController +@RequestMapping("/onlineMonitoringAnalysis") +public class OnlineMonitoringAnalysisController { + @Autowired + private HomePageMapService homePageMapService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @ApiOperation(value = "在线监测数量总览") + @GetMapping("/overviewOnlineMonitors") + public AjaxResults overviewOnlineMonitors() { + return AjaxResults.success(homePageMapService.overviewOnlineMonitors()); + } + @ApiOperation(value = "监测点位预警报警情况") + @GetMapping("/monitoringPointWarning") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "1废气2废水", dataType = "String"), + }) + public AjaxResults monitoringPointWarning(@RequestParam String type) { + return AjaxResults.success(homePageMapService.monitoringPointWarning(type)); + } + @ApiOperation(value = "监测点位预警报警情况详情") + @GetMapping("/monitoringPointWarningDetails") + public AjaxResults> monitoringPointWarningDetails(MonitoringPointWarningDetailsQuery query) { + return AjaxResults.success(homePageMapService.monitoringPointWarningDetails(query)); + } + @ApiOperation(value = "导出监测点位预警报警情况详情") + @Log(title = "监测点位预警报警情况详情", businessType = BusinessType.EXPORT) + @PostMapping("/exportMonitoringPointWarningDetails") + public void exportMonitoringPointWarningDetails(HttpServletResponse response, @RequestBody MonitoringPointWarningDetailsQuery query) + { + List warningDetailsVoList=homePageMapService.exportMonitoringPointWarningDetails(query); + ExcelUtil util = new ExcelUtil(MonitoringPointWarningDetailsVo.class); + util.exportExcel(response, warningDetailsVoList, "监测点位预警报警情况详情"); + } + @ApiOperation(value = "企业问题TOP10") + @GetMapping("/enterpriseIssuesTop") + public AjaxResults> enterpriseIssuesTop() { + return AjaxResults.success(homePageMapService.enterpriseIssuesTop()); + } + + @ApiOperation(value = "在线监测排放量变化趋势") + @GetMapping("/effectiveMonitoringRate") + public AjaxResults effectiveMonitoringRate(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(homePageMapService.effectiveMonitoringRate(query)); + } + /*定时更新在线监测排放量变化趋势缓存数据*/ + @Scheduled(cron = "0 2 * * * ?") + public void scheduledUpdate(){ + List regionArr=new ArrayList<>(); + R> r = baseRegionService.getRegionList("130200"); + if(r.getCode()==200){ + regionArr=r.getData(); + } + String end = DateUtil.now(); + Date newDate = DateUtil.offset(DateUtil.parse(end), DateField.DAY_OF_MONTH, -1); + String now = DateUtil.format(newDate, DatePattern.NORM_DATETIME_FORMAT); + regionArr.forEach(item->{ + EffectiveMonitoringRateQuery effectiveMonitoringRateQuery=new EffectiveMonitoringRateQuery(); + effectiveMonitoringRateQuery.setDataType("H"); + effectiveMonitoringRateQuery.setMonitoringStartTime(now); + effectiveMonitoringRateQuery.setMonitoringEndTime(end); + effectiveMonitoringRateQuery.setType("1"); + effectiveMonitoringRateQuery.setRegionCode(item.getRegionCode()); + homePageMapService.effectiveMonitoringRate(effectiveMonitoringRateQuery); + }); + regionArr.forEach(item->{ + EffectiveMonitoringRateQuery effectiveMonitoringRateQuery=new EffectiveMonitoringRateQuery(); + effectiveMonitoringRateQuery.setDataType("H"); + effectiveMonitoringRateQuery.setMonitoringStartTime(now); + effectiveMonitoringRateQuery.setMonitoringEndTime(end); + effectiveMonitoringRateQuery.setType("2"); + effectiveMonitoringRateQuery.setRegionCode(item.getRegionCode()); + homePageMapService.effectiveMonitoringRate(effectiveMonitoringRateQuery); + }); + } + @ApiOperation(value = "区域在线监测有效监测率及超标率") + @GetMapping("/regionalOnlineMonitoring") + public AjaxResults> regionalOnlineMonitoring(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(homePageMapService.regionalOnlineMonitoring(query)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslController.java new file mode 100644 index 0000000..491f46b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcAdsl; +import cn.cecep.talroad.service.IPcAdslService; +import cn.cecep.talroad.vo.PcAdslVo; +import cn.cecep.talroad.vo.query.PcAdslQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业接入数据类型Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "企业接入数据类型") +@RestController +@RequestMapping("/pcAdsl") +public class PcAdslController extends BasesController +{ + @Autowired + private IPcAdslService pcAdslService; + + /** + * 查询企业接入数据类型列表 + */ + @ApiOperation(value = "查询企业接入数据类型") + @GetMapping("/list") + public AjaxResults> list(PcAdslQuery pcAdsl) + { + Page page = new Page<>(pcAdsl.getPageNum(), pcAdsl.getPageSize()); + IPage list = pcAdslService.page(page, PcAdslQuery.createLambdaQueryWrapper(pcAdsl)); + return AjaxResults.success(list); + } + + + /** + * 导出企业接入数据类型列表 + */ + @ApiOperation(value = "导出企业接入数据类型") + @Log(title = "企业接入数据类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcAdsl pcAdsl) + { + List list = pcAdslService.selectPcAdslList(pcAdsl); + ExcelUtil util = new ExcelUtil(PcAdsl.class); + util.exportExcel(response, list, "企业接入数据类型数据"); + } + + /** + * 获取企业接入数据类型详细信息 + */ + @ApiOperation(value = "获取企业接入数据类型详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(pcAdslService.getById(id)); + } + /** + * 新增企业接入数据类型 + */ + @ApiOperation(value = "新增企业接入数据类型") + @Log(title = "企业接入数据类型", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcAdsl pcAdsl) { + return toAjax(pcAdslService.save(pcAdsl)); + } + /** + * 修改企业接入数据类型 + */ + @ApiOperation(value = "修改企业接入数据类型") + @Log(title = "企业接入数据类型", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcAdslVo pcAdslVo) { + if(ObjectUtil.isEmpty(pcAdslVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcAdslVo.getAdslId())){ + throw new InvalidParameterException("参数id为空"); + } + PcAdsl pcAdsl = pcAdslService.getById(pcAdslVo.getAdslId()); + if(ObjectUtil.isEmpty(pcAdsl)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcAdslVo.getAdslId())); + } + //赋值 + BeanUtil.copyProperties(pcAdslVo,pcAdsl); + return toAjax(pcAdslService.saveOrUpdate(pcAdsl)); + } + + /** + * 删除企业接入数据类型 + */ + @ApiOperation(value = "删除企业接入数据类型") + @RequiresPermissions("talroad:pcAdsl:remove") + @Log(title = "企业接入数据类型", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(pcAdslService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslFactoryController.java new file mode 100644 index 0000000..29d4377 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcAdslFactoryController.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcAdslFactory; +import cn.cecep.talroad.service.IPcAdslFactoryService; +import cn.cecep.talroad.vo.PcAdslFactoryVo; +import cn.cecep.talroad.vo.query.PcAdslFactoryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业与接入数据类型关联Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "A企业与接入数据类型关联") +@RestController +@RequestMapping("/pcAdslFactory") +public class PcAdslFactoryController extends BasesController +{ + @Autowired + private IPcAdslFactoryService pcAdslFactoryService; + + /** + * 企业数据接入全面度 + */ + @ApiOperation(value = "企业数据接入全面度[highlight不为空则点亮]") + @GetMapping(value = "/{factoryId}") + public AjaxResults>> selectEntInDatas(@PathVariable("factoryId") String factoryId) { + return AjaxResults.success(pcAdslFactoryService.selectEntInDatas(factoryId)); + } + + /** + * 查询企业与接入数据类型关联列表 + */ + @ApiOperation(value = "查询企业与接入数据类型关联") + @GetMapping("/list") + public AjaxResults> list(PcAdslFactoryQuery pcAdslFactory) + { + Page page = new Page<>(pcAdslFactory.getPageNum(), pcAdslFactory.getPageSize()); + IPage list = pcAdslFactoryService.page(page, PcAdslFactoryQuery.createLambdaQueryWrapper(pcAdslFactory)); + return AjaxResults.success(list); + } + + + /** + * 导出企业与接入数据类型关联列表 + */ + @ApiOperation(value = "导出企业与接入数据类型关联") + @Log(title = "企业与接入数据类型关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcAdslFactory pcAdslFactory) + { + List list = pcAdslFactoryService.selectPcAdslFactoryList(pcAdslFactory); + ExcelUtil util = new ExcelUtil(PcAdslFactory.class); + util.exportExcel(response, list, "企业与接入数据类型关联数据"); + } + + /** + * 获取企业与接入数据类型关联详细信息 + */ + @ApiOperation(value = "获取企业与接入数据类型关联详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Long id) { + return AjaxResults.success(pcAdslFactoryService.getById(id)); + } + /** + * 新增企业与接入数据类型关联 + */ + @ApiOperation(value = "新增企业与接入数据类型关联") + @Log(title = "企业与接入数据类型关联", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcAdslFactory pcAdslFactory) { + return toAjax(pcAdslFactoryService.save(pcAdslFactory)); + } + /** + * 修改企业与接入数据类型关联 + */ + @ApiOperation(value = "修改企业与接入数据类型关联") + @Log(title = "企业与接入数据类型关联", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcAdslFactoryVo pcAdslFactoryVo) { + if(ObjectUtil.isEmpty(pcAdslFactoryVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcAdslFactoryVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcAdslFactory pcAdslFactory = pcAdslFactoryService.getById(pcAdslFactoryVo.getId()); + if(ObjectUtil.isEmpty(pcAdslFactory)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcAdslFactoryVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcAdslFactoryVo,pcAdslFactory); + return toAjax(pcAdslFactoryService.saveOrUpdate(pcAdslFactory)); + } + + /** + * 删除企业与接入数据类型关联 + */ + @ApiOperation(value = "删除企业与接入数据类型关联") + @RequiresPermissions("talroad:pcAdslFactory:remove") + @Log(title = "企业与接入数据类型关联", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(pcAdslFactoryService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcArchivesFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcArchivesFactoryController.java new file mode 100644 index 0000000..b7b16c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcArchivesFactoryController.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.PcArchivesFactoryService; +import cn.cecep.talroad.vo.PcArchivesFactoryVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@Api(tags = "企业档案分类") +@RestController +@RequestMapping("/pcArchivesFactory") +public class PcArchivesFactoryController extends BasesController { + @Autowired + private PcArchivesFactoryService archivesFactoryService; + + @ApiOperation(value = "获取企业分类档案") + @GetMapping("/{factoryId}") + public AjaxResults getByFactoryId(@PathVariable("factoryId") String factoryId) { + PcArchivesFactoryVo vo = archivesFactoryService.getByFactoryId(factoryId); + return AjaxResults.success(vo); + } + + @ApiOperation(value = "删除") + @PostMapping("/remove/{id}") + public AjaxResults remove(@PathVariable("id") String id) { + archivesFactoryService.deleteById(id); + return AjaxResults.success(); + } + + @ApiOperation(value = "还原") + @PostMapping("/revert/{id}") + public AjaxResults revert(@PathVariable("id") String id) { + archivesFactoryService.revert(id); + return AjaxResults.success(); + } + + @ApiOperation(value = "关注") + @PostMapping("/follow/{id}") + public AjaxResults follow(@PathVariable("id") String id) { + archivesFactoryService.follow(id); + return AjaxResults.success(); + } + + @ApiOperation(value = "取消关注") + @PostMapping("/cancelFollow/{id}") + public AjaxResults cancelFollow(@PathVariable("id") String id) { + archivesFactoryService.cancelFollow(id); + return AjaxResults.success(); + } + + @ApiOperation(value = "初始化企业分类档案") + @PostMapping("/init") + public AjaxResults init(@RequestParam(value = "factoryId", required = false) String factoryId) { + archivesFactoryService.init(factoryId); + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcControlRequirementsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcControlRequirementsController.java new file mode 100644 index 0000000..014e401 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcControlRequirementsController.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.PcControlRequirements; +import cn.cecep.talroad.service.IPcControlRequirementsService; +import cn.cecep.talroad.vo.query.PcControlRequirementsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 管控要求Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--管控要求") +@RestController +@RequestMapping("/pcControlRequirements") +public class PcControlRequirementsController extends BasesController +{ + @Autowired + private IPcControlRequirementsService pcControlRequirementsService; + + /** + * 查询管控要求列表 + */ + @ApiOperation(value = "查询管控要求") + @GetMapping("/list") + public AjaxResults> list(PcControlRequirementsQuery pcControlRequirements) + { + Page page = new Page<>(pcControlRequirements.getPageNum(), pcControlRequirements.getPageSize()); + IPage list = pcControlRequirementsService.page(page, PcControlRequirementsQuery.createLambdaQueryWrapper(pcControlRequirements)); + return AjaxResults.success(list); + } + + + /** + * 导出管控要求列表 + */ + @ApiOperation(value = "导出管控要求") + @Log(title = "管控要求", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcControlRequirements pcControlRequirements) + { + List list = pcControlRequirementsService.selectPcControlRequirementsList(pcControlRequirements); + ExcelUtil util = new ExcelUtil(PcControlRequirements.class); + util.exportExcel(response, list, "管控要求数据"); + } + + /** + * 获取管控要求详细信息 + */ + @ApiOperation(value = "获取管控要求详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcControlRequirementsService.getById(id)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlController.java new file mode 100644 index 0000000..22a2684 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlController.java @@ -0,0 +1,149 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import cn.cecep.talroad.service.IPcFactoryAccessControlService; +import cn.cecep.talroad.vo.PcFactoryAccessControlVo; +import cn.cecep.talroad.vo.query.PcFactoryAccessControlQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.PrimitiveIterator; +import java.util.stream.IntStream; + +/** + * @Description: 企业门禁信息 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Api(tags = "企业门禁信息") +@RestController +@RequestMapping("/pcFactoryAccessControl") +public class PcFactoryAccessControlController extends BasesController{ + @Autowired + private IPcFactoryAccessControlService pcFactoryAccessControlService; + + /** + * 查询企业门禁信息列表 + */ + @ApiOperation(value = "查询企业门禁坐标信息列表") + @GetMapping("/list") + public AjaxResults> list(PcFactoryAccessControlQuery pcFactoryAccessControl) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryAccessControl.setFactoryId(factoryId); + } + Page page = new Page<>(pcFactoryAccessControl.getPageNum(), pcFactoryAccessControl.getPageSize()); + IPage list = pcFactoryAccessControlService.page(page, PcFactoryAccessControlQuery.createLambdaQueryWrapper(pcFactoryAccessControl)); + return AjaxResults.success(list); + } + + /** + * 导出企业门禁信息列表 + */ + @ApiOperation(value = "导出企业门禁坐标信息列表") + @Log(title = "企业门禁坐标信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcFactoryAccessControlQuery pcFactoryAccessControlQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryAccessControlQuery.setFactoryId(factoryId); + } + List list = pcFactoryAccessControlService.list(PcFactoryAccessControlQuery.createLambdaQueryWrapper(pcFactoryAccessControlQuery)); + + List pcFactoryAccessControlList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + PcFactoryAccessControlVo pcFactoryAccessControlVo = new PcFactoryAccessControlVo(); + BeanUtil.copyProperties(e, pcFactoryAccessControlVo); + pcFactoryAccessControlVo.setSerialnumber(iterator.next()); + pcFactoryAccessControlList.add(pcFactoryAccessControlVo); + }); + ExcelUtil util = new ExcelUtil<>(PcFactoryAccessControlVo.class); + util.exportExcel(response, pcFactoryAccessControlList, "企业门禁信息"); + } + + + /** + * 查询企业门禁下拉框 + */ + @ApiOperation(value = "企业门禁下拉框") + @GetMapping("/factoryAccessControlSelect") + public AjaxResults> factoryAccessControlSelect(PcFactoryAccessControlQuery pcFactoryAccessControl) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryAccessControl.setFactoryId(factoryId); + } + List list = pcFactoryAccessControlService.list(PcFactoryAccessControlQuery.createLambdaQueryWrapper(pcFactoryAccessControl).groupBy("access_control_name")); + return AjaxResults.success(list); + } + + /** + * 批量修改企业门禁坐标信息 + */ + @ApiOperation(value = "批量修改企业门禁坐标信息") + @Log(title = "企业门禁坐标信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatchCoordinate") + public AjaxResults editBatch(@RequestBody PcFactoryAccessControl[] pcFactoryAccessControlArr) { + if (pcFactoryAccessControlArr ==null || pcFactoryAccessControlArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + pcFactoryAccessControlService.editBatch(pcFactoryAccessControlArr); + return toAjax(true); + } + + /** + * 获取企业门禁信息详细信息 + */ + @ApiOperation(value = "获取企业门禁信息详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcFactoryAccessControlService.getById(id)); + } + + /** + * 新增企业门禁信息 + */ + @ApiOperation(value = "新增企业门禁信息") + @Log(title = "企业门禁信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactoryAccessControlVo pcFactoryAccessControlVo) { + PcFactoryAccessControl pcFactoryAccessControl = new PcFactoryAccessControl(); + BeanUtils.copyBeanProp(pcFactoryAccessControlVo, pcFactoryAccessControl); + return pcFactoryAccessControlService.save(pcFactoryAccessControl) ? AjaxResults.success() : AjaxResults.error(300001, "新增失败"); + } + + + /** + * 删除企业门禁信息 + */ + @ApiOperation(value = "删除企业门禁信息") + // @RequiresPermissions("talroad:pcFactoryAccessControl:remove") + @Log(title = "企业门禁信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return pcFactoryAccessControlService.removeByIds(Arrays.asList(ids)) ? AjaxResults.success() : + AjaxResults.error(300004, "删除失败"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlCoordinateOperationLogController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlCoordinateOperationLogController.java new file mode 100644 index 0000000..fa6871c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccessControlCoordinateOperationLogController.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import cn.cecep.talroad.service.IPcFactoryAccessControlCoordinateOperationLogService; +import cn.cecep.talroad.vo.PcFactoryAccessControlCoordinateOperationLogVo; +import cn.cecep.talroad.vo.query.PcFactoryAccessControlCoordinateOperationLogQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + /** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Api(tags = "企业门禁坐标操作日志") +@RestController +@RequestMapping("/pcFactoryAccessControlCoordinateOperationLog") +public class PcFactoryAccessControlCoordinateOperationLogController extends BasesController{ + @Autowired + private IPcFactoryAccessControlCoordinateOperationLogService pcFactoryAccessControlCoordinateOperationLogService; + + /** + * 查询企业门禁坐标操作日志列表 + */ + @ApiOperation(value = "查询企业门禁坐标操作日志列表") + @GetMapping("/list") + public AjaxResults> list(PcFactoryAccessControlCoordinateOperationLogQuery pcFactoryAccessControlCoordinateOperationLog) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryAccessControlCoordinateOperationLog.setFactoryId(factoryId); + } + Page page = new Page<>(pcFactoryAccessControlCoordinateOperationLog.getPageNum(), pcFactoryAccessControlCoordinateOperationLog.getPageSize()); + IPage list = pcFactoryAccessControlCoordinateOperationLogService.page(page, PcFactoryAccessControlCoordinateOperationLogQuery.createLambdaQueryWrapper(pcFactoryAccessControlCoordinateOperationLog)); + return AjaxResults.success(list); + } + + /** + * 导出企业门禁坐标操作日志列表 + */ + @ApiOperation(value = "导出企业门禁坐标操作日志列表") + @Log(title = "企业门禁坐标操作日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcFactoryAccessControlCoordinateOperationLogQuery pcFactoryAccessControlCoordinateOperationLogQuery) { + List list = pcFactoryAccessControlCoordinateOperationLogService.list(PcFactoryAccessControlCoordinateOperationLogQuery.createLambdaQueryWrapper(pcFactoryAccessControlCoordinateOperationLogQuery)); + ExcelUtil util = new ExcelUtil(PcFactoryAccessControlCoordinateOperationLog.class); + util.exportExcel(response, list, "企业门禁坐标操作日志"); + } + + /** + * 获取企业门禁坐标操作日志详细信息 + */ + @ApiOperation(value = "获取企业门禁坐标操作日志详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcFactoryAccessControlCoordinateOperationLogService.getById(id)); + } + + /** + * 新增企业门禁坐标操作日志 + */ + @ApiOperation(value = "新增企业门禁坐标操作日志") + @Log(title = "企业门禁坐标操作日志", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactoryAccessControlCoordinateOperationLogVo pcFactoryAccessControlCoordinateOperationLogVo) { + PcFactoryAccessControlCoordinateOperationLog pcFactoryAccessControlCoordinateOperationLog = new PcFactoryAccessControlCoordinateOperationLog(); + BeanUtils.copyBeanProp(pcFactoryAccessControlCoordinateOperationLogVo, pcFactoryAccessControlCoordinateOperationLog); + return pcFactoryAccessControlCoordinateOperationLogService.save(pcFactoryAccessControlCoordinateOperationLog) ? AjaxResults.success() : AjaxResults.error(300001, "新增失败"); + } + + /** + * 修改企业门禁坐标操作日志 + */ + @ApiOperation(value = "修改企业门禁坐标操作日志") + @Log(title = "企业门禁坐标操作日志", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcFactoryAccessControlCoordinateOperationLogVo pcFactoryAccessControlCoordinateOperationLogVo) { + PcFactoryAccessControlCoordinateOperationLog pcFactoryAccessControlCoordinateOperationLog = pcFactoryAccessControlCoordinateOperationLogService.getById(pcFactoryAccessControlCoordinateOperationLogVo.getLogId()); + if (ObjectUtil.isNull(pcFactoryAccessControlCoordinateOperationLog)) { + return AjaxResults.error(300002, "修改失败"); + } + // 赋值 + BeanUtil.copyProperties(pcFactoryAccessControlCoordinateOperationLogVo, pcFactoryAccessControlCoordinateOperationLog); + return pcFactoryAccessControlCoordinateOperationLogService.saveOrUpdate(pcFactoryAccessControlCoordinateOperationLog) ? AjaxResults.success() : + AjaxResults.error(300003, "修改失败"); + } + + /** + * 删除企业门禁坐标操作日志 + */ + @ApiOperation(value = "删除企业门禁坐标操作日志") + // @RequiresPermissions("talroad:pcFactoryAccessControlCoordinateOperationLog:remove") + @Log(title = "企业门禁坐标操作日志", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return pcFactoryAccessControlCoordinateOperationLogService.removeByIds(Arrays.asList(ids)) ? AjaxResults.success() : + AjaxResults.error(300004, "删除失败"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccuratePortraitController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccuratePortraitController.java new file mode 100644 index 0000000..57ac61b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryAccuratePortraitController.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.vo.BMainEmissionAndstatusScaleVo; +import cn.cecep.talroad.vo.DistributionOfMajorEmittersVo; +import cn.cecep.talroad.vo.EnvironmentCreditPropVo; +import cn.cecep.talroad.vo.ImportPollutionDischargeVo; +import cn.cecep.talroad.vo.homepage.HpmCompanyOverviewVo; +import cn.cecep.talroad.vo.homepage.HpmMeriRatingOverviewVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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; +import java.util.concurrent.ConcurrentHashMap; + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业基本信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-11*/ +@Api(tags = "企业精准画像") +@RestController +@RequestMapping("/pcFactoryAccuratePortrait") +public class PcFactoryAccuratePortraitController { + + @Autowired + private HomePageMapService homePageMapService; + + @ApiOperation(value = "企业总览") + @GetMapping("/companyOverview") + public AjaxResults companyOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectCompanyOverview(null,regionCode)); + } + + @ApiOperation(value = "排放大户分布") + @GetMapping("/rankingStat") + @ApiImplicitParam(name = "pollutantType", value = "污染物类型", dataType = "String", required = true) + public AjaxResults rankingStat(String pollutantType) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectRankingStat(pollutantType, regionCode)); + } + + @ApiOperation(value = "排放监测及排放情况-大气和废水手工自动占比") + @GetMapping("/emissionAndstatusScale") + public AjaxResults emissionAndstatusScale() { + return AjaxResults.success(homePageMapService.selectEmissionAndstatusScale(null)); + } + + @ApiOperation(value = "排放监测及排放情况 - 涉水涉气监控类型") + @GetMapping("/emissionMonitoringType") + public AjaxResults emissionMonitoringType() { + ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); + return AjaxResults.success(homePageMapService.selectCompanyOverview(null,null)); + } + + @ApiOperation(value = "排放监测及排放情况 - 超标数量柱状图") + @GetMapping("/emissionMonitoringOverstep") + public AjaxResults emissionMonitoringOverstep() { + return AjaxResults.success(homePageMapService.selectCompanyOverview(null,null)); + } + + @ApiOperation(value = "企业管理特征总览 - 重点排污单位") + @GetMapping("/companyOverview/importPollutionDischarge") + public AjaxResults> importPollutionDischarge() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return AjaxResults.success(homePageMapService.selectImportPollutionDischarge(regionCode)); + } + + @ApiOperation(value = "企业绩效评级") + @GetMapping("/meritRatingOverview") + public AjaxResults meritRatingOverview() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + HpmMeriRatingOverviewVo hrov = homePageMapService.selectMeritRatingOverview(null,regionCode); + return AjaxResults.success(hrov); + } + + @ApiOperation(value = "生态环境信用占比") + @GetMapping("/proportionOfEcologicalEnvironmentCredit") + public AjaxResults proportionOfEcologicalEnvironmentCredit() { + return AjaxResults.success(homePageMapService.selectProportionOfEcologicalEnvironmentCredit()); + } + + @ApiOperation(value = "超低排放管理") + @GetMapping("/ultraLowEmissions") + public AjaxResults ultraLowEmissions() { + return AjaxResults.success(homePageMapService.selectCompanyOverview(null,null)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryController.java new file mode 100644 index 0000000..d8b173b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryController.java @@ -0,0 +1,292 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; +import java.util.stream.IntStream; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业基本信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-11*/ +@Api(tags = "基础信息--企业基本信息") +@RestController +@RequestMapping("/pcFactory") +public class PcFactoryController extends BasesController +{ + @Autowired + private IPcFactoryService pcFactoryService; + + /** + * 查询企业基本信息列表 + */ + @ApiOperation(value = "查询企业基本信息") + @GetMapping("/list") + public AjaxResults> list(PcFactoryQuery pcFactory) + { + Page page = new Page<>(pcFactory.getPageNum(), pcFactory.getPageSize()); + IPage list = pcFactoryService.page(page, PcFactoryQuery.createLambdaQueryWrapper(pcFactory)); + return AjaxResults.success(list); + } + + @GetMapping("/getFactorysByIndustry") + @ApiOperation(value = "根据行业获取企业列表", notes = "") + public AjaxResults> getFactorysByIndustry( + @ApiParam(name = "industry", value = "GT:钢铁,JH:焦化,SN:水泥,FS:焚烧,BL:玻璃", defaultValue = "", allowableValues = "GT,JH,SN,FS,BL") @RequestParam(required = false) String industry) { + if (StringUtils.isBlank(industry)) { + industry = EnIndustry.GT.id(); + } + List list = pcFactoryService.lambdaQuery().eq(PcFactory::getIndustryCategory, industry).list(); + return AjaxResults.success(list); + } + + /** + * 查询企业基本信息列表 + */ + @ApiOperation(value = "查询企业基本信息列表") + @GetMapping("/selectList") + public AjaxResults> selectList(PcFactoryQuery pcFactory) + { + List list = pcFactoryService.list(PcFactoryQuery.createLambdaQueryWrapper(pcFactory)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "企业高级搜索") + @PostMapping("/search") + public AjaxResults> search(@RequestBody PcFactoryQuery.SearchVo searchVo) { + Page page = new Page<>(searchVo.getPageNum(), searchVo.getPageSize()); + + // 默认查标签 + if (searchVo.getShowMainLable() == null) { + searchVo.setShowMainLable(true); + } + pcFactoryService.search(page, searchVo, "list", SecurityUtils.getLoginUser().getSysUser().getRegionCode()); + return AjaxResults.success(page); + } + + @ApiOperation(value = "获取企业的关联设备类型") + @GetMapping("/deviceType/{id}") + public AjaxResults>> list(@PathVariable("id") String id) + { + List> list = pcFactoryService.getDeviceType(id); + return AjaxResults.success(list); + } + + /** + * 导出企业基本信息列表 + */ + @ApiOperation(value = "导出企业基本信息") + @Log(title = "企业基本信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcFactoryQuery.SearchVo searchVo) + { + Page page = new Page<>(searchVo.getPageNum(), searchVo.getPageSize()); + // 默认查标签 + if (searchVo.getShowMainLable() == null) { + searchVo.setShowMainLable(true); + } + pcFactoryService.search(page, searchVo, "list", SecurityUtils.getLoginUser().getSysUser().getRegionCode()); + ExcelUtil util = new ExcelUtil<>(PcFactoryVo.class); + util.exportExcel(response, page.getRecords(), "企业基本信息数据"); + } + + /** + * 获取企业基本信息详细信息 + */ + @ApiOperation(value = "获取企业基本信息详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcFactoryService.getInfo(id)); + } + /** + * 新增企业基本信息 + */ + @ApiOperation(value = "新增企业基本信息") + @Log(title = "企业基本信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactory pcFactory) { + return toAjax(pcFactoryService.save(pcFactory)); + } + /** + * 修改企业基本信息 + */ + @ApiOperation(value = "修改企业基本信息") + @Log(title = "企业基本信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcFactoryVo pcFactoryVo) { + if(ObjectUtil.isEmpty(pcFactoryVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcFactoryVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcFactory pcFactory = pcFactoryService.getById(pcFactoryVo.getId()); + if(ObjectUtil.isEmpty(pcFactory)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcFactoryVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcFactoryVo,pcFactory); + return toAjax(pcFactoryService.saveOrUpdate(pcFactory)); + } + + /** + * 删除企业基本信息 + */ + @ApiOperation(value = "删除企业基本信息") + @RequiresPermissions("talroad:factory:remove") + @Log(title = "企业基本信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcFactoryService.removeByIds(Arrays.asList(ids))); + } + + @ApiOperation(value = "批量生成企业标签数据") + @PostMapping("/batchCreateLabel") + public AjaxResults batchCreateLabel() { + pcFactoryService.batchCreateLabel(); + return AjaxResults.success(); + } + + @ApiOperation(value = "分表计电大屏-报警企业排名") + @PostMapping("/warningRank") + public AjaxResults> warningRank() { + List rankList = pcFactoryService.getWarningRank(); + return AjaxResults.success(rankList); + } + + /** + * 修改企业基本信息 + */ + @ApiOperation(value = "修改企业基本信息-企业端") + @Log(title = "修改企业基本信息-企业端", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editFactory") + public AjaxResults editFactory(@RequestBody PcFactoryVo pcFactoryVo) { + if(ObjectUtil.isEmpty(pcFactoryVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcFactoryVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcFactory pcFactory = pcFactoryService.getById(pcFactoryVo.getId()); + + if(ObjectUtil.isEmpty(pcFactory)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcFactoryVo.getId())); + } + //赋值 + pcFactory.setProductionLon(pcFactoryVo.getProductionLon()); + pcFactory.setProductionLat(pcFactoryVo.getProductionLat()); + + return toAjax(pcFactoryService.saveOrUpdate(pcFactory)); + } + + + /** + * 查询企业坐标信息 + */ + @ApiOperation(value = "查询企业坐标信息") + @GetMapping("/coordinateList") + public AjaxResults> coordinateList(PcFactoryQuery pcFactory) + { + String id = pcFactory.getId(); + if(StringUtils.isEmpty(id)){ + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactory.setId(factoryId); + } + } + Page page = new Page<>(pcFactory.getPageNum(), pcFactory.getPageSize()); + IPage list = pcFactoryService.page(page, PcFactoryQuery.createLambdaQueryWrapper(pcFactory).orderByDesc("factory_name")); + return AjaxResults.success(list); + } + + /** + * 导出企业坐标信息列表 + */ + @ApiOperation(value = "导出企业坐标信息") + @Log(title = "企业坐标信息列表", businessType = BusinessType.EXPORT) + @PostMapping("/exportCoordinateList") + public void exportCoordinateList(HttpServletResponse response,@RequestBody PcFactoryQuery pcFactoryQuery) + { + String id = pcFactoryQuery.getId(); + if(StringUtils.isEmpty(id)){ + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryQuery.setId(factoryId); + } + } + List list = pcFactoryService.list(PcFactoryQuery.createLambdaQueryWrapper(pcFactoryQuery).orderByDesc("factory_name")); + List pcFactoryCoordinateVoList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + PcFactoryCoordinateVo pcFactoryCoordinateVo = new PcFactoryCoordinateVo(); + BeanUtil.copyProperties(e, pcFactoryCoordinateVo); + pcFactoryCoordinateVo.setSerialnumber(iterator.next()); + pcFactoryCoordinateVoList.add(pcFactoryCoordinateVo); + }); + ExcelUtil util = new ExcelUtil<>(PcFactoryCoordinateVo.class); + util.exportExcel(response, pcFactoryCoordinateVoList, "企业坐标信息数据"); + } + + /** + * 批量修改企业坐标信息 + */ + @ApiOperation(value = "批量修改企业坐标信息") + @Log(title = "企业坐标信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatchCoordinate") + public AjaxResults editBatch(@RequestBody PcFactory[] pcFactoryArr) { + if (pcFactoryArr ==null || pcFactoryArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + pcFactoryService.editBatch(pcFactoryArr); + return toAjax(true); + } + + /** + * 大屏任务调度-企业许可证发放情况 + */ + @ApiOperation(value = "大屏任务调度-企业许可证发放情况") + @GetMapping("/licenSingStatusList") + public AjaxResults licenSingStatusList() { + return AjaxResults.success(pcFactoryService.licenSingStatusList()); + } + + /** + * 大屏任务调度-行业分布情况 + */ + @ApiOperation(value = "大屏任务调度-行业分布情况") + @GetMapping("/professionStatusChart") + public AjaxResults professionStatusChart() { + return AjaxResults.success(pcFactoryService.professionStatusChart()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryCoordinateOperationLogController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryCoordinateOperationLogController.java new file mode 100644 index 0000000..1246d68 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryCoordinateOperationLogController.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcFactoryCoordinateOperationLog; +import cn.cecep.talroad.service.IPcFactoryCoordinateOperationLogService; +import cn.cecep.talroad.vo.PcFactoryCoordinateOperationLogVo; +import cn.cecep.talroad.vo.query.PcFactoryCoordinateOperationLogQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + /** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Api(tags = "企业坐标操作记录表") +@RestController +@RequestMapping("/pcFactoryCoordinateOperationLog") +public class PcFactoryCoordinateOperationLogController extends BasesController{ + @Autowired + private IPcFactoryCoordinateOperationLogService pcFactoryCoordinateOperationLogService; + + /** + * 查询企业坐标操作记录表列表 + */ + @ApiOperation(value = "查询企业坐标操作记录表列表") + @GetMapping("/list") + public AjaxResults> list(PcFactoryCoordinateOperationLogQuery pcFactoryCoordinateOperationLog) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcFactoryCoordinateOperationLog.setFactoryId(factoryId); + } + Page page = new Page<>(pcFactoryCoordinateOperationLog.getPageNum(), pcFactoryCoordinateOperationLog.getPageSize()); + IPage list = pcFactoryCoordinateOperationLogService.page(page, PcFactoryCoordinateOperationLogQuery.createLambdaQueryWrapper(pcFactoryCoordinateOperationLog)); + return AjaxResults.success(list); + } + + /** + * 导出企业坐标操作记录表列表 + */ + @ApiOperation(value = "导出企业坐标操作记录表列表") + @Log(title = "企业坐标操作记录表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcFactoryCoordinateOperationLogQuery pcFactoryCoordinateOperationLogQuery) { + List list = pcFactoryCoordinateOperationLogService.list(PcFactoryCoordinateOperationLogQuery.createLambdaQueryWrapper(pcFactoryCoordinateOperationLogQuery)); + ExcelUtil util = new ExcelUtil(PcFactoryCoordinateOperationLog.class); + util.exportExcel(response, list, "企业坐标操作记录表"); + } + + /** + * 获取企业坐标操作记录表详细信息 + */ + @ApiOperation(value = "获取企业坐标操作记录表详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcFactoryCoordinateOperationLogService.getById(id)); + } + + /** + * 新增企业坐标操作记录表 + */ + @ApiOperation(value = "新增企业坐标操作记录表") + @Log(title = "企业坐标操作记录表", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactoryCoordinateOperationLogVo pcFactoryCoordinateOperationLogVo) { + PcFactoryCoordinateOperationLog pcFactoryCoordinateOperationLog = new PcFactoryCoordinateOperationLog(); + BeanUtils.copyBeanProp(pcFactoryCoordinateOperationLogVo, pcFactoryCoordinateOperationLog); + return pcFactoryCoordinateOperationLogService.save(pcFactoryCoordinateOperationLog) ? AjaxResults.success() : AjaxResults.error(300001, "新增失败"); + } + + /** + * 修改企业坐标操作记录表 + */ + @ApiOperation(value = "修改企业坐标操作记录表") + @Log(title = "企业坐标操作记录表", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcFactoryCoordinateOperationLogVo pcFactoryCoordinateOperationLogVo) { + PcFactoryCoordinateOperationLog pcFactoryCoordinateOperationLog = pcFactoryCoordinateOperationLogService.getById(pcFactoryCoordinateOperationLogVo.getLogId()); + if (ObjectUtil.isNull(pcFactoryCoordinateOperationLog)) { + return AjaxResults.error(300002, "修改失败"); + } + // 赋值 + BeanUtil.copyProperties(pcFactoryCoordinateOperationLogVo, pcFactoryCoordinateOperationLog); + return pcFactoryCoordinateOperationLogService.saveOrUpdate(pcFactoryCoordinateOperationLog) ? AjaxResults.success() : + AjaxResults.error(300003, "修改失败"); + } + + /** + * 删除企业坐标操作记录表 + */ + @ApiOperation(value = "删除企业坐标操作记录表") + // @RequiresPermissions("talroad:pcFactoryCoordinateOperationLog:remove") + @Log(title = "企业坐标操作记录表", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return pcFactoryCoordinateOperationLogService.removeByIds(Arrays.asList(ids)) ? AjaxResults.success() : + AjaxResults.error(300004, "删除失败"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantController.java new file mode 100644 index 0000000..746d726 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcFactoryPollutant; +import cn.cecep.talroad.service.IPcFactoryPollutantService; +import cn.cecep.talroad.vo.PcFactoryPollutantVo; +import cn.cecep.talroad.vo.query.PcFactoryPollutantQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业与污染物关系Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基础信息--企业与污染物关系") +@RestController +@RequestMapping("/pcFactoryPollutant") +public class PcFactoryPollutantController extends BasesController +{ + @Autowired + private IPcFactoryPollutantService pcFactoryPollutantService; + + /** + * 查询企业与污染物关系列表 + */ + @ApiOperation(value = "查询企业与污染物关系") + @GetMapping("/list") + public AjaxResults> list(PcFactoryPollutantQuery pcFactoryPollutant) + { + Page page = new Page<>(pcFactoryPollutant.getPageNum(), pcFactoryPollutant.getPageSize()); + IPage list = pcFactoryPollutantService.page(page, PcFactoryPollutantQuery.createLambdaQueryWrapper(pcFactoryPollutant)); + return AjaxResults.success(list); + } + + + /** + * 导出企业与污染物关系列表 + */ + @ApiOperation(value = "导出企业与污染物关系") + @Log(title = "企业与污染物关系", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcFactoryPollutant pcFactoryPollutant) + { + List list = pcFactoryPollutantService.selectPcFactoryPollutantList(pcFactoryPollutant); + ExcelUtil util = new ExcelUtil(PcFactoryPollutant.class); + util.exportExcel(response, list, "企业与污染物关系数据"); + } + + /** + * 获取企业与污染物关系详细信息 + */ + @ApiOperation(value = "获取企业与污染物关系详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcFactoryPollutantService.getById(id)); + } + /** + * 新增企业与污染物关系 + */ + @ApiOperation(value = "新增企业与污染物关系") + @Log(title = "企业与污染物关系", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactoryPollutant pcFactoryPollutant) { + return toAjax(pcFactoryPollutantService.save(pcFactoryPollutant)); + } + /** + * 修改企业与污染物关系 + */ + @ApiOperation(value = "修改企业与污染物关系") + @Log(title = "企业与污染物关系", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcFactoryPollutantVo pcFactoryPollutantVo) { + if(ObjectUtil.isEmpty(pcFactoryPollutantVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcFactoryPollutantVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcFactoryPollutant pcFactoryPollutant = pcFactoryPollutantService.getById(pcFactoryPollutantVo.getId()); + if(ObjectUtil.isEmpty(pcFactoryPollutant)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcFactoryPollutantVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcFactoryPollutantVo,pcFactoryPollutant); + return toAjax(pcFactoryPollutantService.saveOrUpdate(pcFactoryPollutant)); + } + + /** + * 删除企业与污染物关系 + */ + @ApiOperation(value = "删除企业与污染物关系") + @RequiresPermissions("talroad:pollutant:remove") + @Log(title = "企业与污染物关系", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcFactoryPollutantService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantEmissionsRankController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantEmissionsRankController.java new file mode 100644 index 0000000..8cfbd52 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryPollutantEmissionsRankController.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.cecep.talroad.service.IPcFactoryPollutantEmissionsRankService; +import cn.cecep.talroad.vo.PcFactoryPollutantEmissionsRankVo; +import cn.cecep.talroad.vo.query.PcFactoryPollutantEmissionsRankQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 污染排放跟踪(实际排放/许可排放)Controller 控制层 + * + * @author szhpt + * @date 2023-02-10*/ +@Api(tags = "污染排放跟踪-实际排放-许可排放") +@RestController +@RequestMapping("/pcFactoryPollutantEmissionsRank") +public class PcFactoryPollutantEmissionsRankController extends BasesController +{ + @Autowired + private IPcFactoryPollutantEmissionsRankService pcFactoryPollutantEmissionsRankService; + + /** + * 查询污染排放跟踪(实际排放/许可排放)列表 + */ + @ApiOperation(value = "查询污染排放跟踪(实际排放/许可排放)") + @GetMapping("/list") + public AjaxResults> list(PcFactoryPollutantEmissionsRankQuery pcFactoryPollutantEmissionsRank) + { + // b_main_emission_pollution_air b_main_emission_pollution_water 非当前实例表,接口做适配 + List list = pcFactoryPollutantEmissionsRankService.selectRankList(pcFactoryPollutantEmissionsRank); + return AjaxResults.success(list); + } + + + /** + * 导出污染排放跟踪(实际排放/许可排放)列表 + */ + @ApiOperation(value = "导出污染排放跟踪(实际排放/许可排放)") + @Log(title = "污染排放跟踪(实际排放/许可排放)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank) + { + List list = pcFactoryPollutantEmissionsRankService.selectPcFactoryPollutantEmissionsRankList(pcFactoryPollutantEmissionsRank); + ExcelUtil util = new ExcelUtil(PcFactoryPollutantEmissionsRank.class); + util.exportExcel(response, list, "污染排放跟踪(实际排放/许可排放)数据"); + } + + /** + * 获取污染排放跟踪(实际排放/许可排放)详细信息 + */ + @ApiOperation(value = "获取污染排放跟踪(实际排放/许可排放)详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcFactoryPollutantEmissionsRankService.getById(id)); + } + /** + * 新增污染排放跟踪(实际排放/许可排放) + */ + @ApiOperation(value = "新增污染排放跟踪(实际排放/许可排放)") + @Log(title = "污染排放跟踪(实际排放/许可排放)", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank) { + return toAjax(pcFactoryPollutantEmissionsRankService.save(pcFactoryPollutantEmissionsRank)); + } + /** + * 修改污染排放跟踪(实际排放/许可排放) + */ + @ApiOperation(value = "修改污染排放跟踪(实际排放/许可排放)") + @Log(title = "污染排放跟踪(实际排放/许可排放)", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcFactoryPollutantEmissionsRankVo pcFactoryPollutantEmissionsRankVo) { + if(ObjectUtil.isEmpty(pcFactoryPollutantEmissionsRankVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcFactoryPollutantEmissionsRankVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank = pcFactoryPollutantEmissionsRankService.getById(pcFactoryPollutantEmissionsRankVo.getId()); + if(ObjectUtil.isEmpty(pcFactoryPollutantEmissionsRank)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcFactoryPollutantEmissionsRankVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcFactoryPollutantEmissionsRankVo,pcFactoryPollutantEmissionsRank); + return toAjax(pcFactoryPollutantEmissionsRankService.saveOrUpdate(pcFactoryPollutantEmissionsRank)); + } + + /** + * 删除污染排放跟踪(实际排放/许可排放) + */ + @ApiOperation(value = "删除污染排放跟踪(实际排放/许可排放)") + @RequiresPermissions("talroad:pcFactoryPollutantEmissionsRank:remove") + @Log(title = "污染排放跟踪(实际排放/许可排放)", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcFactoryPollutantEmissionsRankService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryWasteEmissionsRankController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryWasteEmissionsRankController.java new file mode 100644 index 0000000..8ed5ea4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcFactoryWasteEmissionsRankController.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.PcFactoryWasteEmissionsRank; +import cn.cecep.talroad.service.IPcFactoryWasteEmissionsRankService; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 危废排放跟踪-实际产生-计划申报Controller 控制层 + * + * @author szhpt + * @date 2023-02-13*/ +@Api(tags = "危废排放跟踪-实际产生-计划申报") +@RestController +@RequestMapping("/pcFactoryWasteEmissionsRank") +public class PcFactoryWasteEmissionsRankController extends BasesController +{ + @Autowired + private IPcFactoryWasteEmissionsRankService pcFactoryWasteEmissionsRankService; + + /** + * 查询危废排放跟踪-实际产生-计划申报列表 + */ + @ApiOperation(value = "查询危废排放跟踪-实际产生-计划申报") + @GetMapping("/list") + public AjaxResults> list(PcFactoryWasteEmissionsRank query) + { + List list = pcFactoryWasteEmissionsRankService.list(new QueryWrapper().eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()).eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()).orderByDesc("emissions_rank")); + return AjaxResults.success(list); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcGenerationPollutantRankDataTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcGenerationPollutantRankDataTaskController.java new file mode 100644 index 0000000..5b27056 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcGenerationPollutantRankDataTaskController.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.cecep.talroad.mapper.SEnvGasMonRealMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonRealMapper; +import cn.cecep.talroad.service.IPcFactoryPollutantEmissionsRankService; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.hutool.core.date.DateUtil; +import io.swagger.annotations.Api; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author changyw + * @date 2023/2/13 + */ +@Api(tags = "统计数据-任务") +@RestController +@RequestMapping("/dataTask") +public class PcGenerationPollutantRankDataTaskController { + + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Autowired + private SEnvWaterMonRealMapper sEnvWaterMonRealMapper; + + @Autowired + private IPcFactoryPollutantEmissionsRankService pcFactoryPollutantEmissionsRankService; + + +// @RequestMapping("/generationPollutantEmissionsRankDataTask") +// public void generationPollutantEmissionsRankDataTask() { +// String thisYear = DateUtil.thisYear() + ""; +// // 废气 年度实际排放 +// List sEnvGasMonRealVos = sEnvGasMonRealMapper.selectSEnvGasMonRealListByYear(thisYear); +// +// // 废水 年度实际排放 +// List sEnvWaterMonRealVos = sEnvWaterMonRealMapper.selectSEnvWaterMonRealListByYear(thisYear); +// +// List collect = sEnvGasMonRealVos.stream() +// .map(sEnvGasMonRealVo -> { +// List objects = Lists.newArrayList(); +//// objects.add(new PcFactoryPollutantEmissionsRank(sEnvGasMonRealVo.getFactoryId(), "废气", "SO2", "", sEnvGasMonRealVo.getSo2(), "", "", "0")); +//// objects.add(new PcFactoryPollutantEmissionsRank(sEnvGasMonRealVo.getFactoryId(), "废气", "NOx", "", sEnvGasMonRealVo.getNox(), "", "", "0")); +//// objects.add(new PcFactoryPollutantEmissionsRank(sEnvGasMonRealVo.getFactoryId(), "废气", "颗粒物", "", sEnvGasMonRealVo.getPm(), "", "", "0")); +//// objects.add(new PcFactoryPollutantEmissionsRank(sEnvGasMonRealVo.getFactoryId(), "废气", "VOCs", "", sEnvGasMonRealVo.getVocs(), "", "", "0")); +// return objects; +// }) +// .flatMap(Collection::stream) +// .collect(Collectors.toList()); +// +// collect.addAll(sEnvWaterMonRealVos.stream() +// .map(sEnvWaterMonRealVo -> { +// List objects = Lists.newArrayList(); +// objects.add(new PcFactoryPollutantEmissionsRank(sEnvWaterMonRealVo.getFactoryId(), "废水", "COD", "", sEnvWaterMonRealVo.getCodConcentration(), "", "", "0")); +// objects.add(new PcFactoryPollutantEmissionsRank(sEnvWaterMonRealVo.getFactoryId(), "废水", "氨氮", "", sEnvWaterMonRealVo.getAmmoniaNitrogen(), "", "", "0")); +// objects.add(new PcFactoryPollutantEmissionsRank(sEnvWaterMonRealVo.getFactoryId(), "废水", "总氮", "", sEnvWaterMonRealVo.getNitrogenConcentration(), "", "", "0")); +// objects.add(new PcFactoryPollutantEmissionsRank(sEnvWaterMonRealVo.getFactoryId(), "废水", "总磷", "", sEnvWaterMonRealVo.getPhosphorusConcentration(), "", "", "0")); +// return objects; +// }) +// .flatMap(Collection::stream) +// .collect(Collectors.toList())); +// pcFactoryPollutantEmissionsRankService.saveOrUpdateBatch(collect); +// } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcIndustryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcIndustryController.java new file mode 100644 index 0000000..be2590e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcIndustryController.java @@ -0,0 +1,138 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcIndustry; +import cn.cecep.talroad.service.IPcIndustryService; +import cn.cecep.talroad.vo.PcIndustryVo; +import cn.cecep.talroad.vo.query.PcIndustryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 行业Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基础信息--行业") +@RestController +@RequestMapping("/pcIndustry") +public class PcIndustryController extends BasesController +{ + @Autowired + private IPcIndustryService pcIndustryService; + + /** + * 查询行业列表 + */ + @ApiOperation(value = "查询行业") + @GetMapping("/list") + public AjaxResults> list(PcIndustryQuery pcIndustry) + { + Page page = new Page<>(pcIndustry.getPageNum(), pcIndustry.getPageSize()); + IPage list = pcIndustryService.page(page, PcIndustryQuery.createLambdaQueryWrapper(pcIndustry)); + return AjaxResults.success(list); + } + + /** + * 查询行业列表 + */ + @ApiOperation(value = "行业下拉框列表") + @GetMapping("/selectList") + public AjaxResults> selectList(PcIndustry pcIndustry) + { + return AjaxResults.success(pcIndustryService.selectPcIndustryList(pcIndustry)); + } + /** + * 查询行业列表 + */ + @ApiOperation(value = "排污许可行业下拉框列表") + @GetMapping("/industryPermissionList") + public AjaxResults> industryPermissionList(PcIndustry pcIndustry) + { + return AjaxResults.success(pcIndustryService.industryPermissionList(pcIndustry)); + } + + + /** + * 导出行业列表 + */ + @ApiOperation(value = "导出行业") + @Log(title = "行业", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcIndustry pcIndustry) + { + List list = pcIndustryService.selectPcIndustryList(pcIndustry); + ExcelUtil util = new ExcelUtil(PcIndustry.class); + util.exportExcel(response, list, "行业数据"); + } + + /** + * 获取行业详细信息 + */ + @ApiOperation(value = "获取行业详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcIndustryService.getById(id)); + } + /** + * 新增行业 + */ + @ApiOperation(value = "新增行业") + @Log(title = "行业", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcIndustry pcIndustry) { + return toAjax(pcIndustryService.save(pcIndustry)); + } + /** + * 修改行业 + */ + @ApiOperation(value = "修改行业") + @Log(title = "行业", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcIndustryVo pcIndustryVo) { + if(ObjectUtil.isEmpty(pcIndustryVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcIndustryVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcIndustry pcIndustry = pcIndustryService.getById(pcIndustryVo.getId()); + if(ObjectUtil.isEmpty(pcIndustry)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcIndustryVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcIndustryVo,pcIndustry); + return toAjax(pcIndustryService.saveOrUpdate(pcIndustry)); + } + + /** + * 删除行业 + */ + @ApiOperation(value = "删除行业") + @RequiresPermissions("talroad:industry:remove") + @Log(title = "行业", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcIndustryService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelController.java new file mode 100644 index 0000000..f73d083 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelController.java @@ -0,0 +1,331 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.PcLabelValue; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.IPcLabelFactoryService; +import cn.cecep.talroad.service.IPcLabelService; +import cn.cecep.talroad.service.IPcLabelValueService; +import cn.cecep.talroad.vo.PcLabelVo; +import cn.cecep.talroad.vo.query.PcLabelQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 特征标签Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--特征标签") +@RestController +@RequestMapping("/pcLabel") +public class PcLabelController extends BasesController +{ + @Autowired + private IPcLabelService pcLabelService; + + @Autowired + private IPcLabelValueService pcLabelValueService; + + @Autowired + private IPcLabelFactoryService pcLabelFactoryService; + @Autowired + private IPcFactoryService pcFactoryService; + /** + * 获取父级特征标签 + */ + @ApiOperation(value = "树结构", notes = "适用于首页未选中状态") + @GetMapping("/tree/{id}") + public AjaxResults> tree(@PathVariable String id, String factoryId) + { + List tree = pcLabelService.tree(id, factoryId); + List amongs = pcLabelFactoryService.list(new QueryWrapper().eq("factory_id", factoryId)); + tree.stream().forEach(item->{ + Optional any = amongs.stream().filter(am -> am.getLabelId().equals(item.getId())).findFirst(); + if(any.isPresent()){ + PcLabelFactory pcLabelFactory = any.get(); + if(StringUtils.isNotEmpty(pcLabelFactory.getLabelValue())){ + item.setSelectedIds(pcLabelFactory.getLabelValue().split(",")); + } + } + }); + return AjaxResults.success(tree); + } + + @ApiOperation(value = "获取指定父标签下的子标签") + @GetMapping("/children") + public AjaxResults> getChildrenLabel(@RequestParam(value = "id", required = false) String id) + { + return AjaxResults.success(pcLabelService.getChildrenLabel(id)); + } + + /** + * 查询特征标签列表 + */ + @ApiOperation(value = "查询特征标签") + @GetMapping("/list") + public AjaxResults> list(PcLabelQuery pcLabel) + { + Page page = new Page<>(pcLabel.getPageNum(), pcLabel.getPageSize()); + IPage list = pcLabelService.page(page, PcLabelQuery.createLambdaQueryWrapper(pcLabel)); + return AjaxResults.success(list); + } + + + /** + * 导出特征标签列表 + */ + @ApiOperation(value = "导出特征标签") + @Log(title = "特征标签", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcLabel pcLabel) + { + List list = pcLabelService.selectPcLabelList(pcLabel); + ExcelUtil util = new ExcelUtil(PcLabel.class); + util.exportExcel(response, list, "特征标签数据"); + } + + /** + * 获取特征标签详细信息 + */ + @ApiOperation(value = "获取特征标签详细信息") + @PostMapping(value = "/getById/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcLabelService.getById(id)); + } + /** + * 新增特征标签 + */ + @ApiOperation(value = "新增特征标签") + @Log(title = "特征标签", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcLabel pcLabel) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PcLabel::getLabelVal, pcLabel.getLabelVal()); + PcLabel one = pcLabelService.getOne(queryWrapper); + if(one != null){ + return error("标签名称不能重复"); + }else { + pcLabel.setId(UUID.randomUUID().toString()); + return toAjax(pcLabelService.save(pcLabel)); + } + } + /** + * 修改特征标签 + */ + @ApiOperation(value = "修改特征标签") + @Log(title = "特征标签", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcLabelVo pcLabelVo) { + if(ObjectUtil.isEmpty(pcLabelVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcLabelVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcLabel pcLabel = pcLabelService.getById(pcLabelVo.getId()); + if(ObjectUtil.isEmpty(pcLabel)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcLabelVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcLabelVo,pcLabel); + return toAjax(pcLabelService.saveOrUpdate(pcLabel)); + } + + /** + * 删除特征标签 + */ + @ApiOperation(value = "删除特征标签") + @RequiresPermissions("talroad:label:remove") + @Log(title = "特征标签", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + // 先删除它的标签值 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.in(PcLabelValue::getLabelId, ids); + pcLabelValueService.remove(queryWrapper); + // 再删除当前标签 + return toAjax(pcLabelService.removeByIds(Arrays.asList(ids))); + } + + /** + * 统计企业标签:许可管理类别,许可是否整改,管控级别,生态环境信用级别,所在地是否属于大气重点控制区,所在地是否属于总磷控制区, + * 所在地是否属于总氮控制区,所在地是否属于重金属污染物特别排放限值实施区域,是否位于工业园区定时任务 + */ + @ApiOperation(value = "统计企业标签基础信息") + @GetMapping("/updateLabelStatus") + public void updateLabelStatus(){ + pcLabelFactoryService.updateLabelStatus(); + } + + @ApiOperation(value = "统计企业标签:大气主要污染物种类,废水主要污染物种类") + @GetMapping("/statisticsAirWastewater") + public void statisticsAirWastewater(){ + pcLabelFactoryService.statisticsAirWastewater(); + } + + @ApiOperation(value = "统计企业标签:有许可总量要求的污染物") + @GetMapping("/statisticsLicensed") + public void statisticsLicensed(){ + pcLabelFactoryService.statisticsLicensed(); + } + + @ApiOperation(value = "统计企业标签:承诺更加严格排放浓度限值") + @GetMapping("/statisticseMissions") + public void statisticseMissions(){ + pcLabelFactoryService.statisticseMissions(); + } + @ApiOperation(value = "统计企业标签:运输车辆类型") + @GetMapping("/transportVehicleType") + public void transportVehicleType(){ + pcLabelFactoryService.transportVehicleType(); + } + @ApiOperation(value = "统计企业标签:废水排放方式") + @GetMapping("/wastewaterDischarge") + public void wastewaterDischarge(){ + pcLabelFactoryService.wastewaterDischarge(); + } + @ApiOperation(value = "统计企业标签:受纳水体功能目标") + @GetMapping("/receivingWaterBody") + public void receivingWaterBody(){ + pcLabelFactoryService.receivingWaterBody(); + } + + @ApiOperation(value = "统计企业标签:排污许可证是否在有效期内") + @GetMapping("/efficientlyDischargePollutants") + public void efficientlyDischargePollutants(){ + pcLabelFactoryService.efficientlyDischargePollutants(1); + } + + @ApiOperation(value = "统计企业标签:许可证有效期不足1个月") + @GetMapping("/efficientlyDischargePollutantsMonth") + public void efficientlyDischargePollutantsMonth(){ + pcLabelFactoryService.efficientlyDischargePollutants(2); + } + @ApiOperation(value = "统计企业标签:受纳自然水体名称") + @GetMapping("/acceptNature") + public void acceptNature(){ + pcLabelFactoryService.acceptNature(); + } + + @ApiOperation(value = "统计企业标签:是否为直排海企业") + @GetMapping("isDirectDischargeEnterprises") + public void isDirectDischargeEnterprises(){ + pcLabelFactoryService.isDirectDischargeEnterprises(); + } + @ApiOperation(value = "统计企业标签:在线监测设备安装情况是否符合许可证要求") + @GetMapping("monitoringEquipment") + public void monitoringEquipment(){ + pcLabelFactoryService.monitoringEquipment(); + } + @ApiOperation(value = "统计企业标签:包含数据类型") + @GetMapping("selectAdslFactory") + public void selectAdslFactory(){ + pcLabelFactoryService.selectAdslFactory(); + } + @ApiOperation(value = "统计企业标签:定时同步企业表数据与标签数据") + @GetMapping("batchCreateLabel") + public void batchCreateLabel(){ + pcFactoryService.batchCreateLabel(); + } + @ApiOperation(value = "统计企业标签:行业类别") + @GetMapping("industryCategory") + public void industryCategory(){ + pcLabelFactoryService.industryCategory(); + } + @ApiOperation(value = "统计企业标签:定时同步企业表数据与标签数据") + @GetMapping("totalVideo") + public void totalVideo(){ + pcLabelFactoryService.totalVideo(); + } + @ApiOperation(value = "固定源关联分析:管控浓度超标预警") + @GetMapping("earlyWarning") + public void earlyWarning(){ + pcLabelFactoryService.earlyWarning(); + } + @ApiOperation(value = "统计企业标签:大气管控监管企业") + @GetMapping("testindustryCategory") + public void testindustryCategory(){ + pcLabelFactoryService.testindustryCategory(); + } + @ApiOperation(value = "统计企业标签:大气企业监管行业") + @GetMapping("testRegulateBusinesses") + public void testRegulateBusinesses(){ + pcLabelFactoryService.testRegulateBusinesses(); + } + + @ApiOperation(value = "统计企业标签:主要风险源类别") + @PostMapping("/updateMajorPollutantCategory") + public void updateMajorPollutantCategory(){ + pcLabelFactoryService.updateMajorPollutantCategory(); + } + @ApiOperation(value = "统计企业标签:是否有排污许可证") + @PostMapping("/pollutantLicenseLabel") + public void pollutantLicenseLabel(){ + pcLabelFactoryService.pollutantLicenseLabel(); + } + + @ApiOperation(value = "统计企业标签:危险废物单位监管类型") + @PostMapping("/licenseTypeLabel") + public void licenseTypeLabel(){ + pcLabelFactoryService.licenseTypeLabel(); + } + + @ApiOperation(value = "统计企业标签:危险废物单位类型") + @PostMapping("/pollutantTypeLabel") + public void pollutantTypeLabel(){ + pcLabelFactoryService.pollutantTypeLabel(); + } + + @ApiOperation(value = "统计企业标签:是否安装分表计电") + @PostMapping("/isInstallFbjdLabel") + public void isInstallFbjdLabel(){ + pcLabelFactoryService.isInstallFbjdLabel(); + } + + @ApiOperation(value = "统计企业标签:是否安装无组织监控点位") + @PostMapping("/isInstallWzzjkdwLabel") + public void isInstallWzzjkdwLabel(){ + pcLabelFactoryService.isInstallWzzjkdwLabel(); + } + + @ApiOperation(value = "统计企业标签:1月内治理设施是否存在异常运行") + @PostMapping("/isZlssExceptionInMonthLabel") + public void isZlssExceptionInMonthLabel(){ + pcLabelFactoryService.isZlssExceptionInMonthLabel(); + } + + @ApiOperation(value = "统计企业标签:1月内是否有无组织超标排放情况") + @PostMapping("/isWzzcbpfExceptionInMonthLabel") + public void isWzzcbpfExceptionInMonthLabel(){ + pcLabelFactoryService.isWzzcbpfExceptionInMonthLabel(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelFactoryController.java new file mode 100644 index 0000000..ad9bfd2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelFactoryController.java @@ -0,0 +1,163 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.IPcLabelFactoryService; +import cn.cecep.talroad.service.IPcLabelService; +import cn.cecep.talroad.vo.PcLabelFactoryVo; +import cn.cecep.talroad.vo.query.PcLabelFactoryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 特征标签-与企业关系中间Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "基本档案--特征标签-与企业关系中间") +@RestController +@RequestMapping("/pcLabelFactory") +public class PcLabelFactoryController extends BasesController +{ + @Autowired + private IPcLabelFactoryService pcLabelFactoryService; + + @Autowired + private IPcLabelService iPcLabelService; + + @Autowired + private IPcFactoryService iPcFactoryService; + + /** + * 查询特征标签-与企业关系中间列表 + */ + @ApiOperation(value = "查询特征标签-与企业关系中间") + @GetMapping("/list") + public AjaxResults> list(PcLabelFactoryQuery pcLabelFactory) + { + Page page = new Page<>(pcLabelFactory.getPageNum(), pcLabelFactory.getPageSize()); + Page voPage = new Page<>(); + IPage list = pcLabelFactoryService.page(page, PcLabelFactoryQuery.createLambdaQueryWrapper(pcLabelFactory)); + + // PcLabelFactoryVo转换 + BeanUtil.copyProperties(list, voPage, "records"); + List pcLabelVoList = list.getRecords().stream().map((item) -> { + PcLabelFactoryVo pcLabelFactoryVo = new PcLabelFactoryVo(); + BeanUtil.copyProperties(item, pcLabelFactoryVo); + // 通过特征标签id查询特征标签名称 + PcLabel pcLabel = iPcLabelService.getById(item.getLabelId()); + if(pcLabel != null){ + pcLabelFactoryVo.setLabelName(pcLabel.getLabelVal()); + } + // 通过企业id查询企业名称 + PcFactory factory = iPcFactoryService.getById(item.getFactoryId()); + if(factory != null){ + pcLabelFactoryVo.setFactoryName(factory.getFactoryName()); + } + + return pcLabelFactoryVo; + }).collect(Collectors.toList()); + + voPage.setRecords(pcLabelVoList); + return AjaxResults.success(voPage); + } + + /** + * 导出特征标签-与企业关系中间列表 + */ + @ApiOperation(value = "导出特征标签-与企业关系中间") + @Log(title = "特征标签-与企业关系中间", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcLabelFactory pcLabelFactory) + { + List list = pcLabelFactoryService.selectPcLabelFactoryList(pcLabelFactory); + ExcelUtil util = new ExcelUtil(PcLabelFactory.class); + util.exportExcel(response, list, "特征标签-与企业关系中间数据"); + } + + /** + * 获取特征标签-与企业关系中间详细信息 + */ + @ApiOperation(value = "获取特征标签-与企业关系中间详细信息") + @PostMapping(value = "/getById/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcLabelFactoryService.getById(id)); + } + /** + * 新增特征标签-与企业关系中间 + */ + @ApiOperation(value = "新增特征标签-与企业关系中间") + @Log(title = "特征标签-与企业关系中间", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcLabelFactory pcLabelFactory) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq(PcLabelFactory::getFactoryId, pcLabelFactory.getFactoryId()) + .eq(PcLabelFactory::getLabelId, pcLabelFactory.getLabelId()); + PcLabelFactory one = pcLabelFactoryService.getOne(queryWrapper); + if(one != null){ + return error("该企业已存在此标签"); + }else{ + pcLabelFactory.setId(UUID.randomUUID().toString()); + return toAjax(pcLabelFactoryService.save(pcLabelFactory)); + } + } + /** + * 修改特征标签-与企业关系中间 + */ + @ApiOperation(value = "修改特征标签-与企业关系中间") + @Log(title = "特征标签-与企业关系中间", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcLabelFactoryVo pcLabelFactoryVo) { + if(ObjectUtil.isEmpty(pcLabelFactoryVo)){ +throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcLabelFactoryVo.getId())){ +throw new InvalidParameterException("参数id为空"); + } + PcLabelFactory pcLabelFactory = pcLabelFactoryService.getById(pcLabelFactoryVo.getId()); + if(ObjectUtil.isEmpty(pcLabelFactory)){ +throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcLabelFactoryVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcLabelFactoryVo,pcLabelFactory); + return toAjax(pcLabelFactoryService.saveOrUpdate(pcLabelFactory)); + } + + /** + * 删除特征标签-与企业关系中间 + */ + @ApiOperation(value = "删除特征标签-与企业关系中间") + @RequiresPermissions("talroad:pcLabelFactory:remove") + @Log(title = "特征标签-与企业关系中间", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcLabelFactoryService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelValueController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelValueController.java new file mode 100644 index 0000000..a86c75c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcLabelValueController.java @@ -0,0 +1,149 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcLabelValue; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.service.IPcLabelValueService; +import cn.cecep.talroad.vo.PcLabelValueVo; +import cn.cecep.talroad.vo.query.PcLabelValueQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 特征标签-参数值Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "基本档案--特征标签-参数值") +@RestController +@RequestMapping("/pcLabelValue") +public class PcLabelValueController extends BasesController +{ + @Autowired + private IPcLabelValueService pcLabelValueService; + + /** + * 查询特征标签-参数值列表 + */ + @ApiOperation(value = "查询特征标签-参数值") + @GetMapping("/list") + public AjaxResults> list(PcLabelValueQuery pcLabelValue) + { + Page page = new Page<>(pcLabelValue.getPageNum(), pcLabelValue.getPageSize()); + IPage list = pcLabelValueService.page(page, PcLabelValueQuery.createLambdaQueryWrapper(pcLabelValue)); + return AjaxResults.success(list); + } + /** + * 查询特征标签-参数值列表 + */ + @ApiOperation(value = "根据id查询特征标签-参数值下拉列表") + @GetMapping("/selectLabelById") + public AjaxResults> selectLabelById(String labelId) + { + List pcLabelValueList = pcLabelValueService.getBaseMapper().selectList(new QueryWrapper().eq("label_id", labelId)); + return AjaxResults.success(pcLabelValueList); + } + + + /** + * 导出特征标签-参数值列表 + */ + @ApiOperation(value = "导出特征标签-参数值") + @Log(title = "特征标签-参数值", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcLabelValue pcLabelValue) + { + List list = pcLabelValueService.selectPcLabelValueList(pcLabelValue); + ExcelUtil util = new ExcelUtil(PcLabelValue.class); + util.exportExcel(response, list, "特征标签-参数值数据"); + } + + /** + * 获取特征标签-参数值详细信息 + */ + @ApiOperation(value = "获取特征标签-参数值详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcLabelValueService.getById(id)); + } + /** + * 新增特征标签-参数值 + */ + @ApiOperation(value = "新增特征标签-参数值") + @Log(title = "特征标签-参数值", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcLabelValue pcLabelValue) { + pcLabelValue.setId(UUID.randomUUID().toString()); + return toAjax(pcLabelValueService.save(pcLabelValue)); + } + /** + * 修改特征标签-参数值 + */ + @ApiOperation(value = "修改特征标签-参数值") + @Log(title = "特征标签-参数值", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcLabelValueVo pcLabelValueVo) { + if(ObjectUtil.isEmpty(pcLabelValueVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcLabelValueVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcLabelValue pcLabelValue = pcLabelValueService.getById(pcLabelValueVo.getId()); + if(ObjectUtil.isEmpty(pcLabelValue)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcLabelValueVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcLabelValueVo,pcLabelValue); + return toAjax(pcLabelValueService.saveOrUpdate(pcLabelValue)); + } + + /** + * 删除特征标签-参数值 + */ + @ApiOperation(value = "删除特征标签-参数值") + @RequiresPermissions("talroad:pcLabelValue:remove") + @Log(title = "特征标签-参数值", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcLabelValueService.removeByIds(Arrays.asList(ids))); + } + + /** + * 手工监测行业类别下拉框 + */ + @ApiOperation(value = "手工监测行业类别下拉框") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "行业类别", required = false, paramType = "query", dataType = "String"), + }) + @GetMapping("/manualMonitoringIndustry") + public AjaxResults> manualMonitoringIndustry(@RequestParam(value = "name",required = false) String name) + { + List list = pcLabelValueService.manualMonitoringIndustry(name); + return AjaxResults.success(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcManagementFacilitiesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcManagementFacilitiesController.java new file mode 100644 index 0000000..174d177 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcManagementFacilitiesController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcManagementFacilities; +import cn.cecep.talroad.service.IPcManagementFacilitiesService; +import cn.cecep.talroad.vo.PcManagementFacilitiesVo; +import cn.cecep.talroad.vo.query.PcManagementFacilitiesQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 治理设施Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "治理设施") +@RestController +@RequestMapping("/pcManagementFacilities") +public class PcManagementFacilitiesController extends BasesController +{ + @Autowired + private IPcManagementFacilitiesService pcManagementFacilitiesService; + + /** + * 查询治理设施列表 + */ + @ApiOperation(value = "查询治理设施") + @GetMapping("/list") + public AjaxResults> list(PcManagementFacilitiesQuery pcManagementFacilities) + { + Page page = new Page<>(pcManagementFacilities.getPageNum(), pcManagementFacilities.getPageSize()); + IPage list = pcManagementFacilitiesService.page(page, PcManagementFacilitiesQuery.createLambdaQueryWrapper(pcManagementFacilities)); + return AjaxResults.success(list); + } + + + /** + * 导出治理设施列表 + */ + @ApiOperation(value = "导出治理设施") + @Log(title = "治理设施", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcManagementFacilities pcManagementFacilities) + { + List list = pcManagementFacilitiesService.selectPcManagementFacilitiesList(pcManagementFacilities); + ExcelUtil util = new ExcelUtil(PcManagementFacilities.class); + util.exportExcel(response, list, "治理设施数据"); + } + + /** + * 获取治理设施详细信息 + */ + @ApiOperation(value = "获取治理设施详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcManagementFacilitiesService.getById(id)); + } + /** + * 新增治理设施 + */ + @ApiOperation(value = "新增治理设施") + @Log(title = "治理设施", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcManagementFacilities pcManagementFacilities) { + return toAjax(pcManagementFacilitiesService.save(pcManagementFacilities)); + } + /** + * 修改治理设施 + */ + @ApiOperation(value = "修改治理设施") + @Log(title = "治理设施", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcManagementFacilitiesVo pcManagementFacilitiesVo) { + if(ObjectUtil.isEmpty(pcManagementFacilitiesVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcManagementFacilitiesVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcManagementFacilities pcManagementFacilities = pcManagementFacilitiesService.getById(pcManagementFacilitiesVo.getId()); + if(ObjectUtil.isEmpty(pcManagementFacilities)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcManagementFacilitiesVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcManagementFacilitiesVo,pcManagementFacilities); + return toAjax(pcManagementFacilitiesService.saveOrUpdate(pcManagementFacilities)); + } + + /** + * 删除治理设施 + */ + @ApiOperation(value = "删除治理设施") + @RequiresPermissions("talroad:facilities:remove") + @Log(title = "治理设施", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcManagementFacilitiesService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuController.java new file mode 100644 index 0000000..3af78f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcMenu; +import cn.cecep.talroad.service.IPcMenuService; +import cn.cecep.talroad.vo.PcMenuVo; +import cn.cecep.talroad.vo.query.PcMenuQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业档案菜单管理Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "企业档案菜单管理") +@RestController +@RequestMapping("/pcMenu") +public class PcMenuController extends BasesController +{ + @Autowired + private IPcMenuService pcMenuService; + + /** + * 查询企业档案菜单管理列表 + */ + @ApiOperation(value = "查询企业档案菜单管理") + @GetMapping("/list") + public AjaxResults> list(PcMenuQuery pcMenu) + { + Page page = new Page<>(pcMenu.getPageNum(), pcMenu.getPageSize()); + IPage list = pcMenuService.page(page, PcMenuQuery.createLambdaQueryWrapper(pcMenu)); + return AjaxResults.success(list); + } + + + /** + * 导出企业档案菜单管理列表 + */ + @ApiOperation(value = "导出企业档案菜单管理") + @Log(title = "企业档案菜单管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcMenu pcMenu) + { + List list = pcMenuService.selectPcMenuList(pcMenu); + ExcelUtil util = new ExcelUtil(PcMenu.class); + util.exportExcel(response, list, "企业档案菜单管理数据"); + } + + /** + * 获取企业档案菜单管理详细信息 + */ + @ApiOperation(value = "获取企业档案菜单管理详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcMenuService.getById(id)); + } + /** + * 新增企业档案菜单管理 + */ + @ApiOperation(value = "新增企业档案菜单管理") + @Log(title = "企业档案菜单管理", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcMenu pcMenu) { + return toAjax(pcMenuService.save(pcMenu)); + } + /** + * 修改企业档案菜单管理 + */ + @ApiOperation(value = "修改企业档案菜单管理") + @Log(title = "企业档案菜单管理", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcMenuVo pcMenuVo) { + if(ObjectUtil.isEmpty(pcMenuVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcMenuVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcMenu pcMenu = pcMenuService.getById(pcMenuVo.getId()); + if(ObjectUtil.isEmpty(pcMenu)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcMenuVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcMenuVo,pcMenu); + return toAjax(pcMenuService.saveOrUpdate(pcMenu)); + } + + /** + * 删除企业档案菜单管理 + */ + @ApiOperation(value = "删除企业档案菜单管理") + @RequiresPermissions("talroad:pcMenu:remove") + @Log(title = "企业档案菜单管理", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcMenuService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuFactoryController.java new file mode 100644 index 0000000..653dd82 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcMenuFactoryController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcMenuFactory; +import cn.cecep.talroad.service.IPcMenuFactoryService; +import cn.cecep.talroad.vo.PcMenuFactoryVo; +import cn.cecep.talroad.vo.query.PcMenuFactoryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业档案菜单与企业关联中间Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "企业档案菜单与企业关联中间") +@RestController +@RequestMapping("/pcMenuFactory") +public class PcMenuFactoryController extends BasesController +{ + @Autowired + private IPcMenuFactoryService pcMenuFactoryService; + + /** + * 查询企业档案菜单与企业关联中间列表 + */ + @ApiOperation(value = "查询企业档案菜单与企业关联中间") + @GetMapping("/list") + public AjaxResults> list(PcMenuFactoryQuery pcMenuFactory) + { + Page page = new Page<>(pcMenuFactory.getPageNum(), pcMenuFactory.getPageSize()); + IPage list = pcMenuFactoryService.page(page, PcMenuFactoryQuery.createLambdaQueryWrapper(pcMenuFactory)); + return AjaxResults.success(list); + } + + + /** + * 导出企业档案菜单与企业关联中间列表 + */ + @ApiOperation(value = "导出企业档案菜单与企业关联中间") + @Log(title = "企业档案菜单与企业关联中间", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcMenuFactory pcMenuFactory) + { + List list = pcMenuFactoryService.selectPcMenuFactoryList(pcMenuFactory); + ExcelUtil util = new ExcelUtil(PcMenuFactory.class); + util.exportExcel(response, list, "企业档案菜单与企业关联中间数据"); + } + + /** + * 获取企业档案菜单与企业关联中间详细信息 + */ + @ApiOperation(value = "获取企业档案菜单与企业关联中间详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcMenuFactoryService.getById(id)); + } + /** + * 新增企业档案菜单与企业关联中间 + */ + @ApiOperation(value = "新增企业档案菜单与企业关联中间") + @Log(title = "企业档案菜单与企业关联中间", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcMenuFactory pcMenuFactory) { + return toAjax(pcMenuFactoryService.save(pcMenuFactory)); + } + /** + * 修改企业档案菜单与企业关联中间 + */ + @ApiOperation(value = "修改企业档案菜单与企业关联中间") + @Log(title = "企业档案菜单与企业关联中间", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcMenuFactoryVo pcMenuFactoryVo) { + if(ObjectUtil.isEmpty(pcMenuFactoryVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcMenuFactoryVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcMenuFactory pcMenuFactory = pcMenuFactoryService.getById(pcMenuFactoryVo.getId()); + if(ObjectUtil.isEmpty(pcMenuFactory)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcMenuFactoryVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcMenuFactoryVo,pcMenuFactory); + return toAjax(pcMenuFactoryService.saveOrUpdate(pcMenuFactory)); + } + + /** + * 删除企业档案菜单与企业关联中间 + */ + @ApiOperation(value = "删除企业档案菜单与企业关联中间") + @RequiresPermissions("talroad:pcMenuFactory:remove") + @Log(title = "企业档案菜单与企业关联中间", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcMenuFactoryService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcNoiseTypeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcNoiseTypeController.java new file mode 100644 index 0000000..ef98e0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcNoiseTypeController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcNoiseType; +import cn.cecep.talroad.service.IPcNoiseTypeService; +import cn.cecep.talroad.vo.PcNoiseTypeVo; +import cn.cecep.talroad.vo.query.PcNoiseTypeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 噪声排放类型Controller 控制层 + * + * @author szhpt + * @date 2023-01-11*/ +@Api(tags = "基本档案--噪声排放类型") +@RestController +@RequestMapping("/pcNoiseType") +public class PcNoiseTypeController extends BasesController +{ + @Autowired + private IPcNoiseTypeService pcNoiseTypeService; + + /** + * 查询噪声排放类型列表 + */ + @ApiOperation(value = "查询噪声排放类型") + @GetMapping("/list") + public AjaxResults> list(PcNoiseTypeQuery pcNoiseType) + { + Page page = new Page<>(pcNoiseType.getPageNum(), pcNoiseType.getPageSize()); + IPage list = pcNoiseTypeService.page(page, PcNoiseTypeQuery.createLambdaQueryWrapper(pcNoiseType)); + return AjaxResults.success(list); + } + + + /** + * 导出噪声排放类型列表 + */ + @ApiOperation(value = "导出噪声排放类型") + @Log(title = "噪声排放类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcNoiseType pcNoiseType) + { + List list = pcNoiseTypeService.selectPcNoiseTypeList(pcNoiseType); + ExcelUtil util = new ExcelUtil(PcNoiseType.class); + util.exportExcel(response, list, "噪声排放类型数据"); + } + + /** + * 获取噪声排放类型详细信息 + */ + @ApiOperation(value = "获取噪声排放类型详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcNoiseTypeService.getById(id)); + } + /** + * 新增噪声排放类型 + */ + @ApiOperation(value = "新增噪声排放类型") + @Log(title = "噪声排放类型", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcNoiseType pcNoiseType) { + return toAjax(pcNoiseTypeService.save(pcNoiseType)); + } + /** + * 修改噪声排放类型 + */ + @ApiOperation(value = "修改噪声排放类型") + @Log(title = "噪声排放类型", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcNoiseTypeVo pcNoiseTypeVo) { + if(ObjectUtil.isEmpty(pcNoiseTypeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcNoiseTypeVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcNoiseType pcNoiseType = pcNoiseTypeService.getById(pcNoiseTypeVo.getId()); + if(ObjectUtil.isEmpty(pcNoiseType)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcNoiseTypeVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcNoiseTypeVo,pcNoiseType); + return toAjax(pcNoiseTypeService.saveOrUpdate(pcNoiseType)); + } + + /** + * 删除噪声排放类型 + */ + @ApiOperation(value = "删除噪声排放类型") + @RequiresPermissions("talroad:type:remove") + @Log(title = "噪声排放类型", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcNoiseTypeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletController.java new file mode 100644 index 0000000..ef8f871 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletController.java @@ -0,0 +1,554 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BMainMonitorPointOperationLog; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.enums.OutletTypesEnum; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.*; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.text.ParseException; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废气有组织、无组织排口Controller 控制层 + * + * @author szhpt + * @date 2023-01-11 + */ +@Api(tags = "基本档案--废气有组织、无组织排口") +@RestController +@RequestMapping("/pcOutlet") +public class PcOutletController extends BasesController { + + @Autowired + private IPcOutletService pcOutletService; + + /** + * 查询废气有组织、无组织排口列表 + */ + @ApiOperation(value = "查询废气有组织、无组织排口") + @GetMapping("/list") + public AjaxResults> list(PcOutletQuery pcOutlet) { + Page page = new Page<>(pcOutlet.getPageNum(), pcOutlet.getPageSize()); + IPage list = pcOutletService.page(page, PcOutletQuery.createLambdaQueryWrapper(pcOutlet)); + return AjaxResults.success(list); + } + + /** + * 查询废气有组织、无组织排口列表 + */ + @ApiOperation(value = "排口下拉框列表") + @GetMapping("/selectList") + public AjaxResults> selectList(PcOutlet pcOutlet) { + return AjaxResults.success(pcOutletService.selectPcOutletList(pcOutlet)); + } + + /** + * 查询废气有组织、无组织排口列表 + */ + @ApiOperation(value = "监测点位下拉框列表") + @GetMapping("/selectPointList") + public AjaxResults> selectPointList(PcOutlet pcOutlet) { + return AjaxResults.success(pcOutletService.selectPointList(pcOutlet)); + } + + @ApiOperation(value = "查询企业废气排口,按照排口分类(有组织、无组织)分组返回") + @GetMapping("/gas/groupByType") + public AjaxResults>> getGasOutletGroupByType(String factoryId) { + List list = pcOutletService.list(new QueryWrapper() + .eq("factory_id", factoryId) + .eq("pollutant_type", "1") + .orderByAsc("outlet_code", "id") + ); + Map> data = list.stream().collect(Collectors.groupingBy(PcOutlet::getPollutantOutletType)); + return AjaxResults.success(data); + } + + /** + * 导出废气有组织、无组织排口列表 + */ + @ApiOperation(value = "导出废气有组织、无组织排口") + @Log(title = "废气有组织、无组织排口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcOutlet pcOutlet) { + List list = pcOutletService.selectPcOutletList(pcOutlet); + ExcelUtil util = new ExcelUtil(PcOutlet.class); + util.exportExcel(response, list, "废气有组织、无组织排口数据"); + } + + /** + * 获取废气有组织、无组织排口详细信息 + */ + @ApiOperation(value = "获取废气有组织、无组织排口详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcOutletService.getInfo(id)); + } + + /** + * 新增废气有组织、无组织排口 + */ + @ApiOperation(value = "新增废气有组织、无组织排口") + @Log(title = "废气有组织、无组织排口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcOutlet pcOutlet) { + return toAjax(pcOutletService.save(pcOutlet)); + } + + /** + * 修改废气有组织、无组织排口 + */ + @ApiOperation(value = "修改废气有组织、无组织排口") + @Log(title = "废气有组织、无组织排口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcOutletVo pcOutletVo) { + if (ObjectUtil.isEmpty(pcOutletVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(pcOutletVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + PcOutlet pcOutlet = pcOutletService.getById(pcOutletVo.getId()); + if (ObjectUtil.isEmpty(pcOutlet)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcOutletVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcOutletVo, pcOutlet); + return toAjax(pcOutletService.saveOrUpdate(pcOutlet)); + } + + /** + * 删除废气有组织、无组织排口 + */ + @ApiOperation(value = "删除废气有组织、无组织排口") + @RequiresPermissions("talroad:outlet:remove") + @Log(title = "废气有组织、无组织排口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcOutletService.removeByIds(Arrays.asList(ids))); + } + + /** + * 大气监管企业点位下拉框 + */ + @ApiOperation(value = "大气监管企业点位下拉框") + @GetMapping("/regulatoryEnterprises") + public AjaxResults> regulatoryEnterprises(String name) { + return AjaxResults.success(pcOutletService.regulatoryEnterprises(name)); + } + + @ApiOperation("企业端-废气有组织/废水/废气无组织-在线监测点位名称下拉列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织在线监测点:4|废水在线监测点:4|废气无组织监测点:3)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "pollutantOutletType", value = "排口分类 (废气有组织在线监测点:1|废水在线监测点:2)", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "factoryId", value = "企业id", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/queryMonitoringPointName") + public AjaxResults> queryMonitoringPointName( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "pollutantOutletType", required = false) String pollutantOutletType, + @RequestParam(value = "factoryId", required = false) String factoryId + ) { + if (pollutantType.equals(PollutantTypeEnum.ONLINE_MONITORING.getCode())) { + if (StringUtils.isEmpty(pollutantOutletType)) { + return AjaxResults.error("污染物类型为4时,排口分类不允许为空!"); + } + } + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + List point = pcOutletService.queryMonitoringPointName(factoryId, pollutantType, pollutantOutletType); + return AjaxResults.success(point); + } + + @ApiOperation("企业端-废气无组织-在线监测点位编号下拉列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气无组织监测点:3)", required = true, paramType = "query", dataType = "String"), + }) + @GetMapping("/queryMonitoringPointCode") + public AjaxResults> queryMonitoringPointCode( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "factoryId", required = false) String factoryId + ) { + List point = pcOutletService.queryMonitoringPointCode(pollutantType,factoryId); + return AjaxResults.success(point); + } + + @ApiOperation("企业端-许可证排口名称下拉列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "pollutantOutletType", value = "排口分类 (废气有组织排口:1)", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "factoryId", value = "企业id", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/queryOutletName") + public AjaxResults queryOutletName( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "pollutantOutletType", required = false) String pollutantOutletType, + @RequestParam(value = "factoryId", required = false) String factoryId + ) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + if (StringUtils.isEmpty(pollutantOutletType)) { + return AjaxResults.error("污染物类型为1时查询废气有组织排口,排口分类不允许为空"); + } + } + } + List point = pcOutletService.queryOutletName(factoryId, pollutantType, pollutantOutletType); + return AjaxResults.success(point); + } + + @ApiOperation("企业端-许可证排口编号下拉列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "pollutantOutletType", value = "排口分类 (废气有组织排口:1)", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "factoryId", value = "企业id", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/queryOutletCode") + public AjaxResults queryOutletCode( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "pollutantOutletType", required = false) String pollutantOutletType, + @RequestParam(value = "factoryId", required = false) String factoryId + ) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + if (StringUtils.isEmpty(pollutantOutletType)) { + return AjaxResults.error("污染物类型为1时查询废气有组织排口,排口分类不允许为空"); + } + } + } + List point = pcOutletService.queryOutletCode(factoryId, pollutantType, pollutantOutletType); + return AjaxResults.success(point); + + } + + @ApiOperation("企业端-排口类型下拉列表") + @GetMapping("/queryOutletTypes") + public AjaxResults queryOutletTypes() { + return AjaxResults.success(OutletTypesEnum.list); + } + + @ApiOperation(value = "企业端-废气有组织在线监测点位匹配列表查询/废水在线监测点位匹配") + @PostMapping("/queryPcOutletGasOrWasList") + public AjaxResults> queryPcOutletGasOrWasList(@RequestBody PcOutletGasQuery pcOutletGasQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =pcOutletGasQuery.getFactoryId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + if (StringUtils.isEmpty(pcOutletGasQuery.getPollutantType())) { + return AjaxResults.error("污染物类型不允许为空!"); + } + if (StringUtils.isEmpty(pcOutletGasQuery.getPollutantOutletType())) { + return AjaxResults.error("排口分类不允许为空!"); + } + IPage pcOutletGasList = pcOutletService.queryPcOutletGasList(pcOutletGasQuery, factoryId); + return AjaxResults.success(pcOutletGasList); + + } + + @ApiOperation(value = "企业端-导出/废气有组织在线监测点位匹配列表/废水在线监测点位匹配") + @PostMapping("/exportOutletGasOrWas") + public void exportOutletGasOrWas(HttpServletResponse response, @RequestBody PcOutletGasQuery pcOutletGasQuery) { + pcOutletGasQuery.setPageNum(1); + pcOutletGasQuery.setPageSize(999999); + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =pcOutletGasQuery.getFactoryId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + IPage pcOutletGasList = pcOutletService.queryPcOutletGasList(pcOutletGasQuery, factoryId); + ExcelUtil util = new ExcelUtil(PcOutletGasVO.class); + String sheetName = ""; + if (pcOutletGasQuery.getPollutantOutletType().equals("1")) { + sheetName = "企业端-导出废气有组织在线监测点位匹配列表"; + } + if (pcOutletGasQuery.getPollutantOutletType().equals("2")) { + sheetName = "企业端-导出废水在线监测点位匹配列表"; + } + util.exportExcel(response, pcOutletGasList.getRecords(), sheetName); + } + + @ApiOperation("企业端-对应许可证排口名称下拉列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "pollutantOutletType", value = "排口分类 (废气有组织排口:1)", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/outletName") + public AjaxResults outletName( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "pollutantOutletType", required = false) String pollutantOutletType + ) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =""; + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + if (StringUtils.isEmpty(pollutantOutletType)) { + return AjaxResults.error("污染物类型为1时查询废气有组织排口,排口分类不允许为空"); + } + } + List point = pcOutletService.outletName(factoryId, pollutantType, pollutantOutletType); + return AjaxResults.success(point); + } + + @ApiOperation(value = "企业端-编辑/废气有组织在线监测点位/废水在线监测点位") + @PostMapping("/updateOutletGas") + public AjaxResults updateOutletGas(@RequestBody List pcOutletGasUpdateQuery) { + if (pcOutletGasUpdateQuery.size() == 0) { + return AjaxResults.error("参数不允许为空!"); + } + AjaxResults ajaxResults = pcOutletService.updateOutletGas(pcOutletGasUpdateQuery); + return ajaxResults; + } + + @ApiOperation(value = "企业端-取消对应关系/废气有组织在线监测点位/废水在线监测点位") + @PostMapping("/cancelRelationship") + public AjaxResults cancelRelationship(@RequestBody List pcOutletGasUpdateQueryList) { + AjaxResults ajaxResults = pcOutletService.cancelRelationship(pcOutletGasUpdateQueryList); + return ajaxResults; + } + + @ApiOperation(value = "企业端-查询操作日志/1-废气有组织在线监测点位/2-废水在线监测点位/3-废气无组织监测点位") + @PostMapping("/queryMonitoringPointLogList") + public AjaxResults> queryMonitoringPointLogList(@RequestBody MonitoringPointLogQuery monitoringPointLogQuery) throws ParseException { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =monitoringPointLogQuery.getFactoryId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + if (StringUtils.isEmpty(monitoringPointLogQuery.getMonitoringPointType())) { + return AjaxResults.error("类型不能为空!"); + } + IPage bMainMonitorPointOperationLogIPage = pcOutletService.queryMonitoringPointLog(monitoringPointLogQuery, factoryId); + return AjaxResults.success(bMainMonitorPointOperationLogIPage); + } + + + @ApiOperation(value = "企业端-废气无组织监测点位填报-列表") + @PostMapping("/queryGasPEMonitoringPointList") + public AjaxResults> queryGasPEMonitoringPointList(@RequestBody GasPEMonitoringPointQuery gasPEMonitoringPointQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =gasPEMonitoringPointQuery.getFactoryId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + IPage bMainMonitorPointOperationLogIPage = pcOutletService.queryGasPEMonitoringPointList(factoryId, gasPEMonitoringPointQuery); + return AjaxResults.success(bMainMonitorPointOperationLogIPage); + } + + @ApiOperation(value = "企业端-废气无组织监测点位填报-新增/编辑") + @PostMapping("/insertOrUpdateGasPEMonitoringPoint") + public AjaxResults insertOrUpdateGasPEMonitoringPoint(@RequestBody List gasPEMonitoringPointVO) { + if (gasPEMonitoringPointVO.size() == 0) { + return AjaxResults.error("参数不允许为空!"); + } + AjaxResults ajaxResults = pcOutletService.insertOrUpdateGasPEMonitoringPoint(gasPEMonitoringPointVO); + return ajaxResults; + } + + @ApiOperation(value = "企业端-废气无组织监测点位填报-删除") + @ApiImplicitParams({ + @ApiImplicitParam(name = "monitoringPointId", value = "监测点主键标识", required = true, paramType = "query", dataType = "String") + }) + @PostMapping("/deleteGasPEMonitoringPoint") + public AjaxResults deleteGasPEMonitoringPoint(@RequestBody List gasPEMonitoringPointVOList) { + AjaxResults ajaxResults = pcOutletService.deleteGasPEMonitoringPoint(gasPEMonitoringPointVOList); + return ajaxResults; + } + + @ApiOperation(value = "企业端-废气无组织监测点位填报列表-导出") + @PostMapping("/exportGasPEMonitoringPointList") + public void exportGasPEMonitoringPointList(HttpServletResponse response, @RequestBody GasPEMonitoringPointQuery gasPEMonitoringPointQuery) { + gasPEMonitoringPointQuery.setPageNum(1); + gasPEMonitoringPointQuery.setPageSize(999999); + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + String factoryId =gasPEMonitoringPointQuery.getFactoryId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + IPage bMainMonitorPointOperationLogIPage = pcOutletService.queryGasPEMonitoringPointList(factoryId, gasPEMonitoringPointQuery); + ExcelUtil util = new ExcelUtil(GasPEMonitoringPointVO.class); + util.exportExcel(response, bMainMonitorPointOperationLogIPage.getRecords(), "企业端-导出废气无组织在线监测点位匹配列表"); + } + /** + * 手工监测排放点位下拉框 + */ + @ApiOperation(value = "手工监测排放点位下拉框") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + }) + @GetMapping("/manualMonitoring") + public AjaxResults> manualMonitoring( @RequestParam(value = "pollutantType") String pollutantType + ) { + return AjaxResults.success(pcOutletService.manualMonitoring(pollutantType)); + } + /** + * 手工监测排口编号下拉框 + */ + @ApiOperation(value = "手工监测排口编号下拉框") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "code", value = "排口编号", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/manualMonitoringCode") + public AjaxResults> manualMonitoringCode( + @RequestParam(value = "pollutantType") String pollutantType, + @RequestParam(value = "code",required = false) String code + ) { + return AjaxResults.success(pcOutletService.manualMonitoringCode(pollutantType,code)); + } + + /** + * 企业下废气废水排口列表(包含超标信息) + */ + @ApiOperation(value = "企业下废气废水排口列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryId", value = "企业编号", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "type", value = "排口编号", required = true, paramType = "query", dataType = "Integer"), + @ApiImplicitParam(name = "monitorPointName", value = "监测点位名称", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/factoryOutlets") + public AjaxResults>> factoryOutlets( + @RequestParam(value = "factoryId") String factoryId, + @RequestParam(value = "type") Integer type, + @RequestParam(value = "monitorPointName", required = false) String monitorPointName + ) { + return AjaxResults.success(pcOutletService.queryPcOutletList(factoryId,type, monitorPointName)); + } + /** + * 企业下废气废水排口列表(包含超标信息) + */ + @ApiOperation(value = "多源排放量监测点名称列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "factoryName", value = "企业编号", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "type", value = "1在线,2许可", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "pollutantOutletType", value = "1废气,2废水", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "monitorPointName", value = "监测点位名称", required = false, paramType = "query", dataType = "String") + }) + @GetMapping("/sourceOutlets") + public AjaxResults>> sourceOutlets( + @RequestParam(value = "factoryName") String factoryName, + @RequestParam(value = "type") String type, + @RequestParam(value = "pollutantOutletType") String pollutantOutletType, + @RequestParam(value = "monitorPointName", required = false) String monitorPointName + ) { + return AjaxResults.success(pcOutletService.sourceOutlets(factoryName,type, pollutantOutletType,monitorPointName)); + } + + @ApiOperation(value = "监测点位对比分析下拉框列表") + @GetMapping("/selectContrastPointList") + public AjaxResults> selectContrastPointList(SRaRealTimeAnalysicComsitMonitorVo pcOutlet) { + return AjaxResults.success(pcOutletService.selectContrastPointList(pcOutlet)); + } + + /** + * 查询在线监测,无组织,排口坐标列表 + */ + @ApiOperation(value = "查询在线监测,无组织,排口坐标列表") + @GetMapping("/coordinateList") + public AjaxResults> coordinateList(PcOutletCoordinateQuery pcOutletCoordinateQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcOutletCoordinateQuery.setFactoryId(factoryId); + } + Page page = new Page<>(pcOutletCoordinateQuery.getPageNum(), pcOutletCoordinateQuery.getPageSize()); + IPage list = pcOutletService.page(page, PcOutletCoordinateQuery.createLambdaQueryWrapper(pcOutletCoordinateQuery)); + return AjaxResults.success(list); + } + + /** + * 查询在线监测,无组织,排口坐标下拉框 + */ + @ApiOperation(value = "查询在线监测,无组织,排口坐标下拉框") + @GetMapping("/coordinateSelect") + public AjaxResults> coordinateSelect(PcOutletCoordinateQuery pcOutletCoordinateQuery) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcOutletCoordinateQuery.setFactoryId(factoryId); + } + List list = pcOutletService.list(PcOutletCoordinateQuery.createLambdaQueryWrapper(pcOutletCoordinateQuery)); + return AjaxResults.success(list); + } + + /** + * 导出在线监测,无组织,排口坐标列表 + */ + @ApiOperation(value = "导出在线监测,无组织,排口坐标列表") + @PostMapping("/exportCoordinateList") + public void exportCoordinateList(HttpServletResponse response, @RequestBody PcOutletCoordinateQuery pcOutletCoordinateQuery) { + String pollutantType = pcOutletCoordinateQuery.getPollutantType(); + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcOutletCoordinateQuery.setFactoryId(factoryId); + } + List list = pcOutletService.list(PcOutletCoordinateQuery.createLambdaQueryWrapper(pcOutletCoordinateQuery)); + + List pcOutletCoordinateList = new ArrayList<>(); + PrimitiveIterator.OfInt iterator = IntStream.iterate(1, k -> k + 1).iterator(); + list.forEach(e -> { + PcOutletCoordinateVo pcOutletCoordinateVo = new PcOutletCoordinateVo(); + BeanUtil.copyProperties(e, pcOutletCoordinateVo); + pcOutletCoordinateVo.setSerialnumber(iterator.next()); + pcOutletCoordinateVo.setInorganizationPointName(e.getMonitoringPointName()); + pcOutletCoordinateList.add(pcOutletCoordinateVo); + }); + ExcelUtil util = new ExcelUtil<>(PcOutletCoordinateVo.class); + if("1".equals(pollutantType)){ + util.hideColumnNative(1,2); + }else if("3".equals(pollutantType)){ + util.hideColumnNative(1,3); + }else{ + util.hideColumnNative(2,3); + } + util.exportExcel(response, pcOutletCoordinateList, "坐标信息"); + } + + /** + * 批量修改在线监测,无组织,排口坐标 + */ + @ApiOperation(value = "批量修改在线监测,无组织,排口坐标") + @Log(title = "在线监测,无组织,排口坐标信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/editBatchCoordinate") + public AjaxResults editBatchCoordinate(@RequestBody PcOutlet[] pcOutletArr) { + if (pcOutletArr ==null || pcOutletArr.length < 1) { + throw new InvalidParameterException("参数为空"); + } + pcOutletService.editBatchCoordinate(pcOutletArr); + return toAjax(true); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletCoordinateOperationLogController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletCoordinateOperationLogController.java new file mode 100644 index 0000000..d8613f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcOutletCoordinateOperationLogController.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcOutletCoordinateOperationLog; +import cn.cecep.talroad.service.IPcOutletCoordinateOperationLogService; +import cn.cecep.talroad.vo.PcOutletCoordinateOperationLogVo; +import cn.cecep.talroad.vo.query.PcOutletCoordinateOperationLogQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + /** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +@Api(tags = "在线监测,无组织点位,排口经纬度坐标操作记录表") +@RestController +@RequestMapping("/pcOutletCoordinateOperationLog") +public class PcOutletCoordinateOperationLogController extends BasesController{ + @Autowired + private IPcOutletCoordinateOperationLogService pcOutletCoordinateOperationLogService; + + /** + * 查询在线监测,无组织点位,排口经纬度坐标操作记录表列表 + */ + @ApiOperation(value = "查询在线监测,无组织点位,排口经纬度坐标操作记录表列表") + @GetMapping("/list") + public AjaxResults> list(PcOutletCoordinateOperationLogQuery pcOutletCoordinateOperationLog) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + String factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + pcOutletCoordinateOperationLog.setFactoryId(factoryId); + } + Page page = new Page<>(pcOutletCoordinateOperationLog.getPageNum(), pcOutletCoordinateOperationLog.getPageSize()); + IPage list = pcOutletCoordinateOperationLogService.page(page, PcOutletCoordinateOperationLogQuery.createLambdaQueryWrapper(pcOutletCoordinateOperationLog)); + return AjaxResults.success(list); + } + + /** + * 导出在线监测,无组织点位,排口经纬度坐标操作记录表列表 + */ + @ApiOperation(value = "导出在线监测,无组织点位,排口经纬度坐标操作记录表列表") + @Log(title = "在线监测,无组织点位,排口经纬度坐标操作记录表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcOutletCoordinateOperationLogQuery pcOutletCoordinateOperationLogQuery) { + List list = pcOutletCoordinateOperationLogService.list(PcOutletCoordinateOperationLogQuery.createLambdaQueryWrapper(pcOutletCoordinateOperationLogQuery)); + ExcelUtil util = new ExcelUtil(PcOutletCoordinateOperationLog.class); + util.exportExcel(response, list, "在线监测,无组织点位,排口经纬度坐标操作记录表"); + } + + /** + * 获取在线监测,无组织点位,排口经纬度坐标操作记录表详细信息 + */ + @ApiOperation(value = "获取在线监测,无组织点位,排口经纬度坐标操作记录表详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcOutletCoordinateOperationLogService.getById(id)); + } + + /** + * 新增在线监测,无组织点位,排口经纬度坐标操作记录表 + */ + @ApiOperation(value = "新增在线监测,无组织点位,排口经纬度坐标操作记录表") + @Log(title = "在线监测,无组织点位,排口经纬度坐标操作记录表", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcOutletCoordinateOperationLogVo pcOutletCoordinateOperationLogVo) { + PcOutletCoordinateOperationLog pcOutletCoordinateOperationLog = new PcOutletCoordinateOperationLog(); + BeanUtils.copyBeanProp(pcOutletCoordinateOperationLogVo, pcOutletCoordinateOperationLog); + return pcOutletCoordinateOperationLogService.save(pcOutletCoordinateOperationLog) ? AjaxResults.success() : AjaxResults.error(300001, "新增失败"); + } + + /** + * 修改在线监测,无组织点位,排口经纬度坐标操作记录表 + */ + @ApiOperation(value = "修改在线监测,无组织点位,排口经纬度坐标操作记录表") + @Log(title = "在线监测,无组织点位,排口经纬度坐标操作记录表", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcOutletCoordinateOperationLogVo pcOutletCoordinateOperationLogVo) { + PcOutletCoordinateOperationLog pcOutletCoordinateOperationLog = pcOutletCoordinateOperationLogService.getById(pcOutletCoordinateOperationLogVo.getLogId()); + if (ObjectUtil.isNull(pcOutletCoordinateOperationLog)) { + return AjaxResults.error(300002, "修改失败"); + } + // 赋值 + BeanUtil.copyProperties(pcOutletCoordinateOperationLogVo, pcOutletCoordinateOperationLog); + return pcOutletCoordinateOperationLogService.saveOrUpdate(pcOutletCoordinateOperationLog) ? AjaxResults.success() : + AjaxResults.error(300003, "修改失败"); + } + + /** + * 删除在线监测,无组织点位,排口经纬度坐标操作记录表 + */ + @ApiOperation(value = "删除在线监测,无组织点位,排口经纬度坐标操作记录表") + // @RequiresPermissions("talroad:pcOutletCoordinateOperationLog:remove") + @Log(title = "在线监测,无组织点位,排口经纬度坐标操作记录表", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return pcOutletCoordinateOperationLogService.removeByIds(Arrays.asList(ids)) ? AjaxResults.success() : + AjaxResults.error(300004, "删除失败"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcPollutantController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcPollutantController.java new file mode 100644 index 0000000..bb83fc9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcPollutantController.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.service.IPcPollutantService; +import cn.cecep.talroad.vo.PcPollutantVo; +import cn.cecep.talroad.vo.query.PcPollutantQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 污染物Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "污染物") +@RestController +@RequestMapping("/pcPollutant") +public class PcPollutantController extends BasesController +{ + @Autowired + private IPcPollutantService pcPollutantService; + + /** + * 查询污染物列表 + */ + @ApiOperation(value = "查询污染物") + @GetMapping("/list") + public AjaxResults> list(PcPollutantQuery pcPollutant) + { + Page page = new Page<>(pcPollutant.getPageNum(), pcPollutant.getPageSize()); + IPage list = pcPollutantService.page(page, PcPollutantQuery.createLambdaQueryWrapper(pcPollutant)); + return AjaxResults.success(list); + } + + + /** + * 导出污染物列表 + */ + @ApiOperation(value = "导出污染物") + @Log(title = "污染物", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcPollutant pcPollutant) + { + List list = pcPollutantService.selectPcPollutantList(pcPollutant); + ExcelUtil util = new ExcelUtil(PcPollutant.class); + util.exportExcel(response, list, "污染物数据"); + } + + /** + * 获取污染物详细信息 + */ + @ApiOperation(value = "获取污染物详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcPollutantService.getById(id)); + } + /** + * 新增污染物 + */ + @ApiOperation(value = "新增污染物") + @Log(title = "污染物", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcPollutant pcPollutant) { + return toAjax(pcPollutantService.save(pcPollutant)); + } + /** + * 修改污染物 + */ + @ApiOperation(value = "修改污染物") + @Log(title = "污染物", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcPollutantVo pcPollutantVo) { + if(ObjectUtil.isEmpty(pcPollutantVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcPollutantVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcPollutant pcPollutant = pcPollutantService.getById(pcPollutantVo.getId()); + if(ObjectUtil.isEmpty(pcPollutant)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcPollutantVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcPollutantVo,pcPollutant); + return toAjax(pcPollutantService.saveOrUpdate(pcPollutant)); + } + + /** + * 删除污染物 + */ + @ApiOperation(value = "删除污染物") + @RequiresPermissions("talroad:pollutant:remove") + @Log(title = "污染物", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcPollutantService.removeByIds(Arrays.asList(ids))); + } + /** + * 手工监测污染物下拉框 + */ + @ApiOperation(value = "手工监测污染物下拉框") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气传:气污染物|废水传:水污染物)", required = true, paramType = "query", dataType = "String"), + }) + @GetMapping("/manualMonitoringPollutants") + public AjaxResults> manualMonitoringPollutants(@RequestParam(value = "pollutantType") String pollutantType) + { + List list = pcPollutantService.manualMonitoringPollutants(pollutantType); + return AjaxResults.success(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcProductionFacilityController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcProductionFacilityController.java new file mode 100644 index 0000000..2feccf0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcProductionFacilityController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcProductionFacility; +import cn.cecep.talroad.service.IPcProductionFacilityService; +import cn.cecep.talroad.vo.PcProductionFacilityVo; +import cn.cecep.talroad.vo.query.PcProductionFacilityQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 生产设施Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "生产设施") +@RestController +@RequestMapping("/pcProductionFacility") +public class PcProductionFacilityController extends BasesController +{ + @Autowired + private IPcProductionFacilityService pcProductionFacilityService; + + /** + * 查询生产设施列表 + */ + @ApiOperation(value = "查询生产设施") + @GetMapping("/list") + public AjaxResults> list(PcProductionFacilityQuery pcProductionFacility) + { + Page page = new Page<>(pcProductionFacility.getPageNum(), pcProductionFacility.getPageSize()); + IPage list = pcProductionFacilityService.page(page, PcProductionFacilityQuery.createLambdaQueryWrapper(pcProductionFacility)); + return AjaxResults.success(list); + } + + + /** + * 导出生产设施列表 + */ + @ApiOperation(value = "导出生产设施") + @Log(title = "生产设施", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcProductionFacility pcProductionFacility) + { + List list = pcProductionFacilityService.selectPcProductionFacilityList(pcProductionFacility); + ExcelUtil util = new ExcelUtil(PcProductionFacility.class); + util.exportExcel(response, list, "生产设施数据"); + } + + /** + * 获取生产设施详细信息 + */ + @ApiOperation(value = "获取生产设施详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcProductionFacilityService.getById(id)); + } + /** + * 新增生产设施 + */ + @ApiOperation(value = "新增生产设施") + @Log(title = "生产设施", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcProductionFacility pcProductionFacility) { + return toAjax(pcProductionFacilityService.save(pcProductionFacility)); + } + /** + * 修改生产设施 + */ + @ApiOperation(value = "修改生产设施") + @Log(title = "生产设施", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcProductionFacilityVo pcProductionFacilityVo) { + if(ObjectUtil.isEmpty(pcProductionFacilityVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcProductionFacilityVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcProductionFacility pcProductionFacility = pcProductionFacilityService.getById(pcProductionFacilityVo.getId()); + if(ObjectUtil.isEmpty(pcProductionFacility)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcProductionFacilityVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcProductionFacilityVo,pcProductionFacility); + return toAjax(pcProductionFacilityService.saveOrUpdate(pcProductionFacility)); + } + + /** + * 删除生产设施 + */ + @ApiOperation(value = "删除生产设施") + @RequiresPermissions("talroad:facility:remove") + @Log(title = "生产设施", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcProductionFacilityService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcSolidHazardousTypeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcSolidHazardousTypeController.java new file mode 100644 index 0000000..468bf37 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcSolidHazardousTypeController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcSolidHazardousType; +import cn.cecep.talroad.service.IPcSolidHazardousTypeService; +import cn.cecep.talroad.vo.PcSolidHazardousTypeVo; +import cn.cecep.talroad.vo.query.PcSolidHazardousTypeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 固危废贮存信息--危险废物名录类型Controller 控制层 + * + * @author szhpt + * @date 2023-03-21*/ +@Api(tags = "固危废贮存信息--危险废物名录类型") +@RestController +@RequestMapping("/pcSolidHazardousType") +public class PcSolidHazardousTypeController extends BasesController +{ + @Autowired + private IPcSolidHazardousTypeService pcSolidHazardousTypeService; + + /** + * 查询固危废贮存信息--危险废物名录类型列表 + */ + @ApiOperation(value = "查询固危废贮存信息--危险废物名录类型") + @GetMapping("/list") + public AjaxResults> list(PcSolidHazardousTypeQuery pcSolidHazardousType) + { + Page page = new Page<>(pcSolidHazardousType.getPageNum(), pcSolidHazardousType.getPageSize()); + IPage list = pcSolidHazardousTypeService.page(page, PcSolidHazardousTypeQuery.createLambdaQueryWrapper(pcSolidHazardousType)); + return AjaxResults.success(list); + } + + + /** + * 导出固危废贮存信息--危险废物名录类型列表 + */ + @ApiOperation(value = "导出固危废贮存信息--危险废物名录类型") + @Log(title = "固危废贮存信息--危险废物名录类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcSolidHazardousTypeQuery pcSolidHazardousType) + { + List list = pcSolidHazardousTypeService.list(PcSolidHazardousTypeQuery.createLambdaQueryWrapper(pcSolidHazardousType)); + ExcelUtil util = new ExcelUtil<>(PcSolidHazardousType.class); + util.exportExcel(response, list, "固危废贮存信息--危险废物名录类型数据"); + } + + /** + * 获取固危废贮存信息--危险废物名录类型详细信息 + */ + @ApiOperation(value = "获取固危废贮存信息--危险废物名录类型详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcSolidHazardousTypeService.getById(id)); + } + /** + * 新增固危废贮存信息--危险废物名录类型 + */ + @ApiOperation(value = "新增固危废贮存信息--危险废物名录类型") + @Log(title = "固危废贮存信息--危险废物名录类型", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcSolidHazardousType pcSolidHazardousType) { + return toAjax(pcSolidHazardousTypeService.save(pcSolidHazardousType)); + } + /** + * 修改固危废贮存信息--危险废物名录类型 + */ + @ApiOperation(value = "修改固危废贮存信息--危险废物名录类型") + @Log(title = "固危废贮存信息--危险废物名录类型", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcSolidHazardousTypeVo pcSolidHazardousTypeVo) { + if(ObjectUtil.isEmpty(pcSolidHazardousTypeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcSolidHazardousTypeVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcSolidHazardousType pcSolidHazardousType = pcSolidHazardousTypeService.getById(pcSolidHazardousTypeVo.getId()); + if(ObjectUtil.isEmpty(pcSolidHazardousType)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcSolidHazardousTypeVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcSolidHazardousTypeVo,pcSolidHazardousType); + return toAjax(pcSolidHazardousTypeService.saveOrUpdate(pcSolidHazardousType)); + } + + /** + * 删除固危废贮存信息--危险废物名录类型 + */ + @ApiOperation(value = "删除固危废贮存信息--危险废物名录类型") + @RequiresPermissions("talroad:pcSolidHazardousType:remove") + @Log(title = "固危废贮存信息--危险废物名录类型", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcSolidHazardousTypeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingController.java new file mode 100644 index 0000000..d42416a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingController.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcStationBuilding; +import cn.cecep.talroad.service.IPcStationBuildingService; +import cn.cecep.talroad.vo.PcStationBuildingVo; +import cn.cecep.talroad.vo.query.PcStationBuildingQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 站房基本信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--站房基本信息") +@RestController +@RequestMapping("/pcStationBuilding") +public class PcStationBuildingController extends BasesController +{ + @Autowired + private IPcStationBuildingService pcStationBuildingService; + + /** + * 查询废气有组织、无组织排口列表 + */ + @ApiOperation(value = "站房下拉框列表") + @GetMapping("/selectList") + public AjaxResults> selectList(PcStationBuilding pcStationBuilding) + { + BaseMapper baseMapper = pcStationBuildingService.getBaseMapper(); + QueryWrapper wrapper = new QueryWrapper<>(pcStationBuilding); + wrapper.select("distinct factory_id, station_building_code, station_building_name"); + wrapper.orderByAsc("station_building_code"); + List pcStationBuildingList = baseMapper.selectList(wrapper); + return AjaxResults.success(pcStationBuildingList); + } + + /** + * 查询站房基本信息列表 + */ + @ApiOperation(value = "查询站房基本信息") + @GetMapping("/list") + public AjaxResults> list(PcStationBuildingQuery pcStationBuilding) + { + if (StrUtil.isEmpty(pcStationBuilding.getStationBuildingCode())) { + return AjaxResults.error("查询失败,站点未选择!"); + } + Page page = new Page<>(pcStationBuilding.getPageNum(), pcStationBuilding.getPageSize()); + IPage list = pcStationBuildingService.page(page, PcStationBuildingQuery.createLambdaQueryWrapper(pcStationBuilding)); + return AjaxResults.success(list); + } + + + /** + * 导出站房基本信息列表 + */ + @ApiOperation(value = "导出站房基本信息") + @Log(title = "站房基本信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcStationBuilding pcStationBuilding) + { + List list = pcStationBuildingService.selectPcStationBuildingList(pcStationBuilding); + ExcelUtil util = new ExcelUtil(PcStationBuilding.class); + util.exportExcel(response, list, "站房基本信息数据"); + } + + /** + * 获取站房基本信息详细信息 + */ + @ApiOperation(value = "获取站房基本信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcStationBuildingService.getById(id)); + } + /** + * 新增站房基本信息 + */ + @ApiOperation(value = "新增站房基本信息") + @Log(title = "站房基本信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcStationBuilding pcStationBuilding) { + return toAjax(pcStationBuildingService.save(pcStationBuilding)); + } + /** + * 修改站房基本信息 + */ + @ApiOperation(value = "修改站房基本信息") + @Log(title = "站房基本信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcStationBuildingVo pcStationBuildingVo) { + if(ObjectUtil.isEmpty(pcStationBuildingVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcStationBuildingVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcStationBuilding pcStationBuilding = pcStationBuildingService.getById(pcStationBuildingVo.getId()); + if(ObjectUtil.isEmpty(pcStationBuilding)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcStationBuildingVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcStationBuildingVo,pcStationBuilding); + return toAjax(pcStationBuildingService.saveOrUpdate(pcStationBuilding)); + } + + /** + * 删除站房基本信息 + */ + @ApiOperation(value = "删除站房基本信息") + @RequiresPermissions("talroad:building:remove") + @Log(title = "站房基本信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcStationBuildingService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingEntranceGuController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingEntranceGuController.java new file mode 100644 index 0000000..daf4000 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingEntranceGuController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcStationBuildingEntranceGu; +import cn.cecep.talroad.service.IPcStationBuildingEntranceGuService; +import cn.cecep.talroad.vo.PcStationBuildingEntranceGuVo; +import cn.cecep.talroad.vo.query.PcStationBuildingEntranceGuQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 站房门禁监管信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--站房门禁监管信息") +@RestController +@RequestMapping("/pcStationBuildingEntranceGu") +public class PcStationBuildingEntranceGuController extends BasesController +{ + @Autowired + private IPcStationBuildingEntranceGuService pcStationBuildingEntranceGuService; + + /** + * 查询站房门禁监管信息列表 + */ + @ApiOperation(value = "查询站房门禁监管信息") + @GetMapping("/list") + public AjaxResults> list(PcStationBuildingEntranceGuQuery pcStationBuildingEntranceGu) + { + if (StrUtil.isEmpty(pcStationBuildingEntranceGu.getStationBuildingId())) { + return AjaxResults.error("查询失败,站点未选择!"); + } + Page page = new Page<>(pcStationBuildingEntranceGu.getPageNum(), pcStationBuildingEntranceGu.getPageSize()); + IPage list = pcStationBuildingEntranceGuService.page(page, PcStationBuildingEntranceGuQuery.createLambdaQueryWrapper(pcStationBuildingEntranceGu)); + return AjaxResults.success(list); + } + + + /** + * 导出站房门禁监管信息列表 + */ + @ApiOperation(value = "导出站房门禁监管信息") + @Log(title = "站房门禁监管信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcStationBuildingEntranceGuQuery pcStationBuildingEntranceGu) + { + List list = pcStationBuildingEntranceGuService.list(PcStationBuildingEntranceGuQuery.createLambdaQueryWrapper(pcStationBuildingEntranceGu)); + ExcelUtil util = new ExcelUtil(PcStationBuildingEntranceGu.class); + util.exportExcel(response, list, "站房门禁监管信息数据"); + } + + /** + * 获取站房门禁监管信息详细信息 + */ + @ApiOperation(value = "获取站房门禁监管信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcStationBuildingEntranceGuService.getById(id)); + } + /** + * 新增站房门禁监管信息 + */ + @ApiOperation(value = "新增站房门禁监管信息") + @Log(title = "站房门禁监管信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcStationBuildingEntranceGu pcStationBuildingEntranceGu) { + return toAjax(pcStationBuildingEntranceGuService.save(pcStationBuildingEntranceGu)); + } + /** + * 修改站房门禁监管信息 + */ + @ApiOperation(value = "修改站房门禁监管信息") + @Log(title = "站房门禁监管信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcStationBuildingEntranceGuVo pcStationBuildingEntranceGuVo) { + if(ObjectUtil.isEmpty(pcStationBuildingEntranceGuVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcStationBuildingEntranceGuVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcStationBuildingEntranceGu pcStationBuildingEntranceGu = pcStationBuildingEntranceGuService.getById(pcStationBuildingEntranceGuVo.getId()); + if(ObjectUtil.isEmpty(pcStationBuildingEntranceGu)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcStationBuildingEntranceGuVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcStationBuildingEntranceGuVo,pcStationBuildingEntranceGu); + return toAjax(pcStationBuildingEntranceGuService.saveOrUpdate(pcStationBuildingEntranceGu)); + } + + /** + * 删除站房门禁监管信息 + */ + @ApiOperation(value = "删除站房门禁监管信息") + @RequiresPermissions("talroad:gu:remove") + @Log(title = "站房门禁监管信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcStationBuildingEntranceGuService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingOpsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingOpsController.java new file mode 100644 index 0000000..007ed9c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingOpsController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.PcStationBuildingOps; +import cn.cecep.talroad.service.IPcStationBuildingOpsService; +import cn.cecep.talroad.vo.PcStationBuildingOpsVo; +import cn.cecep.talroad.vo.query.PcStationBuildingOpsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 站房运维签到信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--站房运维签到信息") +@RestController +@RequestMapping("/pcStationBuildingOps") +public class PcStationBuildingOpsController extends BasesController +{ + @Autowired + private IPcStationBuildingOpsService pcStationBuildingOpsService; + + /** + * 查询站房运维签到信息列表 + */ + @ApiOperation(value = "查询站房运维签到信息") + @GetMapping("/list") + public AjaxResults> list(PcStationBuildingOpsQuery pcStationBuildingOps) + { + if (StrUtil.isEmpty(pcStationBuildingOps.getStationBuildingId())) { + return AjaxResults.error("查询失败,站点未选择!"); + } + Page page = new Page<>(pcStationBuildingOps.getPageNum(), pcStationBuildingOps.getPageSize()); + IPage list = pcStationBuildingOpsService.page(page, PcStationBuildingOpsQuery.createLambdaQueryWrapper(pcStationBuildingOps)); + return AjaxResults.success(list); + } + + + /** + * 导出站房运维签到信息列表 + */ + @ApiOperation(value = "导出站房运维签到信息") + @Log(title = "站房运维签到信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcStationBuildingOpsQuery pcStationBuildingOps) + { + List list = pcStationBuildingOpsService.list(PcStationBuildingOpsQuery.createLambdaQueryWrapper(pcStationBuildingOps)); + ExcelUtil util = new ExcelUtil(PcStationBuildingOps.class); + util.exportExcel(response, list, "站房运维签到信息数据"); + } + + /** + * 获取站房运维签到信息详细信息 + */ + @ApiOperation(value = "获取站房运维签到信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcStationBuildingOpsService.getById(id)); + } + /** + * 新增站房运维签到信息 + */ + @ApiOperation(value = "新增站房运维签到信息") + @Log(title = "站房运维签到信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcStationBuildingOps pcStationBuildingOps) { + return toAjax(pcStationBuildingOpsService.save(pcStationBuildingOps)); + } + /** + * 修改站房运维签到信息 + */ + @ApiOperation(value = "修改站房运维签到信息") + @Log(title = "站房运维签到信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcStationBuildingOpsVo pcStationBuildingOpsVo) { + if(ObjectUtil.isEmpty(pcStationBuildingOpsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcStationBuildingOpsVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcStationBuildingOps pcStationBuildingOps = pcStationBuildingOpsService.getById(pcStationBuildingOpsVo.getId()); + if(ObjectUtil.isEmpty(pcStationBuildingOps)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcStationBuildingOpsVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcStationBuildingOpsVo,pcStationBuildingOps); + return toAjax(pcStationBuildingOpsService.saveOrUpdate(pcStationBuildingOps)); + } + + /** + * 删除站房运维签到信息 + */ + @ApiOperation(value = "删除站房运维签到信息") + @RequiresPermissions("talroad:ops:remove") + @Log(title = "站房运维签到信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcStationBuildingOpsService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingStatController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingStatController.java new file mode 100644 index 0000000..2077e2d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PcStationBuildingStatController.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.PcStationBuildingStatQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import cn.cecep.talroad.vo.PcStationBuildingStatVo; +import cn.cecep.talroad.service.IPcStationBuildingStatService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 站房信息--站房门禁进出统计分析Controller 控制层 + * + * @author szhpt + * @date 2023-06-27*/ +@Api(tags = "站房信息--站房门禁进出统计分析") +@RestController +@RequestMapping("/stat") +public class PcStationBuildingStatController extends BasesController +{ + @Autowired + private IPcStationBuildingStatService pcStationBuildingStatService; + + /** + * 站房门禁进出统计分析列表 + */ + @ApiOperation(value = "查询站房门禁进出统计分析列表") + @GetMapping("/page") + public AjaxResults> page(PcStationBuildingStatQuery query) + { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + pcStationBuildingStatService.selectPage(page, query); + return AjaxResults.success(page); + } + + /** + * 查询站房信息--站房门禁进出统计分析列表 + */ + @ApiOperation(value = "查询站房信息--站房门禁进出统计分析") + @GetMapping("/list") + public AjaxResults> list(PcStationBuildingStatQuery pcStationBuildingStat) + { + Page page = new Page<>(pcStationBuildingStat.getPageNum(), pcStationBuildingStat.getPageSize()); + IPage list = pcStationBuildingStatService.page(page, PcStationBuildingStatQuery.createLambdaQueryWrapper(pcStationBuildingStat)); + return AjaxResults.success(list); + } + + + /** + * 导出站房信息--站房门禁进出统计分析列表 + */ + @ApiOperation(value = "导出站房信息--站房门禁进出统计分析") + @Log(title = "站房信息--站房门禁进出统计分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcStationBuildingStatQuery query) + { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = pcStationBuildingStatService.selectPage(page, query); + + ExcelUtil util = new ExcelUtil<>(PcStationBuildingStatVo.class); + util.exportExcel(response, list, "站房信息--站房门禁进出统计分析数据"); + } + + /** + * 获取站房信息--站房门禁进出统计分析详细信息 + */ + @ApiOperation(value = "获取站房信息--站房门禁进出统计分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcStationBuildingStatService.getById(id)); + } + /** + * 新增站房信息--站房门禁进出统计分析 + */ + @ApiOperation(value = "新增站房信息--站房门禁进出统计分析") + @Log(title = "站房信息--站房门禁进出统计分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcStationBuildingStat pcStationBuildingStat) { + return toAjax(pcStationBuildingStatService.save(pcStationBuildingStat)); + } + /** + * 修改站房信息--站房门禁进出统计分析 + */ + @ApiOperation(value = "修改站房信息--站房门禁进出统计分析") + @Log(title = "站房信息--站房门禁进出统计分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcStationBuildingStatVo pcStationBuildingStatVo) { + if(ObjectUtil.isEmpty(pcStationBuildingStatVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(pcStationBuildingStatVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + PcStationBuildingStat pcStationBuildingStat = pcStationBuildingStatService.getById(pcStationBuildingStatVo.getId()); + if(ObjectUtil.isEmpty(pcStationBuildingStat)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcStationBuildingStatVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcStationBuildingStatVo,pcStationBuildingStat); + return toAjax(pcStationBuildingStatService.saveOrUpdate(pcStationBuildingStat)); + } + + /** + * 删除站房信息--站房门禁进出统计分析 + */ + @ApiOperation(value = "删除站房信息--站房门禁进出统计分析") + @RequiresPermissions("talroad:stat:remove") + @Log(title = "站房信息--站房门禁进出统计分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(pcStationBuildingStatService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PointIsOfflineController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PointIsOfflineController.java new file mode 100644 index 0000000..ea651ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/PointIsOfflineController.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.PointIsOfflineService; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @className: PointIsOfflineController + * @description: 在线监测点位和无组织点位是否离线 + * @author: Mr.Yanghongtao + * @date: 2023/04/15 5:13 PM + * @Company: Copyright© [2023/04/15 5:13 PM] by [Mr.Yanghongtao] + **/ +@RestController +@RequestMapping("pointIsOfflineController") +@Slf4j +public class PointIsOfflineController { + + @Autowired + private PointIsOfflineService pointIsOfflineServiceImpl; + + + @ApiOperation(value = "统计无组织点位是否离线,每个小时10分钟执行") + @GetMapping("/disorganizationPointIsOffline") + public AjaxResults disorganizationPointIsOffline() { + Date sTime = new Date(); + log.info("统计无组织点位是否离线(每小时10分钟执行)开始,当前时间:{}", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",sTime)); + pointIsOfflineServiceImpl.disorganizationPointIsOffline(); + log.info("统计无组织点位是否离线(每小时10分钟执行)结束,当前时间:{},使用耗时:{}秒",DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",new Date()),(new BigDecimal(System.currentTimeMillis() - sTime.getTime()).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP))); + return AjaxResults.success(); + } + + @ApiOperation(value = "统计在线监测点位是否离线,每10分钟执行") + @GetMapping("/onLineMonitoringPointIsOffline") + public AjaxResults onLineMonitoringPointIsOffline() { + Date sTime = new Date(); + log.info("统计在线监测点位是否离线(每10分钟执行)开始,当前时间:{}", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",sTime)); + pointIsOfflineServiceImpl.onLineMonitoringPointIsOffline(); + log.info("统计在线监测点位是否离线(每10分钟执行)结束,当前时间:{},使用耗时:{}秒",DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",new Date()),(new BigDecimal(System.currentTimeMillis() - sTime.getTime()).divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP))); + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasMonRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasMonRealController.java new file mode 100644 index 0000000..ff58fef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasMonRealController.java @@ -0,0 +1,152 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.service.ISEnvGasMonRealService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.query.BMainEmissionSourceAirWaterSolidQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废气监测数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--废气监测数据") +@RestController +@RequestMapping("/sEnvGasMonReal") +public class SEnvGasMonRealController extends BasesController +{ + @Autowired + private ISEnvGasMonRealService sEnvGasMonRealService; + + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + */ + @ApiOperation(value = "废气-废水-固废(图表+列表)-企业排放监控") + @GetMapping("/chart") + public AjaxResults> chart(@Valid BMainEmissionSourceAirWaterSolidQuery query) + { + return AjaxResults.success(sEnvGasMonRealService.chartNew(query)); + } + + /** + * 查询废气监测数据列表 + */ + @ApiOperation(value = "查询废气监测数据") + @GetMapping("/list") + public AjaxResults> list(SEnvGasMonRealQuery sEnvGasMonReal) + { + if (StringUtils.isEmpty(sEnvGasMonReal.getDataType())) { + throw new InvalidParameterException("时间类型参数为空"); + } + IPage list = sEnvGasMonRealService.selectSEnvGasMonRealPage(sEnvGasMonReal); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询废气监测曲线图数据") + @GetMapping("/charData") + public AjaxResults getCharData(SEnvGasMonRealQuery sEnvGasMonReal) + { + EChartsVO charData = sEnvGasMonRealService.getCharData(sEnvGasMonReal); + return AjaxResults.success(charData); + } + + @ApiOperation(value = "查询废气排口下所有监测点位的曲线图数据") + @GetMapping("/charDataList") + public AjaxResults> charDataList(SEnvGasMonRealQuery sEnvGasMonReal) + { + List chartsVO = sEnvGasMonRealService.getCharDataList(sEnvGasMonReal); + return AjaxResults.success(chartsVO); + } + + /** + * 导出废气监测数据列表 + */ + @ApiOperation(value = "导出废气监测数据") + @Log(title = "废气监测数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SEnvGasMonRealQuery sEnvGasMonReal) + { + List list = sEnvGasMonRealService.selectSEnvGasMonRealList(sEnvGasMonReal); + ExcelUtil util = new ExcelUtil<>(SEnvGasMonRealVo.class); + util.exportExcel(response, list, "废气监测数据数据"); + } + + /** + * 获取废气监测数据详细信息 + */ + @ApiOperation(value = "获取废气监测数据详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sEnvGasMonRealService.getById(id)); + } + /** + * 新增废气监测数据 + */ + @ApiOperation(value = "新增废气监测数据") + @Log(title = "废气监测数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SEnvGasMonReal sEnvGasMonReal) { + return toAjax(sEnvGasMonRealService.save(sEnvGasMonReal)); + } + /** + * 修改废气监测数据 + */ + @ApiOperation(value = "修改废气监测数据") + @Log(title = "废气监测数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SEnvGasMonRealVo sEnvGasMonRealVo) { + if(ObjectUtil.isEmpty(sEnvGasMonRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sEnvGasMonRealVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SEnvGasMonReal sEnvGasMonReal = sEnvGasMonRealService.getById(sEnvGasMonRealVo.getId()); + if(ObjectUtil.isEmpty(sEnvGasMonReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sEnvGasMonRealVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sEnvGasMonRealVo,sEnvGasMonReal); + return toAjax(sEnvGasMonRealService.saveOrUpdate(sEnvGasMonReal)); + } + + /** + * 删除废气监测数据 + */ + @ApiOperation(value = "删除废气监测数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "废气监测数据", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sEnvGasMonRealService.removeByIds(Arrays.asList(ids))); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasRealController.java new file mode 100644 index 0000000..cefa923 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvGasRealController.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SEnvGasReal; +import cn.cecep.talroad.service.ISEnvGasRealService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvGasRealVo; +import cn.cecep.talroad.vo.query.SEnvGasRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 无组织监控数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--无组织监控数据") +@RestController +@RequestMapping("/sEnvGasReal") +public class SEnvGasRealController extends BasesController +{ + @Autowired + private ISEnvGasRealService sEnvGasRealService; + + /** + * 查询无组织监控数据列表 + */ + @ApiOperation(value = "查询无组织监控数据") + @GetMapping("/list") + public AjaxResults> list(SEnvGasRealQuery sEnvGasReal) + { + if (StringUtils.isEmpty(sEnvGasReal.getDataType())) { + throw new InvalidParameterException("时间类型参数为空"); + } + + Page page = new Page<>(sEnvGasReal.getPageNum(), sEnvGasReal.getPageSize()); + IPage list = sEnvGasRealService.page(page, SEnvGasRealQuery.createLambdaQueryWrapper(sEnvGasReal)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询无组织监控曲线图数据") + @GetMapping("/charData") + public AjaxResults getCharData(SEnvGasRealQuery sEnvGasReal) + { + EChartsVO charData = sEnvGasRealService.getCharData(sEnvGasReal); + return AjaxResults.success(charData); + } + + /** + * 导出无组织监控数据列表 + */ + @ApiOperation(value = "导出无组织监控数据") + @Log(title = "无组织监控数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SEnvGasRealQuery sEnvGasReal) + { + List list = sEnvGasRealService.list(SEnvGasRealQuery.createLambdaQueryWrapper(sEnvGasReal)); + ExcelUtil util = new ExcelUtil(SEnvGasReal.class); + util.exportExcel(response, list, "无组织监控数据数据"); + } + + /** + * 获取无组织监控数据详细信息 + */ + @ApiOperation(value = "获取无组织监控数据详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sEnvGasRealService.getById(id)); + } + /** + * 新增无组织监控数据 + */ + @ApiOperation(value = "新增无组织监控数据") + @Log(title = "无组织监控数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SEnvGasReal sEnvGasReal) { + return toAjax(sEnvGasRealService.save(sEnvGasReal)); + } + /** + * 修改无组织监控数据 + */ + @ApiOperation(value = "修改无组织监控数据") + @Log(title = "无组织监控数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SEnvGasRealVo sEnvGasRealVo) { + if(ObjectUtil.isEmpty(sEnvGasRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sEnvGasRealVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SEnvGasReal sEnvGasReal = sEnvGasRealService.getById(sEnvGasRealVo.getId()); + if(ObjectUtil.isEmpty(sEnvGasReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sEnvGasRealVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sEnvGasRealVo,sEnvGasReal); + return toAjax(sEnvGasRealService.saveOrUpdate(sEnvGasReal)); + } + + /** + * 删除无组织监控数据 + */ + @ApiOperation(value = "删除无组织监控数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "无组织监控数据", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sEnvGasRealService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvWaterMonRealController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvWaterMonRealController.java new file mode 100644 index 0000000..302dee0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SEnvWaterMonRealController.java @@ -0,0 +1,141 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.service.ISEnvWaterMonRealService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 废水监测数据Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--废水监测数据") +@RestController +@RequestMapping("/sEnvWaterMonReal") +public class SEnvWaterMonRealController extends BasesController +{ + @Autowired + private ISEnvWaterMonRealService sEnvWaterMonRealService; + + /** + * 查询废水监测数据列表 + */ + @ApiOperation(value = "查询废水监测数据") + @GetMapping("/list") + public AjaxResults> list(SEnvWaterMonRealQuery sEnvWaterMonReal) + { + if (StringUtils.isEmpty(sEnvWaterMonReal.getDataType())) { + throw new InvalidParameterException("时间类型参数为空"); + } + + IPage list = sEnvWaterMonRealService.selectSEnvWaterMonRealPage(sEnvWaterMonReal); + return AjaxResults.success(list); + } + + + @ApiOperation(value = "查询废水监测曲线图数据") + @GetMapping("/charData") + public AjaxResults charData(SEnvWaterMonRealQuery sEnvWaterMonReal) + { + EChartsVO chartsVO = sEnvWaterMonRealService.getCharData(sEnvWaterMonReal); + return AjaxResults.success(chartsVO); + } + + @ApiOperation(value = "查询废水排口下所有监测点位的曲线图数据") + @GetMapping("/charDataList") + public AjaxResults> charDataList(SEnvWaterMonRealQuery sEnvWaterMonReal) + { + List chartsVO = sEnvWaterMonRealService.getCharDataList(sEnvWaterMonReal); + return AjaxResults.success(chartsVO); + } + + /** + * 导出废水监测数据列表 + */ + @ApiOperation(value = "导出废水监测数据") + @Log(title = "废水监测数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SEnvWaterMonRealQuery sEnvWaterMonReal) + { + List list = sEnvWaterMonRealService.selectSEnvWaterMonRealList(sEnvWaterMonReal); + ExcelUtil util = new ExcelUtil(SEnvWaterMonRealVo.class); + util.exportExcel(response, list, "废水监测数据数据"); + } + + /** + * 获取废水监测数据详细信息 + */ + @ApiOperation(value = "获取废水监测数据详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sEnvWaterMonRealService.getById(id)); + } + /** + * 新增废水监测数据 + */ + @ApiOperation(value = "新增废水监测数据") + @Log(title = "废水监测数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SEnvWaterMonReal sEnvWaterMonReal) { + return toAjax(sEnvWaterMonRealService.save(sEnvWaterMonReal)); + } + /** + * 修改废水监测数据 + */ + @ApiOperation(value = "修改废水监测数据") + @Log(title = "废水监测数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SEnvWaterMonRealVo sEnvWaterMonRealVo) { + if(ObjectUtil.isEmpty(sEnvWaterMonRealVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sEnvWaterMonRealVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SEnvWaterMonReal sEnvWaterMonReal = sEnvWaterMonRealService.getById(sEnvWaterMonRealVo.getId()); + if(ObjectUtil.isEmpty(sEnvWaterMonReal)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sEnvWaterMonRealVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sEnvWaterMonRealVo,sEnvWaterMonReal); + return toAjax(sEnvWaterMonRealService.saveOrUpdate(sEnvWaterMonReal)); + } + + /** + * 删除废水监测数据 + */ + @ApiOperation(value = "删除废水监测数据") + @RequiresPermissions("talroad:real:remove") + @Log(title = "废水监测数据", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sEnvWaterMonRealService.removeByIds(Arrays.asList(ids))); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SIntegratedRoutineInspectionController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SIntegratedRoutineInspectionController.java new file mode 100644 index 0000000..c955095 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SIntegratedRoutineInspectionController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SIntegratedRoutineInspection; +import cn.cecep.talroad.service.ISIntegratedRoutineInspectionService; +import cn.cecep.talroad.vo.SIntegratedRoutineInspectionVo; +import cn.cecep.talroad.vo.query.SIntegratedRoutineInspectionQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 日常检查信息Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "监测监控--固危废--日常检查信息") +@RestController +@RequestMapping("/sIntegratedRoutineInspection") +public class SIntegratedRoutineInspectionController extends BasesController +{ + @Autowired + private ISIntegratedRoutineInspectionService sIntegratedRoutineInspectionService; + + /** + * 查询日常检查信息列表 + */ + @ApiOperation(value = "查询日常检查信息") + @GetMapping("/list") + public AjaxResults> list(SIntegratedRoutineInspectionQuery sIntegratedRoutineInspection) + { + Page page = new Page<>(sIntegratedRoutineInspection.getPageNum(), sIntegratedRoutineInspection.getPageSize()); + IPage list = sIntegratedRoutineInspectionService.page(page, SIntegratedRoutineInspectionQuery.createLambdaQueryWrapper(sIntegratedRoutineInspection)); + return AjaxResults.success(list); + } + + + /** + * 导出日常检查信息列表 + */ + @ApiOperation(value = "导出日常检查信息") + @Log(title = "日常检查信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SIntegratedRoutineInspectionQuery sIntegratedRoutineInspection) + { + List list = sIntegratedRoutineInspectionService.list(SIntegratedRoutineInspectionQuery.createLambdaQueryWrapper(sIntegratedRoutineInspection)); + ExcelUtil util = new ExcelUtil(SIntegratedRoutineInspection.class); + util.exportExcel(response, list, "日常检查信息数据"); + } + + /** + * 获取日常检查信息详细信息 + */ + @ApiOperation(value = "获取日常检查信息详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sIntegratedRoutineInspectionService.getById(id)); + } + /** + * 新增日常检查信息 + */ + @ApiOperation(value = "新增日常检查信息") + @Log(title = "日常检查信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SIntegratedRoutineInspection sIntegratedRoutineInspection) { + return toAjax(sIntegratedRoutineInspectionService.save(sIntegratedRoutineInspection)); + } + /** + * 修改日常检查信息 + */ + @ApiOperation(value = "修改日常检查信息") + @Log(title = "日常检查信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SIntegratedRoutineInspectionVo sIntegratedRoutineInspectionVo) { + if(ObjectUtil.isEmpty(sIntegratedRoutineInspectionVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sIntegratedRoutineInspectionVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SIntegratedRoutineInspection sIntegratedRoutineInspection = sIntegratedRoutineInspectionService.getById(sIntegratedRoutineInspectionVo.getId()); + if(ObjectUtil.isEmpty(sIntegratedRoutineInspection)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sIntegratedRoutineInspectionVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sIntegratedRoutineInspectionVo,sIntegratedRoutineInspection); + return toAjax(sIntegratedRoutineInspectionService.saveOrUpdate(sIntegratedRoutineInspection)); + } + + /** + * 删除日常检查信息 + */ + @ApiOperation(value = "删除日常检查信息") + @RequiresPermissions("talroad:inspection:remove") + @Log(title = "日常检查信息", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sIntegratedRoutineInspectionService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlController.java new file mode 100644 index 0000000..f1072d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlController.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SMainDynamicControl; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.service.ISMainDynamicControlService; +import cn.cecep.talroad.vo.query.SMainDynamicControlQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 基本信息-废气、废水排口档案-动态管控信息Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "基本信息-废气、废水排口档案-动态管控信息") +@RestController +@RequestMapping("/smainDynamicControl") +public class SMainDynamicControlController extends BasesController +{ + @Autowired + private ISMainDynamicControlService sMainDynamicControlService; + + @Autowired + private IPcOutletService pcOutletService; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息列表 + */ + @ApiOperation(value = "查询基本信息-废气、废水排口档案-动态管控信息") + @GetMapping("/list") + public AjaxResults> list(SMainDynamicControlQuery sMainDynamicControl) + { + Page page = new Page<>(sMainDynamicControl.getPageNum(), sMainDynamicControl.getPageSize()); + + List pcOutlets = pcOutletService.list(new QueryWrapper().eq("pollutant_type","4").eq("parent_outlet_id", sMainDynamicControl.getOutletId())); + List outLetIds = pcOutlets.stream().map(PcOutlet::getId).collect(Collectors.toList()); + if (outLetIds.isEmpty()) { + return AjaxResults.success(page); + } + page = sMainDynamicControlService.page(page, new QueryWrapper().in("outlet_id", outLetIds).orderByAsc("outlet_id", "id")); + return AjaxResults.success(page); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlFactoryController.java new file mode 100644 index 0000000..e3ddf95 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlFactoryController.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import cn.cecep.talroad.service.ISMainDynamicControlFactoryService; +import cn.cecep.talroad.vo.query.SMainDynamicControlFactoryQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") +@RestController +@RequestMapping("/smainDynamicControlFactory") +public class SMainDynamicControlFactoryController extends BasesController +{ + @Autowired + private ISMainDynamicControlFactoryService sMainDynamicControlFactoryService; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联列表 + */ + @ApiOperation(value = "查询基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") + @GetMapping("/list") + public AjaxResults> list(SMainDynamicControlFactoryQuery sMainDynamicControlFactory) + { + Page page = new Page<>(sMainDynamicControlFactory.getPageNum(), sMainDynamicControlFactory.getPageSize()); + IPage list = sMainDynamicControlFactoryService.page(page, SMainDynamicControlFactoryQuery.createLambdaQueryWrapper(sMainDynamicControlFactory)); + return AjaxResults.success(list); + } + + + /** + * 导出基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联列表 + */ + @ApiOperation(value = "导出基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") + @Log(title = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SMainDynamicControlFactory sMainDynamicControlFactory) + { + List list = sMainDynamicControlFactoryService.selectSMainDynamicControlFactoryList(sMainDynamicControlFactory); + ExcelUtil util = new ExcelUtil(SMainDynamicControlFactory.class); + util.exportExcel(response, list, "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联数据"); + } + + /** + * 获取基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联详细信息 + */ + @ApiOperation(value = "获取基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sMainDynamicControlFactoryService.getById(id)); + } + /** + * 新增基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联 + */ + @ApiOperation(value = "新增基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") + @Log(title = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SMainDynamicControlFactory sMainDynamicControlFactory) { + return toAjax(sMainDynamicControlFactoryService.save(sMainDynamicControlFactory)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlParamController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlParamController.java new file mode 100644 index 0000000..a002f2e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SMainDynamicControlParamController.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SMainDynamicControlParam; +import cn.cecep.talroad.service.ISMainDynamicControlParamService; +import cn.cecep.talroad.vo.SMainDynamicControlParamVo; +import cn.cecep.talroad.vo.query.SMainDynamicControlParamQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数Controller 控制层 + * + * @author szhpt + * @date 2023-02-02*/ +@Api(tags = "基本信息-废气、废水排口档案-动态管控信息调整 -参数") +@RestController +@RequestMapping("/smainDynamicControlParam") +public class SMainDynamicControlParamController extends BasesController +{ + @Autowired + private ISMainDynamicControlParamService sMainDynamicControlParamService; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数列表 + */ + @ApiOperation(value = "查询基本信息-废气、废水排口档案-动态管控信息调整 -参数") + @GetMapping("/list") + public AjaxResults> list(SMainDynamicControlParamQuery sMainDynamicControlParam) + { + Page page = new Page<>(sMainDynamicControlParam.getPageNum(), sMainDynamicControlParam.getPageSize()); + IPage list = sMainDynamicControlParamService.page(page, SMainDynamicControlParamQuery.createLambdaQueryWrapper(sMainDynamicControlParam)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取动态管控信息参数表格数据") + @GetMapping("/paramTableData") + public AjaxResults list(String factoryId, String outletId, String controlTypeCode) + { + SMainDynamicControlParamVo.Table data = sMainDynamicControlParamService.getParamTableData(factoryId, outletId, controlTypeCode); + return AjaxResults.success(data); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SRaRealTimeAnalysisRunOneController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SRaRealTimeAnalysisRunOneController.java new file mode 100644 index 0000000..c0becf1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SRaRealTimeAnalysisRunOneController.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.SRaRealTimeAnalysisRunOneQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.vo.SRaRealTimeAnalysisRunOneVo; +import cn.cecep.talroad.service.ISRaRealTimeAnalysisRunOneService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据Controller 控制层 + * + * @author szhpt + * @date 2023-05-17*/ +@Api(tags = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") +@RestController +@RequestMapping("/runone") +public class SRaRealTimeAnalysisRunOneController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysisRunOneService sRaRealTimeAnalysisRunOneService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据列表 + */ + @ApiOperation(value = "查询关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRunOne.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisRunOneService.selectSRaRealTimeAnalysisRunOneListPage(sRaRealTimeAnalysisRunOne); + return AjaxResults.success(list); + } + + + /** + * 导出关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") + @Log(title = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRunOne.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisRunOneService.selectSRaRealTimeAnalysisRunOneList(sRaRealTimeAnalysisRunOne); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisRunOne.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-企业装备运行情况实时分析数据"); + } + + /** + * 获取关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据详细信息 + */ + @ApiOperation(value = "获取关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisRunOneService.getById(id)); + } + /** + * 新增关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + */ + @ApiOperation(value = "新增关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") + @Log(title = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisRunOne sRaRealTimeAnalysisRunOne) { + return toAjax(sRaRealTimeAnalysisRunOneService.save(sRaRealTimeAnalysisRunOne)); + } + /** + * 修改关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") + @Log(title = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisRunOneVo sRaRealTimeAnalysisRunOneVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRunOneVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRunOneVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisRunOne sRaRealTimeAnalysisRunOne = sRaRealTimeAnalysisRunOneService.getById(sRaRealTimeAnalysisRunOneVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRunOne)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisRunOneVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisRunOneVo,sRaRealTimeAnalysisRunOne); + return toAjax(sRaRealTimeAnalysisRunOneService.saveOrUpdate(sRaRealTimeAnalysisRunOne)); + } + + /** + * 删除关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + */ + @ApiOperation(value = "删除关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") + @RequiresPermissions("talroad:one:remove") + @Log(title = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisRunOneService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SupermonitorDrainOutletController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SupermonitorDrainOutletController.java new file mode 100644 index 0000000..4cb52ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/SupermonitorDrainOutletController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.SupermonitorDrainOutlet; +import cn.cecep.talroad.service.ISupermonitorDrainOutletService; +import cn.cecep.talroad.vo.SupermonitorDrainOutletVo; +import cn.cecep.talroad.vo.query.SupermonitorDrainOutletQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 排污口Controller 控制层 + * + * @author szhpt + * @date 2023-01-10*/ +@Api(tags = "基本档案--排污口") +@RestController +@RequestMapping("/supermonitorDrainOutlet") +public class SupermonitorDrainOutletController extends BasesController +{ + @Autowired + private ISupermonitorDrainOutletService supermonitorDrainOutletService; + + /** + * 查询排污口列表 + */ + @ApiOperation(value = "查询排污口") + @GetMapping("/list") + public AjaxResults> list(SupermonitorDrainOutletQuery supermonitorDrainOutlet) + { + Page page = new Page<>(supermonitorDrainOutlet.getPageNum(), supermonitorDrainOutlet.getPageSize()); + IPage list = supermonitorDrainOutletService.page(page, SupermonitorDrainOutletQuery.createLambdaQueryWrapper(supermonitorDrainOutlet)); + return AjaxResults.success(list); + } + + + /** + * 导出排污口列表 + */ + @ApiOperation(value = "导出排污口") + @Log(title = "排污口", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SupermonitorDrainOutlet supermonitorDrainOutlet) + { + List list = supermonitorDrainOutletService.selectSupermonitorDrainOutletList(supermonitorDrainOutlet); + ExcelUtil util = new ExcelUtil(SupermonitorDrainOutlet.class); + util.exportExcel(response, list, "排污口数据"); + } + + /** + * 获取排污口详细信息 + */ + @ApiOperation(value = "获取排污口详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(supermonitorDrainOutletService.getById(id)); + } + /** + * 新增排污口 + */ + @ApiOperation(value = "新增排污口") + @Log(title = "排污口", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SupermonitorDrainOutlet supermonitorDrainOutlet) { + return toAjax(supermonitorDrainOutletService.save(supermonitorDrainOutlet)); + } + /** + * 修改排污口 + */ + @ApiOperation(value = "修改排污口") + @Log(title = "排污口", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SupermonitorDrainOutletVo supermonitorDrainOutletVo) { + if(ObjectUtil.isEmpty(supermonitorDrainOutletVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(supermonitorDrainOutletVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SupermonitorDrainOutlet supermonitorDrainOutlet = supermonitorDrainOutletService.getById(supermonitorDrainOutletVo.getId()); + if(ObjectUtil.isEmpty(supermonitorDrainOutlet)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", supermonitorDrainOutletVo.getId())); + } + //赋值 + BeanUtil.copyProperties(supermonitorDrainOutletVo,supermonitorDrainOutlet); + return toAjax(supermonitorDrainOutletService.saveOrUpdate(supermonitorDrainOutlet)); + } + + /** + * 删除排污口 + */ + @ApiOperation(value = "删除排污口") + @RequiresPermissions("talroad:outlet:remove") + @Log(title = "排污口", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(supermonitorDrainOutletService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/TCodStationController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/TCodStationController.java new file mode 100644 index 0000000..2cd44fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/TCodStationController.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.ITCodStationService; +import cn.cecep.talroad.vo.TCodStationVo; +import cn.cecep.talroad.vo.query.FindSequenceDataQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 大气环境、水环境站点Controller 控制层 + */ +@Api(tags = "大气环境、水环境站点") +@RestController +@RequestMapping("/station") +public class TCodStationController extends BasesController { + @Autowired + private ITCodStationService tCodStationService; + + @ApiOperation(value = "查询大气环境、水环境站点") + @GetMapping("/list") + public AjaxResults> list(TCodStationVo.SearchVo searchVo) { + List list = tCodStationService.getStationList(searchVo); + return AjaxResults.success(list); + } + + @ApiOperation(value = "获取大气环境站点详细信息") + @PostMapping(value = "/detail/air/{id}") + public AjaxResults airStationDetail(@PathVariable("id") String id) { + TCodStationVo.Air air = tCodStationService.getAirStationDetail(id); + return AjaxResults.success(air); + } + + @ApiOperation(value = "获取水环境站点详细信息") + @PostMapping(value = "/detail/water/{id}") + public AjaxResults waterStationDetail(@PathVariable("id") String id) { + TCodStationVo.Water water = tCodStationService.getWaterStationDetail(id); + return AjaxResults.success(water); + } + + @ApiOperation(value = "查询大气环境站点") + @PostMapping(value = "/findStationPullData") + public AjaxResults>> findStationPullData() { + List> stationPullData = tCodStationService.findStationPullData(); + return AjaxResults.success(stationPullData); + } + + @ApiOperation(value = "查询大气环境时间分布特征") + @PostMapping(value = "/findSequenceData") + public AjaxResults> findSequenceData(@RequestBody FindSequenceDataQuery findSequenceDataQuery) { + Map stationPullData = tCodStationService.findSequenceData(findSequenceDataQuery); + return AjaxResults.success(stationPullData); + } + + @ApiOperation(value = "大气环境大屏-唐山市区县排名") + @GetMapping(value = "/stationRank") + public AjaxResults>> stationRank(String factorName, String monitorTime) { + List> rankList = tCodStationService.stationRank(factorName, monitorTime); + return AjaxResults.success(rankList); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/UnorganizedMonitoringAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/UnorganizedMonitoringAnalysisController.java new file mode 100644 index 0000000..2d05dda --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/UnorganizedMonitoringAnalysisController.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.service.ISEnvGasRealService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.homepage.OverviewUnorganizedMonitorsVo; +import cn.cecep.talroad.vo.homepage.OverviewVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.RegionalOnlineMonitoringVo; +import cn.cecep.talroad.vo.homepage.VideoMonitoringIssuesVo; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "大屏--无组织监控分析") +@RestController +@RequestMapping("/unorganizedAnalysis") +public class UnorganizedMonitoringAnalysisController { + @Autowired + private ISEnvGasRealService isEnvGasRealService; + + @ApiOperation(value = "无组织监测总览") + @GetMapping("/overviewUnorganizedMonitors") + public AjaxResults overviewUnorganizedMonitors() { + return AjaxResults.success(isEnvGasRealService.overviewUnorganizedMonitors()); + } + @ApiOperation(value = "监测点位预警报警情况") + @GetMapping("/monitoringPointWarning") + public AjaxResults monitoringPointWarning(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(isEnvGasRealService.monitoringPointWarning(query)); + } + @ApiOperation(value = "区域在线监测有效监测率及超标率") + @GetMapping("/regionalOnlineMonitoring") + public AjaxResults> regionalOnlineMonitoring(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(isEnvGasRealService.regionalOnlineMonitoring(query)); + } + @ApiOperation(value = "区域超标点位统计") + @GetMapping("/exceedingStandardPoints") + public AjaxResults> exceedingStandardPoints(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(isEnvGasRealService.exceedingStandardPoints(query)); + } + @ApiOperation(value = "行业超标点位统计") + @GetMapping("/exceedingIndustryPoints") + public AjaxResults> exceedingIndustryPoints(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(isEnvGasRealService.exceedingIndustryPoints(query)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/VideoSurveillanceAnalyticsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/VideoSurveillanceAnalyticsController.java new file mode 100644 index 0000000..cfbe56a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/VideoSurveillanceAnalyticsController.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.controller; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.analysis.MonitoringPointWarningDetailsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@Api(tags = "大屏--视频监控分析") +@RestController +@RequestMapping("/videoSurveillanceAnalytics") +public class VideoSurveillanceAnalyticsController { + @Autowired + private IAmVideoDevFiService amVideoDevFiService; + + @ApiOperation(value = "视频与门禁监控总览") + @GetMapping("/overviewVideoMonitors") + public AjaxResults overviewVideoMonitors() { + return AjaxResults.success(amVideoDevFiService.overviewVideoMonitors()); + } + @ApiOperation(value = "车辆进出类型占比") + @GetMapping("/proportionExitTypes") + public AjaxResults proportionExitTypes(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(amVideoDevFiService.proportionExitTypes(query)); + } + @ApiOperation(value = "车辆排放类型趋势") + @GetMapping("/trendsVehicleEmissionTypes") + public AjaxResults trendsVehicleEmissionTypes(EffectiveMonitoringRateQuery query) { + return AjaxResults.success(amVideoDevFiService.trendsVehicleEmissionTypes(query)); + } + @ApiOperation(value = "AI监控问题视频") + @GetMapping("/videoMonitoringIssues") + public AjaxResults> videoMonitoringIssues() { + return AjaxResults.success(amVideoDevFiService.videoMonitoringIssues()); + } + @ApiOperation(value = "其他企业监控视频") + @GetMapping("/otherEnterpriseMonitoringVideos") + public AjaxResults> otherEnterpriseMonitoringVideos() { + return AjaxResults.success(amVideoDevFiService.otherEnterpriseMonitoringVideos()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BCoDischargePlanController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BCoDischargePlanController.java new file mode 100644 index 0000000..2b134f8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BCoDischargePlanController.java @@ -0,0 +1,148 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.cecep.talroad.domain.analysis.BCoDischargePlanInfo; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.BCoDischargePlanInfoService; +import cn.cecep.talroad.service.analysis.BCoDischargePlanService; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import cn.cecep.talroad.vo.query.analysis.BCoDischargePlanQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.seata.common.util.CollectionUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("coDischargePlan") +@Api(tags = "CO放散计划") +public class BCoDischargePlanController { + @Autowired + private BCoDischargePlanService planService; + @Autowired + private BCoDischargePlanInfoService planInfoService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @ApiOperation(value = "查询CO放散计划列表") + @GetMapping("/list") + public AjaxResults> getPlanList(BCoDischargePlanQuery query){ + Page page=new Page<>(query.getPageNum(),query.getPageSize()); + query.setDeleteStatus(0); + try { + query.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + }catch (Exception e){ + return AjaxResults.error("请使用企业账号,并确保账号未失效"); + } + IPage list = planService.page(page, BCoDischargePlanQuery.createLambdaQueryWrapper(query).orderByDesc(BCoDischargePlan.COL_PLAN_ID)); + return AjaxResults.success(list); + } + @ApiOperation(value = "查询CO放散计划详情") + @GetMapping("/info/{planId}") + public AjaxResults> getPlanInfo(@PathVariable(name = "planId") Integer planId){ + HashMap columnMap = new HashMap<>(); + columnMap.put("plan_id", planId); + List list = planInfoService.listByMap(columnMap); + return AjaxResults.success(list); + } + + @ApiOperation(value = "编辑CO放散计划详情") + @PostMapping("/updateInfo/{planId}/{type}") + @Log(title = "编辑CO放散计划详情",businessType = BusinessType.UPDATE) + @Transactional(rollbackFor = Exception.class) + public AjaxResults updatePlanInfo(@RequestBody List infos, + @PathVariable(name = "type") Integer type, + @PathVariable(name = "planId") Integer planId){ + BCoDischargePlan plan =new BCoDischargePlan(); + plan.setPlanId(planId); + planInfoService.updatePlanInfo(infos,planId); + plan.setReportStatus(type); + planService.updateById(plan); + return AjaxResults.success(); + } + @ApiOperation(value = "更新CO放散计划--删除 传递deleteStatus=1") + @PostMapping("/update") + @Log(title = "更新CO放散计划",businessType = BusinessType.UPDATE) + @Transactional(rollbackFor = Exception.class) + public AjaxResults updatePlan(@RequestBody BCoDischargePlan plan){ + planService.updateById(plan); + return AjaxResults.success(true); + } + @ApiOperation(value = "查询CO放散计划详情列表") + @GetMapping({"/infoList/{planId}","/infoList"}) + public AjaxResults> getInfoList(@PathVariable(name = "planId" ,required = false) Integer planId){ + return AjaxResults.success(planInfoService.selectAllDeviceService(SecurityUtils.getLoginUser().getSysUser().getFactoryId(),planId)); + } + @ApiOperation(value = "保存CO放散计划-type传递0:暂存,1:提交") + @PostMapping("/add/{type}") + @Log(title = "添加CO放散计划",businessType = BusinessType.INSERT) + @Transactional(rollbackFor = Exception.class) + public AjaxResults addPlanInfos(@RequestBody List planInfos,@PathVariable(name = "type") Integer type){ + List collect = planInfos.stream().filter(p -> p.getPlanStartTime() != null && p.getPlanEndTime() != null).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(collect)){ + return AjaxResults.success(); + } + BCoDischargePlan plan = planService.newPlan(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + plan.setPlanNumber(collect.size()); + plan.setReportStatus(type); + plan.setCreateTime(new Date()); + plan.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getNickName()); + plan.setDeleteStatus(0); + planService.save(plan); + for (BCoDischargePlanInfo bCoDischargePlanInfo : collect) { + bCoDischargePlanInfo.setPlanId(plan.getPlanId()); + } + planInfoService.saveOrUpdateBatch(collect); + return AjaxResults.success(true); + } + + @ApiOperation(value = "查询CO放散计划全信息列表---产治排接口") + @GetMapping("/AllList") + public AjaxResults> getList(CoPlanAllInfo info){ + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + info.setRegionCodes(r.getData()); + } + }catch (Exception e){ + System.err.println("获取区域列表失败"); + } + return AjaxResults.success(planService.selectCoAllInfoService(info)); + } + @ApiOperation(value = "导出CO放散计划全信息列表---产治排接口") + @Log(title = "导出CO放散计划", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody CoPlanAllInfo info) { + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + info.setRegionCodes(r.getData()); + } + }catch (Exception e){ + System.err.println("获取区域列表失败"); + } + List list = planService.selectCoAllInfoServiceList(info); + ExcelUtil util = new ExcelUtil<>(CoPlanAllInfo.class); + util.hideColumnNative(0); + util.exportExcel(response, list, "CO放散计划列表"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BMaintenancePlanController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BMaintenancePlanController.java new file mode 100644 index 0000000..240fb3d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BMaintenancePlanController.java @@ -0,0 +1,164 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.cecep.talroad.domain.analysis.BMaintenancePlan; +import cn.cecep.talroad.domain.analysis.BMaintenancePlanInfo; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.BCoDischargePlanService; +import cn.cecep.talroad.service.analysis.BMaintenancePlanInfoService; +import cn.cecep.talroad.service.analysis.BMaintenancePlanService; +import cn.cecep.talroad.vo.analysis.MaintenancePlanAllInfo; +import cn.cecep.talroad.vo.query.analysis.BMaintenancePlanQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.seata.common.util.CollectionUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("maintenancePlan") +@Api(tags = "检修计划") +public class BMaintenancePlanController { + + @Autowired + private BMaintenancePlanService planService; + + @Autowired + private BMaintenancePlanInfoService planInfoService; + + @Autowired + private BCoDischargePlanService coDischargePlanService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + + @ApiOperation(value = "查询检修计划列表") + @GetMapping("/list") + public AjaxResults> getPlanList(BMaintenancePlanQuery query){ + Page page=new Page<>(query.getPageNum(),query.getPageSize()); + query.setDeleteStatus(0); + query.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + IPage list = planService.page(page, BMaintenancePlanQuery.createLambdaQueryWrapper(query)); + return AjaxResults.success(list); + } + @ApiOperation(value = "查询检修计划详情") + @GetMapping("/info/{planId}") + public AjaxResults> getPlanInfo(@PathVariable(name = "planId") Integer planId){ + + HashMap columnMap = new HashMap<>(); + columnMap.put("plan_id",planId); + List list = planInfoService.listByMap(columnMap); + return AjaxResults.success(list); + } + @ApiOperation(value = "编辑检修计划详情") + @PostMapping("/updateInfo/{planId}/{type}") + @Log(title = "编辑检修计划详情",businessType = BusinessType.UPDATE) + @Transactional(rollbackFor = Exception.class) + public AjaxResults updatePlanInfo(@RequestBody List infos, + @PathVariable(name = "type") Integer type, + @PathVariable(name = "planId") Integer planId){ + planInfoService.updatePlanInfo(infos,planId); + BMaintenancePlan plan =new BMaintenancePlan(); + plan.setPlanId(planId); + plan.setReportStatus(type); + return AjaxResults.success(planService.updateById(plan)); + } + @ApiOperation(value = "更新检修计划--删除 传递deleteStatus=1") + @PostMapping("/update") + @Log(title = "更新CO放散计划",businessType = BusinessType.UPDATE) + @Transactional(rollbackFor = Exception.class) + public AjaxResults updatePlan(@RequestBody BMaintenancePlan plan){ + planService.updateById(plan); + return AjaxResults.success(true); + } + @ApiOperation(value = "查询检修计划详情列表--新增和编辑时使用的查询详情") + @GetMapping({"/infoList/{planId}","/infoList"}) + public AjaxResults> getInfoList(@PathVariable(name = "planId" ,required = false) Integer planId){ + return AjaxResults.success(planInfoService.selectAllDeviceService(SecurityUtils.getLoginUser().getSysUser().getFactoryId(),planId)); + } + + @ApiOperation(value = "查询检修计划详情列表--app端新增和编辑时使用的查询详情(分页)") + @GetMapping("/infoPageList") + public AjaxResults> infoPageList(BMaintenancePlanQuery bMaintenancePlanQuery){ + Page page = new Page<>(bMaintenancePlanQuery.getPageNum(), bMaintenancePlanQuery.getPageSize()); + planInfoService.infoPageList(page,SecurityUtils.getLoginUser().getSysUser().getFactoryId(),bMaintenancePlanQuery); + return AjaxResults.success(page); + } + + @ApiOperation(value = "保存检修计划-type传递0:暂存,1:提交") + @PostMapping("/add/{type}") + @Log(title = "添加检修计划",businessType = BusinessType.INSERT) + @Transactional(rollbackFor = Exception.class) + public AjaxResults addPlanInfos(@RequestBody List planInfos,@PathVariable(name = "type") Integer type){ + List collect = planInfos.stream().filter(p -> p.getPlanStartTime() != null && p.getPlanEndTime() != null).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(collect)){ + return AjaxResults.success(); + } + BMaintenancePlan plan=new BMaintenancePlan(); + BCoDischargePlan coDischargePlan = coDischargePlanService.newPlan(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + plan.setFactoryId(coDischargePlan.getFactoryId()); + plan.setFactoryName(coDischargePlan.getFactoryName()); + plan.setPlanNumber(collect.size()); + plan.setIndustryCategoryName(coDischargePlan.getIndustryCategoryName()); + plan.setReportStatus(type); + plan.setCreateTime(new Date()); + plan.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getNickName()); + plan.setDeleteStatus(0); + planService.save(plan); + for (BMaintenancePlanInfo info : collect) { + info.setPlanId(plan.getPlanId()); + } + planInfoService.saveOrUpdateBatch(collect); + return AjaxResults.success(true); + } + + @ApiOperation(value = "查询检修计划全信息列表---产治排接口") + @GetMapping("/AllList") + public AjaxResults> getList(MaintenancePlanAllInfo info){ + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + info.setRegionCodes(r.getData()); + } + }catch (Exception e){ + System.err.println("获取区域列表失败"); + } + return AjaxResults.success(planService.selectCoAllInfoService(info)); + } + @ApiOperation(value = "导出检修计划全信息列表---产治排接口") + @Log(title = "导出检修计划全信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody MaintenancePlanAllInfo info) { + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + info.setRegionCodes(r.getData()); + } + }catch (Exception e){ + System.err.println("获取区域列表失败"); + } + List list = planService.selectCoAllInfoServiceList(info); + ExcelUtil util = new ExcelUtil<>(MaintenancePlanAllInfo.class); + util.hideColumnNative(0); + util.exportExcel(response, list, "CO放散计划列表"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamAnalyseController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamAnalyseController.java new file mode 100644 index 0000000..631fa5c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamAnalyseController.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.PcIndustry; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.service.IPcIndustryService; +import cn.cecep.talroad.service.analysis.BasDeviceParamAnalyseService; +import cn.cecep.talroad.vo.query.analysis.BasDeviceParamAnalyseQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Collections; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @author lixianghou + */ +@Api(tags = "参数管理--分析设置") +@RestController("basDeviceParamAnalyseNewController") +@RequestMapping("/deviceParamAnalyseAnalysis") +public class BasDeviceParamAnalyseController { + + @Autowired + @Qualifier("basDeviceParamAnalyseNewService") + private BasDeviceParamAnalyseService service; + @Autowired + private IPcIndustryService industryService; + + @ApiOperation(value = "查询分析设置列表") + @GetMapping("/list") + public AjaxResults> list(BasDeviceParamAnalyseQuery query){ + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage list = service.page(page, BasDeviceParamAnalyseQuery.createLambdaQueryWrapper(query) + .last(" ORDER BY update_time DESC nulls last,id") + /*.orderByDesc(BasDeviceParamAnalyse.COL_UPDATE_TIME).orderByDesc(BasDeviceParamAnalyse.COL_ID)*/); +// List listIndustry = service.selectIndustry(); + List industries = industryService.list(); + Map collect = industries.stream().collect(Collectors.toMap(PcIndustry::getIndusCode, PcIndustry::getIndusName)); + list.getRecords().forEach(item -> { + item.setIndustryName(collect.get(item.getIndustry())); + }); + return AjaxResults.success(list); + } + + @ApiOperation(value = "导出分析设置") + @Log(title = "导出分析设置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BasDeviceParamAnalyseQuery query) { + query.setPageSize(Integer.MAX_VALUE); + List list = service.list(BasDeviceParamAnalyseQuery.createLambdaQueryWrapper(query) + .last(" ORDER BY update_time DESC nulls last,id")); + List industries = industryService.list(); + Map collect = industries.stream().collect(Collectors.toMap(PcIndustry::getIndusCode, PcIndustry::getIndusName)); + list.forEach(item -> { + item.setDataType(item.getDataType().trim()); + item.setIndustryName(collect.get(item.getIndustry())); + }); + ExcelUtil util = new ExcelUtil<>(BasDeviceParamAnalyse.class); + util.hideColumnNative(0); + util.exportExcel(response, list, "分析设置列表"); + } + @ApiOperation(value = "修改分析设置") + @Log(title = "修改分析设置", businessType = BusinessType.UPDATE) + @PostMapping("/update") + public void update(@RequestBody BasDeviceParamAnalyse bean) { + bean.setUpdateTime(new Date()); + service.updateById(bean); + } + @ApiOperation(value = "导入") + @PostMapping("/import") + @Log(title = "导入---批量修改分析设置", businessType = BusinessType.IMPORT) + public AjaxResults importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil<>(BasDeviceParamAnalyse.class); + List voList = util.importExcel(file.getInputStream()); + List datas = voList.stream().filter(v -> v.getId()!=null) + .filter(v-> !StringUtils.isAllBlank(v.getDeviceParamUnit(),v.getContourEw(), + v.getDataLogicFluctuateEw(),v.getDataLogicDeficiencyEw(),v.getDataLogicAbnormalEw())).collect(Collectors.toList()); + if(Collections.isEmpty(datas)){ + return AjaxResults.success(true); + } + int quantityPerTime=2500; + int limit=(datas.size()+quantityPerTime-1)/quantityPerTime; + //分组 + List> dataList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> + datas.stream().skip(a * quantityPerTime).limit(quantityPerTime).parallel().collect(Collectors.toList())).collect(Collectors.toList()); + //每组 quantityPerTime 条批次 + for (List d : dataList) { + d.forEach(v->{ + v.setUpdateTime(new Date()); + }); + service.updateBatchSelective(d); + } + return AjaxResults.success(true); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamController.java new file mode 100644 index 0000000..ad31848 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasDeviceParamController.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.BasDeviceParam; +import cn.cecep.talroad.service.analysis.BasDeviceParamService; +import cn.cecep.talroad.vo.query.analysis.BasDeviceParamQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.jsonwebtoken.lang.Collections; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @author lixianghou + */ +@Api(tags = "参数管理--设备参数分析设置") +@RestController("basDeviceParamNewController") +@RequestMapping("/deviceParamAnalysis") +public class BasDeviceParamController { + + @Autowired + @Qualifier("basDeviceParamNewService") + private BasDeviceParamService service; + + @ApiOperation(value = "查询设备参数分析设置列表") + @GetMapping("/list") + public AjaxResults> list(BasDeviceParamQuery param){ + + IPage list = service.pageService(param); + return AjaxResults.success(list); + } + + @ApiOperation(value = "导出设备参数分析设置") + @Log(title = "导出设备参数分析设置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response,@RequestBody BasDeviceParamQuery query) { + query.setPageSize(Integer.MAX_VALUE); + List list = service.pageService(query).getRecords(); + list.forEach(item -> { + item.setDataType(item.getDataType().trim()); + }); + ExcelUtil util = new ExcelUtil<>(BasDeviceParam.class); + util.hideColumnNative(0); + util.exportExcel(response, list, "设备参数分析设置列表"); + } + + @ApiOperation(value = "修改设备参数分析设置") + @Log(title = "修改设备参数分析设置", businessType = BusinessType.UPDATE) + @PostMapping("/update") + public void update(@RequestBody BasDeviceParam bean) { + service.updateById(bean); + } + + + @ApiOperation(value = "导入") + @PostMapping("/import") + @Log(title = "导入---批量修改设备参数分析设置", businessType = BusinessType.IMPORT) + public AjaxResults importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil<>(BasDeviceParam.class); + List voList = util.importExcel(file.getInputStream()); + List datas = voList.stream().filter(v -> v.getId()!=null).collect(Collectors.toList()); + if(Collections.isEmpty(datas)){ + return AjaxResults.success(true); + } + int quantityPerTime=2500; + int limit=(datas.size()+quantityPerTime-1)/quantityPerTime; + //分组 + List> dataList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> + datas.stream().skip(a * quantityPerTime).limit(quantityPerTime).parallel().collect(Collectors.toList())).collect(Collectors.toList()); + //每组 quantityPerTime 条批次 + for (List d : dataList) { + service.updateBatchSelective(d); + } + return AjaxResults.success(true); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasThresholdConfigController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasThresholdConfigController.java new file mode 100644 index 0000000..776566b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/BasThresholdConfigController.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.BasThresholdConfig; +import cn.cecep.talroad.service.analysis.BasThresholdConfigService; +import cn.cecep.talroad.vo.query.analysis.BasThresholdConfigQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Collections; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Api(tags = "参数管理--阈值设置") +@RestController("basThresholdConfigNewController") +@RequestMapping("/thresholdConfigAnalysis") +public class BasThresholdConfigController { + + @Autowired + @Qualifier("basThresholdConfigNewService") + private BasThresholdConfigService service; + + @ApiOperation(value = "查询阈值设置列表") + @GetMapping("/list") + public AjaxResults> list(BasThresholdConfigQuery param){ + Page page = new Page<>(param.getPageNum(), param.getPageSize()); + IPage list = service.page(page, BasThresholdConfigQuery.createLambdaQueryWrapper(param)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "导出阈值设置") + @Log(title = "导出阈值设置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody BasThresholdConfigQuery query) { + query.setPageSize(Integer.MAX_VALUE); + List list = service.list(BasThresholdConfigQuery.createLambdaQueryWrapper(query)); + ExcelUtil util = new ExcelUtil<>(BasThresholdConfig.class); + util.hideColumnNative(0); + util.exportExcel(response, list, "阈值设置列表"); + } + + @ApiOperation(value = "修改阈值设置") + @Log(title = "修改阈值设置", businessType = BusinessType.UPDATE) + @PostMapping("/update") + public void update(@RequestBody BasThresholdConfig bean) { + bean.setUpdateTime(new Date()); + service.updateById(bean); + } + + + @ApiOperation(value = "导入") + @PostMapping("/import") + @Log(title = "导入---批量修改阈值设置", businessType = BusinessType.IMPORT) + public AjaxResults importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil<>(BasThresholdConfig.class); + List voList = util.importExcel(file.getInputStream()); + List datas = voList.stream().filter(v -> v.getDataId()!=null).collect(Collectors.toList()); + if(Collections.isEmpty(datas)){ + return AjaxResults.success(true); + } + int quantityPerTime=2500; + int limit=(datas.size()+quantityPerTime-1)/quantityPerTime; + //分组 + List> dataList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> + datas.stream().skip(a * quantityPerTime).limit(quantityPerTime).parallel().collect(Collectors.toList())).collect(Collectors.toList()); + //每组 quantityPerTime 条批次 + for (List d : dataList) { + d.forEach(v -> { + v.setUpdateTime(new Date()); + }); + service.updateBatchSelective(d); + } + return AjaxResults.success(true); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/PcRaProblemTypeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/PcRaProblemTypeController.java new file mode 100644 index 0000000..5bb0014 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/PcRaProblemTypeController.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.service.analysis.IPcRaProblemTypeService; +import cn.cecep.talroad.vo.analysis.PcRaProblemTypeVo; +import cn.cecep.talroad.vo.query.analysis.PcRaProblemTypeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 问题分类Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "问题分类") +@RestController +@RequestMapping("/problemType") +public class PcRaProblemTypeController extends BasesController { + @Autowired + private IPcRaProblemTypeService pcRaProblemTypeService; + + /** + * 查询问题分类列表 + */ + @ApiOperation(value = "查询问题分类") + @GetMapping("/list") + public AjaxResults> list(PcRaProblemTypeQuery pcRaProblemType) { + Page page = new Page<>(pcRaProblemType.getPageNum(), pcRaProblemType.getPageSize()); + IPage list = pcRaProblemTypeService.page(page, PcRaProblemTypeQuery.createLambdaQueryWrapper(pcRaProblemType)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "问题分类级联数据") + @GetMapping("/cascader") + public AjaxResults>> cascader() { + List> list = pcRaProblemTypeService.cascader(); + return AjaxResults.success(list); + } + + /** + * 导出问题分类列表 + */ + @ApiOperation(value = "导出问题分类") + @Log(title = "问题分类", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, PcRaProblemType pcRaProblemType) { + List list = pcRaProblemTypeService.selectPcRaProblemTypeList(pcRaProblemType); + ExcelUtil util = new ExcelUtil(PcRaProblemType.class); + util.exportExcel(response, list, "问题分类数据"); + } + + /** + * 获取问题分类详细信息 + */ + @ApiOperation(value = "获取问题分类详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(pcRaProblemTypeService.getById(id)); + } + + /** + * 新增问题分类 + */ + @ApiOperation(value = "新增问题分类") + @Log(title = "问题分类", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody PcRaProblemType pcRaProblemType) { + return toAjax(pcRaProblemTypeService.save(pcRaProblemType)); + } + + /** + * 修改问题分类 + */ + @ApiOperation(value = "修改问题分类") + @Log(title = "问题分类", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody PcRaProblemTypeVo pcRaProblemTypeVo) { + if (ObjectUtil.isEmpty(pcRaProblemTypeVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(pcRaProblemTypeVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + PcRaProblemType pcRaProblemType = pcRaProblemTypeService.getById(pcRaProblemTypeVo.getId()); + if (ObjectUtil.isEmpty(pcRaProblemType)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", pcRaProblemTypeVo.getId())); + } + //赋值 + BeanUtil.copyProperties(pcRaProblemTypeVo, pcRaProblemType); + return toAjax(pcRaProblemTypeService.saveOrUpdate(pcRaProblemType)); + } + + /** + * 删除问题分类 + */ + @ApiOperation(value = "删除问题分类") + @RequiresPermissions("talroad:type:remove") + @Log(title = "问题分类", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(pcRaProblemTypeService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/RemoteTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/RemoteTaskController.java new file mode 100644 index 0000000..a7446e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/RemoteTaskController.java @@ -0,0 +1,690 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.enums.BlDeviceTypeEnum; +import cn.cecep.talroad.enums.DlDeviceTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.FslDeviceTypeEnum; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.enums.SnDeviceTypeEnum; +import cn.cecep.talroad.service.STaskYieldTrendService; +import cn.cecep.talroad.service.analysis.*; +import cn.cecep.talroad.service.effective.PcNationalCityRankingHourService; +import cn.cecep.talroad.service.effective.PcNationalCityRankingOtherService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import java.lang.reflect.InvocationTargetException; +import java.text.ParseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * 开发公司:中节能天融科技有限公司 + * 任务调度Controller 控制层 + * + * @author szhpt + * @date 2023-03-28 + */ +@Api(tags = "任务调度--供job服务远程调用定时任务") +@RestController +@RequestMapping("/remoteTask") +public class RemoteTaskController extends BasesController { + + @Autowired + private IBasDeviceStatusService basDeviceStatusService; + + @Autowired + private IDischargeMathService dischargeMathService; + + @Autowired + private IConcentrationMathService concentrationMathService; + @Autowired + private PcNationalCityRankingOtherService pcNationalCityRankingOtherService; + @Autowired + private PcNationalCityRankingHourService pcNationalCityRankingHourService; + @Autowired + private IMonitoringAnalyseService monitoringAnalyseService; + @Autowired + private STaskYieldTrendService taskYieldTrendService; + @Autowired + private IFacilityAnalysisService facilityAnalysisService; + @Autowired + private IDataLogicAnalysisService dataLogicAnalysisService; + @Autowired + private IPollWaterAnalysisService pollWaterAnalysisService; + + @ApiOperation(value = "定时任务-管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doAnalyseHourCarEnterAndOut") + public void doAnalyseHourCarEnterAndOut(){ + monitoringAnalyseService.doAnalyseHourCarEnterAndOut(); + } + + @ApiOperation(value = "定时任务-超低排放车辆异常分析:每天执行1次") + @Log(title = "超低排放车辆异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doAnalyseDayCarEnterAndOut") + public void doAnalyseDayCarEnterAndOut(){ + monitoringAnalyseService.doAnalyseDayCarEnterAndOut(); + } + + + @ApiOperation(value = "定时任务-钢铁设备停限产(烧结机、竖炉、炉窑、发电机组:5分钟执行一次 )") + @Log(title = "钢铁设备停限产", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtDeviceStatus") + public void doCheckGtDeviceStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.SJJ.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.SL.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.LY.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.FDJZ.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁发电机组压差分析:1小时执行一次 )") + @Log(title = "钢铁发电机组压差分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtFdjzPress") + public void doCheckGtFdjzPress(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.FDJZ.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁炉窑压差分析:1小时执行一次 )") + @Log(title = "钢铁炉窑压差分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtLyPress") + public void doCheckGtLyPress(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.LY.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁竖炉压差分析:1小时执行一次 )") + @Log(title = "钢铁竖炉压差分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtSlPress") + public void doCheckGtSlPress(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.SL.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁烧结机压差分析:1小时执行一次 )") + @Log(title = "钢铁烧结机压差分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtSjjPress") + public void doCheckGtSjjPress(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.SJJ.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁设备停限产(除烧结机、竖炉、炉窑、发电机组之外其他:15分钟执行一次 )") + @Log(title = "钢铁设备停限产", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtOtherDeviceStatus") + public void doCheckGtOtherDeviceStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.GL.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.ZL.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.JL.getCode()); + } + + @ApiOperation(value = "定时任务-转炉炉数统计:每小时执行一次") + @Log(title = "转炉炉数统计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtZlCount") + public void doCheckGtZlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.ZL.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁高炉统计:每小时执行一次") + @Log(title = "钢铁高炉统计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtGlCount") + public void doCheckGtGlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.GL.getCode()); + } + + + @ApiOperation(value = "定时任务-钢铁行业装煤次数、推焦次数、焦炭产量统计:每小时执行一次") + @Log(title = "钢铁行业装煤次数、推焦次数、焦炭产量统计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtJlCount") + public void doCheckGtJlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.JL.getCode()); + } + + @ApiOperation(value = "定时任务-焦化行业装煤次数、推焦次数、焦炭产量统计:每小时执行一次") + @Log(title = "焦化行业装煤次数、推焦次数、焦炭产量统计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckJHJlCount") + public void doCheckJHJlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.JH.id(),GtDeviceTypeEnum.JL.getCode()); + } + + @ApiOperation(value = "定时任务-焦化焦炉停产状态") + @Log(title = "焦化焦炉停产状态", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckJhJlStatus") + public void doCheckJhJlStatus(){ + + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.JH.id(),GtDeviceTypeEnum.JL.getCode()); + } + + @ApiOperation(value = "定时任务-水泥停限产分析:每15分钟执行一次") + @Log(title = "水泥停限产分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckSnStatus") + public void doCheckSnStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.SN.id(),SnDeviceTypeEnum.SNY.getCode()); + } + + @ApiOperation(value = "定时任务-计算水泥产量:每1小时执行一次") + @Log(title = "计算水泥产量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckSnCount") + public void doCheckSnCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.SN.id(), SnDeviceTypeEnum.SNY.getCode()); + } + + @ApiOperation(value = "定时任务-玻璃停限产分析:每15分钟执行一次") + @Log(title = "玻璃停限产分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckBlStatus") + public void doCheckBlStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.BL.id(),BlDeviceTypeEnum.SCX.getCode()); + } + + @ApiOperation(value = "定时任务-计算玻璃产量:每1小时执行一次") + @Log(title = "计算玻璃产量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckBlCount") + public void doCheckBlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.BL.id(), BlDeviceTypeEnum.SCX.getCode()); + } + + @ApiOperation(value = "定时任务-垃圾焚烧炉停限产分析:每15分钟执行一次") + @Log(title = "垃圾焚烧炉停限产分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckFslStatus") + public void doCheckFslStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.FS.id(),FslDeviceTypeEnum.FSL.getCode()); + } + + @ApiOperation(value = "定时任务-垃圾处理产量分析:每1小时执行一次") + @Log(title = "垃圾处理产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckFslCount") + public void doCheckFslCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.FS.id(), FslDeviceTypeEnum.FSL.getCode()); + } + + @ApiOperation(value = "定时任务-统计锅炉机组负荷:每1小时执行一次") + @Log(title = "统计锅炉机组负荷", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckDlCount") + public void doCheckDlCount(){ + basDeviceStatusService.doCheckCount(EnIndustry.DL.id(),DlDeviceTypeEnum.GUOLU.getCode()); + } + + @ApiOperation(value = "定时任务-静电除尘压差超高、电流异常、电压异常:每1小时执行一次") + @Log(title = "静电除尘压差超高、电流异常、电压异常", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckJdcc") + public void doCheckJdcc(){ + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),DlDeviceTypeEnum.FDJZ.getCode()); + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.LY.getCode()); + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.SJJ.getCode()); + basDeviceStatusService.doCheckCount(EnIndustry.GT.id(),GtDeviceTypeEnum.SL.getCode()); + } + + @ApiOperation(value = "定时任务-火电锅炉停限产分析:每15分钟执行一次") + @Log(title = "火电锅炉停限产分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckDlglStatus") + public void doCheckDlglStatus(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.DL.id(),DlDeviceTypeEnum.GUOLU.getCode()); + } + + + @ApiOperation(value = "定时任务-高炉煤气放散分析:每10分钟执行一次") + @Log(title = "高炉煤气放散分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGlmqAnalyse") + public void doCheckGlmqAnalyse(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.GLMQ.getCode()); + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.GLMQG.getCode()); + } + + @ApiOperation(value = "定时任务-转炉煤气放散分析:每10分钟执行一次") + @Log(title = "转炉煤气放散分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckZlmqAnalyse") + public void doCheckZlmqAnalyse(){ + + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.ZLMQ.getCode()); + } + + @ApiOperation(value = "定时任务-钢铁煤气管网放散分析:每10分钟执行一次") + @Log(title = "钢铁煤气管网放散分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckGtMqgwAnalyse") + public void doCheckGtMqgwAnalyse(){ + + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.GT.id(),GtDeviceTypeEnum.MQGW.getCode()); + } + + @ApiOperation(value = "定时任务-焦化煤气管网煤气放散分析:每10分钟执行一次") + @Log(title = "焦化煤气管网煤气放散分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doCheckJhMqgwAnalyse") + public void doCheckJhMqgwAnalyse(){ + basDeviceStatusService.doCheckDeviceStatus(EnIndustry.JH.id(),GtDeviceTypeEnum.MQGW.getCode()); + } + + + + + @ApiOperation(value = "定时任务-大气污染物在线小时排放量:每小时执行一次") + @Log(title = "大气污染物在线小时排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasPollutantHourDischarge") + public void doGasPollutantHourDischarge(@RequestParam(value = "mathDate",required = false) String mathDate) { + try { + dischargeMathService.doGasPollutantHourDischarge(mathDate); + } catch (ParseException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + + @ApiOperation(value = "定时任务-水污染物在线日排放量:每天执行一次") + @Log(title = "水污染物在线日排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterPollutantDayDischarge") + public void doWaterPollutantDayDischarge(@RequestParam(value = "mathDate",required = false) String mathDate){ + try { + dischargeMathService.doWaterPollutantDayDischarge(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-水污染物在线排放量统计值:每天执行一次") + @Log(title = "水污染物在线排放量统计值", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterPollutantDayDischargeTotal") + public void doWaterPollutantDayDischargeTotal(@RequestParam(value = "mathDate",required = false) String mathDate){ + try { + dischargeMathService.doWaterPollutantDayDischargeTotal(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + + @ApiOperation(value = "定时任务-大气污染物在线排放量统计值:每天执行一次") + @Log(title = "大气污染物在线排放量统计值", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasPollutantHourDischargeTotal") + public void doGasPollutantDayDischargeTotal(@RequestParam(value = "mathDate",required = false) String mathDate){ + try { + dischargeMathService.doGasPollutantHourDischargeTotal(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-废气手工月排放量:每月执行一次") + @Log(title = "废气手工月排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasHandiworkMonthDischarge") + public void doGasHandiworkMonthDischarge(){ + dischargeMathService.doGasHandiworkMonthDischarge(); + } + + @ApiOperation(value = "定时任务-废水手工月排放量:每月执行一次") + @Log(title = "废水手工月排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterHandiworkMonthDischarge") + public void doWaterHandiworkMonthDischarge(){ + dischargeMathService.doWaterHandiworkMonthDischarge(); + } + + @ApiOperation(value = "定时任务-废气排放量超标:每日执行一次") + @Log(title = "废气排放量超标", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasDischargeExceeded") + public void doGasDischargeExceeded(){ + try { + dischargeMathService.doGasDischargeExceeded(); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-废水排放量超标:每日执行一次") + @Log(title = "废水排放量超标", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterDischargeExceeded") + public void doWaterDischargeExceeded(){ + try { + dischargeMathService.doWaterDischargeExceeded(); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + + @ApiOperation(value = "定时任务-废气排放量预警:每日执行一次") + @Log(title = "废气排放量预警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasDischargeAlarm") + public void doGasDischargeAlarm(){ + try { + dischargeMathService.doGasDischargeAlarm(); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-废水排放量预警:每日执行一次") + @Log(title = "废水排放量预警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterDischargeAlarm") + public void doWaterDischargeAlarm(){ + try { + dischargeMathService.doWaterDischargeAlarm(); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + + + @ApiOperation(value = "定时任务-大气浓度超标:每小时执行一次") + @Log(title = "大气浓度超标", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasPollutantHourConcentration") + @Deprecated + public void doGasPollutantHourConcentration(@RequestParam(value = "mathDate",required = false)String mathDate){ + try { + concentrationMathService.doGasPollutantHourConcentration(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-水浓度超标:每天执行一次") + @Log(title = "水浓度超标", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterPollutantDayConcentration") + @Deprecated + public void doWaterPollutantDayConcentration(@RequestParam(value = "mathDate",required = false)String mathDate){ + try { + concentrationMathService.doWaterPollutantDayConcentration(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-大气浓度预警:每10分钟执行一次") + @Log(title = "大气浓度预警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasPollutantHourConcentrationAlarm") + public void doGasPollutantHourConcentrationAlarm(@RequestParam(value = "mathDate",required = false)String mathDate){ + + try { + concentrationMathService.doGasPollutantHourConcentrationAlarm(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-AI模型推算大气数据复核:每1小时执行一次") + @Log(title = "AI模型推算大气数据复核", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasPollutantHourConcentrationAIReview") + public void doGasPollutantHourConcentrationAIReview(@RequestParam(value = "mathDate",required = false)String mathDate){ + try { + concentrationMathService.doGasPollutantHourConcentrationAIReview(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + + @ApiOperation(value = "定时任务-水浓度预警:每小时执行一次") + @Log(title = "水浓度超标", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doWaterPollutantDayConcentrationAlarm") + public void doWaterPollutantDayConcentrationAlarm(@RequestParam(value = "mathDate",required = false)String mathDate){ + try { + concentrationMathService.doWaterPollutantDayConcentrationAlarm(mathDate); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + @ApiOperation(value = "定时任务-无组织大气浓度超标报警:每小时执行一次") + @Log(title = "无组织大气浓度超标报警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasOverStandAlarm") + public void doGasOverStandAlarm(){ + concentrationMathService.doGasOverStandAlarmAndWarn(true); + } + + + @ApiOperation(value = "定时任务-无组织大气浓度预警:每10分钟执行一次") + @Log(title = "无组织大气浓度预警", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doGasStandWarn") + public void doGasStandWarn(){ + concentrationMathService.doGasOverStandAlarmAndWarn(false); + } + + @ApiOperation(value = "定时任务-临时接口处理历史数据") + @PostMapping(value = "/doCheckTemp") + public void doCheckTemp(@RequestParam("factoryId")String factoryId,@RequestParam("industry")String industry,@RequestParam("startTime")String startTime){ + if("GTZL".equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(),GtDeviceTypeEnum.ZL.getCode(),startTime); + } + if(EnIndustry.JH.id().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.JH.id(),GtDeviceTypeEnum.JL.getCode(),startTime); + } + if(EnIndustry.SN.id().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.SN.id(), SnDeviceTypeEnum.SNY.getCode(),startTime); + } + if(EnIndustry.FS.id().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.FS.id(), FslDeviceTypeEnum.FSL.getCode(),startTime); + } + if("GTJL".equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(),GtDeviceTypeEnum.JL.getCode(),startTime); + } + if("GTGL".equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(),GtDeviceTypeEnum.GL.getCode(),startTime); + } + if(EnIndustry.DL.id().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.DL.id(),DlDeviceTypeEnum.GUOLU.getCode(),startTime); + } + if(EnIndustry.BL.id().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.BL.id(), BlDeviceTypeEnum.SCX.getCode(),startTime); + } + + if(GtDeviceTypeEnum.SJJ.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.SJJ.getCode(),startTime); + } + if(GtDeviceTypeEnum.SL.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.SL.getCode(),startTime); + } + if(GtDeviceTypeEnum.LY.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.LY.getCode(),startTime); + } + if(GtDeviceTypeEnum.FDJZ.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.FDJZ.getCode(),startTime); + } + if(GtDeviceTypeEnum.ZLMQ.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.ZLMQ.getCode(),startTime); + } + + if(GtDeviceTypeEnum.GLMQ.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.GLMQ.getCode(),startTime); + } + if(GtDeviceTypeEnum.MQGW.getCode().equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.GT.id(), GtDeviceTypeEnum.MQGW.getCode(),startTime); + } + if("JHMQGW".equals(industry)){ + basDeviceStatusService.doCheckCountTemp(factoryId,EnIndustry.JH.id(), GtDeviceTypeEnum.MQGW.getCode(),startTime); + } + + + } + + @ApiOperation(value = "定时任务-产量趋势日统计:每天执行一次") + @Log(title = "产量趋势日统计", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analyseDayTaskYieldTrendData") + public void analyseDayTaskYieldTrendData(){ + + taskYieldTrendService.analyseDayTaskYieldTrendData(); + } + + @ApiOperation(value = "定时任务-治理设施PH合理范围分析:每天执行一次") + @Log(title = "治理设施PH合理范围分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisPhData") + public void analysisPhData(){ + + facilityAnalysisService.analysisPhData(); + } + + @ApiOperation(value = "定时任务-脱硫浆液循环泵运行异常分析:每小时执行一次") + @Log(title = "脱硫浆液循环泵运行异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisPumpStateData") + public void analysisPumpStateData(){ + + facilityAnalysisService.analysisPumpStateData(); + } + + @ApiOperation(value = "定时任务-氧化风机运行异常分析:每小时执行一次") + @Log(title = "氧化风机运行异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisOxFanStateData") + public void analysisOxFanStateData(){ + + facilityAnalysisService.analysisOxFanStateData(); + } + + @ApiOperation(value = "定时任务-脱硝SCR工艺反应器入口烟气温度:每小时执行一次") + @Log(title = "脱硝SCR工艺反应器入口烟气温度", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisScrTemp") + public void analysisScrTemp(){ + + facilityAnalysisService.analysisScrTemp(); + } + + @ApiOperation(value = "定时任务-脱硝出入口压差过高分析:每小时执行一次") + @Log(title = "脱硝出入口压差过高分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisPressOverStand") + public void analysisPressOverStand(){ + + facilityAnalysisService.analysisPressOverStand(); + } + + @ApiOperation(value = "定时任务-分表计电-数据逻辑异常:每小时计算一次") + @Log(title = "分表计电-数据逻辑异常", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisElecRealData") + public void analysisElecRealData(){ + dataLogicAnalysisService.analysisElecRealDataLogic(); + } + + @ApiOperation(value = "定时任务-网格化精准监测-数据逻辑异常:每小时计算一次") + @Log(title = "网格化精准监测-数据逻辑异常", businessType = BusinessType.UPDATE) + @PostMapping(value = "/analysisMeshingData") + public void analysisMeshingDataLogic(){ + dataLogicAnalysisService.analysisMeshingDataLogic(); + } + + @ApiOperation(value = "定时任务-大气污染物小时排放量:每1小时执行一次") + @Log(title = "大气污染物小时排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessGasStationDataFlag") + public void doProcessGasStationDataFlag(){ + + dischargeMathService.doProcessGasStationDataFlag(); + } + + @ApiOperation(value = "定时任务-水污染物日排放量:每日执行一次") + @Log(title = "水污染物日排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessWaterStationDataFlag") + public void doProcessWaterStationDataFlag(){ + + dischargeMathService.doProcessWaterStationDataFlag(); + } + + @ApiOperation(value = "定时任务-污染物小时均值连续8H处于标准值的20%以下:每小时执行一次") + @Log(title = "污染物小时均值连续8H处于标准值的20%以下", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessHourPollutantConcentration") + public void doProcessHourPollutantConcentration(){ + + dischargeMathService.doProcessHourPollutantConcentration(); + } + + @ApiOperation(value = "定时任务-本年是否有废水污染物总量超标情况:每年计算一次") + @Log(title = "本年是否有废水污染物总量超标情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessEmissionPollutionWater") + public void doProcessEmissionPollutionWater(){ + pollWaterAnalysisService.emissionPollutionWaterLabelTask(); + } + + @ApiOperation(value = "定时任务-1月内是否有废水污染物排放浓度情况:每月一次") + @Log(title = "1月内是否有废水污染物排放浓度情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessEnvWaterMonDay") + public void doProcessEnvWaterMonDay(){ + pollWaterAnalysisService.envWaterMonDayLabelTask(); + } + + @ApiOperation(value = "定时任务-省内城市AQI小时排名:每小时一次") + @Log(title = "省内城市AQI小时排名", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessCityRankHour") + public void doProcessCityRankHour(){ + pcNationalCityRankingHourService.doProcessCityRankHour(); + } + + @ApiOperation(value = "定时任务-省内城市AQI日排名:每日一次") + @Log(title = "省内城市AQI日排名", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessCityRankDay") + public void doProcessCityRankDay(){ + pcNationalCityRankingOtherService.doProcessCityRankDay(); + } + + @ApiOperation(value = "定时任务-省内城市AQI月度排名:每月一次") + @Log(title = "省内城市AQI月度排名", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessCityRankMonth") + public void doProcessCityRankMonth(){ + pcNationalCityRankingOtherService.doProcessCityRankMonth(); + } + + @ApiOperation(value = "定时任务-省内城市AQI年度排名:每年一次") + @Log(title = "省内城市AQI年度排名", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessCityRankYear") + public void doProcessCityRankYear(){ + pcNationalCityRankingOtherService.doProcessCityRankYear(); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisCarController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisCarController.java new file mode 100644 index 0000000..e13fe1d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisCarController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisCarService; +import cn.cecep.talroad.vo.analysis.SRaAbNalysisCarVo; +import cn.cecep.talroad.vo.query.analysis.SRaAbNalysisCarQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 管控期车辆异常分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "管控期车辆异常分析") +@RestController +@RequestMapping("/car") +public class SRaAbNalysisCarController extends BasesController { + @Autowired + private ISRaAbNalysisCarService sRaAbNalysisCarService; + + /** + * 查询管控期车辆异常分析列表 + */ + @ApiOperation(value = "查询管控期车辆异常分析") + @GetMapping("/list") + public AjaxResults> list(SRaAbNalysisCarQuery sRaAbNalysisCar) { + Page page = new Page<>(sRaAbNalysisCar.getPageNum(), sRaAbNalysisCar.getPageSize()); + IPage list = sRaAbNalysisCarService.page(page, SRaAbNalysisCarQuery.createLambdaQueryWrapper(sRaAbNalysisCar)); + return AjaxResults.success(list); + } + + + /** + * 导出管控期车辆异常分析列表 + */ + @ApiOperation(value = "导出管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaAbNalysisCar sRaAbNalysisCar) { + List list = sRaAbNalysisCarService.selectSRaAbNalysisCarList(sRaAbNalysisCar); + ExcelUtil util = new ExcelUtil(SRaAbNalysisCar.class); + util.exportExcel(response, list, "管控期车辆异常分析数据"); + } + + /** + * 获取管控期车辆异常分析详细信息 + */ + @ApiOperation(value = "获取管控期车辆异常分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaAbNalysisCarService.getById(id)); + } + + /** + * 新增管控期车辆异常分析 + */ + @ApiOperation(value = "新增管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaAbNalysisCar sRaAbNalysisCar) { + return toAjax(sRaAbNalysisCarService.save(sRaAbNalysisCar)); + } + + /** + * 修改管控期车辆异常分析 + */ + @ApiOperation(value = "修改管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaAbNalysisCarVo sRaAbNalysisCarVo) { + if (ObjectUtil.isEmpty(sRaAbNalysisCarVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaAbNalysisCarVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaAbNalysisCar sRaAbNalysisCar = sRaAbNalysisCarService.getById(sRaAbNalysisCarVo.getDataId()); + if (ObjectUtil.isEmpty(sRaAbNalysisCar)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaAbNalysisCarVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaAbNalysisCarVo, sRaAbNalysisCar); + return toAjax(sRaAbNalysisCarService.saveOrUpdate(sRaAbNalysisCar)); + } + + /** + * 删除管控期车辆异常分析 + */ + @ApiOperation(value = "删除管控期车辆异常分析") + @RequiresPermissions("talroad:car:remove") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaAbNalysisCarService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisLowCarController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisLowCarController.java new file mode 100644 index 0000000..278b3d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAbNalysisLowCarController.java @@ -0,0 +1,238 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisLowCarService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaAbNalysisLowCarVo; +import cn.cecep.talroad.vo.query.analysis.SRaAbNalysisLowCarQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import freemarker.template.TemplateException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 管控期车辆异常分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "企业车辆进出厂异常分析") +@RestController +@RequestMapping("/low/car") +public class SRaAbNalysisLowCarController extends BasesController { + @Autowired + private ISRaAbNalysisLowCarService sRaAbNalysisLowCarService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + /** + * 查询管控期车辆异常分析列表 + */ + @ApiOperation(value = "企业车辆进出厂异常分析-list") + @GetMapping("/list") + public AjaxResults> list(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + sRaAbNalysisLowCar.setRegionCodes(r.getData()); + } + } catch (Exception e) { + System.err.println("获取区域列表失败"); + } + + Page page = new Page<>(sRaAbNalysisLowCar.getPageNum(), sRaAbNalysisLowCar.getPageSize()); + IPage list = sRaAbNalysisLowCarService.page(page, SRaAbNalysisLowCarQuery.createLambdaQueryWrapper(sRaAbNalysisLowCar)); + return AjaxResults.success(list); + } + + /** + * 查询管控期车辆异常分析列表 + */ + @ApiOperation(value = "查询管控期车辆异常分析-饼图和折线") + @GetMapping("/chartData") + public AjaxResults chartData(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + sRaAbNalysisLowCar.setRegionCodes(r.getData()); + } + } catch (Exception e) { + System.err.println("获取区域列表失败"); + } + long l1 = System.currentTimeMillis(); + List list = sRaAbNalysisLowCarService.list(SRaAbNalysisLowCarQuery.createLambdaQueryWrapper(sRaAbNalysisLowCar)); + long l2 = System.currentTimeMillis(); + System.out.println((l2-l1)/1000); + EChartsVO eChartsVO = sRaAbNalysisLowCarService.chartData(list, sRaAbNalysisLowCar); + + return AjaxResults.success(eChartsVO); + } + + /** + * 导出管控期车辆异常分析列表 + */ + @ApiOperation(value = "导出管控期车辆异常分析") + @Log(title = "企业车辆进出厂异常分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response,@RequestBody SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + sRaAbNalysisLowCar.setRegionCodes(r.getData()); + } + } catch (Exception e) { + System.err.println("获取区域列表失败"); + } + Calendar calendar = new GregorianCalendar(); + if(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getEndAnalyseTime())){ + calendar.setTime(sRaAbNalysisLowCar.getEndAnalyseTime()); + // 把日期往后增加一天,整数 往后推,负数往前移动 + calendar.add(Calendar.DATE, 1); + sRaAbNalysisLowCar.setEndAnalyseTime(calendar.getTime()); + } + List list = sRaAbNalysisLowCarService.selectSRaAbNalysisLowCarList(sRaAbNalysisLowCar); + ExcelUtil util = new ExcelUtil<>(SRaAbNalysisLowCar.class); + util.exportExcel(response, list, "企业车辆进出厂异常分析"); + } + + /** + * 导出管控期车辆异常分析报告 + */ + @ApiOperation(value = "导出管控期车辆异常分析报告") + @Log(title = "导出管控期车辆异常分析报告", businessType = BusinessType.EXPORT) + @PostMapping("/exportWordReport") + public void exportWordReport(HttpServletResponse response,@RequestBody SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) throws TemplateException, IOException { + try { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + sRaAbNalysisLowCar.setRegionCodes(r.getData()); + } + } catch (Exception e) { + System.err.println("获取区域列表失败"); + } + this.sRaAbNalysisLowCarService.exportWordReport(response,sRaAbNalysisLowCar); + } + + /** + * 获取管控期车辆异常分析详细信息 + */ + @ApiOperation(value = "获取管控期车辆异常分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaAbNalysisLowCarService.getById(id)); + } + + /** + * 新增管控期车辆异常分析 + */ + @ApiOperation(value = "新增管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaAbNalysisLowCar sRaAbNalysisLowCar) { + return toAjax(sRaAbNalysisLowCarService.save(sRaAbNalysisLowCar)); + } + + /** + * 修改管控期车辆异常分析 + */ + @ApiOperation(value = "修改管控期车辆异常分析") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaAbNalysisLowCarVo sRaAbNalysisLowCarVo) { + if (ObjectUtil.isEmpty(sRaAbNalysisLowCarVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaAbNalysisLowCarVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaAbNalysisLowCar sRaAbNalysisLowCar = sRaAbNalysisLowCarService.getById(sRaAbNalysisLowCarVo.getDataId()); + if (ObjectUtil.isEmpty(sRaAbNalysisLowCar)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaAbNalysisLowCarVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaAbNalysisLowCarVo, sRaAbNalysisLowCar); + return toAjax(sRaAbNalysisLowCarService.saveOrUpdate(sRaAbNalysisLowCar)); + } + + /** + * 删除管控期车辆异常分析 + */ + @ApiOperation(value = "删除管控期车辆异常分析") + @RequiresPermissions("talroad:car:remove") + @Log(title = "管控期车辆异常分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaAbNalysisLowCarService.removeByIds(Arrays.asList(dataIds))); + } + + + /** + * 近一周进出厂车辆趋势 显示 进厂 和出厂 + */ + @ApiOperation(value = "近一周进出厂车辆趋势折线") + @GetMapping("/parkChartData") + public AjaxResults parkChartData(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + String regionCode = ""; + try { + regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + sRaAbNalysisLowCar.setRegionCodes(r.getData()); + } + } catch (Exception e) { + logger.info("获取区域列表失败"); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(sRaAbNalysisLowCar.getDataId()), SRaAbNalysisLowCar::getDataId, sRaAbNalysisLowCar.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(sRaAbNalysisLowCar.getFactoryId()), SRaAbNalysisLowCar::getFactoryId, sRaAbNalysisLowCar.getFactoryId()); + wrapper.like(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getFactoryName()), SRaAbNalysisLowCar::getFactoryName, sRaAbNalysisLowCar.getFactoryName()); + wrapper.eq(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getIndustryCategoryName()), SRaAbNalysisLowCar::getIndustryCategoryName, sRaAbNalysisLowCar.getIndustryCategoryName()); + wrapper.likeRight(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getIndustryCategoryCode()), SRaAbNalysisLowCar::getIndustryCategoryCode, sRaAbNalysisLowCar.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getDistrictName()), SRaAbNalysisLowCar::getDistrictName, sRaAbNalysisLowCar.getDistrictName()); + wrapper.likeRight(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getDistrictCode()), SRaAbNalysisLowCar::getDistrictCode, sRaAbNalysisLowCar.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getPerformanceLevel()), SRaAbNalysisLowCar::getPerformanceLevel, sRaAbNalysisLowCar.getPerformanceLevel()); + wrapper.in(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getRegionCodes()), SRaAbNalysisLowCar::getDistrictCode, sRaAbNalysisLowCar.getRegionCodes()); + wrapper.between(SRaAbNalysisLowCar::getAnalyseTime, DateUtils.addDateDays(DateUtils.getNowDate(), -6), DateUtils.getNowDate()); + List list = sRaAbNalysisLowCarService.list(wrapper); + + EChartsVO eChartsVO = sRaAbNalysisLowCarService.parkChartData(list); + return AjaxResults.success(eChartsVO); + + + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualEmissionsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualEmissionsController.java new file mode 100644 index 0000000..3a076d6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualEmissionsController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import cn.cecep.talroad.service.analysis.ISRaActionReportsActualEmissionsService; +import cn.cecep.talroad.vo.analysis.SRaActionReportsActualEmissionsVo; +import cn.cecep.talroad.vo.query.analysis.SRaActionReportsActualEmissionsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告实际排放情况Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "执行报告实际排放情况") +@RestController +@RequestMapping("/emissions") +public class SRaActionReportsActualEmissionsController extends BasesController { + @Autowired + private ISRaActionReportsActualEmissionsService sRaActionReportsActualEmissionsService; + + /** + * 查询执行报告实际排放情况列表 + */ + @ApiOperation(value = "查询执行报告实际排放情况") + @GetMapping("/list") + public AjaxResults> list(SRaActionReportsActualEmissionsQuery sRaActionReportsActualEmissions) { + Page page = new Page<>(sRaActionReportsActualEmissions.getPageNum(), sRaActionReportsActualEmissions.getPageSize()); + IPage list = sRaActionReportsActualEmissionsService.selectSRaActionReportsActualEmissionsPage(page, SRaActionReportsActualEmissionsQuery.createLambdaQueryWrapper(sRaActionReportsActualEmissions)); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告实际排放情况列表 + */ + @ApiOperation(value = "导出执行报告实际排放情况") + @Log(title = "执行报告实际排放情况", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaActionReportsActualEmissionsQuery sRaActionReportsActualEmissions) { + List list = sRaActionReportsActualEmissionsService.selectSRaActionReportsActualEmissionsList(SRaActionReportsActualEmissionsQuery.createLambdaQueryWrapper(sRaActionReportsActualEmissions)); + ExcelUtil util = new ExcelUtil(SRaActionReportsActualEmissions.class); + util.exportExcel(response, list, "执行报告实际排放情况数据"); + } + + /** + * 获取执行报告实际排放情况详细信息 + */ + @ApiOperation(value = "获取执行报告实际排放情况详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaActionReportsActualEmissionsService.getById(id)); + } + + /** + * 新增执行报告实际排放情况 + */ + @ApiOperation(value = "新增执行报告实际排放情况") + @Log(title = "执行报告实际排放情况", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaActionReportsActualEmissions sRaActionReportsActualEmissions) { + return toAjax(sRaActionReportsActualEmissionsService.save(sRaActionReportsActualEmissions)); + } + + /** + * 修改执行报告实际排放情况 + */ + @ApiOperation(value = "修改执行报告实际排放情况") + @Log(title = "执行报告实际排放情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaActionReportsActualEmissionsVo sRaActionReportsActualEmissionsVo) { + if (ObjectUtil.isEmpty(sRaActionReportsActualEmissionsVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaActionReportsActualEmissionsVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaActionReportsActualEmissions sRaActionReportsActualEmissions = sRaActionReportsActualEmissionsService.getById(sRaActionReportsActualEmissionsVo.getId()); + if (ObjectUtil.isEmpty(sRaActionReportsActualEmissions)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaActionReportsActualEmissionsVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaActionReportsActualEmissionsVo, sRaActionReportsActualEmissions); + return toAjax(sRaActionReportsActualEmissionsService.saveOrUpdate(sRaActionReportsActualEmissions)); + } + + /** + * 删除执行报告实际排放情况 + */ + @ApiOperation(value = "删除执行报告实际排放情况") + @RequiresPermissions("talroad:emissions:remove") + @Log(title = "执行报告实际排放情况", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaActionReportsActualEmissionsService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualYieldController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualYieldController.java new file mode 100644 index 0000000..e026090 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsActualYieldController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import cn.cecep.talroad.service.analysis.ISRaActionReportsActualYieldService; +import cn.cecep.talroad.vo.analysis.SRaActionReportsActualYieldVo; +import cn.cecep.talroad.vo.query.analysis.SRaActionReportsActualYieldQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告实际产量情况Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "执行报告实际产量情况") +@RestController +@RequestMapping("/yield") +public class SRaActionReportsActualYieldController extends BasesController { + @Autowired + private ISRaActionReportsActualYieldService sRaActionReportsActualYieldService; + + /** + * 查询执行报告实际产量情况列表 + */ + @ApiOperation(value = "查询执行报告实际产量情况") + @GetMapping("/list") + public AjaxResults> list(SRaActionReportsActualYieldQuery sRaActionReportsActualYield) { + Page page = new Page<>(sRaActionReportsActualYield.getPageNum(), sRaActionReportsActualYield.getPageSize()); + IPage list = sRaActionReportsActualYieldService.selectSRaActionReportsActualYieldPage(page, SRaActionReportsActualYieldQuery.createLambdaQueryWrapper(sRaActionReportsActualYield)); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告实际产量情况列表 + */ + @ApiOperation(value = "导出执行报告实际产量情况") + @Log(title = "执行报告实际产量情况", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaActionReportsActualYieldQuery sRaActionReportsActualYield) { + List list = sRaActionReportsActualYieldService.selectSRaActionReportsActualYieldList(SRaActionReportsActualYieldQuery.createLambdaQueryWrapper(sRaActionReportsActualYield)); + ExcelUtil util = new ExcelUtil(SRaActionReportsActualYield.class); + util.exportExcel(response, list, "执行报告实际产量情况数据"); + } + + /** + * 获取执行报告实际产量情况详细信息 + */ + @ApiOperation(value = "获取执行报告实际产量情况详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaActionReportsActualYieldService.getById(id)); + } + + /** + * 新增执行报告实际产量情况 + */ + @ApiOperation(value = "新增执行报告实际产量情况") + @Log(title = "执行报告实际产量情况", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaActionReportsActualYield sRaActionReportsActualYield) { + return toAjax(sRaActionReportsActualYieldService.save(sRaActionReportsActualYield)); + } + + /** + * 修改执行报告实际产量情况 + */ + @ApiOperation(value = "修改执行报告实际产量情况") + @Log(title = "执行报告实际产量情况", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaActionReportsActualYieldVo sRaActionReportsActualYieldVo) { + if (ObjectUtil.isEmpty(sRaActionReportsActualYieldVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaActionReportsActualYieldVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaActionReportsActualYield sRaActionReportsActualYield = sRaActionReportsActualYieldService.getById(sRaActionReportsActualYieldVo.getId()); + if (ObjectUtil.isEmpty(sRaActionReportsActualYield)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaActionReportsActualYieldVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaActionReportsActualYieldVo, sRaActionReportsActualYield); + return toAjax(sRaActionReportsActualYieldService.saveOrUpdate(sRaActionReportsActualYield)); + } + + /** + * 删除执行报告实际产量情况 + */ + @ApiOperation(value = "删除执行报告实际产量情况") + @RequiresPermissions("talroad:yield:remove") + @Log(title = "执行报告实际产量情况", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaActionReportsActualYieldService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditController.java new file mode 100644 index 0000000..3ace21b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditController.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditService; +import cn.cecep.talroad.vo.analysis.SRaActionReportsAuditVo; +import cn.cecep.talroad.vo.query.analysis.SRaActionReportsAuditQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告规范性审核Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "执行报告规范性审核") +@RestController +@RequestMapping("/audit") +public class SRaActionReportsAuditController extends BasesController { + @Autowired + private ISRaActionReportsAuditService sRaActionReportsAuditService; + + /** + * 查询执行报告规范性审核列表 + */ + @ApiOperation(value = "查询执行报告规范性审核") + @GetMapping("/list") + public AjaxResults> list(SRaActionReportsAuditQuery sRaActionReportsAudit) { + Page page = new Page<>(sRaActionReportsAudit.getPageNum(), sRaActionReportsAudit.getPageSize()); + IPage list = sRaActionReportsAuditService.page(page, SRaActionReportsAuditQuery.createLambdaQueryWrapper(sRaActionReportsAudit)); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告规范性审核列表 + */ + @ApiOperation(value = "导出执行报告规范性审核") + @Log(title = "执行报告规范性审核", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaActionReportsAudit sRaActionReportsAudit) { + List list = sRaActionReportsAuditService.selectSRaActionReportsAuditList(sRaActionReportsAudit); + ExcelUtil util = new ExcelUtil(SRaActionReportsAudit.class); + util.exportExcel(response, list, "执行报告规范性审核数据"); + } + + /** + * 获取执行报告规范性审核详细信息 + */ + @ApiOperation(value = "获取执行报告规范性审核详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaActionReportsAuditService.getById(id)); + } + + /** + * 新增执行报告规范性审核 + */ + @ApiOperation(value = "新增执行报告规范性审核") + @Log(title = "执行报告规范性审核", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaActionReportsAudit sRaActionReportsAudit) { + return toAjax(sRaActionReportsAuditService.save(sRaActionReportsAudit)); + } + + /** + * 修改执行报告规范性审核 + */ + @ApiOperation(value = "修改执行报告规范性审核") + @Log(title = "执行报告规范性审核", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaActionReportsAuditVo sRaActionReportsAuditVo) { + if (ObjectUtil.isEmpty(sRaActionReportsAuditVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaActionReportsAuditVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaActionReportsAudit sRaActionReportsAudit = sRaActionReportsAuditService.getById(sRaActionReportsAuditVo.getId()); + if (ObjectUtil.isEmpty(sRaActionReportsAudit)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaActionReportsAuditVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaActionReportsAuditVo, sRaActionReportsAudit); + return toAjax(sRaActionReportsAuditService.saveOrUpdate(sRaActionReportsAudit)); + } + + /** + * 删除执行报告规范性审核 + */ + @ApiOperation(value = "删除执行报告规范性审核") + @RequiresPermissions("talroad:audit:remove") + @Log(title = "执行报告规范性审核", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaActionReportsAuditService.removeByIds(Arrays.asList(ids))); + } + + /** + * 执行报告未提交企业列表下载 + */ + @ApiOperation(value = "执行报告未提交企业列表下载") + @Log(title = "执行报告未提交企业列表下载", businessType = BusinessType.EXPORT) + @PostMapping("/reportDownload/{reportId}") + public void reportDownload(@PathVariable("reportId")String reportId ,HttpServletResponse response) { + sRaActionReportsAuditService.reportDownload(reportId,response); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditRecordController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditRecordController.java new file mode 100644 index 0000000..c8e1313 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditRecordController.java @@ -0,0 +1,135 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.core.web.page.PageData; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.domain.dto.AuditRecordDTO; +import cn.cecep.talroad.domain.dto.RecordListDTO; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditRecordService; +import cn.cecep.talroad.vo.analysis.SRaActionReportsAuditRecordVo; +import cn.cecep.talroad.vo.query.analysis.SRaActionReportsAuditRecordQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告规范性审核记录Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "执行报告规范性审核记录") +@RestController +@RequestMapping("/record") +public class SRaActionReportsAuditRecordController extends BasesController { + @Autowired + private ISRaActionReportsAuditRecordService sRaActionReportsAuditRecordService; + + /** + * 查询执行报告规范性审核记录列表 + */ + @ApiOperation(value = "查询执行报告规范性审核记录列表") + @GetMapping("/list") + public AjaxResults> list(SRaActionReportsAuditRecordQuery sRaActionReportsAuditRecord) { + Page page = new Page<>(sRaActionReportsAuditRecord.getPageNum(), sRaActionReportsAuditRecord.getPageSize()); + IPage list = sRaActionReportsAuditRecordService.page(page, + SRaActionReportsAuditRecordQuery.createLambdaQueryWrapper(sRaActionReportsAuditRecord).orderByDesc("update_time","create_time")); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告规范性审核记录列表 + */ + @ApiOperation(value = "导出执行报告规范性审核记录") + @Log(title = "执行报告规范性审核记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaActionReportsAuditRecord sRaActionReportsAuditRecord) { + List list = sRaActionReportsAuditRecordService.selectSRaActionReportsAuditRecordList(sRaActionReportsAuditRecord); + ExcelUtil util = new ExcelUtil(SRaActionReportsAuditRecord.class); + util.exportExcel(response, list, "执行报告规范性审核记录数据"); + } + + /** + * 获取执行报告规范性审核记录详细信息 + */ + @ApiOperation(value = "获取执行报告规范性审核记录详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaActionReportsAuditRecordService.getById(id)); + } + + /** + * 新增执行报告规范性审核记录 + */ + @ApiOperation(value = "新增执行报告规范性审核记录") + @Log(title = "执行报告规范性审核记录", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody AuditRecordDTO auditRecordDTO) { + return sRaActionReportsAuditRecordService.saveRecord(auditRecordDTO); + } + + /** + * 修改执行报告规范性审核记录 + */ + @ApiOperation(value = "修改执行报告规范性审核记录") + @Log(title = "执行报告规范性审核记录", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaActionReportsAuditRecordVo sRaActionReportsAuditRecordVo) { + if (ObjectUtil.isEmpty(sRaActionReportsAuditRecordVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaActionReportsAuditRecordVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaActionReportsAuditRecord sRaActionReportsAuditRecord = sRaActionReportsAuditRecordService.getById(sRaActionReportsAuditRecordVo.getId()); + if (ObjectUtil.isEmpty(sRaActionReportsAuditRecord)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaActionReportsAuditRecordVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaActionReportsAuditRecordVo, sRaActionReportsAuditRecord); + return toAjax(sRaActionReportsAuditRecordService.saveOrUpdate(sRaActionReportsAuditRecord)); + } + + /** + * 删除执行报告规范性审核记录 + */ + @ApiOperation(value = "删除执行报告规范性审核记录") + @RequiresPermissions("talroad:record:remove") + @Log(title = "执行报告规范性审核记录", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaActionReportsAuditRecordService.removeByIds(Arrays.asList(ids))); + } + + + /** + * 执行报告规范性审核记录添加查询企业列表 + */ + @ApiOperation(value = "执行报告规范性审核记录添加查询企业列表") + @Log(title = "执行报告规范性审核记录添加查询企业列表") + @PostMapping("/recordList") + public AjaxResults> recordList(@RequestBody RecordListDTO recordListDTO) { + return sRaActionReportsAuditRecordService.recordList(recordListDTO); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditResultController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditResultController.java new file mode 100644 index 0000000..e869c68 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaActionReportsAuditResultController.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditResultService; +import cn.cecep.talroad.vo.analysis.SRaActionReportsAuditResultVo; +import cn.cecep.talroad.vo.query.analysis.SRaActionReportsAuditResultQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import freemarker.template.TemplateException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 执行报告规范性审核结果Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "执行报告规范性审核结果") +@RestController +@RequestMapping("/result") +public class SRaActionReportsAuditResultController extends BasesController { + @Autowired + private ISRaActionReportsAuditResultService sRaActionReportsAuditResultService; + + /** + * 查询执行报告规范性审核结果列表 + */ + @ApiOperation(value = "查询执行报告规范性审核结果") + @GetMapping("/list") + public AjaxResults> list(SRaActionReportsAuditResultQuery sRaActionReportsAuditResult) { + Page page = new Page<>(sRaActionReportsAuditResult.getPageNum(), sRaActionReportsAuditResult.getPageSize()); + IPage list = sRaActionReportsAuditResultService.resultList(page, + SRaActionReportsAuditResultQuery.createLambdaQueryWrapper(sRaActionReportsAuditResult)); + return AjaxResults.success(list); + } + + + /** + * 导出执行报告规范性审核结果列表 + */ + @ApiOperation(value = "导出执行报告规范性审核结果") + @Log(title = "执行报告规范性审核结果", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaActionReportsAuditResult sRaActionReportsAuditResult) { + List list = sRaActionReportsAuditResultService.selectSRaActionReportsAuditResultList(sRaActionReportsAuditResult); + ExcelUtil util = new ExcelUtil<>(SRaActionReportsAuditResult.class); + util.exportExcel(response, list, "执行报告规范性审核结果数据","排污许可证执行报告内容规范性审核表"); + } + + /** + * 获取执行报告规范性审核结果详细信息 + */ + @ApiOperation(value = "获取执行报告规范性审核结果详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaActionReportsAuditResultService.getById(id)); + } + + /** + * 新增执行报告规范性审核结果 + */ + @ApiOperation(value = "新增执行报告规范性审核结果") + @Log(title = "执行报告规范性审核结果", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaActionReportsAuditResult sRaActionReportsAuditResult) { + return toAjax(sRaActionReportsAuditResultService.save(sRaActionReportsAuditResult)); + } + + /** + * 修改执行报告规范性审核结果 + */ + @ApiOperation(value = "修改执行报告规范性审核结果") + @Log(title = "执行报告规范性审核结果", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaActionReportsAuditResultVo sRaActionReportsAuditResultVo) { + if (ObjectUtil.isEmpty(sRaActionReportsAuditResultVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaActionReportsAuditResultVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaActionReportsAuditResult sRaActionReportsAuditResult = sRaActionReportsAuditResultService.getById(sRaActionReportsAuditResultVo.getId()); + if (ObjectUtil.isEmpty(sRaActionReportsAuditResult)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaActionReportsAuditResultVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaActionReportsAuditResultVo, sRaActionReportsAuditResult); + return toAjax(sRaActionReportsAuditResultService.saveOrUpdate(sRaActionReportsAuditResult)); + } + + /** + * 删除执行报告规范性审核结果 + */ + @ApiOperation(value = "删除执行报告规范性审核结果") + @RequiresPermissions("talroad:result:remove") + @Log(title = "执行报告规范性审核结果", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaActionReportsAuditResultService.removeByIds(Arrays.asList(ids))); + } + + /** + * 执行报告规范性审核结果企业审核表下载 + */ + @ApiOperation(value = "执行报告规范性审核结果企业审核表下载") + @Log(title = "执行报告规范性审核结果企业审核表下载", businessType = BusinessType.EXPORT) + @PostMapping("/getResultFactoryDetailWord/{id}") + public void getResultFactoryDetailWord(@PathVariable String id,HttpServletResponse response) throws IOException, TemplateException, IllegalAccessException { + sRaActionReportsAuditResultService.getResultFactoryDetailWord(id,response); + } + + + /** + * 发送问题给该企业 + */ + @ApiOperation(value = "发送问题给该企业") + @Log(title = "发送问题给该企业", businessType = BusinessType.EXPORT) + @PostMapping("/sendQuestion/{id}") + public AjaxResults sendQuestion(@PathVariable String id){ + return sRaActionReportsAuditResultService.sendQuestion(id); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaRegulatoryIssuesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaRegulatoryIssuesController.java new file mode 100644 index 0000000..ae01b8f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaRegulatoryIssuesController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues; +import cn.cecep.talroad.service.analysis.ISRaAreaRegulatoryIssuesService; +import cn.cecep.talroad.vo.analysis.SRaAreaRegulatoryIssuesVo; +import cn.cecep.talroad.vo.query.analysis.SRaAreaRegulatoryIssuesQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 区域证后监管问题总表Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "区域证后监管问题总表") +@RestController +@RequestMapping("/area/issues") +public class SRaAreaRegulatoryIssuesController extends BasesController { + @Autowired + private ISRaAreaRegulatoryIssuesService sRaAreaRegulatoryIssuesService; + + /** + * 区域证后监管问题总表列表 + */ + @ApiOperation(value = "查询区域证后监管问题总表") + @GetMapping("/list") + public AjaxResults> list(SRaAreaRegulatoryIssuesQuery sRaAreaRegulatoryIssues) { + Page page = new Page<>(sRaAreaRegulatoryIssues.getPageNum(), sRaAreaRegulatoryIssues.getPageSize()); + IPage list = sRaAreaRegulatoryIssuesService.page(page, SRaAreaRegulatoryIssuesQuery.createLambdaQueryWrapper(sRaAreaRegulatoryIssues)); + return AjaxResults.success(list); + } + + + /** + * 导出区域证后监管问题总表列表 + */ + @ApiOperation(value = "导出区域证后监管问题总表") + @Log(title = "导出区域证后监管问题总表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaAreaRegulatoryIssuesQuery sRaAreaRegulatoryIssues) { + List list = sRaAreaRegulatoryIssuesService.list(SRaAreaRegulatoryIssuesQuery.createLambdaQueryWrapper(sRaAreaRegulatoryIssues)); + ExcelUtil util = new ExcelUtil(SRaAreaRegulatoryIssues.class); + util.exportExcel(response, list, "区域证后监管问题总表数据"); + } + + /** + * 获取区域证后监管问题总表详细信息 + */ + @ApiOperation(value = "获取区域证后监管问题总表详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaAreaRegulatoryIssuesService.getById(id)); + } + + /** + * 新增区域证后监管问题总表 + */ + @ApiOperation(value = "新增区域证后监管问题总表") + @Log(title = "新增区域证后监管问题总表", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaAreaRegulatoryIssues sRaAreaRegulatoryIssues) { + return toAjax(sRaAreaRegulatoryIssuesService.save(sRaAreaRegulatoryIssues)); + } + + /** + * 修改区域证后监管问题总表 + */ + @ApiOperation(value = "修改区域证后监管问题总表") + @Log(title = "修改区域证后监管问题总表", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaAreaRegulatoryIssuesVo sRaAreaRegulatoryIssuesVo) { + if (ObjectUtil.isEmpty(sRaAreaRegulatoryIssuesVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaAreaRegulatoryIssuesVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaAreaRegulatoryIssues sRaAreaRegulatoryIssues = sRaAreaRegulatoryIssuesService.getById(sRaAreaRegulatoryIssuesVo.getId()); + if (ObjectUtil.isEmpty(sRaAreaRegulatoryIssues)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaAreaRegulatoryIssuesVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaAreaRegulatoryIssuesVo, sRaAreaRegulatoryIssues); + return toAjax(sRaAreaRegulatoryIssuesService.saveOrUpdate(sRaAreaRegulatoryIssues)); + } + + /** + * 删除区域证后监管问题总表 + */ + @ApiOperation(value = "删除区域证后监管问题总表") + @RequiresPermissions("talroad:issues:remove") + @Log(title = "删除区域证后监管问题总表", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaAreaRegulatoryIssuesService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaTransferRateAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaTransferRateAnalysisController.java new file mode 100644 index 0000000..f25e2e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaAreaTransferRateAnalysisController.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import cn.cecep.talroad.service.analysis.ISRaAreaTransferRateAnalysisService; +import cn.cecep.talroad.vo.analysis.SRaAreaTransferRateAnalysisVo; +import cn.cecep.talroad.vo.query.analysis.SRaAreaTransferRateAnalysisQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 区域传输率分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "区域传输率分析") +@RestController +@RequestMapping("/area/analysis") +public class SRaAreaTransferRateAnalysisController extends BasesController { + + @Autowired + private ISRaAreaTransferRateAnalysisService sRaAreaTransferRateAnalysisService; + + /** + * 查询区域传输率分析列表 + */ + @ApiOperation(value = "查询区域传输率分析") + @GetMapping("/list") + public AjaxResults> list(SRaAreaTransferRateAnalysisQuery sRaAreaTransferRateAnalysis) { + Page page = new Page<>(sRaAreaTransferRateAnalysis.getPageNum(), sRaAreaTransferRateAnalysis.getPageSize()); + IPage list = sRaAreaTransferRateAnalysisService.page(page, SRaAreaTransferRateAnalysisQuery.createLambdaQueryWrapper(sRaAreaTransferRateAnalysis)); + return AjaxResults.success(list); + } + + + /** + * 导出区域传输率分析列表 + */ + @ApiOperation(value = "导出区域传输率分析") + @Log(title = "区域传输率分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaAreaTransferRateAnalysisQuery sRaAreaTransferRateAnalysis) { + List list = sRaAreaTransferRateAnalysisService.list(SRaAreaTransferRateAnalysisQuery.createLambdaQueryWrapper(sRaAreaTransferRateAnalysis)); + ExcelUtil util = new ExcelUtil<>(SRaAreaTransferRateAnalysis.class); + util.exportExcel(response, list, "区域传输率分析数据"); + } + + /** + * 获取区域传输率分析详细信息 + */ + @ApiOperation(value = "获取区域传输率分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaAreaTransferRateAnalysisService.getById(id)); + } + + /** + * 新增区域传输率分析 + */ + @ApiOperation(value = "新增区域传输率分析") + @Log(title = "区域传输率分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaAreaTransferRateAnalysis sRaAreaTransferRateAnalysis) { + return toAjax(sRaAreaTransferRateAnalysisService.save(sRaAreaTransferRateAnalysis)); + } + + /** + * 修改区域传输率分析 + */ + @ApiOperation(value = "修改区域传输率分析") + @Log(title = "区域传输率分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaAreaTransferRateAnalysisVo sRaAreaTransferRateAnalysisVo) { + if (ObjectUtil.isEmpty(sRaAreaTransferRateAnalysisVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaAreaTransferRateAnalysisVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaAreaTransferRateAnalysis sRaAreaTransferRateAnalysis = sRaAreaTransferRateAnalysisService.getById(sRaAreaTransferRateAnalysisVo.getId()); + if (ObjectUtil.isEmpty(sRaAreaTransferRateAnalysis)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaAreaTransferRateAnalysisVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaAreaTransferRateAnalysisVo, sRaAreaTransferRateAnalysis); + return toAjax(sRaAreaTransferRateAnalysisService.saveOrUpdate(sRaAreaTransferRateAnalysis)); + } + + /** + * 删除区域传输率分析 + */ + @ApiOperation(value = "删除区域传输率分析") + @RequiresPermissions("talroad:analysis:remove") + @Log(title = "区域传输率分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaAreaTransferRateAnalysisService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaControlSchemeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaControlSchemeController.java new file mode 100644 index 0000000..19eaa8f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaControlSchemeController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.analysis.SRaControlSchemeQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaControlScheme; +import cn.cecep.talroad.vo.analysis.SRaControlSchemeVo; +import cn.cecep.talroad.service.analysis.ISRaControlSchemeService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-减排方案管理-管控时间段信息Controller 控制层 + * + * @author szhpt + * @date 2023-04-02*/ +@Api(tags = "关联分析系统-减排方案管理-管控时间段信息") +@RestController +@RequestMapping("/scheme") +public class SRaControlSchemeController extends BasesController +{ + @Autowired + private ISRaControlSchemeService sRaControlSchemeService; + + /** + * 查询关联分析系统-减排方案管理-管控时间段信息列表 + */ + @ApiOperation(value = "查询关联分析系统-减排方案管理-管控时间段信息") + @GetMapping("/list") + public AjaxResults> list(SRaControlSchemeQuery sRaControlScheme) + { + Page page = new Page<>(sRaControlScheme.getPageNum(), sRaControlScheme.getPageSize()); + IPage list = sRaControlSchemeService.page(page, SRaControlSchemeQuery.createLambdaQueryWrapper(sRaControlScheme)); + return AjaxResults.success(list); + } + + + /** + * 导出关联分析系统-减排方案管理-管控时间段信息列表 + */ + @ApiOperation(value = "导出关联分析系统-减排方案管理-管控时间段信息") + @Log(title = "关联分析系统-减排方案管理-管控时间段信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaControlScheme sRaControlScheme) + { + List list = sRaControlSchemeService.selectSRaControlSchemeList(sRaControlScheme); + ExcelUtil util = new ExcelUtil<>(SRaControlScheme.class); + util.exportExcel(response, list, "关联分析系统-减排方案管理-管控时间段信息数据"); + } + + /** + * 获取关联分析系统-减排方案管理-管控时间段信息详细信息 + */ + @ApiOperation(value = "获取关联分析系统-减排方案管理-管控时间段信息详细信息") + @PostMapping(value = "/{schemeId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaControlSchemeService.getById(id)); + } + /** + * 新增关联分析系统-减排方案管理-管控时间段信息 + */ + @ApiOperation(value = "新增关联分析系统-减排方案管理-管控时间段信息") + @Log(title = "关联分析系统-减排方案管理-管控时间段信息", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaControlScheme sRaControlScheme) { + return toAjax(sRaControlSchemeService.save(sRaControlScheme)); + } + /** + * 修改关联分析系统-减排方案管理-管控时间段信息 + */ + @ApiOperation(value = "修改关联分析系统-减排方案管理-管控时间段信息") + @Log(title = "关联分析系统-减排方案管理-管控时间段信息", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaControlSchemeVo sRaControlSchemeVo) { + if(ObjectUtil.isEmpty(sRaControlSchemeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaControlSchemeVo.getSchemeId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaControlScheme sRaControlScheme = sRaControlSchemeService.getById(sRaControlSchemeVo.getSchemeId()); + if(ObjectUtil.isEmpty(sRaControlScheme)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaControlSchemeVo.getSchemeId())); + } + //赋值 + BeanUtil.copyProperties(sRaControlSchemeVo,sRaControlScheme); + return toAjax(sRaControlSchemeService.saveOrUpdate(sRaControlScheme)); + } + + /** + * 删除关联分析系统-减排方案管理-管控时间段信息 + */ + @ApiOperation(value = "删除关联分析系统-减排方案管理-管控时间段信息") + @RequiresPermissions("talroad:scheme:remove") + @Log(title = "关联分析系统-减排方案管理-管控时间段信息", businessType = BusinessType.DELETE) + @PostMapping("/{schemeIds}") + public AjaxResults remove(@PathVariable String[] schemeIds) { + return toAjax(sRaControlSchemeService.removeByIds(Arrays.asList(schemeIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsDiffController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsDiffController.java new file mode 100644 index 0000000..65da81d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsDiffController.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaEmissionsDiff; +import cn.cecep.talroad.service.analysis.ISRaEmissionsDiffService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsDiffVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsDiffQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放量差异分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "企业排放量差异分析") +@RestController +@RequestMapping("/diff") +public class SRaEmissionsDiffController extends BasesController { + @Autowired + private ISRaEmissionsDiffService sRaEmissionsDiffService; + + /** + * 查询企业排放量差异分析列表 + */ + @ApiOperation(value = "查询企业排放量差异分析") + @GetMapping("/list") + public AjaxResults> list(SRaEmissionsDiffQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaEmissionsDiffService.selectEmissionsDiffList(page, query); + return AjaxResults.success(page); + } + + + /** + * 导出企业排放量差异分析列表 + */ + @ApiOperation(value = "导出企业排放量差异分析") + @Log(title = "企业排放量差异分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response,@RequestBody SRaEmissionsDiffQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = sRaEmissionsDiffService.selectEmissionsDiffList(page, query); + ExcelUtil util = new ExcelUtil<>(SRaEmissionsDiffVo.class); + util.exportExcel(response, list, "企业排放量差异分析数据"); + } + + /** + * 获取企业排放量差异分析详细信息 + */ + @ApiOperation(value = "获取企业排放量差异分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaEmissionsDiffService.getById(id)); + } + + /** + * 新增企业排放量差异分析 + */ + @ApiOperation(value = "新增企业排放量差异分析") + @Log(title = "企业排放量差异分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaEmissionsDiff sRaEmissionsDiff) { + return toAjax(sRaEmissionsDiffService.save(sRaEmissionsDiff)); + } + + /** + * 修改企业排放量差异分析 + */ + @ApiOperation(value = "修改企业排放量差异分析") + @Log(title = "企业排放量差异分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaEmissionsDiffVo sRaEmissionsDiffVo) { + if (ObjectUtil.isEmpty(sRaEmissionsDiffVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaEmissionsDiffVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaEmissionsDiff sRaEmissionsDiff = sRaEmissionsDiffService.getById(sRaEmissionsDiffVo.getId()); + if (ObjectUtil.isEmpty(sRaEmissionsDiff)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaEmissionsDiffVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaEmissionsDiffVo, sRaEmissionsDiff); + return toAjax(sRaEmissionsDiffService.saveOrUpdate(sRaEmissionsDiff)); + } + + /** + * 删除企业排放量差异分析 + */ + @ApiOperation(value = "删除企业排放量差异分析") + @RequiresPermissions("talroad:diff:remove") + @Log(title = "企业排放量差异分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaEmissionsDiffService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsMonitoringVarianceController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsMonitoringVarianceController.java new file mode 100644 index 0000000..6e2e050 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsMonitoringVarianceController.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.PcPollutant; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsMonitoringVarianceQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; +import cn.cecep.talroad.vo.analysis.SRaEmissionsMonitoringVarianceVo; +import cn.cecep.talroad.service.analysis.ISRaEmissionsMonitoringVarianceService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业异常行为分析-企业排放分析-监测差异分析Controller 控制层 + * + * @author szhpt + * @date 2023-06-27*/ +@Api(tags = "企业异常行为分析-企业排放分析-监测差异分析") +@RestController +@RequestMapping("/variance") +public class SRaEmissionsMonitoringVarianceController extends BasesController +{ + @Autowired + private ISRaEmissionsMonitoringVarianceService sRaEmissionsMonitoringVarianceService; + + /** + * 查询企业异常行为分析-企业排放分析-监测差异分析列表 + */ + @ApiOperation(value = "查询企业异常行为分析-企业排放分析-监测差异分析") + @GetMapping("/list") + public AjaxResults> list(SRaEmissionsMonitoringVarianceQuery query) + { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaEmissionsMonitoringVarianceService.selectList(page, query); + return AjaxResults.success(page); + } + + @ApiOperation(value = "污染物下拉选") + @GetMapping("/poll/list") + public AjaxResults> pollList() { + List list = sRaEmissionsMonitoringVarianceService.pollList(); + return AjaxResults.success(list); + } + + + /** + * 导出企业异常行为分析-企业排放分析-监测差异分析列表 + */ + @ApiOperation(value = "导出企业异常行为分析-企业排放分析-监测差异分析") + @Log(title = "企业异常行为分析-企业排放分析-监测差异分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response,@RequestBody SRaEmissionsMonitoringVarianceQuery query) + { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = sRaEmissionsMonitoringVarianceService.selectList(page, query); + ExcelUtil util = new ExcelUtil<>(SRaEmissionsMonitoringVarianceVo.class); + util.exportExcel(response, list, "企业异常行为分析-企业排放分析-监测差异分析数据"); + } + + /** + * 获取企业异常行为分析-企业排放分析-监测差异分析详细信息 + */ + @ApiOperation(value = "获取企业异常行为分析-企业排放分析-监测差异分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaEmissionsMonitoringVarianceService.getById(id)); + } + /** + * 新增企业异常行为分析-企业排放分析-监测差异分析 + */ + @ApiOperation(value = "新增企业异常行为分析-企业排放分析-监测差异分析") + @Log(title = "企业异常行为分析-企业排放分析-监测差异分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaEmissionsMonitoringVariance sRaEmissionsMonitoringVariance) { + return toAjax(sRaEmissionsMonitoringVarianceService.save(sRaEmissionsMonitoringVariance)); + } + /** + * 修改企业异常行为分析-企业排放分析-监测差异分析 + */ + @ApiOperation(value = "修改企业异常行为分析-企业排放分析-监测差异分析") + @Log(title = "企业异常行为分析-企业排放分析-监测差异分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaEmissionsMonitoringVarianceVo sRaEmissionsMonitoringVarianceVo) { + if(ObjectUtil.isEmpty(sRaEmissionsMonitoringVarianceVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaEmissionsMonitoringVarianceVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaEmissionsMonitoringVariance sRaEmissionsMonitoringVariance = sRaEmissionsMonitoringVarianceService.getById(sRaEmissionsMonitoringVarianceVo.getId()); + if(ObjectUtil.isEmpty(sRaEmissionsMonitoringVariance)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaEmissionsMonitoringVarianceVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaEmissionsMonitoringVarianceVo,sRaEmissionsMonitoringVariance); + return toAjax(sRaEmissionsMonitoringVarianceService.saveOrUpdate(sRaEmissionsMonitoringVariance)); + } + + /** + * 删除企业异常行为分析-企业排放分析-监测差异分析 + */ + @ApiOperation(value = "删除企业异常行为分析-企业排放分析-监测差异分析") + @RequiresPermissions("talroad:variance:remove") + @Log(title = "企业异常行为分析-企业排放分析-监测差异分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable Long[] ids) { + return toAjax(sRaEmissionsMonitoringVarianceService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverController.java new file mode 100644 index 0000000..a24452b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverController.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.analysis.ISRaEmissionsOverService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@Api(tags = "区域、行业排放量超标分析") +@RestController +@RequestMapping("/emissionsOver") +public class SRaEmissionsOverController extends BasesController { + @Autowired + private ISRaEmissionsOverService sRaEmissionsOverService; + + @ApiOperation(value = "区域排放量超标分析") + @GetMapping("/region/list") + public AjaxResults> regionList(SRaEmissionsOverQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaEmissionsOverService.getRegionEmissions(page, query); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出区域排放量超标分析") + @Log(title = "区域排放量超标分析", businessType = BusinessType.EXPORT) + @PostMapping("/regionExport") + public void regionExport(HttpServletResponse response, @RequestBody SRaEmissionsOverQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List regionEmissions = sRaEmissionsOverService.getRegionEmissions(page, query); + + ExcelUtil util = new ExcelUtil<>(SRaEmissionsOverVo.RegionVo.class); + util.exportExcel(response, regionEmissions, "区域排放量超标分析数据"); + } + + @ApiOperation(value = "行业排放量超标分析") + @GetMapping("/industry/list") + public AjaxResults> industryList(SRaEmissionsOverQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaEmissionsOverService.getIndustryEmissions(page, query); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出行业排放量超标分析") + @Log(title = "行业排放量超标分析", businessType = BusinessType.EXPORT) + @PostMapping("/industryExport") + public void industryExport(HttpServletResponse response, @RequestBody SRaEmissionsOverQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List listVo = sRaEmissionsOverService.getIndustryEmissions(page, query); + + ExcelUtil util = new ExcelUtil<>(SRaEmissionsOverVo.IndustryVo.class); + util.exportExcel(response, listVo, "行业排放量超标分析数据"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverFactoryController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverFactoryController.java new file mode 100644 index 0000000..e12f4e6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsOverFactoryController.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaEmissionsOverFactory; +import cn.cecep.talroad.service.analysis.ISRaEmissionsOverFactoryService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverFactoryVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverFactoryQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +@Api(tags = "企业排放量超标分析") +@RestController +@RequestMapping("/emissionsOverFactory") +public class SRaEmissionsOverFactoryController extends BasesController { + @Autowired + private ISRaEmissionsOverFactoryService sRaEmissionsOverFactoryService; + + /** + * 查询企业排放量超标分析列表 + */ + @ApiOperation(value = "查询企业排放量超标分析") + @GetMapping("/list") + public AjaxResults> list(SRaEmissionsOverFactoryQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaEmissionsOverFactoryService.selectEmissionsOverFactory(page, query); + return AjaxResults.success(page); + } + + + @ApiOperation(value = "统计范围下拉选") + @GetMapping("/statScope/list") + public AjaxResults> list() { + List list = sRaEmissionsOverFactoryService.getStatScopeList(); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放量超标分析列表 + */ + @ApiOperation(value = "导出企业排放量超标分析") + @Log(title = "企业排放量超标分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaEmissionsOverFactoryQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = sRaEmissionsOverFactoryService.selectEmissionsOverFactory(page, query); + ExcelUtil util = new ExcelUtil<>(SRaEmissionsOverFactoryVo.class); + util.exportExcel(response, list, "企业排放量超标分析数据"); + } + + /** + * 获取企业排放量超标分析详细信息 + */ + @ApiOperation(value = "获取企业排放量超标分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaEmissionsOverFactoryService.getById(id)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStandardController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStandardController.java new file mode 100644 index 0000000..688f774 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStandardController.java @@ -0,0 +1,162 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStandard; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaEmissionsStandardService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsStandardVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsStandardQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业排放水平分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "A企业排放水平分析") +@RestController +@RequestMapping("/standard") +public class SRaEmissionsStandardController extends BasesController { + @Autowired + private ISRaEmissionsStandardService sRaEmissionsStandardService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询企业排放水平分析列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaEmissionsStandardQuery sRaEmissionsStandard) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaEmissionsStandard.setRegionCodes(regionCodes); + Page page = new Page<>(sRaEmissionsStandard.getPageNum(), sRaEmissionsStandard.getPageSize()); + IPage list = sRaEmissionsStandardService.page(page, SRaEmissionsStandardQuery.createLambdaQueryWrapper(sRaEmissionsStandard)); + return AjaxResults.success(list); + } + + + /** + * 导出企业排放水平分析列表 + */ + @ApiOperation(value = "导出") + @Log(title = "企业排放水平分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaEmissionsStandardQuery sRaEmissionsStandard) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaEmissionsStandard.setRegionCodes(regionCodes); + List list = sRaEmissionsStandardService.selectSRaEmissionsStandardList(sRaEmissionsStandard); + ExcelUtil util = new ExcelUtil(SRaEmissionsStandard.class); + util.exportExcel(response, list, "企业排放水平分析数据"); + } + + /** + * 获取企业排放水平分析详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(sRaEmissionsStandardService.getById(id)); + } + + /** + * 新增企业排放水平分析 + */ + @ApiOperation(value = "新增") + @Log(title = "企业排放水平分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaEmissionsStandard sRaEmissionsStandard) { + return toAjax(sRaEmissionsStandardService.save(sRaEmissionsStandard)); + } + + /** + * 修改企业排放水平分析 + */ + @ApiOperation(value = "修改") + @Log(title = "企业排放水平分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaEmissionsStandardVo sRaEmissionsStandardVo) { + if (ObjectUtil.isEmpty(sRaEmissionsStandardVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaEmissionsStandardVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaEmissionsStandard sRaEmissionsStandard = sRaEmissionsStandardService.getById(sRaEmissionsStandardVo.getId()); + if (ObjectUtil.isEmpty(sRaEmissionsStandard)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaEmissionsStandardVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaEmissionsStandardVo, sRaEmissionsStandard); + return toAjax(sRaEmissionsStandardService.saveOrUpdate(sRaEmissionsStandard)); + } + + /** + * 删除企业排放水平分析 + */ + @ApiOperation(value = "删除") + @RequiresPermissions("talroad:standard:remove") + @Log(title = "企业排放水平分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaEmissionsStandardService.removeByIds(Arrays.asList(ids))); + } + + /** + * 参数名称options + */ + @ApiOperation(value = "参数名称options") + @GetMapping("/pullPollutantOptions") + public AjaxResults>> pullPollutantOptions() { + return AjaxResults.success(sRaEmissionsStandardService.pullPollutantOptions()); + } + + /** + * 排放规模options + */ + @ApiOperation(value = "排放规模options") + @GetMapping("/pullEmissionScaleOptions") + public AjaxResults>> pullEmissionScaleOptions() { + return AjaxResults.success(sRaEmissionsStandardService.pullEmissionScaleOptions()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStatisticsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStatisticsController.java new file mode 100644 index 0000000..d69b943 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaEmissionsStatisticsController.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.controller.analysis; +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStatistics; +import cn.cecep.talroad.domain.leader.vo.ProblemGroupCountVO; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.vo.analysis.FactoryTop10ProblemCountVO; +import cn.cecep.talroad.vo.query.analysis.SREStatisticsQuery; +import cn.cecep.talroad.service.analysis.SRaEmissionsStatisticsService; +import cn.cecep.talroad.vo.EChartsVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** +* (s_ra_emissions_statistics)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/sRaEmissionsStatistics") +@Api(tags = "异常行为统计分析",value = "异常行为统计分析") +public class SRaEmissionsStatisticsController extends BasesController { + /** + * 服务对象 + */ + @Resource + private SRaEmissionsStatisticsService sRaEmissionsStatisticsService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + /** + * 企业异常行为发生趋势 + * + * @param query 查询条件 + * @return 单条数据 + */ + @ApiOperation("企业异常行为发生趋势") + @GetMapping("selectChartDataTrend") + public AjaxResults selectChartDataTrend(SREStatisticsQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + query.setRegionCodes(r.getData()); + } + return sRaEmissionsStatisticsService.selectChartData(query); + } + + /** + * 企业异常行为TOP10 + * + * @param query 查询条件 + * @return 单条数据 + */ + @ApiOperation("企业异常行为TOP10") + @GetMapping("selectChartDataTop") + public AjaxResults> selectChartDataTop(SREStatisticsQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + query.setRegionCodes(r.getData()); + } + return AjaxResults.success(sRaEmissionsStatisticsService.selectChartDataTop(query)); + } + /** + * 企业异常行为TOP10 + * + * @param query 查询条件 + * @return 单条数据 + */ + @ApiOperation("行业异常行为排名" ) + @GetMapping("selectChartDataIndustry") + public AjaxResults selectChartDataIndustry(SREStatisticsQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + query.setRegionCodes(r.getData()); + } + return AjaxResults.success(sRaEmissionsStatisticsService.selectChartDataIndustry(query)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryRegulatoryIssuesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryRegulatoryIssuesController.java new file mode 100644 index 0000000..70712d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryRegulatoryIssuesController.java @@ -0,0 +1,118 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.exception.InvalidParameterException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaFactoryRegulatoryIssues; +import cn.cecep.talroad.service.analysis.ISRaFactoryRegulatoryIssuesService; +import cn.cecep.talroad.vo.analysis.SRaFactoryRegulatoryIssuesVo; +import cn.cecep.talroad.vo.query.analysis.SRaFactoryRegulatoryIssuesQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业证后监管问题总表Controller 控制层 + * + * @author szhpt + * @date 2023-03-28*/ +@Api(tags = "企业证后监管问题总表") +@RestController +@RequestMapping("/issuess") +public class SRaFactoryRegulatoryIssuesController extends BasesController +{ + @Autowired + private ISRaFactoryRegulatoryIssuesService sRaFactoryRegulatoryIssuessService; + + /** + * 查询企业证后监管问题总表列表 + */ + @ApiOperation(value = "查询企业证后监管问题总表") + @GetMapping("/list") + public AjaxResults> list(SRaFactoryRegulatoryIssuesQuery sRaFactoryRegulatoryIssuess) + { + Page page = new Page<>(sRaFactoryRegulatoryIssuess.getPageNum(), sRaFactoryRegulatoryIssuess.getPageSize()); + IPage list = sRaFactoryRegulatoryIssuessService.selectSRaFactoryRegulatoryIssuesPage(page, SRaFactoryRegulatoryIssuesQuery.createLambdaQueryWrapper(sRaFactoryRegulatoryIssuess)); + return AjaxResults.success(list); + } + + + /** + * 导出企业证后监管问题总表列表 + */ + @ApiOperation(value = "导出企业证后监管问题总表") + @Log(title = "企业证后监管问题总表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaFactoryRegulatoryIssuesQuery sRaFactoryRegulatoryIssuess) + { + List list = sRaFactoryRegulatoryIssuessService.selectSRaFactoryRegulatoryIssuesList(SRaFactoryRegulatoryIssuesQuery.createLambdaQueryWrapper(sRaFactoryRegulatoryIssuess)); + ExcelUtil util = new ExcelUtil<>(SRaFactoryRegulatoryIssues.class); + util.exportExcel(response, list, "企业证后监管问题总表数据"); + } + + /** + * 获取企业证后监管问题总表详细信息 + */ + @ApiOperation(value = "获取企业证后监管问题总表详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaFactoryRegulatoryIssuessService.getById(id)); + } + /** + * 新增企业证后监管问题总表 + */ + @ApiOperation(value = "新增企业证后监管问题总表") + @Log(title = "企业证后监管问题总表", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaFactoryRegulatoryIssues sRaFactoryRegulatoryIssuess) { + return toAjax(sRaFactoryRegulatoryIssuessService.save(sRaFactoryRegulatoryIssuess)); + } + /** + * 修改企业证后监管问题总表 + */ + @ApiOperation(value = "修改企业证后监管问题总表") + @Log(title = "企业证后监管问题总表", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaFactoryRegulatoryIssuesVo sRaFactoryRegulatoryIssuessVo) { + if(ObjectUtil.isEmpty(sRaFactoryRegulatoryIssuessVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaFactoryRegulatoryIssuessVo.getId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaFactoryRegulatoryIssues sRaFactoryRegulatoryIssuess = sRaFactoryRegulatoryIssuessService.getById(sRaFactoryRegulatoryIssuessVo.getId()); + if(ObjectUtil.isEmpty(sRaFactoryRegulatoryIssuess)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaFactoryRegulatoryIssuessVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaFactoryRegulatoryIssuessVo,sRaFactoryRegulatoryIssuess); + return toAjax(sRaFactoryRegulatoryIssuessService.saveOrUpdate(sRaFactoryRegulatoryIssuess)); + } + + /** + * 删除企业证后监管问题总表 + */ + @ApiOperation(value = "删除企业证后监管问题总表") + @RequiresPermissions("talroad:issuess:remove") + @Log(title = "企业证后监管问题总表", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaFactoryRegulatoryIssuessService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryTransferRateAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryTransferRateAnalysisController.java new file mode 100644 index 0000000..6aca270 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaFactoryTransferRateAnalysisController.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.service.analysis.ISRaFactoryTransferRateAnalysisService; +import cn.cecep.talroad.vo.analysis.SRaFactoryTransferRateAnalysisVo; +import cn.cecep.talroad.vo.query.analysis.SRaFactoryTransferRateAnalysisQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业传输率分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "企业传输率分析") +@RestController +@RequestMapping("/ent/analysis") +public class SRaFactoryTransferRateAnalysisController extends BasesController { + @Autowired + private ISRaFactoryTransferRateAnalysisService sRaFactoryTransferRateAnalysisService; + + /** + * 查询企业传输率分析列表 + */ + @ApiOperation(value = "查询企业传输率分析") + @GetMapping("/list") + public AjaxResults> list(SRaFactoryTransferRateAnalysisQuery sRaFactoryTransferRateAnalysis) { + Page page = new Page<>(sRaFactoryTransferRateAnalysis.getPageNum(), sRaFactoryTransferRateAnalysis.getPageSize()); + IPage list = + sRaFactoryTransferRateAnalysisService.page(page, + SRaFactoryTransferRateAnalysisQuery.createLambdaQueryWrapper(sRaFactoryTransferRateAnalysis)); + return AjaxResults.success(list); + } + + + /** + * 导出企业传输率分析列表 + */ + @ApiOperation(value = "导出企业传输率分析") + @Log(title = "企业传输率分析", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public void export(HttpServletResponse response,@RequestBody SRaFactoryTransferRateAnalysisQuery sRaFactoryTransferRateAnalysis) { + List list = + sRaFactoryTransferRateAnalysisService.list(SRaFactoryTransferRateAnalysisQuery.createLambdaQueryWrapper(sRaFactoryTransferRateAnalysis)); + ExcelUtil util = new ExcelUtil<>(SRaFactoryTransferRateAnalysis.class); + util.exportExcel(response, list, "企业传输率分析数据"); + } + + /** + * 获取企业传输率分析详细信息 + */ + @ApiOperation(value = "获取企业传输率分析详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaFactoryTransferRateAnalysisService.getById(id)); + } + + /** + * 新增企业传输率分析 + */ + @ApiOperation(value = "新增企业传输率分析") + @Log(title = "企业传输率分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaFactoryTransferRateAnalysis sRaFactoryTransferRateAnalysis) { + return toAjax(sRaFactoryTransferRateAnalysisService.save(sRaFactoryTransferRateAnalysis)); + } + + /** + * 修改企业传输率分析 + */ + @ApiOperation(value = "修改企业传输率分析") + @Log(title = "企业传输率分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaFactoryTransferRateAnalysisVo sRaFactoryTransferRateAnalysisVo) { + if (ObjectUtil.isEmpty(sRaFactoryTransferRateAnalysisVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaFactoryTransferRateAnalysisVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaFactoryTransferRateAnalysis sRaFactoryTransferRateAnalysis = sRaFactoryTransferRateAnalysisService.getById(sRaFactoryTransferRateAnalysisVo.getId()); + if (ObjectUtil.isEmpty(sRaFactoryTransferRateAnalysis)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaFactoryTransferRateAnalysisVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaFactoryTransferRateAnalysisVo, sRaFactoryTransferRateAnalysis); + return toAjax(sRaFactoryTransferRateAnalysisService.saveOrUpdate(sRaFactoryTransferRateAnalysis)); + } + + /** + * 删除企业传输率分析 + */ + @ApiOperation(value = "删除企业传输率分析") + @RequiresPermissions("talroad:analysis:remove") + @Log(title = "企业传输率分析", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaFactoryTransferRateAnalysisService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasFlagController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasFlagController.java new file mode 100644 index 0000000..a9b7d8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasFlagController.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.analysis.ISRaGasFlagService; +import cn.cecep.talroad.vo.analysis.SRaGasFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasFlagQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +@Api(tags = "废气在线监测标记汇总") +@RestController +@RequestMapping("/sraGasFlag") +public class SRaGasFlagController extends BasesController { + @Autowired + private ISRaGasFlagService gasFlagService; + + @ApiOperation(value = "废气在线监测标记汇总") + @GetMapping("/list") + public AjaxResults> list(SRaGasFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = gasFlagService.getGasFlagList(page, query); + page.setRecords(list); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出废气在线监测标记汇总") + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaGasFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = gasFlagService.getGasFlagList(page, query); + ExcelUtil util = new ExcelUtil<>(SRaGasFlagVo.Row.class); + util.exportExcel(response, list, "废气在线监测标记汇总数据"); + } + + @ApiOperation(value = "废气在线监测标记明细") + @GetMapping("/detail/list") + public AjaxResults> detailList(SRaGasFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = gasFlagService.getGasFlagDetailList(page, query); + page.setRecords(list); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出废气在线监测标记明细") + @PostMapping("/detail/export") + public void detailExport(HttpServletResponse response, @RequestBody SRaGasFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = gasFlagService.getGasFlagDetailList(page, query); + ExcelUtil util = new ExcelUtil<>(SRaGasFlagVo.DetailRow.class); + util.exportExcel(response, list, "废气在线监测标记明细数据"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedEmissionsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedEmissionsController.java new file mode 100644 index 0000000..ce3ac10 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedEmissionsController.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.cecep.talroad.service.analysis.ISRaGasPermittedEmissionsService; +import cn.cecep.talroad.vo.analysis.SRaGasPermittedEmissionsVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedEmissionsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 许可排放量废气明细Controller 控制层 + * + * @author szhpt + * @date 2023-06-02*/ +@Api(tags = "许可排放量废气明细") +@RestController +@RequestMapping("/emissions/gas") +public class SRaGasPermittedEmissionsController extends BasesController +{ + @Autowired + private ISRaGasPermittedEmissionsService sRaGasPermittedEmissionsService; + + /** + * 查询许可排放量废气明细列表 + */ + @ApiOperation(value = "查询许可排放量废气明细") + @GetMapping("/list") + public AjaxResults> list(SRaGasPermittedEmissionsQuery sRaGasPermittedEmissions) + { + IPage list = sRaGasPermittedEmissionsService.selectSRaGasPermittedEmissionsListBy( sRaGasPermittedEmissions); + return AjaxResults.success(list); + } + + + /** + * 导出许可排放量废气明细列表 + */ + @ApiOperation(value = "导出许可排放量废气明细") + @Log(title = "许可排放量废气明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaGasPermittedEmissionsQuery sRaGasPermittedEmissions) + { + List list = sRaGasPermittedEmissionsService.selectSRaGasPermittedEmissionsList(sRaGasPermittedEmissions); + ExcelUtil util = new ExcelUtil(SRaGasPermittedEmissions.class); + util.exportExcel(response, list, "许可排放量废气明细数据"); + } + + /** + * 获取许可排放量废气明细详细信息 + */ + @ApiOperation(value = "获取许可排放量废气明细详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaGasPermittedEmissionsService.getById(id)); + } + /** + * 新增许可排放量废气明细 + */ + @ApiOperation(value = "新增许可排放量废气明细") + @Log(title = "许可排放量废气明细", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaGasPermittedEmissions sRaGasPermittedEmissions) { + return toAjax(sRaGasPermittedEmissionsService.save(sRaGasPermittedEmissions)); + } + /** + * 修改许可排放量废气明细 + */ + @ApiOperation(value = "修改许可排放量废气明细") + @Log(title = "许可排放量废气明细", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaGasPermittedEmissionsVo sRaGasPermittedEmissionsVo) { + if(ObjectUtil.isEmpty(sRaGasPermittedEmissionsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaGasPermittedEmissionsVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaGasPermittedEmissions sRaGasPermittedEmissions = sRaGasPermittedEmissionsService.getById(sRaGasPermittedEmissionsVo.getDataId()); + if(ObjectUtil.isEmpty(sRaGasPermittedEmissions)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaGasPermittedEmissionsVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaGasPermittedEmissionsVo,sRaGasPermittedEmissions); + return toAjax(sRaGasPermittedEmissionsService.saveOrUpdate(sRaGasPermittedEmissions)); + } + + /** + * 删除许可排放量废气明细 + */ + @ApiOperation(value = "删除许可排放量废气明细") + @RequiresPermissions("talroad:emissions:remove") + @Log(title = "许可排放量废气明细", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaGasPermittedEmissionsService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 监测点名称options + */ + @ApiOperation(value = "监测点名称options") + @GetMapping("/pullMonitorNameOptions") + public AjaxResults>> pullMonitorNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaGasPermittedEmissionsService.pullMonitorNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedOnlineController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedOnlineController.java new file mode 100644 index 0000000..5d8280c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaGasPermittedOnlineController.java @@ -0,0 +1,194 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaGasPermittedOnlineService; +import cn.cecep.talroad.vo.analysis.SRaGasPermittedOnlineVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedOnlineQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; + +import org.checkerframework.checker.guieffect.qual.UI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 在线排放量废气明细Controller 控制层 + * + * @author szhpt + * @date 2023-06-02*/ +@Api(tags = "在线排放量废气明细") +@RestController +@RequestMapping("/permitted/gas") +public class SRaGasPermittedOnlineController extends BasesController +{ + @Autowired + private ISRaGasPermittedOnlineService sRaGasPermittedOnlineService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询在线排放量废气明细列表 + */ + @ApiOperation(value = "查询在线、许可排放量废气明细") + @GetMapping("/list") + public AjaxResults> list(SRaWaterPermittedOnlineQuery sRaGasPermittedOnline) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaGasPermittedOnline.setRegionCodes(regionCodes); + IPage list = sRaGasPermittedOnlineService.selectSRaGasPermittedOnlineListBy(sRaGasPermittedOnline); + return AjaxResults.success(list); + } + + + /** + * 导出在线排放量废气明细列表 + */ + @ApiOperation(value = "导出在线、许可排放量废气明细",produces = "application/octet-stream") + @Log(title = "在线排放量废气明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaWaterPermittedOnlineQuery sRaGasPermittedOnline) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaGasPermittedOnline.setRegionCodes(regionCodes); + List list = sRaGasPermittedOnlineService.selectSRaGasPermittedOnlineList(sRaGasPermittedOnline); + ExcelUtil util = new ExcelUtil(SRaWaterPermittedOnline.class); + if(sRaGasPermittedOnline.getType().equals("1")){ + if(StringUtils.isNotEmpty(sRaGasPermittedOnline.getHideIndex())){ + if(sRaGasPermittedOnline.getHideIndex().equals("nox")){ + util.hideColumnNative(1,2,6,7,8,9,10,12,13,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("so2")){ + util.hideColumnNative(1,2,6,7,8,9,10,11,13,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("pm")){ + util.hideColumnNative(1,2,6,7,8,9,10,11,12,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("vocs")){ + util.hideColumnNative(1,2,6,7,8,9,10,11,12,13); + } + }else { + util.hideColumnNative(6,7,8,9,10); + } + util.exportExcel(response, list, "在线排放量废气明细数据"); + }else { + if(StringUtils.isNotEmpty(sRaGasPermittedOnline.getHideIndex())){ + if(sRaGasPermittedOnline.getHideIndex().equals("nox")){ + util.hideColumnNative(1,2,7,8,9,10,12,13,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("so2")){ + util.hideColumnNative(1,2,7,8,9,10,11,13,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("pm")){ + util.hideColumnNative(1,2,7,8,9,10,11,12,14); + } + if(sRaGasPermittedOnline.getHideIndex().equals("vocs")){ + util.hideColumnNative(1,2,7,8,9,10,11,12,13); + } + }else { + util.hideColumnNative(7,8,9,10); + } + util.exportExcel(response, list, "许可排放量废气明细数据"); + } + } + + /** + * 获取在线排放量废气明细详细信息 + */ + @ApiOperation(value = "获取在线排放量废气明细详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaGasPermittedOnlineService.getById(id)); + } + /** + * 新增在线排放量废气明细 + */ + @ApiOperation(value = "新增在线排放量废气明细") + @Log(title = "在线排放量废气明细", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaGasPermittedOnline sRaGasPermittedOnline) { + return toAjax(sRaGasPermittedOnlineService.save(sRaGasPermittedOnline)); + } + /** + * 修改在线排放量废气明细 + */ + @ApiOperation(value = "修改在线排放量废气明细") + @Log(title = "在线排放量废气明细", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaGasPermittedOnlineVo sRaGasPermittedOnlineVo) { + if(ObjectUtil.isEmpty(sRaGasPermittedOnlineVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaGasPermittedOnlineVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaGasPermittedOnline sRaGasPermittedOnline = sRaGasPermittedOnlineService.getById(sRaGasPermittedOnlineVo.getDataId()); + if(ObjectUtil.isEmpty(sRaGasPermittedOnline)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaGasPermittedOnlineVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaGasPermittedOnlineVo,sRaGasPermittedOnline); + return toAjax(sRaGasPermittedOnlineService.saveOrUpdate(sRaGasPermittedOnline)); + } + + /** + * 删除在线排放量废气明细 + */ + @ApiOperation(value = "删除在线排放量废气明细") + @RequiresPermissions("talroad:online:remove") + @Log(title = "在线排放量废气明细", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaGasPermittedOnlineService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 监测点名称options + */ + @ApiOperation(value = "监测点名称options") + @GetMapping("/pullMonitorNameOptions") + public AjaxResults>> pullMonitorNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaGasPermittedOnlineService.pullMonitorNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsGasController.java new file mode 100644 index 0000000..7d5aa8e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsGasController.java @@ -0,0 +1,185 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.service.analysis.ISRaHandworkEmissionsGasService; +import cn.cecep.talroad.service.analysis.ISRaHandworkEmissionsWaterService; +import cn.cecep.talroad.vo.analysis.SRaHandworkEmissionsGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsGasQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 手工监测排放监控-气污染要素Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "A手工监测排放监控-气污染要素") +@RestController +@RequestMapping("/gas") +public class SRaHandworkEmissionsGasController extends BasesController { + @Autowired + private ISRaHandworkEmissionsGasService sRaHandworkEmissionsGasService; + @Autowired + private ISRaHandworkEmissionsWaterService sRaHandworkEmissionsWaterService; + /** + * 查询手工监测排放监控-气污染要素列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaHandworkEmissionsGasQuery sRaHandworkEmissionsGas) { +// Calendar c = Calendar.getInstance(); +// Date date = new Date(); +// c.setTime(date); +// c.add(Calendar.DATE, - 1); +// Date toDate = c.getTime(); +// if(StringUtils.isEmpty(sRaHandworkEmissionsGas.getMonitorTimeStart()) || StringUtils.isEmpty(sRaHandworkEmissionsGas.getMonitorTimeEnd())){ +// sRaHandworkEmissionsGas.setMonitorTimeStart(DateUtil.format(toDate, DatePattern.NORM_DATETIME_PATTERN)); +// sRaHandworkEmissionsGas.setMonitorTimeEnd(DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN)); +// } +// if(StringUtils.isEmpty(sRaHandworkEmissionsGas.getCheckCycleStart()) || StringUtils.isEmpty(sRaHandworkEmissionsGas.getCheckCycleEnd())){ +// sRaHandworkEmissionsGas.setCheckCycleStart(DateUtil.format(toDate, DatePattern.NORM_DATETIME_PATTERN)); +// sRaHandworkEmissionsGas.setCheckCycleEnd(DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN)); +// } + Page page = new Page<>(sRaHandworkEmissionsGas.getPageNum(), sRaHandworkEmissionsGas.getPageSize()); + IPage list = sRaHandworkEmissionsGasService.page(page, SRaHandworkEmissionsGasQuery.createLambdaQueryWrapper(sRaHandworkEmissionsGas)); + if(!CollectionUtils.isEmpty(list.getRecords())){ + list.getRecords().stream().forEach(item->{ + if(item.getCheckCycleStart() != null && item.getCheckCycleEnd() != null){ + item.setCheckTime(DateUtil.format(item.getCheckCycleStart(), DatePattern.NORM_DATE_PATTERN) + "-" + DateUtil.format(item.getCheckCycleEnd(), DatePattern.NORM_DATE_PATTERN)); + } + }); + } + return AjaxResults.success(list); + } + + + /** + * 导出手工监测排放监控-气污染要素列表 + */ + @ApiOperation(value = "导出") + @Log(title = "手工监测排放监控-气污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaHandworkEmissionsGasQuery sRaHandworkEmissionsGas) { + List list = sRaHandworkEmissionsGasService.selectSRaHandworkEmissionsGasList(sRaHandworkEmissionsGas); + if(!CollectionUtils.isEmpty(list)){ + list.stream().forEach(item->{ + if(item.getCheckCycleStart() != null && item.getCheckCycleEnd() != null){ + item.setCheckTime(DateUtil.format(item.getCheckCycleStart(), DatePattern.NORM_DATE_PATTERN) + "-" + DateUtil.format(item.getCheckCycleEnd(), DatePattern.NORM_DATE_PATTERN)); + } + }); + } + ExcelUtil util = new ExcelUtil(SRaHandworkEmissionsGas.class); + util.exportExcel(response, list, "手工监测排放监控-气污染要素数据"); + } + + /** + * 获取手工监测排放监控-气污染要素详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(sRaHandworkEmissionsGasService.getById(id)); + } + + /** + * 新增手工监测排放监控-气污染要素 + */ + @ApiOperation(value = "新增") + @Log(title = "手工监测排放监控-气污染要素", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaHandworkEmissionsGas sRaHandworkEmissionsGas) { + return toAjax(sRaHandworkEmissionsGasService.save(sRaHandworkEmissionsGas)); + } + + /** + * 修改手工监测排放监控-气污染要素 + */ + @ApiOperation(value = "修改") + @Log(title = "手工监测排放监控-气污染要素", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaHandworkEmissionsGasVo sRaHandworkEmissionsGasVo) { + if (ObjectUtil.isEmpty(sRaHandworkEmissionsGasVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaHandworkEmissionsGasVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaHandworkEmissionsGas sRaHandworkEmissionsGas = sRaHandworkEmissionsGasService.getById(sRaHandworkEmissionsGasVo.getId()); + if (ObjectUtil.isEmpty(sRaHandworkEmissionsGas)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaHandworkEmissionsGasVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaHandworkEmissionsGasVo, sRaHandworkEmissionsGas); + return toAjax(sRaHandworkEmissionsGasService.saveOrUpdate(sRaHandworkEmissionsGas)); + } + + /** + * 删除手工监测排放监控-气污染要素 + */ + @ApiOperation(value = "删除") + @RequiresPermissions("talroad:gas:remove") + @Log(title = "手工监测排放监控-气污染要素", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaHandworkEmissionsGasService.removeByIds(Arrays.asList(ids))); + } + + /** + * 监测点位名称options + */ + @ApiOperation(value = "监测点位名称options") + @GetMapping("/pullPointOptions") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + }) + public AjaxResults>> pullPointOptions(@RequestParam(value = "pollutantType") String pollutantType) { + if(pollutantType.equals("1")){ + return AjaxResults.success(sRaHandworkEmissionsGasService.pullPointOptions()); + }else { + return AjaxResults.success(sRaHandworkEmissionsWaterService.pullPointOptions()); + } + } + + /** + * 污染物名称options + */ + @ApiOperation(value = "污染物名称options") + @GetMapping("/pullPollutantOptions") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pollutantType", value = "污染物类型 (废气有组织排口:1|废水排口:2)", required = true, paramType = "query", dataType = "String"), + }) + public AjaxResults>> pullPollutantOptions(@RequestParam(value = "pollutantType") String pollutantType) { + if(pollutantType.equals("1")){ + return AjaxResults.success(sRaHandworkEmissionsGasService.pullPollutantOptions()); + }else { + return AjaxResults.success(sRaHandworkEmissionsWaterService.pullPollutantOptions()); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsWaterController.java new file mode 100644 index 0000000..c2b7112 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaHandworkEmissionsWaterController.java @@ -0,0 +1,167 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import cn.cecep.talroad.service.analysis.ISRaHandworkEmissionsWaterService; +import cn.cecep.talroad.vo.analysis.SRaHandworkEmissionsWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.*; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 手工监测排放监控-水污染要素Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "A手工监测排放监控-水污染要素") +@RestController +@RequestMapping("/water") +public class SRaHandworkEmissionsWaterController extends BasesController { + @Autowired + private ISRaHandworkEmissionsWaterService sRaHandworkEmissionsWaterService; + + /** + * 查询手工监测排放监控-水污染要素列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaHandworkEmissionsWaterQuery sRaHandworkEmissionsWater) { +// Calendar c = Calendar.getInstance(); +// Date date = new Date(); +// c.setTime(date); +// c.add(Calendar.DATE, - 1); +// Date toDate = c.getTime(); +// if(StringUtils.isEmpty(sRaHandworkEmissionsWater.getMonitorTimeStart()) || StringUtils.isEmpty(sRaHandworkEmissionsWater.getMonitorTimeEnd())){ +// sRaHandworkEmissionsWater.setMonitorTimeStart(DateUtil.format(toDate, DatePattern.NORM_DATETIME_PATTERN)); +// sRaHandworkEmissionsWater.setMonitorTimeEnd(DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN)); +// } +// if(StringUtils.isEmpty(sRaHandworkEmissionsWater.getCheckCycleStart()) || StringUtils.isEmpty(sRaHandworkEmissionsWater.getCheckCycleEnd())){ +// sRaHandworkEmissionsWater.setCheckCycleStart(DateUtil.format(toDate, DatePattern.NORM_DATETIME_PATTERN)); +// sRaHandworkEmissionsWater.setCheckCycleEnd(DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN)); +// } + Page page = new Page<>(sRaHandworkEmissionsWater.getPageNum(), sRaHandworkEmissionsWater.getPageSize()); + IPage list = sRaHandworkEmissionsWaterService.page(page, SRaHandworkEmissionsWaterQuery.createLambdaQueryWrapper(sRaHandworkEmissionsWater)); + if(!CollectionUtils.isEmpty(list.getRecords())){ + list.getRecords().stream().forEach(item->{ + if(item.getCheckCycleStart() != null && item.getCheckCycleEnd() != null){ + item.setCheckTime(DateUtil.format(item.getCheckCycleStart(), DatePattern.NORM_DATE_PATTERN) + "-" + DateUtil.format(item.getCheckCycleEnd(), DatePattern.NORM_DATE_PATTERN)); + } + }); + } + return AjaxResults.success(list); + } + + + /** + * 导出手工监测排放监控-水污染要素列表 + */ + @ApiOperation(value = "导出") + @Log(title = "手工监测排放监控-水污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaHandworkEmissionsWaterQuery sRaHandworkEmissionsWater) { + List list = sRaHandworkEmissionsWaterService.selectSRaHandworkEmissionsWaterList(sRaHandworkEmissionsWater); + if(!CollectionUtils.isEmpty(list)){ + list.stream().forEach(item->{ + if(item.getCheckCycleStart() != null && item.getCheckCycleEnd() != null){ + item.setCheckTime(DateUtil.format(item.getCheckCycleStart(), DatePattern.NORM_DATE_PATTERN) + "-" + DateUtil.format(item.getCheckCycleEnd(), DatePattern.NORM_DATE_PATTERN)); + } + }); + } + ExcelUtil util = new ExcelUtil(SRaHandworkEmissionsWater.class); + util.exportExcel(response, list, "手工监测排放监控-水污染要素数据"); + } + + /** + * 获取手工监测排放监控-水污染要素详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(sRaHandworkEmissionsWaterService.getById(id)); + } + + /** + * 新增手工监测排放监控-水污染要素 + */ + @ApiOperation(value = "新增") + @Log(title = "手工监测排放监控-水污染要素", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaHandworkEmissionsWater sRaHandworkEmissionsWater) { + return toAjax(sRaHandworkEmissionsWaterService.save(sRaHandworkEmissionsWater)); + } + + /** + * 修改手工监测排放监控-水污染要素 + */ + @ApiOperation(value = "修改") + @Log(title = "手工监测排放监控-水污染要素", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaHandworkEmissionsWaterVo sRaHandworkEmissionsWaterVo) { + if (ObjectUtil.isEmpty(sRaHandworkEmissionsWaterVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaHandworkEmissionsWaterVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaHandworkEmissionsWater sRaHandworkEmissionsWater = sRaHandworkEmissionsWaterService.getById(sRaHandworkEmissionsWaterVo.getId()); + if (ObjectUtil.isEmpty(sRaHandworkEmissionsWater)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaHandworkEmissionsWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaHandworkEmissionsWaterVo, sRaHandworkEmissionsWater); + return toAjax(sRaHandworkEmissionsWaterService.saveOrUpdate(sRaHandworkEmissionsWater)); + } + + /** + * 删除手工监测排放监控-水污染要素 + */ + @ApiOperation(value = "删除") + @RequiresPermissions("talroad:water:remove") + @Log(title = "手工监测排放监控-水污染要素", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaHandworkEmissionsWaterService.removeByIds(Arrays.asList(ids))); + } + + /** + * 监测点位名称options + */ + @ApiOperation(value = "监测点位名称options") + @GetMapping("/pullPointOptions") + public AjaxResults>> pullPointOptions() { + return AjaxResults.success(sRaHandworkEmissionsWaterService.pullPointOptions()); + } + + /** + * 污染物名称options + */ + @ApiOperation(value = "污染物名称options") + @GetMapping("/pullPollutantOptions") + public AjaxResults>> pullPollutantOptions() { + return AjaxResults.success(sRaHandworkEmissionsWaterService.pullPollutantOptions()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringGasController.java new file mode 100644 index 0000000..fd07052 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringGasController.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringGas; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringGasService; +import cn.cecep.talroad.vo.query.analysis.SRaLowMonitoringQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* (s_ra_low_monitoring_gas)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/lowMonitoringGas") +@Api(tags = "执法监测数据查询-废气数据查询",value = "废气数据查询") +public class SRaLowMonitoringGasController { + /** + * 服务对象 + */ + @Resource + private SRaLowMonitoringGasService service; + + /** + * 查询列表 + */ + @ApiOperation("查询废气数据列表") + @GetMapping("/list") + public IPage list(SRaLowMonitoringQuery param){ + Page page = new Page<>(param.getPageNum(),param.getPageSize()); + return service.page(page,SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringGas.class)); + } + /** + * 查询列表 + */ + @ApiOperation("导出废气数据") + @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response,@RequestBody SRaLowMonitoringQuery param){ + List list = service.list(SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringGas.class)); + ExcelUtil util = new ExcelUtil<>(SRaLowMonitoringGas.class); + util.exportExcel(response, list, "导出废气数据"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringOtherController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringOtherController.java new file mode 100644 index 0000000..7860da9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringOtherController.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringOther; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringOtherService; +import cn.cecep.talroad.vo.query.analysis.SRaLowMonitoringQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* (s_ra_low_monitoring_other)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/lowMonitoringOther") +@Api(tags = "执法监测数据查询-其他数据查询",value = "其他数据查询") +public class SRaLowMonitoringOtherController { + /** + * 服务对象 + */ + @Resource + private SRaLowMonitoringOtherService service; + /** + * 查询列表 + */ + @ApiOperation("查询其他数据列表") + @GetMapping("/list") + public IPage list(SRaLowMonitoringQuery param){ + Page page = new Page<>(param.getPageNum(),param.getPageSize()); + return service.page(page,SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringOther.class)); + } + /** + * 查询列表 + */ + @ApiOperation("导出其他数据") + @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaLowMonitoringQuery param){ + List list = service.list(SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringOther.class)); + ExcelUtil util = new ExcelUtil<>(SRaLowMonitoringOther.class); + util.exportExcel(response, list, "导出其他数据"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringWaterController.java new file mode 100644 index 0000000..f5b5c6a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaLowMonitoringWaterController.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringWater; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringWaterService; +import cn.cecep.talroad.vo.query.analysis.SRaLowMonitoringQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* (s_ra_low_monitoring_water)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/lowMonitoringWater") +@Api(tags = "执法监测数据查询-废水数据查询",value = "废水数据查询") +public class SRaLowMonitoringWaterController { + /** + * 服务对象 + */ + @Resource + private SRaLowMonitoringWaterService service; + + /** + * 查询列表 + */ + @ApiOperation("查询废水数据列表") + @GetMapping("/list") + public IPage list(SRaLowMonitoringQuery param){ + Page page = new Page<>(param.getPageNum(),param.getPageSize()); + return service.page(page,SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringWater.class)); + } + /** + * 查询列表 + */ + @ApiOperation("导出废水数据") + @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaLowMonitoringQuery param){ + List list = service.list(SRaLowMonitoringQuery.createGasWrapper(param,SRaLowMonitoringWater.class)); + ExcelUtil util = new ExcelUtil<>(SRaLowMonitoringWater.class); + util.exportExcel(response, list, "导出废水数据"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaMultiSourceController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaMultiSourceController.java new file mode 100644 index 0000000..d80f6e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaMultiSourceController.java @@ -0,0 +1,252 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.*; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaMultiSourceService; +import cn.cecep.talroad.vo.analysis.SRaMultiSourceVo; +import cn.cecep.talroad.vo.query.analysis.SRaMultiSourceQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 多源排放量汇总Controller 控制层 + * + * @author szhpt + * @date 2023-06-03*/ +@Api(tags = "多源排放量汇总") +@RestController +@RequestMapping("/source") +public class SRaMultiSourceController extends BasesController +{ + @Autowired + private ISRaMultiSourceService sRaMultiSourceService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询多源排放量汇总列表 + */ + @ApiOperation(value = "查询多源排放量汇总") + @GetMapping("/list") + public AjaxResults> list(SRaWaterPermittedOnlineQuery sRaMultiSource) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaMultiSource.setRegionCodes(regionCodes); + IPage list = sRaMultiSourceService.selectSRaMultiSourceListBy(sRaMultiSource); + return AjaxResults.success(list); + } + + /** + * 导出多源排放量汇总列表 + */ + @ApiOperation(value = "导出多源排放量汇总",produces = "application/octet-stream") + @Log(title = "多源排放量汇总", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaWaterPermittedOnlineQuery sRaMultiSource) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaMultiSource.setRegionCodes(regionCodes); + List list = sRaMultiSourceService.selectSRaMultiSourceList(sRaMultiSource); + List sRaSourcePermittedOnlines=list.stream().map(o -> { + SRaSourcePermittedOnline vo = new SRaSourcePermittedOnline(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaSourcePermittedOnline.class); + if(sRaMultiSource.getPollutantOutletType().equals("1")){ + util.hideColumnNative(3,4,5,6,7,8,9,10); + util.exportExcel(response, sRaSourcePermittedOnlines, "多源废气排放量汇总数据"); + }else { + util.hideColumnNative(11,12,13,14,15,16,17,18); + util.exportExcel(response, sRaSourcePermittedOnlines, "多源废水排放量汇总数据"); + } + } + /** + * 查询多源排放量汇总详情 + */ + @ApiOperation(value = "查询多源排放量汇总详情") + @GetMapping("/listDetails") + public AjaxResults> listDetails(SRaMultiSourceQuery sRaMultiSource) + { + IPage list = sRaMultiSourceService.selectSRaMultiSourceListDetailsBy(sRaMultiSource); + return AjaxResults.success(list); + } + /** + * 导出多源排放量汇总详情 + */ + @ApiOperation(value = "导出多源排放量汇总详情") + @Log(title = "多源排放量汇总详情", businessType = BusinessType.EXPORT) + @PostMapping("/exportDetails") + public void exportDetails(HttpServletResponse response, @RequestBody SRaMultiSourceQuery sRaMultiSource) + { + if(StringUtils.isBlank(sRaMultiSource.getSourceType())){ + throw new InvalidParameterException("多源数据类型参数为空"); + } + if(StringUtils.isBlank(sRaMultiSource.getPollutantsName())){ + throw new InvalidParameterException("污染物名称参数为空"); + } + if(sRaMultiSource.getSourceType().equals("1")){ + List list = sRaMultiSourceService.selectSRaMultiSourceListDetails(sRaMultiSource); + List factoryCoalList=list.stream().map(o -> { + SRaMultiSource.SRaMultiSourcePermission vo = new SRaMultiSource.SRaMultiSourcePermission(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + Class clazz =configClass(SRaMultiSource.SRaMultiSourcePermission.class, sRaMultiSource.getPollutantsName()+"排放量(kg)","permission"); + ExcelUtil util = new ExcelUtil(clazz); + util.exportExcel(response, factoryCoalList, "许可排放量详情"); + }else { + List list = sRaMultiSourceService.selectSRaMultiSourceListDetails(sRaMultiSource); + List factoryCoalList=list.stream().map(o -> { + SRaMultiSource.SRaMultiSourceOnline vo = new SRaMultiSource.SRaMultiSourceOnline(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + Class clazz =configClass(SRaMultiSource.SRaMultiSourceOnline.class, sRaMultiSource.getPollutantsName()+"排放量(kg)","online"); + ExcelUtil util = new ExcelUtil(clazz); + util.exportExcel(response, factoryCoalList, "在线排放量详情"); + } + + } + + /** + * 注解之运行时修改字段的注解值操作 + * @param clazz + * @param val + * @return + */ + private Class configClass(Class clazz , String val,String filed) { + + Field[] fields = clazz.getDeclaredFields(); + try { + for(int i = 0;i < fields.length;i++){ + Field f = fields[i]; + if(f.getName().equals(filed)){ + Excel excelAn = f.getAnnotation(Excel.class);//Excel是注解类型 + if(excelAn == null){ + continue; + } + InvocationHandler h = Proxy.getInvocationHandler(excelAn); + Field hField = h.getClass().getDeclaredField("memberValues"); + // 因为这个字段事 private final 修饰,所以要打开权限 + hField.setAccessible(true); + // 获取 memberValues + Map memberValues = (Map) hField.get(h); + // 修改 value 属性值 这里修改的是@Excel(name = "姓名") + //name是key + memberValues.put("name", val); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return clazz; + } + /** + * 获取多源排放量汇总详细信息 + */ + @ApiOperation(value = "获取多源排放量汇总详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaMultiSourceService.getById(id)); + } + /** + * 新增多源排放量汇总 + */ + @ApiOperation(value = "新增多源排放量汇总") + @Log(title = "多源排放量汇总", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaMultiSource sRaMultiSource) { + return toAjax(sRaMultiSourceService.save(sRaMultiSource)); + } + /** + * 修改多源排放量汇总 + */ + @ApiOperation(value = "修改多源排放量汇总") + @Log(title = "多源排放量汇总", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaMultiSourceVo sRaMultiSourceVo) { + if(ObjectUtil.isEmpty(sRaMultiSourceVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaMultiSourceVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaMultiSource sRaMultiSource = sRaMultiSourceService.getById(sRaMultiSourceVo.getDataId()); + if(ObjectUtil.isEmpty(sRaMultiSource)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaMultiSourceVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaMultiSourceVo,sRaMultiSource); + return toAjax(sRaMultiSourceService.saveOrUpdate(sRaMultiSource)); + } + + /** + * 删除多源排放量汇总 + */ + @ApiOperation(value = "删除多源排放量汇总") + @RequiresPermissions("talroad:source:remove") + @Log(title = "多源排放量汇总", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaMultiSourceService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 获取废气废水类型 + */ + @ApiOperation(value = "获取废气废水类型") + @GetMapping("/getPollType") + public AjaxResults getPollType(SRaMultiSourceQuery lambdaQueryWrapper) { + return AjaxResults.success(sRaMultiSourceService.pullMonitorNameOptions(lambdaQueryWrapper)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsGasController.java new file mode 100644 index 0000000..0e871e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsGasController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsGasService; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsGasQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 在线监测排放监控-气污染要素Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "在线监测排放监控-气污染要素") +@RestController +@RequestMapping("/online/gas") +public class SRaOnlineEmissionsGasController extends BasesController { + @Autowired + private ISRaOnlineEmissionsGasService sRaOnlineEmissionsGasService; + + /** + * 查询在线监测排放监控-气污染要素列表 + */ + @ApiOperation(value = "查询在线监测排放监控-气污染要素") + @GetMapping("/list") + public AjaxResults> list(SRaOnlineEmissionsGasQuery sRaOnlineEmissionsGas) { + Page page = new Page<>(sRaOnlineEmissionsGas.getPageNum(), sRaOnlineEmissionsGas.getPageSize()); + IPage list = sRaOnlineEmissionsGasService.page(page, SRaOnlineEmissionsGasQuery.createLambdaQueryWrapper(sRaOnlineEmissionsGas)); + return AjaxResults.success(list); + } + + + /** + * 导出在线监测排放监控-气污染要素列表 + */ + @ApiOperation(value = "导出在线监测排放监控-气污染要素") + @Log(title = "在线监测排放监控-气污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaOnlineEmissionsGas sRaOnlineEmissionsGas) { + List list = sRaOnlineEmissionsGasService.selectSRaOnlineEmissionsGasList(sRaOnlineEmissionsGas); + ExcelUtil util = new ExcelUtil(SRaOnlineEmissionsGas.class); + util.exportExcel(response, list, "在线监测排放监控-气污染要素数据"); + } + + /** + * 获取在线监测排放监控-气污染要素详细信息 + */ + @ApiOperation(value = "获取在线监测排放监控-气污染要素详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaOnlineEmissionsGasService.getById(id)); + } + + /** + * 新增在线监测排放监控-气污染要素 + */ + @ApiOperation(value = "新增在线监测排放监控-气污染要素") + @Log(title = "在线监测排放监控-气污染要素", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaOnlineEmissionsGas sRaOnlineEmissionsGas) { + return toAjax(sRaOnlineEmissionsGasService.save(sRaOnlineEmissionsGas)); + } + + /** + * 修改在线监测排放监控-气污染要素 + */ + @ApiOperation(value = "修改在线监测排放监控-气污染要素") + @Log(title = "在线监测排放监控-气污染要素", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaOnlineEmissionsGasVo sRaOnlineEmissionsGasVo) { + if (ObjectUtil.isEmpty(sRaOnlineEmissionsGasVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaOnlineEmissionsGasVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaOnlineEmissionsGas sRaOnlineEmissionsGas = sRaOnlineEmissionsGasService.getById(sRaOnlineEmissionsGasVo.getId()); + if (ObjectUtil.isEmpty(sRaOnlineEmissionsGas)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaOnlineEmissionsGasVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaOnlineEmissionsGasVo, sRaOnlineEmissionsGas); + return toAjax(sRaOnlineEmissionsGasService.saveOrUpdate(sRaOnlineEmissionsGas)); + } + + /** + * 删除在线监测排放监控-气污染要素 + */ + @ApiOperation(value = "删除在线监测排放监控-气污染要素") + @RequiresPermissions("talroad:gas:remove") + @Log(title = "在线监测排放监控-气污染要素", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaOnlineEmissionsGasService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsWaterController.java new file mode 100644 index 0000000..9d422cc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOnlineEmissionsWaterController.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsWaterService; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsWaterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 在线监测排放监控-水污染要素Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "在线监测排放监控-水污染要素") +@RestController +@RequestMapping("/online/water") +public class SRaOnlineEmissionsWaterController extends BasesController { + @Autowired + private ISRaOnlineEmissionsWaterService sRaOnlineEmissionsWaterService; + + /** + * 查询在线监测排放监控-水污染要素列表 + */ + @ApiOperation(value = "查询在线监测排放监控-水污染要素") + @GetMapping("/list") + public AjaxResults> list(SRaOnlineEmissionsWaterQuery sRaOnlineEmissionsWater) { + Page page = new Page<>(sRaOnlineEmissionsWater.getPageNum(), sRaOnlineEmissionsWater.getPageSize()); + IPage list = sRaOnlineEmissionsWaterService.page(page, SRaOnlineEmissionsWaterQuery.createLambdaQueryWrapper(sRaOnlineEmissionsWater)); + return AjaxResults.success(list); + } + + + /** + * 导出在线监测排放监控-水污染要素列表 + */ + @ApiOperation(value = "导出在线监测排放监控-水污染要素") + @Log(title = "在线监测排放监控-水污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaOnlineEmissionsWater sRaOnlineEmissionsWater) { + List list = sRaOnlineEmissionsWaterService.selectSRaOnlineEmissionsWaterList(sRaOnlineEmissionsWater); + ExcelUtil util = new ExcelUtil(SRaOnlineEmissionsWater.class); + util.exportExcel(response, list, "在线监测排放监控-水污染要素数据"); + } + + /** + * 获取在线监测排放监控-水污染要素详细信息 + */ + @ApiOperation(value = "获取在线监测排放监控-水污染要素详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaOnlineEmissionsWaterService.getById(id)); + } + + /** + * 新增在线监测排放监控-水污染要素 + */ + @ApiOperation(value = "新增在线监测排放监控-水污染要素") + @Log(title = "在线监测排放监控-水污染要素", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaOnlineEmissionsWater sRaOnlineEmissionsWater) { + return toAjax(sRaOnlineEmissionsWaterService.save(sRaOnlineEmissionsWater)); + } + + /** + * 修改在线监测排放监控-水污染要素 + */ + @ApiOperation(value = "修改在线监测排放监控-水污染要素") + @Log(title = "在线监测排放监控-水污染要素", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaOnlineEmissionsWaterVo sRaOnlineEmissionsWaterVo) { + if (ObjectUtil.isEmpty(sRaOnlineEmissionsWaterVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaOnlineEmissionsWaterVo.getId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaOnlineEmissionsWater sRaOnlineEmissionsWater = sRaOnlineEmissionsWaterService.getById(sRaOnlineEmissionsWaterVo.getId()); + if (ObjectUtil.isEmpty(sRaOnlineEmissionsWater)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaOnlineEmissionsWaterVo.getId())); + } + //赋值 + BeanUtil.copyProperties(sRaOnlineEmissionsWaterVo, sRaOnlineEmissionsWater); + return toAjax(sRaOnlineEmissionsWaterService.saveOrUpdate(sRaOnlineEmissionsWater)); + } + + /** + * 删除在线监测排放监控-水污染要素 + */ + @ApiOperation(value = "删除在线监测排放监控-水污染要素") + @RequiresPermissions("talroad:water:remove") + @Log(title = "在线监测排放监控-水污染要素", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return toAjax(sRaOnlineEmissionsWaterService.removeByIds(Arrays.asList(ids))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateGasController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateGasController.java new file mode 100644 index 0000000..0e47ec6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateGasController.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaOverRateGas; +import cn.cecep.talroad.service.analysis.ISRaOverRateGasService; +import cn.cecep.talroad.vo.analysis.SRaOverRateGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateGasQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + + +@Api(tags = "超标率分析-气污染要素") +@RestController +@RequestMapping("/over/gas") +public class SRaOverRateGasController extends BasesController { + @Autowired + private ISRaOverRateGasService sRaOverRateGasService; + + @ApiOperation(value = "查询超标率分析-气污染要素") + @GetMapping("/list") + public AjaxResults> list(SRaOverRateGasQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaOverRateGasService.selectOverRateGasPage(page, query); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出超标率分析-气污染要素") + @Log(title = "超标率分析-气污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaOverRateGasQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaOverRateGasService.selectOverRateGasPage(page, query); + ExcelUtil util = new ExcelUtil<>(SRaOverRateGasVo.class); + util.exportExcel(response, page.getRecords(), "超标率分析-气污染要素数据"); + } + + @ApiOperation(value = "获取超标率分析-气污染要素详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaOverRateGasService.getById(id)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateWaterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateWaterController.java new file mode 100644 index 0000000..876b46b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverRateWaterController.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.cecep.talroad.service.analysis.ISRaOverRateWaterService; +import cn.cecep.talroad.vo.analysis.SRaOverRateWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 超标率分析-水污染要素Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "超标率分析-水污染要素") +@RestController +@RequestMapping("/over/water") +public class SRaOverRateWaterController extends BasesController { + @Autowired + private ISRaOverRateWaterService sRaOverRateWaterService; + + /** + * 查询超标率分析-水污染要素列表 + */ + @ApiOperation(value = "查询超标率分析-水污染要素") + @GetMapping("/list") + public AjaxResults> list(SRaOverRateWaterQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + sRaOverRateWaterService.selectOverRateWaterPage(page, query); + return AjaxResults.success(page); + } + + + /** + * 导出超标率分析-水污染要素列表 + */ + @ApiOperation(value = "导出超标率分析-水污染要素") + @Log(title = "超标率分析-水污染要素", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaOverRateWaterQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = sRaOverRateWaterService.selectOverRateWaterPage(page, query); + ExcelUtil util = new ExcelUtil<>(SRaOverRateWaterVo.class); + util.exportExcel(response, list, "超标率分析-水污染要素数据"); + } + + /** + * 获取超标率分析-水污染要素详细信息 + */ + @ApiOperation(value = "获取超标率分析-水污染要素详细信息") + @PostMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaOverRateWaterService.getById(id)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverWaterPollutionTraceabilityController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverWaterPollutionTraceabilityController.java new file mode 100644 index 0000000..a39a92e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaOverWaterPollutionTraceabilityController.java @@ -0,0 +1,174 @@ +package cn.cecep.talroad.controller.analysis; + + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.domain.dto.MapOutlet24HourDataDTO; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.service.ISEnvWaterMonRealService; +import cn.cecep.talroad.service.analysis.SRaOverWaterPollutionTraceabilityService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.analysis.WaterPollutionTraceabilityVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 当前使用原始表数据 outletService 这个 + */ +@RestController +@RequestMapping("/waterPollutionTraceability") +@Api("水污染溯源信息") +public class SRaOverWaterPollutionTraceabilityController { + + @Autowired + private SRaOverWaterPollutionTraceabilityService service; + @Autowired + private IPcOutletService outletService; + @Autowired + private ISEnvWaterMonRealService waterMonRealService; + + + @GetMapping ("/getList") + @ApiOperation("获取列表") + public AjaxResults> getList(SRaOverWaterPollutionTraceabilityQuery query){ + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage list = + service.page(page, + SRaOverWaterPollutionTraceability.createLambdaQueryWrapper(query)); + return AjaxResults.success( list); + } + @GetMapping ("/getListRaw") + @ApiOperation("获取列表---原始表数据") + public AjaxResults> getList1(SRaOverWaterPollutionTraceabilityQuery query){ + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage list = + outletService.pageAndFactory(page, + query); + return AjaxResults.success( list); + } + /** + * 导出区域传输率分析列表 + */ + @ApiOperation(value = "导出水污染溯源列表") + @Log(title = "导出水污染溯源列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaOverWaterPollutionTraceabilityQuery query) { + List list = service.list(SRaOverWaterPollutionTraceability.createLambdaQueryWrapper(query)); + ExcelUtil util = new ExcelUtil<>(SRaOverWaterPollutionTraceability.class); + util.exportExcel(response, list, "水污染溯源列表信息"); + } + @ApiOperation(value = "导出水污染溯源列表--原始表数据") + @Log(title = "导出水污染溯源列表", businessType = BusinessType.EXPORT) + @PostMapping("/exportRaw") + public void export1(HttpServletResponse response, @RequestBody SRaOverWaterPollutionTraceabilityQuery query) { + IPage page= outletService.pageAndFactory(new Page<>(0,999999), + query); + List list = page.getRecords(); + ExcelUtil util = new ExcelUtil<>(SRaOverWaterPollutionTraceability.class); + util.exportExcel(response, list, "水污染溯源列表信息"); + } + @GetMapping ("/getMapList") + @ApiOperation("获取地图列表") + public AjaxResults> getMapList(SRaOverWaterPollutionTraceabilityQuery query){ + List list = service.list(SRaOverWaterPollutionTraceability.createLambdaQueryWrapper(query)); + return AjaxResults.success(service.workWithMapData(list)); + } + @GetMapping ("/getMapListRaw") + @ApiOperation("获取地图列表--原始表数据") + public AjaxResults> getMapListRaw(SRaOverWaterPollutionTraceabilityQuery query){ + IPage page= outletService.pageAndFactory(new Page<>(query.getPageNum(), query.getPageSize()), + query); + List list = page.getRecords(); + return AjaxResults.success(service.workWithMapData(list)); + } + @GetMapping ("/getMapInfoRaw") + @ApiOperation("获取地图点位信息--原始表数据") + public AjaxResults getMapInfoRaw(WaterPollutionTraceabilityVo query){ + Page page = new Page<>(1, 1); + //排口数据 + if(query.getType().equals("1")||"2".equals(query.getType())){ + SRaOverWaterPollutionTraceabilityQuery st=new SRaOverWaterPollutionTraceabilityQuery(); + st.setId(query.getId()); + IPage result = outletService.pageAndFactory(page,st); + return AjaxResults.success(result.getRecords().get(0)); + //污水处理厂数据 + } else if ("3".equals(query.getType())) { + SRaOverWaterPollutionTraceabilityQuery st=new SRaOverWaterPollutionTraceabilityQuery(); + st.setId(query.getId()); +// st.setEstuaryCode(query.getCode()); + st.setReceivingSewagePlantName(query.getName()); + IPage result = outletService.pageAndFactory(page,st); + return AjaxResults.success(result.getRecords().get(0)); + //入河口数据 + }else if ("4".equals(query.getType())) { + SRaOverWaterPollutionTraceabilityQuery st=new SRaOverWaterPollutionTraceabilityQuery(); + st.setId(query.getId()); + st.setReceivingSewagePlantName(query.getName()); + if(StringUtils.isEmpty(query.getName())){ + return AjaxResults.error("点位没有入河口名称"); + } + IPage result = outletService.pageAndFactory(page,st); + return AjaxResults.success(result.getRecords().get(0)); + } + return AjaxResults.success(); + } + @GetMapping ("/getMapEchartsRaw") + @ApiOperation("获取地图点位信息echarts--原始表数据") + public AjaxResults getMapInfoRaw(String monitoringPointName,String pollName){ + SEnvWaterMonRealQuery sEnvWaterMonReal=new SEnvWaterMonRealQuery(); + sEnvWaterMonReal.setMonitoringPointName(monitoringPointName); + sEnvWaterMonReal.setPageNum(1); + sEnvWaterMonReal.setPageSize(99); + SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH"); + String end = format.format(new Date(System.currentTimeMillis()- 60L *60*1000*24*40)); + String start = format.format(new Date(System.currentTimeMillis()- 60L *60*1000*24*45)); + sEnvWaterMonReal.setDataType("H"); + sEnvWaterMonReal.setMonitoringEndTime(end); + sEnvWaterMonReal.setMonitoringStartTime(start); + IPage sEnvWaterMonRealVoIPage = waterMonRealService.selectSEnvWaterMonRealPage(sEnvWaterMonReal); + EChartsVO eChartsVO = service.chartData(sEnvWaterMonRealVoIPage.getRecords(),pollName,new Date(System.currentTimeMillis()- 60L *60*1000*24*45),new Date()); + return AjaxResults.success(eChartsVO); + } + + + /** + * 获取24小时浓度趋势 + * @param mapOutlet24HourDataDTO + * @return + */ + @PostMapping("/getOutlet24HourData") + @ApiOperation(value = "获取地图排口的24小时浓度趋势") + public AjaxResults> getOutlet24HourData(@RequestBody MapOutlet24HourDataDTO mapOutlet24HourDataDTO){ + SEnvWaterMonRealQuery sEnvWaterMonRealQuery = new SEnvWaterMonRealQuery(); + BeanUtils.copyProperties(mapOutlet24HourDataDTO,sEnvWaterMonRealQuery); + if (mapOutlet24HourDataDTO.getPollutantType() == 1) { + sEnvWaterMonRealQuery.setCod("cod"); + }else{ + sEnvWaterMonRealQuery.setNitrogenConcentration("nitrogenConcentration"); + } + List charDataList = waterMonRealService.getCharDataList(sEnvWaterMonRealQuery); + if(charDataList.size()>0){ + return AjaxResults.success(charDataList); + } + return AjaxResults.success("查询成功",null); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitController.java new file mode 100644 index 0000000..c142564 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitController.java @@ -0,0 +1,184 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsit; +import cn.cecep.talroad.service.SRaRealTimeAnalysicComsitStService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysicComsitService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitMonitorQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.math.BigInteger; +import java.security.InvalidParameterException; +import java.util.Date; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组Controller 控制层 + * + * @author szhpt + * @date 2023-07-14*/ +@Api(tags = "关联分析系统-企业生产过程分析-监测点位对比分析-分组") +@RestController +@RequestMapping("/comsit") +public class SRaRealTimeAnalysicComsitController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysicComsitService sRaRealTimeAnalysicComsitService; + + @Autowired + private SRaRealTimeAnalysicComsitStService sRaRealTimeAnalysicComsitStService; + + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组列表 + */ + @ApiOperation(value = "查询监测点位对比分析-分组维护") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysicComsitQuery sRaRealTimeAnalysicComsit) + { + IPage list = sRaRealTimeAnalysicComsitService.selectSRaRealTimeAnalysicComsitListBys(sRaRealTimeAnalysicComsit); + return AjaxResults.success(list); + } + + @ApiOperation(value = "编辑查询监测点位对比分析-分组维护") + @GetMapping("/editList") + public AjaxResults> editList(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) + { + IPage list = sRaRealTimeAnalysicComsitService.selectSRaRealTimeAnalysicComsitListBy(sRaRealTimeAnalysicComsit); + return AjaxResults.success(list); + } + @ApiOperation(value = "监测点位名称下拉框") + @GetMapping("/editListDropdown") + public AjaxResults>> editListDropdown(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) + { + List> list = sRaRealTimeAnalysicComsitService.editListDropdown(sRaRealTimeAnalysicComsit); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询监测点位对比分析-分组查看详情异常") + @GetMapping("/abnormalList") + public AjaxResults> abnormalList(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) + { + IPage list = sRaRealTimeAnalysicComsitService.abnormalList(sRaRealTimeAnalysicComsit); + return AjaxResults.success(list); + } + @ApiOperation(value = "查询监测点位对比分析-查看详情对比箱型图") + @GetMapping("/abnormalEcharts") + public AjaxResults abnormalEcharts(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) + { + EChartsVO.DiagramVo list = sRaRealTimeAnalysicComsitService.abnormalEcharts(sRaRealTimeAnalysicComsit); + return AjaxResults.success(list); + } + @ApiOperation(value = "导出监测点位对比分析-分组查看详情异常") + @PostMapping("/abnormalExport") + public void abnormalExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) + { + List list = sRaRealTimeAnalysicComsitService.abnormalExport(sRaRealTimeAnalysicComsit); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysicComsitMonitorVo.class); + util.exportExcel(response, list, "监测点位对比分析异常数据"); + } + + /** + * 导出关联分析系统-企业生产过程分析-监测点位对比分析-分组列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-监测点位对比分析-分组") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit) + { + List list = sRaRealTimeAnalysicComsitService.selectSRaRealTimeAnalysicComsitList(sRaRealTimeAnalysicComsit); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysicComsit.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-监测点位对比分析-分组数据"); + } + + /** + * 新增关联分析系统-企业生产过程分析-监测点位对比分析-分组 + */ + @ApiOperation(value = "新增监测点位对比分析-分组维护") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组维护", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add( @Validated @RequestBody SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit) { + int count = sRaRealTimeAnalysicComsitService.count( + new QueryWrapper().eq("sectionalization_name",sRaRealTimeAnalysicComsit.getSectionalizationName()) + ); + if(count>0){ + return AjaxResults.error("分组名称重复请重新输入"); + } + sRaRealTimeAnalysicComsit.setCreateTime(new Date()); + sRaRealTimeAnalysicComsit.setDataId(BigInteger.valueOf(IdUtil.getSnowflakeNextId())); + return AjaxResults.success(sRaRealTimeAnalysicComsitService.save(sRaRealTimeAnalysicComsit)); + } + + /** + * 修改关联分析系统-企业生产过程分析-监测点位对比分析-分组 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-监测点位对比分析-分组") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysicComsitVo sRaRealTimeAnalysicComsitVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsitVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsitVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit = sRaRealTimeAnalysicComsitService.getById(sRaRealTimeAnalysicComsitVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsit)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysicComsitVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysicComsitVo,sRaRealTimeAnalysicComsit); + return toAjax(sRaRealTimeAnalysicComsitService.saveOrUpdate(sRaRealTimeAnalysicComsit)); + } + + + + /** + * 删除关联分析系统-企业生产过程分析-监测点位对比分析-分组 + */ + @ApiOperation(value = "删除关联分析系统-企业生产过程分析-监测点位对比分析-分组") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable BigInteger dataIds) { + return AjaxResults.success(sRaRealTimeAnalysicComsitService.removeById(dataIds)); + } + + /** + * 工序options + */ + @ApiOperation(value = "参数名称options") + @GetMapping("/pullParam") + public AjaxResults>> pullParam() { + return AjaxResults.success(sRaRealTimeAnalysicComsitService.pullParam()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitMonitorController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitMonitorController.java new file mode 100644 index 0000000..4809ad0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysicComsitMonitorController.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsitMonitor; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysicComsitMonitorService; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitMonitorQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.math.BigInteger; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Arrays; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位Controller 控制层 + * + * @author szhpt + * @date 2023-07-14*/ +@Api(tags = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") +@RestController +@RequestMapping("/comsit/monitor") +public class SRaRealTimeAnalysicComsitMonitorController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysicComsitMonitorService sRaRealTimeAnalysicComsitMonitorService; + + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位列表 + */ + @ApiOperation(value = "查询关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysicComsitMonitorQuery sRaRealTimeAnalysicComsitMonitor) + { + Page page = new Page<>(sRaRealTimeAnalysicComsitMonitor.getPageNum(), sRaRealTimeAnalysicComsitMonitor.getPageSize()); + IPage list = sRaRealTimeAnalysicComsitMonitorService.page(page, SRaRealTimeAnalysicComsitMonitorQuery.createLambdaQueryWrapper(sRaRealTimeAnalysicComsitMonitor)); + return AjaxResults.success(list); + } + + + /** + * 导出关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor) + { + List list = sRaRealTimeAnalysicComsitMonitorService.selectSRaRealTimeAnalysicComsitMonitorList(sRaRealTimeAnalysicComsitMonitor); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysicComsitMonitor.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位数据"); + } + + /** + * 新增关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + */ + @ApiOperation(value = "监测点位对比分析-添加关联点位") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor) { + return sRaRealTimeAnalysicComsitMonitorService.addComsitMonitor(sRaRealTimeAnalysicComsitMonitor); + } + /** + * 修改关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsitMonitorVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsitMonitorVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsitMonitorVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor = sRaRealTimeAnalysicComsitMonitorService.getById(sRaRealTimeAnalysicComsitMonitorVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysicComsitMonitor)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysicComsitMonitorVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysicComsitMonitorVo,sRaRealTimeAnalysicComsitMonitor); + return toAjax(sRaRealTimeAnalysicComsitMonitorService.saveOrUpdate(sRaRealTimeAnalysicComsitMonitor)); + } + + /** + * 删除关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + */ + @ApiOperation(value = "监测点位对比分析-删除分组关联点位") + @Log(title = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable BigInteger dataIds) { + return AjaxResults.success(sRaRealTimeAnalysicComsitMonitorService.removeById(dataIds)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCementController.java new file mode 100644 index 0000000..ab429fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCementController.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCementService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisCementVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCementQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 水泥熟料产量分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "水泥熟料产量分析") +@RestController +@RequestMapping("/cement") +public class SRaRealTimeAnalysisCementController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisCementService isRaRealTimeAnalysisCementService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询水泥熟料产量分析列表 + */ + @ApiOperation(value = "查询水泥熟料产量分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCement.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisCement.getPageNum(), sRaRealTimeAnalysisCement.getPageSize()); + IPage list = isRaRealTimeAnalysisCementService.page(page, SRaRealTimeAnalysisCementQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisCement)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "水泥熟料产量统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCement.setRegionCodes(regionCodes); + IPage list = isRaRealTimeAnalysisCementService.statisticsList(sRaRealTimeAnalysisCement); + return AjaxResults.success(list); + } + @ApiOperation(value = "水泥熟料产量统计导出") + @Log(title = "水泥熟料产量统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCement.setRegionCodes(regionCodes); + List list = isRaRealTimeAnalysisCementService.statisticsExport(sRaRealTimeAnalysisCement); + if(sRaRealTimeAnalysisCement.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFactoryCement vo = new SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFactoryCement(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisCement.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCement.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFactoryCement.class); + util.exportExcel(response, factoryCoalList, "水泥熟料产量统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFDeviceCement vo = new SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFDeviceCement(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisCement.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCement.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCement.SRaRealTimeAnalysisFDeviceCement.class); + util.exportExcel(response, factoryCoalList, "水泥熟料产量统计"); + } + + } + + @ApiOperation(value = "水泥熟料产量统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(isRaRealTimeAnalysisCementService.resultCurve(sRaRealTimeAnalysisCoa)); + } + /** + * 导出水泥熟料产量分析列表 + */ + @ApiOperation(value = "导出水泥熟料产量分析") + @Log(title = "水泥熟料产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCement.setRegionCodes(regionCodes); + List list = isRaRealTimeAnalysisCementService.selectSRaRealTimeAnalysisCementList(sRaRealTimeAnalysisCement); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCement.class); + util.exportExcel(response, list, "水泥熟料产量分析数据"); + } + + /** + * 获取水泥熟料产量分析详细信息 + */ + @ApiOperation(value = "获取水泥熟料产量分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(isRaRealTimeAnalysisCementService.getById(id)); + } + + /** + * 新增水泥熟料产量分析 + */ + @ApiOperation(value = "新增水泥熟料产量分析") + @Log(title = "水泥熟料产量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisCement SRaRealTimeAnalysisCement) { + return toAjax(isRaRealTimeAnalysisCementService.save(SRaRealTimeAnalysisCement)); + } + + /** + * 修改水泥熟料产量分析 + */ + @ApiOperation(value = "修改水泥熟料产量分析") + @Log(title = "水泥熟料产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisCementVo SRaRealTimeAnalysisCementVo) { + if (ObjectUtil.isEmpty(SRaRealTimeAnalysisCementVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(SRaRealTimeAnalysisCementVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisCement SRaRealTimeAnalysisCement = isRaRealTimeAnalysisCementService.getById(SRaRealTimeAnalysisCementVo.getDataId()); + if (ObjectUtil.isEmpty(SRaRealTimeAnalysisCement)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", SRaRealTimeAnalysisCementVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(SRaRealTimeAnalysisCementVo, SRaRealTimeAnalysisCement); + return toAjax(isRaRealTimeAnalysisCementService.saveOrUpdate(SRaRealTimeAnalysisCement)); + } + + /** + * 删除水泥熟料产量分析 + */ + @ApiOperation(value = "删除水泥熟料产量分析") + @RequiresPermissions("talroad:furnace:remove") + @Log(title = "水泥熟料产量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(isRaRealTimeAnalysisCementService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(isRaRealTimeAnalysisCementService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoController.java new file mode 100644 index 0000000..d93c65a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoController.java @@ -0,0 +1,218 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisCoVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import freemarker.template.TemplateException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.util.*; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; + + +/** + * * 开发公司:中节能天融科技有限公司 + * co放散分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "关联分析-企业生产过程分析-co放散分析") +@RestController +@RequestMapping("/co") +public class SRaRealTimeAnalysisCoController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisCoService sRaRealTimeAnalysisCoService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询co放散分析列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCo.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisCoService.selectSRaRealTimeAnalysisCoListPage(sRaRealTimeAnalysisCo); + return AjaxResults.success(list); + } + + + /** + * 导出co放散分析列表 + */ + @ApiOperation(value = "导出co放散分析列表") + @Log(title = "co放散分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo) throws TemplateException, IOException, InvocationTargetException, NoSuchMethodException, IllegalAccessException { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCo.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisCoService.selectSRaRealTimeAnalysisCoList(sRaRealTimeAnalysisCo); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCo.class); + util.exportExcel(response, list, "co放散分析数据"); + } + + /** + * 导出co放散分析报告word文档 + */ + @ApiOperation(value = "导出co放散分析报告word文档") + @Log(title = "导出co放散分析报告word文档", businessType = BusinessType.EXPORT) + @PostMapping("/exportWordReport") + public void exportWordReport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo) throws TemplateException, IOException, InvocationTargetException, NoSuchMethodException, IllegalAccessException { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCo.setRegionCodes(regionCodes); + sRaRealTimeAnalysisCoService.exportCoDataToWord(sRaRealTimeAnalysisCo, response); + } + + /** + * 获取co放散分析详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("dataId") String dataId) { + return AjaxResults.success(sRaRealTimeAnalysisCoService.getById(dataId)); + } + + /** + * 新增co放散分析 + */ + @ApiOperation(value = "新增") + @Log(title = "co放散分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisCo sRaRealTimeAnalysisCo) { + sRaRealTimeAnalysisCo.setCreateTime(new Date()); + return toAjax(sRaRealTimeAnalysisCoService.save(sRaRealTimeAnalysisCo)); + } + + /** + * 修改co放散分析 + */ + @ApiOperation(value = "修改") + @Log(title = "co放散分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisCoVo sRaRealTimeAnalysisCoVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCoVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCoVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisCo sRaRealTimeAnalysisCo = sRaRealTimeAnalysisCoService.getById(sRaRealTimeAnalysisCoVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCo)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisCoVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisCoVo, sRaRealTimeAnalysisCo); + return toAjax(sRaRealTimeAnalysisCoService.saveOrUpdate(sRaRealTimeAnalysisCo)); + } + + /** + * 删除co放散分析 + */ + @ApiOperation(value = "删除") + @RequiresPermissions("talroad:co:remove") + @Log(title = "co放散分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisCoService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 工序options + */ + @ApiOperation(value = "工序options") + @GetMapping("/pullWorkingProcedureOptions") + public AjaxResults>> pullWorkingProcedureOptions(@RequestParam(value = "industryCategoryCode", required = false) String industryCategoryCode) { + return AjaxResults.success(sRaRealTimeAnalysisCoService.pullWorkingProcedureOptions(industryCategoryCode)); + } + + @ApiOperation(value = "CO放散分析-查看-结果曲线图") + @GetMapping("/resultCurve") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults resultCurve( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime + ) { + return AjaxResults.success(sRaRealTimeAnalysisCoService.resultCurve(deviceId, monitoringStartTime, monitoringEndTime)); + } + + @ApiOperation(value = "CO放散分析-查看-煤气排放量曲线图") + @GetMapping("/coalEmissionsChart") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults coalEmissionsChart( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime + ) { + return AjaxResults.success(sRaRealTimeAnalysisCoService.coalEmissionsChart(deviceId, monitoringStartTime, monitoringEndTime)); + } + + @ApiOperation(value = "企业装备运行情况-查看-获取结束日期") + @GetMapping("/analysisCurveEndTime") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults analysisCurveEndTime( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime + ) { + return AjaxResults.success("",sRaRealTimeAnalysisCoService.analysisCurveEndTime(deviceId, monitoringStartTime, monitoringEndTime)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoalController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoalController.java new file mode 100644 index 0000000..4094430 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCoalController.java @@ -0,0 +1,214 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoalService; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisCoalVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoalQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 装煤推焦次数分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "关联分析-企业生产过程分析-装煤推焦次数分析") +@RestController +@RequestMapping("/coal") +public class SRaRealTimeAnalysisCoalController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisCoalService sRaRealTimeAnalysisCoalService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询装煤推焦次数分析列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoal.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisCoal.getPageNum(), sRaRealTimeAnalysisCoal.getPageSize()); + IPage list = sRaRealTimeAnalysisCoalService.page(page, SRaRealTimeAnalysisCoalQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisCoal)); + return AjaxResults.success(list); + } + /** + * 查询装煤推焦次数统计 + */ + @ApiOperation(value = "装煤推焦次数统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoal.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisCoalService.statisticsList(sRaRealTimeAnalysisCoal); + return AjaxResults.success(list); + } + /** + * 查询装煤推焦次数统计 + */ + @ApiOperation(value = "装煤推焦次数统计导出") + @Log(title = "装煤推焦次数统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoal.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisCoalService.statisticsExport(sRaRealTimeAnalysisCoal); + if(sRaRealTimeAnalysisCoal.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisFactoryCoal vo = new SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisFactoryCoal(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTime(sRaRealTimeAnalysisCoal.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoal.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisFactoryCoal.class); + util.exportExcel(response, factoryCoalList, "装煤推焦次数统计数据"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisDeviceCoal vo = new SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisDeviceCoal(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTime(sRaRealTimeAnalysisCoal.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoal.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoal.SRaRealTimeAnalysisDeviceCoal.class); + util.exportExcel(response, factoryCoalList, "装煤推焦次数统计数据"); + } + + } + + @ApiOperation(value = "装煤推焦次数统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoa) { + return AjaxResults.success(sRaRealTimeAnalysisCoalService.resultCurve(sRaRealTimeAnalysisCoa)); + } + + /** + * 导出装煤推焦次数分析列表 + */ + @ApiOperation(value = "导出") + @Log(title = "装煤推焦次数分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoal.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisCoalService.selectSRaRealTimeAnalysisCoalList(sRaRealTimeAnalysisCoal); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoal.class); + util.exportExcel(response, list, "装煤推焦次数分析数据"); + } + + /** + * 获取装煤推焦次数分析详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("dataId") String dataId) { + return AjaxResults.success(sRaRealTimeAnalysisCoalService.getById(dataId)); + } + + /** + * 新增装煤推焦次数分析 + */ + @ApiOperation(value = "新增") + @Log(title = "装煤推焦次数分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisCoal sRaRealTimeAnalysisCoal) { + return toAjax(sRaRealTimeAnalysisCoalService.save(sRaRealTimeAnalysisCoal)); + } + + /** + * 修改装煤推焦次数分析 + */ + @ApiOperation(value = "修改") + @Log(title = "装煤推焦次数分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisCoalVo sRaRealTimeAnalysisCoalVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCoalVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCoalVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisCoal sRaRealTimeAnalysisCoal = sRaRealTimeAnalysisCoalService.getById(sRaRealTimeAnalysisCoalVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisCoal)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisCoalVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisCoalVo, sRaRealTimeAnalysisCoal); + return toAjax(sRaRealTimeAnalysisCoalService.saveOrUpdate(sRaRealTimeAnalysisCoal)); + } + + /** + * 删除装煤推焦次数分析 + */ + @ApiOperation(value = "批量删除") + @RequiresPermissions("talroad:coal:remove") + @Log(title = "装煤推焦次数分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisCoalService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisCoalService.pullDeviceNameOptions(factoryName)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCokeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCokeController.java new file mode 100644 index 0000000..a301814 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisCokeController.java @@ -0,0 +1,220 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisCokeVo; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCokeService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-焦炭产量分析Controller 控制层 + * + * @author szhpt + * @date 2023-04-03*/ +@Api(tags = "关联分析系统-企业生产过程分析-焦炭产量分析") +@RestController +@RequestMapping("/coke") +public class SRaRealTimeAnalysisCokeController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysisCokeService sRaRealTimeAnalysisCokeService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询关联分析系统-企业生产过程分析-焦炭产量分析列表 + */ + @ApiOperation(value = "查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoke.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisCoke.getPageNum(), sRaRealTimeAnalysisCoke.getPageSize()); + IPage list = sRaRealTimeAnalysisCokeService.page(page, SRaRealTimeAnalysisCokeQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisCoke)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "焦炭产量分析分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoke.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisCokeService.statisticsList(sRaRealTimeAnalysisCoke); + return AjaxResults.success(list); + } + @ApiOperation(value = "焦炭产量分析导出") + @Log(title = "焦炭产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoke.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisCokeService.statisticsExport(sRaRealTimeAnalysisCoke); + if(sRaRealTimeAnalysisCoke.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisFactoryCoke vo = new SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisFactoryCoke(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisCoke.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoke.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisFactoryCoke.class); + util.exportExcel(response, factoryCoalList, "焦炭产量分析"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisDeciveCoke vo = new SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisDeciveCoke(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisCoke.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoke.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoke.SRaRealTimeAnalysisDeciveCoke.class); + util.exportExcel(response, factoryCoalList, "焦炭产量分析"); + } + + } + + @ApiOperation(value = "焦炭产量分析-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisCokeService.resultCurve(sRaRealTimeAnalysisCoa)); + } + /** + * 导出关联分析系统-企业生产过程分析-焦炭产量分析列表 + */ + @ApiOperation(value = "导出") + @Log(title = "关联分析系统-企业生产过程分析-焦炭产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoke.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisCokeService.selectSRaRealTimeAnalysisCokeList(sRaRealTimeAnalysisCoke); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisCoke.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-焦炭产量分析数据"); + } + + /** + * 获取关联分析系统-企业生产过程分析-焦炭产量分析详细信息 + */ + @ApiOperation(value = "获取详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisCokeService.getById(id)); + } + /** + * 新增关联分析系统-企业生产过程分析-焦炭产量分析 + */ + @ApiOperation(value = "新增") + @Log(title = "关联分析系统-企业生产过程分析-焦炭产量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisCoke sRaRealTimeAnalysisCoke) { + return toAjax(sRaRealTimeAnalysisCokeService.save(sRaRealTimeAnalysisCoke)); + } + /** + * 修改关联分析系统-企业生产过程分析-焦炭产量分析 + */ + @ApiOperation(value = "修改") + @Log(title = "关联分析系统-企业生产过程分析-焦炭产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisCokeVo sRaRealTimeAnalysisCokeVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisCokeVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisCokeVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisCoke sRaRealTimeAnalysisCoke = sRaRealTimeAnalysisCokeService.getById(sRaRealTimeAnalysisCokeVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisCoke)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisCokeVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisCokeVo,sRaRealTimeAnalysisCoke); + return toAjax(sRaRealTimeAnalysisCokeService.saveOrUpdate(sRaRealTimeAnalysisCoke)); + } + + /** + * 删除关联分析系统-企业生产过程分析-焦炭产量分析 + */ + @ApiOperation(value = "删除") + @RequiresPermissions("talroad:coke:remove") + @Log(title = "关联分析系统-企业生产过程分析-焦炭产量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisCokeService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisCokeService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisConverterController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisConverterController.java new file mode 100644 index 0000000..cb4c6b2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisConverterController.java @@ -0,0 +1,219 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.*; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisConverterService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisConverterVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 转炉产量分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "关联分析-企业生产过程分析-转炉产量分析") +@RestController +@RequestMapping("/converter") +public class SRaRealTimeAnalysisConverterController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisConverterService sRaRealTimeAnalysisConverterService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询转炉产量分析列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisConverter.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisConverter.getPageNum(), sRaRealTimeAnalysisConverter.getPageSize()); + IPage list = sRaRealTimeAnalysisConverterService.page(page, SRaRealTimeAnalysisConverterQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisConverter)); + return AjaxResults.success(list); + } + @ApiOperation(value = "转炉产量统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisConverter.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisConverterService.statisticsList(sRaRealTimeAnalysisConverter); + return AjaxResults.success(list); + } + @ApiOperation(value = "转炉产量统计导出") + @Log(title = "转炉产量统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisConverter.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisConverterService.statisticsExport(sRaRealTimeAnalysisConverter); + if(sRaRealTimeAnalysisConverter.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisFactoryConverter vo = new SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisFactoryConverter(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisConverter.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisConverter.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisFactoryConverter.class); + util.exportExcel(response, factoryCoalList, "转炉产量统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisDeviceConverter vo = new SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisDeviceConverter(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisConverter.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisConverter.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisConverter.SRaRealTimeAnalysisDeviceConverter.class); + util.exportExcel(response, factoryCoalList, "转炉产量统计"); + } + + } + + @ApiOperation(value = "转炉产量统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisConverterService.resultCurve(sRaRealTimeAnalysisCoa)); + } + + /** + * 导出转炉产量分析列表 + */ + @ApiOperation(value = "导出") + @Log(title = "转炉产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisConverter.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisConverterService.selectSRaRealTimeAnalysisConverterList(sRaRealTimeAnalysisConverter); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisConverter.class); + util.exportExcel(response, list, "转炉产量分析数据"); + } + + /** + * 获取转炉产量分析详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("dataId") String dataId) { + return AjaxResults.success(sRaRealTimeAnalysisConverterService.getById(dataId)); + } + + /** + * 新增转炉产量分析 + */ + @ApiOperation(value = "新增") + @Log(title = "转炉产量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisConverter sRaRealTimeAnalysisConverter) { + return toAjax(sRaRealTimeAnalysisConverterService.save(sRaRealTimeAnalysisConverter)); + } + + /** + * 修改转炉产量分析 + */ + @ApiOperation(value = "修改") + @Log(title = "转炉产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisConverterVo sRaRealTimeAnalysisConverterVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisConverterVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisConverterVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisConverter sRaRealTimeAnalysisConverter = sRaRealTimeAnalysisConverterService.getById(sRaRealTimeAnalysisConverterVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisConverter)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisConverterVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisConverterVo, sRaRealTimeAnalysisConverter); + return toAjax(sRaRealTimeAnalysisConverterService.saveOrUpdate(sRaRealTimeAnalysisConverter)); + } + + /** + * 删除转炉产量分析 + */ + @ApiOperation(value = "批量删除") + @RequiresPermissions("talroad:converter:remove") + @Log(title = "转炉产量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisConverterService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisConverterService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisFurnaceController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisFurnaceController.java new file mode 100644 index 0000000..63ac94a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisFurnaceController.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisFurnaceService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisFurnaceVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisFurnaceQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 高炉产量分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "高炉产量分析") +@RestController +@RequestMapping("/furnace") +public class SRaRealTimeAnalysisFurnaceController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisFurnaceService sRaRealTimeAnalysisFurnaceService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询高炉产量分析列表 + */ + @ApiOperation(value = "查询高炉产量分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisFurnace.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisFurnace.getPageNum(), sRaRealTimeAnalysisFurnace.getPageSize()); + IPage list = sRaRealTimeAnalysisFurnaceService.page(page, SRaRealTimeAnalysisFurnaceQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisFurnace)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "高炉产量统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisFurnace.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisFurnaceService.statisticsList(sRaRealTimeAnalysisFurnace); + return AjaxResults.success(list); + } + @ApiOperation(value = "高炉产量统计导出") + @Log(title = "高炉产量统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisFurnace.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisFurnaceService.statisticsExport(sRaRealTimeAnalysisFurnace); + if(sRaRealTimeAnalysisFurnace.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisFactoryFurnace vo = new SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisFactoryFurnace(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisFurnace.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisFurnace.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisFactoryFurnace.class); + util.exportExcel(response, factoryCoalList, "高炉产量统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisDeviceFurnace vo = new SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisDeviceFurnace(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisFurnace.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisFurnace.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisFurnace.SRaRealTimeAnalysisDeviceFurnace.class); + util.exportExcel(response, factoryCoalList, "高炉产量统计"); + } + + } + + @ApiOperation(value = "高炉产量统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisFurnaceService.resultCurve(sRaRealTimeAnalysisCoa)); + } + /** + * 导出高炉产量分析列表 + */ + @ApiOperation(value = "导出高炉产量分析") + @Log(title = "高炉产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisFurnace.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisFurnaceService.selectSRaRealTimeAnalysisFurnaceList(sRaRealTimeAnalysisFurnace); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisFurnace.class); + util.exportExcel(response, list, "高炉产量分析数据"); + } + + /** + * 获取高炉产量分析详细信息 + */ + @ApiOperation(value = "获取高炉产量分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisFurnaceService.getById(id)); + } + + /** + * 新增高炉产量分析 + */ + @ApiOperation(value = "新增高炉产量分析") + @Log(title = "高炉产量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisFurnace sRaRealTimeAnalysisFurnace) { + return toAjax(sRaRealTimeAnalysisFurnaceService.save(sRaRealTimeAnalysisFurnace)); + } + + /** + * 修改高炉产量分析 + */ + @ApiOperation(value = "修改高炉产量分析") + @Log(title = "高炉产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisFurnaceVo sRaRealTimeAnalysisFurnaceVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisFurnaceVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisFurnaceVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisFurnace sRaRealTimeAnalysisFurnace = sRaRealTimeAnalysisFurnaceService.getById(sRaRealTimeAnalysisFurnaceVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisFurnace)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisFurnaceVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisFurnaceVo, sRaRealTimeAnalysisFurnace); + return toAjax(sRaRealTimeAnalysisFurnaceService.saveOrUpdate(sRaRealTimeAnalysisFurnace)); + } + + /** + * 删除高炉产量分析 + */ + @ApiOperation(value = "删除高炉产量分析") + @RequiresPermissions("talroad:furnace:remove") + @Log(title = "高炉产量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisFurnaceService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisFurnaceService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisGlassController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisGlassController.java new file mode 100644 index 0000000..e88f5a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisGlassController.java @@ -0,0 +1,215 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisGlassService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisGlassVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-玻璃产量分析Controller 控制层 + * + * @author szhpt + * @date 2023-04-02*/ +@Api(tags = "关联分析系统-企业生产过程分析-玻璃产量分析") +@RestController +@RequestMapping("/glass") +public class SRaRealTimeAnalysisGlassController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysisGlassService sRaRealTimeAnalysisGlassService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + /** + * 查询关联分析系统-企业生产过程分析-玻璃产量分析列表 + */ + @ApiOperation(value = "查询关联分析系统-企业生产过程分析-玻璃产量分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisGlass.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisGlass.getPageNum(), sRaRealTimeAnalysisGlass.getPageSize()); + IPage list = sRaRealTimeAnalysisGlassService.page(page, SRaRealTimeAnalysisGlassQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisGlass)); + return AjaxResults.success(list); + } + + + @ApiOperation(value = "玻璃产量统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisGlass.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisGlassService.statisticsList(sRaRealTimeAnalysisGlass); + return AjaxResults.success(list); + } + @ApiOperation(value = "玻璃产量统计导出") + @Log(title = "玻璃产量统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisGlass.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisGlassService.statisticsExport(sRaRealTimeAnalysisGlass); + if(sRaRealTimeAnalysisGlass.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisFactoryGlass vo = new SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisFactoryGlass(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisGlass.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisGlass.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisFactoryGlass.class); + util.exportExcel(response, factoryCoalList, "玻璃产量统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisDeviceGlass vo = new SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisDeviceGlass(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisGlass.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisGlass.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisGlass.SRaRealTimeAnalysisDeviceGlass.class); + util.exportExcel(response, factoryCoalList, "玻璃产量统计"); + } + + } + + @ApiOperation(value = "玻璃产量统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisGlassService.resultCurve(sRaRealTimeAnalysisCoa)); + } + /** + * 导出关联分析系统-企业生产过程分析-玻璃产量分析列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-玻璃产量分析") + @Log(title = "关联分析系统-企业生产过程分析-玻璃产量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisGlass.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisGlassService.selectSRaRealTimeAnalysisGlassList(sRaRealTimeAnalysisGlass); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisGlass.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-玻璃产量分析数据"); + } + + /** + * 获取关联分析系统-企业生产过程分析-玻璃产量分析详细信息 + */ + @ApiOperation(value = "获取关联分析系统-企业生产过程分析-玻璃产量分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisGlassService.getById(id)); + } + /** + * 新增关联分析系统-企业生产过程分析-玻璃产量分析 + */ + @ApiOperation(value = "新增关联分析系统-企业生产过程分析-玻璃产量分析") + @Log(title = "关联分析系统-企业生产过程分析-玻璃产量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisGlass sRaRealTimeAnalysisGlass) { + return toAjax(sRaRealTimeAnalysisGlassService.save(sRaRealTimeAnalysisGlass)); + } + /** + * 修改关联分析系统-企业生产过程分析-玻璃产量分析 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-玻璃产量分析") + @Log(title = "关联分析系统-企业生产过程分析-玻璃产量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisGlassVo sRaRealTimeAnalysisGlassVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisGlassVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisGlassVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisGlass sRaRealTimeAnalysisGlass = sRaRealTimeAnalysisGlassService.getById(sRaRealTimeAnalysisGlassVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisGlass)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisGlassVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisGlassVo,sRaRealTimeAnalysisGlass); + return toAjax(sRaRealTimeAnalysisGlassService.saveOrUpdate(sRaRealTimeAnalysisGlass)); + } + + /** + * 删除关联分析系统-企业生产过程分析-玻璃产量分析 + */ + @ApiOperation(value = "删除关联分析系统-企业生产过程分析-玻璃产量分析") + @RequiresPermissions("talroad:glass:remove") + @Log(title = "关联分析系统-企业生产过程分析-玻璃产量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisGlassService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisGlassService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisKwhController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisKwhController.java new file mode 100644 index 0000000..e0ade57 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisKwhController.java @@ -0,0 +1,159 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisKwh; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisKwhService; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisKwhVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisKwhQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业用电水平分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "企业用电水平分析") +@RestController +@RequestMapping("/kwh") +public class SRaRealTimeAnalysisKwhController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisKwhService sRaRealTimeAnalysisKwhService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询企业用电水平分析列表 + */ + @ApiOperation(value = "查询企业用电水平分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisKwhQuery sRaRealTimeAnalysisKwh) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisKwh.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisKwh.getPageNum(), sRaRealTimeAnalysisKwh.getPageSize()); + IPage list = sRaRealTimeAnalysisKwhService.page(page, SRaRealTimeAnalysisKwhQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisKwh)); + return AjaxResults.success(list); + } + + + /** + * 导出企业用电水平分析列表 + */ + @ApiOperation(value = "导出企业用电水平分析") + @Log(title = "企业用电水平分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisKwhQuery sRaRealTimeAnalysisKwh) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisKwh.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisKwhService.selectSRaRealTimeAnalysisKwhList(sRaRealTimeAnalysisKwh); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisKwh.class); + util.exportExcel(response, list, "企业用电水平分析数据"); + } + + /** + * 获取企业用电水平分析详细信息 + */ + @ApiOperation(value = "获取企业用电水平分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisKwhService.getById(id)); + } + + /** + * 新增企业用电水平分析 + */ + @ApiOperation(value = "新增企业用电水平分析") + @Log(title = "企业用电水平分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisKwh sRaRealTimeAnalysisKwh) { + return toAjax(sRaRealTimeAnalysisKwhService.save(sRaRealTimeAnalysisKwh)); + } + + /** + * 修改企业用电水平分析 + */ + @ApiOperation(value = "修改企业用电水平分析") + @Log(title = "企业用电水平分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisKwhVo sRaRealTimeAnalysisKwhVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisKwhVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisKwhVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisKwh sRaRealTimeAnalysisKwh = sRaRealTimeAnalysisKwhService.getById(sRaRealTimeAnalysisKwhVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisKwh)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisKwhVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisKwhVo, sRaRealTimeAnalysisKwh); + return toAjax(sRaRealTimeAnalysisKwhService.saveOrUpdate(sRaRealTimeAnalysisKwh)); + } + + /** + * 删除企业用电水平分析 + */ + @ApiOperation(value = "删除企业用电水平分析") + @RequiresPermissions("talroad:kwh:remove") + @Log(title = "企业用电水平分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisKwhService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 参数名称options + */ + @ApiOperation(value = "参数名称options") + @GetMapping("/pullPollutantOptions") + public AjaxResults>> pullPollutantOptions() { + return AjaxResults.success(sRaRealTimeAnalysisKwhService.pullPollutantOptions()); + } + + /** + * 排放规模options + */ + @ApiOperation(value = "排放规模options") + @GetMapping("/pullEmissionScaleOptions") + public AjaxResults>> pullEmissionScaleOptions() { + return AjaxResults.success(sRaRealTimeAnalysisKwhService.pullEmissionScaleOptions()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisPowerController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisPowerController.java new file mode 100644 index 0000000..3f6e867 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisPowerController.java @@ -0,0 +1,218 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisPowerVo; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisPowerService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-机组负荷分析Controller 控制层 + * + * @author szhpt + * @date 2023-04-02*/ +@Api(tags = "关联分析系统-企业生产过程分析-机组负荷分析") +@RestController +@RequestMapping("/power") +public class SRaRealTimeAnalysisPowerController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysisPowerService sRaRealTimeAnalysisPowerService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询关联分析系统-企业生产过程分析-机组负荷分析列表 + */ + @ApiOperation(value = "查询关联分析系统-企业生产过程分析-机组负荷分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisPower.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisPower.getPageNum(), sRaRealTimeAnalysisPower.getPageSize()); + IPage list = sRaRealTimeAnalysisPowerService.page(page, SRaRealTimeAnalysisPowerQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisPower)); + return AjaxResults.success(list); + } + + + @ApiOperation(value = "机组负荷统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisPower.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisPowerService.statisticsList(sRaRealTimeAnalysisPower); + return AjaxResults.success(list); + } + @ApiOperation(value = "机组负荷统计导出") + @Log(title = "机组负荷统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisPower.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisPowerService.statisticsExport(sRaRealTimeAnalysisPower); + if(sRaRealTimeAnalysisPower.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisPower.SRaRealTimeAnalysisFactoryPower vo = new SRaRealTimeAnalysisPower.SRaRealTimeAnalysisFactoryPower(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisPower.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisPower.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisPower.SRaRealTimeAnalysisFactoryPower.class); + util.exportExcel(response, factoryCoalList, "机组负荷统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisPower.SRaRealTimeAnalysisDevicePower vo = new SRaRealTimeAnalysisPower.SRaRealTimeAnalysisDevicePower(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisPower.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisPower.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisPower.SRaRealTimeAnalysisDevicePower.class); + util.exportExcel(response, factoryCoalList, "机组负荷统计"); + } + + } + + @ApiOperation(value = "机组负荷统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisPowerService.resultCurve(sRaRealTimeAnalysisCoa)); + } + /** + * 导出关联分析系统-企业生产过程分析-机组负荷分析列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-机组负荷分析") + @Log(title = "关联分析系统-企业生产过程分析-机组负荷分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisPower.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisPowerService.selectSRaRealTimeAnalysisPowerList(sRaRealTimeAnalysisPower); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisPower.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-机组负荷分析数据"); + } + + /** + * 获取关联分析系统-企业生产过程分析-机组负荷分析详细信息 + */ + @ApiOperation(value = "获取关联分析系统-企业生产过程分析-机组负荷分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisPowerService.getById(id)); + } + /** + * 新增关联分析系统-企业生产过程分析-机组负荷分析 + */ + @ApiOperation(value = "新增关联分析系统-企业生产过程分析-机组负荷分析") + @Log(title = "关联分析系统-企业生产过程分析-机组负荷分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisPower sRaRealTimeAnalysisPower) { + return toAjax(sRaRealTimeAnalysisPowerService.save(sRaRealTimeAnalysisPower)); + } + /** + * 修改关联分析系统-企业生产过程分析-机组负荷分析 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-机组负荷分析") + @Log(title = "关联分析系统-企业生产过程分析-机组负荷分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisPowerVo sRaRealTimeAnalysisPowerVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisPowerVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisPowerVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisPower sRaRealTimeAnalysisPower = sRaRealTimeAnalysisPowerService.getById(sRaRealTimeAnalysisPowerVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisPower)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisPowerVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisPowerVo,sRaRealTimeAnalysisPower); + return toAjax(sRaRealTimeAnalysisPowerService.saveOrUpdate(sRaRealTimeAnalysisPower)); + } + + /** + * 删除关联分析系统-企业生产过程分析-机组负荷分析 + */ + @ApiOperation(value = "删除关联分析系统-企业生产过程分析-机组负荷分析") + @RequiresPermissions("talroad:power:remove") + @Log(title = "关联分析系统-企业生产过程分析-机组负荷分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisPowerService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisPowerService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRubbishController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRubbishController.java new file mode 100644 index 0000000..4306df6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRubbishController.java @@ -0,0 +1,218 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRubbishQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRubbishQuery; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisRubbishVo; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRubbishService; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业生产过程分析-垃圾处理量分析Controller 控制层 + * + * @author szhpt + * @date 2023-04-03*/ +@Api(tags = "关联分析系统-企业生产过程分析-垃圾处理量分析") +@RestController +@RequestMapping("/rubbish") +public class SRaRealTimeAnalysisRubbishController extends BasesController +{ + @Autowired + private ISRaRealTimeAnalysisRubbishService sRaRealTimeAnalysisRubbishService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询关联分析系统-企业生产过程分析-垃圾处理量分析列表 + */ + @ApiOperation(value = "查询关联分析系统-企业生产过程分析-垃圾处理量分析") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRubbish.setRegionCodes(regionCodes); + Page page = new Page<>(sRaRealTimeAnalysisRubbish.getPageNum(), sRaRealTimeAnalysisRubbish.getPageSize()); + IPage list = sRaRealTimeAnalysisRubbishService.page(page, SRaRealTimeAnalysisRubbishQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisRubbish)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "垃圾处理量统计分页查询") + @GetMapping("/statisticsList") + public AjaxResults> statisticsList(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRubbish.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisRubbishService.statisticsList(sRaRealTimeAnalysisRubbish); + return AjaxResults.success(list); + } + @ApiOperation(value = "垃圾处理量统计导出") + @Log(title = "垃圾处理量统计", businessType = BusinessType.EXPORT) + @PostMapping("/statisticsExport") + public void statisticsExport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRubbish.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisRubbishService.statisticsExport(sRaRealTimeAnalysisRubbish); + if(sRaRealTimeAnalysisRubbish.getType().equals("1")){ + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisFactoryRubbish vo = new SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisFactoryRubbish(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisRubbish.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisRubbish.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisFactoryRubbish.class); + util.exportExcel(response, factoryCoalList, "垃圾处理量统计"); + }else { + List factoryCoalList=list.stream().map(o -> { + SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisDeviceRubbish vo = new SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisDeviceRubbish(); + BeanUtils.copyProperties(o, vo); + vo.setAnalyseTimeStr(sRaRealTimeAnalysisRubbish.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisRubbish.getAnalyseEndTime()); + return vo; + }).collect(Collectors.toList()); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisRubbish.SRaRealTimeAnalysisDeviceRubbish.class); + util.exportExcel(response, factoryCoalList, "垃圾处理量统计"); + } + + } + + @ApiOperation(value = "垃圾处理量统计-曲线图") + @GetMapping("/resultCurve") + public AjaxResults resultCurve(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisCoa) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisCoa.setRegionCodes(regionCodes); + return AjaxResults.success(sRaRealTimeAnalysisRubbishService.resultCurve(sRaRealTimeAnalysisCoa)); + } + + /** + * 导出关联分析系统-企业生产过程分析-垃圾处理量分析列表 + */ + @ApiOperation(value = "导出关联分析系统-企业生产过程分析-垃圾处理量分析") + @Log(title = "关联分析系统-企业生产过程分析-垃圾处理量分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisRubbish.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisRubbishService.selectSRaRealTimeAnalysisRubbishList(sRaRealTimeAnalysisRubbish); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisRubbish.class); + util.exportExcel(response, list, "关联分析系统-企业生产过程分析-垃圾处理量分析数据"); + } + + /** + * 获取关联分析系统-企业生产过程分析-垃圾处理量分析详细信息 + */ + @ApiOperation(value = "获取关联分析系统-企业生产过程分析-垃圾处理量分析详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaRealTimeAnalysisRubbishService.getById(id)); + } + /** + * 新增关联分析系统-企业生产过程分析-垃圾处理量分析 + */ + @ApiOperation(value = "新增关联分析系统-企业生产过程分析-垃圾处理量分析") + @Log(title = "关联分析系统-企业生产过程分析-垃圾处理量分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisRubbish sRaRealTimeAnalysisRubbish) { + return toAjax(sRaRealTimeAnalysisRubbishService.save(sRaRealTimeAnalysisRubbish)); + } + /** + * 修改关联分析系统-企业生产过程分析-垃圾处理量分析 + */ + @ApiOperation(value = "修改关联分析系统-企业生产过程分析-垃圾处理量分析") + @Log(title = "关联分析系统-企业生产过程分析-垃圾处理量分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisRubbishVo sRaRealTimeAnalysisRubbishVo) { + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRubbishVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRubbishVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisRubbish sRaRealTimeAnalysisRubbish = sRaRealTimeAnalysisRubbishService.getById(sRaRealTimeAnalysisRubbishVo.getDataId()); + if(ObjectUtil.isEmpty(sRaRealTimeAnalysisRubbish)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisRubbishVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisRubbishVo,sRaRealTimeAnalysisRubbish); + return toAjax(sRaRealTimeAnalysisRubbishService.saveOrUpdate(sRaRealTimeAnalysisRubbish)); + } + + /** + * 删除关联分析系统-企业生产过程分析-垃圾处理量分析 + */ + @ApiOperation(value = "删除关联分析系统-企业生产过程分析-垃圾处理量分析") + @RequiresPermissions("talroad:rubbish:remove") + @Log(title = "关联分析系统-企业生产过程分析-垃圾处理量分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisRubbishService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisRubbishService.pullDeviceNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRunController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRunController.java new file mode 100644 index 0000000..08ef677 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisRunController.java @@ -0,0 +1,187 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRunService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisRunVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRunQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import java.util.Date; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.security.InvalidParameterException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业装备运行情况实时分析Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "关联分析-企业生产过程分析-企业装备运行情况实时分析") +@RestController +@RequestMapping("/run") +public class SRaRealTimeAnalysisRunController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisRunService sRaRealTimeAnalysisRunService; + + /** + * 查询企业装备运行情况实时分析列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisRunQuery sRaRealTimeAnalysisRun) { + Page page = new Page<>(sRaRealTimeAnalysisRun.getPageNum(), sRaRealTimeAnalysisRun.getPageSize()); + IPage list = sRaRealTimeAnalysisRunService.page(page, SRaRealTimeAnalysisRunQuery.createLambdaQueryWrapper(sRaRealTimeAnalysisRun)); + return AjaxResults.success(list); + } + + + /** + * 导出企业装备运行情况实时分析列表 + */ + @ApiOperation(value = "导出") + @Log(title = "企业装备运行情况实时分析", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisRunQuery sRaRealTimeAnalysisRun) { + List list = sRaRealTimeAnalysisRunService.selectSRaRealTimeAnalysisRunList(sRaRealTimeAnalysisRun); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisRun.class); + util.exportExcel(response, list, "企业装备运行情况实时分析数据"); + } + + /** + * 获取企业装备运行情况实时分析详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("dataId") String dataId) { + return AjaxResults.success(sRaRealTimeAnalysisRunService.getById(dataId)); + } + + /** + * 新增企业装备运行情况实时分析 + */ + @ApiOperation(value = "新增") + @Log(title = "企业装备运行情况实时分析", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun) { + sRaRealTimeAnalysisRun.setCreateTime(new Date()); + return toAjax(sRaRealTimeAnalysisRunService.save(sRaRealTimeAnalysisRun)); + } + + /** + * 修改企业装备运行情况实时分析 + */ + @ApiOperation(value = "修改") + @Log(title = "企业装备运行情况实时分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisRunVo sRaRealTimeAnalysisRunVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisRunVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisRunVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun = sRaRealTimeAnalysisRunService.getById(sRaRealTimeAnalysisRunVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisRun)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisRunVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisRunVo, sRaRealTimeAnalysisRun); + return toAjax(sRaRealTimeAnalysisRunService.saveOrUpdate(sRaRealTimeAnalysisRun)); + } + + /** + * 删除企业装备运行情况实时分析 + */ + @ApiOperation(value = "批量删除") + @RequiresPermissions("talroad:run:remove") + @Log(title = "企业装备运行情况实时分析", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisRunService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 运行状态options + */ + @ApiOperation(value = "运行状态options") + @GetMapping("/pullStatusOptions") + public AjaxResults>> pullStatusOptions() { + return AjaxResults.success(sRaRealTimeAnalysisRunService.pullStatusOptions()); + } + + /** + * 设备名称options + */ + @ApiOperation(value = "设备名称options") + @GetMapping("/pullRunDeviceNameOptions") + public AjaxResults>> pullDeviceNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaRealTimeAnalysisRunService.pullDeviceNameOptions(factoryName)); + } + + @ApiOperation(value = "企业装备运行情况-查看-结果曲线图") + @GetMapping("/resultCurve") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults resultCurve( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime + ) { + return AjaxResults.success(sRaRealTimeAnalysisRunService.resultCurve(deviceId, monitoringStartTime, monitoringEndTime)); + } + @ApiOperation(value = "企业装备运行情况-查看-数据分析曲线图") + @GetMapping("/analysisCurve") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + @ApiImplicitParam(name = "judgementBasis", value = "判断依据", dataType = "String"), + }) + public AjaxResults> analysisCurve( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime, + @RequestParam(value = "judgementBasis") String judgementBasis) { + return AjaxResults.success(sRaRealTimeAnalysisRunService.analysisCurve(deviceId, monitoringStartTime, monitoringEndTime,judgementBasis)); + } + @ApiOperation(value = "企业装备运行情况-查看-数据最新数据时间") + @GetMapping("/analysisCurveEndTime") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults analysisCurveEndTime( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime + ) { + return AjaxResults.success("",sRaRealTimeAnalysisRunService.analysisCurveEndTime(deviceId, monitoringStartTime, monitoringEndTime)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisStopController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisStopController.java new file mode 100644 index 0000000..41b1d38 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaRealTimeAnalysisStopController.java @@ -0,0 +1,190 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisStop; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisStopService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysisStopVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisStopQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import freemarker.template.TemplateException; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 企业装备停限产分析报(DCS)Controller 控制层 + * + * @author szhpt + * @date 2023-03-24 + */ +@Api(tags = "关联分析-企业生产过程分析-企业装备停限产分析报(DCS)") +@RestController +@RequestMapping("/stop") +public class SRaRealTimeAnalysisStopController extends BasesController { + @Autowired + private ISRaRealTimeAnalysisStopService sRaRealTimeAnalysisStopService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + /** + * 查询企业装备停限产分析报(DCS)列表 + */ + @ApiOperation(value = "分页查询") + @GetMapping("/list") + public AjaxResults> list(SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisStop.setRegionCodes(regionCodes); + IPage list = sRaRealTimeAnalysisStopService.selectSRaRealTimeAnalysisStopListPage(sRaRealTimeAnalysisStop); + return AjaxResults.success(list); + } + + + /** + * 导出企业装备停限产分析报(DCS)列表 + */ + @ApiOperation(value = "导出") + @Log(title = "企业装备停限产分析报(DCS)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisStop.setRegionCodes(regionCodes); + List list = sRaRealTimeAnalysisStopService.selectSRaRealTimeAnalysisStopList(sRaRealTimeAnalysisStop); + ExcelUtil util = new ExcelUtil(SRaRealTimeAnalysisStop.class); + util.exportExcel(response, list, "企业装备停限产分析报表数据"); + } + + /** + * 导出企业装备停限产分析报(DCS)word报告 + */ + @ApiOperation(value = "企业装备停限产分析报(DCS)word报告") + @Log(title = "企业装备停限产分析报(DCS)word报告", businessType = BusinessType.EXPORT) + @PostMapping("/exportWordReport") + public void exportWordReport(HttpServletResponse response, @RequestBody SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) throws TemplateException, IOException { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaRealTimeAnalysisStop.setRegionCodes(regionCodes); + sRaRealTimeAnalysisStopService.exportWordReport(response,sRaRealTimeAnalysisStop); + } + + /** + * 获取企业装备停限产分析报(DCS)详细信息 + */ + @ApiOperation(value = "详情") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("dataId") String dataId) { + return AjaxResults.success(sRaRealTimeAnalysisStopService.getById(dataId)); + } + + /** + * 新增企业装备停限产分析报(DCS) + */ + @ApiOperation(value = "新增") + @Log(title = "企业装备停限产分析报(DCS)", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaRealTimeAnalysisStop sRaRealTimeAnalysisStop) { + return toAjax(sRaRealTimeAnalysisStopService.save(sRaRealTimeAnalysisStop)); + } + + /** + * 修改企业装备停限产分析报(DCS) + */ + @ApiOperation(value = "修改") + @Log(title = "企业装备停限产分析报(DCS)", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaRealTimeAnalysisStopVo sRaRealTimeAnalysisStopVo) { + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisStopVo)) { + throw new InvalidParameterException("参数为空"); + } + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisStopVo.getDataId())) { + throw new InvalidParameterException("参数id为空"); + } + SRaRealTimeAnalysisStop sRaRealTimeAnalysisStop = sRaRealTimeAnalysisStopService.getById(sRaRealTimeAnalysisStopVo.getDataId()); + if (ObjectUtil.isEmpty(sRaRealTimeAnalysisStop)) { + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaRealTimeAnalysisStopVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaRealTimeAnalysisStopVo, sRaRealTimeAnalysisStop); + return toAjax(sRaRealTimeAnalysisStopService.saveOrUpdate(sRaRealTimeAnalysisStop)); + } + + /** + * 删除企业装备停限产分析报(DCS) + */ + @ApiOperation(value = "批量删除") + @RequiresPermissions("talroad:stop:remove") + @Log(title = "企业装备停限产分析报(DCS)", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaRealTimeAnalysisStopService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 工序options + */ + @ApiOperation(value = "工序options") + @GetMapping("/pullWorkingProcedureOptions") + public AjaxResults>> pullWorkingProcedureOptions(@RequestParam(value = "industryCategoryCode", required = false) String industryCategoryCode) { + return AjaxResults.success(sRaRealTimeAnalysisStopService.pullWorkingProcedureOptions(industryCategoryCode)); + } + + @ApiOperation(value = "企业装备停限产分析报表-查看-结果曲线图") + @GetMapping("/resultCurve") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备编号", dataType = "String"), + @ApiImplicitParam(name = "monitoringStartTime", value = "开始时间", dataType = "String"), + @ApiImplicitParam(name = "monitoringEndTime", value = "结束时间", dataType = "String"), + }) + public AjaxResults resultCurve( + @RequestParam(value = "deviceId") String deviceId, + @RequestParam(value = "monitoringStartTime") String monitoringStartTime, + @RequestParam(value = "monitoringEndTime") String monitoringEndTime) { + return AjaxResults.success(sRaRealTimeAnalysisStopService.resultCurve(deviceId, monitoringStartTime, monitoringEndTime)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaSelfMonitoringDataController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaSelfMonitoringDataController.java new file mode 100644 index 0000000..003c895 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaSelfMonitoringDataController.java @@ -0,0 +1,151 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaSelfMonitoringDataService; +import cn.cecep.talroad.vo.analysis.SRaSelfMonitoringDataVo; +import cn.cecep.talroad.vo.query.analysis.SRaSelfMonitoringDataQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 关联分析系统-企业自行监测数据Controller 控制层 + * + * @author szhpt + * @date 2023-06-27*/ +@Api(tags = "关联分析系统-企业自行监测数据") +@RestController +@RequestMapping("/self/monitoring") +public class SRaSelfMonitoringDataController extends BasesController +{ + @Autowired + private ISRaSelfMonitoringDataService sRaSelfMonitoringDataService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询关联分析系统-企业自行监测数据列表 + */ + @ApiOperation(value = "查询关联分析系统-企业自行监测数据") + @GetMapping("/list") + public AjaxResults> list(SRaSelfMonitoringDataQuery sRaSelfMonitoringData) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaSelfMonitoringData.setRegionCodes(regionCodes); + Page page = new Page<>(sRaSelfMonitoringData.getPageNum(), sRaSelfMonitoringData.getPageSize()); + IPage list = sRaSelfMonitoringDataService.page(page, SRaSelfMonitoringDataQuery.createLambdaQueryWrapper(sRaSelfMonitoringData)); + return AjaxResults.success(list); + } + + + /** + * 导出关联分析系统-企业自行监测数据列表 + */ + @ApiOperation(value = "导出关联分析系统-企业自行监测数据",produces = "application/octet-stream") + @Log(title = "关联分析系统-企业自行监测数据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaSelfMonitoringDataQuery sRaSelfMonitoringData) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaSelfMonitoringData.setRegionCodes(regionCodes); + List list = sRaSelfMonitoringDataService.selectSRaSelfMonitoringDataList(sRaSelfMonitoringData); + ExcelUtil util = new ExcelUtil(SRaSelfMonitoringData.class); + util.exportExcel(response, list, "关联分析系统-企业自行监测数据数据"); + } + /** + * 污染物名称options + */ + @ApiOperation(value = "污染物名称options") + @GetMapping("/pullPollutantNameOptions") + public AjaxResults>> pullPollutantNameOptions(@RequestParam(value = "name", required = false) String name) { + return AjaxResults.success(sRaSelfMonitoringDataService.pullPollutantNameOptions(name)); + } + /** + * 获取关联分析系统-企业自行监测数据详细信息 + */ + @ApiOperation(value = "获取关联分析系统-企业自行监测数据详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaSelfMonitoringDataService.getById(id)); + } + /** + * 新增关联分析系统-企业自行监测数据 + */ + @ApiOperation(value = "新增关联分析系统-企业自行监测数据") + @Log(title = "关联分析系统-企业自行监测数据", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaSelfMonitoringData sRaSelfMonitoringData) { + return toAjax(sRaSelfMonitoringDataService.save(sRaSelfMonitoringData)); + } + /** + * 修改关联分析系统-企业自行监测数据 + */ + @ApiOperation(value = "修改关联分析系统-企业自行监测数据") + @Log(title = "关联分析系统-企业自行监测数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaSelfMonitoringDataVo sRaSelfMonitoringDataVo) { + if(ObjectUtil.isEmpty(sRaSelfMonitoringDataVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaSelfMonitoringDataVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaSelfMonitoringData sRaSelfMonitoringData = sRaSelfMonitoringDataService.getById(sRaSelfMonitoringDataVo.getDataId()); + if(ObjectUtil.isEmpty(sRaSelfMonitoringData)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaSelfMonitoringDataVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaSelfMonitoringDataVo,sRaSelfMonitoringData); + return toAjax(sRaSelfMonitoringDataService.saveOrUpdate(sRaSelfMonitoringData)); + } + + /** + * 删除关联分析系统-企业自行监测数据 + */ + @ApiOperation(value = "删除关联分析系统-企业自行监测数据") + @RequiresPermissions("talroad:data:remove") + @Log(title = "关联分析系统-企业自行监测数据", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaSelfMonitoringDataService.removeByIds(Arrays.asList(dataIds))); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterFlagController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterFlagController.java new file mode 100644 index 0000000..ab3c03b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterFlagController.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.analysis.ISRaWaterFlagService; +import cn.cecep.talroad.vo.analysis.SRaWaterFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterFlagQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@Api(tags = "废水在线监测标记汇总") +@RestController +@RequestMapping("/sraWaterFlag") +public class SRaWaterFlagController extends BasesController { + @Autowired + private ISRaWaterFlagService waterFlagService; + + @ApiOperation(value = "废水在线监测标记汇总") + @GetMapping("/list") + public AjaxResults> list(SRaWaterFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = waterFlagService.getWaterFlagList(page, query); + page.setRecords(list); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出废水在线监测标记汇总") + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaWaterFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = waterFlagService.getWaterFlagList(page, query); + + ExcelUtil util = new ExcelUtil<>(SRaWaterFlagVo.Row.class); + util.exportExcel(response, list, "废水在线监测标记汇总数据"); + } + + @ApiOperation(value = "废水在线监测标记明细") + @GetMapping("/detail/list") + public AjaxResults> detailList(SRaWaterFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = waterFlagService.getWaterFlagDetailList(page, query); + page.setRecords(list); + return AjaxResults.success(page); + } + + @ApiOperation(value = "导出废水在线监测标记明细") + @PostMapping("/detail/export") + public void detailExport(HttpServletResponse response, @RequestBody SRaWaterFlagQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + List list = waterFlagService.getWaterFlagDetailList(page, query); + + ExcelUtil util = new ExcelUtil<>(SRaWaterFlagVo.DetailRow.class); + util.exportExcel(response, list, "废水在线监测标记汇总数据"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedEmissionsController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedEmissionsController.java new file mode 100644 index 0000000..c2c3810 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedEmissionsController.java @@ -0,0 +1,155 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedEmissions; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaWaterPermittedEmissionsService; +import cn.cecep.talroad.vo.analysis.SRaWaterPermittedEmissionsVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedEmissionsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 许可排放量废水明细Controller 控制层 + * + * @author szhpt + * @date 2023-06-02*/ +@Api(tags = "许可排放量废水明细") +@RestController +@RequestMapping("/emissions/water") +public class SRaWaterPermittedEmissionsController extends BasesController +{ + @Autowired + private ISRaWaterPermittedEmissionsService sRaWaterPermittedEmissionsService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询许可排放量废水明细列表 + */ + @ApiOperation(value = "查询许可排放量废水明细") + @GetMapping("/list") + public AjaxResults> list(SRaWaterPermittedEmissionsQuery sRaWaterPermittedEmissions) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaWaterPermittedEmissions.setRegionCodes(regionCodes); + IPage list = sRaWaterPermittedEmissionsService.selectSRaWaterPermittedEmissionsListBy(sRaWaterPermittedEmissions); + return AjaxResults.success(list); + } + + + /** + * 导出许可排放量废水明细列表 + */ + @ApiOperation(value = "导出许可排放量废水明细") + @Log(title = "许可排放量废水明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaWaterPermittedEmissionsQuery sRaWaterPermittedEmissions) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaWaterPermittedEmissions.setRegionCodes(regionCodes); + List list = sRaWaterPermittedEmissionsService.selectSRaWaterPermittedEmissionsList(sRaWaterPermittedEmissions); + ExcelUtil util = new ExcelUtil(SRaWaterPermittedEmissions.class); + util.exportExcel(response, list, "许可排放量废水明细数据"); + } + + /** + * 获取许可排放量废水明细详细信息 + */ + @ApiOperation(value = "获取许可排放量废水明细详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaWaterPermittedEmissionsService.getById(id)); + } + /** + * 新增许可排放量废水明细 + */ + @ApiOperation(value = "新增许可排放量废水明细") + @Log(title = "许可排放量废水明细", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaWaterPermittedEmissions sRaWaterPermittedEmissions) { + return toAjax(sRaWaterPermittedEmissionsService.save(sRaWaterPermittedEmissions)); + } + /** + * 修改许可排放量废水明细 + */ + @ApiOperation(value = "修改许可排放量废水明细") + @Log(title = "许可排放量废水明细", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaWaterPermittedEmissionsVo sRaWaterPermittedEmissionsVo) { + if(ObjectUtil.isEmpty(sRaWaterPermittedEmissionsVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaWaterPermittedEmissionsVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaWaterPermittedEmissions sRaWaterPermittedEmissions = sRaWaterPermittedEmissionsService.getById(sRaWaterPermittedEmissionsVo.getDataId()); + if(ObjectUtil.isEmpty(sRaWaterPermittedEmissions)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaWaterPermittedEmissionsVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaWaterPermittedEmissionsVo,sRaWaterPermittedEmissions); + return toAjax(sRaWaterPermittedEmissionsService.saveOrUpdate(sRaWaterPermittedEmissions)); + } + + /** + * 删除许可排放量废水明细 + */ + @ApiOperation(value = "删除许可排放量废水明细") + @RequiresPermissions("talroad:emissions:remove") + @Log(title = "许可排放量废水明细", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaWaterPermittedEmissionsService.removeByIds(Arrays.asList(dataIds))); + } + + /** + * 监测点名称options + */ + @ApiOperation(value = "监测点名称options") + @GetMapping("/pullMonitorNameOptions") + public AjaxResults>> pullMonitorNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaWaterPermittedEmissionsService.pullMonitorNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedOnlineController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedOnlineController.java new file mode 100644 index 0000000..4674a28 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/analysis/SRaWaterPermittedOnlineController.java @@ -0,0 +1,196 @@ +package cn.cecep.talroad.controller.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.CommonException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.analysis.ISRaWaterPermittedOnlineService; +import cn.cecep.talroad.vo.analysis.SRaWaterPermittedOnlineVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; +import java.util.Arrays; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.*; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.annotation.RequiresPermissions; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; + + +/** + * * 开发公司:中节能天融科技有限公司 + * 许可排放量废水明细Controller 控制层 + * + * @author szhpt + * @date 2023-06-02*/ +@Api(tags = "许可排放量废水明细") +@RestController +@RequestMapping("/permitted/water") +public class SRaWaterPermittedOnlineController extends BasesController +{ + @Autowired + private ISRaWaterPermittedOnlineService sRaWaterPermittedOnlineService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询许可排放量废水明细列表 + */ + @ApiOperation(value = "查询在线、许可排放量废水明细") + @GetMapping("/list") + public AjaxResults> list(SRaWaterPermittedOnlineQuery sRaWaterPermittedOnline) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaWaterPermittedOnline.setRegionCodes(regionCodes); + IPage list = sRaWaterPermittedOnlineService.selectSRaWaterPermittedOnlineListBy(sRaWaterPermittedOnline); + return AjaxResults.success(list); + } + + + /** + * 导出许可排放量废水明细列表 + */ + @ApiOperation(value = "导出在线、许可排放量废水明细",produces = "application/octet-stream") + @Log(title = "许可排放量废水明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody SRaWaterPermittedOnlineQuery sRaWaterPermittedOnline) + { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + sRaWaterPermittedOnline.setRegionCodes(regionCodes); + List list = sRaWaterPermittedOnlineService.selectSRaWaterPermittedOnlineList(sRaWaterPermittedOnline); + ExcelUtil util = new ExcelUtil(SRaWaterPermittedOnline.class); + if(sRaWaterPermittedOnline.getType().equals("1")){ + if(StringUtils.isNotEmpty(sRaWaterPermittedOnline.getHideIndex())){ + if(sRaWaterPermittedOnline.getHideIndex().equals("cod")){ + util.hideColumnNative(1,2,6,8,9,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("ammonia")){ + util.hideColumnNative(1,2,6,7,9,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("phosphorus")){ + util.hideColumnNative(1,2,6,7,8,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("nitrogen")){ + util.hideColumnNative(1,2,6,7,8,9,11,12,13,14); + } + }else { + util.hideColumnNative(6,11,12,13,14); + } + util.exportExcel(response, list, "在线排放量废水明细数据"); + + }else { + if(StringUtils.isNotEmpty(sRaWaterPermittedOnline.getHideIndex())){ + if(sRaWaterPermittedOnline.getHideIndex().equals("cod")){ + util.hideColumnNative(1,2,8,9,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("ammonia")){ + util.hideColumnNative(1,2,7,9,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("phosphorus")){ + util.hideColumnNative(1,2,7,8,10,11,12,13,14); + } + if(sRaWaterPermittedOnline.getHideIndex().equals("nitrogen")){ + util.hideColumnNative(1,2,7,8,9,11,12,13,14); + } + }else { + util.hideColumnNative(11,12,13,14); + } + util.exportExcel(response, list, "许可排放量废水明细数据"); + } + } + + public static void main(String[] args) { + String str = "1,2"; + str = str.trim().replace("\"", ""); + System.out.println(str); + } + /** + * 获取许可排放量废水明细详细信息 + */ + @ApiOperation(value = "获取许可排放量废水明细详细信息") + @PostMapping(value = "/{dataId}") + public AjaxResults getInfo(@PathVariable("id") Integer id) { + return AjaxResults.success(sRaWaterPermittedOnlineService.getById(id)); + } + /** + * 新增许可排放量废水明细 + */ + @ApiOperation(value = "新增许可排放量废水明细") + @Log(title = "许可排放量废水明细", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody SRaWaterPermittedOnline sRaWaterPermittedOnline) { + return toAjax(sRaWaterPermittedOnlineService.save(sRaWaterPermittedOnline)); + } + /** + * 修改许可排放量废水明细 + */ + @ApiOperation(value = "修改许可排放量废水明细") + @Log(title = "许可排放量废水明细", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody SRaWaterPermittedOnlineVo sRaWaterPermittedOnlineVo) { + if(ObjectUtil.isEmpty(sRaWaterPermittedOnlineVo)){ + throw new InvalidParameterException("参数为空"); + } + if(ObjectUtil.isEmpty(sRaWaterPermittedOnlineVo.getDataId())){ + throw new InvalidParameterException("参数id为空"); + } + SRaWaterPermittedOnline sRaWaterPermittedOnline = sRaWaterPermittedOnlineService.getById(sRaWaterPermittedOnlineVo.getDataId()); + if(ObjectUtil.isEmpty(sRaWaterPermittedOnline)){ + throw new CommonException(StrUtil.format("根据id{}查询不到数据", sRaWaterPermittedOnlineVo.getDataId())); + } + //赋值 + BeanUtil.copyProperties(sRaWaterPermittedOnlineVo,sRaWaterPermittedOnline); + return toAjax(sRaWaterPermittedOnlineService.saveOrUpdate(sRaWaterPermittedOnline)); + } + + /** + * 删除许可排放量废水明细 + */ + @ApiOperation(value = "删除许可排放量废水明细") + @RequiresPermissions("talroad:online:remove") + @Log(title = "许可排放量废水明细", businessType = BusinessType.DELETE) + @PostMapping("/{dataIds}") + public AjaxResults remove(@PathVariable String[] dataIds) { + return toAjax(sRaWaterPermittedOnlineService.removeByIds(Arrays.asList(dataIds))); + } + /** + * 监测点名称options + */ + @ApiOperation(value = "监测点名称options") + @GetMapping("/pullMonitorNameOptions") + public AjaxResults>> pullMonitorNameOptions(@RequestParam(value = "factoryName", required = false) String factoryName) { + return AjaxResults.success(sRaWaterPermittedOnlineService.pullMonitorNameOptions(factoryName)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/SignatureController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/SignatureController.java new file mode 100644 index 0000000..422eae7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/SignatureController.java @@ -0,0 +1,395 @@ +package cn.cecep.talroad.controller.app; + +import cn.cecep.talroad.common.core.web.controller.BaseController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.controller.SMainDynamicControlController; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.PermitRequirementVo; +import cn.cecep.talroad.vo.SMainDynamicControlParamVo; +import cn.cecep.talroad.vo.query.*; +import com.alibaba.nacos.shaded.com.google.common.collect.Lists; +import com.alibaba.nacos.shaded.com.google.common.collect.Maps; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author: weizhuang + * @Date:2023/2/22 9:32 + * @Version 1.0 + */ +@Api(tags = "APP-特征码扫描") +@RestController +@RequestMapping("/app/signature") +public class SignatureController extends BaseController { + + @Autowired + private RedisService redisService; + + @Autowired + private IBMainPollDisService ibMainPollDisService; + + @Autowired + private IBMainPollDisEnforcementService ibMainPollDisEnforcementService; + + @Autowired + private IBMainPollDisEmlRecordService ibMainPollDisEmlRecordService; + + @Autowired + private IBMainPollDisInformationService ibMainPollDisInformationService; + + @Autowired + private IBMainPollDisNoiseRequireService ibMainPollDisNoiseRequireService; + + @Autowired + private IBMainPollDisNoiseRegulationService ibMainPollDisNoiseRegulationService; + + @Autowired + private IBMainPollDisGasMoutService ibMainPollDisGasMoutService; + + @Autowired + private IBMainPollDisGasOoutService ibMainPollDisGasOoutService; + + @Autowired + private IBMainPollDisGasToutService ibMainPollDisGasToutService; + + @Autowired + private IBMainPollDisWaterToutService ibMainPollDisWaterToutService; + + @Autowired + private IBMainMobileEnforcementService ibMainMobileEnforcementService; + + @Autowired + private IPcFactoryService pcFactoryService; + + @Autowired + private IPcOutletService pcOutletService; + + @Autowired + private IPcControlRequirementsService pcControlRequirementsService; + + @Autowired + private SMainDynamicControlController dynamicControlController; + + @Autowired + private ISMainDynamicControlParamService sMainDynamicControlParamService; + + @Autowired + private PcFactoryMapper factoryMapper; + + @Autowired + private BMainPollDisGasPollService bMainPollDisGasPollService; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @ApiOperation(value = "排污许可证-列表") + @GetMapping("/pullXkzList/{factoryId}") + public AjaxResults> pullXkzList(@PathVariable("factoryId") String factoryId) { + return AjaxResults.success(ibMainPollDisService.pullXkzList(factoryId)); + } + + @ApiOperation(value = "排污许可证-执行报告要求") + @GetMapping("/pullImplementReport/{xkzId}") + public AjaxResults> pullImplementReport(@PathVariable("xkzId") String xkzId) { + return AjaxResults.success(ibMainPollDisEnforcementService.pullImplementReport(xkzId)); + } + + @ApiOperation(value = "排污许可证-台账记录要求") + @GetMapping("/pullBookRecord/{xkzId}") + public AjaxResults> pullBookRecord(@PathVariable("xkzId") String xkzId) { + return AjaxResults.success(ibMainPollDisEmlRecordService.pullBookRecord(xkzId)); + } + + @ApiOperation(value = "排污许可证-信息公开要求") + @GetMapping("/pullInformationDisclosure/{xkzId}") + public AjaxResults pullInformationDisclosure(@PathVariable("xkzId") String xkzId) { + return AjaxResults.success(ibMainPollDisInformationService.pullInformationDisclosure(xkzId)); + } + + @ApiOperation(value = "排污许可证-其他许可要求-管理要求") + @GetMapping("/pullOtherXkAsk/manage/{xkzId}") + public AjaxResults pullOtherXkAskManage(@PathVariable("xkzId") String xkzId) { + return AjaxResults.success(ibMainPollDisNoiseRequireService.pullOtherXkAskManage(xkzId)); + } + + @ApiOperation(value = "排污许可证-其他许可要求-整改规定列表") + @GetMapping("/pullOtherXkAsk/rectifyAndReform/{xkzId}") + public AjaxResults> pullOtherXkAskRectifyAndReform(@PathVariable("xkzId") String xkzId) { + return AjaxResults.success(ibMainPollDisNoiseRegulationService.pullOtherXkAskRectifyAndReform(xkzId)); + } + + @ApiOperation(value = "排污许可证-许可量要求") + @GetMapping("/pullPermitRequirement/{xkzId}") + public AjaxResults> pullPermitRequirement(@PathVariable("xkzId") String xkzId) { + List res = Lists.newArrayList(); + BMainPollDisGasToutQuery moutQuery = new BMainPollDisGasToutQuery(); + moutQuery.setPollDisId(xkzId); + moutQuery.setPageNum(1); + moutQuery.setPageSize(1000); + IPage bMainPollDisGasPollIPage = bMainPollDisGasPollService.pullPage(moutQuery); + if (bMainPollDisGasPollIPage != null && !CollectionUtils.isEmpty(bMainPollDisGasPollIPage.getRecords())) { + res.addAll(bMainPollDisGasPollIPage.getRecords().stream().map(p -> { + PermitRequirementVo yzzVo = new PermitRequirementVo(); + yzzVo.setPollutantsType(p.getPollutantsType()); + yzzVo.setPollutantsTotalFrist(p.getPollutantsTotalYzzFrist()); + yzzVo.setPollutantsTotalSecond(p.getPollutantsTotalYzzSecond()); + yzzVo.setPollutantsTotalThird(p.getPollutantsTotalYzzThird()); + yzzVo.setPollutantsTotalFourth(p.getPollutantsTotalYzzFourth()); + yzzVo.setPollutantsTotalFifth(p.getPollutantsTotalYzzFifth()); + yzzVo.setVent("废气有组织"); + return yzzVo; + }).collect(Collectors.toList())); + res.addAll(bMainPollDisGasPollIPage.getRecords().stream().map(p -> { + PermitRequirementVo wzzVo = new PermitRequirementVo(); + wzzVo.setPollutantsType(p.getPollutantsType()); + wzzVo.setPollutantsTotalFrist(p.getPollutantsTotalWzzFrist()); + wzzVo.setPollutantsTotalSecond(p.getPollutantsTotalWzzSecond()); + wzzVo.setPollutantsTotalThird(p.getPollutantsTotalWzzThird()); + wzzVo.setPollutantsTotalFourth(p.getPollutantsTotalWzzFourth()); + wzzVo.setPollutantsTotalFifth(p.getPollutantsTotalWzzFifth()); + wzzVo.setVent("废气无组织"); + return wzzVo; + }).collect(Collectors.toList())); + res.addAll(bMainPollDisGasPollIPage.getRecords().stream().map(p -> { + PermitRequirementVo vo = new PermitRequirementVo(); + vo.setPollutantsType(p.getPollutantsType()); + vo.setPollutantsTotalFrist(p.getPollutantsTotalFrist()); + vo.setPollutantsTotalSecond(p.getPollutantsTotalSecond()); + vo.setPollutantsTotalThird(p.getPollutantsTotalThird()); + vo.setPollutantsTotalFourth(p.getPollutantsTotalFourth()); + vo.setPollutantsTotalFifth(p.getPollutantsTotalFifth()); + vo.setVent("废气全厂合计"); + return vo; + }).collect(Collectors.toList())); + } + + BMainPollDisWaterToutQuery wtoutQuery = new BMainPollDisWaterToutQuery(); + wtoutQuery.setPollDisId(xkzId); + wtoutQuery.setPageNum(1); + wtoutQuery.setPageSize(1000); + IPage bMainPollDisWaterToutIPage = ibMainPollDisWaterToutService.pullPage(wtoutQuery); + if (bMainPollDisWaterToutIPage != null && !CollectionUtils.isEmpty(bMainPollDisWaterToutIPage.getRecords())) { + res.addAll(bMainPollDisWaterToutIPage.getRecords().stream().map(p -> { + PermitRequirementVo vo = new PermitRequirementVo(); + BeanUtils.copyProperties(p, vo); + vo.setVent("废水全场合计"); + return vo; + }).collect(Collectors.toList())); + } + + Map resMaps = Maps.newHashMap(); + resMaps.put("table", res); + BMainPollDis query = new BMainPollDis(); + query.setDataId(xkzId); + List bMainPollDis = ibMainPollDisService.selectBMainPollDisList(query); + resMaps.put("pollDisLicenseDeadline", CollectionUtils.isEmpty(bMainPollDis) ? "" : bMainPollDis.get(0).getPollDisLicenseDeadline());// 许可证有效期 + return AjaxResults.success(resMaps); + } + + @ApiOperation(value = "排污许可证-执法监察") + @GetMapping("/pullLawSupervise/{factoryId}/{startTime}/{endTime}") + public AjaxResults> pullLawSupervise(@PathVariable("factoryId") String factoryId, + @PathVariable("startTime") String startTime, + @PathVariable("endTime") String endTime) { + + Map res = Maps.newHashMap(); + BMainMobileEnforcementQuery query = new BMainMobileEnforcementQuery(); + query.setFactoryId(factoryId); + query.setEnforcementStartTime(startTime + "-01 00:00:00"); + query.setEnforcementEndTime(endTime + "-31 23:59:59"); + query.setPageSize(1000); + query.setPageNum(1); + IPage bMainMobileEnforcementIPage = ibMainMobileEnforcementService.pullPage(query); + if (bMainMobileEnforcementIPage == null || CollectionUtils.isEmpty(bMainMobileEnforcementIPage.getRecords())) { + res.put("pieChart", Lists.newArrayList()); + res.put("table", Lists.newArrayList()); + } else { + Map> collect = bMainMobileEnforcementIPage.getRecords().stream().collect(Collectors.groupingBy(BMainMobileEnforcement::getTaskType)); + List> maps = Lists.newArrayList(); + collect.forEach((k, v) -> { + Map map = Maps.newHashMap(); + map.put("name", k); + map.put("value", v.size()); + maps.add(map); + }); + res.put("pieChart", maps); + res.put("table", bMainMobileEnforcementIPage.getRecords()); + } + PcFactory pcFactory = factoryMapper.selectById(factoryId); + res.put("name", pcFactory == null ? "" : pcFactory.getFactoryName()); + return AjaxResults.success(res); + } + + @ApiOperation(value = "获取企业基本信息详细信息") + @GetMapping(value = "/pcFactory/{id}") + public AjaxResults getFactoryInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcFactoryService.getInfo(id)); + } + + @ApiOperation(value = "查询废气有组织、无组织排口") + @GetMapping("/pcOutlet/list") + public AjaxResults> list(PcOutletAppQuery pcOutlet) { + Page page = new Page<>(pcOutlet.getPageNum(), pcOutlet.getPageSize()); + IPage list = pcOutletService.page(page, PcOutletAppQuery.createLambdaQueryWrapper(pcOutlet)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询企业废气排口,按照排口分类(有组织、无组织)分组返回") + @GetMapping("/pcOutlet/gas/groupByType") + public AjaxResults>> getGasOutletGroupByType(String factoryId, String outletName) { + List list = pcOutletService.list(new QueryWrapper() + .eq("factory_id", factoryId) + .and(StringUtils.isNotEmpty(outletName), wrapper -> { + wrapper.like("outlet_name", outletName).or().like("outlet_code", outletName); + }) + .eq("pollutant_type", "1") + .orderByAsc("outlet_code", "id") + ); + Map> data = list.stream().collect(Collectors.groupingBy(PcOutlet::getPollutantOutletType)); + return AjaxResults.success(data); + } + + @ApiOperation(value = "获取废气有组织、无组织排口详细信息") + @GetMapping(value = "/pcOutlet/{id}") + public AjaxResults getOutletInfo(@PathVariable("id") String id) { + return AjaxResults.success(pcOutletService.getInfo(id)); + } + + @ApiOperation(value = "查询管控要求") + @GetMapping("/pcControlRequirements/list") + public AjaxResults> list(PcControlRequirementsQuery pcControlRequirements) { + Page page = new Page<>(pcControlRequirements.getPageNum(), pcControlRequirements.getPageSize()); + IPage list = pcControlRequirementsService.page(page, PcControlRequirementsQuery.createLambdaQueryWrapper(pcControlRequirements)); + return AjaxResults.success(list); + } + + @ApiOperation(value = "查询基本信息-废气、废水排口档案-动态管控信息") + @GetMapping("/smainDynamicControl/list") + public AjaxResults> list(SMainDynamicControlQuery sMainDynamicControl) + { + return dynamicControlController.list(sMainDynamicControl); + } + + @ApiOperation(value = "获取动态管控信息参数表格数据") + @GetMapping("/smainDynamicControlParam/paramTableData") + public AjaxResults list(String factoryId, String outletId, String controlTypeCode) { + SMainDynamicControlParamVo.Table data = sMainDynamicControlParamService.getParamTableData(factoryId, outletId, controlTypeCode); + return AjaxResults.success(data); + } + + @Autowired + private ISEnvGasMonRealService sEnvGasMonRealService; + + @Autowired + private ISEnvGasRealService sEnvGasRealService; + + @Autowired + private ISEnvWaterMonRealService sEnvWaterMonRealService; + + @Autowired + private ISupermonitorDrainOutletService supermonitorDrainOutletService; + + @ApiOperation(value = "查询废气监测曲线图数据") + @GetMapping("/sEnvGasMonReal/charData") + public AjaxResults getCharData(SEnvGasMonRealQuery sEnvGasMonReal) { + EChartsVO charData = sEnvGasMonRealService.getCharData(sEnvGasMonReal); + return AjaxResults.success(charData); + } + + @ApiOperation(value = "查询无组织监控曲线图数据") + @GetMapping("/sEnvGasReal/charData") + public AjaxResults getCharData(SEnvGasRealQuery sEnvGasReal) { + EChartsVO charData = sEnvGasRealService.getCharData(sEnvGasReal); + return AjaxResults.success(charData); + } + + @ApiOperation(value = "查询废水监测曲线图数据") + @GetMapping("/sEnvWaterMonReal/charData") + public AjaxResults charData(SEnvWaterMonRealQuery sEnvWaterMonReal) { + EChartsVO chartsVO = sEnvWaterMonRealService.getCharData(sEnvWaterMonReal); + return AjaxResults.success(chartsVO); + } + + @ApiOperation(value = "查询排污口") + @GetMapping("/supermonitorDrainOutlet/list") + public AjaxResults> list(SupermonitorDrainOutletQuery supermonitorDrainOutlet) { + Page page = new Page<>(supermonitorDrainOutlet.getPageNum(), supermonitorDrainOutlet.getPageSize()); + IPage list = supermonitorDrainOutletService.page(page, SupermonitorDrainOutletQuery.createLambdaQueryWrapper(supermonitorDrainOutlet)); + return AjaxResults.success(list); + } + + /** + * 查询全部企业点位时,一次性返回大量数据,响应时间太长,分批返回 + */ + private void setPageRecords(PcFactoryQuery.SearchVo searchVo, Page page) { + if (searchVo.getPageNum() != null && searchVo.getPageNum() == 1) { + // searchVo.getPageNum() = 1 返回前2000条 + page.setRecords(page.getRecords().stream().skip(0).limit(2000).collect(Collectors.toList())); + } else if (searchVo.getPageNum() != null && searchVo.getPageNum() == 2) { + // searchVo.getPageNum() = 2 返回2001-7000条 + page.setRecords(page.getRecords().stream().skip(2000).limit(5000).collect(Collectors.toList())); + } else if (searchVo.getPageNum() != null && searchVo.getPageNum() == 3) { + // searchVo.getPageNum() = 3 返回7001以后的 + page.setRecords(page.getRecords().stream().skip(7000).collect(Collectors.toList())); + } + } + + @ApiOperation(value = "企业高级搜索,只返回地图点位数据") + @PostMapping("/search") + public AjaxResults> search(@RequestBody PcFactoryQuery.SearchVo searchVo) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + // 查询条件是否为空 + boolean emptyParams = searchVo.getLabelMap().size() == 0 && StringUtils.isEmpty(searchVo.getFactoryName()); + + //判断 只有查询全部企业信息时,存在,直接返回 + if (emptyParams) { + if (redisService.hasKey("MapPcFactoryALlInfo"+regionCode)) { + Page page = redisService.getCacheObject("MapPcFactoryALlInfo"+regionCode); + setPageRecords(searchVo, page); + return AjaxResults.success(page); + } + } + Page page = new Page<>(searchVo.getPageNum(), searchVo.getPageSize()); + + List search = pcFactoryService.search(null, searchVo, "home",regionCode); + + List collect = search.stream().map(o -> { + PcFactoryVo.MapPointVo vo = new PcFactoryVo.MapPointVo(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + page.setRecords(collect); + page.setTotal(collect.size()); + + //判断 只有查询全部企业信息时,才进行缓存 + if (emptyParams) { + //判断 key不存在时,进行缓存 + if (!redisService.hasKey("MapPcFactoryALlInfo"+regionCode)) { + redisService.setCacheObject("MapPcFactoryALlInfo"+regionCode, page); + } + setPageRecords(searchVo, page); + } + return AjaxResults.success(page); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/version/AppVersionAddressManagementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/version/AppVersionAddressManagementController.java new file mode 100644 index 0000000..751a7e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/app/version/AppVersionAddressManagementController.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.controller.app.version; + +import cn.cecep.talroad.common.core.constant.HttpStatus; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.AppVersionAddressManagement; +import cn.cecep.talroad.service.IAppVersionAddressManagementService; +import cn.cecep.talroad.vo.AppVersionAddressManagementVo; +import cn.cecep.talroad.vo.query.AppVersionAddressManagementQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.Arrays; + + /** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +@Api(tags = "app版本管理表") +@RestController +@RequestMapping("/appVersionAddressManagement") +public class AppVersionAddressManagementController extends BasesController { + @Autowired + private IAppVersionAddressManagementService appVersionAddressManagementService; + + /** + * 查询app版本管理表列表 + */ + @ApiOperation(value = "查询app版本管理表列表") + @GetMapping("/list") + public AjaxResults> list(AppVersionAddressManagementQuery appVersionAddressManagement) { + Page page = new Page<>(appVersionAddressManagement.getPageNum(), appVersionAddressManagement.getPageSize()); + IPage list = appVersionAddressManagementService.page(page, AppVersionAddressManagementQuery.createLambdaQueryWrapper(appVersionAddressManagement)); + return AjaxResults.success(list); + } + + + /** + * 获取app版本管理表详细信息 + */ + @ApiOperation(value = "获取app版本管理表详细信息") + @GetMapping(value = "/{id}") + public AjaxResults getInfo(@PathVariable("id") String id) { + return AjaxResults.success(appVersionAddressManagementService.getById(id)); + } + + /** + * 新增app版本管理表 + */ + @ApiOperation(value = "新增app版本管理表") + @Log(title = "app版本管理表", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public AjaxResults add(@RequestBody AppVersionAddressManagementVo appVersionAddressManagementVo) { + AppVersionAddressManagement appVersionAddressManagement = new AppVersionAddressManagement(); + BeanUtils.copyBeanProp(appVersionAddressManagementVo, appVersionAddressManagement); + return appVersionAddressManagementService.save(appVersionAddressManagement) ? AjaxResults.success() : AjaxResults.error(300001, "新增失败"); + } + + /** + * 修改app版本管理表 + */ + @ApiOperation(value = "修改app版本管理表") + @Log(title = "app版本管理表", businessType = BusinessType.UPDATE) + @PostMapping(value = "/edit") + public AjaxResults edit(@RequestBody AppVersionAddressManagementVo appVersionAddressManagementVo) { + AppVersionAddressManagement appVersionAddressManagement = appVersionAddressManagementService.getById(appVersionAddressManagementVo.getId()); + if (ObjectUtil.isNull(appVersionAddressManagement)) { + return AjaxResults.error(300002, "修改失败"); + } + // 赋值 + BeanUtil.copyProperties(appVersionAddressManagementVo, appVersionAddressManagement); + return appVersionAddressManagementService.saveOrUpdate(appVersionAddressManagement) ? AjaxResults.success() : + AjaxResults.error(300003, "修改失败"); + } + + /** + * 删除app版本管理表 + */ + @ApiOperation(value = "删除app版本管理表") + @Log(title = "app版本管理表", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + public AjaxResults remove(@PathVariable String[] ids) { + return appVersionAddressManagementService.removeByIds(Arrays.asList(ids)) ? AjaxResults.success() : + AjaxResults.error(300004, "删除失败"); + } + + + /** + * 根据ID 查询 版本地址管理 详细信息 + * @param + * @return + */ + @GetMapping(value = "/findUpToDateVersionAddress") + @ApiOperation(value = "查询最新的版本") + @ApiImplicitParams({ + @ApiImplicitParam(name = "isDebug", value = "是否生产 0: 测试 1: 生产 ", dataType = "Integer"), + }) + public AjaxResults findUpToDateVersionAddress(Integer isDebug, Integer sourceIsCoerceUpdate) { + + AppVersionAddressManagement versionAddress = appVersionAddressManagementService.findUpToDateVersionAddress(isDebug); + if (ObjectUtil.isNotNull(versionAddress)) { + return AjaxResults.success(versionAddress); + } else { + return AjaxResults.error(HttpStatus.NO_CONTENT,"您当前已是最新版本"); + } + } + + /** + * 根据app 访问地址 产生二维码地址 返回 + * @param + * @return 需要时再开启 + */ + @GetMapping(value = "/generateAppAddressQrCode") + @ApiOperation(value = "根据app 访问地址 产生二维码地址返回") + @ApiImplicitParams({ + @ApiImplicitParam(name = "url", value = "文件地址", dataType = "String"), + @ApiImplicitParam(name = "logUrl", value = "内嵌log地址", dataType = "String"), + @ApiImplicitParam(name = "ipOrigin", value = "ip和端口", dataType = "String"), + @ApiImplicitParam(name = "isDebug", value = "是否生产 0: 测试 1: 生产 ", dataType = "Integer"), + }) + @ApiOperationSupport(author = "张培志") + public AjaxResult generateAppAddressQrCode(String url, String logUrl, Integer isDebug, String ipOrigin) throws Exception { + return AjaxResult.success(appVersionAddressManagementService.generateAppAddressQrCode(url, logUrl, isDebug, ipOrigin)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/callback/AmProblemFiCallbackController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/callback/AmProblemFiCallbackController.java new file mode 100644 index 0000000..9c84106 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/callback/AmProblemFiCallbackController.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.controller.callback; + +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.AmProblemFiProcess; +import cn.cecep.talroad.service.IAmProblemFiService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.junit.jupiter.api.Disabled; +import org.springframework.beans.factory.annotation.Autowired; +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; + + +@Api(tags = "预警报警信息回调") +@RestController +@RequestMapping("/callback/amProblemFi") +public class AmProblemFiCallbackController extends BasesController { + @Autowired + private IAmProblemFiService amProblemFiService; + + + @ApiOperation(value = "审核结果回调--new") + @PostMapping(value = "/rectify/required") + public AjaxResults rectifyRequired(@RequestBody @Validated AmProblemFiProcess param) { +// amProblemFiService.rectifyRequired(param); + logger.info("审核结果回调--new---远程来客::"+param); + //因为先河审核结果跟咱们系统相反,故进行转换 + param.setAuditResult( param.getAuditResult().replace("1", "temp"). + replace("2", "1").replace("temp", "2")); + amProblemFiService.auditResult(param); + return AjaxResults.success(); + } + + @ApiOperation(value = "审核结果回调") + @PostMapping(value = "/audit/result") + @Disabled + public AjaxResults auditResult(@RequestBody @Validated AmProblemFiProcess param) { + amProblemFiService.auditResult(param); + return AjaxResults.success(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/BasTargetController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/BasTargetController.java new file mode 100644 index 0000000..a88648b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/BasTargetController.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.controller.effective; + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +/*@Api(tags = "目标管理") +@RestController +@RequestMapping(value = "target")*/ +public class BasTargetController { + + /* @Autowired + private BasTargetService basTargetService; + + @ApiOperation(value = "计算月目标值") + @ApiOperationSupport(author = "zsj") + @PostMapping(value = "makeUpTarget") + public boolean makeUpTarget( + @RequestBody BasTargetDto basTargetDto, + String userRegionCode + + ) { + return basTargetService.saveAllTarget(basTargetDto, userRegionCode); + } + + + @GetMapping("/findReachabilityAnalysis") + @ApiOperation(value = "可达性分析—可达性分析数据查询") + @ApiOperationSupport(author = "何云龙") + public List findReachabilityAnalysis(String userRegionCode, ReachabilityDto reachabilityDto) { + reachabilityDto.setUserRegionCode(userRegionCode); + if(userRegionCode==null){ + reachabilityDto.setUserRegionCode(SecurityUtils.getLoginUser().getSysUser().getRegionCode()); + } + + return basTargetService.findReachabilityAnalysis(reachabilityDto); + } + + + @GetMapping("/findStandardMonitoring") + @ApiOperation(value = "达标监控—达标监控数据查询") + @ApiOperationSupport(author = "何云龙") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "type", value = "1日 2 本月累计 3 本年累计 ", dataType = "String") + }) + public List findStandardMonitoring(String userRegionCode, String type) { + Assert.notNull(type, "type参数为空"); + Assert.notNull(userRegionCode, "userRegionCode参数为空"); + return basTargetService.findStandardMonitoring(userRegionCode, type); + } + + + @ApiOperation(value = "年/月目标值") + @ApiOperationSupport(author = "zsj") + @PostMapping(value = "targets") + public Map targets(String userRegionCode) { + return basTargetService.regionTarget(userRegionCode); + } + + + @ApiOperation(value = "秋冬防目标值") + @ApiOperationSupport(author = "zsj") + @PostMapping(value = "findAutumnTarget") + public List> findAutumnTarget(String userRegionCode) { + return basTargetService.findAutumnWinterTarget(userRegionCode); + } + + + @ApiOperation(value = "计算秋冬防目标值") + @ApiOperationSupport(author = "zsj") + @PostMapping(value = "calcAutumnTarget") + public R calcAutumnTarget(@RequestBody BasTargetDto basTargetDto) { + R r = new R(); + try { + basTargetService.calcWinterTarget(basTargetDto.getUserRegionCode(), basTargetDto); + r.setCode(200); + r.setMsg("计算成功"); + } catch (Exception e) { + r.setCode(500); + r.setMsg(e.getMessage()); + } + return r; + }*/ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ERmStationExceedController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ERmStationExceedController.java new file mode 100644 index 0000000..6437789 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ERmStationExceedController.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.effective.ERmStationHour; +import cn.cecep.talroad.service.effective.ERmStationExceedService; +import cn.cecep.talroad.service.effective.ERmStationHourService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.effective.ERmStationInfo; +import cn.cecep.talroad.vo.effective.SEnvGasMonValueVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.junit.jupiter.api.Disabled; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; + +/** +* (e_rm_station_exceed)表控制层 +* +* @author lxh +*/ +@Api(tags = "站点预警数据") +@RestController +@RequestMapping("/stationExceed") +public class ERmStationExceedController { + /** + * 服务对象 + */ + @Autowired + private ERmStationExceedService exceedService; + @Autowired + private ERmStationHourService hourService; + + + @GetMapping("/selectList") + @ApiOperation("查询站点预警列表") + public AjaxResults> selectListAll(ERmStationInfo entity) { + return AjaxResults.success(exceedService.selectListInfo(entity)); + } + + @GetMapping("/selectInfo") + @ApiOperation("查询站点信息--弃用,使用接口 POST station/detail/air/{id}") + @Disabled("使用cn.cecep.talroad.controller.TCodStationController.airStationDetail") + public AjaxResults selectInfo(@RequestParam(name = "stationCode") String stationCode) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq(ERmStationHour.COL_STATION_CODE, stationCode); + ew.orderByDesc(ERmStationHour.COL_DATA_TIME); + ew.last("limit 1"); + return AjaxResults.success(hourService.getBaseMapper().selectOne(ew)); + } + @GetMapping("/changingTrends") + @ApiOperation("站点某一污染源变化趋势") + @ApiImplicitParams({ + @ApiImplicitParam(name = "stationIds", value = "站点编码集合"), + @ApiImplicitParam(name = "contaminant", value = "污染物"), + @ApiImplicitParam(name = "start", value = "开始时间,yyyy-MM-dd HH"), + @ApiImplicitParam(name = "end", value = "结束时间,yyyy-MM-dd HH") + }) + public AjaxResults changingTrends(@RequestParam(name = "stationIds") List stationIds, + @RequestParam(name = "contaminant")String contaminant, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "start")Date start, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "end") Date end) { + return AjaxResults.success(exceedService.changingTrends(stationIds, contaminant, start, end)); + } + @GetMapping("/entChangingTrends") + @ApiOperation("企业某一污染源变化趋势") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entIds", value = "企业id集合"), + @ApiImplicitParam(name = "contaminant", value = "污染物,当前只支持:SO2:传递so2_emission,NO2:传递no2_emission,pm2.5和pm10传递smoke_dust_emission"), + @ApiImplicitParam(name = "start", value = "开始时间,yyyy-MM-dd HH"), + @ApiImplicitParam(name = "end", value = "结束时间,yyyy-MM-dd HH") + }) + public AjaxResults entChangingTrends(@RequestParam(name = "entIds") List entIds, + @RequestParam(name = "contaminant")String contaminant, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "start")Date start, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "end") Date end) { + return AjaxResults.success(exceedService.entChangingTrends(entIds, contaminant, start, end)); + } + @GetMapping("/entMap") + @ApiOperation("企业地图--》查询有经纬度且有大气污染物数据的企业") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页码"), @ApiImplicitParam(name = "pageSize", value = "页大小") + }) + public AjaxResults> selectGasAndHaveDate( + @RequestParam(name = "pageNum",defaultValue = "1",required = false ) Integer pageNum, + @RequestParam(name = "pageSize",defaultValue = Integer.MAX_VALUE+"" ,required = false) Integer pageSize){ + return AjaxResults.success(exceedService.selectGasAndHaveData(pageNum,pageSize)); + } + @GetMapping("/entPollutionMap") + @ApiOperation("企业排放量数据信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entId", value = "企业id"), + @ApiImplicitParam(name = "start", value = "开始时间,yyyy-MM-dd HH"), + @ApiImplicitParam(name = "end", value = "结束时间,yyyy-MM-dd HH") + }) + public AjaxResults selectEntPollution(String entId, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "start")Date start, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "end") Date end){ + return AjaxResults.success(exceedService.selectEntPollution(entId, start, end)); + } + @GetMapping("/entPollutionSum") + @ApiOperation("企业排放量汇总") + @ApiImplicitParams({ + @ApiImplicitParam(name = "entId", value = "企业id"), + @ApiImplicitParam(name = "start", value = "开始时间,yyyy-MM-dd HH"), + @ApiImplicitParam(name = "end", value = "结束时间,yyyy-MM-dd HH") + }) + public AjaxResults> summaryOfCorporateEmissions(String entId, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "start")Date start, + @DateTimeFormat(pattern = "yyyy-MM-dd HH") @RequestParam(name = "end") Date end){ + return AjaxResults.success(exceedService.summaryOfCorporateEmissions(entId, start, end)); + } + @GetMapping("/selectStationList") + @ApiOperation("查询站点列表") + public AjaxResults> selectStationList(ERmStationInfo entity) { + return AjaxResults.success(exceedService.selectStationList(entity)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ForecastAccuracyController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ForecastAccuracyController.java new file mode 100644 index 0000000..9f7d3a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ForecastAccuracyController.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.service.effective.ForecastAccuracyService; +import cn.cecep.talroad.vo.effective.ForecastAccuracyInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; + +@RestController +@RequestMapping("forecastAccuracy") +@Api(tags = "预测精准度评估") +public class ForecastAccuracyController { + + @Autowired + private ForecastAccuracyService service; + + @ApiOperation(value = "获取列表") + @GetMapping("/list") + public AjaxResults> getList(@RequestParam(name = "problemType",required = false) String problemType, + @RequestParam(name = "startTime",required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime, + @RequestParam(name = "endTime",required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime, + @RequestParam(name = "pageNum",required = false) Integer pageNum, + @RequestParam(name = "pageSize",required = false) Integer pageSize){ + return AjaxResults.success(service.getList(problemType,startTime,endTime,pageNum,pageSize)); + } + @ApiOperation(value = "获取问题列表") + @GetMapping("/problemList") + public AjaxResults> getProblemList(){ + return AjaxResults.success(service.getProblemListService()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MAiControlDelayAssessmentController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MAiControlDelayAssessmentController.java new file mode 100644 index 0000000..5f74a59 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MAiControlDelayAssessmentController.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.domain.effective.MAiControlDelayAssessment; +import cn.cecep.talroad.service.effective.MAiControlDelayAssessmentService; +import cn.cecep.talroad.vo.query.effective.MAiControlDelayAssessmentQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("controlAssessment") +@Api(tags = "管控延时评估") +public class MAiControlDelayAssessmentController { + + @Autowired + private MAiControlDelayAssessmentService service; + + @GetMapping("list") + @ApiOperation("获取列表") + public AjaxResults> getList(MAiControlDelayAssessmentQuery query){ + Page page=new Page<>(query.getPageNum(),query.getPageSize()); + return AjaxResults.success( service.page(page, MAiControlDelayAssessmentQuery.createLambdaQueryWrapper(query))); + } + @ApiOperation(value = "导出管控延时评估列表") + @Log(title = "导出管控延时评估列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody MAiControlDelayAssessmentQuery query) { + query.setPageSize(Integer.MAX_VALUE); + List list = service.list(MAiControlDelayAssessmentQuery.createLambdaQueryWrapper(query)); + ExcelUtil util = new ExcelUtil<>(MAiControlDelayAssessment.class); + util.exportExcel(response, list, "管控延时评估列表"); + } + @GetMapping("/factoryList") + @ApiOperation("获取企业名字列表") + public AjaxResults> getFactoryList(MAiControlDelayAssessmentQuery query){ + QueryWrapper wrapper = MAiControlDelayAssessmentQuery.createLambdaQueryWrapper(query).select(query.getSelectName()).groupBy(query.getSelectName()); + return AjaxResults.success( service.listObjs(wrapper)); + } + @GetMapping("/map") + @ApiOperation("获取map列表") + public AjaxResults> getMap(MAiControlDelayAssessmentQuery query){ + return AjaxResults.success(service.getMapService(query)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MGovernanceTechnologyEstimateController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MGovernanceTechnologyEstimateController.java new file mode 100644 index 0000000..44f68e6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/MGovernanceTechnologyEstimateController.java @@ -0,0 +1,125 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFacilities; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFactory; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateProcedure; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateFacilitiesService; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateFactoryService; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateProcedureService; +import cn.cecep.talroad.vo.effective.MGovernanceTechnologyEstimate; +import cn.cecep.talroad.vo.query.effective.MGovernanceTechnologyEstimateQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Api(tags = "治理技术评估") +@RestController +@RequestMapping("governanceEstimate") +public class MGovernanceTechnologyEstimateController { + + @Autowired + private MGovernanceTechnologyEstimateFactoryService factoryService; + + @Autowired + private MGovernanceTechnologyEstimateFacilitiesService facilitiesService; + + @Autowired + private MGovernanceTechnologyEstimateProcedureService procedureService; + + @GetMapping("list") + @ApiOperation("获取列表") + public AjaxResults> getList(MGovernanceTechnologyEstimateQuery query){ + IPage result=new Page<>(); + if(query.getAnalyzeLatitude()==1) { + Page p = new Page<>(query.getPageNum(), query.getPageSize()); + IPage page = factoryService.page(p, MGovernanceTechnologyEstimateQuery.createFactoryWrapper(query)); + BeanUtils.copyBeanProp(result, page); + }else if(query.getAnalyzeLatitude()==2) { + Page p = new Page<>(query.getPageNum(), query.getPageSize()); + IPage page = facilitiesService.page(p, MGovernanceTechnologyEstimateQuery.createFacilitiesWrapper(query)); + BeanUtils.copyBeanProp(result, page); + } + else if(query.getAnalyzeLatitude()==3) { + Page p = new Page<>(query.getPageNum(), query.getPageSize()); + IPage page = procedureService.page(p, MGovernanceTechnologyEstimateQuery.createProcedureWrapper(query)); + BeanUtils.copyBeanProp(result, page); + } + return AjaxResults.success(result); + } + @GetMapping("selectList") + @ApiOperation("模糊筛选字段查询") + @ApiImplicitParams({ + @ApiImplicitParam(name = "analyzeLatitude",value = "必填:分析纬度 1==企业维度,2==治理设施维度,3==工序维度"), + @ApiImplicitParam(name = "value",value = "模糊查询时传递的数据"), + @ApiImplicitParam(name = "name",value = "必填:查询的数据 (企业名:factory_name,行业:industry_category,治理技术:governance_technology" + + "评估结果:administer_results,治理设施:governance_facilities,工序:procedure)") + }) + public AjaxResults> getList(Integer analyzeLatitude,String name,String value){ + return AjaxResults.success(factoryService.selectNameByAnalyzeLatitude(analyzeLatitude,name,value)); + } + @GetMapping("map") + @ApiOperation("获取图表") + public AjaxResults> getEChartsVO(MGovernanceTechnologyEstimateQuery query){ + Map map=new HashMap<>(); + + List xList=new ArrayList<>(); + List yList = new ArrayList<>(); + StringBuffer selectSql=new StringBuffer(query.getSelectName().replaceAll("([A-Z]+)", "_$1").toLowerCase()+" AS id"); + if(query.getAnalyzeLatitude()==1) { + selectSql.append(" ,factory_name "); + selectSql.append(" ,governance_technology "); + List list = factoryService.list( + MGovernanceTechnologyEstimateQuery.createFactoryWrapper(query).select(selectSql.toString())); + xList= list.stream() + .map(obj -> obj.getFactoryName() + obj.getGovernanceTechnology()) + .collect(Collectors.toList()); + yList= list.stream().map(factory -> factory.getId() != null ? factory.getId() : "0").map(BigDecimal::new).collect(Collectors.toList()); + + }else if(query.getAnalyzeLatitude()==2) { + selectSql.append(" ,factory_name "); + selectSql.append(" ,governance_facilities "); + List list = facilitiesService.list( + MGovernanceTechnologyEstimateQuery.createFacilitiesWrapper(query).select(selectSql.toString())); + yList= list.stream().map(factory -> factory.getId() != null ? factory.getId() : "0") .map(BigDecimal::new) .collect(Collectors.toList()); + xList= list.stream() + .map(obj -> obj.getGovernanceFacilities() + obj.getFactoryName()) + .collect(Collectors.toList()); + } + else if(query.getAnalyzeLatitude()==3) { + selectSql.append(" ,\"procedure\" "); + selectSql.append(" ,governance_technology "); + List list = procedureService.list( + MGovernanceTechnologyEstimateQuery.createProcedureWrapper(query).select(selectSql.toString())); + yList= list.stream().map(factory -> factory.getId() != null ? factory.getId() : "0") .map(BigDecimal::new).collect(Collectors.toList()); + xList= list.stream() + .map(obj -> obj.getProcedure() + obj.getGovernanceTechnology()) + .collect(Collectors.toList()); + } + map.put("x",xList); + + map.put("y",yList); + double average = yList.stream() + .mapToDouble(BigDecimal::doubleValue) + .average() + .orElse(0.0); + map.put("average",average); + + return AjaxResults.success(map); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PCodAreaInfoController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PCodAreaInfoController.java new file mode 100644 index 0000000..8136b54 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PCodAreaInfoController.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.effective.IPCodAreaInfoService; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * @Author: wyg + * @Description: 监测地图-公共查询-数据查询 + * @Date: 2023/6/13 09:54 + * @Version: 1.0 + */ +@AllArgsConstructor +@RestController +@RequestMapping("/pCodAreaInfo") +@Api(tags = "监测地图-公共查询-数据查询") +public class PCodAreaInfoController { + + private IPCodAreaInfoService pCodAreaInfoService; + + /** + * 站点公共信息 + * + * @Author wyg + * @Version 1.0 + * @Date 2023/6/14 09:18 + */ + @GetMapping("/findStationPullData") + @ApiOperation(value = "公共查询-查询站点下拉框数据-级联选择器") + public AjaxResults findStationPullData() { + return AjaxResults.success(pCodAreaInfoService.findStationPullDataList()); + } + + /** + * 区域-公共信息 + * + * @Author wyg + * @Version 1.0 + * @Date 2023/6/14 09:18 + */ + @GetMapping("/findJurisdictionData") + @ApiOperation(value = "公共查询-查询选择本级+所辖下级") + public AjaxResults findJurisdictionData() { + return AjaxResults.success(pCodAreaInfoService.findJurisdictionData()); + } + + /** + * @Method 查询AQI+六因子 + * @Author wyg + * @Version 1.0 + * @Date 2023/6/14 10:36 + */ + @GetMapping("/findSixApiParam") + @ApiOperation(value = "公共查询-查询AQI+六因子动态下拉数据") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "type", value = "类型 1:区域 2:站点", required = true, dataType = "String"), + @ApiImplicitParam(name = "property", value = "1小时 2日均 3月均", required = true, dataType = "String"), + }) + public AjaxResults selectBySixApiParam(String type, String property) { + return AjaxResults.success(pCodAreaInfoService.selectBySixApiParam(type,property)); + } + + /** + * @Method 分布特征 传入开始时间和结束时间处理 + * @Author wyg + * @Date 2023/6/14 10:31 + */ + @PostMapping("/findTimeDataList") + @ApiOperation(value = "公共查询-传入开始时间和结束时间处理") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "startTime", value = "开始时间", required = true, dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", required = true, dataType = "String"), + @ApiImplicitParam(name = "type", value = "结束时间", required = true, dataType = "String"), + @ApiImplicitParam(name = "factorCode", value = "因子", required = true, dataType = "String"), + @ApiImplicitParam(name = "regionCode", value = "区域", required = true, dataType = "String"), + }) + public AjaxResults findTimeDataList(String startTime,String endTime,String type,String factorCode,String regionCode) { + return AjaxResults.success(pCodAreaInfoService.findTimeDataList(startTime,endTime,type, factorCode,regionCode)); + } + + /** + * @Method 时间分布特征-插值图/渲染图-区域范围 + * @Author wyg + * @Date 2023/6/14 10:31 + */ + @GetMapping("/findCoverageData") + @ApiOperation(value = "时间分布特征-插值图/渲染图-区域范围") + public AjaxResults findCoverageData() { + return AjaxResults.success(pCodAreaInfoService.findCoverageData()); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PollutionCharacterAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PollutionCharacterAnalysisController.java new file mode 100644 index 0000000..8aac9d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/PollutionCharacterAnalysisController.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.domain.dto.PollutantCharacterAnalysisDto; +import cn.cecep.talroad.service.effective.PollutionCharacterAnalysisService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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; +import java.util.Map; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.controller + * @ClassName: PollutionCharacterAnalysisController + * @Author: wyg + * @Description: 污染特征分析 + * @Date: 2023/6/13 15:10 + * @Version: 1.0 + */ +@Api(tags = "污染特征分析") +@RestController +@RequestMapping(value = "/pollutionCharacter") +public class PollutionCharacterAnalysisController { + @Autowired + private PollutionCharacterAnalysisService pollutionCharacterAnalysisService; + + @ApiOperation(value = "特征比值") + @PostMapping(value = "/ratioOf") + public List> ratioOf(@RequestBody PollutantCharacterAnalysisDto analysisDto) { + return pollutionCharacterAnalysisService.ratioOf(analysisDto); + } + + @ApiOperation(value = "皮尔逊相关系数") + @PostMapping(value = "/plxValue") + public double[][] plxValue(@RequestBody PollutantCharacterAnalysisDto analysisDto) { + return pollutionCharacterAnalysisService.plxValue(analysisDto); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/RectificationEffectEvaluationController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/RectificationEffectEvaluationController.java new file mode 100644 index 0000000..7e015f0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/RectificationEffectEvaluationController.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.constant.HttpStatus; +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.effective.RectificationEffectQueryDTO; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.service.effective.IRectificationEffectEvaluationService; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.effective.FactoryRectificationEffectCountVO; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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 javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * 整改效果评估控制层 + */ +@RestController +@RequestMapping("/rectificationEffect") +@Api(tags = "整改效果评估控制层") +public class RectificationEffectEvaluationController { + + @Autowired + private BaseRegionService baseRegionService; + + @Autowired + private IRectificationEffectEvaluationService rectificationEffectEvaluationService; + + + @PostMapping("/list") + @ApiOperation(value = "查询列表") + public AjaxResults> list(@RequestBody RectificationEffectQueryDTO rectificationEffectQueryDTO){ + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + if(StringUtils.isBlank(rectificationEffectQueryDTO.getRegionCode())){ + rectificationEffectQueryDTO.setRegionCodes(regionCodes); + } + return rectificationEffectEvaluationService.list(rectificationEffectQueryDTO); + } + + @ApiOperation(value = "导出列表") + @Log(title = "导出列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody RectificationEffectQueryDTO rectificationEffectQueryDTO) { + AjaxResults> results = rectificationEffectEvaluationService.list(rectificationEffectQueryDTO); + if(results.getCode() == HttpStatus.SUCCESS){ + ExcelUtil util = new ExcelUtil<>(FactoryRectificationEffectCountVO.class); + util.exportExcel(response, results.getData().getRecords(), "整改效果评估数据"); + }else{ + throw new RuntimeException("导出异常"); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ReductionEmissionController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ReductionEmissionController.java new file mode 100644 index 0000000..ea29251 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/controller/effective/ReductionEmissionController.java @@ -0,0 +1,188 @@ +package cn.cecep.talroad.controller.effective; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.service.effective.ReductionEmissionService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.effective.PcNationalCityRanking; +import cn.cecep.talroad.vo.effective.PcNationalCountyRanking; +import cn.cecep.talroad.vo.export.PcNationalCityRankingExport; +import cn.cecep.talroad.vo.export.PcNationalCountyRankingExport; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.jsonwebtoken.lang.Assert; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; +import java.util.StringJoiner; + +@AllArgsConstructor +@RestController +@RequestMapping("/reduction") +@Api(value = "减排目标达成评估", tags = "减排目标达成评估接口") +public class ReductionEmissionController { + + private ReductionEmissionService service; + + @GetMapping("/realTimeMonitoring") + @ApiOperation("获取地区下实时监控") + public AjaxResults realTimeMonitoring() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + PcNationalCityRanking pcNationalCityRanking = service.realTimeMonitoringService(regionCode); + return AjaxResults.success(pcNationalCityRanking); + } + + @GetMapping("/cityRanking") + @ApiOperation("获取168,377,省内城市排名城市排名") + public AjaxResults> cityRanking() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + Map map = service.cityRankingService(regionCode); + return AjaxResults.success(map); + } + + /** + * @Method 获取省区县城市排名 + * @Author wyg + * @Date 2023/6/16 17:02 + */ + @GetMapping("/countyRanking") + @ApiOperation("获取省区县城市排名") + public AjaxResults> countyRanking(@RequestParam String name) { + Map map = service.countyRankingService(name); + return AjaxResults.success(map); + } + + + @GetMapping("/list") + @ApiOperation("获取城市排行榜列表-详情") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "排名类型:168,377,省内城市排名:province_city"), + @ApiImplicitParam(name = "dateType", value = "时间类型:小时:H,日:D,月:M,年:Y"), + @ApiImplicitParam(name = "date", value = "时间,格式 yyyy-MM-dd HH:mm:ss"), + @ApiImplicitParam(name = "cityname", value = "城市名称"), + @ApiImplicitParam(name = "pageSize", value = "页码"), + @ApiImplicitParam(name = "pageNum", value = "页数") + }) + public AjaxResults> list(@RequestParam String type, + @RequestParam String dateType, + @RequestParam String date, + @RequestParam(required = false, name = "cityname") String cityName, + @RequestParam Integer pageSize, + @RequestParam Integer pageNum) { + Assert.notNull(type, "type参数为空"); + Assert.notNull(dateType, "dateType参数为空"); + IPage page = service.list(dateType, type, date, pageNum, pageSize, cityName); + return AjaxResults.success(page); + } + + @GetMapping("/provinceCountyList") + @ApiOperation("获取省区县列表-详情") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "排名类型:省区县 province_county"), + @ApiImplicitParam(name = "dateType", value = "时间类型:小时:H,日:D,月:M,年:Y"), + @ApiImplicitParam(name = "date", value = "时间,格式 yyyy-MM-dd HH:mm:ss"), + @ApiImplicitParam(name = "countryname", value = "区县名称"), + @ApiImplicitParam(name = "pageSize", value = "页码"), + @ApiImplicitParam(name = "pageNum", value = "页数") + }) + public AjaxResults> provinceCountyList(@RequestParam String type, + @RequestParam String dateType, + @RequestParam String date, + @RequestParam(required = false,name = "countryname") String countyName, + @RequestParam Integer pageSize, + @RequestParam Integer pageNum) { + Assert.notNull(type, "type参数为空"); + Assert.notNull(dateType, "dateType参数为空"); + IPage page = service.provinceCounty(dateType, type, date, pageNum, pageSize, countyName); + return AjaxResults.success(page); + } + + + @GetMapping("/map") + @ApiOperation("获取168,377,省内城市排名折线图列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "排名类型:168,377,省内城市排名:province_city") + }) + public AjaxResults> getMap(@RequestParam String type) { + Assert.notNull(type, "type参数为空"); + return AjaxResults.success(service.getMapService(type)); + } + + + @GetMapping("/mapCounty/{countryCode}") + @ApiOperation("获取省区县getMapCounty数组") + public AjaxResults> getMapCounty(@PathVariable String[] countryCode) { + Assert.notNull(countryCode, "countryCode参数为空"); + StringJoiner sj1 = new StringJoiner(","); + for (String str : countryCode) { + if (!str.contains("唐山市")) { + sj1.add("'唐山市" + str + "'"); + } + + } + String[] strs = sj1.toString().split(","); + return AjaxResults.success(service.getMapCountyService(strs)); + } + + @ApiOperation(value = "导出获取城市排行榜列表") + @Log(title = "导出获取城市排行榜列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, @RequestBody PcNationalCityRankingExport pcNationalCityRankingExport) { + Assert.notNull(pcNationalCityRankingExport.getType(), "type参数为空"); + Assert.notNull(pcNationalCityRankingExport.getDateType(), "dateType参数为空"); + Assert.notNull(pcNationalCityRankingExport.getDate(), "date参数为空"); + List list = service.export(pcNationalCityRankingExport); + ExcelUtil util = new ExcelUtil<>(PcNationalCityRankingExport.class); + util.exportExcel(response, list, "获取城市排行榜列表"); + } + + @ApiOperation(value = "导出省区县列表") + @Log(title = "导出省区县列表", businessType = BusinessType.EXPORT) + @PostMapping("/exportCounty") + public void exportCounty(HttpServletResponse response, @RequestBody PcNationalCountyRankingExport pcNationalCountyRankingExport) { + Assert.notNull(pcNationalCountyRankingExport.getType(), "type参数为空"); + Assert.notNull(pcNationalCountyRankingExport.getDateType(), "dateType参数为空"); + Assert.notNull(pcNationalCountyRankingExport.getDate(), "date参数为空"); + List list = service.countyExport(pcNationalCountyRankingExport); + ExcelUtil util = new ExcelUtil<>(PcNationalCountyRankingExport.class); + util.exportExcel(response, list, "获取省区县列表"); + } + + @GetMapping("/countryMap") + @ApiOperation("获取省内区县折线图列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "names", value = "区县集合") + }) + public AjaxResults countryMap(@RequestParam List names) { + return AjaxResults.success(service.getCountryMapService(names)); + } + + @GetMapping("/countryNameList") + @ApiOperation("获取168,377,省内城市排名地区列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "名称"), + @ApiImplicitParam(name = "type", value = "查询:168,377") + }) + public AjaxResults> countryNameList(@RequestParam(required = false) String name, String type) { + return AjaxResults.success(service.countryNameList(name, type)); + } + + @GetMapping("/cityNameList") + @ApiOperation("获取167省内区县排名名称列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "名称") + }) + public AjaxResults> cityNameList(@RequestParam(required = false) String name) { + return AjaxResults.success(service.cityNameList(name)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractFactory.java new file mode 100644 index 0000000..42702d0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractFactory.java @@ -0,0 +1,101 @@ +package cn.cecep.talroad.data.analyse.task.anomaly.analysis; + +import cn.cecep.talroad.data.analyse.task.constant.impl.*; +import cn.cecep.talroad.data.analyse.task.enums.DataAnomalyFactoryServiceEnum; +import cn.cecep.talroad.data.analyse.task.logic.impl.*; +import cn.cecep.talroad.data.analyse.task.missing.impl.*; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; + +/** + * @author hehongyu + * @description: 获取具体实现类的抽象工厂 + * @date 2023/6/10 5:14 + */ +@Component +@RequiredArgsConstructor +public class DataAnomalyAbstractFactory { + + public static Map serviceMap = new HashMap<>(); + + private final SteelDataLogicService steelDataLogicService; + private final BurnDataLogicService burnDataLogicService; + private final CementDataLogicService cementDataLogicService; + private final CokingDataLogicService cokingDataLogicService; + private final GlassDataLogicService glassDataLogicService; + private final PowerDataLogicService powerDataLogicService; + private final WaterDataLogicService waterDataLogicService; + private final GasDataLogicService gasDataLogicService; + + private final SteelDataMissingService steelDataMissingService; + private final BurnDataMissingService burnDataMissingService; + private final CementDataMissingService cementDataMissingService; + private final CokingDataMissingService cokingDataMissingService; + private final GlassDataMissingService glassDataMissingService; + private final PowerDataMissingService powerDataMissingService; + private final WaterDataMissingService waterDataMissingService; + private final GasDataMissingService gasDataMissingService; + private final ElecDataMissingService elecDataMissingService; + private final GasMonDataMissingService gasMonDataMissingService; + private final OdsDataMissingService odsDataRealService; + private final OdsMeShingShStationService odsMeShingShStationService; + private final OdsMeShingWeiStationService odsMeShingWeiStationService; + + + private final SteelDataConstantService steelDataConstantService; + private final BurnDataConstantService burnDataConstantService; + private final CementDataConstantService cementDataConstantService; + private final CokingDataConstantService cokingDataConstantService; + private final GlassDataConstantService glassDataConstantService; + private final PowerDataConstantService powerDataConstantService; + private final WaterDataConstantService waterDataConstantService; + private final GasDataConstantService gasDataConstantService; + private final ElecDataConstantService elecDataConstantService; + + @PostConstruct + public void init(){ + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_GT,steelDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_FS,burnDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_SN,cementDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_JH,cokingDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_BL,glassDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_DL,powerDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_WATER,waterDataLogicService); + serviceMap.put(DataAnomalyFactoryServiceEnum.LOGIC_GAS,gasDataLogicService); + + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_GT,steelDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_FS,burnDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_SN,cementDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_JH,cokingDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_BL,glassDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_DL,powerDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_WATER,waterDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_GAS, gasDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.MISSING_ELEC, elecDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_WZZJC, gasMonDataMissingService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_WZZWZJC, odsDataRealService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_WGHSH, odsMeShingShStationService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_WGHWEI, odsMeShingWeiStationService); + + + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_GT,steelDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_FS,burnDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_SN,cementDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_JH,cokingDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_BL,glassDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_DL,powerDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_WATER,waterDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_GAS,gasDataConstantService); + serviceMap.put(DataAnomalyFactoryServiceEnum.CONSTANT_ELEC,elecDataConstantService); + } + + + public static DataAnomalyAbstractService getService(DataAnomalyFactoryServiceEnum key){ + return serviceMap.get(key); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractService.java new file mode 100644 index 0000000..e8b94ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/anomaly/analysis/DataAnomalyAbstractService.java @@ -0,0 +1,350 @@ +package cn.cecep.talroad.data.analyse.task.anomaly.analysis; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.BasDeviceParamAnalyseMapper; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ReflectionUtils; + +import java.lang.reflect.Field; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 数据异常处理基类 + * + * @param 实时数据实体 + */ +@Slf4j +public abstract class DataAnomalyAbstractService { + + @Autowired + private BasParamMapper basParamMapper; + + @Autowired + private BasDeviceParamMapper basDeviceParamMapper; + + @Autowired + private BasDeviceParamAnalyseMapper basDeviceParamAnalyseMapper; + + @Autowired + private BasDeviceSalAnalysisMapper basDeviceSalAnalysisMapper; + + @Autowired + private IAmProblemFiService amProblemFiService; + + @Autowired + private BasDeviceMapper basDeviceMapper; + + public boolean mainProcess() { + try { + // 获取所有可用设备id + List deviceIds = queryUsableDeviceIds(); + if (CollectionUtil.isEmpty(deviceIds)) { + //当前工业 不存在 在线设备 + return true; + } + Integer pageSize = devicePageSize(); + List> idsPage = Lists.partition(deviceIds, pageSize); + for (List currentDeviceIds : idsPage) { + // 获取每个设备绑定的 在线参数 + Map> currentDeviceParams = queryDeviceOnline(currentDeviceIds); + if (currentDeviceParams.size() == 0){ + continue; + } + Map> groupDeviceReal = groupDeviceRealList(queryReal(currentDeviceIds,getQueryDataStartDateTime(),getQueryDataEndDateTime()),currentDeviceIds); + if (CollectionUtil.isEmpty(groupDeviceReal)){ + continue; + } + + List amProblemFis = verifyAnomaly(groupDeviceReal, currentDeviceParams); + if (CollectionUtil.isEmpty(amProblemFis)){ + continue; + } + if(amProblemFis!=null && amProblemFis.size()>0) { + amProblemFiService.saveBatch(amProblemFis); + } + } + return true; + }catch (Exception e){ + log.error("任务执行失败!",e); + return false; + } + } + + + /** + * 获取该设备绑定参数 + */ + protected Map> queryDeviceOnline(List deviceIds) { + List deviceTargetIds = deviceIds.stream().map(this::getDeviceId).collect(Collectors.toList()); + //此处看情况 是否要用批处理 + List basDeviceParamListVos = basDeviceParamMapper.queryByDeviceIdListAndIndustry(deviceTargetIds, null, null); + if (CollectionUtil.isEmpty(basDeviceParamListVos)){ + return new HashMap<>(); + } + + return basDeviceParamListVos.stream().collect(Collectors.groupingBy(BasDeviceParamListVo::getDeviceId)); + } + + /** + * 获取单个实体类的 参数内容 + */ + protected Map getParamValue(T entity, List params) { + Map result = new HashMap<>(); + for (String param : params) { + Class entityClass = entity.getClass(); + try { + Field field = ReflectionUtils.findField(entityClass, param); + if (field == null) { + continue; + } + field.setAccessible(true); + Object value = ReflectionUtils.getField(field, entity); + result.put(param, value); + } catch (Exception e) { + log.warn("获取字段value失败!字段名称:{} , 类:{}", param, entity.getClass().getName()); + } + } + return result; + } + + /** + * 获取每个实体类 + */ + public static Map> getColumnParamValue(List realDataList, List params) { + Map> paramValues = new HashMap<>(); + if (CollectionUtil.isEmpty(realDataList)) { + return paramValues; + } + Class realClass = realDataList.get(0).getClass(); + for (String param : params) { + List classParamValue = getClassParamValue(realDataList, param, realClass); + paramValues.put(param, classParamValue); + } + return paramValues; + } + + /** + * 获取单个列属性 + */ + protected static List getClassParamValue(List reals, String param, Class realClass) { + List paramValues = new ArrayList<>(); + try { + Field declaredField = realClass.getDeclaredField(param); + declaredField.setAccessible(true); + for (T real : reals) { + try { + Object o = declaredField.get(real); + paramValues.add(o); + } catch (Exception e) { + log.warn("获取字段value失败!字段名称:{} , 类:{}", param, realClass.getName()); + //即使是异常状态也应该有一个值来站位 因为reals数据有多少条 就应该根据该参数取到多少值 + //参数获取到的值 必须和 传入数据list 长度一致 便于后面利用异常参数下标 获取到 对应下标的数据 + //如果 参数值异常 可根据此下标获取逻辑 获取到数据异常上报时间 和 截止时间 + paramValues.add(null); + } + } + } catch (Exception e) { + log.warn("获取字段value失败!字段名称:{} , 类:{}", param, realClass.getName()); + } + return paramValues; + } + + /** + * 过滤停产设备id + */ + protected List filterOpenDeviceIds(List deviceIds) { + if (CollectionUtil.isEmpty(deviceIds)) { + return new ArrayList<>(); + } + List deviceTargetIds = deviceIds.stream().map(this::getDeviceId).collect(Collectors.toList()); + List> idsPage = Lists.partition(deviceTargetIds, 200); + List basDeviceSalAnalyses = new ArrayList<>(); + idsPage.forEach(i->{ + List list = basDeviceSalAnalysisMapper.selectList(Wrappers.lambdaQuery().in(BasDeviceSalAnalysis::getDeviceId, i).and(wrapper -> { + wrapper.eq(BasDeviceSalAnalysis::getMonStatus,"生产").or() + .isNull(BasDeviceSalAnalysis::getMonStatus); + })); + basDeviceSalAnalyses.addAll(list); + }); + + if (CollectionUtil.isEmpty(basDeviceSalAnalyses)){ + return new ArrayList<>(); + } + //过滤出所有 != 停产的 设备 + return getOpenDeviceIds(deviceIds,basDeviceSalAnalyses); + } + + protected List getOpenDeviceIds(List deviceIds,List basDeviceSalAnalyses){ + return basDeviceSalAnalyses + .stream() + .map(BasDeviceSalAnalysis::getDeviceId) + .collect(Collectors.toList()); + } + + /** + * 获取所有可用设备id + */ + protected List queryUsableDeviceIds() { + List ids = queryDeviceIds(); + if (CollectionUtil.isEmpty(ids)){ + return new ArrayList<>(); + } + return filterOpenDeviceIds(ids); + } + + /** + * 获取分页设备条数 todo 根据行业重写 + */ + protected Integer devicePageSize() { + return 10; + } + + + /** + * 校验获取添加的异常信息 + * + * @param groupDataList 分组设备的实时数据 + * @param params 实时数据需要检测字段 + * @return 返回所有 有异常信息的字段 + */ + protected List verifyAnomaly(Map> groupDataList, Map> params) { + List amProblemFis = new ArrayList<>(); + // 校验字段数据成功去获取异常信息,失败去获取异常信息 + groupDataList.entrySet() + .stream() + .map(entry -> verify(entry.getKey(), entry.getValue(), params.get(entry.getKey()))) + .filter(CollectionUtil::isNotEmpty) + .forEach(amProblemFis::addAll); + return amProblemFis; + } + + /** + * 获取所有设备ids + */ + protected List queryDeviceIds(EnIndustry enIndustry,String dataType){ + if (enIndustry == null){ + throw new RuntimeException("queryDeviceIds is null!"); + } +// LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() +// .select(BasDevice::getDeviceId) +// .eq(BasDevice::getIndustry, enIndustry.id()) +// .eq(BasDevice::getIsStatus,"1"); +// List basDevices = basDeviceMapper.selectList(wrapper); +// return basDevices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + List basDevices = basDeviceMapper.selectListByIndustry(enIndustry.id(),dataType); + return basDevices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + } + + /** + * 根据设备ids 查询设备名称 用来填充告警信息 + */ + protected Map queryDeviceByIds(List deviceIds){ + if (CollectionUtil.isEmpty(deviceIds)){ + return new HashMap<>(); + } + deviceIds = deviceIds.stream().distinct().collect(Collectors.toList());; + List basDevices = basDeviceMapper.selectList(Wrappers.lambdaQuery().in(BasDevice::getDeviceId, deviceIds)); + if (CollectionUtil.isEmpty(basDevices)){ + return new HashMap<>(); + } + return basDevices.stream().collect(Collectors.toMap(BasDevice::getDeviceId, Function.identity(), (x,y) -> x)); + } + + /** + * 根据参数ids 查询参数名称 用来填充告警信息 + */ + protected Map queryParamsNameByIds(List paramIds){ + if (CollectionUtil.isEmpty(paramIds)){ + return new HashMap<>(); + } + paramIds = paramIds.stream().distinct().collect(Collectors.toList());; + List basParams = basParamMapper.selectList(Wrappers.lambdaQuery().in(BasParam::getParamId, paramIds)); + if (CollectionUtil.isEmpty(basParams)){ + return new HashMap<>(); + } + return basParams.stream().collect(Collectors.toMap(BasParam::getParamId, BasParam::getName, (x,y) -> x)); + } + + /** + * 根据参数ids 查询参数分析设置 + */ + protected Map queryParamsAnalyseByIds(List paramIds){ + if (CollectionUtil.isEmpty(paramIds)){ + return new HashMap<>(); + } + paramIds = paramIds.stream().distinct().collect(Collectors.toList());; + List basDeviceParamAnalyses = + basDeviceParamAnalyseMapper.selectList(Wrappers.lambdaQuery().in(BasDeviceParamAnalyse::getDeviceParamCode, paramIds)); + if (CollectionUtil.isEmpty(basDeviceParamAnalyses)){ + return new HashMap<>(); + } + return basDeviceParamAnalyses.stream() + .filter(this::filterDeviceParamTaskSwitch) + .collect(Collectors.toMap(BasDeviceParamAnalyse::getDeviceParamCode, Function.identity(), (x,y) -> x)); + } + + /** + * 各任务 实现 参数过滤逻辑 + */ + protected abstract boolean filterDeviceParamTaskSwitch(BasDeviceParamAnalyse analyse); + /** + * 获取所有设备ids + * 需要自行实现 + */ + protected abstract List queryDeviceIds(); + + /** + * 获取实时数据 + * + * @return + */ + protected abstract List queryReal(List deviceIds,Date startTime,Date endTime); + + /** + * 实时数据分组 + * + * @param dataReal 实时数据 + * @return String = 设备唯一标识 , List 设备实时数据 + */ + protected abstract Map> groupDeviceRealList(List dataReal,List deviceIds); + + /** + * 设备数据预警校验 + * + * @param deviceId 设备id + * @param deviceRealData 设备id 对应的实时数据 + * @param deviceBindOnlineParams 校验参数信息 + * @return 返回异常信息 修改 或 新增 , 如果没有要修改的返回 null + */ + protected abstract List verify(String deviceId, List deviceRealData, List deviceBindOnlineParams); + + /** + * 获取查询实时表开始时间 + */ + protected abstract Date getQueryDataStartDateTime(); + + /** + * 获取查询实时表结束时间 + */ + protected abstract Date getQueryDataEndDateTime(); + + protected String getDeviceId(String deviceId){ + return deviceId; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/DataConstantAbstractService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/DataConstantAbstractService.java new file mode 100644 index 0000000..af68a9e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/DataConstantAbstractService.java @@ -0,0 +1,221 @@ +package cn.cecep.talroad.data.analyse.task.constant; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.entity.PreAmProblemFi; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.BasThresholdConfigMapper; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 数据恒定抽象处理类 + */ +@Slf4j +public abstract class DataConstantAbstractService extends DataAnomalyAbstractService { + + /** + * 数据异常判断配置 code 正常来说 如果不变的情况下 走默认 异常来不及修改情况可从配置获取 + */ + @Value("${data.logic.code:S02}") + private String earlyWarningParamCode; + + /** + * 数据异常判断阈值 恒定时间 默认 6小时 + */ + @Value("${data.logic.default.threshold:5}") + private Integer defaultThreshold; + + @Autowired + private BasThresholdConfigMapper basThresholdConfigMapper; + + @Override + protected List verify(String deviceId, List deviceRealData, List deviceBindOnlineParams) { + Map paramsMap = deviceBindOnlineParams.stream().collect(Collectors.toMap(BasDeviceParamListVo::getParamId, Function.identity())); + Map> paramAllValue = getColumnParamValue(deviceRealData, new ArrayList<>(paramsMap.keySet())); + List preAmProblemFis = new ArrayList<>(); + Map pMap = new HashMap<>(); + for (Map.Entry> entry : paramAllValue.entrySet()) { + List values = entry.getValue(); + //去重 + List collect = values.stream().distinct().collect(Collectors.toList()); + if (collect.size() != 1){ + //只要去重后 数据不等于1 就代表不是恒定的 直接结束 + continue; + } + BasDeviceParamListVo deviceParam = paramsMap.get(entry.getKey()); + if (deviceParam == null){ + continue; + } + String startTime = getLogicExceptionsDate(deviceRealData.get(0)); + String endTime = getLogicExceptionsDate(deviceRealData.get(deviceRealData.size() - 1)); + preAmProblemFis.add(new PreAmProblemFi(deviceId,entry.getKey(),startTime,endTime)); + } + //无异常情况 直接退出 + if (CollectionUtil.isEmpty(preAmProblemFis)){ + return new ArrayList<>(); + } + //获取 预警设备 和参数的名称 用来组装预警信息 + List deviceIds = preAmProblemFis.stream().map(PreAmProblemFi::getDeviceId).distinct().collect(Collectors.toList()); + List paramIds = preAmProblemFis.stream().map(PreAmProblemFi::getParamId).distinct().collect(Collectors.toList()); + Map deviceMap = queryDeviceByIds(deviceIds); + Map paramsNameByIds = queryParamsNameByIds(paramIds); + Map paramAnalyseMap = queryParamsAnalyseByIds(paramIds); + return convertPreAmProblemFiToAmProblemFi(preAmProblemFis,deviceMap,paramsNameByIds,paramAnalyseMap,pMap,deviceId); + } + + public List convertPreAmProblemFiToAmProblemFi(List preAmProblemFis, + Map deviceMap, + Map paramsNameByIds, + Map paramAnalyseMap, + Map pMap, + String deviceId){ + List result = new ArrayList<>(); + + for (PreAmProblemFi preAmProblemFi : preAmProblemFis) { + BasDeviceParamAnalyse basDeviceParamAnalyse = paramAnalyseMap.get(preAmProblemFi.getParamId()); + String dataType = "1"; + if (basDeviceParamAnalyse != null){ + dataType = basDeviceParamAnalyse.getDataType(); + } + //生成告警信息 + FactoryDeviceVo factoryDeviceVo = new FactoryDeviceVo(); + BasDevice basDevice = deviceMap.get(deviceId); + if (basDevice == null){ + log.error("设备信息不存在!deviceId:{}",deviceId); + continue; + } + factoryDeviceVo.setDeviceName(basDevice.getName()); + factoryDeviceVo.setDeviceId(deviceId); + factoryDeviceVo.setFactoryId(basDevice.getFactoryId()); + + //构建报警信息 + String msg = buildMsg(basDevice.getName(),paramsNameByIds.get(preAmProblemFi.getParamId()), + preAmProblemFi.getStartTime(),preAmProblemFi.getEndTime()); + //构建报警实体 + AmProblemFi amProblemFi = doProcessAlaram(factoryDeviceVo,dataType, + DateUtils.parseDate(preAmProblemFi.getStartTime()), + DateUtils.parseDate(preAmProblemFi.getEndTime()), + ProblemTypeEnum.SJLJYC, msg, + paramsNameByIds.get(preAmProblemFi.getParamId()), preAmProblemFi.getParamId()); + + if(amProblemFi!=null){ + String key = deviceId+preAmProblemFi.getParamId(); + String value = pMap.get(key); + if(StringUtils.isEmpty(value)){ + pMap.put(key,deviceId); + result.add(amProblemFi); + } + } + } + return result; + } + + /** + * 构建报警信息 + */ + private String buildMsg(String deviceName,String paramName,String start,String end){ + return deviceName + "-" + + paramName + "-于报警开始时间(" + + start + ")至报警结束时间(" + + end + "出现数据连续恒定情况"; + } + + /** + * 构建报警信息实体 + */ + private AmProblemFi doProcessAlaram(FactoryDeviceVo vo,String problemSources, + Date start, Date end, ProblemTypeEnum problemType, String msg, String param , String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setId(IdUtil.simpleUUID()); + problemFi.setProblemSources(problemSources); + problemFi.setFactoryId(vo.getFactoryId()); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(vo.getDeviceId()); + problemFi.setStationName(vo.getDeviceName()); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setInputStartTime(DateUtils.dateTime()); + problemFi.setInputEndTime(DateUtils.dateTime()); + problemFi.setParamProperty(paramProperty); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",vo.getDeviceId()); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + /** + * 获取逻辑异常时间 + */ + protected abstract String getLogicExceptionsDate(T entity); + + /** + * 获取查询实时表开始时间 + */ + protected Date getQueryDataStartDateTime(){ + BasThresholdConfig thresholdConfig = basThresholdConfigMapper.selectByParamCode(earlyWarningParamCode); + Calendar calendar = Calendar.getInstance(); + if (thresholdConfig == null || thresholdConfig.getThresholdValue() == null){ + calendar.set(Calendar.HOUR_OF_DAY, (calendar.get(Calendar.HOUR_OF_DAY) - defaultThreshold)); + return calendar.getTime(); + } + int thresholdValue = thresholdConfig.getThresholdValue().intValue(); + if ("小时".equals(thresholdConfig.getUnit())){ + calendar.set(Calendar.HOUR_OF_DAY, (calendar.get(Calendar.HOUR_OF_DAY) - thresholdValue)); + }else if ("分钟".equals(thresholdConfig.getUnit())){ + calendar.set(Calendar.MINUTE, (calendar.get(Calendar.MINUTE) - thresholdValue)); + } + return calendar.getTime(); + } + + /** + * 获取查询实时表结束时间 + */ + protected Date getQueryDataEndDateTime(){ + return Calendar.getInstance().getTime(); + } + + @Override + protected boolean filterDeviceParamTaskSwitch(BasDeviceParamAnalyse analyse){ + return "1".equals(analyse.getContourEw()); + } + + /** + * 获取所有设备ids + * 需要自行实现 + */ + protected abstract List queryDeviceIds(); + + /** + * 获取实时数据 + * + * @return + */ + protected abstract List queryReal(List deviceIds,Date startTime,Date endTime); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/BurnDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/BurnDataConstantService.java new file mode 100644 index 0000000..77475c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/BurnDataConstantService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevFsRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 焚烧 + */ +@Slf4j +@Service +public class BurnDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevFsRealMapper mapper; + + @Override + protected List queryDeviceIds() { + //恒值 + return queryDeviceIds(EnIndustry.FS, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevFsReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevFsReal::getDeviceId, deviceIds) + .eq(MonDevFsReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevFsReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevFsReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CementDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CementDataConstantService.java new file mode 100644 index 0000000..32d5bd1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CementDataConstantService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevSnRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 水泥 + */ +@Slf4j +@Service +public class CementDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevSnRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 恒值 + return queryDeviceIds(EnIndustry.SN, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevSnReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevSnReal::getDeviceId, deviceIds) + .eq(MonDevSnReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevSnReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevSnReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CokingDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CokingDataConstantService.java new file mode 100644 index 0000000..8b6b7e6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/CokingDataConstantService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevJhRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 焦化 + */ +@Slf4j +@Service +public class CokingDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevJhRealMapper mapper; + + @Override + protected List queryDeviceIds() { + return queryDeviceIds(EnIndustry.JH, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("data_id","factory_id","device_id","time_type","data_time","js100","js101","js102","js103","js104","jz100","jz101","jz102","jz103","jz105","jz106","jz107","jz108","jz109","jz110","js200","js201","js202","js203","g141","g314","g329","g330","g604","g605","g606","g942","g943","g944","g945","g949","g951","g952","g956","g957","g958","g960","g961","g962","g963","g964","g965","g966","g967","g968","g969","g970","g971","g972","g973","g974","g975","g976","g977","g978","g979","g980","g981","g982","g993","g994","g995","gb08","gb09","gb11","gb12","gb13","ppm_cc1","ppm_cc2","ppm_unit_cc1","ppm_unit_cc2","addi_param","a100","a101","a102","a103","a104","a105","a111","\"txjVol\"","a120","a121","a130","a131","a140","a141","g140","g318","g325","g601","g959","h959","h960","j959","j960"); + queryWrapper.in("device_id", deviceIds); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",startTime,endTime); + return mapper.selectList(queryWrapper); + } + + @Override + protected Map> groupDeviceRealList(List dataReal, List deviceIds) { + return null; + } + + @Override + protected String getLogicExceptionsDate(MonDevJhReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/ElecDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/ElecDataConstantService.java new file mode 100644 index 0000000..779f5cc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/ElecDataConstantService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.data.analyse.task.entity.DeviceSitVo; +import cn.cecep.talroad.data.analyse.task.real.device.impl.ElecDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonElecReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class ElecDataConstantService extends DataConstantAbstractService { + + @Autowired + private ElecDataDeviceRealService elecDataRealService; + + @Override + protected List queryDeviceIds() { + return elecDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return elecDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return elecDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(MonElecReal entity) { + return elecDataRealService.getLogicExceptionsDate(entity); + } + + @Override + protected String getDeviceId(String deviceId) { + return DeviceSitVo.parse(deviceId).getDeviceId(); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = DeviceSitVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getDeviceId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return DeviceSitVo.toJsonString(mainProductDeviceVos); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GasDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GasDataConstantService.java new file mode 100644 index 0000000..c44e16b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GasDataConstantService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.GasDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class GasDataConstantService extends DataConstantAbstractService { + + @Autowired + private GasDataDeviceRealService gasDataRealService; + + @Override + protected List queryDeviceIds() { + return gasDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return gasDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return gasDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvGasMonReal entity) { + return gasDataRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GlassDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GlassDataConstantService.java new file mode 100644 index 0000000..684a70a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/GlassDataConstantService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevBlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 玻璃 + */ +@Slf4j +@Service +public class GlassDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevBlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 恒值 + return queryDeviceIds(EnIndustry.BL, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevBlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevBlReal::getDeviceId, deviceIds) + .eq(MonDevBlReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevBlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevBlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/PowerDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/PowerDataConstantService.java new file mode 100644 index 0000000..badf4b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/PowerDataConstantService.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.MonDevDlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 电力 + */ +@Slf4j +@Service +public class PowerDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevDlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 恒值 + return queryDeviceIds(EnIndustry.DL, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevDlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevDlReal::getDeviceId, deviceIds) + .between(MonDevDlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevDlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/SteelDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/SteelDataConstantService.java new file mode 100644 index 0000000..fd4742a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/SteelDataConstantService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 钢铁 + */ +@Slf4j +@Service +public class SteelDataConstantService extends DataConstantAbstractService { + + @Autowired + private MonDevRealMapper mapper; + + @Override + protected List queryDeviceIds() { + //恒值 + return queryDeviceIds(EnIndustry.GT, DataTypeEnum.CONTANT.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevReal::getDeviceId, deviceIds) + .eq(MonDevReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/WaterDataConstantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/WaterDataConstantService.java new file mode 100644 index 0000000..8787957 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/constant/impl/WaterDataConstantService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.constant.impl; + +import cn.cecep.talroad.data.analyse.task.constant.DataConstantAbstractService; +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.impl.WaterDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class WaterDataConstantService extends DataConstantAbstractService { + + @Autowired + private WaterDataDeviceRealService waterRealService; + + @Override + protected List queryDeviceIds() { + return waterRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return waterRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return waterRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvWaterMonReal entity) { + return waterRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ConcentrationEntity.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ConcentrationEntity.java new file mode 100644 index 0000000..4605f55 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ConcentrationEntity.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-03 14:06 + * @Description + * + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ConcentrationEntity { + + @ApiModelProperty("企业id") + private String factoryId; + + @ApiModelProperty("站点id") + private String stationId; + + @ApiModelProperty("检测时间") + private Date date; + + @ApiModelProperty("污染物Code") + private String pollCode; + + @ApiModelProperty("污染物浓度") + private BigDecimal concentration; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/DeviceSitVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/DeviceSitVo.java new file mode 100644 index 0000000..1fc18a9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/DeviceSitVo.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import cn.cecep.talroad.domain.BasDeviceSite; +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 分表计电设备点位 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class DeviceSitVo { + + private String id; + + private String deviceId; + + public static List toDeviceSitVo(List basDeviceSites){ + List deviceSitVos = basDeviceSites.stream().map((basDeviceSite) -> { + DeviceSitVo deviceSitVo = new DeviceSitVo(); + BeanUtils.copyProperties(basDeviceSite, deviceSitVo); + return deviceSitVo; + }).collect(Collectors.toList()); + return deviceSitVos; + } + + public static List toJsonString(List deviceSitVos){ + return deviceSitVos.stream().map(DeviceSitVo::toJsonString).collect(Collectors.toList()); + } + + public static String toJsonString(DeviceSitVo deviceSitVo){ + return JSONObject.toJSONString(deviceSitVo); + } + + public static List parse(List jsonData){ + return jsonData.stream().map(DeviceSitVo::parse).collect(Collectors.toList()); + } + + public static DeviceSitVo parse(String jsonData){ + return JSONObject.parseObject(jsonData,DeviceSitVo.class); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/FactoryActivePowerQuantityVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/FactoryActivePowerQuantityVO.java new file mode 100644 index 0000000..25b5910 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/FactoryActivePowerQuantityVO.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 17:29:02 + * @version: + * @Description: + */ +@Data +public class FactoryActivePowerQuantityVO { + + private BigDecimal activePowerQuantitySum; + + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/MainProductDeviceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/MainProductDeviceVo.java new file mode 100644 index 0000000..1668d8a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/MainProductDeviceVo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.beans.BeanUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 站点设备信息 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class MainProductDeviceVo { + + private String id; + + private String proFacilityId; + + private String outletId; + + private String outletCode; + + public static List groupDevice(List mainProductDeviceVos){ + List groupDevice = new ArrayList<>(); + for (MainProductDeviceVo mainProductDeviceVo : mainProductDeviceVos) { + String[] split = mainProductDeviceVo.getProFacilityId().split(","); + List collect = Arrays.stream(split).map((s -> { + MainProductDeviceVo mainProductDeviceVo1 = new MainProductDeviceVo(); + BeanUtils.copyProperties(mainProductDeviceVo, mainProductDeviceVo1); + mainProductDeviceVo1.setProFacilityId(s); + return mainProductDeviceVo1; + })).collect(Collectors.toList()); + groupDevice.addAll(collect); + } + return groupDevice; + } + + public static List toJsonString(List mainProductDeviceVos){ + return mainProductDeviceVos.stream().map(MainProductDeviceVo::toJsonString).collect(Collectors.toList()); + } + + public static String toJsonString(MainProductDeviceVo mainProductDeviceVo){ + return JSONObject.toJSONString(mainProductDeviceVo); + } + + public static List parse(List jsonData){ + return jsonData.stream().map(MainProductDeviceVo::parse).collect(Collectors.toList()); + } + + public static MainProductDeviceVo parse(String jsonData){ + return JSONObject.parseObject(jsonData,MainProductDeviceVo.class); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantChangeVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantChangeVO.java new file mode 100644 index 0000000..90a4392 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantChangeVO.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: Frank + * @createTime: 2023年07月19日 22:51:40 + * @version: + * @Description: + */ +@Data +@AllArgsConstructor +public class PollutantChangeVO { + + private String factoryId; + + private BigDecimal actualEmissions; + + private String cityCode; + + private String cityName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantEntity.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantEntity.java new file mode 100644 index 0000000..97db28c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PollutantEntity.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.stream.Collectors; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-03 10:25 + * @Description + * + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class PollutantEntity { + + @ApiModelProperty("属性名称") + private String propName; + + @ApiModelProperty("污染物代码") + private String pollutantsCode; + + @ApiModelProperty("污染物名称") + private String pollutantsName; + + public static List getAllProp(List pollutantEntities){ + return pollutantEntities.stream().map(PollutantEntity::getPropName).collect(Collectors.toList()); + } + + public static List getAllPollCode(List pollutantEntities){ + return pollutantEntities.stream().map(PollutantEntity::getPollutantsCode).collect(Collectors.toList()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PreAmProblemFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PreAmProblemFi.java new file mode 100644 index 0000000..76dc3e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/PreAmProblemFi.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author hehongyu + * @description: 预添加 到 实际添加时的 预处理 实体类 + * @date 2023/6/10 3:51 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PreAmProblemFi { + private String deviceId; + + private String paramId; + + private String startTime; + + private String endTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ProblemRatioDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ProblemRatioDTO.java new file mode 100644 index 0000000..049b7c3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/ProblemRatioDTO.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.data.anomaly.task.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 预警比例表单类 + */ +@Data +@ApiModel(value = "预警比例dto") +public class ProblemRatioDTO { + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "监测点id") + private String stationId; + + @ApiModelProperty(value = "污染物id") + private String pollId; + + @ApiModelProperty(value = "预警比例") + private String problemRatio; + + @ApiModelProperty("预警条数") + private Integer warnNumber; + + @ApiModelProperty("报警条数") + private Integer alarmNumber; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/SimpleSRaFactoryTransferRateAnalysis.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/SimpleSRaFactoryTransferRateAnalysis.java new file mode 100644 index 0000000..240ec76 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/entity/SimpleSRaFactoryTransferRateAnalysis.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.data.analyse.task.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @author hehongyu + * @description: 企业传输率 简易实体 + * @date 2023/6/28 23:35 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SimpleSRaFactoryTransferRateAnalysis { + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "分表计电-传输率") + private BigDecimal elecTransmissionRate; + + @ApiModelProperty(value = "无组织管控-传输率") + private BigDecimal unorganizedTransmissionRate; + + @ApiModelProperty(value = "dcs监控数据-传输率-工况") + private BigDecimal dcsTransmissionRate; + + @ApiModelProperty(value = "在线监测-传输率") + private BigDecimal onlineMonitoringRate; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/DataAnomalyFactoryServiceEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/DataAnomalyFactoryServiceEnum.java new file mode 100644 index 0000000..b0f7a66 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/DataAnomalyFactoryServiceEnum.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.data.analyse.task.enums; + +import com.google.common.collect.Lists; +import lombok.Getter; + +import java.util.List; + +/** + * @author hehongyu + * @description: 获取实现类枚举 + * @date 2023/6/10 5:14 + */ +@Getter +public enum DataAnomalyFactoryServiceEnum { + /** + * 数据逻辑异常 + */ + LOGIC_GT, //钢铁 + LOGIC_JH, //焦化 + LOGIC_SN, //水泥 + LOGIC_BL, //玻璃 + LOGIC_DL, //电力 + LOGIC_FS, //焚烧 + LOGIC_WATER,//废水 + LOGIC_GAS,// 废气 + + /** + * 数据恒定 + */ + CONSTANT_GT, //钢铁 + CONSTANT_JH, //焦化 + CONSTANT_SN, //水泥 + CONSTANT_BL, //玻璃 + CONSTANT_DL, //电力 + CONSTANT_FS, //焚烧 + + CONSTANT_WATER,//废水 + CONSTANT_GAS,// 废气 + CONSTANT_ELEC,//分电 + CONSTANT_WZZJC,//无组织监测测试接口 + CONSTANT_WZZWZJC,//无组织微站监测测试接口 + CONSTANT_WGHSH,//ods层网格化市控站点小时增量测试接口 + CONSTANT_WGHWEI,//ods层网格化微站站点小时增量 + + /** + * 数据缺失 + */ + MISSING_GT, //钢铁 + MISSING_JH, //焦化 + MISSING_SN, //水泥 + MISSING_BL, //玻璃 + MISSING_DL, //电力 + MISSING_FS, //焚烧 + + MISSING_WATER,//废水 + MISSING_GAS,// 废气 + MISSING_ELEC,//分电 + ; + + public static List getLogicCodes(){ + return Lists.newArrayList(LOGIC_GT, LOGIC_JH, LOGIC_SN, LOGIC_BL, LOGIC_DL, LOGIC_FS , LOGIC_WATER , LOGIC_GAS); + } + + public static List getConstantCodes(){ + return Lists.newArrayList(CONSTANT_GT, CONSTANT_JH, CONSTANT_SN, CONSTANT_BL, CONSTANT_DL, CONSTANT_FS,CONSTANT_WATER,CONSTANT_GAS,CONSTANT_ELEC); + } + + public static List getMissingCodes(){ + return Lists.newArrayList(MISSING_GT, MISSING_JH, MISSING_SN, MISSING_BL, MISSING_DL, MISSING_FS , MISSING_WATER , MISSING_GAS , MISSING_ELEC); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/ExecuteReportEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/ExecuteReportEnum.java new file mode 100644 index 0000000..a12bbeb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/ExecuteReportEnum.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.data.analyse.task.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author hehongyu + * @description: 执行报告相关枚举 仅用于执行报告的枚举 不通用 + * @date 2023/8/1 22:20 + */ +@Getter +@AllArgsConstructor +public enum ExecuteReportEnum { + TAKE_DRAINAGE("取排水","取排水"), + MAIN_PRODUCTS("主要产品","主要产品"), + ENERGY("能源","能源"), + ENERGY_CONSUMPTION("能源消耗","能源消耗"), + RUNTIME_AND_PRODUCTION_LOAD("运行时间和生产负荷","运行时间和生产负荷"), + ACCESSORIES("辅料","辅料"), + RAW_MATERIAL("原料","原料"), + PLANNED_INVESTMENT_IN_POLLUTIO("污染治理设施计划投资情况","污染治理设施计划投资情况"), + + ; + private final String code; + private final String name; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/LimestoneDataAnomalyFactoryServiceEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/LimestoneDataAnomalyFactoryServiceEnum.java new file mode 100644 index 0000000..d8cc49f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/enums/LimestoneDataAnomalyFactoryServiceEnum.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.data.analyse.task.enums; + +import lombok.Getter; + +@Getter +public enum LimestoneDataAnomalyFactoryServiceEnum { + + DRY_STEEL, //钢铁 + + // 湿 + WET_DL, // 电力 + WET_STEEL // 钢铁 + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessService.java new file mode 100644 index 0000000..f0d4c90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessService.java @@ -0,0 +1,8 @@ +package cn.cecep.talroad.data.analyse.task.execute.report; + + +public interface PollutionDischargeProcessService { + + void process(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessServiceImpl.java new file mode 100644 index 0000000..562d1be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/PollutionDischargeProcessServiceImpl.java @@ -0,0 +1,152 @@ +package cn.cecep.talroad.data.analyse.task.execute.report; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import cn.cecep.talroad.mapper.BStatTableZxbgJbxxInfoMapper; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSON; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @Author: Frank + * @createTime: 2023年07月25日 15:27:24 + * @version: + * @Description: + */ +@Service +@AllArgsConstructor +@Slf4j +public class PollutionDischargeProcessServiceImpl implements PollutionDischargeProcessService { + + private final BStatTableZxbgJbxxInfoMapper bStatTableZxbgJbxxInfoMapper; + + private final IAmProblemFiService amProblemFiService; + + private final Integer pageSize = 1000; + + + private List queryData() { + String period = LocalDate.now().minusMonths(1).toString().substring(0, 7); + List records = Lists.newArrayList("原料", "主要原料用量", "能源消耗", "运行时间和生产负荷", "主要产品产量", "取排水"); + List bStatTableZxbgJbxxInfoList = bStatTableZxbgJbxxInfoMapper.selectByPeriodAndPeriod("0", period, records); + log.info("查询出排污单位基本信息表数据:{}", bStatTableZxbgJbxxInfoList); + return bStatTableZxbgJbxxInfoList; + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public void process() { + + List amProblemFis = Lists.newArrayList(); + PageHelper.startPage(1, pageSize); + List dataList = queryData(); + PageInfo dataListPage = new PageInfo<>(dataList); + addProblem(dataListPage.getList(), amProblemFis); + int pages = dataListPage.getPages(); + if (pages <= 1) { + //如果只有一页 阻断 + return; + } + for (int i = 2; i <= pages; i++) { + PageHelper.startPage(i, pageSize); + List data = queryData(); + PageInfo pageInfo = new PageInfo<>(data); + addProblem(pageInfo.getList(), amProblemFis); + } + + if (CollUtil.isNotEmpty(amProblemFis)) { + List> partition = ListUtils.partition(amProblemFis, 2000); + for (List amProblemFi : partition) { + log.info("---------------:{}", JSON.toJSONString(amProblemFi)); + amProblemFiService.saveBatch(amProblemFi); + } + } + } + + + private AmProblemFi buildAmProblemFi(String factoryId, String message) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setId(IdUtil.simpleUUID()); + problemFi.setFactoryId(factoryId); + problemFi.setType(1); + problemFi.setCreateTime(new Date()); + problemFi.setInputStartTime(DateUtils.dateTime()); + problemFi.setInputEndTime(DateUtils.dateTime()); + problemFi.setProblemTreatmentState("1"); + problemFi.setProblemDetails(message); + return problemFi; + } + + + private void addProblem(List bStatTableZxbgJbxxInfos, List amProblemFis) { + Map> mapData = bStatTableZxbgJbxxInfos.stream().collect(Collectors.groupingBy(BStatTableZxbgJbxxInfo::getFactoryId)); + for (Map.Entry> entry : mapData.entrySet()) { + List value = entry.getValue(); + String factoryId = entry.getKey(); + if (CollUtil.isNotEmpty(value)) { + List data = entry.getValue().stream().map(BStatTableZxbgJbxxInfo::getZxbgParam).filter(StringUtils::isNotEmpty).collect(Collectors.toList()); + if (isParamAllEmpty(data)) { + log.info("企业ID:{},提示语句:{}", factoryId, "未填报排污单位基本信息表"); + amProblemFis.add(buildAmProblemFi(factoryId, "未填报排污单位基本信息表")); + continue; + } + Map> map = value.stream().collect(Collectors.groupingBy(BStatTableZxbgJbxxInfo::getZxbgRecord)); + paramAnyEmpty(map, entry.getKey(), amProblemFis); + runTimeExceedThreshold(map, factoryId, amProblemFis); + //TODO .主要产品产量超过许可证中设计产能 + } + } + } + + private void runTimeExceedThreshold(Map> mapData, String factoryId, List amProblemFis) { + List infos = mapData.get("运行时间和生产负荷"); + for (BStatTableZxbgJbxxInfo info : infos) { + if (Objects.nonNull(info) && Objects.nonNull(info.getZxbgNum()) && info.getZxbgNum() > 8760) { + log.info("企业ID:{},提示语句:{}", factoryId, "生产单元”正常运行时间超过8760小时不规范"); + amProblemFis.add(buildAmProblemFi(factoryId, "生产单元”正常运行时间超过8760小时不规范")); + } + } + } + + + private boolean isParamAllEmpty(List stringList) { + for (String str : stringList) { + if (!(StringUtils.isEmpty(str) || str.equals("/"))) { + return false; + } + } + return true; + } + + private void paramAnyEmpty(Map> mapData, String factoryId, List amProblemFis) { + for (Map.Entry> entry : mapData.entrySet()) { + List value = entry.getValue(); + for (BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo : value) { + String zxbgParam = bStatTableZxbgJbxxInfo.getZxbgParam(); + if (StringUtils.isEmpty(zxbgParam) || zxbgParam.equals("/")) { + log.info("企业ID:{},提示语句:{}", factoryId, "未填报【" + bStatTableZxbgJbxxInfo.getZxbgRecord() + "】排污单位基本信息表"); + amProblemFis.add(buildAmProblemFi(factoryId, "排污单位基本信息表中" + bStatTableZxbgJbxxInfo.getZxbgRecord() + "未填报数据")); + } + } + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesService.java new file mode 100644 index 0000000..91e6b3f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesService.java @@ -0,0 +1,9 @@ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications; + +public interface PollutionPreventionAndControlFacilitiesService { + + void normalSewageProcess(); + + void abnormalCircumstanceProcess(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesServiceImpl.java new file mode 100644 index 0000000..24701fe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/PollutionPreventionAndControlFacilitiesServiceImpl.java @@ -0,0 +1,204 @@ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications; + +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlAbnormalitiesMapper; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlTotalMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditResultMapper; +import cn.hutool.core.collection.CollUtil; +import com.google.common.collect.Lists; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +@Slf4j +public class PollutionPreventionAndControlFacilitiesServiceImpl implements PollutionPreventionAndControlFacilitiesService { + + private final BStatTableZxbgWrzlTotalMapper bStatTableZxbgWrzlTotalMapper; + + private final SRaActionReportsAuditResultMapper sRaActionReportsAuditResultMapper; + + private final BStatTableZxbgWrzlAbnormalitiesMapper bStatTableZxbgWrzlAbnormalitiesMapper; + + private final Integer pageSize = 10; + + private List queryTotalData(String pollutant, String period, String type, List factoryIds) { + List sRaActionReportsAuditResultList = bStatTableZxbgWrzlTotalMapper.selectByPeriodAndTypeAndRecords(pollutant, period, type, factoryIds); + log.info("查询出污染治理设施正常情况汇总基本信息表数据:{}", sRaActionReportsAuditResultList); + return sRaActionReportsAuditResultList; + } + + private List queryAbnormalitiesData(String period, String type, List factoryIdList) { + List bStatTableZxbgWrzlAbnormalities = bStatTableZxbgWrzlAbnormalitiesMapper.queryAbnormalitiesData(period, type, factoryIdList); + log.info("查询出污染防治设施异常情况汇总表数据:{}", bStatTableZxbgWrzlAbnormalities); + return bStatTableZxbgWrzlAbnormalities; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void normalSewageProcess() { + + String period = LocalDate.now().toString().substring(0, 4); + List actionReportsAuditResults = Lists.newArrayList(); + + SRaActionReportsAuditResult queryResult = new SRaActionReportsAuditResult(); + queryResult.setReportTime(period); + List queryActionReportsAuditResults = sRaActionReportsAuditResultMapper.selectSRaActionReportsAuditResultList(queryResult); + List factoryIdList = queryActionReportsAuditResults.stream().map(SRaActionReportsAuditResult::getFactoryId).collect(Collectors.toList()); + List dataList = queryTotalData("废水", period, "2", factoryIdList); + //插入对应的提示 + for (SRaActionReportsAuditResult queryActionReportsAuditResult : queryActionReportsAuditResults) { + updateActionReportsAuditResultByTotal(dataList, actionReportsAuditResults, queryActionReportsAuditResult); + } + if (CollUtil.isNotEmpty(actionReportsAuditResults)) { + List> partition = ListUtils.partition(actionReportsAuditResults, 10); + for (List sRaActionReportsAuditResultList : partition) { + sRaActionReportsAuditResultMapper.batchUpdate(sRaActionReportsAuditResultList); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void abnormalCircumstanceProcess() { + String period = LocalDate.now().toString().substring(0, 4); + List actionReportsAuditResults = Lists.newArrayList(); + SRaActionReportsAuditResult queryResult = new SRaActionReportsAuditResult(); + queryResult.setReportTime(period); + List queryActionReportsAuditResults = sRaActionReportsAuditResultMapper.selectSRaActionReportsAuditResultList(queryResult); + List factoryIdList = queryActionReportsAuditResults.stream().map(SRaActionReportsAuditResult::getFactoryId).collect(Collectors.toList()); + + List abnormalities = queryAbnormalitiesData(period, "2", factoryIdList); + //插入对应的提示 + for (SRaActionReportsAuditResult queryActionReportsAuditResult : queryActionReportsAuditResults) { + updateActionReportsAuditResultByAbnormalities(abnormalities, actionReportsAuditResults, queryActionReportsAuditResult); + } + if (CollUtil.isNotEmpty(actionReportsAuditResults)) { + List> partition = ListUtils.partition(actionReportsAuditResults, 10); + for (List sRaActionReportsAuditResultList : partition) { + sRaActionReportsAuditResultMapper.batchUpdate(sRaActionReportsAuditResultList); + } + } + } + + private void updateActionReportsAuditResultByAbnormalities(List abnormalities, List actionReportsAuditResults, SRaActionReportsAuditResult queryActionReportsAuditResult) { + //todo 添加对应字段判断 shareReportGovernInfo表中的summary中包括关键词“不存在”“未发现”“未”“没有”“均正常”“无”“无异常”“全年停产”之一 + String factoryId = queryActionReportsAuditResult.getFactoryId(); + List filteredList = abnormalities.stream() + .filter(item -> item.getFactoryId().equals(factoryId)) + .collect(Collectors.toList()); + //企业对应的运行设施的数据 + if (CollUtil.isEmpty(filteredList)) { + SRaActionReportsAuditResult sRaActionReportsAuditResult = new SRaActionReportsAuditResult(); + sRaActionReportsAuditResult.setId(queryActionReportsAuditResult.getId()); + sRaActionReportsAuditResult.setAbnormalSituation("未填报污染防治设施异常情况汇总表"); + actionReportsAuditResults.add(sRaActionReportsAuditResult); + } + } + + private void updateActionReportsAuditResultByTotal(List list, List actionReportsAuditResults, SRaActionReportsAuditResult queryActionReportsAuditResult) { + StringBuilder allMessage = new StringBuilder(); + String factoryId = queryActionReportsAuditResult.getFactoryId(); + List filteredList = list.stream() + .filter(item -> item.getFactoryId().equals(factoryId)) + .collect(Collectors.toList()); + //企业对应的运行设施的数据 + if (CollUtil.isNotEmpty(filteredList)) { + Map> factoryMap = filteredList.stream() + .collect(Collectors.groupingBy(BStatTableZxbgWrzlTotal::getPollutionControlFacilityCode)); + //循环每个运行设施 + for (Map.Entry> entry : factoryMap.entrySet()) { + List value = entry.getValue(); + if (CollUtil.isNotEmpty(value)) { + BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal = value.get(0); + StringBuilder message = new StringBuilder(); + //当前设备其中一个备注包含停产跳过 + String pollutionControlFacilityCode = bStatTableZxbgWrzlTotal.getPollutionControlFacilityCode(); + String pollutionControlFacilityName = bStatTableZxbgWrzlTotal.getPollutionControlFacilityName(); + if (value.stream().anyMatch(item -> item.getRemark() != null && item.getRemark().contains("停产"))) { + continue; + } + String contentIsNotFilled = this.isContentIsNotFilled(value); + if (StringUtils.isNotEmpty(contentIsNotFilled)) { + log.info("企业ID:{},提示语句:{}", factoryId, "废水污染治理设施正常运转情况表存在问题。"); + message.append("污染治理设施编号:" + pollutionControlFacilityCode + "污染治理设施名称:" + pollutionControlFacilityName + "," + contentIsNotFilled); + allMessage.append(message); + allMessage.append(";"); + continue; + } + if (theTimingIsIrregular(value)) { + log.info("企业ID:{},提示语句:{}", factoryId, "运行时间超过8760小时不规范。"); + message.append("污染治理设施编号" + pollutionControlFacilityCode + "污染治理设施名称" + pollutionControlFacilityName + ",运行时间超过8760小时不规范"); + allMessage.append(message); + allMessage.append(";"); + continue; + } + if (efficiencyIsNotStandardized(value)) { + log.info("企业ID:{},提示语句:{}", factoryId, "污染物处理效率高于100%。"); + message.append("污染治理设施编号" + pollutionControlFacilityCode + "污染治理设施名称" + pollutionControlFacilityName + ",污染物处理效率高于100%"); + allMessage.append(message); + allMessage.append(";"); + continue; + } + } + } + + } else { + allMessage.append("未填报废水污染治理设施正常运转情况表。"); + } + SRaActionReportsAuditResult sRaActionReportsAuditResult = new SRaActionReportsAuditResult(); + sRaActionReportsAuditResult.setId(queryActionReportsAuditResult.getId()); + sRaActionReportsAuditResult.setWaterPreventionFacilities(allMessage.toString()); + actionReportsAuditResults.add(sRaActionReportsAuditResult); + } + + private boolean efficiencyIsNotStandardized(List value) { + for (BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal : value) { + if (bStatTableZxbgWrzlTotal.getProcessParameter().contains("处理效率")) { + if (Integer.parseInt(bStatTableZxbgWrzlTotal.getAmount()) > 100) { + return true; + } + } + } + return false; + } + + private boolean theTimingIsIrregular(List value) { + for (BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal : value) { + if (bStatTableZxbgWrzlTotal.getProcessParameter().contains("运行时间")) { + if (Integer.parseInt(bStatTableZxbgWrzlTotal.getAmount()) > 8760) { + return true; + } + } + } + return false; + } + + + private String isContentIsNotFilled(List value) { + //todo 运行参数 可能需要修改 + for (BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal : value) { + String processParameter = bStatTableZxbgWrzlTotal.getProcessParameter(); + String amount = bStatTableZxbgWrzlTotal.getAmount(); + if (processParameter.contains("运行时间") + || processParameter.contains("污水处理量") + || processParameter.contains("药剂使用量")) { + if (StringUtils.isEmpty(amount) || amount.equals("/")) { + return processParameter + "内容未填报"; + } + } + } + return null; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/abstractserivce/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/abstractserivce/package-info.java new file mode 100644 index 0000000..f52a567 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/abstractserivce/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 抽象类 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.abstractserivce; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/constant/ExecuteReportConstant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/constant/ExecuteReportConstant.java new file mode 100644 index 0000000..384a614 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/constant/ExecuteReportConstant.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.constant; + +/** + * @author hehongyu + * @description: 执行报告相关常量 仅用于执行报告的常量 不通用 + * @date 2023/8/1 22:18 + */ +public class ExecuteReportConstant { + /** + * 年度运行时间 8760 + */ + public static final int RUNTIME_DURATION = 8760; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/AnomalyAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/AnomalyAnalysisService.java new file mode 100644 index 0000000..f7a8cfb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/AnomalyAnalysisService.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.month; + +import cn.cecep.talroad.domain.BMainActionReports; +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import cn.cecep.talroad.enums.EmlTypeEnums; +import cn.cecep.talroad.mapper.BMainActionReportsMapper; +import cn.cecep.talroad.mapper.BMainPollDisEnforcementMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditMapper; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author hehongyu + * @description: 执行报告异常分析行为 + * @date 2023/8/6 19:34 + */ +@Slf4j +@Service +public class AnomalyAnalysisService { + @Autowired + private BMainPollDisEnforcementMapper enforcementMapper; + + @Autowired + private BMainActionReportsMapper reportsMapper; + + @Autowired + private SRaActionReportsAuditMapper actionReportsAuditMapper; + /** + * 分析任务 + * 应提交企业数量:把所有需要填报这个报告类型的企业数量加总。 + * 已提交企业数量:目前已经提交个这个报告的企业数量加总。 + * 提交率:已提交企业数量/应提交企业数量 + */ + public void execute(EmlTypeEnums type){ + log.info("执行报告异常分析行为 类型 :{}",type); + Integer shouldSubmitCount = countShouldSubmit(type); + //只有月报可能会跳过 + if (shouldSubmitCount == 0 && EmlTypeEnums.MONTH.equals(type)){ + log.info("执行报告异常分析行为 无应该提交的报表数据 "); + return; + } + Integer alreadySubmitCount = countAlreadySubmit(type); + BigDecimal rate = BigDecimal.ZERO; + if (alreadySubmitCount != 0){ + rate = new BigDecimal(alreadySubmitCount).divide(new BigDecimal(shouldSubmitCount),BigDecimal.ROUND_FLOOR); + } + SRaActionReportsAudit sRaActionReportsAudit = new SRaActionReportsAudit(); + sRaActionReportsAudit.setId(IdUtil.simpleUUID()); + sRaActionReportsAudit.setAuditStatus(1L); + sRaActionReportsAudit.setReportType(type.getSimple()); + sRaActionReportsAudit.setReportTime(getNowTime(type)); + sRaActionReportsAudit.setTotalEnterprises(shouldSubmitCount.longValue()); + sRaActionReportsAudit.setSubmittedEnterprises(alreadySubmitCount.longValue()); + sRaActionReportsAudit.setSubmissionRate(rate); + //TODO 未提交企业清单 暂时置空 + sRaActionReportsAudit.setNonSubmittedEnterprisesUrl(""); + sRaActionReportsAudit.setCreateBy("Timed tasks"); + sRaActionReportsAudit.setUpdateBy("Timed tasks"); + sRaActionReportsAudit.setCreateTime(new Date()); + sRaActionReportsAudit.setUpdateTime(new Date()); + actionReportsAuditMapper.insert(sRaActionReportsAudit); + } + + + /** + * 应该提交的企业个数 + */ + private Integer countShouldSubmit(EmlTypeEnums type){ + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + .eq(BMainPollDisEnforcement::getEmlType, type.getName()); + Integer count = enforcementMapper.selectCount(queryWrapper); + return count == null ? 0 : count; + } + + /** + * 应该已经提交的企业个数 + */ + private Integer countAlreadySubmit(EmlTypeEnums type){ + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + .eq(BMainActionReports::getReportsType, type.getCode()); + Integer count = reportsMapper.selectCount(queryWrapper); + return count == null ? 0 : count; + } + + private String getNowTime(EmlTypeEnums type){ + if (EmlTypeEnums.YEAR.equals(type)){ + return DateUtil.getYear(); + }else if (EmlTypeEnums.MONTH.equals(type)){ + return DateUtil.getYearMonth(); + }else if (EmlTypeEnums.DAY.equals(type)){ + return DateUtil.getDay(); + }else{ + //季度:202301(第一季度) + return DateUtil.getYear()+"0"+DateUtil.getQuarter(DateUtil.getMonth()); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/package-info.java new file mode 100644 index 0000000..5b9054d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/month/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 月度执行 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.month; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/other/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/other/package-info.java new file mode 100644 index 0000000..30ccdce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/other/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 其他频次的分析 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.other; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/package-info.java new file mode 100644 index 0000000..4a468c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/quarter/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/quarter/package-info.java new file mode 100644 index 0000000..70e4435 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/quarter/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 季度执行 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.quarter; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/year/package-info.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/year/package-info.java new file mode 100644 index 0000000..0396ebd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/execute/report/specifications/year/package-info.java @@ -0,0 +1,6 @@ +/** + * @description: 执行报告规范性检查 年度执行 所在包 + * @author hehongyu + * @date 2023/7/17 22:28 + */ +package cn.cecep.talroad.data.analyse.task.execute.report.specifications.year; \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/AbstractFactoryLabelChangeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/AbstractFactoryLabelChangeService.java new file mode 100644 index 0000000..0464457 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/AbstractFactoryLabelChangeService.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.data.analyse.task.factory.label.change; + +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.ListUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 16:20:10 + * @version: + * @Description: + */ +public abstract class AbstractFactoryLabelChangeService implements FactoryLabelChangeService { + + private static final Logger logger = LoggerFactory.getLogger(AbstractFactoryLabelChangeService.class); + + @Autowired + private PcLabelMapper pcLabelMapper; + + @Autowired + private PcLabelFactoryMapper pcLabelFactoryMapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Override + public boolean support(String enumId) { + return false; + } + + @Override + public void execute(FactoryLabelChangeDTO factoryLabelChangeDTO) { + logger.error("没有对应实现!"); + } + + public PcLabel obtainLabel(String labelCode) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(PcLabel::getLabelCode, labelCode) + .last("limit 1"); + List labelList = pcLabelMapper.selectList(queryWrapper); + logger.info("AbstractFactoryLabelChangeService->obtainLabel->[labelList]:{}", JSON.toJSONString(labelList)); + if (CollUtil.isNotEmpty(labelList)) { + return labelList.get(0); + } + return new PcLabel(); + } + + @Transactional(rollbackFor = Exception.class) + public void insertOrUpdateFactoryLabel(Set factoryIds, String argumentsCode, String labelCode) { + PcLabel pcLabel = obtainLabel(labelCode); + //这里查询一次数据库是为了区分哪些标签数据需要修改,哪些标签数据需要新增 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .in(PcLabelFactory::getFactoryId, factoryIds) + .eq(PcLabelFactory::getLabelId, pcLabel.getId()); + List labelFactories = pcLabelFactoryMapper.selectList(queryWrapper); + logger.info("查询出的公司标签关系:{}", JSON.toJSONString(labelFactories)); + Map labelFactoryMap = labelFactories.stream() + .collect(Collectors.toMap(PcLabelFactory::getFactoryId, entity -> entity)); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + for (String factoryId : factoryIds) { + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + if (!labelFactoryMap.containsKey(factoryId)) { + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(pcLabel.getId()); + pcLabelFactory.setLableUseing("1"); + pcLabelFactory.setLabelValue(argumentsCode); + pcLabelFactory.setId(UUID.randomUUID().toString()); + insertList.add(pcLabelFactory); + } else { + String labelValue = labelFactoryMap.get(factoryId).getLabelValue(); + PcLabelFactory factory = labelFactoryMap.get(factoryId); + if (!Objects.equals(argumentsCode, labelValue)) { + pcLabelFactory.setLabelValue(argumentsCode); + pcLabelFactory.setId(factory.getId()); + updateList.add(pcLabelFactory); + } + } + } + if (CollUtil.isNotEmpty(insertList)) { + logger.info("需要新增的企业标签关系集合:{}", insertList); + List> partition = ListUtils.partition(insertList, 2000); + for (List pcLabelFactories : partition) { + labelFactoryMapper.batchSave(pcLabelFactories); + } + } + if (CollUtil.isNotEmpty(updateList)) { + logger.info("需要修改的企业标签关系集合:{}", updateList); + List> partition = ListUtils.partition(updateList, 2000); + for (List pcLabelFactories : partition) { + labelFactoryMapper.batchUpdateValue(pcLabelFactories); + } + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/ActivePowerQuantityChangeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/ActivePowerQuantityChangeService.java new file mode 100644 index 0000000..9aa1ff6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/ActivePowerQuantityChangeService.java @@ -0,0 +1,95 @@ +package cn.cecep.talroad.data.analyse.task.factory.label.change; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.data.analyse.task.entity.FactoryActivePowerQuantityVO; +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.mapper.MonElecOtherMapper; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; +import lombok.AllArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.Comparator; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 16:37:44 + * @version: + * @Description: + */ +@Service +@AllArgsConstructor +public class ActivePowerQuantityChangeService extends AbstractFactoryLabelChangeService { + private static final Logger logger = LoggerFactory.getLogger(ActivePowerQuantityChangeService.class); + + private final MonElecOtherMapper monElecOtherMapper; + + @Override + public boolean support(String enumId) { + return LabelFactoryEnum.PF016.getEnumId().equalsIgnoreCase(enumId); + } + + @Override + public void execute(FactoryLabelChangeDTO factoryLabelChangeDTO) { + List result = selectFactoryActivePowerQuantity(factoryLabelChangeDTO); + if(CollUtil.isNotEmpty(result)){ + segmentationAndUpdate(result); + logger.info("企业用电量标签划分完毕 !"); + } + } + + public List selectFactoryActivePowerQuantity(FactoryLabelChangeDTO factoryLabelChangeDTO) { + String startTime = factoryLabelChangeDTO.getStartTime(); + String endTime = factoryLabelChangeDTO.getEndTime(); + if(StringUtils.isEmpty(startTime)){ + startTime = LocalDate.now().withDayOfYear(1).toString(); + } + if(StringUtils.isEmpty(endTime)){ + endTime = LocalDate.now().toString(); + } + //查询出本年的企业用电量 + + List result = monElecOtherMapper.selectFactoryActivePowerQuantity(startTime, endTime); + logger.info("查询出本年的企业用电量结果:{}", JSON.toJSONString(result)); + if (CollUtil.isEmpty(result)) Lists.newArrayList(); + return result; + } + + public void segmentationAndUpdate(List result) { + final String highLevel ="1039" ,lowLevel ="1041" ,generalLevel ="1040"; + int n = result.size(); + int k = 5; // k = 5% + int m = (int) Math.ceil(k * n / 100.0); + // 按用电量排序 + result.sort(Comparator.comparing(FactoryActivePowerQuantityVO::getActivePowerQuantitySum).reversed()); + logger.info("本年的企业用电量按用电量排序后:{},size:{}", JSON.toJSONString(result),result.size()); + // 获取前 5% 的企业 + List topResult = result.subList(0, m); + logger.info("前 5% 的企业:{},size:{}", JSON.toJSONString(topResult),topResult.size()); + executeUpdate(topResult, highLevel); + // 获取后 5% 的企业 + List bottomResult = result.subList(n - m, n); + logger.info("后 5% 的企业:{},size:{}", JSON.toJSONString(bottomResult),bottomResult.size()); + executeUpdate(bottomResult, lowLevel); + // 获取中间段企业 + List middleResult = result.subList(m, n - m); + logger.info("获取中间段企业:{},size:{}", JSON.toJSONString(middleResult),middleResult.size()); + executeUpdate(middleResult, generalLevel); + + } + + public void executeUpdate(List result, String argumentsCode) { + if (CollUtil.isNotEmpty(result)) { + insertOrUpdateFactoryLabel(result.stream().map(FactoryActivePowerQuantityVO::getFactoryId).filter(Objects::nonNull).collect(Collectors.toSet()), argumentsCode, LabelFactoryEnum.PF016.getEnumId()); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeService.java new file mode 100644 index 0000000..f55abcf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeService.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.data.analyse.task.factory.label.change; + +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 16:25:15 + * @version: + * @Description: + */ +public interface FactoryLabelChangeService { + + boolean support(String type); + + void execute(FactoryLabelChangeDTO factoryLabelChangeDTO) ; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeServiceContext.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeServiceContext.java new file mode 100644 index 0000000..17a6ed1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/FactoryLabelChangeServiceContext.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.data.analyse.task.factory.label.change; + +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 16:13:36 + * @version: + * @Description: + */ +@Service +@AllArgsConstructor +public class FactoryLabelChangeServiceContext { + + private final List abstractFactoryLabelChangeServices; + + public void execute(FactoryLabelChangeDTO factoryLabelChangeDTO) { + for (AbstractFactoryLabelChangeService abstractWorkNumberSerivce : abstractFactoryLabelChangeServices) { + if (abstractWorkNumberSerivce.support(factoryLabelChangeDTO.getEnumId())) { + abstractWorkNumberSerivce.execute(factoryLabelChangeDTO); + } + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/PollutantChangeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/PollutantChangeService.java new file mode 100644 index 0000000..63dc22e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/factory/label/change/PollutantChangeService.java @@ -0,0 +1,185 @@ +package cn.cecep.talroad.data.analyse.task.factory.label.change; + +import cn.cecep.talroad.data.analyse.task.entity.PollutantChangeVO; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsActualEmissionsMapper; +import cn.cecep.talroad.util.DateUtil; +import cn.cecep.talroad.vo.ChartVo; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Maps; +import lombok.AllArgsConstructor; +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Author: Frank + * @createTime: 2023年07月18日 21:59:25 + * @version: + * @Description: + */ +@Service +@AllArgsConstructor +public class PollutantChangeService extends AbstractFactoryLabelChangeService { + + private static final Logger logger = LoggerFactory.getLogger(PollutantChangeService.class); + + private final SRaActionReportsActualEmissionsMapper sRaActionReportsActualEmissionsMapper; + + private final PcFactoryMapper pcFactoryMapper; + + private List allEnumIds; + + private Map allConfig; + + private Map labelPollutantMapping; + + + @Override + public boolean support(String enumId) { + init(); + return allEnumIds.contains(enumId); + } + + private void init() { + initEnumIds(); + initConfig(); + initLabelMapping(); + } + + private void initLabelMapping() { + if (CollUtil.isEmpty(labelPollutantMapping)) { + labelPollutantMapping.put(LabelFactoryEnum.PF008.getEnumId(), ChartVo.AirPollutant.P_1.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF009.getEnumId(), ChartVo.AirPollutant.P_2.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF010.getEnumId(), ChartVo.AirPollutant.P_3.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF011.getEnumId(), ChartVo.AirPollutant.P_4.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF012.getEnumId(), ChartVo.WaterPollutant.P_1.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF013.getEnumId(), ChartVo.WaterPollutant.P_2.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF014.getEnumId(), ChartVo.WaterPollutant.P_3.getCode()); + labelPollutantMapping.put(LabelFactoryEnum.PF015.getEnumId(), ChartVo.WaterPollutant.P_4.getCode()); + } + } + + private void initConfig() { + if (CollUtil.isEmpty(allConfig)) { + allConfig.put(ChartVo.AirPollutant.P_1.getCode(), new BigDecimal("250")); + allConfig.put(ChartVo.AirPollutant.P_2.getCode(), new BigDecimal("250")); + allConfig.put(ChartVo.AirPollutant.P_3.getCode(), new BigDecimal("500")); + allConfig.put(ChartVo.AirPollutant.P_4.getCode(), new BigDecimal("0")); + allConfig.put(ChartVo.WaterPollutant.P_1.getCode(), new BigDecimal("30")); + allConfig.put(ChartVo.WaterPollutant.P_2.getCode(), new BigDecimal("30")); + allConfig.put(ChartVo.WaterPollutant.P_3.getCode(), new BigDecimal("10")); + allConfig.put(ChartVo.WaterPollutant.P_4.getCode(), new BigDecimal("0.5")); + } + } + + private void initEnumIds() { + if (CollUtil.isEmpty(allEnumIds)) { + allEnumIds = LabelFactoryEnum.getPollutantEnumIds(); + } + } + + @Override + public void execute(FactoryLabelChangeDTO factoryLabelChangeDTO) { + logger.info("所有配置:{}",allConfig); + logger.info("所有标签:{}",allEnumIds); + logger.info("标签和污染物映射关系:{}",labelPollutantMapping); + + //大户为1039 一般为1040 + final String highLevel = "1039", generalLevel = "1040"; + //根据当前污染物CODE查询实际排放量 + List sRaActionReportsActualEmissions = queryByCurrentPollutantCode(labelPollutantMapping.get(factoryLabelChangeDTO.getEnumId())); + if (CollUtil.isEmpty(sRaActionReportsActualEmissions)) return; + logger.info("根据当前污染物CODE查询实际排放量:{}", JSON.toJSONString(sRaActionReportsActualEmissions)); + Set factoryIds = sRaActionReportsActualEmissions.stream().map(SRaActionReportsActualEmissions::getFactoryId).collect(Collectors.toSet()); + //根据factoryIds查询企业信息 + Map factoryDataMap = queryByFactoryIds(factoryIds); + if (CollUtil.isEmpty(sRaActionReportsActualEmissions)) return; + logger.info("根据factoryIds查询企业信息:{}", JSON.toJSONString(factoryDataMap)); + + List highLevelFactoryIds = Lists.newArrayList(); + List pollutantChangeVOList = Lists.newArrayList(); + //从配置中获取当前污染物code对应的实际用量阈值 + BigDecimal bigDecimal = allConfig.get(labelPollutantMapping.get(factoryLabelChangeDTO.getEnumId())); + logger.info("当前污染物code对应的实际用量阈值:{}", bigDecimal); + for (SRaActionReportsActualEmissions sRaActionReportsActualEmission : sRaActionReportsActualEmissions) { + //计算用电量是否大于阈值,如果大于阈值则归类为大户 + if (bigDecimal.compareTo(BigDecimal.ZERO) > 0 && sRaActionReportsActualEmission.getActualEmissions().compareTo(bigDecimal) > 0) { + highLevelFactoryIds.add(sRaActionReportsActualEmission.getFactoryId()); + } + PcFactory pcFactory = factoryDataMap.get(sRaActionReportsActualEmission.getFactoryId()); + if (Objects.nonNull(pcFactory)) { + pollutantChangeVOList.add(new PollutantChangeVO(pcFactory.getId(), sRaActionReportsActualEmission.getActualEmissions() + , pcFactory.getCityCode(), pcFactory.getCityName())); + } + } + logger.info("实际用量大户:{}", JSON.toJSONString(highLevelFactoryIds)); + logger.info("pollutantChangeVOList:{}", JSON.toJSONString(pollutantChangeVOList)); + + if (CollUtil.isNotEmpty(pollutantChangeVOList)) { + //计算用电量是否在全市前5%,如果在全市前5%则归类为大户 + Map> mapData = pollutantChangeVOList.stream().collect(Collectors.groupingBy(PollutantChangeVO::getCityCode)); + for (Map.Entry> entry : mapData.entrySet()) { + List result = entry.getValue(); + int n = result.size(); + int k = 5; // k = 5% + int m = (int) Math.ceil(k * n / 100.0); + result.sort(Comparator.comparing(PollutantChangeVO::getActualEmissions).reversed()); + List pollutantChangeVOS = result.subList(0, m); + if (CollUtil.isNotEmpty(pollutantChangeVOS)) { + highLevelFactoryIds.addAll(pollutantChangeVOS.stream().map(PollutantChangeVO::getFactoryId).collect(Collectors.toSet())); + } + } + } + logger.info("实际用量大户:{}", JSON.toJSONString(highLevelFactoryIds)); + + if (CollUtil.isNotEmpty(highLevelFactoryIds)) { + insertOrUpdateFactoryLabel(new HashSet<>(highLevelFactoryIds), highLevel, factoryLabelChangeDTO.getEnumId()); + } + //如果不是大户,则归类为一般 + Set generalLevelFactoryIds = factoryIds.stream().filter(f -> !highLevelFactoryIds.contains(f)).collect(Collectors.toSet()); + if (CollUtil.isNotEmpty(generalLevelFactoryIds)) { + insertOrUpdateFactoryLabel(generalLevelFactoryIds, generalLevel, factoryLabelChangeDTO.getEnumId()); + } + } + + //根据企业ID获取企业详细信息 + private Map queryByFactoryIds(Set factoryIds) { + List factoryList = pcFactoryMapper.selectBatchIds(factoryIds); + if (CollUtil.isNotEmpty(factoryList)) { + return factoryList.stream().filter(f -> StringUtils.isNotBlank(f.getCityCode())).collect(Collectors.toMap(PcFactory::getId, Function.identity(), (k1, k2) -> k2)); + } + return Maps.newHashMap(); + } + + //根据污染物code获取上一年年报的实际实际排放量 + public List queryByCurrentPollutantCode(String currentPollutantCode) { + LambdaQueryWrapper lambdaQueryWrapper = new QueryWrapper().lambda() + .select(SRaActionReportsActualEmissions::getFactoryId) + .select(SRaActionReportsActualEmissions::getActualEmissions) + .eq(SRaActionReportsActualEmissions::getPollutantCode, currentPollutantCode) + .eq(SRaActionReportsActualEmissions::getReportType, "y") + .eq(SRaActionReportsActualEmissions::getReportTime, Integer.parseInt(DateUtil.getYear()) - 1); + List raActionReportsActualEmissions = sRaActionReportsActualEmissionsMapper.selectList(lambdaQueryWrapper); + if (CollUtil.isNotEmpty(raActionReportsActualEmissions)) { + return raActionReportsActualEmissions.stream() + .filter(r -> StringUtils.isNotBlank(r.getFactoryId()) && Objects.nonNull(r.getActualEmissions()) && r.getActualEmissions().compareTo(BigDecimal.ZERO) > 0) + .collect(Collectors.toList()); + } + return Lists.newArrayList(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/ExecuteReportTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/ExecuteReportTaskService.java new file mode 100644 index 0000000..94955eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/ExecuteReportTaskService.java @@ -0,0 +1,173 @@ +package cn.cecep.talroad.data.analyse.task.label; + +import cn.cecep.talroad.domain.BMainActionReports; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.LabelValueEnum; +import cn.cecep.talroad.mapper.BMainActionReportsMapper; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditRecordMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditResultMapper; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 是否存在执行报告未提交情况 + * @date 2023/7/17 22:28 + */ +@Slf4j +@Service +public class ExecuteReportTaskService { + + @Autowired + private SRaActionReportsAuditRecordMapper reportsAuditRecordMapper; + + @Autowired + private PcLabelMapper labelMapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Autowired + private BMainActionReportsMapper reportsMapper; + + @Autowired + private SRaActionReportsAuditResultMapper reportsAuditResultMapper; + + + /** + * 是否已经提交 执行报告 检测 + */ + public void isSubmitTask(){ + //查询审核通过的 时间范围内的 所有报告提交情况 + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + //上月 + .between(SRaActionReportsAuditRecord::getAuditTime, DateUtil.getDayOfMonth(-1), DateUtil.getDayOfMonth(0)) + //审核通过 + .eq(SRaActionReportsAuditRecord::getAuditStatus, 9); + List dataList = reportsAuditRecordMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(dataList)){ + log.info("根据关联分析系统的判断结果得出-执行报告规范审核定时任务 无分析内容"); + return; + } + List reportIds = dataList.stream().map(SRaActionReportsAuditRecord::getReportId).distinct().collect(Collectors.toList()); + List bMainActionReports = reportsMapper.selectList(new QueryWrapper().lambda().in(BMainActionReports::getId, reportIds)); + if (CollectionUtil.isEmpty(bMainActionReports)){ + log.info("bMainActionReports is null; 根据关联分析系统的判断结果得出-执行报告规范审核定时任务 无分析内容"); + return; + } + //所有企业id + Map factoryMap = bMainActionReports.stream() + .collect(Collectors.toMap(BMainActionReports::getId, BMainActionReports::getFactoryId)); + //企业id 与 标签code 映射map + Map factoryIdLabelMap = new HashMap<>(); + //判断 是否已经提交全部 应提交 > 已提交 + List notSubmitReportIds = dataList.stream().filter(record -> record.getTotalEnterprises() > record.getSubmittedEnterprises()) + .map(SRaActionReportsAuditRecord::getReportId).collect(Collectors.toList()); + + for (Map.Entry entry : factoryMap.entrySet()) { + String key = entry.getKey(); + if (notSubmitReportIds.contains(key)){ + //未提交 + factoryIdLabelMap.put(entry.getValue(),LabelValueEnum.CODE_JG004_1001.getArgumentsCode()); + }else{ + factoryIdLabelMap.put(entry.getValue(),LabelValueEnum.CODE_JG004_1002.getArgumentsCode()); + } + } + batchCreateLabelFactory(factoryIdLabelMap,LabelFactoryEnum.JG004.getEnumId()); + } + + /** + * 是否规范提交 + */ + public void isSpecification(){ + //查询 时间范围内的 所有报告审核情况 + LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda() + //上月 + .between(SRaActionReportsAuditResult::getAuditTime, DateUtil.getDayOfMonth(-1), DateUtil.getDayOfMonth(0)); + List dataList = reportsAuditResultMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(dataList)){ + log.info("根据关联分析系统的判断结果得出-执行报告规范审核定时任务 无分析内容"); + return; + } + List factoryIds = dataList.stream().map(SRaActionReportsAuditResult::getFactoryId).collect(Collectors.toList()); + //审核不规范判断 TODO 暂时只用这三个 有调整后续加 + List notSpecificationFactoryIds = dataList.stream() + //污染防治设施异常情况汇总表 != null + .filter(result -> StringUtils.isNotBlank(result.getPreventionFacilities())) + //污染防治设施-异常情况汇总表 != null + .filter(result -> StringUtils.isNotBlank(result.getAbnormalSituation())) + //超标排放信息 != null + .filter(result -> StringUtils.isNotBlank(result.getExcessiveEmissions())) + .map(SRaActionReportsAuditResult::getFactoryId).collect(Collectors.toList()); + //企业id 与 标签code 映射map + Map factoryIdLabelMap = new HashMap<>(); + for (String factoryId : factoryIds) { + String value = null; + if (notSpecificationFactoryIds.contains(factoryId)){ + //不规范 + value = LabelValueEnum.CODE_JG005_1002.getArgumentsCode(); + }else{ + value = LabelValueEnum.CODE_JG005_1001.getArgumentsCode(); + } + factoryIdLabelMap.put(factoryId,value); + } + batchCreateLabelFactory(factoryIdLabelMap,LabelFactoryEnum.JG005.getEnumId()); + } + + @Transactional(rollbackFor = Exception.class) + public void batchCreateLabelFactory(Map factoryIdLabelMap,String labelCode){ + PcLabel label = labelMapper.selectOne( + new QueryWrapper().lambda().eq(PcLabel::getLabelCode, labelCode) + ); + ArrayList pcLabelFactories = new ArrayList<>(); + for (Map.Entry entry : factoryIdLabelMap.entrySet()) { + PcLabelFactory pcLabelFactory = buildPcLabelFactory(entry.getKey(), label.getId(), entry.getValue()); + pcLabelFactories.add(pcLabelFactory); + } + //查询对应企业 和 标签 是否存在 存在修改 不存在新增 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .in(PcLabelFactory::getFactoryId, pcLabelFactories.stream().map(PcLabelFactory::getFactoryId).collect(Collectors.toList())) + .eq(PcLabelFactory::getLabelId, label.getId()); + //删除原本的对应标签 和 企业的 关联关系 + labelFactoryMapper.delete(wrapper); + //重新添加新的企业 标签 关联关系 + if (CollectionUtil.isNotEmpty(pcLabelFactories)){ + labelFactoryMapper.batchSave(pcLabelFactories); + } + } + + /** + * 构建企业标签关联关系实体 + */ + private PcLabelFactory buildPcLabelFactory(String factoryId, String labelId, String labelValue){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLabelValue(labelValue); + pcLabelFactory.setLableUseing("0"); + return pcLabelFactory; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/GapLabelTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/GapLabelTaskService.java new file mode 100644 index 0000000..4188424 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/label/GapLabelTaskService.java @@ -0,0 +1,169 @@ +package cn.cecep.talroad.data.analyse.task.label; + +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.LabelValueEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsActualEmissionsMapper; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 计算每个污染物实际排放量与许可证排放量的差距 + * @date 2023/7/17 22:28 + */ +@Slf4j +@Service +public class GapLabelTaskService { + + @Autowired + private SRaActionReportsActualEmissionsMapper mapper; + + @Autowired + private PcLabelMapper labelMapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + public void execute(){ + + //执行方法 + LambdaQueryWrapper query = new LambdaQueryWrapper() + //分析频次 + .eq(SRaActionReportsActualEmissions::getReportType, TimeTypeEnum.MONTH.getCode()) + .eq(SRaActionReportsActualEmissions::getReportTime, DateUtil.format(DateUtil.getDayOfMonth(-1),"yyyy-MM")); + + List queryList = mapper.selectList(query); + if (CollectionUtil.isEmpty(queryList)){ + return; + } + //根据企业id分组 + Map> groupDataMap = + queryList.stream().collect(Collectors.groupingBy(SRaActionReportsActualEmissions::getFactoryId)); + //企业id 与 标签code 映射map + Map factoryIdLabelMap = new HashMap<>(); + for (Map.Entry> entry : groupDataMap.entrySet()) { + List value = entry.getValue(); + List labelValues = new ArrayList<>(); + for (SRaActionReportsActualEmissions data : value) { + //只保留最大的标签 + //实际排放 + BigDecimal actualEmissions = data.getActualEmissions(); + if (actualEmissions == null){ + log.warn("企业执行报告实际排放 实际排放无数据!id:{}",data.getId()); + continue; + } + //许可排放 + BigDecimal permittedEmissions = data.getPermittedEmissions(); + if (permittedEmissions == null){ + log.warn("企业执行报告实际排放 许可排放无数据!id:{}",data.getId()); + continue; + } + //计算公式=(实际-许可)/许可*100 + BigDecimal subtract = actualEmissions.subtract(permittedEmissions); + BigDecimal labelValue = subtract.divide(permittedEmissions).multiply(new BigDecimal(100)); + labelValues.add(labelValue); + } + if (CollectionUtil.isEmpty(labelValues)){ + log.warn("labelValues is empty"); + continue; + } + labelValues.sort(BigDecimal::compareTo); + //升序排序 取最大记录标签 + BigDecimal maxLabelValue = labelValues.get(labelValues.size()-1); + LabelValueEnum labelValueEnum = intervalJudgment(maxLabelValue); + factoryIdLabelMap.put(entry.getKey(),labelValueEnum.getArgumentsCode()); + } + batchCreateLabelFactory(factoryIdLabelMap); + } + + @Transactional(rollbackFor = Exception.class) + public void batchCreateLabelFactory(Map factoryIdLabelMap){ + ArrayList labelCodes = new ArrayList<>(); + labelCodes.add(LabelFactoryEnum.PF024.getEnumId()); + labelCodes.add(LabelFactoryEnum.PF025.getEnumId()); + labelCodes.add(LabelFactoryEnum.PF026.getEnumId()); + List labelList = labelMapper.selectList( + new QueryWrapper().lambda().in(PcLabel::getLabelCode,labelCodes) + ); + Map labelMap = + labelList.stream().collect(Collectors.toMap(PcLabel::getLabelCode, PcLabel::getId)); + ArrayList pcLabelFactories = new ArrayList<>(); + for (Map.Entry entry : factoryIdLabelMap.entrySet()) { + String labelMapValue = null; + if (LabelValueEnum.CODE_1060.getArgumentsCode().equals(entry.getValue())){ + labelMapValue = labelMap.get(LabelFactoryEnum.PF024.getEnumId()); + }else if (LabelValueEnum.CODE_1061.getArgumentsCode().equals(entry.getValue())){ + labelMapValue = labelMap.get(LabelFactoryEnum.PF025.getEnumId()); + }else{ + labelMapValue = labelMap.get(LabelFactoryEnum.PF026.getEnumId()); + } + if (StringUtils.isBlank(labelMapValue)){ + continue; + } + PcLabelFactory pcLabelFactory = buildPcLabelFactory(entry.getKey(), labelMapValue, entry.getValue()); + pcLabelFactories.add(pcLabelFactory); + } + //查询对应企业 和 标签 是否存在 存在修改 不存在新增 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .in(PcLabelFactory::getFactoryId, pcLabelFactories.stream().map(PcLabelFactory::getFactoryId).collect(Collectors.toList())) + .in(PcLabelFactory::getLabelId, labelMap.values()); + //删除原本的对应标签 和 企业的 关联关系 + labelFactoryMapper.delete(wrapper); + //重新添加新的企业 标签 关联关系 + if (CollectionUtil.isNotEmpty(pcLabelFactories)){ + labelFactoryMapper.batchSave(pcLabelFactories); + } + } + + /** + * 构建企业标签关联关系实体 + */ + private PcLabelFactory buildPcLabelFactory(String factoryId, String labelId, String labelValue){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLabelValue(labelValue); + pcLabelFactory.setLableUseing("0"); + return pcLabelFactory; + } + /** + * 判断标签区间 + */ + public LabelValueEnum intervalJudgment(BigDecimal maxLabelValue){ + int intValue = maxLabelValue.intValue(); + if (intValue < 10){ + return null; + } + if (intValue <= 30){ + return LabelValueEnum.CODE_1060; + } + if (intValue <= 50){ + return LabelValueEnum.CODE_1061; + } + return LabelValueEnum.CODE_1062; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/BaseAnomalyLimestoneService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/BaseAnomalyLimestoneService.java new file mode 100644 index 0000000..76914e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/BaseAnomalyLimestoneService.java @@ -0,0 +1,431 @@ +package cn.cecep.talroad.data.analyse.task.limestone; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.*; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 石灰石基类 + */ +@Slf4j +public abstract class BaseAnomalyLimestoneService { + + @Autowired + private BasDeviceMapper basDeviceMapper; + + @Autowired + private MonDevRealMapper monDevRealMapper; + + @Autowired + private BasDeviceSalAnalysisMapper basDeviceSalAnalysisMapper; + + public static final int pageSize = 10; + + @Autowired + private BasThresholdConfigMapper basThresholdConfigMapper; + + @Autowired + private SEnvGasMonRealMapper envGasMonRealMapper; + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + + /** + * 主方法执行 + */ + public boolean mainProcess(){ + + try { + // 获取所有可用设备id + List basDevices = queryUsableDeviceIds(); + + if (!CollectionUtils.isEmpty(basDevices)){ + + // 获取计算得开始时间 跟 结束时间 + Date startTime = getBeforeDayStart(); + Date endTime = getBeforeDayEnd(); + + // 设备分页 默认十个一分页 + List> baseDevicePage = Lists.partition(basDevices, BaseAnomalyLimestoneService.pageSize); + + for (List basDeviceList : baseDevicePage) { + + List deviceIds = basDeviceList.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + + // 获取石灰消耗量 + Map deviceGas = getDeviceGas(deviceIds, startTime, endTime); + + // 获取 异常信息 + List amProblemFis = getAmProblemFis(basDeviceList, deviceGas,startTime,endTime); + + if (!CollectionUtils.isEmpty(amProblemFis)){ + // 添加异常数据 + amProblemFiMapper.insertAmProblemFis(amProblemFis); + } + + } + + } + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; + } + + /** + * 获取石灰石纯度配置 + */ + public BigDecimal getLimestoneConfig(){ + BasThresholdConfig config = basThresholdConfigMapper.selectByParamCode("T01"); + if (config==null){ + return new BigDecimal(85.00); + } + return config.getThresholdValue().divide(new BigDecimal(100),2, RoundingMode.HALF_UP); + } + + /** + * 获取 消耗量 配置 + */ + public BigDecimal getConsumeConfig(){ + BasThresholdConfig config = basThresholdConfigMapper.selectByParamCode("T02"); + if (config==null){ + return new BigDecimal(50.00); + } + return config.getThresholdValue().divide(new BigDecimal(100),2, RoundingMode.HALF_UP); + } + + /** + * 判断是否 小于 比例值 + */ + public boolean calculate(BigDecimal desulfuration , BigDecimal limestone , BigDecimal proportion){ + int equals = desulfuration.compareTo(limestone.multiply(proportion)); + if (equals < 0) { + return false; + } + return true; + } + + /** + * 计算 石灰石消耗量 + * @return + */ + public BigDecimal getLimestone(List so2Ins,List so2Outs,BigDecimal emissionValue,BigDecimal thresholdValue){ + + // 计算 出口入口 日均值 + BigDecimal so2In = realAvg(so2Ins); + BigDecimal so2Out = realAvg(so2Outs); + + //(入口SO2日均浓度-出口SO2日均浓度)/入口SO2日均浓度 + BigDecimal div = so2In.subtract(so2Out).divide(so2In, 6, RoundingMode.HALF_UP); + + //日废气排放量*入口SO2日均浓度/1000000*((入口SO2日均浓度-出口SO2日均浓度)/入口SO2日均浓度)*100/64/石灰石纯度(一般为85%-90%)*1.03 + BigDecimal limestone = emissionValue + .multiply(so2In) + .divide(new BigDecimal("1000000"), 6, RoundingMode.HALF_UP) + .multiply(div) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(64), 6, RoundingMode.HALF_UP) + .divide(thresholdValue, 6, RoundingMode.HALF_UP) + .multiply(new BigDecimal("1.03")); + return limestone; + } + + /** + * 获取设备日废气排放量 + */ + public Map getDeviceGas(List deviceIds,Date startTime,Date endTime){ + +// List gasDeviceVos = envGasMonRealMapper.selectGasByDeviceIds(deviceIds,startTime,endTime); +// return gasDeviceVos.stream().collect(Collectors.toMap(GasDeviceVo::getDeviceId,GasDeviceVo::getAvgGas)); + + HashMap gasData = new HashMap<>(); + + // 查询 设备对应的站点Code + // 查询 站点id + // 查询站点对应的数据 并且按照设备计算平均值 + // 每一步返回为空值 或者 null 不继续计算 + for (String deviceId : deviceIds) { + List mainProduct = getMainProduct(deviceId); + if (CollectionUtils.isNotEmpty(mainProduct)){ + List outLet = getOutLet(mainProduct); + if (CollectionUtils.isNotEmpty(outLet)){ + BigDecimal gasData1 = getGasData(outLet, startTime, endTime); + if (ObjectUtils.isNotEmpty(gasData1)){ + gasData.put(deviceId,gasData1); + } + } + } + } + return gasData; + } + + + /** + * 获取设备对应的 站点Code + */ + public List getMainProduct(String deviceId){ + + LambdaQueryWrapper bMainProductionOrganizGasLambdaQueryWrapper = new QueryWrapper().lambda() + .select(BMainProductionOrganizGas::getFactoryId,BMainProductionOrganizGas::getOutletCode) + .isNotNull(BMainProductionOrganizGas::getProFacilityId) + .like(BMainProductionOrganizGas::getProFacilityId, deviceId) + .eq(BMainProductionOrganizGas::getCepFacilityCode, "TA091"); + + return bMainProductionOrganizGasMapper.selectList(bMainProductionOrganizGasLambdaQueryWrapper); + } + + /** + * 获取站点id + * @param bMainProductionOrganizGases + * @return + */ + public List getOutLet(List bMainProductionOrganizGases){ + return bMainProductionOrganizGases.stream().map((bMainProductionOrganizGas)->{ + LambdaQueryWrapper pcOutletLambdaQueryWrapper = new QueryWrapper().lambda() + .select(PcOutlet::getId,PcOutlet::getFactoryId) + .eq(PcOutlet::getOutletCode, bMainProductionOrganizGas.getOutletCode()) + .eq(PcOutlet::getFactoryId, bMainProductionOrganizGas.getFactoryId()) + .eq(PcOutlet::getPollutantType, "4"); + return pcOutletMapper.selectOne(pcOutletLambdaQueryWrapper); + }).filter(Objects::nonNull).collect(Collectors.toList()); + } + + /** + * 获取 该设备的所有站点的 数据的平均值 + */ + public BigDecimal getGasData(List pcOutlets,Date startTime,Date endTime){ + + List bigDecimals = pcOutlets.stream().map((pcOutlet) -> + envGasMonRealMapper.selectByOutLetId(pcOutlet.getFactoryId(), pcOutlet.getId(), startTime, endTime) + ).filter(Objects::isNull).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(bigDecimals)){ + return null; + } + + return bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(bigDecimals.size()), 2, BigDecimal.ROUND_HALF_UP); + } + + public BigDecimal realAvg(List bigDecimals){ + Double collect = bigDecimals.stream().map(BigDecimal::doubleValue).collect(Collectors.averagingDouble(Double::doubleValue)); + if (collect!=null){ + return new BigDecimal(collect); + } + return new BigDecimal(0); + } + + /** + * 将每个设备分组 + * @param monDevReals + * @return + */ + protected Map> groupMonDevReal(List monDevReals){ + return monDevReals.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + + /** + * 获取所有可用设备 + */ + protected List queryUsableDeviceIds() { + List basDevices = queryDevice(); + if (CollectionUtil.isEmpty(basDevices)){ + return new ArrayList<>(); + } + return filterOpenDeviceIds(basDevices); + } + + /** + * 获取设备 + * @param enIndustry + * @return + */ + protected List queryDevice(EnIndustry enIndustry,String... types){ + if (enIndustry == null){ + throw new RuntimeException("queryDeviceIds is null!"); + } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .select(BasDevice::getDeviceId,BasDevice::getName,BasDevice::getFactoryId) + .eq(BasDevice::getIndustry, enIndustry.id()) + .eq(BasDevice::getIsStatus,"1"); + if (types!=null && types.length>0){ + wrapper.in(BasDevice::getType,types); + } + return basDeviceMapper.selectList(wrapper); + } + + /** + * 获取设备 + * @return + */ + protected abstract List queryDevice(); + + + /** + * 过滤停产设备 + */ + protected List filterOpenDeviceIds(List devices) { + if (CollectionUtil.isEmpty(devices)) { + return new ArrayList<>(); + } + List deviceIds = devices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + List basDeviceSalAnalyses = basDeviceSalAnalysisMapper.selectList(Wrappers.lambdaQuery().in(BasDeviceSalAnalysis::getDeviceId, deviceIds)); + if (CollectionUtil.isEmpty(basDeviceSalAnalyses)){ + return new ArrayList<>(); + } + //过滤出所有 != 停产的 设备 + List openDeviceIds = getOpenDeviceIds(deviceIds, basDeviceSalAnalyses); + + List basDevices = devices.stream().filter((device) -> { + for (String openDeviceId : openDeviceIds) { + if (openDeviceId.equals(device.getDeviceId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + + return basDevices; + } + protected List getOpenDeviceIds(List deviceIds,List basDeviceSalAnalyses){ + return basDeviceSalAnalyses + .stream() + .filter(deviceSalAnalysis -> !DeviceStatusEnum.STOP.getValue().equals(deviceSalAnalysis.getMonStatus())) + .map(BasDeviceSalAnalysis::getDeviceId) + .collect(Collectors.toList()); + } + + /** + * @Description 获取当前时期前 i 天 日期的零点 当前日期 2019-7-8 13:13:13 --> 获取日期 2019-07-07 + * @Author: szj + * @param: [i] 输入int值 代表天数 00:00:00 UNIX 时间 + * @Return: int + */ + public Date getBeforeDayStart() { + Calendar zero = Calendar.getInstance(); + zero.add(Calendar.DATE, -1); + zero.set(zero.get(Calendar.YEAR), zero.get(Calendar.MONTH), zero.get(Calendar.DATE), 0, 0, 0); + return zero.getTime(); + } + /** + * @Description 获取当前时期前 i 天 日期的23:59:59 当前日期 2019-7-8 13:13:13 --> 获取日期 2019-7-7 23:59:59 UNIX 时间 + * @Author: szj + * @param: [i] 输入int值 代表天数 + * @Return: int + */ + public Date getBeforeDayEnd() { + Calendar zero = Calendar.getInstance(); + zero.add(Calendar.DATE, -1); + zero.set(zero.get(Calendar.YEAR), zero.get(Calendar.MONTH), zero.get(Calendar.DATE), 23, 59, 59); + return zero.getTime(); + } + + + /** + * 获取 实时数据 并计算废弃 与 脱硫剂比例 + */ + protected List getAmProblemFis(List basDevices , Map gasData , Date startTime , Date endTime){ + + List deviceIds = basDevices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + + Map deviceMap = basDevices.stream().collect(Collectors.toMap(BasDevice::getDeviceId, Function.identity())); + + List realData = queryRealData(deviceIds,startTime,endTime); + if (CollectionUtils.isEmpty(realData)){ + return new ArrayList<>(); + } + Map> groupRealData = groupRealData(realData); + + BigDecimal limestoneConfig = getLimestoneConfig(); + BigDecimal consumeConfig = getConsumeConfig(); + + List amProblemFis = groupRealData.entrySet().stream().filter((entry)->{ + BigDecimal gas = gasData.get(entry.getKey()); + return gas!=null; + }).map(entry -> { + BigDecimal gas = gasData.get(entry.getKey()); + BasDevice basDevice = deviceMap.get(entry.getKey()); + return getRealAmProblemFi(basDevice, entry.getValue(), gas , limestoneConfig , consumeConfig ); + }).filter(amProblemFi -> amProblemFi != null).collect(Collectors.toList()); + return amProblemFis; + } + + /** + * 通过 设备id 查询实时数据 + */ + protected abstract List queryRealData(List deviceIds , Date startTime , Date endTime); + + + /** + * 实时数据分组 + */ + protected abstract Map> groupRealData(List realData); + + + /** + * 分组的实时数据 计算,并且得出异常信息 + * @param deviceRealData + * @return + */ + protected abstract AmProblemFi getRealAmProblemFi(BasDevice basDevice, List deviceRealData, BigDecimal gasData , BigDecimal limestoneConfig , BigDecimal consumeConfig); + + + protected AmProblemFi addProblem(String name,BigDecimal value,BigDecimal minValue,BigDecimal maxValue,String factoryId,String problemType) { + if (value!=null){ + value = value.setScale(2,BigDecimal.ROUND_HALF_UP); + } + if (minValue!=null){ + minValue = value.setScale(2,BigDecimal.ROUND_HALF_UP); + } + if (maxValue!=null){ + maxValue = value.setScale(2,BigDecimal.ROUND_HALF_UP); + } + //出现报警 + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(factoryId); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + // 问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统 + amProblemFi.setProblemSources("1"); + // 新增一条,代表企业生产设施运行分析 + amProblemFi.setProblemType(problemType); + amProblemFi.setProblemDetails(getMessage(name, value, minValue, maxValue)); + amProblemFi.setType(1); + return amProblemFi; + } + + protected String getMessage(String name,BigDecimal value,BigDecimal minValue,BigDecimal maxValue){ + String date = new SimpleDateFormat("yyyy年MM月dd日").format(getBeforeDayStart()); + return new StringBuilder() + .append(name).append(",") + .append(date) + .append("实际使用脱硫剂").append(value).append("kg") + .append("理论药剂投加量应为").append(minValue).append("-").append(maxValue).append(",") + .append("实际药剂使用量过低,请注意排查。").toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/DesulphurizerAnomalyService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/DesulphurizerAnomalyService.java new file mode 100644 index 0000000..38dd5d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/DesulphurizerAnomalyService.java @@ -0,0 +1,264 @@ +package cn.cecep.talroad.data.analyse.task.limestone; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.collect.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author:haoyan + * @date:2023/6/12 13:46 + */ +@Service +public class DesulphurizerAnomalyService{ + + @Autowired + private BasDeviceMapper basDeviceMapper; + + @Autowired + private BasDeviceSalAnalysisMapper basDeviceSalAnalysisMapper; + + @Autowired + private BasThresholdConfigMapper configMapper; + + @Autowired + private MonDevRealMapper monDevRealMapper; + + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + private static final int PAGE_SIZE = 10; + + public void demo(EnIndustry enIndustry) { + //获取设备 + List basDevList = queryUsableDeviceIds(enIndustry); + + //获取石灰石纯度配置 + BasThresholdConfig config = configMapper.selectByParamCode("T01"); + //将取出的配置值进行转换85%-》0.85 + BigDecimal purityValue = config.getThresholdValue().divide(new BigDecimal(100),2, RoundingMode.HALF_UP); + //获取日实际消耗量小于石灰石消耗量 + config = configMapper.selectByParamCode("T02"); + //将取出的配置值进行转换50%-》0.5 + BigDecimal judgeValue = config.getThresholdValue().divide(new BigDecimal(100),2, RoundingMode.HALF_UP); + + if (!CollectionUtil.isEmpty(basDevList)) { + //获取当前天的前一天开始时间 + Date startTime = getBeforeDayStart(); + //获取当前天的前一天结束时间 + Date endTime = getBeforeDayEnd(); + //获取日均排放量 + List avg = sEnvGasMonRealMapper.getEmissionDayAvg(startTime.toString(), endTime.toString()); + Map emissionAvgMap = avg.stream().collect(Collectors.toMap(AvgValueVo::getDeviceId, o -> o)); + + List> baseDevicePage = Lists.partition(basDevList, PAGE_SIZE); + for (List deviceList : baseDevicePage) { + //根据设备id分组 + List deviceIds = deviceList.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + //获取每个设备的出入口SO2 + List realList = queryMonDevReal(deviceIds, startTime, endTime); + //根据设备分组出入口SO2 + Map> devRealMap = realList.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + //计算每个设备的出入口SO2 + Map so2AvgValue = getSO2AvgValue(deviceIds, devRealMap); + Map desulfurizerAvgValue = getDesulfurizerAvgValue(deviceIds, devRealMap); + + judge(so2AvgValue,desulfurizerAvgValue,emissionAvgMap,purityValue,judgeValue,deviceList); + } + } + } + + private Map getDesulfurizerAvgValue(List deviceIds, Map> devRealMap) { + Map map = new HashMap<>(); + for (String deviceId : deviceIds) { + List realList = devRealMap.get(deviceId); + BigDecimal g08 = new BigDecimal(0); + BigDecimal g09 = new BigDecimal(0); + for (MonDevReal real : realList) { + g08 = g08.add(new BigDecimal(real.getGb08())); + g09 = g09.add(new BigDecimal(real.getGb09())); + } + g08 = g08.divide(new BigDecimal(realList.size()),6, RoundingMode.HALF_UP); + g09 = g09.divide(new BigDecimal(realList.size()),6, RoundingMode.HALF_UP); + AvgValueVo vo = new AvgValueVo(); + vo.setDeviceId(deviceId); + vo.setAvgValue(g08); + vo.setAvgValue2(g09); + map.put(deviceId,vo); + } + return map; + } + + private void judge(Map so2AvgValue, Map jhMap, Map emissionAvgMap, BigDecimal purityValue, BigDecimal judgeValue,List deviceIds) { + for (BasDevice device : deviceIds) { + String deviceId = device.getDeviceId(); + AvgValueVo so2Value = so2AvgValue.get(deviceId); + AvgValueVo jhValue = jhMap.get(deviceId); + AvgValueVo emiValue = emissionAvgMap.get(deviceId); + //(入口SO2日均浓度-出口SO2日均浓度)/入口SO2日均浓度 + BigDecimal div = so2Value.getAvgValue().subtract(so2Value.getAvgValue2()).divide(so2Value.getAvgValue(), 6, RoundingMode.HALF_UP); + //日废气排放量*入口SO2日均浓度/1000000*((入口SO2日均浓度-出口SO2日均浓度)/入口SO2日均浓度)*100/64/石灰石纯度(一般为85%-90%)*1.03 + BigDecimal limestone = emiValue.getAvgValue() + .multiply(so2Value.getAvgValue()) + .divide(new BigDecimal("1000000"), 6, RoundingMode.HALF_UP) + .multiply(div) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(64), 6, RoundingMode.HALF_UP) + .divide(purityValue, 6, RoundingMode.HALF_UP) + .multiply(new BigDecimal("1.03")); + + + int jhValue1 = jhValue.getAvgValue().compareTo(limestone.multiply(judgeValue)); + int jhValue2 = jhValue.getAvgValue2().compareTo(limestone.multiply(judgeValue)); + if (jhValue1 < 0) { + addProblem(device.getName(),jhValue.getAvgValue(),limestone.multiply(judgeValue),limestone,device.getFactoryId()); + } + if ( jhValue2 < 0) { + addProblem(device.getName(),jhValue.getAvgValue2(),limestone.multiply(judgeValue),limestone,device.getFactoryId()); + } + } + } + + private void addProblem(String name,BigDecimal value,BigDecimal minValue,BigDecimal maxValue,String factoryId) { + //出现报警 + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(factoryId); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + // 问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统 + amProblemFi.setProblemSources("1"); + // 新增一条,代表企业生产设施运行分析 + amProblemFi.setProblemType("004"); + String date = new SimpleDateFormat("yyyy年MM月dd日").format(getBeforeDayStart()); + String message = String.format("%s,%s实际使用脱硫剂%skg,理论药剂投加量应为%s-%skg,实际药剂使用量过低,请注意排查。",name,date,value,minValue,maxValue); + amProblemFi.setProblemDetails(message); + amProblemFi.setType(1); + amProblemFiMapper.insert(amProblemFi); + } + + private Map getSO2AvgValue(List deviceIds, Map> devRealMap) { + Map map = new HashMap<>(); + for (String deviceId : deviceIds) { + List realList = devRealMap.get(deviceId); + BigDecimal so2In = new BigDecimal(0); + BigDecimal so2Out = new BigDecimal(0); + for (MonDevReal real : realList) { + so2In = so2In.add(new BigDecimal(real.getSo2In())); + so2Out = so2Out.add(new BigDecimal(real.getSo2Out())); + } + so2In = so2In.divide(new BigDecimal(realList.size()),6, RoundingMode.HALF_UP); + so2Out = so2Out.divide(new BigDecimal(realList.size()),6, RoundingMode.HALF_UP); + AvgValueVo vo = new AvgValueVo(); + vo.setDeviceId(deviceId); + vo.setAvgValue(so2In); + vo.setAvgValue2(so2Out); + map.put(deviceId,vo); + } + return map; + } + + protected List queryMonDevReal(List deviceIds, Date startTime , Date endTime){ + + LambdaQueryWrapper monDevRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonDevReal::getDeviceId,deviceIds) + .ge(MonDevReal::getDataTime,startTime) + .le(MonDevReal::getDataTime,endTime) + .isNotNull(MonDevReal::getSo2In) + .isNotNull(MonDevReal::getSo2Out); + + List monDevReals = monDevRealMapper.selectList(monDevRealLambdaQueryWrapper); + + return monDevReals; + } + + /** + * @Description 获取当前时期前 i 天 日期的零点 当前日期 2019-7-8 13:13:13 --> 获取日期 2019-07-07 + * @Author: szj + * @param: [i] 输入int值 代表天数 00:00:00 UNIX 时间 + * @Return: int + */ + public Date getBeforeDayStart() { + Calendar zero = Calendar.getInstance(); + zero.add(Calendar.DATE, -1); + zero.set(zero.get(Calendar.YEAR), zero.get(Calendar.MONTH), zero.get(Calendar.DATE), 0, 0, 0); + return zero.getTime(); + } + /** + * @Description 获取当前时期前 i 天 日期的23:59:59 当前日期 2019-7-8 13:13:13 --> 获取日期 2019-7-7 23:59:59 UNIX 时间 + * @Author: szj + * @param: [i] 输入int值 代表天数 + * @Return: int + */ + public Date getBeforeDayEnd() { + Calendar zero = Calendar.getInstance(); + zero.add(Calendar.DATE, -1); + zero.set(zero.get(Calendar.YEAR), zero.get(Calendar.MONTH), zero.get(Calendar.DATE), 23, 59, 59); + return zero.getTime(); + } + + protected List queryUsableDeviceIds(EnIndustry enIndustry) { + List basDevices = queryDevice(enIndustry); + if (CollectionUtil.isEmpty(basDevices)){ + return new ArrayList<>(); + } + return filterOpenDeviceIds(basDevices); + } + + protected List queryDevice(EnIndustry enIndustry){ + if (enIndustry == null){ + throw new RuntimeException("queryDeviceIds is null!"); + } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .select(BasDevice::getDeviceId) + .eq(BasDevice::getIndustry, enIndustry.id()); + return basDeviceMapper.selectList(wrapper); + } + + protected List filterOpenDeviceIds(List devices) { + if (CollectionUtil.isEmpty(devices)) { + return new ArrayList<>(); + } + List deviceIds = devices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + List basDeviceSalAnalyses = basDeviceSalAnalysisMapper.selectList(Wrappers.lambdaQuery().in(BasDeviceSalAnalysis::getDeviceId, deviceIds)); + if (CollectionUtil.isEmpty(basDeviceSalAnalyses)){ + return new ArrayList<>(); + } + //过滤出所有 != 停产的 设备 + List openDeviceIds = getOpenDeviceIds(deviceIds, basDeviceSalAnalyses); + + List basDevices = devices.stream().filter((device) -> { + for (String openDeviceId : openDeviceIds) { + if (openDeviceId.equals(device.getDeviceId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + + return basDevices; + } + protected List getOpenDeviceIds(List deviceIds,List basDeviceSalAnalyses){ + return basDeviceSalAnalyses + .stream() + .filter(deviceSalAnalysis -> !DeviceStatusEnum.STOP.getValue().equals(deviceSalAnalysis.getMonStatus())) + .map(BasDeviceSalAnalysis::getDeviceId) + .collect(Collectors.toList()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/LimestoneAnomalyAbstractFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/LimestoneAnomalyAbstractFactory.java new file mode 100644 index 0000000..9d12e6b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/LimestoneAnomalyAbstractFactory.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.limestone; + +import cn.cecep.talroad.data.analyse.task.enums.LimestoneDataAnomalyFactoryServiceEnum; +import cn.cecep.talroad.data.analyse.task.limestone.dry.SteelRealDryAnomalyLimestoneService; +import cn.cecep.talroad.data.analyse.task.limestone.wet.DlRealWetAnomalyLimestoneService; +import cn.cecep.talroad.data.analyse.task.limestone.wet.SteelRealWetAnomalyLimestoneService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +@RequiredArgsConstructor +public class LimestoneAnomalyAbstractFactory { + + private static Map serviceMap = new HashMap<>(); + + // 干 + private final SteelRealDryAnomalyLimestoneService steelRealDryAnomalyLimestoneService; + + // 湿 + private final DlRealWetAnomalyLimestoneService dlRealWetAnomalyLimestoneService; + private final SteelRealWetAnomalyLimestoneService steelRealWetAnomalyLimestoneService; + + @PostConstruct + public void init(){ + serviceMap.put(LimestoneDataAnomalyFactoryServiceEnum.DRY_STEEL,steelRealDryAnomalyLimestoneService); + + serviceMap.put(LimestoneDataAnomalyFactoryServiceEnum.WET_DL,dlRealWetAnomalyLimestoneService); + serviceMap.put(LimestoneDataAnomalyFactoryServiceEnum.WET_STEEL,steelRealWetAnomalyLimestoneService); + } + + public List getWetAnomalyAbstract(){ + List baseAnomalyLimestoneServices = new ArrayList(){ + { + add(serviceMap.get(LimestoneDataAnomalyFactoryServiceEnum.WET_DL)); + add(serviceMap.get(LimestoneDataAnomalyFactoryServiceEnum.WET_STEEL)); + } + }; + return baseAnomalyLimestoneServices; + } + + public List getDryAnomalyAbstract(){ + List baseAnomalyLimestoneServices = new ArrayList(){ + { + add(serviceMap.get(LimestoneDataAnomalyFactoryServiceEnum.DRY_STEEL)); + } + }; + return baseAnomalyLimestoneServices; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/dry/SteelRealDryAnomalyLimestoneService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/dry/SteelRealDryAnomalyLimestoneService.java new file mode 100644 index 0000000..b1b3072 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/dry/SteelRealDryAnomalyLimestoneService.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.data.analyse.task.limestone.dry; + +import cn.cecep.talroad.data.analyse.task.limestone.BaseAnomalyLimestoneService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class SteelRealDryAnomalyLimestoneService extends BaseAnomalyLimestoneService { + + @Autowired + private MonDevRealMapper monDevRealMapper; + + @Override + protected List queryDevice() { + return queryDevice(EnIndustry.GT, GtDeviceTypeEnum.SL.getCode(),GtDeviceTypeEnum.SJJ.getCode(),GtDeviceTypeEnum.JL.getCode()); + } + + + @Override + protected List queryRealData(List deviceIds , Date startTime , Date endTime) { + + LambdaQueryWrapper monDevDlRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonDevReal::getDeviceId, deviceIds) + .ge(MonDevReal::getDataTime, startTime) + .le(MonDevReal::getDataTime, endTime) + .isNotNull(MonDevReal::getSo2In) + .isNotNull(MonDevReal::getSo2Out) + .isNotNull(MonDevReal::getGb08) + .isNotNull(MonDevReal::getGb09); + + return monDevRealMapper.selectList(monDevDlRealLambdaQueryWrapper); + } + + @Override + protected Map> groupRealData(List realData) { + return realData.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + @Override + protected AmProblemFi getRealAmProblemFi(BasDevice basDevice, List deviceRealData, BigDecimal gasData , BigDecimal limestoneConfig , BigDecimal consumeConfig) { + + // 石灰石消耗量 + BigDecimal limestone = getLimestone( + deviceRealData.stream().map(MonDevReal::getSo2In).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + deviceRealData.stream().map(MonDevReal::getSo2Out).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + gasData, + limestoneConfig + ); + + // 脱硫剂 消耗量 + BigDecimal realData = realAvg(deviceRealData.stream().map(monDevReal -> { + + BigDecimal gb08 = new BigDecimal(0); + try { + gb08 = new BigDecimal(monDevReal.getGb08()); + }catch (Exception e){ + } + + BigDecimal gb09 = new BigDecimal(0); + try { + gb09 = new BigDecimal(monDevReal.getGb09()); + }catch (Exception e){ + } + return gb09.add(gb08); + }).collect(Collectors.toList())); + // 计算是否 大于比例值 + boolean calculate = calculate(realData, limestone, consumeConfig); + + if (!calculate){ + + return addProblem(basDevice.getName(),realData,limestone.subtract(consumeConfig),limestone,basDevice.getFactoryId(), ProblemTypeEnum.DRY.getCode()); + + } + + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/entity/GasDeviceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/entity/GasDeviceVo.java new file mode 100644 index 0000000..41f7ec8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/entity/GasDeviceVo.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.data.analyse.task.limestone.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class GasDeviceVo { + + private String deviceId; + + private BigDecimal avgGas; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/DlRealWetAnomalyLimestoneService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/DlRealWetAnomalyLimestoneService.java new file mode 100644 index 0000000..5a1a2ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/DlRealWetAnomalyLimestoneService.java @@ -0,0 +1,93 @@ +package cn.cecep.talroad.data.analyse.task.limestone.wet; + +import cn.cecep.talroad.data.analyse.task.limestone.BaseAnomalyLimestoneService; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.MonDevDlRealMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class DlRealWetAnomalyLimestoneService extends BaseAnomalyLimestoneService { + + @Autowired + private MonDevDlRealMapper monDevDlRealMapper; + + + @Override + protected List queryDevice() { + return queryDevice(EnIndustry.DL); + } + + @Override + protected List queryRealData(List deviceIds , Date startTime , Date endTime) { + + LambdaQueryWrapper monDevDlRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonDevDlReal::getDeviceId, deviceIds) + .ge(MonDevDlReal::getDataTime, startTime) + .le(MonDevDlReal::getDataTime, endTime) + .isNotNull(MonDevDlReal::getG119) + .isNotNull(MonDevDlReal::getG127) + .isNotNull(MonDevDlReal::getG115); + + return monDevDlRealMapper.selectList(monDevDlRealLambdaQueryWrapper); + } + + @Override + protected Map> groupRealData(List realData) { + return realData.stream().collect(Collectors.groupingBy(MonDevDlReal::getDeviceId)); + } + + @Override + protected AmProblemFi getRealAmProblemFi(BasDevice basDevice, List deviceRealData, BigDecimal gasData , BigDecimal limestoneConfig , BigDecimal consumeConfig) { + + // 石灰石消耗量 + BigDecimal limestone = getLimestone( + deviceRealData.stream().map(MonDevDlReal::getG119).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + deviceRealData.stream().map(MonDevDlReal::getG127).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + gasData, + limestoneConfig + ); + + // 脱硫剂 消耗量 + BigDecimal realData = realAvg(deviceRealData.stream().map(MonDevDlReal::getG115).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList())); + // 计算是否 大于比例值 + boolean calculate = calculate(realData, limestone, consumeConfig); + + if (!calculate){ + + return addProblem(basDevice.getName(),realData,limestone.subtract(consumeConfig),limestone,basDevice.getFactoryId(), ProblemTypeEnum.WET.getCode()); + + } + + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/SteelRealWetAnomalyLimestoneService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/SteelRealWetAnomalyLimestoneService.java new file mode 100644 index 0000000..719faab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/limestone/wet/SteelRealWetAnomalyLimestoneService.java @@ -0,0 +1,96 @@ +package cn.cecep.talroad.data.analyse.task.limestone.wet; + +import cn.cecep.talroad.data.analyse.task.limestone.BaseAnomalyLimestoneService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class SteelRealWetAnomalyLimestoneService extends BaseAnomalyLimestoneService { + + @Autowired + private MonDevRealMapper monDevRealMapper; + + + @Override + protected List queryDevice() { + return queryDevice(EnIndustry.GT, GtDeviceTypeEnum.SL.getCode(),GtDeviceTypeEnum.SJJ.getCode(),GtDeviceTypeEnum.JL.getCode(),GtDeviceTypeEnum.LY.getCode(),GtDeviceTypeEnum.FDJZ.getCode()); + } + + @Override + protected List queryRealData(List deviceIds , Date startTime , Date endTime) { + + LambdaQueryWrapper monDevDlRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonDevReal::getDeviceId, deviceIds) + .ge(MonDevReal::getDataTime, startTime) + .le(MonDevReal::getDataTime, endTime) + .isNotNull(MonDevReal::getSo2In) + .isNotNull(MonDevReal::getSo2Out) + .isNotNull(MonDevReal::getTljVol); + + return monDevRealMapper.selectList(monDevDlRealLambdaQueryWrapper); + } + + @Override + protected Map> groupRealData(List realData) { + return realData.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + @Override + protected AmProblemFi getRealAmProblemFi(BasDevice basDevice, List deviceRealData, BigDecimal gasData , BigDecimal limestoneConfig , BigDecimal consumeConfig) { + + // 石灰石消耗量 + BigDecimal limestone = getLimestone( + deviceRealData.stream().map(MonDevReal::getSo2In).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + deviceRealData.stream().map(MonDevReal::getSo2Out).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList()), + gasData, + limestoneConfig + ); + + // 脱硫剂 消耗量 + BigDecimal realData = realAvg(deviceRealData.stream().map(MonDevReal::getTljVol).map(num -> { + try { + return new BigDecimal(num); + } catch (Exception e) { + return new BigDecimal(0); + } + }).collect(Collectors.toList())); + // 计算是否 大于比例值 + boolean calculate = calculate(realData, limestone, consumeConfig); + + if (!calculate){ + + return addProblem(basDevice.getName(),realData,limestone.subtract(consumeConfig),limestone,basDevice.getFactoryId(), ProblemTypeEnum.WET.getCode()); + + } + + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/DataLogicAbstractService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/DataLogicAbstractService.java new file mode 100644 index 0000000..ad5cdc4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/DataLogicAbstractService.java @@ -0,0 +1,304 @@ +package cn.cecep.talroad.data.analyse.task.logic; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.entity.PreAmProblemFi; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.BasThresholdConfigMapper; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.NumberUtil; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 数据异常抽象处理类 + */ +@Slf4j +public abstract class DataLogicAbstractService extends DataAnomalyAbstractService { + + /** + * 数据异常判断配置 code 正常来说 如果不变的情况下 走默认 异常来不及修改情况可从配置获取 + */ + @Value("${data.logic.code:S03}") + private String earlyWarningParamCode; + + /** + * 数据异常判断阈值 默认30 正常来说 如果不变的情况下 走默认 异常来不及修改情况可从配置获取 + */ + @Value("${data.logic.default.threshold:30}") + private Integer defaultThreshold; + + @Autowired + private BasThresholdConfigMapper basThresholdConfigMapper; + + @Override + protected List verify(String deviceId, List deviceRealData, List deviceBindOnlineParams) { + Map paramsMap = deviceBindOnlineParams.stream().collect(Collectors.toMap(BasDeviceParamListVo::getParamId, Function.identity())); + Map> paramAllValue = getColumnParamValue(deviceRealData, new ArrayList<>(paramsMap.keySet())); + Map thresholdMap = new HashMap<>(paramsMap.size()); + List preAmProblemFis = new ArrayList<>(); + Map pMap = new HashMap<>(); + int configThreshold = getConfigThreshold(); + for (Map.Entry> entry : paramAllValue.entrySet()) { + BasDeviceParamListVo deviceParam = paramsMap.get(entry.getKey()); + if (deviceParam == null){ + continue; + } + Double maxValue = deviceParam.getMaxValue(); + Double minValue = deviceParam.getMinValue(); + if (maxValue == null || minValue == null){ + continue; + } + List values = entry.getValue(); + String startTime = null; + String endTime = null; + //values 一定是有序的 那么如果其中某一个数据异常 则可以根据下标 + for (int i = 0; i < values.size(); i++) { + Double numberValue = getDevicePramsValue(values.get(i)); + boolean isMin = NumberUtil.compare(numberValue,minValue) < 0; + boolean isMax = NumberUtil.compare(numberValue,maxValue) > 0; + if (isMin || isMax){ + //记录预警日志 如果是第一次发生异常 应该记录到该参数异常开始时间 + Integer threshold = thresholdMap.get(entry.getKey()); + if (threshold == null){ + //初始化 开始时间 和 异常次数 + startTime = getLogicExceptionsDate(deviceRealData.get(i)); + threshold = 0; + } + //此处判断 连续异常次数 是否 >= 阈值所配置 + if (++threshold >= configThreshold){ + //预先存储 告警日志 信息 + endTime = getLogicExceptionsDate(deviceRealData.get(i)); + } + thresholdMap.put(entry.getKey(),threshold); + }else{ + int count = thresholdMap.get(entry.getKey()) == null ? 0 : thresholdMap.get(entry.getKey()); + if (count < configThreshold){ + //如果未达到阈值 且 不是异常数据 那么需要清除之前的记录 保证连续判断 + cleanThreshold(thresholdMap,entry.getKey()); + startTime = null; + endTime = null; + //判断 剩余数据 是否满足 连续的阈值判断 不满足 跳出 执行下个参数 + if (values.size() - configThreshold > values.size() - i){ + break; + } + } + } + } + //如果有异常开始时间 和 结束时间 就应该预先添加对应日志信息了 + if (startTime != null && endTime != null){ + preAmProblemFis.add(new PreAmProblemFi(deviceId,entry.getKey(),startTime,endTime)); + } + } + //无异常情况 直接退出 + if (CollectionUtil.isEmpty(preAmProblemFis)){ + return new ArrayList<>(); + } + //获取 预警设备 和参数的名称 用来组装预警信息 + List deviceIds = preAmProblemFis.stream().map(PreAmProblemFi::getDeviceId).distinct().collect(Collectors.toList()); + List paramIds = preAmProblemFis.stream().map(PreAmProblemFi::getParamId).distinct().collect(Collectors.toList()); + Map deviceMap = queryDeviceByIds(deviceIds); + Map paramsNameByIds = queryParamsNameByIds(paramIds); + Map paramAnalyseMap = queryParamsAnalyseByIds(paramIds); + return convertPreAmProblemFiToAmProblemFi(preAmProblemFis,deviceMap,paramsNameByIds,paramAnalyseMap,paramsMap,deviceId,pMap); + } + + public List convertPreAmProblemFiToAmProblemFi(List preAmProblemFis, + Map deviceMap, + Map paramsNameByIds, + Map paramAnalyseMap, + Map paramsMap, + String deviceId,Map pMap){ + List result = new ArrayList<>(); + + for (PreAmProblemFi preAmProblemFi : preAmProblemFis) { + BasDeviceParamAnalyse basDeviceParamAnalyse = paramAnalyseMap.get(preAmProblemFi.getParamId()); + String dataType = "1"; + if (basDeviceParamAnalyse != null){ + dataType = basDeviceParamAnalyse.getDataType(); + } + //生成告警信息 + FactoryDeviceVo factoryDeviceVo = new FactoryDeviceVo(); + BasDevice basDevice = deviceMap.get(deviceId); + if (basDevice == null){ + log.error("设备信息不存在!deviceId:{}",deviceId); + continue; + } + factoryDeviceVo.setDeviceName(basDevice.getName()); + factoryDeviceVo.setDeviceId(deviceId); + factoryDeviceVo.setFactoryId(basDevice.getFactoryId()); + BasDeviceParamListVo deviceParam = paramsMap.get(preAmProblemFi.getParamId()); + //构建报警信息 + String msg = buildMsg(basDevice.getName(),paramsNameByIds.get(preAmProblemFi.getParamId()), + preAmProblemFi.getStartTime(),preAmProblemFi.getEndTime(), + String.valueOf(deviceParam.getMinValue()),String.valueOf(deviceParam.getMaxValue())); + //构建报警实体 + AmProblemFi amProblemFi = doProcessAlaram(factoryDeviceVo,dataType, + DateUtils.parseDate(preAmProblemFi.getStartTime()), + DateUtils.parseDate(preAmProblemFi.getEndTime()), + ProblemTypeEnum.SJLJYC, msg, + paramsNameByIds.get(preAmProblemFi.getParamId()), preAmProblemFi.getParamId()); + + if(amProblemFi!=null){ + String key = deviceId+preAmProblemFi.getParamId(); + String value = pMap.get(key); + if(StringUtils.isEmpty(value)){ + pMap.put(key,deviceId); + result.add(amProblemFi); + } + } + } + return result; + } + + /** + * 构建报警信息 + */ + private String buildMsg(String deviceName,String paramName,String start,String end,String minValue,String maxValue){ + return deviceName + "-" + + paramName + "-于报警开始时间(" + + start + ")至报警结束时间(" + + end + "出现数据连续逻辑异常情况,超出数据估计值范围(" + + minValue + "-" + + maxValue + ")"; + } + + /** + * 构建报警信息实体 + */ + private AmProblemFi doProcessAlaram(FactoryDeviceVo vo,String problemSources, + Date start, Date end, ProblemTypeEnum problemType, String msg, String param , String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setId(IdUtil.simpleUUID()); + problemFi.setProblemSources(problemSources); + problemFi.setFactoryId(vo.getFactoryId()); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(vo.getDeviceId()); + problemFi.setStationName(vo.getDeviceName()); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setParamProperty(paramProperty); + problemFi.setInputStartTime(DateUtils.dateTime()); + problemFi.setInputEndTime(DateUtils.dateTime()); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",vo.getDeviceId()); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + + /** + * 获取 数据逻辑异常分析 阈值 + * @return 阈值 默认30 + */ + public int getConfigThreshold(){ + BasThresholdConfig thresholdConfig = basThresholdConfigMapper.selectByParamCode(earlyWarningParamCode); + if (thresholdConfig == null || thresholdConfig.getThresholdValue() == null){ + return defaultThreshold; + } + return thresholdConfig.getThresholdValue().intValue(); + } + /** + * 获取设备参数的值 处理异常情况 + */ + private Double getDevicePramsValue(Object value){ + Double currentValue = (double) 0; + if (!NumberUtil.isNumber(String.valueOf(value))){ + return currentValue; + } + return new Double(String.valueOf(value)); + } + + /** + * 清除参数异常次数 + * @param thresholdMap 参数异常map + * @param key 参数名称 + */ + private void cleanThreshold(Map thresholdMap, String key) { + Integer threshold = thresholdMap.get(key); + if (threshold == null) { + threshold = 0; + } else { + ++threshold; + } + thresholdMap.put(key, threshold); + } + + /** + * 获取逻辑异常时间 + */ + protected abstract String getLogicExceptionsDate(T entity); + + /** + * 获取查询实时表开始时间 + */ + protected Date getQueryDataStartDateTime(){ + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, (calendar.get(Calendar.HOUR_OF_DAY) - 1)); + calendar.set(Calendar.MINUTE,0); + calendar.set(Calendar.SECOND,0); + return calendar.getTime(); +// //异常测试数据时间 GT00020009 g504参数 +// return DateUtil.parseDateTime("2023-06-10 12:00:00"); +// //正常测试数据时间 GT00020009 g504参数 +// return DateUtil.parseDateTime("2023-06-10 13:00:00"); + } + + /** + * 获取查询实时表结束时间 + */ + protected Date getQueryDataEndDateTime(){ + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, (calendar.get(Calendar.HOUR_OF_DAY) - 1)); + calendar.set(Calendar.MINUTE,59); + calendar.set(Calendar.SECOND,59); + return calendar.getTime(); + //异常测试数据时间 GT00020009 g504参数 +// return DateUtil.parseDateTime("2023-06-10 13:00:00"); + //正常测试数据时间 GT00020009 g504参数 +// return DateUtil.parseDateTime("2023-06-10 14:00:00"); + } + + @Override + protected boolean filterDeviceParamTaskSwitch(BasDeviceParamAnalyse analyse){ + return "1".equals(analyse.getDataLogicAbnormalEw()); + } + + /** + * 获取所有设备ids + * 需要自行实现 + */ + protected abstract List queryDeviceIds(); + + /** + * 获取实时数据 + * + * @return + */ + protected abstract List queryReal(List deviceIds,Date startTime,Date endTime); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/BurnDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/BurnDataLogicService.java new file mode 100644 index 0000000..73695fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/BurnDataLogicService.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevFsRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 焚烧 + */ +@Slf4j +@Service +public class BurnDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevFsRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 逻辑异常 + return queryDeviceIds(EnIndustry.FS, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevFsReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevFsReal::getDeviceId, deviceIds) + .eq(MonDevFsReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevFsReal::getDataTime,startTime,endTime) + .orderBy(true,true,MonDevFsReal::getDataTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevFsReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CementDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CementDataLogicService.java new file mode 100644 index 0000000..57c4c9b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CementDataLogicService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevSnRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 水泥 + */ +@Slf4j +@Service +public class CementDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevSnRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 逻辑异常 + return queryDeviceIds(EnIndustry.SN, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevSnReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevSnReal::getDeviceId, deviceIds) + .eq(MonDevSnReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevSnReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevSnReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CokingDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CokingDataLogicService.java new file mode 100644 index 0000000..3f193a5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/CokingDataLogicService.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevJhRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 焦化 + */ +@Slf4j +@Service +public class CokingDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevJhRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 逻辑异常 + return queryDeviceIds(EnIndustry.JH, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevJhReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("data_id","factory_id","device_id","time_type","data_time","js100","js101","js102","js103","js104","jz100","jz101","jz102","jz103","jz105","jz106","jz107","jz108","jz109","jz110","js200","js201","js202","js203","g141","g314","g329","g330","g604","g605","g606","g942","g943","g944","g945","g949","g951","g952","g956","g957","g958","g960","g961","g962","g963","g964","g965","g966","g967","g968","g969","g970","g971","g972","g973","g974","g975","g976","g977","g978","g979","g980","g981","g982","g993","g994","g995","gb08","gb09","gb11","gb12","gb13","ppm_cc1","ppm_cc2","ppm_unit_cc1","ppm_unit_cc2","addi_param","a100","a101","a102","a103","a104","a105","a111","\"txjVol\"","a120","a121","a130","a131","a140","a141","g140","g318","g325","g601","g959","h959","h960","j959","j960"); + queryWrapper.in("device_id", deviceIds); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",startTime,endTime); + return mapper.selectList(queryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevJhReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GasDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GasDataLogicService.java new file mode 100644 index 0000000..2651b6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GasDataLogicService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.GasDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class GasDataLogicService extends DataLogicAbstractService { + + @Autowired + private GasDataDeviceRealService gasDataRealService; + + @Override + protected List queryDeviceIds() { + return gasDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return gasDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return gasDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvGasMonReal entity) { + return gasDataRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GlassDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GlassDataLogicService.java new file mode 100644 index 0000000..9c72a4f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/GlassDataLogicService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevBlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 玻璃 + */ +@Slf4j +@Service +public class GlassDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevBlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 数据逻辑异常 + return queryDeviceIds(EnIndustry.BL, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevBlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevBlReal::getDeviceId, deviceIds) + .eq(MonDevBlReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevBlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevBlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/PowerDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/PowerDataLogicService.java new file mode 100644 index 0000000..549390c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/PowerDataLogicService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevDlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 电力 + */ +@Slf4j +@Service +public class PowerDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevDlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + //数据逻辑异常 + return queryDeviceIds(EnIndustry.DL, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevDlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevDlReal::getDeviceId, deviceIds) + .eq(MonDevDlReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevDlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevDlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/SteelDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/SteelDataLogicService.java new file mode 100644 index 0000000..381edbf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/SteelDataLogicService.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + + +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 钢铁 + */ +@Slf4j +@Service +public class SteelDataLogicService extends DataLogicAbstractService { + + @Autowired + private MonDevRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 数据逻辑异常 + return queryDeviceIds(EnIndustry.GT, DataTypeEnum.LOGIC.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevReal::getDeviceId, deviceIds) + .eq(MonDevReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevReal::getDataTime,startTime,endTime) + .orderBy(true,true, MonDevReal::getDataTime);; + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/WaterDataLogicService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/WaterDataLogicService.java new file mode 100644 index 0000000..3b8db33 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/logic/impl/WaterDataLogicService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.logic.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.logic.DataLogicAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.WaterDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class WaterDataLogicService extends DataLogicAbstractService { + + @Autowired + private WaterDataDeviceRealService waterRealService; + + @Override + protected List queryDeviceIds() { + return waterRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return waterRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return waterRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvWaterMonReal entity) { + return waterRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/DataMissingAbstractService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/DataMissingAbstractService.java new file mode 100644 index 0000000..d98386f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/DataMissingAbstractService.java @@ -0,0 +1,277 @@ +package cn.cecep.talroad.data.analyse.task.missing; + + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.entity.PreAmProblemFi; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.BasThresholdConfigMapper; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.hutool.core.collection.CollectionUtil; + +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 数据缺失抽象处理类 + */ +@Slf4j +public abstract class DataMissingAbstractService extends DataAnomalyAbstractService { + + + /** + * 数据异常判断配置 code 正常来说 如果不变的情况下 走默认 异常来不及修改情况可从配置获取 + */ + @Value("${data.logic.code:S01}") + private String earlyWarningParamCode; + + /** + * 数据异常判断阈值 默认30 正常来说 如果不变的情况下 走默认 异常来不及修改情况可从配置获取 + */ + @Value("${data.logic.default.threshold:30}") + private Integer defaultThreshold; + + @Autowired + private BasThresholdConfigMapper basThresholdConfigMapper; + + @Override + protected List verify(String deviceId, List deviceRealData, List deviceBindOnlineParams) { + Map paramsMap = deviceBindOnlineParams.stream().collect(Collectors.toMap(BasDeviceParamListVo::getParamId, Function.identity())); + Map> paramAllValue = getColumnParamValue(deviceRealData, new ArrayList<>(paramsMap.keySet())); + Map thresholdMap = new HashMap<>(paramsMap.size()); + List preAmProblemFis = new ArrayList<>(); + Map pMap = new HashMap<>(); + int configThreshold = getConfigThreshold(); + for (Map.Entry> entry : paramAllValue.entrySet()) { + BasDeviceParamListVo deviceParam = paramsMap.get(entry.getKey()); + if (deviceParam == null){ + continue; + } + List values = entry.getValue(); + String startTime = null; + String endTime = null; + //values 一定是有序的 那么如果其中某一个数据异常 则可以根据下标 + for (int i = 0; i < values.size(); i++) { + //数据缺失 + if (values.get(i) == null || StringUtils.isEmpty(values.get(i).toString())){ + //记录预警日志 如果是第一次发生异常 应该记录到该参数异常开始时间 + Integer threshold = thresholdMap.get(entry.getKey()); + if (threshold == null){ + //初始化 开始时间 和 异常次数 + startTime = getLogicExceptionsDate(deviceRealData.get(i)); + threshold = 0; + } + //此处判断 连续异常次数 是否 >= 阈值所配置 + if (++threshold >= configThreshold){ + //预先存储 告警日志 信息 + endTime = getLogicExceptionsDate(deviceRealData.get(i)); + } + thresholdMap.put(entry.getKey(),threshold); + }else{ + int count = thresholdMap.get(entry.getKey()) == null ? 0 : thresholdMap.get(entry.getKey()); + if (count < configThreshold){ + //如果未达到阈值 且 不是异常数据 那么需要清除之前的记录 保证连续判断 + cleanThreshold(thresholdMap,entry.getKey()); + startTime = null; + endTime = null; + //判断 剩余数据 是否满足 连续的阈值判断 不满足 跳出 执行下个参数 + if (values.size() - configThreshold > values.size() - i){ + break; + } + } + } + } + //如果有异常开始时间 和 结束时间 就应该预先添加对应日志信息了 + if (startTime != null && endTime != null){ + preAmProblemFis.add(new PreAmProblemFi(deviceId,entry.getKey(),startTime,endTime)); + } + } + //无异常情况 直接退出 + if (CollectionUtil.isEmpty(preAmProblemFis)){ + return new ArrayList<>(); + } + //获取 预警设备 和参数的名称 用来组装预警信息 + List deviceIds = preAmProblemFis.stream().map(PreAmProblemFi::getDeviceId).distinct().collect(Collectors.toList()); + List paramIds = preAmProblemFis.stream().map(PreAmProblemFi::getParamId).distinct().collect(Collectors.toList()); + Map deviceMap = queryDeviceByIds(deviceIds); + Map paramsNameByIds = queryParamsNameByIds(paramIds); + Map paramAnalyseMap = queryParamsAnalyseByIds(paramIds); + return convertPreAmProblemFiToAmProblemFi(preAmProblemFis,deviceMap,paramsNameByIds,paramAnalyseMap,pMap,deviceId); + } + + public List convertPreAmProblemFiToAmProblemFi(List preAmProblemFis, + Map deviceMap, + Map paramsNameByIds, + Map paramAnalyseMap, + Map pMap, + String deviceId){ + List result = new ArrayList<>(); + for (PreAmProblemFi preAmProblemFi : preAmProblemFis) { + BasDeviceParamAnalyse basDeviceParamAnalyse = paramAnalyseMap.get(preAmProblemFi.getParamId()); + String dataType = "1"; + if (basDeviceParamAnalyse != null){ + dataType = basDeviceParamAnalyse.getDataType(); + } + //生成告警信息 + FactoryDeviceVo factoryDeviceVo = new FactoryDeviceVo(); + BasDevice basDevice = deviceMap.get(deviceId); + if (basDevice == null){ + log.error("设备信息不存在!deviceId:{}",deviceId); + continue; + } + factoryDeviceVo.setDeviceName(basDevice.getName()); + factoryDeviceVo.setDeviceId(deviceId); + factoryDeviceVo.setFactoryId(basDevice.getFactoryId()); + String stDate = ""; + String endDate = ""; + if(DateUtils.parseDate(preAmProblemFi.getStartTime()).compareTo(DateUtils.parseDate(preAmProblemFi.getEndTime()))<0){ + stDate = preAmProblemFi.getEndTime(); + endDate = preAmProblemFi.getStartTime(); + }else{ + stDate = preAmProblemFi.getStartTime(); + endDate = preAmProblemFi.getEndTime(); + } + + //构建报警信息 + String msg = buildMsg(basDevice.getName(),paramsNameByIds.get(preAmProblemFi.getParamId()), + stDate,endDate); + + //构建报警实体 + AmProblemFi amProblemFi = doProcessAlaram(factoryDeviceVo,dataType, + DateUtils.parseDate(stDate), + DateUtils.parseDate(endDate), + ProblemTypeEnum.SJQS, msg, + paramsNameByIds.get(preAmProblemFi.getParamId()), preAmProblemFi.getParamId()); + + if(amProblemFi!=null){ + String key = deviceId+preAmProblemFi.getParamId(); + String value = pMap.get(key); + if(StringUtils.isEmpty(value)){ + pMap.put(key,deviceId); + result.add(amProblemFi); + } + } + } + return result; + } + + /** + * 构建报警信息 + */ + private String buildMsg(String deviceName,String paramName,String start,String end){ + return deviceName + "-" + + paramName + "-于报警开始时间(" + + start + ")至报警结束时间(" + + end + "出现数据连续缺失情况"; + } + + /** + * 构建报警信息实体 + */ + private AmProblemFi doProcessAlaram(FactoryDeviceVo vo, String problemSources, + Date start, Date end, ProblemTypeEnum problemType, String msg, String param , String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setId(IdUtil.simpleUUID()); + problemFi.setProblemSources(problemSources); + problemFi.setFactoryId(vo.getFactoryId()); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(vo.getDeviceId()); + problemFi.setStationName(vo.getDeviceName()); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setParamProperty(paramProperty); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",vo.getDeviceId()); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + + /** + * 获取 数据逻辑异常分析 阈值 + * @return 阈值 默认30 + */ + public int getConfigThreshold(){ + BasThresholdConfig thresholdConfig = basThresholdConfigMapper.selectByParamCode(earlyWarningParamCode); + if (thresholdConfig == null || thresholdConfig.getThresholdValue() == null){ + return defaultThreshold; + } + return thresholdConfig.getThresholdValue().intValue(); + } + + /** + * 清除参数异常次数 + * @param thresholdMap 参数异常map + * @param key 参数名称 + */ + private void cleanThreshold(Map thresholdMap, String key) { + Integer threshold = thresholdMap.get(key); + if (threshold == null) { + threshold = 0; + } else { + ++threshold; + } + thresholdMap.put(key, threshold); + } + + /** + * 获取逻辑异常时间 + */ + protected abstract String getLogicExceptionsDate(T entity); + + /** + * 获取查询实时表开始时间 + */ + protected Date getQueryDataStartDateTime(){ + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, (calendar.get(Calendar.HOUR_OF_DAY) - 1)); + return calendar.getTime(); + } + + /** + * 获取查询实时表结束时间 + */ + protected Date getQueryDataEndDateTime(){ + return Calendar.getInstance().getTime(); + } + @Override + protected boolean filterDeviceParamTaskSwitch(BasDeviceParamAnalyse analyse){ + return "1".equals(analyse.getDataLogicDeficiencyEw()); + } + + /** + * 获取所有设备ids + * 需要自行实现 + */ + protected abstract List queryDeviceIds(); + + /** + * 获取实时数据 + * + * @return + */ + protected abstract List queryReal(List deviceIds, Date startTime, Date endTime); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/BurnDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/BurnDataMissingService.java new file mode 100644 index 0000000..f6a6c76 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/BurnDataMissingService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevFsRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 焚烧 + */ +@Slf4j +@Service +public class BurnDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevFsRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 数据缺失 + return queryDeviceIds(EnIndustry.FS, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevFsReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevFsReal::getDeviceId, deviceIds) + .eq(MonDevFsReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevFsReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevFsReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CementDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CementDataMissingService.java new file mode 100644 index 0000000..8edfada --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CementDataMissingService.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevSnRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 水泥 + */ +@Slf4j +@Service +public class CementDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevSnRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 数据缺失 + return queryDeviceIds(EnIndustry.SN, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevSnReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevSnReal::getDeviceId, deviceIds) + .eq(MonDevSnReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevSnReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevSnReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CokingDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CokingDataMissingService.java new file mode 100644 index 0000000..a286bc7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/CokingDataMissingService.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevJhRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import java.util.Arrays; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 焦化 + */ +@Slf4j +@Service +public class CokingDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevJhRealMapper mapper; + + @Override + protected List queryDeviceIds() { + // 数据缺失 + return queryDeviceIds(EnIndustry.JH, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevJhReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("data_id","factory_id","device_id","time_type","data_time","js100","js101","js102","js103","js104","jz100","jz101","jz102","jz103","jz105","jz106","jz107","jz108","jz109","jz110","js200","js201","js202","js203","g141","g314","g329","g330","g604","g605","g606","g942","g943","g944","g945","g949","g951","g952","g956","g957","g958","g960","g961","g962","g963","g964","g965","g966","g967","g968","g969","g970","g971","g972","g973","g974","g975","g976","g977","g978","g979","g980","g981","g982","g993","g994","g995","gb08","gb09","gb11","gb12","gb13","ppm_cc1","ppm_cc2","ppm_unit_cc1","ppm_unit_cc2","addi_param","a100","a101","a102","a103","a104","a105","a111","\"txjVol\"","a120","a121","a130","a131","a140","a141","g140","g318","g325","g601","g959","h959","h960","j959","j960"); + queryWrapper.in("device_id", deviceIds); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",startTime,endTime); + return mapper.selectList(queryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevJhReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/ElecDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/ElecDataMissingService.java new file mode 100644 index 0000000..f8c2582 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/ElecDataMissingService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.DeviceSitVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.ElecDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonElecReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class ElecDataMissingService extends DataMissingAbstractService { + + @Autowired + private ElecDataDeviceRealService elecDataRealService; + + @Override + protected List queryDeviceIds() { + return elecDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return elecDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return elecDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(MonElecReal entity) { + return elecDataRealService.getLogicExceptionsDate(entity); + } + + @Override + protected String getDeviceId(String deviceId) { + return DeviceSitVo.parse(deviceId).getDeviceId(); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = DeviceSitVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getDeviceId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return DeviceSitVo.toJsonString(mainProductDeviceVos); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasDataMissingService.java new file mode 100644 index 0000000..a651d2e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasDataMissingService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.GasDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class GasDataMissingService extends DataMissingAbstractService { + + @Autowired + private GasDataDeviceRealService gasDataRealService; + + @Override + protected List queryDeviceIds() { + return gasDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return gasDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return gasDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvGasMonReal entity) { + return gasDataRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasMonDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasMonDataMissingService.java new file mode 100644 index 0000000..fe637b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GasMonDataMissingService.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.GasMonDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class GasMonDataMissingService extends DataMissingAbstractService { + + @Autowired + private GasMonDataDeviceRealService gasMonDataRealService; + + @Override + protected List queryDeviceIds() { + return gasMonDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return gasMonDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return gasMonDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvGasMonReal entity) { +// return gasDataRealService.getLogicExceptionsDate(entity); + return ""; + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GlassDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GlassDataMissingService.java new file mode 100644 index 0000000..7a5cdaa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/GlassDataMissingService.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevBlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 玻璃 + */ +@Slf4j +@Service +public class GlassDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevBlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + return queryDeviceIds(EnIndustry.BL, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevBlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevBlReal::getDeviceId, deviceIds) + .eq(MonDevBlReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevBlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevBlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/MAmProblemFiRatioService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/MAmProblemFiRatioService.java new file mode 100644 index 0000000..9dae125 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/MAmProblemFiRatioService.java @@ -0,0 +1,198 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.anomaly.task.entity.ProblemRatioDTO; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.MAmProblemFiRatio; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.MAmProblemFiRatioMapper; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class MAmProblemFiRatioService { + + @Autowired private MAmProblemFiRatioMapper mAmProblemFiRatioMapper; + + @Autowired private AmProblemFiMapper amProblemFiMapper; + + public boolean mainProcess() { + List problemType = Lists.newArrayList(); + String startTime = DateUtil.getTime(DateUtil.getLastMont()); + String endTime = DateUtil.getTime(DateUtil.now()); + problemType.add(ProblemTypeEnum.OVER_STAND.getCode()); + problemType.add(ProblemTypeEnum.WARN.getCode()); + // 企业id + List factoriesIds = + amProblemFiMapper.selectAmProblemFiFactoriesIdsByDate( + Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), problemType); + // 根据企业id修改比例 + toModifyRatio(startTime, endTime, factoriesIds, problemType); + return true; + } + + private void toModifyRatio( + String startTime, String endTime, List factoriesIds, List problemType) { + List> idsPage = Lists.partition(factoriesIds, 10); + // 根据分页后的企业修改对应污染物预警比例 + idsPage.stream() + .parallel() + .forEach( + id -> { + List problemRatioDTOList = Lists.newArrayList(); + // todo根据企业id + // 查询所有的设备报警信息 + List amProblemFis = + amProblemFiMapper.selectAmProblemFiByFactoriesIds( + factoriesIds, + Timestamp.valueOf(startTime), + Timestamp.valueOf(endTime), + problemType); + + if (!CollUtil.isEmpty(amProblemFis)) { + this.problemRatioDTOListByAmProblemFis(amProblemFis, problemRatioDTOList); + // 对比queryMamProblemFiRatioListByFactoriesIds和problemRatioDTOList + this.modifyProblemFiRatio(problemRatioDTOList); + } + }); + } + + private void problemRatioDTOListByAmProblemFis( + List amProblemFis, List problemRatioDTOList) { + Map> factoriesMap = groupByFactoryId(amProblemFis); + factoriesMap.forEach( + (factoriesId, amProblemFiList) -> { + Map> stationMap = groupByStationId(amProblemFiList); + stationMap.forEach( + (stationId, amProblemFiList1) -> { + Map> extraMap = groupByExtra(amProblemFiList1); + extraMap.forEach( + (ex, amProblems) -> { + Map> collect = groupByProblemType(amProblems); + ProblemRatioDTO problemRatioDTO = new ProblemRatioDTO(); + problemRatioDTO.setFactoryId(factoriesId); + problemRatioDTO.setStationId(stationId); + problemRatioDTO.setPollId(this.getPollId(ex)); + collect.forEach( + (type, p) -> { + if (Objects.equals(type, ProblemTypeEnum.OVER_STAND.getCode())) { + problemRatioDTO.setAlarmNumber(p.size()); + } + if (Objects.equals(type, ProblemTypeEnum.WARN.getCode())) { + problemRatioDTO.setWarnNumber(p.size()); + } + }); + problemRatioDTOList.add(problemRatioDTO); + }); + }); + }); + } + + private Map> groupByFactoryId(List amProblemFis) { + return amProblemFis.stream().collect(Collectors.groupingBy(AmProblemFi::getFactoryId)); + } + + private Map> groupByStationId(List amProblemFiList) { + return amProblemFiList.stream() + .collect(Collectors.groupingBy(a -> Optional.ofNullable(a.getStationId()).orElse("0"))); + } + + private Map> groupByExtra(List amProblemFiList1) { + return amProblemFiList1.stream() + .collect(Collectors.groupingBy(a -> Optional.ofNullable(a.getExtra()).orElse("0"))); + } + + private Map> groupByProblemType(List amProblems) { + return amProblems.stream() + .collect(Collectors.groupingBy(a -> Optional.ofNullable(a.getProblemType()).orElse("0"))); + } + + private void modifyProblemFiRatio(List problemRatioDTOList) { + if (CollUtil.isEmpty(problemRatioDTOList)) { + return; + } + List updateList = new ArrayList<>(); + List newList = new ArrayList<>(); + List mAmProblemFiRatioList = + mAmProblemFiRatioMapper.queryMamProblemFiRatioListByProblemRatioDTOList( + problemRatioDTOList); + for (ProblemRatioDTO problemRatioDTO : problemRatioDTOList) { + boolean isNew = true; + for (MAmProblemFiRatio mAmProblemFiRatio : mAmProblemFiRatioList) { + if (Objects.equals(problemRatioDTO.getFactoryId(), mAmProblemFiRatio.getFactoryId()) + && Objects.equals(problemRatioDTO.getStationId(), mAmProblemFiRatio.getStationId()) + && Objects.equals(problemRatioDTO.getPollId(), mAmProblemFiRatio.getPollId())) { + isNew = false; + String problemRatio = mAmProblemFiRatio.getProblemRatio(); + this.countRatio(problemRatioDTO, problemRatio); + mAmProblemFiRatio.setUpdateTime(new Date()); + updateList.add(mAmProblemFiRatio); + } + } + if (isNew) { + MAmProblemFiRatio mAmProblemFiRatio = new MAmProblemFiRatio(); + mAmProblemFiRatio.setFactoryId(problemRatioDTO.getFactoryId()); + mAmProblemFiRatio.setStationId(problemRatioDTO.getStationId()); + mAmProblemFiRatio.setPollId(problemRatioDTO.getPollId()); + mAmProblemFiRatio.setProblemRatio("80"); + mAmProblemFiRatio.setCreateTime(new Date()); + mAmProblemFiRatio.setUpdateTime(new Date()); + newList.add(mAmProblemFiRatio); + } + } + if (!CollUtil.isEmpty(newList)) { + List mAmProblemFiRatios = + BeanUtil.copyToList(newList, MAmProblemFiRatio.class); + mAmProblemFiRatioMapper.batchInsert(mAmProblemFiRatios); + } + if (!CollUtil.isEmpty(updateList)) { + mAmProblemFiRatioMapper.batchUpdate(updateList); + } + } + + private String countRatio(ProblemRatioDTO problemRatioDTO, String problemRatio) { + int ratio = Integer.parseInt(problemRatio); + if (ratio < 95 && ratio != 95) { + Integer warnNumber = problemRatioDTO.getWarnNumber(); + Integer alarmNumber = problemRatioDTO.getAlarmNumber(); + if (warnNumber > 300 && alarmNumber < (warnNumber * 0.1)) { + ratio += 5; + } + } + return ratio + ""; + } + + private String getPollId(String ex) { + Map extra = null; + try { + extra = JSON.parseObject(ex, new TypeReference>() {}); + } catch (Exception e) { + log.info("解析extra异常", e); + } + String pollutantCode = extra != null ? (String) extra.get("pollutantCode") : null; + return pollutantCode; + } + + public boolean mainProcessByTest() { + ArrayList strings = new ArrayList<>(); + strings.add("14"); + strings.add("16"); + List problemType = Lists.newArrayList(); + problemType.add(ProblemTypeEnum.OVER_STAND.getCode()); + problemType.add(ProblemTypeEnum.WARN.getCode()); + toModifyRatio("2023-06-21 00:00:00", "2023-06-21 23:00:00", strings, problemType); + return true; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsDataMissingService.java new file mode 100644 index 0000000..2e398e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsDataMissingService.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.OdsDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class OdsDataMissingService extends DataMissingAbstractService { + + @Autowired + private OdsDataDeviceRealService odsDataRealService; + + @Override + protected List queryDeviceIds() { + return odsDataRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return odsDataRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return odsDataRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(OdsInorganizationWeiStationHourI entity) { +// return gasDataRealService.getLogicExceptionsDate(entity); + return ""; + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingShStationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingShStationService.java new file mode 100644 index 0000000..3613d1b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingShStationService.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.real.device.impl.OdsMeShingShDeviceRealService; +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingShStationService extends DataMissingAbstractService { + + @Autowired + private OdsMeShingShDeviceRealService odsMeShingShRealService; + + @Override + protected List queryDeviceIds() { + return odsMeShingShRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return odsMeShingShRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return odsMeShingShRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(OdsMeshingShStationHourI entity) { +// return gasDataRealService.getLogicExceptionsDate(entity); + return ""; + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingWeiStationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingWeiStationService.java new file mode 100644 index 0000000..6ae3f5d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/OdsMeShingWeiStationService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.OdsMeShingWeiDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingWeiStationService extends DataMissingAbstractService { + + @Autowired + private OdsMeShingWeiDeviceRealService odsMeShingWeiRealService; + + @Override + protected List queryDeviceIds() { + return odsMeShingWeiRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return odsMeShingWeiRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return odsMeShingWeiRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(OdsMeshingWeiStationHourI entity) { +// return gasDataRealService.getLogicExceptionsDate(entity); + return ""; + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/PowerDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/PowerDataMissingService.java new file mode 100644 index 0000000..a1ff8f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/PowerDataMissingService.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevDlRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 电力 + */ +@Slf4j +@Service +public class PowerDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevDlRealMapper mapper; + + @Override + protected List queryDeviceIds() { + return queryDeviceIds(EnIndustry.DL, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevDlReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevDlReal::getDeviceId, deviceIds) + .eq(MonDevDlReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevDlReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevDlReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/SteelDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/SteelDataMissingService.java new file mode 100644 index 0000000..99b8c4b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/SteelDataMissingService.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + + +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.DataTypeEnum; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 钢铁 + */ +@Slf4j +@Service +public class SteelDataMissingService extends DataMissingAbstractService { + + @Autowired + private MonDevRealMapper mapper; + + @Override + protected List queryDeviceIds() { + return queryDeviceIds(EnIndustry.GT, DataTypeEnum.MISS.getCode()); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return dataReal.stream().collect(Collectors.groupingBy(MonDevReal::getDeviceId)); + } + + @Override + protected List queryReal(List deviceIds,Date startTime,Date endTime) { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() + .in(MonDevReal::getDeviceId, deviceIds) + .eq(MonDevReal::getTimeType, TimeTypeEnum.REAL.getCode()) + .between(MonDevReal::getDataTime,startTime,endTime); + return mapper.selectList(lambdaQueryWrapper); + } + + @Override + protected String getLogicExceptionsDate(MonDevReal entity) { + return DateUtil.format(entity.getDataTime(),"yyyy-MM-dd HH:mm:ss"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/WaterDataMissingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/WaterDataMissingService.java new file mode 100644 index 0000000..4fe06b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/missing/impl/WaterDataMissingService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.missing.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.missing.DataMissingAbstractService; +import cn.cecep.talroad.data.analyse.task.real.device.impl.WaterDataDeviceRealService; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class WaterDataMissingService extends DataMissingAbstractService { + + @Autowired + private WaterDataDeviceRealService waterRealService; + + @Override + protected List queryDeviceIds() { + return waterRealService.queryDeviceIds(); + } + + @Override + protected Map> groupDeviceRealList(List dataReal,List deviceIds) { + return waterRealService.groupDeviceRealList(dataReal,deviceIds); + } + + @Override + protected List queryReal(List deviceIds, Date startTime, Date endTime) { + return waterRealService.queryReal(deviceIds,startTime,endTime); + } + + @Override + protected String getLogicExceptionsDate(SEnvWaterMonReal entity) { + return waterRealService.getLogicExceptionsDate(entity); + } + + @Override + protected List getOpenDeviceIds(List deviceIds, List basDeviceSalAnalyses) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + mainProductDeviceVos = mainProductDeviceVos.stream().filter((mainProductDeviceVo) -> { + for (BasDeviceSalAnalysis basDeviceSalAnalysis : basDeviceSalAnalyses) { + if (basDeviceSalAnalysis.getDeviceId().equals(mainProductDeviceVo.getProFacilityId())) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + return MainProductDeviceVo.toJsonString(mainProductDeviceVos); + } + + @Override + protected String getDeviceId(String deviceId) { + return MainProductDeviceVo.parse(deviceId).getProFacilityId(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/RealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/RealService.java new file mode 100644 index 0000000..b32d12b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/RealService.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.data.analyse.task.real; + +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public abstract class RealService { + + @Autowired + private BasDeviceMapper basDeviceMapper; + + /** + * 获取实时数据 + */ + public abstract List queryReal(List deviceIds, Date startTime, Date endTime); + + /** + * 获取设备id + */ + public abstract List queryDeviceIds(); + + /** + * 数据分组 + */ + public abstract Map> groupDeviceRealList(List dataReal,List deviceIds); + + /** + * 获取报警时间 + */ + public abstract String getLogicExceptionsDate(T entity); + + + protected List queryDeviceIds(EnIndustry enIndustry){ + if (enIndustry == null){ + throw new RuntimeException("queryDeviceIds is null!"); + } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .select(BasDevice::getDeviceId) + .eq(BasDevice::getIndustry, enIndustry.id()); + List basDevices = basDeviceMapper.selectList(wrapper); + return basDevices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/GasConcentrationEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/GasConcentrationEnum.java new file mode 100644 index 0000000..883ba43 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/GasConcentrationEnum.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.data.analyse.task.real.concentration; + +import cn.cecep.talroad.data.analyse.task.entity.PollutantEntity; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public enum GasConcentrationEnum { + + so2("so2","A21026","二氧化硫"), + nox("nox","A21002","氮氧化物"), + no("no","A21003","一氧化氮"), + no2("no2","A21004","二氧化氮"), + smokeDust("smokeDust","A34013","烟尘"), + pm("pm","A99911","颗粒物实测"), + vocs("vocs","A99907","voc实测"), + + ; + + /** + * 表中的参数字段 + */ + private String param; + + /** + * 污染物code + */ + private String pollutantsCode; + + /** + * 污染物名称 + */ + private String pollutantsName; + + GasConcentrationEnum(String param, String pollutantsCode, String pollutantsName) { + this.param = param; + this.pollutantsCode = pollutantsCode; + this.pollutantsName = pollutantsName; + } + + public String getParam() { + return param; + } + + public void setParam(String param) { + this.param = param; + } + + public String getPollutantsCode() { + return pollutantsCode; + } + + public void setPollutantsCode(String pollutantsCode) { + this.pollutantsCode = pollutantsCode; + } + + public String getPollutantsName() { + return pollutantsName; + } + + public void setPollutantsName(String pollutantsName) { + this.pollutantsName = pollutantsName; + } + + public static List getPollutantEntity(){ + return Arrays.stream(GasConcentrationEnum.values()).map(GasConcentrationEnum::getPollutantEntity).collect(Collectors.toList()); + } + + public static PollutantEntity getPollutantEntity(GasConcentrationEnum gasConcentrationEnum){ + return PollutantEntity.builder() + .propName(gasConcentrationEnum.getPollutantsName()) + .pollutantsCode(gasConcentrationEnum.getPollutantsCode()) + .pollutantsName(gasConcentrationEnum.getPollutantsName()).build(); + } + + public static PollutantEntity getDataByPollutant(String pollutantsCode){ + + for (GasConcentrationEnum value : GasConcentrationEnum.values()) { + + if (value.getPollutantsCode().equals(pollutantsCode)){ + + return getPollutantEntity(value); + + } + + } + return null; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/WaterConcentrationEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/WaterConcentrationEnum.java new file mode 100644 index 0000000..b97ee96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/WaterConcentrationEnum.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.data.analyse.task.real.concentration; + +import cn.cecep.talroad.data.analyse.task.entity.PollutantEntity; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-04 13:17 + * @Description + * + **/ +public enum WaterConcentrationEnum { + + cod_concentration("codConcentration","W01018","COD浓度"), + nitrogen_concentration("nitrogenConcentration","W21001","总氮浓度"), + phosphorus_concentration("phosphorusConcentration","W21011","总磷浓度"), + ; + + /** + * 表中的参数字段 + */ + private String param; + + /** + * 污染物code + */ + private String pollutantsCode; + + /** + * 污染物名称 + */ + private String pollutantsName; + + WaterConcentrationEnum(String param, String pollutantsCode, String pollutantsName) { + this.param = param; + this.pollutantsCode = pollutantsCode; + this.pollutantsName = pollutantsName; + } + + public String getParam() { + return param; + } + + public void setParam(String param) { + this.param = param; + } + + public String getPollutantsCode() { + return pollutantsCode; + } + + public void setPollutantsCode(String pollutantsCode) { + this.pollutantsCode = pollutantsCode; + } + + public String getPollutantsName() { + return pollutantsName; + } + + public void setPollutantsName(String pollutantsName) { + this.pollutantsName = pollutantsName; + } + + public static List getPollutantEntity(){ + return Arrays.stream(GasConcentrationEnum.values()).map(GasConcentrationEnum::getPollutantEntity).collect(Collectors.toList()); + } + + public static PollutantEntity getPollutantEntity(WaterConcentrationEnum waterConcentrationEnum){ + return PollutantEntity.builder() + .propName(waterConcentrationEnum.getPollutantsName()) + .pollutantsCode(waterConcentrationEnum.getPollutantsCode()) + .pollutantsName(waterConcentrationEnum.getPollutantsName()).build(); + } + + public static PollutantEntity getDataByPollutant(String pollutantsCode){ + + for (WaterConcentrationEnum value : WaterConcentrationEnum.values()) { + + if (value.getPollutantsCode().equals(pollutantsCode)){ + + return getPollutantEntity(value); + + } + + } + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/OnlineRealTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/OnlineRealTaskService.java new file mode 100644 index 0000000..33a3204 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/OnlineRealTaskService.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.data.analyse.task.real.concentration.online; + +import cn.cecep.talroad.data.analyse.task.entity.ConcentrationEntity; +import cn.cecep.talroad.data.analyse.task.entity.PollutantEntity; +import lombok.extern.slf4j.Slf4j; + +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 获取在线检测数据 + */ +@Slf4j +public abstract class OnlineRealTaskService { + + /** + * 获取实时数据 + */ + public abstract List queryRealData(List outletId, Date findDate); + + /** + * 获取污染物信息 + */ + public abstract List getPollEntity(); + + /** + * 转为污染物数据实体 + */ + public abstract ConcentrationEntity getOnlineConcentration(T data , String pollCode , BigDecimal concentration); + + + public List getOnlineConcentration(List outletId, Date findDate){ + return getOnlineConcentration(outletId , findDate); + } + + public List getOnlineConcentration(List dataReal){ + + List pollEntity = getPollEntity(); + List concentrationEntities = new ArrayList<>(); + + for (T t : dataReal) { + Class aClass = t.getClass(); + for (PollutantEntity pollutantEntity : pollEntity) { + String propName = pollutantEntity.getPropName(); + try { + Field declaredField = aClass.getDeclaredField(propName); + declaredField.setAccessible(true); + BigDecimal bigDecimal = new BigDecimal(declaredField.get(propName).toString()); + ConcentrationEntity onlineConcentration = getOnlineConcentration(t , pollutantEntity.getPollutantsCode(), bigDecimal); + concentrationEntities.add(onlineConcentration); + } catch (Exception e) { + log.error("获取在线数据异常 : {}",e.getMessage()); + throw new RuntimeException(e); + } + + } + + } + + return concentrationEntities; + } + + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/GasOnlineRealTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/GasOnlineRealTaskService.java new file mode 100644 index 0000000..d6adbb4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/GasOnlineRealTaskService.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.data.analyse.task.real.concentration.online.impl; + +import cn.cecep.talroad.data.analyse.task.entity.ConcentrationEntity; +import cn.cecep.talroad.data.analyse.task.entity.PollutantEntity; +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.data.analyse.task.real.concentration.online.OnlineRealTaskService; +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.mapper.SEnvGasMonDayMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-03 17:18 + * @Description + * + **/ +@Service +public class GasOnlineRealTaskService extends OnlineRealTaskService { + + @Autowired + private SEnvGasMonDayMapper sEnvGasMonDayMapper; + + @Override + public List queryRealData(List outletId, Date findDate) { + + LambdaQueryWrapper sEnvGasMonDayLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvGasMonDay::getOutletId, outletId) + .eq(SEnvGasMonDay::getMonitoringTime, DateUtil.format(findDate, "yyyy-MM-dd")); + + return sEnvGasMonDayMapper.selectList(sEnvGasMonDayLambdaQueryWrapper); + } + + @Override + public List getPollEntity() { + return GasConcentrationEnum.getPollutantEntity(); + } + + @Override + public ConcentrationEntity getOnlineConcentration(SEnvGasMonDay data , String pollCode, BigDecimal concentration) { + return ConcentrationEntity.builder() + .factoryId(data.getFactoryId()) + .pollCode(pollCode) + .stationId(data.getOutletId()) + .date(DateUtil.parse(data.getMonitoringTime(),"yyyy-MM-dd")) + .concentration(concentration).build(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/WaterOnlineRealTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/WaterOnlineRealTaskService.java new file mode 100644 index 0000000..c486ce6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/concentration/online/impl/WaterOnlineRealTaskService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.data.analyse.task.real.concentration.online.impl; + +import cn.cecep.talroad.data.analyse.task.entity.ConcentrationEntity; +import cn.cecep.talroad.data.analyse.task.entity.PollutantEntity; +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.data.analyse.task.real.concentration.WaterConcentrationEnum; +import cn.cecep.talroad.data.analyse.task.real.concentration.online.OnlineRealTaskService; +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.mapper.SEnvGasMonDayMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonDayMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-03 17:18 + * @Description + * + **/ +@Service +public class WaterOnlineRealTaskService extends OnlineRealTaskService { + + @Autowired + private SEnvWaterMonDayMapper sEnvWaterMonDayMapper; + + @Override + public List queryRealData(List outletId, Date findDate) { + + LambdaQueryWrapper sEnvGasMonDayLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvWaterMonDay::getOutletId, outletId) + .eq(SEnvWaterMonDay::getMonitoringTime, DateUtil.format(findDate, "yyyy-MM-dd")); + + return sEnvWaterMonDayMapper.selectList(sEnvGasMonDayLambdaQueryWrapper); + } + + @Override + public List getPollEntity() { + return WaterConcentrationEnum.getPollutantEntity(); + } + + @Override + public ConcentrationEntity getOnlineConcentration(SEnvWaterMonDay data , String pollCode, BigDecimal concentration) { + return ConcentrationEntity.builder() + .factoryId(data.getFactoryId()) + .pollCode(pollCode) + .stationId(data.getOutletId()) + .date(DateUtil.parse(data.getMonitoringTime(),"yyyy-MM-dd")) + .concentration(concentration).build(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.java new file mode 100644 index 0000000..fb1be26 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.data.analyse.task.real.device; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public abstract class DeviceRealService { + + @Autowired + private BasDeviceMapper basDeviceMapper; + + /** + * 获取实时数据 + */ + public abstract List queryReal(List deviceIds, Date startTime, Date endTime); + + /** + * 获取设备id + */ + public abstract List queryDeviceIds(); + + /** + * 数据分组 + */ + public abstract Map> groupDeviceRealList(List dataReal,List deviceIds); + + /** + * 获取报警时间 + */ + public abstract String getLogicExceptionsDate(T entity); + + + protected List queryDeviceIds(EnIndustry enIndustry){ + if (enIndustry == null){ + throw new RuntimeException("queryDeviceIds is null!"); + } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .select(BasDevice::getDeviceId) + .eq(BasDevice::getIndustry, enIndustry.id()); + List basDevices = basDeviceMapper.selectList(wrapper); + return basDevices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.java new file mode 100644 index 0000000..be7d733 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.DeviceSitVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.mapper.BasDeviceSiteMapper; +import cn.cecep.talroad.mapper.MonElecRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * mon_elec_real表里面没有设备id,只有device_site_id点位id,和设备怎么对应呢 + * bas_device_site 设备点位表,可以根据这个表关联 + * 会有一对多的情况,可以根据is_stat =1进行过滤 + * 多个点位的情况,is_stat=1的只有一条 + */ +@Service +public class ElecDataDeviceRealService extends DeviceRealService { + + @Autowired + private MonElecRealMapper monElecRealMapper; + + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + List deviceSitVos = DeviceSitVo.parse(deviceIds); + + List collect = deviceSitVos.stream().map(DeviceSitVo::getId).collect(Collectors.toList()); + + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonElecReal::getDeviceSiteId, collect) + .ge(MonElecReal::getDataTime, startTime) + .le(MonElecReal::getDataTime, endTime); + + List monElecReals = monElecRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return monElecReals; + } + + @Override + public List queryDeviceIds() { + LambdaQueryWrapper basDeviceSiteLambdaQueryWrapper = new QueryWrapper().lambda().eq(BasDeviceSite::getStatus,"正常").eq(BasDeviceSite::getIsStat, "1"); + List basDeviceSites = basDeviceSiteMapper.selectList(basDeviceSiteLambdaQueryWrapper); + + List deviceSitVos = DeviceSitVo.toDeviceSitVo(basDeviceSites); + + return DeviceSitVo.toJsonString(deviceSitVos); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + + Map deviceSitVoMap = DeviceSitVo.parse(deviceIds).stream().collect(Collectors.toMap(DeviceSitVo::getId, Function.identity())); + + Map> monSite = new HashMap<>(); + + for (MonElecReal monElecReal : dataReal) { + + DeviceSitVo deviceSitVo = deviceSitVoMap.get(monElecReal.getDeviceSiteId()); + if (deviceSitVo != null){ + List monElecReals = monSite.get(deviceSitVo.getDeviceId()); + if (monElecReals == null){ + monElecReals = new ArrayList<>(); + monSite.put(deviceSitVo.getDeviceId(),monElecReals); + } + monElecReals.add(monElecReal); + } + + } + + return dataReal.stream().collect(Collectors.groupingBy(MonElecReal::getDeviceSiteId)); + } + + @Override + public String getLogicExceptionsDate(MonElecReal entity) { + return DateUtil.getTime(entity.getDataTime()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.java new file mode 100644 index 0000000..48bde34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionOrganizGasMapper; +import cn.cecep.talroad.mapper.SEnvGasMonRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class GasDataDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(outletIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvGasMonReal::getOutletId, outletIds) + .ge(SEnvGasMonReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvGasMonReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = sEnvGasMonRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionOrganizGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.GAS.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (SEnvGasMonReal sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getOutletId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvGasMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasMonDataDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasMonDataDeviceRealService.java new file mode 100644 index 0000000..a5afcf4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/GasMonDataDeviceRealService.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.SEnvGasRealMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +public class GasMonDataDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private SEnvGasRealMapper sEnvGasRealMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + +// List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); +// +// List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); +// +// if (CollectionUtils.isEmpty(outletIds)){ +// return new ArrayList<>(); +// } +// LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() +// .in(SEnvGasReal::getOutletId, outletIds) +// .ge(SEnvGasReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) +// .le(SEnvGasReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); +// +// List sEnvGasMonReals = sEnvGasRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return null; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ORGANIZATION.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { +// List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); +// +// Map> groupData = new HashMap<>(); +// +// for (SEnvGasMonReal sEnvWaterMonReal : dataReal) { +// +// String outletId = sEnvWaterMonReal.getOutletId(); +// +// List proDeviceIds = mainProductDeviceVos.stream() +// .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) +// .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); +// +// for (String proDeviceId : proDeviceIds) { +// List sEnvWaterMonReals = groupData.get(proDeviceId); +// if (sEnvWaterMonReals==null){ +// sEnvWaterMonReals = new ArrayList<>(); +// groupData.put(proDeviceId,sEnvWaterMonReals); +// } +// sEnvWaterMonReals.add(sEnvWaterMonReal); +// } +// +// } + + return null; + } + + @Override + public String getLogicExceptionsDate(SEnvGasMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsDataDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsDataDeviceRealService.java new file mode 100644 index 0000000..402305e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsDataDeviceRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsInorganizationWeiStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsDataDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsInorganizationWeiStationHourIMapper odsInorganizationWeiStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsInorganizationWeiStationHourI::getStationId, stationIds) + .ge(OdsInorganizationWeiStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsInorganizationWeiStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsInorganizationWeiStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsInorganizationWeiStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsInorganizationWeiStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.java new file mode 100644 index 0000000..13d5fce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsMeshingShStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingShDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsMeshingShStationHourIMapper odsMeshingShStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsMeshingShStationHourI::getStationId, stationIds) + .ge(OdsMeshingShStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsMeshingShStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsMeshingShStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsMeshingShStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsMeshingShStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.java new file mode 100644 index 0000000..4ed2942 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsMeshingWeiStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingWeiDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsMeshingWeiStationHourIMapper odsMeshingWeiStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsMeshingWeiStationHourI::getStationId, stationIds) + .ge(OdsMeshingWeiStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsMeshingWeiStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsMeshingWeiStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsMeshingWeiStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsMeshingWeiStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.java new file mode 100644 index 0000000..51fc74a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.device.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.device.DeviceRealService; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionOrganizGasMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class WaterDataDeviceRealService extends DeviceRealService { + + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private SEnvWaterMonRealMapper envWaterMonRealMapper; + + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(outletIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvWaterMonReal::getOutletId, outletIds) + .ge(SEnvWaterMonReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvWaterMonReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = envWaterMonRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionOrganizGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.WASTEWATER.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (SEnvWaterMonReal sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getOutletId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvWaterMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.java new file mode 100644 index 0000000..47e6304 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.DeviceSitVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.mapper.BasDeviceSiteMapper; +import cn.cecep.talroad.mapper.MonElecRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * mon_elec_real表里面没有设备id,只有device_site_id点位id,和设备怎么对应呢 + * bas_device_site 设备点位表,可以根据这个表关联 + * 会有一对多的情况,可以根据is_stat =1进行过滤 + * 多个点位的情况,is_stat=1的只有一条 + */ +@Service +public class ElecDataRealService extends RealService { + + @Autowired + private MonElecRealMapper monElecRealMapper; + + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + List deviceSitVos = DeviceSitVo.parse(deviceIds); + + List collect = deviceSitVos.stream().map(DeviceSitVo::getId).collect(Collectors.toList()); + + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(MonElecReal::getDeviceSiteId, collect) + .ge(MonElecReal::getDataTime, startTime) + .le(MonElecReal::getDataTime, endTime); + + List monElecReals = monElecRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return monElecReals; + } + + @Override + public List queryDeviceIds() { + LambdaQueryWrapper basDeviceSiteLambdaQueryWrapper = new QueryWrapper().lambda().eq(BasDeviceSite::getIsStat, "1"); + List basDeviceSites = basDeviceSiteMapper.selectList(basDeviceSiteLambdaQueryWrapper); + + List deviceSitVos = DeviceSitVo.toDeviceSitVo(basDeviceSites); + + return DeviceSitVo.toJsonString(deviceSitVos); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + + Map deviceSitVoMap = DeviceSitVo.parse(deviceIds).stream().collect(Collectors.toMap(DeviceSitVo::getId, Function.identity())); + + Map> monSite = new HashMap<>(); + + for (MonElecReal monElecReal : dataReal) { + + DeviceSitVo deviceSitVo = deviceSitVoMap.get(monElecReal.getDeviceSiteId()); + if (deviceSitVo != null){ + List monElecReals = monSite.get(deviceSitVo.getDeviceId()); + if (monElecReals == null){ + monElecReals = new ArrayList<>(); + monSite.put(deviceSitVo.getDeviceId(),monElecReals); + } + monElecReals.add(monElecReal); + } + + } + + return dataReal.stream().collect(Collectors.groupingBy(MonElecReal::getDeviceSiteId)); + } + + @Override + public String getLogicExceptionsDate(MonElecReal entity) { + return DateUtil.getTime(entity.getDataTime()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasDataRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasDataRealService.java new file mode 100644 index 0000000..d69f59e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasDataRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionOrganizGasMapper; +import cn.cecep.talroad.mapper.SEnvGasMonRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class GasDataRealService extends RealService { + + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(outletIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvGasMonReal::getOutletId, outletIds) + .ge(SEnvGasMonReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvGasMonReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = sEnvGasMonRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionOrganizGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.GAS.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (SEnvGasMonReal sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getOutletId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvGasMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.java new file mode 100644 index 0000000..b2b6981 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.SEnvGasRealMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +public class GasMonDataRealService extends RealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private SEnvGasRealMapper sEnvGasRealMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + +// List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); +// +// List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); +// +// if (CollectionUtils.isEmpty(outletIds)){ +// return new ArrayList<>(); +// } +// LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() +// .in(SEnvGasReal::getOutletId, outletIds) +// .ge(SEnvGasReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) +// .le(SEnvGasReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); +// +// List sEnvGasMonReals = sEnvGasRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return null; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ORGANIZATION.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { +// List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); +// +// Map> groupData = new HashMap<>(); +// +// for (SEnvGasMonReal sEnvWaterMonReal : dataReal) { +// +// String outletId = sEnvWaterMonReal.getOutletId(); +// +// List proDeviceIds = mainProductDeviceVos.stream() +// .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) +// .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); +// +// for (String proDeviceId : proDeviceIds) { +// List sEnvWaterMonReals = groupData.get(proDeviceId); +// if (sEnvWaterMonReals==null){ +// sEnvWaterMonReals = new ArrayList<>(); +// groupData.put(proDeviceId,sEnvWaterMonReals); +// } +// sEnvWaterMonReals.add(sEnvWaterMonReal); +// } +// +// } + + return null; + } + + @Override + public String getLogicExceptionsDate(SEnvGasMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.java new file mode 100644 index 0000000..ada6c93 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsInorganizationWeiStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsDataRealService extends RealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsInorganizationWeiStationHourIMapper odsInorganizationWeiStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsInorganizationWeiStationHourI::getStationId, stationIds) + .ge(OdsInorganizationWeiStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsInorganizationWeiStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsInorganizationWeiStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsInorganizationWeiStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsInorganizationWeiStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingShRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingShRealService.java new file mode 100644 index 0000000..6da2b2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingShRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsMeshingShStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingShRealService extends RealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsMeshingShStationHourIMapper odsMeshingShStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsMeshingShStationHourI::getStationId, stationIds) + .ge(OdsMeshingShStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsMeshingShStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsMeshingShStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsMeshingShStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsMeshingShStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.java new file mode 100644 index 0000000..d34b8be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.OdsMeshingWeiStationHourIMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class OdsMeShingWeiRealService extends RealService { + + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private OdsMeshingWeiStationHourIMapper odsMeshingWeiStationHourIMapper; + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List stationIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(OdsMeshingWeiStationHourI::getStationId, stationIds) + .ge(OdsMeshingWeiStationHourI::getReceiveTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(OdsMeshingWeiStationHourI::getReceiveTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = odsMeshingWeiStationHourIMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionInorgGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.ONLINE_MONITORING.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (OdsMeshingWeiStationHourI sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getStationId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(OdsMeshingWeiStationHourI entity) { + return entity.getReceiveTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/WaterDataRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/WaterDataRealService.java new file mode 100644 index 0000000..a0a52ea --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/impl/WaterDataRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.RealService; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BMainProductionOrganizGasMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonRealMapper; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class WaterDataRealService extends RealService { + + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private SEnvWaterMonRealMapper envWaterMonRealMapper; + + + @Override + public List queryReal(List deviceIds, Date startTime, Date endTime) { + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + List outletIds = mainProductDeviceVos.stream().map(MainProductDeviceVo::getOutletId).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(outletIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper sEnvGasRealLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvWaterMonReal::getOutletId, outletIds) + .ge(SEnvWaterMonReal::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvWaterMonReal::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")); + + List sEnvGasMonReals = envWaterMonRealMapper.selectList(sEnvGasRealLambdaQueryWrapper); + + return sEnvGasMonReals; + } + + @Override + public List queryDeviceIds() { + List deviceIdsData = bMainProductionOrganizGasMapper.selectDeviceIdByPollutantType(PollutantTypeEnum.WASTEWATER.getCode()); + + deviceIdsData = MainProductDeviceVo.groupDevice(deviceIdsData); + + return MainProductDeviceVo.toJsonString(deviceIdsData); + } + + @Override + public Map> groupDeviceRealList(List dataReal,List deviceIds) { + + List mainProductDeviceVos = MainProductDeviceVo.parse(deviceIds); + + Map> groupData = new HashMap<>(); + + for (SEnvWaterMonReal sEnvWaterMonReal : dataReal) { + + String outletId = sEnvWaterMonReal.getOutletId(); + + List proDeviceIds = mainProductDeviceVos.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .map(MainProductDeviceVo::getProFacilityId).collect(Collectors.toList()); + + for (String proDeviceId : proDeviceIds) { + List sEnvWaterMonReals = groupData.get(proDeviceId); + if (sEnvWaterMonReals==null){ + sEnvWaterMonReals = new ArrayList<>(); + groupData.put(proDeviceId,sEnvWaterMonReals); + } + sEnvWaterMonReals.add(sEnvWaterMonReal); + } + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvWaterMonReal entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/OutletRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/OutletRealService.java new file mode 100644 index 0000000..d85562c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/OutletRealService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.data.analyse.task.real.outlet; + +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.impl.SEnvGasMonRealServiceImpl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; + +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 站点信息 + * @param + */ +@Slf4j +public abstract class OutletRealService { + + @Autowired + private PcOutletMapper pcOutletMapper; + + /** + * 获取实时数据 + */ + public abstract List queryReal(List outletIds, Date startTime, Date endTime); + + /** + * 获取设备信息 大多数返回都为 json数据 需注意 + */ + public abstract List queryOutletIds(); + + /** + * 数据分组 + */ + public abstract Map> groupOutletRealList(List dataReal,List outletIds); + + /** + * 获取报警时间 + */ + public abstract String getLogicExceptionsDate(T entity); + + + public Map> calculatePollData(List dataList){ + if (CollectionUtil.isEmpty(dataList)){ + return new HashMap<>(); + } + + List params = Arrays.stream(SEnvGasMonRealServiceImpl.PollutantEnum.values()).map(SEnvGasMonRealServiceImpl.PollutantEnum::getProp).collect(Collectors.toList()); + Map> columnParamValue = DataAnomalyAbstractService.getColumnParamValue(dataList, params); + + Map> map = new HashMap<>(); + + for (Map.Entry> stringListEntry : columnParamValue.entrySet()) { + + List value = stringListEntry.getValue(); + List dataAll = value.stream().map(String::valueOf).filter(StringUtils::isNotEmpty).filter((data) -> { + try { + new BigDecimal(data); + return true; + } catch (Exception e) { + return false; + } + }).map(BigDecimal::new).collect(Collectors.toList()); + map.put(stringListEntry.getKey(),dataAll); + } + return map; + } + + protected List queryOutlet(PollutantTypeEnum pollutantTypeEnum){ + if (pollutantTypeEnum == null){ + throw new RuntimeException("pollutantTypeEnum is null!"); + } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .eq(PcOutlet::getPollutantType, pollutantTypeEnum.getCode()); + return pcOutletMapper.selectList(wrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/GasHourOutletService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/GasHourOutletService.java new file mode 100644 index 0000000..6d2f76a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/GasHourOutletService.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.data.analyse.task.real.outlet.impl; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.data.analyse.task.real.outlet.OutletRealService; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.SEnvGasMonHourMapper; +import cn.cecep.talroad.util.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-06-28 13:50 + * @Description + * + **/ +@Service +public class GasHourOutletService extends OutletRealService { + + @Autowired + private SEnvGasMonHourMapper sEnvGasMonHourMapper; + + // 去除 F/C/M/D/MD/K/P/VGD/TD/ST/SD/B/STA/FA + public static final String[] dataFlag = new String[]{"F","C","M","D","MD","K","P","VGD","TD","ST","SD","B","STA","FA"}; + + @Override + public List queryReal(List outletIds, Date startTime, Date endTime) { + + outletIds = outletIds.stream().map(s -> JSONObject.parseObject(s, PcOutlet.class)).map(PcOutlet::getId).collect(Collectors.toList()); + + + LambdaQueryWrapper sEnvGasMonHourLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvGasMonHour::getOutletId, outletIds) + .ge(SEnvGasMonHour::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvGasMonHour::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")) + .notIn(SEnvGasMonHour::getDataFlag,dataFlag); + return sEnvGasMonHourMapper.selectList(sEnvGasMonHourLambdaQueryWrapper); + } + + @Override + public List queryOutletIds() { + return queryOutlet(PollutantTypeEnum.GAS).stream().map(JSONObject::toJSONString).collect(Collectors.toList()); + } + + @Override + public Map> groupOutletRealList(List dataReal, List outletIds) { + + List pcOutlets = outletIds.stream().map(s -> JSONObject.parseObject(s, PcOutlet.class)).collect(Collectors.toList()); + Map> groupData = new HashMap<>(); + + for (PcOutlet pcOutlet : pcOutlets) { + + String outletId = pcOutlet.getId(); + + List sEnvGasMonHours = dataReal.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .collect(Collectors.toList()); + + groupData.put(JSONObject.toJSONString(pcOutlet),sEnvGasMonHours); + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvGasMonHour entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.java new file mode 100644 index 0000000..f779e34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.data.analyse.task.real.outlet.impl; + +import cn.cecep.talroad.data.analyse.task.real.outlet.OutletRealService; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.SEnvGasMonHourMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonHourMapper; +import cn.cecep.talroad.util.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-06-28 16:07 + * @Description + * + **/ +@Service +public class WaterHourOutletService extends OutletRealService{ + + + @Autowired + private SEnvWaterMonHourMapper sEnvWaterMonHourMapper; + + + // 去除 F/C/M/D/MD/K/P/VGD/TD/ST/SD/B/STA/FA + public static final String[] dataFlag = new String[]{"F","C","M","D","MD","K","P","VGD","TD","ST","SD","B","STA","FA"}; + + @Override + public List queryReal(List outletIds, Date startTime, Date endTime) { + + outletIds = outletIds.stream().map(s -> JSONObject.parseObject(s, PcOutlet.class)).map(PcOutlet::getId).collect(Collectors.toList()); + + LambdaQueryWrapper sEnvGasMonHourLambdaQueryWrapper = new QueryWrapper().lambda() + .in(SEnvWaterMonHour::getOutletId, outletIds) + .ge(SEnvWaterMonHour::getMonitoringTime, DateUtil.format(startTime,"yyyy-MM-dd HH:mm:ss")) + .le(SEnvWaterMonHour::getMonitoringTime, DateUtil.format(endTime,"yyyy-MM-dd HH:mm:ss")) + .notIn(SEnvWaterMonHour::getDataFlag,dataFlag); + return sEnvWaterMonHourMapper.selectList(sEnvGasMonHourLambdaQueryWrapper); + } + + @Override + public List queryOutletIds() { + return queryOutlet(PollutantTypeEnum.GAS).stream().map(JSONObject::toJSONString).collect(Collectors.toList()); + } + + @Override + public Map> groupOutletRealList(List dataReal, List outletIds) { + + List pcOutlets = outletIds.stream().map(s -> JSONObject.parseObject(s, PcOutlet.class)).collect(Collectors.toList()); + Map> groupData = new HashMap<>(); + + for (PcOutlet pcOutlet : pcOutlets) { + + String outletId = pcOutlet.getId(); + + List sEnvGasMonHours = dataReal.stream() + .filter(mainProductDeviceVo -> mainProductDeviceVo.getOutletId().equals(outletId)) + .collect(Collectors.toList()); + + groupData.put(JSONObject.toJSONString(pcOutlet),sEnvGasMonHours); + + } + + return groupData; + } + + @Override + public String getLogicExceptionsDate(SEnvWaterMonHour entity) { + return entity.getMonitoringTime(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ConcentrationTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ConcentrationTaskService.java new file mode 100644 index 0000000..33947f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ConcentrationTaskService.java @@ -0,0 +1,191 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.data.analyse.task.real.concentration.WaterConcentrationEnum; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringGas; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringWater; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.mapper.analysis.SRaLowMonitoringGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaLowMonitoringWaterMapper; +import cn.cecep.talroad.mapper.analysis.SRaSelfMonitoringDataMapper; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.service.ISEnvWaterMonDayService; +import cn.cecep.talroad.service.analysis.ISRaEmissionsMonitoringVarianceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-03 14:47 + * @Description + * + **/ +@Service +public class ConcentrationTaskService implements TaskService { + + @Autowired + private SRaLowMonitoringGasMapper sRaLowMonitoringGasMapper;//执法监测废气 + @Autowired + private SRaLowMonitoringWaterMapper sRaLowMonitoringWaterMapper;// 执法监测废水 + @Autowired + private SRaSelfMonitoringDataMapper sRaSelfMonitoringDataMapper; + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + @Autowired + private ISEnvWaterMonDayService isEnvWaterMonDayService; + + @Autowired + private ISRaEmissionsMonitoringVarianceService isRaEmissionsMonitoringVarianceService; + + + @Override + public Object mainProcess(Object dto) { + Date lastDay = DateUtils.addDateDays(new Date(), -1); + Date lastDayBegin = DateUtils.parseFormatDate("yyyy-MM-dd 00:00:00", lastDay); + Date lastDayEnd = DateUtils.parseFormatDate("yyyy-MM-dd 23:59:59", lastDay); + //废气监测数据差异分析 + doProcessGas(lastDayBegin, lastDayEnd); + //废水监测数据差异分析 + doProcessWater(lastDayBegin, lastDayEnd); + return null; + } + + /** + * 废水监测数据差异分析 + * + * @param lastDayBegin + * @param lastDayEnd + */ + private void doProcessWater(Date lastDayBegin, Date lastDayEnd) { + List resultList = new ArrayList<>(); + List waterList = sRaSelfMonitoringDataMapper.selectLastDayWaterData(lastDayBegin, lastDayEnd); + if(waterList!=null && waterList.size()>0){ + waterList.forEach(water->{ + SRaEmissionsMonitoringVariance emission = new SRaEmissionsMonitoringVariance(); + BigDecimal lowRate = new BigDecimal(0); + BigDecimal bVal = new BigDecimal(0); + List waterHourList = isEnvWaterMonDayService.selectHourDataByTime(water.getFactoryId(), water.getMonitorId(), water.getMonitorTime()); + List lowWaterList = sRaLowMonitoringWaterMapper.selectHourDataByTime(water.getFactoryId(), water.getMonitorId(), water.getPollutantsCode(), water.getMonitorTime()); + if(waterHourList.size()>0||lowWaterList.size()>0){ + SEnvWaterMonDay hourData = null; + if(waterHourList.size()>0){ + hourData = waterHourList.get(0); + if(WaterConcentrationEnum.cod_concentration.getPollutantsCode().equals(water.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getCodConcentration())); + }else if(WaterConcentrationEnum.nitrogen_concentration.getPollutantsCode().equals(water.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getNitrogenConcentration())); + }else if(WaterConcentrationEnum.phosphorus_concentration.getPollutantsCode().equals(water.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getPhosphorusConcentration())); + } + } + SRaLowMonitoringWater lowMonitoringWater = null; + if(lowWaterList.size()>0){ + lowMonitoringWater = lowWaterList.get(0); + // 执法监测污染物浓度 + lowRate = bVal.subtract(BigDecimal.valueOf(Double.valueOf(lowMonitoringWater.getConcentration()))).divide(bVal,2, RoundingMode.HALF_UP).abs(); + } + + if(hourData!=null) { + BigDecimal hourRate = bVal.subtract(BigDecimal.valueOf(Double.valueOf(water.getActualConcentration()))).divide(bVal,2, RoundingMode.HALF_UP).abs(); + emission.setFactoryId(water.getFactoryId()); + emission.setStationId(water.getMonitorId()); + emission.setStationTime(water.getMonitorTime()); + emission.setPollId(water.getPollutantsCode()); + emission.setConcentrationPm(Double.valueOf(water.getActualConcentration())); + emission.setConcentrationEtl(Double.valueOf(lowMonitoringWater.getConcentration())); + emission.setConcentrationOnline(bVal.doubleValue()); + if(lowRate.compareTo(hourRate)>0) { + emission.setDifferenceRatio(lowRate.doubleValue()); + }else{ + emission.setDifferenceRatio(hourRate.doubleValue()); + } + emission.setCreateTime(new Date()); + emission.setUpdateTime(new Date()); + resultList.add(emission); + } + } + }); + } + + if(resultList!=null&&resultList.size()>0){ + isRaEmissionsMonitoringVarianceService.saveBatch(resultList); + } + } + + /** + * 废气监测数据差异分析 + * + * @param lastDayBegin + * @param lastDayEnd + */ + private void doProcessGas(Date lastDayBegin, Date lastDayEnd) { + List resultList = new ArrayList<>(); + List gasList = sRaSelfMonitoringDataMapper.selectLastDayGasData(lastDayBegin, lastDayEnd); + if (gasList != null && gasList.size() > 0) { + gasList.forEach(self -> { + SRaEmissionsMonitoringVariance emission = new SRaEmissionsMonitoringVariance(); + BigDecimal lowRate = new BigDecimal(0); + BigDecimal bVal = new BigDecimal(0); + List gasHourList = isEnvGasMonHourService.selectHourDataByTime(self.getFactoryId(), self.getMonitorId(), self.getMonitorTime()); + List lowGasList = sRaLowMonitoringGasMapper.selectHourDataByTime(self.getFactoryId(), self.getMonitorId(), self.getPollutantsCode(), self.getMonitorTime()); + if(gasHourList.size()>0||lowGasList.size()>0){ + SEnvGasMonHour hourData = null; + if(gasHourList.size()>0){ + hourData = gasHourList.get(0); + if(GasConcentrationEnum.so2.getPollutantsCode().equals(self.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getSo2())); + }else if(GasConcentrationEnum.pm.getPollutantsCode().equals(self.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getPm())); + }else if(GasConcentrationEnum.nox.getPollutantsCode().equals(self.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getNox())); + }else if(GasConcentrationEnum.vocs.getPollutantsCode().equals(self.getPollutantsCode())){ + bVal = BigDecimal.valueOf(Double.valueOf(hourData.getVocs())); + } + } + SRaLowMonitoringGas lowMonitoringGas = null; + if(lowGasList.size()>0){ + lowMonitoringGas = lowGasList.get(0); + // 执法监测污染物浓度 + lowRate = bVal.subtract(BigDecimal.valueOf(Double.valueOf(lowMonitoringGas.getActualConcentration()))).divide(bVal,2, RoundingMode.HALF_UP).abs(); + } + // + if(hourData!=null) { + BigDecimal hourRate = bVal.subtract(BigDecimal.valueOf(Double.valueOf(self.getActualConcentration()))).divide(bVal,2, RoundingMode.HALF_UP).abs(); + emission.setFactoryId(self.getFactoryId()); + emission.setStationId(self.getMonitorId()); + emission.setStationTime(self.getMonitorTime()); + emission.setPollId(self.getPollutantsCode()); + emission.setConcentrationPm(Double.valueOf(self.getActualConcentration())); + emission.setConcentrationEtl(Double.valueOf(lowMonitoringGas.getActualConcentration())); + emission.setConcentrationOnline(bVal.doubleValue()); + if(lowRate.compareTo(hourRate)>0) { + emission.setDifferenceRatio(lowRate.doubleValue()); + }else{ + emission.setDifferenceRatio(hourRate.doubleValue()); + } + emission.setCreateTime(new Date()); + emission.setUpdateTime(new Date()); + resultList.add(emission); + } + } + }); + } + + if(resultList!=null&&resultList.size()>0){ + isRaEmissionsMonitoringVarianceService.saveBatch(resultList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ContrastiveAnalysisGasTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ContrastiveAnalysisGasTaskService.java new file mode 100644 index 0000000..d2bd9a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/ContrastiveAnalysisGasTaskService.java @@ -0,0 +1,148 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.data.analyse.task.real.outlet.OutletRealService; +import cn.cecep.talroad.data.analyse.task.real.outlet.impl.GasHourOutletService; +import cn.cecep.talroad.data.analyse.task.real.outlet.impl.WaterHourOutletService; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.util.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.google.common.collect.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-06-28 13:28 + * @Description + * + **/ +@Service +public class ContrastiveAnalysisGasTaskService implements TaskService { + + @Autowired + private GasHourOutletService gasHourOutletService; + + @Autowired + private WaterHourOutletService waterHourOutletService; + + @Autowired + private SRaRealTimeAnalysicComsitStMapper sRaRealTimeAnalysicComsitStMapper; + + public static final Integer pageSize = 10; + + + @Override + public Object mainProcess(Object o) { + + // 计算废气 + executeData(gasHourOutletService); + + // 计算废水 + executeData(waterHourOutletService); + + + return null; + } + + public void executeData(OutletRealService outletRealService){ + List outletIds = outletRealService.queryOutletIds(); + + List> idsPage = Lists.partition(outletIds, ContrastiveAnalysisGasTaskService.pageSize); + List sEnvGasMonHours = new ArrayList<>(); + + for (List list : idsPage) { + List sEnvGasMonHourList = outletRealService.queryReal(list, getStartTime(), getEndTime()); + sEnvGasMonHours.addAll(sEnvGasMonHourList); + } + + + Map outletRealMap = outletRealService.groupOutletRealList(sEnvGasMonHours, outletIds); + calculateSt(outletRealMap,outletRealService); + } + + + + /** + * 存储信息 + */ + public void calculateSt(Map outletRealMap,OutletRealService outletRealService){ + + for (Map.Entry stringListEntry : outletRealMap.entrySet()) { + + // 所有字段,所有内容 + Map> pollData = outletRealService.calculatePollData(stringListEntry.getValue()); + + // 每个字段一条数据 + for (Map.Entry> listEntry : pollData.entrySet()) { + + List dataAll = listEntry.getValue(); + if (CollectionUtils.isNotEmpty(dataAll)){ + + // 月均值 + BigDecimal avg = dataAll.stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(dataAll.size()), 2, BigDecimal.ROUND_HALF_UP); + + // 四分之一 + int one = dataAll.size() / 4 * 1; + BigDecimal oneData = dataAll.get(one); + + //四分之三 + int three = dataAll.size()>4?dataAll.size() / 4 * 3:dataAll.size()-1; + BigDecimal threeData = dataAll.get(three); + + //求最大值 + BigDecimal max = dataAll.stream().max(BigDecimal::compareTo).get(); + //求最小值 + BigDecimal min = dataAll.stream().min(BigDecimal::compareTo).get(); + + // 拼接数据 + SRaRealTimeAnalysicComsitSt sRaRealTimeAnalysicComsitSt = new SRaRealTimeAnalysicComsitSt(); + sRaRealTimeAnalysicComsitSt.setParamName(listEntry.getKey()); + sRaRealTimeAnalysicComsitSt.setCreateTime(new Date()); + PcOutlet pcOutlet = JSONObject.parseObject(stringListEntry.getKey(), PcOutlet.class); + sRaRealTimeAnalysicComsitSt.setStationId(pcOutlet.getStationId()); + sRaRealTimeAnalysicComsitSt.setFactroyId(pcOutlet.getFactoryId()); + sRaRealTimeAnalysicComsitSt.setAnalysisTime(new Date()); + sRaRealTimeAnalysicComsitSt.setMinValue(min.doubleValue()); + sRaRealTimeAnalysicComsitSt.setMaxValue(max.doubleValue()); + sRaRealTimeAnalysicComsitSt.setQ1Value(oneData.doubleValue()); + sRaRealTimeAnalysicComsitSt.setQ2Value(threeData.doubleValue()); + sRaRealTimeAnalysicComsitSt.setAcgValue(avg.doubleValue()); + sRaRealTimeAnalysicComsitStMapper.insert(sRaRealTimeAnalysicComsitSt); + + } + + } + + } + + + + } + + public Date getStartTime(){ + return DateUtil.getFirstDayOfMonth(-1); + } + + public Date getEndTime(){ + return DateUtil.getLastDayOfMonth(-1); + } + + + + + + + + + + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/FrequencyMeasurementTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/FrequencyMeasurementTaskService.java new file mode 100644 index 0000000..f7d25e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/FrequencyMeasurementTaskService.java @@ -0,0 +1,248 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.service.TaskService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.BMainPollDisSelfMonMapper; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.analysis.ISRaSelfMonitoringDataService; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class FrequencyMeasurementTaskService implements TaskService { + + public static String[] fre = new String[]{"1次/月", "1次/年", "1次/半年", "1次/季","1次/周"}; + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private BMainPollDisSelfMonMapper bMainPollDisSelfMonMapper; + @Autowired + private PcFactoryMapper pcFactoryMapper; + @Autowired + private ISRaSelfMonitoringDataService isRaSelfMonitoringDataService; + + @Override + public Object mainProcess(Object dto) { + doProcessGasData(); + doProcessWaterData(); + return null; + } + + /** + * 手工监测频次不满足许可证要求-废气 + * @param + */ + private void doProcessGasData(){ + long startTime = System.currentTimeMillis(); + log.info("手工监测频次不满足许可证要求-废气##开始"); + List mAmProblemFis = new ArrayList<>(); + Arrays.asList(fre).forEach(data->{ + List pollDisList = bMainPollDisSelfMonMapper.selectGasDataList(data); + pollDisList.forEach(real->{ + Map dateMonths = getDateMonths(data); + // 开始日期、结束日期 + dateMonths.forEach((start,end)->{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",real.getFactoryId()); + queryWrapper.eq("monitoring_name",real.getOutletName()); + queryWrapper.eq("pollutants_name",real.getPollutantsName()); + queryWrapper.eq("pollutants_type","2"); + queryWrapper.between("monitor_time",start,end); + int count = isRaSelfMonitoringDataService.count(queryWrapper); + if(count==0){ + PcFactory pcFactory = pcFactoryMapper.selectById(real.getFactoryId()); + String message = getMessage( + pcFactory.getFactoryName(), + real.getOutletName(), + real.getPollutantsName(), + real.getMonitoringManualFrequency(), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",start), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",end)); + AmProblemFi amProblemFi = getMAmProblemFi(real.getFactoryId(), message, real.getOutletName(), real.getPollutantsName(),start,end); + mAmProblemFis.add(amProblemFi); + } + }); + }); + }); + + if(mAmProblemFis.size()>0){ + List> partition = ListUtil.partition(mAmProblemFis,2000); + partition.forEach(i->{ + amProblemFiService.saveBatch(i); + }); + } + + long end = System.currentTimeMillis(); + log.info("手工监测频次不满足许可证要求-废气##结束,耗时"+(end-startTime)+"毫秒"); + } + + /** + * 手工监测频次不满足许可证要求-废水 + */ + private void doProcessWaterData(){ + long startTime = System.currentTimeMillis(); + log.info("手工监测频次不满足许可证要求-废水##开始"); + List mAmProblemFis = new ArrayList<>(); + Arrays.asList(fre).forEach(data-> { + List pollDisList = bMainPollDisSelfMonMapper.selectWaterDataList(data); + pollDisList.forEach(real->{ + Map dateMonths = getDateMonths(data); + // 开始日期、结束日期 + dateMonths.forEach((start,end)->{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",real.getFactoryId()); + queryWrapper.eq("monitoring_name",real.getOutletName()); + queryWrapper.eq("pollutants_name",real.getPollutantsName()); + queryWrapper.eq("pollutants_type","1"); + queryWrapper.between("monitor_time",start,end); + int count = isRaSelfMonitoringDataService.count(queryWrapper); + if(count==0){ + PcFactory pcFactory = pcFactoryMapper.selectById(real.getFactoryId()); + String message = getMessage( + pcFactory.getFactoryName(), + real.getOutletName(), + real.getPollutantsName(), + real.getMonitoringManualFrequency(), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",start), + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",end)); + AmProblemFi amProblemFi = getMAmProblemFi(real.getFactoryId(), message, real.getOutletName(), real.getPollutantsName(),start,end); + mAmProblemFis.add(amProblemFi); + } + }); + }); + }); + if(mAmProblemFis.size()>0){ + List> partition = ListUtil.partition(mAmProblemFis,2000); + partition.forEach(i->{ + amProblemFiService.saveBatch(i); + }); + } + long end = System.currentTimeMillis(); + log.info("手工监测频次不满足许可证要求-废水##结束,耗时"+(end-startTime)+"毫秒"); + } + + /** + * 获取日期 + * @param data + * @return + */ + private Map getDateMonths(String data) { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + Map mp = new HashMap<>(); + DateTime startDate = null; + DateTime endDate = null; + if(FrequencyEnum.MONTH.code.equals(data)){ + startDate = DateUtil.beginOfMonth(lastMonth); + endDate = DateUtil.endOfMonth(lastMonth); + mp.put(startDate,endDate); + }else if(FrequencyEnum.WEEK.code.equals(data)){ + Date lastWeek1 = DateUtils.addDateWeeks(new Date(),-1); + Date lastWeek2 = DateUtils.addDateWeeks(new Date(),-2); + Date lastWeek3 = DateUtils.addDateWeeks(new Date(),-3); + Date lastWeek4 = DateUtils.addDateWeeks(new Date(),-4); + DateTime beginWeek1 = DateUtil.beginOfWeek(lastWeek1); + DateTime endWeek1 = DateUtil.endOfWeek(lastWeek1); + mp.put(beginWeek1,endWeek1); + DateTime beginWeek2 = DateUtil.beginOfWeek(lastWeek2); + DateTime endWeek2 = DateUtil.endOfWeek(lastWeek2); + mp.put(beginWeek2,endWeek2); + DateTime beginWeek3 = DateUtil.beginOfWeek(lastWeek3); + DateTime endWeek3 = DateUtil.endOfWeek(lastWeek3); + mp.put(beginWeek3,endWeek3); + DateTime beginWeek4 = DateUtil.beginOfWeek(lastWeek4); + DateTime endWeek4 = DateUtil.endOfWeek(lastWeek4); + mp.put(beginWeek4,endWeek4); + }else if(FrequencyEnum.HALF.code.equals(data)){ + Date lastM = DateUtils.addDateMonths(lastMonth,-6); + startDate = DateUtil.beginOfMonth(lastM); + endDate = DateUtil.endOfMonth(lastMonth); + mp.put(startDate,endDate); + }else if(FrequencyEnum.QUATER.code.equals(data)){ + startDate = DateUtil.beginOfQuarter(lastMonth); + endDate = DateUtil.endOfQuarter(lastMonth); + mp.put(startDate,endDate); + }else if(FrequencyEnum.YEAR.code.equals(data)){ + startDate = DateUtil.beginOfYear(lastMonth); + endDate = DateUtil.endOfYear(lastMonth); + mp.put(startDate,endDate); + } + return mp; + } + + + /** + * 预警报警数据 + * @param factoryId + * @param problemDetails + * @param outletCode + * @param pollutantSourceAi + * @return + */ + protected AmProblemFi getMAmProblemFi(String factoryId , String problemDetails , String outletCode , String pollutantSourceAi,Date startDate,Date endDate){ + AmProblemFi mAmProblemFi = new AmProblemFi(); + mAmProblemFi.setFactoryId(factoryId); + mAmProblemFi.setProblemDetails(problemDetails); + mAmProblemFi.setStationId(outletCode); + mAmProblemFi.setPollutantSourceAi(pollutantSourceAi); + mAmProblemFi.setAnalyseTime(startDate); + mAmProblemFi.setAnalyseTimeEnd(endDate); + mAmProblemFi.setProblemType(ProblemTypeEnum.FREQUENCY_MEASUREMENT.getCode()); + mAmProblemFi.setProblemSources("1"); + mAmProblemFi.setCreateTime(new Date()); + return mAmProblemFi; + } + + /** + * 获取报警内容 + * “企业名称”“排口名称”“污染物种类”自行监测频次为“监测频次”,“没有数据的时间范围”缺少自行监测数据。 + * @return + */ + protected String getMessage(String factoryName , String outletName , String pollName , String frequency , String startTime , String endTime){ + return new StringBuilder().append("\"").append(factoryName).append("\"") + .append("\"").append(outletName).append("\"") + .append("\"").append(pollName).append("\"") + .append("自行监测频次为\"").append(frequency).append("\",") + .append("\"").append(startTime+"-"+endTime).append("\"") + .append("缺少自行监测数据。").toString(); + } + + private enum FrequencyEnum { + MONTH("1次/月"), + YEAR("1次/年"), + HALF("1次/半年"), + QUATER("1次/季"), + WEEK("1次/周"); + + FrequencyEnum(String code){ + this.code = code; + } + + private String code; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededLabelTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededLabelTaskService.java new file mode 100644 index 0000000..676ca63 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededLabelTaskService.java @@ -0,0 +1,274 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.LabelValueEnum; +import cn.cecep.talroad.enums.OutletTypesEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.impl.SEnvGasMonRealServiceImpl; +import cn.cecep.talroad.util.NumberUtils; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 废气排放量超标 标签任务 + * @date 2023/6/28 23:58 + * 逻辑描述:1.获取 s_env_gas_mon_hour 在线检测小时数据 根据时间区间: 大于当前时间减去一个月 的数据 + * 2.根据查询到的数据 获取排口ids 获取到当前数据的排口是一般 还是 主要 + * 3.根据 排口类型查询到 不同的偏口许可浓度表 将 + * SO2 、NOx 、颗粒物(烟尘)、VOC 四个类型的污染物 小时许可浓度取到 + * 4.将当前数据的 对应 污染物种类 与 污染物许可浓度进行对比 判断 超标 or 超多少 or 未超标 + * 5.取出超标最大的 和 企业id 进行关联 打标 先根据标签id 和企业删除 原有关联关系 + * 6.将最新的企业和标签的关联关系 维护到表中 + */ +@Slf4j +@Service +public class GasExceededLabelTaskService { + @Autowired + private BMainEmissionPollutionAirMapper mapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Autowired + private PcLabelMapper labelMapper; + + @Autowired + private SEnvGasMonHourMapper gasMonHourMapper; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private BMainPollDisGasMoutMapper mainPollDisGasMoutMapper; + + @Autowired + private BMainPollDisGasOoutMapper mainPollDisGasOoutMapper; + /** + * 构建 企业id +排口code + 污染物种类的唯一key + */ + public static final String KEY_FORMAT = "%s_%s_%s"; + + public void invoke() { + //定时任务 一月一次 直接减去一个月查询 > 数据即可 + Calendar instance = Calendar.getInstance(); + instance.set(Calendar.MONTH,instance.get(Calendar.MONTH) - 1); + PageHelper.startPage(1,1000); + List dataList = gasMonHourMapper.selectMaxProblemTypeByDateGroupFactoryIdAndOutletId(DateUtil.format(instance.getTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + PageInfo dataListPage = new PageInfo<>(dataList); + //查询标签id + PcLabel label = labelMapper.selectOne( + new QueryWrapper().lambda().eq(PcLabel::getLabelCode, LabelFactoryEnum.PF018.getEnumId()) + ); + logicInvoke(dataListPage.getList(),label); + int pages = dataListPage.getPages(); + if (pages <= 1){ + //如果只有一页 阻断 + return; + } + //因为已经查询过一页了 所以从2开始 + for (int i = 2; i <= pages; i++) { + PageHelper.startPage(i,1000); + List pageDataList = gasMonHourMapper.selectMaxProblemTypeByDateGroupFactoryIdAndOutletId(DateUtil.format(instance.getTime(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + PageInfo pageInfo = new PageInfo<>(pageDataList); + logicInvoke(pageInfo.getList(),label); + } + } + + public void logicInvoke(List dataList,PcLabel label){ + if (CollectionUtil.isEmpty(dataList)){ + return; + } + //根据排口ids 查询到排口编号 + List outletIds = dataList.stream().map(SEnvGasMonHour::getOutletId).distinct().collect(Collectors.toList()); + List factoryIds = dataList.stream().map(SEnvGasMonHour::getFactoryId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper outletWrapper = new QueryWrapper().lambda() + .select(PcOutlet::getId, PcOutlet::getOutletCode, PcOutlet::getOutletTypes) + .in(PcOutlet::getId, outletIds); + List pcOutlets = outletMapper.selectList(outletWrapper); + if (CollectionUtil.isEmpty(pcOutlets)){ + //查询不到排口 直接退出 + return; + } + List pcLabelFactoryList = outletMout(pcOutlets,factoryIds,dataList,label); + //查询对应企业 和 标签 是否存在 存在修改 不存在新增 + LambdaQueryWrapper labelWrapper = Wrappers.lambdaQuery() + .in(PcLabelFactory::getFactoryId, pcLabelFactoryList.stream().map(PcLabelFactory::getFactoryId).collect(Collectors.toList())) + .eq(PcLabelFactory::getLabelId, label.getId()); + //删除原本的对应标签 和 企业的 关联关系 + labelFactoryMapper.delete(labelWrapper); + //重新添加新的企业 标签 关联关系 + if (CollectionUtil.isNotEmpty(pcLabelFactoryList)){ + labelFactoryMapper.batchSave(pcLabelFactoryList); + } + } + + //判断排口是什么类型的排口用来判断污染物超标多少 + public List outletMout(List pcOutlets, List factoryIds, List dataList, PcLabel label){ + //需要过滤掉 没有类型的排口 + pcOutlets = pcOutlets.stream().filter(outlet -> StringUtils.isNotBlank(outlet.getOutletTypes())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(pcOutlets)){ + return new ArrayList<>(); + } + //一般排口 + Map ordinaryOutletsMap = pcOutlets.stream() + .filter(outlet -> OutletTypesEnum.GENERAL_OUTLETS.getCode().equals(outlet.getOutletTypes())) + .collect(Collectors.toMap(PcOutlet::getId, Function.identity())); + //主要排口 + Map mainOutletsMap = pcOutlets.stream() + .filter(outlet -> OutletTypesEnum.MAIN_OUTLETS.getCode().equals(outlet.getOutletTypes())) + .collect(Collectors.toMap(PcOutlet::getId, Function.identity())); + //主要排口的污染物许可 + List pollDisGasMouts = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(mainOutletsMap)){ + LambdaQueryWrapper moutWrapper = new QueryWrapper().lambda() + .in(BMainPollDisGasMout::getFactoryId, factoryIds) + .in(BMainPollDisGasMout::getOutletCode, mainOutletsMap.values().stream().map(PcOutlet::getOutletCode).collect(Collectors.toList())); + pollDisGasMouts = mainPollDisGasMoutMapper.selectList(moutWrapper); + } + //一般排口的污染物许可 + List pollDisGasOouts = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(ordinaryOutletsMap)){ + LambdaQueryWrapper ooutWrapper = new QueryWrapper().lambda() + .in(BMainPollDisGasOout::getFactoryId, factoryIds) + .in(BMainPollDisGasOout::getOutletCode, ordinaryOutletsMap.values().stream().map(PcOutlet::getOutletCode).collect(Collectors.toList())); + pollDisGasOouts = mainPollDisGasOoutMapper.selectList(ooutWrapper); + } + List pcLabelFactoryList = new ArrayList<>(); + //企业id + 排口code + 污染物种类code : 小时许可浓度 主要排口 + Map mainPermissionValueMap = new HashMap<>(); + for (BMainPollDisGasMout pollDisGasMout : pollDisGasMouts) { + //需要 企业id + 排口code + 污染物 组成唯一key : 许可排放小时浓度限值 + String uqeKey = createUqeKey(pollDisGasMout.getFactoryId(), pollDisGasMout.getOutletCode(), pollDisGasMout.getPollutantCode()); + mainPermissionValueMap.put(uqeKey, NumberUtils.getBigDecimalDefaultZero(pollDisGasMout.getPollutantsMgHour())); + } + //企业id + 排口code + 污染物种类code : 小时许可浓度 一般排口 + Map ordinaryPermissionValueMap = new HashMap<>(); + for (BMainPollDisGasOout pollDisGasMout : pollDisGasOouts) { + //需要 企业id + 排口code + 污染物 组成唯一key : 许可排放小时浓度限值 + String uqeKey = createUqeKey(pollDisGasMout.getFactoryId(), pollDisGasMout.getOutletCode(), pollDisGasMout.getPollutantCode()); + ordinaryPermissionValueMap.put(uqeKey, NumberUtils.getBigDecimalDefaultZero(pollDisGasMout.getPollutantsMgHour())); + } + for (SEnvGasMonHour sEnvGasMonHour : dataList) { + PcLabelFactory pcLabelFactory = null; + PcOutlet pcOutlet = mainOutletsMap.get(sEnvGasMonHour.getOutletId()); + String outletCode = pcOutlet.getOutletCode(); + if (ordinaryOutletsMap.containsKey(sEnvGasMonHour.getOutletId())){ + //一般排口 + pcLabelFactory = outletComputeExceeded(outletCode,ordinaryPermissionValueMap,sEnvGasMonHour,label); + }else{ + //主要排口 + pcLabelFactory = outletComputeExceeded(outletCode,mainPermissionValueMap,sEnvGasMonHour,label); + } + pcLabelFactoryList.add(pcLabelFactory); + } + //企业可能分析多来 多条 此处进行分组 只取没个企业最大的标签进行维护 + if (CollectionUtil.isEmpty(pcLabelFactoryList)){ + return new ArrayList<>(); + } + Map> collect = pcLabelFactoryList.stream().collect(Collectors.groupingBy(PcLabelFactory::getFactoryId)); + List resultList = new ArrayList<>(); + + for (Map.Entry> labelFactoryEntry : collect.entrySet()) { + List value = labelFactoryEntry.getValue(); + List sortList = value.stream().sorted(Comparator.comparing(PcLabelFactory::getLabelValue)).collect(Collectors.toList()); + //经过按照标签排序后 升序 只需要取最后一条即可 + resultList.add(sortList.get(sortList.size()-1)); + } + return resultList; + } + + //排口计算污染物超标 + public PcLabelFactory outletComputeExceeded(String outletCode,Map permissionValueMap,SEnvGasMonHour sEnvGasMonHour,PcLabel label){ + //废气 污染物 空气:SO2 、NOx 、颗粒物(烟尘)、VOC + String factoryId = sEnvGasMonHour.getFactoryId(); + //四个污染物浓度的枚举列表 + ArrayList labelValueEnums = new ArrayList<>(); + //实际浓度 + BigDecimal so2 = NumberUtils.getBigDecimalDefaultNull(sEnvGasMonHour.getSo2()); + //许可每小时浓度 + BigDecimal so2PValue = permissionValueMap.get(createUqeKey(factoryId, outletCode, SEnvGasMonRealServiceImpl.PollutantEnum.so2.getCode())); + //计算实际 与 许可 超标枚举 + labelValueEnums.add(judgementCb(so2,so2PValue)); + BigDecimal nox = NumberUtils.getBigDecimalDefaultNull(sEnvGasMonHour.getNox()); + BigDecimal noxPValue = permissionValueMap.get(createUqeKey(factoryId, outletCode, SEnvGasMonRealServiceImpl.PollutantEnum.nox.getCode())); + labelValueEnums.add(judgementCb(nox,noxPValue)); + BigDecimal pm = NumberUtils.getBigDecimalDefaultNull(sEnvGasMonHour.getPm()); + BigDecimal pmPValue = permissionValueMap.get(createUqeKey(factoryId, outletCode, SEnvGasMonRealServiceImpl.PollutantEnum.pm.getCode())); + labelValueEnums.add(judgementCb(pm,pmPValue)); + BigDecimal vocs = NumberUtils.getBigDecimalDefaultNull(sEnvGasMonHour.getVocs()); + BigDecimal vocsPValue = permissionValueMap.get(createUqeKey(factoryId, outletCode, SEnvGasMonRealServiceImpl.PollutantEnum.vocs.getCode())); + labelValueEnums.add(judgementCb(vocs,vocsPValue)); + return buildPcLabelFactory(factoryId,label.getId(),labelValueEnums); + } + + /** + * 构建企业标签关联关系实体 + */ + private PcLabelFactory buildPcLabelFactory(String factoryId, String labelId, ArrayList labelValue){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + LabelValueEnum labelValueEnum = labelValue.stream() + .sorted( + Comparator.comparing(valueEnum -> Integer.parseInt(valueEnum.getArgumentsCode())) + ) + .collect(Collectors.toList()).get(labelValue.size() - 1); + pcLabelFactory.setLabelValue(labelValueEnum.getArgumentsCode()); + pcLabelFactory.setLableUseing("0"); + return pcLabelFactory; + } + + public LabelValueEnum judgementCb(BigDecimal xk, BigDecimal sj){ + if (sj == null || xk == null){ + //没有实际浓度 则 直接 返回未超标 + return LabelValueEnum.CODE_1044; + } + return judgingTheIndexOfExcess(xk, sj); + } + + /** + * 判断超标倍数 + */ + public static LabelValueEnum judgingTheIndexOfExcess(BigDecimal xk, BigDecimal sj){ + //超标值 - 实际值 > 0 代表无超标 + if (xk.subtract(sj).compareTo(BigDecimal.ZERO) > 0){ + return LabelValueEnum.CODE_1044; + } + //实际值 - 超标值 > 超标值 超标一倍以内 + if (sj.subtract(xk).compareTo(xk) <= 0){ + return LabelValueEnum.CODE_1045; + } + //实际值 - 超标值 < 超标值 * 2 超标两倍以内 + if (sj.subtract(xk).compareTo(xk.multiply(new BigDecimal(2))) < 0){ + return LabelValueEnum.CODE_1046; + } + //否则就是超标两倍以上 + return LabelValueEnum.CODE_1047; + } + + /** + * 构建 企业id +排口code + 污染物种类的唯一key + */ + public String createUqeKey(String factoryId,String outletCode,String pollutantsType){ + return String.format(KEY_FORMAT,factoryId,outletCode,pollutantsType); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededTotalLabelTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededTotalLabelTaskService.java new file mode 100644 index 0000000..aaced17 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/GasExceededTotalLabelTaskService.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.LabelValueEnum; +import cn.cecep.talroad.mapper.BMainEmissionPollutionAirMapper; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.util.NumberUtils; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 废气排放 超总量 标签任务 + * @date 2023/6/28 23:58 + * 逻辑描述:1.获取 b_main_emission_pollution_air的数据 判断 + * SO2 、NOx 、颗粒物(烟尘)、VOC 四个类型的污染物 是否实际大于许可 + * 有一个大于 则 判断该企业 超标 + * 2. 将 企业id 和标签id 查询 删除原有关系 维护新关系 + */ +@Slf4j +@Service +public class GasExceededTotalLabelTaskService { + @Autowired + private BMainEmissionPollutionAirMapper mapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Autowired + private PcLabelMapper labelMapper; + + public void invoke() { + Calendar instance = Calendar.getInstance(); + int year = instance.get(Calendar.YEAR); + LambdaQueryWrapper wrapper = new QueryWrapper().lambda() + .eq(BMainEmissionPollutionAir::getPollYear, String.valueOf(year - 1)); + List bMainEmissionPollutionAirs = mapper.selectList(wrapper); + PcLabel label = labelMapper.selectOne( + new QueryWrapper().lambda().eq(PcLabel::getLabelCode, LabelFactoryEnum.PF019.getEnumId()) + ); + List pcLabelFactoryList = new ArrayList<>(); + for (BMainEmissionPollutionAir entity : bMainEmissionPollutionAirs) { + ArrayList labelValueEnums = new ArrayList<>(); + //sj = 实际 , xk = 许可 , cb = 超标 + //SO₂ + BigDecimal sjSo2 = NumberUtils.getBigDecimalDefaultZero(entity.getActuallyEmittingSo2()); + BigDecimal xkSo2 = NumberUtils.getBigDecimalDefaultZero(entity.getAllowableEmissionSo2()); + BigDecimal cbSo2 = entity.getExceedingRateSo2(); + labelValueEnums.add(judgementCb(sjSo2, xkSo2, cbSo2)); + //NOx + BigDecimal sjNox = NumberUtils.getBigDecimalDefaultZero(entity.getActuallyEmittingNox()); + BigDecimal xkNox = NumberUtils.getBigDecimalDefaultZero(entity.getAllowableEmissionNox()); + BigDecimal cbNox = entity.getExceedingRateNox(); + labelValueEnums.add(judgementCb(sjNox, xkNox, cbNox)); + //颗粒物 + BigDecimal sjPm = NumberUtils.getBigDecimalDefaultZero(entity.getActuallyEmittingPm()); + BigDecimal xkPm = NumberUtils.getBigDecimalDefaultZero(entity.getAllowableEmissionPm()); + BigDecimal cbPm = entity.getExceedingRatePm(); + labelValueEnums.add(judgementCb(sjPm, xkPm, cbPm)); + //Vocs + BigDecimal sjVocs = NumberUtils.getBigDecimalDefaultZero(entity.getActuallyEmittingVocs()); + BigDecimal xkVocs = NumberUtils.getBigDecimalDefaultZero(entity.getAllowableEmissionVocs()); + BigDecimal cbVocs = entity.getExceedingRateVocs(); + labelValueEnums.add(judgementCb(sjVocs, xkVocs, cbVocs)); + //判断四个污染物的超标 枚举 + PcLabelFactory pcLabelFactory = null; + if (labelValueEnums.contains(LabelValueEnum.CODE_1048)){ + //包含超标 即为超标 + pcLabelFactory = buildPcLabelFactory(entity.getFactoryId(), label.getId(), LabelValueEnum.CODE_1048); + }else{ + pcLabelFactory = buildPcLabelFactory(entity.getFactoryId(), label.getId(), LabelValueEnum.CODE_1049); + } + //构建标签信息 + pcLabelFactoryList.add(pcLabelFactory); + break; + } + if (CollectionUtil.isEmpty(pcLabelFactoryList)){ + return; + } + //查询对应企业 和 标签 是否存在 存在修改 不存在新增 + LambdaQueryWrapper labelWrapper = Wrappers.lambdaQuery() + .in(PcLabelFactory::getFactoryId, pcLabelFactoryList.stream().map(PcLabelFactory::getFactoryId).collect(Collectors.toList())) + .eq(PcLabelFactory::getLabelId, label.getId()); + //删除原本的对应标签 和 企业的 关联关系 + labelFactoryMapper.delete(labelWrapper); + //重新添加新的企业 标签 关联关系 + if (CollectionUtil.isNotEmpty(pcLabelFactoryList)){ + labelFactoryMapper.batchSave(pcLabelFactoryList); + } + + } + + + /** + * 构建企业标签关联关系实体 + */ + private PcLabelFactory buildPcLabelFactory(String factoryId, String labelId, LabelValueEnum labelValue){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLabelValue(labelValue.getArgumentsCode()); + pcLabelFactory.setLableUseing("0"); + return pcLabelFactory; + } + + public LabelValueEnum judgementCb(BigDecimal sj, BigDecimal xk,BigDecimal cb){ + BigDecimal cbValue = getExceedValue(xk, cb); + return judgingTheIndexOfExcess(cbValue, sj); + } + /** + * 获取超标值 + */ + public BigDecimal getExceedValue(BigDecimal xk, BigDecimal cb){ + //(许可值 * 超标百分比 ) + 许可值 即为超标临界值 + return xk.multiply(cb).add(xk); + } + + /** + * 判断是否超总量 + */ + public static LabelValueEnum judgingTheIndexOfExcess(BigDecimal cb, BigDecimal sj){ + //超标值 - 实际值 > 0 代表不超总量 + if (cb.subtract(sj).compareTo(BigDecimal.ZERO) > 0){ + return LabelValueEnum.CODE_1049; + } + return LabelValueEnum.CODE_1048; + } +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/OutletMonitorGasTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/OutletMonitorGasTaskService.java new file mode 100644 index 0000000..b8f128c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/OutletMonitorGasTaskService.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.analysis.SRaSelfMonitoringDataMapper; +import cn.hutool.core.collection.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +@Service +public class OutletMonitorGasTaskService implements TaskService { + + + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Autowired + private SRaSelfMonitoringDataMapper sRaSelfMonitoringDataMapper; + + + @Override + public Object mainProcess(Object o) { + Timestamp startDate = new Timestamp(1687273132000L); + Timestamp endDate = new Timestamp(1688055248000L); +// LambdaQueryWrapper lambdaQuery = Wrappers.lambdaQuery(SRaSelfMonitoringData.class); +// lambdaQuery.ge(SRaSelfMonitoringData::getCreateTime, startDate); +// lambdaQuery.le(SRaSelfMonitoringData::getCreateTime, endDate); + List monitoringDataList = sRaSelfMonitoringDataMapper.queryList(startDate,endDate); + Map> listMap = monitoringDataList.stream().filter(e -> "1".equals(e.getExceedingStandard())) + .collect(Collectors.groupingBy(SRaSelfMonitoringData::getFactoryId)); + List fis = encapsulatedData(listMap); + + if (CollectionUtil.isEmpty(fis)){ + return true; + } + amProblemFiMapper.insertAmProblemFis(fis); + return true; + } + + private List encapsulatedData(Map> listMap) { + ArrayList amProblemFis = new ArrayList<>(); + listMap.forEach((k,v)->{ + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(k); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + amProblemFi.setProblemSources("1"); + StringBuffer msgs = new StringBuffer(); + v.forEach(e->{ + String msg = getMessage(e); + msgs.append(msg).append("/"); + }); + amProblemFi.setProblemDetails(msgs.toString()); + amProblemFi.setType(1); + amProblemFis.add(amProblemFi); + }); + return amProblemFis; + } + + + protected String getMessage(SRaSelfMonitoringData data){ + return String.format("%s-%s%s手工监测%s浓度为%s,超过许可浓度限值%s", + data.getFactoryName(), + data.getMonitoringName(), + new SimpleDateFormat("yyyy年MM月dd日").format(data.getMonitorTime()), + data.getPollutantsName(), + data.getActualConcentration(), + data.getUpperValue()+"-"+data.getLowerValue()); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/PollutionSourceControlService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/PollutionSourceControlService.java new file mode 100644 index 0000000..cdd0128 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/PollutionSourceControlService.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.util.NumberUtils; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 污染源管控任务 + * @date 2023/6/28 22:28 + * 逻辑描述:1.查询 s_main_dynamic_control_factory 企业传输率 判断 实测是否 > 标准 + * 大于则产生预警信息 + */ +@Slf4j +@Service +public class PollutionSourceControlService { + + + @Autowired + private SMainDynamicControlFactoryMapper dynamicControlFactoryMapper; + @Autowired + private PcOutletMapper pcOutletMapper; + @Autowired + private IAmProblemFiService amProblemFiService; + + protected static final int PAGE_SIZE = 1000; + + public void invoke(){ + //分页处理查询企业传输率 + Page page = new Page<>(1, PAGE_SIZE); + do { + page = dynamicControlFactoryMapper.selectPage(page, new QueryWrapper<>()); + List records = page.getRecords(); + if (CollectionUtil.isEmpty(records)){ + break; + } + //排口名称 + List outletIds = records.stream().map(SMainDynamicControlFactory::getOutletId).collect(Collectors.toList()); + List pcOutlets = pcOutletMapper.selectList(new QueryWrapper().lambda().in(PcOutlet::getId, outletIds)); + Map outletNameMap = pcOutlets.stream().collect(Collectors.toMap(PcOutlet::getId, PcOutlet::getOutletName)); + List amProblemFis = new ArrayList<>(); + for (SMainDynamicControlFactory record : records) { + //实测值 + BigDecimal measuredValue = NumberUtils.getBigDecimalDefaultNull(record.getMeasuredValue()); + //验收标准值 + BigDecimal standardValue = NumberUtils.getBigDecimalDefaultNull(record.getStandardValue()); + if (measuredValue == null || standardValue == null){ + continue; + } + if (measuredValue.compareTo(standardValue) > 0){ + //添加预警信息 + String msg = buildMsg(record.getArgumentsName(),record.getMeasuredValue(),record.getStandardValue()); + AmProblemFi amProblemFi = doProcessAlaram(record.getFactoryId(), record.getOutletId(), outletNameMap.get(record.getOutletId()), msg, record.getArgumentsName()); + amProblemFis.add(amProblemFi); + } + } + amProblemFiService.saveBatch(amProblemFis); + }while (page.getPages() < page.getCurrent()); + } + + /** + * 设备名称(监控参数名称)当前为(当前的监控数值),超过标准值(备案具体数值),请及时核对 + */ + private String buildMsg(String paramName,String measuredValue,String standardValue){ + return "设备名称("+paramName+")当前为("+measuredValue+"),超过标准值("+standardValue+"),请及时核对"; + } + /** + * 构建报警信息实体 + */ + private AmProblemFi doProcessAlaram(String factoryId, String stationId, String stationName, String msg, String param) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setId(IdUtil.simpleUUID()); + problemFi.setProblemSources("3"); + problemFi.setFactoryId(factoryId); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(ProblemTypeEnum.POLLUTION_CONTROL_EXCEEDED.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(new Date()); + problemFi.setAnalyseTimeEnd(new Date()); + problemFi.setStationId(stationId); + problemFi.setStationName(stationName); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setInputStartTime(DateUtils.dateTime()); + problemFi.setInputEndTime(DateUtils.dateTime()); + return problemFi; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/SiteMonitoringService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/SiteMonitoringService.java new file mode 100644 index 0000000..4c9db00 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/SiteMonitoringService.java @@ -0,0 +1,345 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.service.TaskService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.OdsAirRegionAqiHourI; +import cn.cecep.talroad.domain.SStationTypeDict; +import cn.cecep.talroad.domain.TCodStation; +import cn.cecep.talroad.domain.TCodStationDataAir; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.SStationTypeDictMapper; +import cn.cecep.talroad.mapper.TCodStationDataAirMapper; +import cn.cecep.talroad.mapper.TCodStationMapper; +import cn.cecep.talroad.service.IOdsAirRegionAqiHourIService; +import cn.cecep.talroad.util.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class SiteMonitoringService implements TaskService { + + @Autowired + private TCodStationMapper codStationMapper; + + @Autowired + private SStationTypeDictMapper stationTypeDictMapper; + + @Autowired + private TCodStationDataAirMapper codStationDataAirMapper; + + @Autowired + private IOdsAirRegionAqiHourIService odsAirRegionAqiHourIService; + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Autowired + private RedisTemplate redisTemplate; + + public String[] numberTypeCityIds = {"1","2"}; + + public String[] limitTypeCityIds = {"10"}; + + public static final String redisKey = "frequency:alarm:"; + + @Override + public Object mainProcess(Object dto) { + //限值预警 + limitJudgment(); + //次数预警 + FrequencyAlarm(); + return null; + } + + + public void limitJudgment(){ + List stationType = getStationType(limitTypeCityIds); + for (SStationTypeDict sStationTypeDict : stationType) { + // 获取分类站点 + List codStations = getStation(sStationTypeDict); + if (CollectionUtils.isNotEmpty(codStations)){ + // 获取站点数据 + List codeStationDataAir = getCodeStationDataAir(codStations); + if (CollectionUtils.isNotEmpty(codeStationDataAir)){ + // 分组站点数据 + Map> airMap = codeStationDataAir.stream().collect(Collectors.groupingBy(TCodStationDataAir::getStationId)); + // 站点转map 方便通过id 获取 + Map tCodStationMap = codStations.stream().collect(Collectors.toMap(TCodStation::getId, Function.identity())); + + for (Map.Entry> listEntry : airMap.entrySet()) { + + // 获取分类字段 + List paramNames = Arrays.stream(LimitValueEnum.values()).map(LimitValueEnum::getParamName).collect(Collectors.toList()); + + //获取该字段所有数据 + Map> columnParamValue = DataAnomalyAbstractService.getColumnParamValue(listEntry.getValue(), paramNames); + + // 分析每个字段的预警 并添加预警信息 + for (Map.Entry> stringListEntry : columnParamValue.entrySet()) { + + List bigDecimals = stringListEntry.getValue().stream().map(Object::toString).map(BigDecimal::new).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(bigDecimals)){ + + BigDecimal avg = bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal :: add).divide(BigDecimal.valueOf(bigDecimals.size()), 2, BigDecimal.ROUND_HALF_UP); + LimitValueEnum limitValueEnum = LimitValueEnum.geLimitValueByParam(stringListEntry.getKey()); + if (limitValueEnum!=null){ + BigDecimal value = limitValueEnum.getValue(); + if (avg.doubleValue()>=value.doubleValue()){ + TCodStation tCodStation = tCodStationMap.get(listEntry.getKey()); + String message = getLimitAlarm(tCodStation.getStationName(), limitValueEnum.getParamName(), DateUtil.formatDate(getStartTime(), "yyyyMMddHH"), avg, limitValueEnum.getValue()); + AmProblemFi amProblemFi = getAmProblemFi(tCodStation, message, limitValueEnum.paramName); + amProblemFiMapper.insert(amProblemFi); + } + }else{ + log.warn("param {} in LimitValueEnum enum not be found",stringListEntry.getKey()); + } + } + } + + } + + + } + } + } + + } + + public void FrequencyAlarm(){ + List stationType = getStationType(numberTypeCityIds); + List cityAirRegionHour = getCityAirRegionHour(); + for (SStationTypeDict sStationTypeDict : stationType) { + // 获取分类站点 + List codStations = getStation(sStationTypeDict); + if (CollectionUtils.isNotEmpty(codStations)){ + // 获取站点数据 + List codeStationDataAir = getCodeStationDataAir(codStations); + if (CollectionUtils.isNotEmpty(codeStationDataAir)){ + // 分组站点数据 + Map> airMap = codeStationDataAir.stream().collect(Collectors.groupingBy(TCodStationDataAir::getStationId)); + // 站点转map 方便通过id 获取 + Map tCodStationMap = codStations.stream().collect(Collectors.toMap(TCodStation::getId, Function.identity())); + + for (Map.Entry> listEntry : airMap.entrySet()) { + + // 获取分类字段 + List paramNames = Arrays.stream(sStationTypeDict.getChartPollutant().split(",")).collect(Collectors.toList()); + + //获取该字段所有数据 + Map> columnParamValue = DataAnomalyAbstractService.getColumnParamValue(listEntry.getValue(), paramNames); + Map> cityHourCity = DataAnomalyAbstractService.getColumnParamValue(cityAirRegionHour, paramNames); + + // 分析每个字段的预警 并添加预警信息 + for (Map.Entry> stringListEntry : columnParamValue.entrySet()) { + + List bigDecimals = stringListEntry.getValue().stream().map(Object::toString).map(BigDecimal::new).collect(Collectors.toList()); + List objects = cityHourCity.get(stringListEntry.getKey()); + if (CollectionUtils.isNotEmpty(objects)){ + List bigDecimalList = objects.stream().map(Object::toString).map(BigDecimal::new).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(bigDecimals)){ + TCodStation tCodStation = tCodStationMap.get(listEntry.getKey()); + BigDecimal cityAvg = bigDecimalList.stream().reduce(BigDecimal.ZERO, BigDecimal :: add).divide(BigDecimal.valueOf(bigDecimals.size()), 2, BigDecimal.ROUND_HALF_UP); + BigDecimal avg = bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal :: add).divide(BigDecimal.valueOf(bigDecimals.size()), 2, BigDecimal.ROUND_HALF_UP); + Object o = redisTemplate.opsForValue().get("redisKey" + tCodStation.getId()); + if (o==null){ + // 进行第一次报警 + BigDecimal multiply = cityAvg.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("30")); + if (avg.doubleValue()>=multiply.doubleValue()){ + String message = getOneAlarm(tCodStation.getStationName(), stringListEntry.getKey(), DateUtil.formatDate(getStartTime(), "yyyyMMddHH"), avg); + AmProblemFi amProblemFi = getAmProblemFi(tCodStation, message, stringListEntry.getKey()); + amProblemFiMapper.insert(amProblemFi); + } + String format = DateUtil.format(DateUtil.getDateHour(2), "yyyy-MM-dd HH:mm:ss"); + + redisTemplate.opsForValue().set("redisKey" + tCodStation.getId(),format,60*60*2+60*30, TimeUnit.SECONDS); + } + String dateString = o.toString(); + Date parse = DateUtil.parse(dateString, "yyyy-MM-dd HH::mm:ss"); + if (parse.getTime()=multiply.doubleValue()){ + String message = getTwoAlarm(tCodStation.getStationName(), stringListEntry.getKey(), DateUtil.formatDate(getStartTime(), "yyyyMMddHH"), avg); + AmProblemFi amProblemFi = getAmProblemFi(tCodStation, message, stringListEntry.getKey()); + amProblemFiMapper.insert(amProblemFi); + } + } + } + } + } + } + } + } + } + } + + + /** + * 获取市数据 + * @return + */ + public List getCityAirRegionHour(){ + LambdaQueryWrapper odsAirRegionAqiHourILambdaQueryWrapper = new QueryWrapper().lambda() + .ge(OdsAirRegionAqiHourI::getDatatime, DateUtil.format(getStartTime(), "yyyy-MM-dd HH:mm:ss")) + .le(OdsAirRegionAqiHourI::getDatatime, DateUtil.format(getEndTime(), "yyyy-MM-dd HH:mm:ss")); + return odsAirRegionAqiHourIService.list(odsAirRegionAqiHourILambdaQueryWrapper); + } + + /** + * 获取站点信息 + */ + public List getStation(SStationTypeDict sStationTypeDict){ + LambdaQueryWrapper tCodStationLambdaQueryWrapper = new QueryWrapper().lambda() + .eq(TCodStation::getStationTypeDictId, sStationTypeDict.getDataId()); + return codStationMapper.selectList(tCodStationLambdaQueryWrapper); + } + + /** + * 获取站点浓度数据 + */ + public List getCodeStationDataAir(List codStations){ + List stationIds = codStations.stream().map(TCodStation::getId).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(stationIds)){ + return new ArrayList<>(); + } + LambdaQueryWrapper tCodStationDataAirLambdaQueryWrapper = new QueryWrapper().lambda() + .eq(TCodStationDataAir::getStationId, stationIds) + .ge(TCodStationDataAir::getMonitorTime,getStartTime()) + .le(TCodStationDataAir::getMonitorTime,getEndTime()); + return codStationDataAirMapper.selectList(tCodStationDataAirLambdaQueryWrapper); + } + + /** + * 获取站点类型 + */ + public List getStationType(String[] typeIds){ + if (typeIds!=null&&typeIds.length>0){ + List collect = Arrays.stream(typeIds).map(Integer::valueOf).collect(Collectors.toList()); + LambdaQueryWrapper sStationTypeDictLambdaQueryWrapper = new QueryWrapper().lambda() + .isNotNull(SStationTypeDict::getChartPollutant) + .in(SStationTypeDict::getDataId,collect); + return stationTypeDictMapper.selectList(sStationTypeDictLambdaQueryWrapper); + } + return new ArrayList<>(); + } + + /** + * “站点名称(国控/省控)”“指标”“年月日时”浓度为"x"ug/m3,高出市区浓度均值30%以上,产生一次报警。 + * @return + */ + public String getOneAlarm(String stationName , String index , String date , BigDecimal concentration){ + return new StringBuilder() + .append(stationName).append(index).append(date) + .append("浓度为:").append(concentration).append("ug/m3").append("高出市区浓度均值30%以上,产生一次报警") + .toString(); + } + + /** + * 站点名称(国控/省控)”“指标”“年月日时”浓度为"x"ug/m3,高出市区浓度均值30%以上,“年月日时”浓度为“x”ug/m3,高出市区浓度均值15%以上,产生二次报警 + */ + public String getTwoAlarm(String stationName , String index , String date , BigDecimal concentration){ + return new StringBuilder() + .append(stationName).append(index).append(date) + .append("浓度为:").append(concentration).append("ug/m3").append("高出市区浓度均值15%以上,产生二次报警") + .toString(); + } + + /** + * “站点名称(乡镇站)”“指标”“年月日时”浓度为"x"ug/m3,大于等于“标准值”。 + */ + public String getLimitAlarm(String stationName , String index , String date , BigDecimal concentration , BigDecimal standard){ + return new StringBuilder() + .append(stationName).append(index).append(date) + .append("浓度为:").append(concentration).append("ug/m3").append("大于等于“").append(standard) + .toString(); + } + + public AmProblemFi getAmProblemFi(TCodStation tCodStation, String message, String paramName){ + return AmProblemFi.builder() + .problemSources("1") + .problemType("003007") + .problemDetails(message) + .stationId(tCodStation.getId()) + .stationName(tCodStation.getStationName()) + .paramName(paramName) + .analyseTime(new Date()) + .analyseTimeEnd(new Date()) + .type(1) + .pollutantSourceAi("1").build(); + + } + + public Date getStartTime(){ + return DateUtil.getDateHourBegin(DateUtil.getDateHour(-1)); + } + + public Date getEndTime(){ + return DateUtil.getDateHourEnd(DateUtil.getDateHour(-1)); + } + + public static enum LimitValueEnum{ + /** + * PM2.5≥75ug/m³、PM10≥150ug/m³、SO≥20ug/m³、N02≥60ug/m³、C0≥1.4mg/m³ + */ + pm25("pm25",new BigDecimal(75)), + pm10("pm10",new BigDecimal(150)), + so2("so2",new BigDecimal(20)), + N02("no2",new BigDecimal(60)), + CO("co",new BigDecimal(1.4)), + ; + + private String paramName; + + private BigDecimal value; + + LimitValueEnum(String paramName, BigDecimal value) { + this.paramName = paramName; + this.value = value; + } + + public String getParamName() { + return paramName; + } + + public void setParamName(String paramName) { + this.paramName = paramName; + } + + public BigDecimal getValue() { + return value; + } + + public void setValue(BigDecimal value) { + this.value = value; + } + + public static LimitValueEnum geLimitValueByParam(String paramName){ + + for (LimitValueEnum value : LimitValueEnum.values()) { + if (value.getParamName().equals(paramName)){ + return value; + } + } + return null; + } + + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/StationBuildingStatTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/StationBuildingStatTaskService.java new file mode 100644 index 0000000..2a1d768 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/StationBuildingStatTaskService.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.data.analyse.task.service; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import cn.cecep.talroad.mapper.PcStationBuildingStatMapper; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import java.util.List; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class StationBuildingStatTaskService extends ServiceImpl implements IService { + + @Autowired + private PcStationBuildingStatMapper pcStationBuildingStatMapper; + + public Boolean dayTask(Date startTime, Date endTime) { + // 获取当天的数据 + String startDate = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", startTime); + String endDate = DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", endTime); + List statList = pcStationBuildingStatMapper.selectStatisticsData(startDate, endDate); + + if (CollectionUtil.isNotEmpty(statList)) { + statList.forEach(stat -> { + stat.setStatisticalTime(startTime); + stat.setCreateTime(new Date()); + }); + + this.saveBatch(statList); + } + return true; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/TaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/TaskService.java new file mode 100644 index 0000000..f00fb63 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/service/TaskService.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.data.analyse.task.service; + +/*** + * + * @Title: + * @Author: ccc + * @CreateTime: 2023-06-28 13:35 + * @Description D 入参 R 出参 定义类型,可以不设置默认Object + * + **/ +public interface TaskService { + + default R mainProcess(){ + return mainProcess(null); + }; + + public R mainProcess(D dto); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/ElectricityAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/ElectricityAnalyseService.java new file mode 100644 index 0000000..f720013 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/ElectricityAnalyseService.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.data.analyse.task.transfer.rate; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; + +/** + * @author hehongyu + * @description: 关联分析系统-数据质量分析-企业传输率分析-分表计电 + * @date 2023/6/27 23:08 + */ +@Slf4j +@Service +public class ElectricityAnalyseService extends TransferRateAbstractService { + + @Autowired + private SRaFactoryTransferRateAnalysisMapper mapper; + + @Override + protected String getLabelCode() { + return LabelFactoryEnum.JG054.getEnumId(); + } + + @Override + protected BigDecimal getAnalyseValue(SimpleSRaFactoryTransferRateAnalysis entity) { + return entity.getElecTransmissionRate(); + } + + @Override + protected List getDataList() { + //利用mysql 函数 查询本年的 日平均传输率 + Calendar instance = Calendar.getInstance(); + instance.set(Calendar.YEAR,instance.get(Calendar.YEAR) - 1); + return mapper.selectAvgRateByDateTimeGroupFactoryId(DateUtil.format(instance.getTime(), DateUtils.YYYY),TimeTypeEnum.YEAR.getCode()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/InorganizationAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/InorganizationAnalyseService.java new file mode 100644 index 0000000..b04f21e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/InorganizationAnalyseService.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.data.analyse.task.transfer.rate; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; + +/** + * @author hehongyu + * @description: 关联分析系统-数据质量分析-企业传输率分析-无组织 + * @date 2023/6/27 23:06 + */ +@Slf4j +@Service +public class InorganizationAnalyseService extends TransferRateAbstractService{ + + @Autowired + private SRaFactoryTransferRateAnalysisMapper mapper; + + @Override + protected String getLabelCode() { + return LabelFactoryEnum.JG053.getEnumId(); + } + + @Override + protected BigDecimal getAnalyseValue(SimpleSRaFactoryTransferRateAnalysis entity) { + return entity.getElecTransmissionRate(); + } + + @Override + protected List getDataList() { + //利用mysql 函数 查询本年的 日平均传输率 + Calendar instance = Calendar.getInstance(); + instance.set(Calendar.YEAR,instance.get(Calendar.YEAR) - 1); + return mapper.selectAvgRateByDateTimeGroupFactoryId(DateUtil.format(instance.getTime(), DateUtils.YYYY_MM_DD),TimeTypeEnum.DAY.getCode()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/OnlineMonitoringAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/OnlineMonitoringAnalyseService.java new file mode 100644 index 0000000..2736728 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/OnlineMonitoringAnalyseService.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.data.analyse.task.transfer.rate; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; + +/** + * @author hehongyu + * @description: 关联分析系统-数据质量分析-企业传输率分析-在线监测 + * @date 2023/6/27 23:08 + */ +@Slf4j +@Service +public class OnlineMonitoringAnalyseService extends TransferRateAbstractService{ + + @Autowired + private SRaFactoryTransferRateAnalysisMapper mapper; + + @Override + protected String getLabelCode() { + return LabelFactoryEnum.JG055.getEnumId(); + } + + @Override + protected BigDecimal getAnalyseValue(SimpleSRaFactoryTransferRateAnalysis entity) { + return entity.getOnlineMonitoringRate(); + } + + @Override + protected List getDataList() { + //利用mysql 函数 查询本年的 日平均传输率 + Calendar instance = Calendar.getInstance(); + instance.set(Calendar.YEAR,instance.get(Calendar.YEAR) - 1); + return mapper.selectAvgRateByDateTimeGroupFactoryId(DateUtil.format(instance.getTime(), DateUtils.YYYY_MM_DD),TimeTypeEnum.DAY.getCode()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/TransferRateAbstractService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/TransferRateAbstractService.java new file mode 100644 index 0000000..61b18e1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/TransferRateAbstractService.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.data.analyse.task.transfer.rate; + +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.enums.LabelValueEnum; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author hehongyu + * @description: 打标任务 + * @date 2023/6/27 23:09 + * 逻辑描述:1.查询 s_ra_factory_transfer_rate_analysis 数据 + * 条件是 根据企业id进行分组 且avg(在线监测) and avg(分表计电) and avg(无组织) and avg(工况) + * 特殊说明:因 该表 是存在区域和其他条件 导致 一个企业会查询到多条年报 或者 日报 + * 分表计电 和 工况 是有年报的 直接 按照 去年查询 即可 avg对应数据即可 + * 在线监测 和 无组织 只有日报 需查询所有日报 后avg对应数据 + * 2.根据查询到的 数据 对应值 进行判断 50%(含)以下,50%以上75%(含)以下,75%以上 + * 3.删除原有企业和标签的关系 重新维护 + * + */ +public abstract class TransferRateAbstractService { + + @Autowired + private SRaFactoryTransferRateAnalysisMapper mapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Autowired + private PcLabelMapper labelMapper; + + protected static final int PAGE_SIZE = 100; + + public boolean transferRateAnalysis(){ + List pcLabelFactoryList = new ArrayList<>(); + //TODO 如果企业很多的话 getDataList() 此处加入分页逻辑 分批处理 + List records = getDataList(); + PcLabel label = labelMapper.selectOne( + new QueryWrapper().lambda().eq(PcLabel::getLabelCode, getLabelCode()) + ); + for (SimpleSRaFactoryTransferRateAnalysis record : records) { + PcLabelFactory pcLabelFactory = buildPcLabelFactory(record.getFactoryId(), label.getId(), getLabelValue(record)); + pcLabelFactoryList.add(pcLabelFactory); + } + if (CollectionUtil.isEmpty(pcLabelFactoryList)){ + return true; + } + //查询对应企业 和 标签 是否存在 存在修改 不存在新增 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() + .in(PcLabelFactory::getFactoryId, pcLabelFactoryList.stream().map(PcLabelFactory::getFactoryId).collect(Collectors.toList())) + .eq(PcLabelFactory::getLabelId, label.getId()); + //删除原本的对应标签 和 企业的 关联关系 + labelFactoryMapper.delete(wrapper); + //重新添加新的企业 标签 关联关系 + if (CollectionUtil.isNotEmpty(pcLabelFactoryList)){ + labelFactoryMapper.batchSave(pcLabelFactoryList); + } + return true; + } + + /** + * 构建企业标签关联关系实体 + */ + private PcLabelFactory buildPcLabelFactory(String factoryId, String labelId, String labelValue){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLabelValue(labelValue); + pcLabelFactory.setLableUseing("0"); + return pcLabelFactory; + } + /** + 获取对应标签的值 + */ + private String getLabelValue(SimpleSRaFactoryTransferRateAnalysis record){ + BigDecimal analyseValue = getAnalyseValue(record); + return getInterval(analyseValue); + } + + /** + * 判断值处于什么区间 获取对应标签值的code + */ + public static String getInterval(BigDecimal value){ + if (value == null){ + return LabelValueEnum.CODE_1001.getArgumentsCode(); + } + if (new BigDecimal(50).compareTo(value) >= 0){ + return LabelValueEnum.CODE_1001.getArgumentsCode(); + } + if (new BigDecimal(50).compareTo(value) < 0 && new BigDecimal(75).compareTo(value) >= 0){ + return LabelValueEnum.CODE_1002.getArgumentsCode(); + } + if (new BigDecimal(75).compareTo(value) < 0){ + return LabelValueEnum.CODE_1003.getArgumentsCode(); + } + return LabelValueEnum.CODE_1001.getArgumentsCode(); + } + + /** + * 获取要对应行业 传输率的 标签code + */ + protected abstract String getLabelCode(); + + /** + * 获取要分析的值 + */ + protected abstract BigDecimal getAnalyseValue(SimpleSRaFactoryTransferRateAnalysis entity); + + /** + * 查询所有需要分析的数据均值 根据企业id分过组 多大条数也就是拥有企业的条数了 + * @return + */ + protected abstract List getDataList(); + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/WorkingConditionsAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/WorkingConditionsAnalyseService.java new file mode 100644 index 0000000..38fc44a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/data/analyse/task/transfer/rate/WorkingConditionsAnalyseService.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.data.analyse.task.transfer.rate; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.List; + +/** + * @author hehongyu + * @description: 关联分析系统-数据质量分析-企业传输率分析-工况 + * @date 2023/6/27 23:06 + */ +@Slf4j +@Service +public class WorkingConditionsAnalyseService extends TransferRateAbstractService { + + @Autowired + private SRaFactoryTransferRateAnalysisMapper mapper; + + @Override + protected String getLabelCode() { + return LabelFactoryEnum.JG052.getEnumId(); + } + + @Override + protected BigDecimal getAnalyseValue(SimpleSRaFactoryTransferRateAnalysis entity) { + return entity.getDcsTransmissionRate(); + } + + @Override + protected List getDataList() { + //利用mysql 函数 查询本年的 日平均传输率 + Calendar instance = Calendar.getInstance(); + instance.set(Calendar.YEAR,instance.get(Calendar.YEAR) - 1); + return mapper.selectAvgRateByDateTimeGroupFactoryId(DateUtil.format(instance.getTime(), DateUtils.YYYY),TimeTypeEnum.YEAR.getCode()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AiDeepModelResult.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AiDeepModelResult.java new file mode 100644 index 0000000..d9d88e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AiDeepModelResult.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + +/** + * 产治排模型结果对象 m_ai_deep_model_result + */ +@ApiModel(value = "产治排模型结果") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_ai_deep_model_result") +public class AiDeepModelResult extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "DCS设备id") + private String deviceId; + + @ApiModelProperty(value = "在线监测排口id") + private String outletId; + + @ApiModelProperty(value = "数据时间") + private Date dataTime; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "行业") + private String industry; + + @ApiModelProperty(value = "设备类型") + private String deviceType; + + @ApiModelProperty(value = "氧含量预测值") + private String o3Predict; + + @ApiModelProperty(value = "颗粒物预测值") + private String pmPredict; + + @ApiModelProperty(value = "氮氧化物预测值") + private String noxPredict; + + @ApiModelProperty(value = "二氧化硫预测值") + private String so2Predict; + + @ApiModelProperty(value = "废气排放量预测值") + private String oxygenPredict; + + @ApiModelProperty(value = "氧含量预测上限") + private String o3UpLim; + + @ApiModelProperty(value = "颗粒物预测上限") + private String pmUpLim; + + @ApiModelProperty(value = "氮氧化物预测上限") + private String noxUpLim; + + + @ApiModelProperty(value = "二氧化硫预测上限") + private String so2UpLim; + + + @ApiModelProperty(value = "废气排放量预测上限") + private String oxygenUpLim; + + + @ApiModelProperty(value = "氧含量预测下限") + private String o3LowLim; + + + @ApiModelProperty(value = "颗粒物预测下限") + private String pmLowLim; + + + @ApiModelProperty(value = "氮氧化物预测下限") + private String noxLowLim; + + + @ApiModelProperty(value = "二氧化硫预测下限") + private String so2LowLim; + + + @ApiModelProperty(value = "废气排放量预测下限") + private String oxygenLowLim; + + + @ApiModelProperty(value = "氧含量预测KL散度") + private String o3Kld; + + + @ApiModelProperty(value = "颗粒物预测KL散度") + private String pmKld; + + + @ApiModelProperty(value = "氮氧化物预测KL散度") + private String noxKld; + + + @ApiModelProperty(value = "二氧化硫预测KL散度") + private String so2Kld; + + + @ApiModelProperty(value = "废气排放量预测KL散度") + private String oxygenKld; + + + @ApiModelProperty(value = "氧含量KL正常(1正常,2异常)") + private String o3KldNorm; + + + @ApiModelProperty(value = "颗粒物KL正常(1正常,2异常)") + private String pmKldNorm; + + + @ApiModelProperty(value = "氮氧化物KL正常(1正常,2异常)") + private String noxKldNorm; + + + @ApiModelProperty(value = "二氧化硫KL正常(1正常,2异常)") + private String so2KldNorm; + + + @ApiModelProperty(value = "废气排放量KL正常(1正常,2异常)") + private String oxygenKldNorm; + + + @ApiModelProperty(value = "数据插入时间") + private Date dataInsertTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmDoorMonitorAccountFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmDoorMonitorAccountFi.java new file mode 100644 index 0000000..79a6332 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmDoorMonitorAccountFi.java @@ -0,0 +1,118 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +/** + * 门禁监控对象 m_am_door_monitor_account_fi + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "门禁监控") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_door_monitor_account_fi") +public class AmDoorMonitorAccountFi extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ +// @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "车牌号码") + /** 车牌号码*/ + @Excel(name = "车牌号码") + private String lpnCode; + + + @ApiModelProperty(value = "出入类型(0-出厂, 1-进场)") + /** 出入类型*/ + @Excel(name = "出入类型", readConverterExp = "0=出厂,1=进场") + private String entryType; + + + @ApiModelProperty(value = "出入时间") + /** 出入时间*/ + @Excel(name = "出入时间") + private String entryTime; + + + @ApiModelProperty(value = "车队名称") + /** 车队名称*/ + @Excel(name = "车队名称") + private String carTeam; + + + @ApiModelProperty(value = "排放阶段") + /** 排放阶段*/ + @Excel(name = "排放阶段", readConverterExp = "I=国一,II=国二,III=国三,IV=国四,V=国五,VI=国六,NE=新能源", defaultValue = "--") + private String dischargeStage; + + + @ApiModelProperty(value = "发动机号码") + /** 发动机号码*/ + @Excel(name = "发动机号码") + private String ngineCode; + + + @ApiModelProperty(value = "货物名称") + /** 货物名称*/ + @Excel(name = "货物名称") + private String ioType; + + + @ApiModelProperty(value = "货物净重") + /** 货物净重*/ + @Excel(name = "货物净重") + private String cargoQuantity; + + + @ApiModelProperty(value = "行驶证照片") + /** 行驶证照片*/ +// @Excel(name = "行驶证照片") + private String drivingLicenseImage; + + + @ApiModelProperty(value = "随车清单") + /** 随车清单*/ +// @Excel(name = "随车清单") + private String accessoryListImage; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("lpnCode", getLpnCode()) + .append("entryType", getEntryType()) + .append("entryTime", getEntryTime()) + .append("carTeam", getCarTeam()) + .append("dischargeStage", getDischargeStage()) + .append("ngineCode", getNgineCode()) + .append("ioType", getIoType()) + .append("cargoQuantity", getCargoQuantity()) + .append("drivingLicenseImage", getDrivingLicenseImage()) + .append("accessoryListImage", getAccessoryListImage()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFi.java new file mode 100644 index 0000000..5eb55cf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFi.java @@ -0,0 +1,183 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +import java.math.BigDecimal; +import java.util.Date; + +@ApiModel(value = "预警报警信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_problem_fi") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AmProblemFi extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键id") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统") + private String problemSources; + + @ApiModelProperty(value = "问题分类 关联pc_ra_problem_type表主键") + private String problemType; + + @ApiModelProperty(value = "问题说明") + private String problemDetails; + + @ApiModelProperty(value = "开始时间") + /** 开始时间*/ + @Excel(name = "开始时间") + private String problemStartTime; + + + @ApiModelProperty(value = "截止时间") + /** 截止时间*/ + @Excel(name = "截止时间") + private String problemEndTime; + + + @ApiModelProperty(value = "处理状态") + /** 处理状态*/ + @Excel(name = "处理状态(1待处理 、2 已处理)") + private String problemTreatmentState; + + + @ApiModelProperty(value = "处理结果") + /** 处理结果*/ + @Excel(name = "处理结果") + private String problemTreatmentStructure; + + + @ApiModelProperty(value = "详情") + /** 详情*/ + @Excel(name = "详情") + private String details; + @ApiModelProperty(value = "监测点位名称") + private String stationName; + + @ApiModelProperty(value = "参数名称") + private String paramName; + + @ApiModelProperty(value = "反馈时间") + private String feedbackDate; + + @ApiModelProperty(value = "反馈描述") + private String feedbackDesc; + + @ApiModelProperty(value = "分析时间") + private Date analyseTime; + + @ApiModelProperty(value = "分析时间结束") + private Date analyseTimeEnd; + + @ApiModelProperty(value = "超标突变次数 问题分类为”浓度突变“专有字段") + private String overSuddenCount; + + @ApiModelProperty(value = "设备名称 问题分类为”数据缺失“专有字段") + private String deviceName; + + @ApiModelProperty(value = "视频点位名称 问题分类为”无组织排放视频“专有字段") + private String videoPointName; + + @ApiModelProperty(value = "无组织监控点位名称 问题分类为”无组织排放视频“专有字段") + private String monitorPointName; + + @ApiModelProperty(value = "监测点位id。可能是排口id、设备id,根据问题分类判断") + private String stationId; + + @ApiModelProperty(value = "参数名称对应的类属性。气排口在线监测物属性见SEnvGasMonReal类,水排口在线监测属性见SEnvWaterMonReal类,工况数据监测属性见bas_param表param_code_svc字段") + private String paramProperty; + + @ApiModelProperty(value = "类型 0-预警,1-报警") + private Integer type; + + @ApiModelProperty(value = "模型分析结果验证-备注说明") + private String modelValidDetails; + + @ApiModelProperty(value = "模型分析结果验证-反馈人") + private String modelValidPerson; + + @ApiModelProperty(value = "模型分析结果验证-办理时间") + private String modelValidTime; + + @ApiModelProperty(value = "模型分析结果验证-数据库问题真假") + private String modelValidDb; + + @ApiModelProperty(value = "模型分析结果验证-数据库问题真假") + private String modelValidVideo; + + @ApiModelProperty(value = "预测上限") + private String predictUpperLimit; + + @ApiModelProperty(value = "预测下限") + private String predictLowerLimit; + + @ApiModelProperty(value = "问题关联的额外数据 json格式,见数据库字段说明") + private String extra; + + @ApiModelProperty(value = "问题关联的产治排数据 json格式") + private String extraCzp; + + @ApiModelProperty(value = "污染物来源 1废气、2废水 3 视频 可为空") + private String pollutantSourceAi; + + private String inputStartTime; + private String inputEndTime; + private String dataType; + + private BigDecimal meanBefore; + private BigDecimal meanAfter; + + + @ApiModelProperty(value = "问题状态:100:初始化/待签收,200:待整改,300:待审核,400:审核不通过,500:已办结/已签收") + private String problemStatus; + + @ApiModelProperty(value = "整改期限开始时间") + private Date rectifyLimitStartTime; + + @ApiModelProperty(value = "整改期限结束时间") + private Date rectifyLimitEndTime; + + @ApiModelProperty(value = "整改完成时间") + private Date rectifyTime; + + @ApiModelProperty(value = "签收完成时间") + private Date signTime; + + @ApiModelProperty(value = "问题审核人类型:1:值守,2:执法") + private String problemAuditType; + + @ApiModelProperty(value = "流程ID") + private String flownodeId; + + @ApiModelProperty(value = "是否展示") + private String isShow; + + @ApiModelProperty(value = "问题原因说明") + private String problemCause; + @ApiModelProperty(value = "问题原因附件") + private String problemCauseFile; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "问题原因时间") + private Date problemCauseTime; + @ApiModelProperty(value = "整改期限(天)") + private Integer rectifyLimitSum; +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiProcess.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiProcess.java new file mode 100644 index 0000000..62b1266 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiProcess.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author liyongbing + * @since 2023-06-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_problem_fi_process") +@ApiModel(value="AmProblemFiProcess对象", description="") +public class AmProblemFiProcess extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键id") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "报警id") + private String problemId; + + @ApiModelProperty(value = "处理类型:1:整改要求,2:整改信息填写,3:整改审核信息") + private String processType; + + @ApiModelProperty(value = "处理类型:1:整改要求,2:整改信息填写,3:整改审核信息") + private String processTypeDesc; + + @ApiModelProperty(value = "处理用户id") + private String processUserId; + + @ApiModelProperty(value = "处理用户名") + private String processUserName; + + @ApiModelProperty(value = "问题审核人类型:1:值守,2:执法") + private String problemAuditType; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改期限开始时间") + private Date rectifyLimitStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改期限结束时间") + private Date rectifyLimitEndTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改完成时间") + private Date rectifyTime; + + @ApiModelProperty(value = "整改描述") + private String rectifyRemark; + + @ApiModelProperty(value = "整改附件") + private String rectifyFile; + + @ApiModelProperty(value = "审核结果:1:通过,2:不通过") + private String auditResult; + + @ApiModelProperty(value = "审核不通过原因") + private String failReason; + + @ApiModelProperty(value = "审核备注") + private String auditRemark; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "流程ID") + private String flownodeId; + + + private Integer rectifyLimitSum; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiRatio.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiRatio.java new file mode 100644 index 0000000..70b4fdd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmProblemFiRatio.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 预警报警信息-预警比例定制对象 m_am_problem_fi_ratio + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "预警报警信息-预警比例定制") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_problem_fi_ratio") +public class AmProblemFiRatio +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测点位id") + /** 监测点位id */ + @Excel(name = "监测点位id") + private String stationId; + + + @ApiModelProperty(value = "污染物id") + /** 污染物id */ + @Excel(name = "污染物id") + private String pollId; + + + @ApiModelProperty(value = "预警比例") + /** 预警比例 */ + @Excel(name = "预警比例") + private String problemRatio; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("stationId", getStationId()) + .append("pollId", getPollId()) + .append("problemRatio", getProblemRatio()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmVideoDevFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmVideoDevFi.java new file mode 100644 index 0000000..cc15873 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AmVideoDevFi.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.math.BigInteger; + + +/** + * 视频监控对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "视频监控") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_video_dev_fi") +public class AmVideoDevFi extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + + @ApiModelProperty(value = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "摄像头ID") + private String devId; + + + @ApiModelProperty(value = "摄像头名称") + private String devName; + + + @ApiModelProperty(value = "摄像头内部编号") + private String devInsideCode; + + + @ApiModelProperty(value = "验证码") + private String devCode; + + + @ApiModelProperty(value = "型号") + private String model; + + + @ApiModelProperty(value = "通道号") + private String modelRoad; + + + @ApiModelProperty(value = "安装位置") + private String location; + + + @ApiModelProperty(value = "经度(地图)") + private BigDecimal lonMap; + + + @ApiModelProperty(value = "纬度(地图)") + private BigDecimal latMap; + + @ApiModelProperty(value = "备注说明") + private String descrAny; + + @ApiModelProperty(value = "视频分组名称,名称一样的属于同一个分组") + private String devType; + + @ApiModelProperty(value = "设备id,用于视频来源于GB28181") + private String gbsDeviceId; + + @ApiModelProperty(value = "设备通道id,用于视频来源于GB28181") + private String channelId; + + @ApiModelProperty(value = "摄像头状态 1:在线, 2:离线") + private String status; + + @ApiModelProperty("排口id") + private String outletId; + + @ApiModelProperty("设备来源 1:GB28181, 2:污染源动态管控") + private String devSource; + + @ApiModelProperty("站房mn") + private String stationBuildingMn; + + @ApiModelProperty("对应排污许可生产设施id") + private String deviceId; + + @ApiModelProperty("对应排污许可生产设施名称") + @TableField(exist = false) + private String deviceName; + + @ApiModelProperty("对应排污许可生产设施编号") + @TableField(exist = false) + private String deviceCode; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AppVersionAddressManagement.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AppVersionAddressManagement.java new file mode 100644 index 0000000..978acaa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/AppVersionAddressManagement.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="app_version_address_management对象", description="app版本管理表") +@TableName("app_version_address_management") +public class AppVersionAddressManagement { + + /**主键*/ + @TableId(type = IdType.UUID) + @ApiModelProperty(value = "主键") + private String id; + /**下载地址*/ + @Excel(name = "下载地址") + @ApiModelProperty(value = "下载地址") + private String downloadUrl; + /**log图片地址*/ + @Excel(name = "log图片地址") + @ApiModelProperty(value = "log图片地址") + private String logImgUrl; + /**相对的文件地址*/ + @Excel(name = "相对的文件地址") + @ApiModelProperty(value = "相对的文件地址") + private String downloadRelativelyUrl; + /**版本号*/ + @Excel(name = "版本号") + @ApiModelProperty(value = "版本号") + private String versionName; + /**更新提示语*/ + @Excel(name = "更新提示语") + @ApiModelProperty(value = "更新提示语") + private String updateHint; + /**是否强制更新 0 否 1是*/ + @Excel(name = "是否强制更新 0 否 1是") + @ApiModelProperty(value = "是否强制更新 0 否 1是") + private Integer isForcedUpdate; + /**是否生产 0: 测试 1: 生产*/ + @Excel(name = "是否生产 0: 测试 1: 生产") + @ApiModelProperty(value = "是否生产 0: 测试 1: 生产") + private Integer isDebug; + /**0 正常 1 删除 2禁用 3测试*/ + @Excel(name = "0 正常 1 删除 2禁用 3测试") + @ApiModelProperty(value = "0 正常 1 删除 2禁用 3测试") + private Integer status; + /**添加时间*/ + @ApiModelProperty(value = "添加时间") + private java.util.Date addTime; + /**修改时间*/ + @ApiModelProperty(value = "修改时间") + private java.util.Date updateTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrBusinessAlerts.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrBusinessAlerts.java new file mode 100644 index 0000000..9325f05 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrBusinessAlerts.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * 通知提醒-业务提醒对象 b_enterprise_ir_business_alerts + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-业务提醒") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_business_alerts") +public class BEnterpriseIrBusinessAlerts extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "通知提醒主键") + /** id */ + @TableId(value = "business_id",type = IdType.AUTO) + private Long businessId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "业务类型") + /** 业务类型 */ + @Excel(name = "业务类型") + private String businessType; + + + @ApiModelProperty(value = "提醒内容") + /** 提醒内容 */ + @Excel(name = "提醒内容") + private String businessDetails; + + + @ApiModelProperty(value = "提醒日期") + /** 提醒日期 */ + @Excel(name = "提醒日期", dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date businessTime; + + + @ApiModelProperty(value = "阅读状态(0-未读, 1-已读)") + /** 阅读状态(0-未读, 1-已读) */ + @Excel(name = "阅读状态", readConverterExp="0=未读,1=已读") + private String status; + + @ApiModelProperty(value = "是否删除(0-否,1-是)") + private String delFlag; + + @ApiModelProperty(value = "创建者") + private String createBy; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "更新者") + private String updateBy; + + @ApiModelProperty(value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEes.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEes.java new file mode 100644 index 0000000..d007057 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEes.java @@ -0,0 +1,99 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 知识库-生态环境标准对象 b_enterprise_ir_ees + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_ees") +public class BEnterpriseIrEes extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + private String id; + + + @ApiModelProperty(value = "标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。") + /** 标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。 */ + @Excel(name = "标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。") + private String eesClassify; + + + @ApiModelProperty(value = "标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;...") + /** 标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;... */ + @Excel(name = "标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;...") + private String eesType; + + + @ApiModelProperty(value = "标准名称") + /** 标准名称 */ + @Excel(name = "标准名称") + private String eesName; + + + @ApiModelProperty(value = "标准标题") + /** 标准标题 */ + @Excel(name = "标准标题") + private String eesTitle; + + + @ApiModelProperty(value = "标准内容") + /** 标准内容 */ + @Excel(name = "标准内容") + private String eesDetails; + + + @ApiModelProperty(value = "标准附件名称") + /** 标准附件名称 */ + @Excel(name = "标准附件名称") + private String eesFileName; + + + @ApiModelProperty(value = "标准附件url") + /** 标准附件url */ + @Excel(name = "标准附件url") + private String eesFileUrl; + + + @ApiModelProperty(value = "标准实施时间") + /** 标准实施时间 */ + @Excel(name = "标准实施时间") + private String eesTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("eesClassify", getEesClassify()) + .append("eesType", getEesType()) + .append("eesName", getEesName()) + .append("eesTitle", getEesTitle()) + .append("eesDetails", getEesDetails()) + .append("eesFileName", getEesFileName()) + .append("eesFileUrl", getEesFileUrl()) + .append("eesTime", getEesTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEesType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEesType.java new file mode 100644 index 0000000..b2affd1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrEesType.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.List; + + +/** + * 知识库-生态环境标准-分类对象 b_enterprise_ir_ees_type + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准-分类") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_ees_type") +public class BEnterpriseIrEesType +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + private String id; + + + @ApiModelProperty(value = "分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102") + /** 分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102 */ + @Excel(name = "分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102") + private String eesClassify; + + + @ApiModelProperty(value = "分类名称") + /** 分类名称 */ + @Excel(name = "分类名称") + private String eesType; + + + @ApiModelProperty(value = "分类级别") + /** 分类级别 */ + @Excel(name = "分类级别") + private String eesName; + + + @ApiModelProperty(value = "分类父编码,主类父编码默认为0") + /** 分类父编码,主类父编码默认为0 */ + @Excel(name = "分类父编码,主类父编码默认为0") + private String eesTitle; + + @TableField(exist = false) + private List children; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("eesClassify", getEesClassify()) + .append("eesType", getEesType()) + .append("eesName", getEesName()) + .append("eesTitle", getEesTitle()) + .append("children", getChildren()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrLegal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrLegal.java new file mode 100644 index 0000000..8c77c3c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrLegal.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 知识库-法律法规对象 b_enterprise_ir_legal + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-法律法规") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_legal") +public class BEnterpriseIrLegal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + private String id; + + + @ApiModelProperty(value = "法律法规分类") + /** 法律法规分类 */ + @Excel(name = "法律法规分类") + private String legalType; + + + @ApiModelProperty(value = "法律法规名称") + /** 法律法规名称 */ + @Excel(name = "法律法规名称") + private String legalName; + + + @ApiModelProperty(value = "法律法规标题") + /** 法律法规标题 */ + @Excel(name = "法律法规标题") + private String legalTitle; + + + @ApiModelProperty(value = "法律法规内容") + /** 法律法规内容 */ + @Excel(name = "法律法规内容") + private String legalDetails; + + + @ApiModelProperty(value = "法律法规附件名称") + /** 法律法规附件名称 */ + @Excel(name = "法律法规附件名称") + private String legalFileName; + + + @ApiModelProperty(value = "法律法规附件url") + /** 法律法规附件url */ + @Excel(name = "法律法规附件url") + private String legalFileUrl; + + + @ApiModelProperty(value = "发布时间") + /** 发布时间 */ + @Excel(name = "发布时间") + private String legalTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("legalType", getLegalType()) + .append("legalName", getLegalName()) + .append("legalTitle", getLegalTitle()) + .append("legalDetails", getLegalDetails()) + .append("legalFileName", getLegalFileName()) + .append("legalFileUrl", getLegalFileUrl()) + .append("legalTime", getLegalTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrNotifierproNotice.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrNotifierproNotice.java new file mode 100644 index 0000000..56e852a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrNotifierproNotice.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * 通知提醒-通知公告对象 b_enterprise_ir_notifierpro_notice + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-通知公告") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_notifierpro_notice") +@ToString +public class BEnterpriseIrNotifierproNotice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "通知公告主键") + /** $column.columnComment */ + @TableId(value = "notice_id",type = IdType.ASSIGN_ID) + private Long noticeId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "公告类型") + /** 公告类型 */ + @Excel(name = "公告类型") + private String announcementType; + + + @ApiModelProperty(value = "公告标题") + /** 公告标题 */ + @Excel(name = "公告标题") + private String announcementTitle; + + + @ApiModelProperty(value = "公告内容") + /** 公告内容 */ + @Excel(name = "公告内容") + private String announcementDetails; + + + @ApiModelProperty(value = "公告发布时间") + /** 公告发布时间 */ + @Excel(name = "公告发布时间", dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date announcementTime; + + @ApiModelProperty(value = "阅读状态(0-未读, 1-已读)") + /** 阅读状态(0-未读, 1-已读) */ + @Excel(name = "阅读状态", readConverterExp="0=未读,1=已读") + private String status; + + @ApiModelProperty(value = "是否删除(0-否,1-是)") + private String delFlag; + + @ApiModelProperty(value = "创建者") + private String createBy; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "更新者") + private String updateBy; + + @ApiModelProperty(value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrSdoept.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrSdoept.java new file mode 100644 index 0000000..98cf93d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseIrSdoept.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 知识库-排污治理科普库对象 b_enterprise_ir_sdoept + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-排污治理科普库") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_ir_sdoept") +public class BEnterpriseIrSdoept extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + private String id; + + + @ApiModelProperty(value = "排污治理科普库分类") + /** 排污治理科普库分类 */ + @Excel(name = "排污治理科普库分类") + private String sdoeptType; + + + @ApiModelProperty(value = "排污治理科普库名称") + /** 排污治理科普库名称 */ + @Excel(name = "排污治理科普库名称") + private String sdoeptName; + + + @ApiModelProperty(value = "排污治理科普库标题") + /** 排污治理科普库标题 */ + @Excel(name = "排污治理科普库标题") + private String sdoeptTitle; + + + @ApiModelProperty(value = "排污治理科普库内容") + /** 排污治理科普库内容 */ + @Excel(name = "排污治理科普库内容") + private String sdoeptDetails; + + + @ApiModelProperty(value = "排污治理科普库附件名称") + /** 排污治理科普库附件名称 */ + @Excel(name = "排污治理科普库附件名称") + private String sdoeptFileName; + + + @ApiModelProperty(value = "排污治理科普库附件url") + /** 排污治理科普库附件url */ + @Excel(name = "排污治理科普库附件url") + private String sdoeptFileUrl; + + + @ApiModelProperty(value = "实施时间") + /** 实施时间 */ + @Excel(name = "实施时间") + private String sdoeptTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("sdoeptType", getSdoeptType()) + .append("sdoeptName", getSdoeptName()) + .append("sdoeptTitle", getSdoeptTitle()) + .append("sdoeptDetails", getSdoeptDetails()) + .append("sdoeptFileName", getSdoeptFileName()) + .append("sdoeptFileUrl", getSdoeptFileUrl()) + .append("sdoeptTime", getSdoeptTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessment.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessment.java new file mode 100644 index 0000000..d6223f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessment.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 企业风险评估 + */ +@ApiModel(value="企业风险评估") +@Data +@ToString +@EqualsAndHashCode(callSuper=true) +public class BEnterpriseRiskAssessment extends BaseEntity { + /** + * 风险评估主键 + */ + @ApiModelProperty(value="风险评估主键") + @TableId(value = "risk_id",type = IdType.AUTO) + private Long riskId; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + /** + * 分值 + */ + @ApiModelProperty(value="分值") + private BigDecimal score = BigDecimal.ZERO; + + /** + * 风险等级(低风险企业,中风险企业,高风险企业) + */ + @ApiModelProperty(value="风险等级(低风险企业,中风险企业,高风险企业)") + private String grade = "低风险企业"; + + /** + * 近一个月在线监测超标次数 + */ + @ApiModelProperty(value="近一个月在线监测超标次数") + private Integer highestNumber = 0; + + /** + * 近一个月在线监测预警次数 + */ + @ApiModelProperty(value="近一个月在线监测预警次数") + private Integer onlineWarningNumber = 0; + + /** + * 近一个月分表计电预警次数 + */ + @ApiModelProperty(value="近一个月分表计电预警次数") + private Integer fbjdWarningNumber = 0; + + /** + * 近一个月执法发现问题次数 + */ + @ApiModelProperty(value="近一个月执法发现问题次数") + private Integer problemNumber = 0; + + /** + * 近一个月整改未落实次数 + */ + @ApiModelProperty(value="近一个月整改未落实次数") + private Integer practicableNumber = 0; + + /** + * 近一个月未落实管控次数 + */ + @ApiModelProperty(value="近一个月未落实管控次数") + private Integer controlNumber = 0; + + /** + * 近一个月数据传输率 + */ + @ApiModelProperty(value="近一个月数据传输率") + private BigDecimal dataRateNumber = BigDecimal.ZERO; + + /** + * 近一个月污染物排放大户 + */ + @ApiModelProperty(value="近一个月污染物排放大户") + private String dischargePollutants; + + /** + * 是否今日重点关注企业(否,是) + */ + @ApiModelProperty(value="是否今日重点关注企业(否,是)") + private String dayFollow = "否"; + + /** + * 创建人 + */ + @ApiModelProperty(value="创建人") + private String createBy; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ApiModelProperty(value="更新人") + private String updateBy; + + /** + * 更新时间 + */ + @ApiModelProperty(value="更新时间") + private Date updateTime; + + public String getDischargePollutants() { + return dischargePollutants == null ? "" : dischargePollutants; + } + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessmentLast.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessmentLast.java new file mode 100644 index 0000000..c5b0386 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BEnterpriseRiskAssessmentLast.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 企业风险评估对象 b_enterprise_risk_assessment_last + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "企业风险评估") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_enterprise_risk_assessment_last") +public class BEnterpriseRiskAssessmentLast extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "风险评估主键") + /** 风险评估主键 */ + @TableId(value = "risk_id",type = IdType.AUTO) + private Long riskId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + @ApiModelProperty(value = "业务ID") + /** 业务ID */ + private String businessId; + + @ApiModelProperty(value = "当前存在问题") + /** 当前存在问题 */ + @Excel(name = "当前存在问题") + private String problemExist; + + @ApiModelProperty(value = "数量") + /** 数量 */ + @Excel(name = "数量") + private Integer problemNumber; + + @ApiModelProperty(value = "扣分") + /** 扣分 */ + @Excel(name = "扣分") + private Integer score; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "是否多次扣分,0-不多次扣分,1-多次扣分") + private Integer isRepeatedGrade; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("riskId", getRiskId()) + .append("factoryId", getFactoryId()) + .append("problemExist", getProblemExist()) + .append("problemNumber", getProblemNumber()) + .append("score", getScore()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("isRepeatedGrade", getIsRepeatedGrade()) + .append("businessId", getBusinessId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainActionReports.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainActionReports.java new file mode 100644 index 0000000..0bbdf7e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainActionReports.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 执行报告对象 b_main_action_reports + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "执行报告") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_action_reports") +public class BMainActionReports extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "报告类型") + /** 报告类型*/ + @Excel(name = "报告类型") + private String reportsType; + + + @ApiModelProperty(value = "报告期") + /** 报告期*/ + @Excel(name = "报告期") + private String reportsTime; + + + @ApiModelProperty(value = "执行报告") + /** 执行报告*/ + @Excel(name = "执行报告") + private String reportsFile; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("reportsType", getReportsType()) + .append("reportsTime", getReportsTime()) + .append("reportsFile", getReportsFile()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionAir.java new file mode 100644 index 0000000..db5f456 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionAir.java @@ -0,0 +1,174 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 总许可量-大气排放总许可量要求对象 b_main_allowable_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量-大气排放总许可量要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_allowable_pollution_air") +public class BMainAllowablePollutionAir extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id + */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id + */ + private String factoryId; + + + @ApiModelProperty(value = "许可证id") + /** 许可证id */ + @Excel(name = "许可证id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + @TableField(exist = false) + private String pollName; + + + @ApiModelProperty(value = "全厂有组织排放总计-第一年") + /** 全厂有组织排放总计-第一年 */ + @Excel(name = "全厂有组织排放总计-第一年") + private String organizedFrist; + + + @ApiModelProperty(value = "全厂有组织排放总计-第二年") + /** 全厂有组织排放总计-第二年 */ + @Excel(name = "全厂有组织排放总计-第二年") + private String organizedSecond; + + + @ApiModelProperty(value = "全厂有组织排放总计-第三年") + /** 全厂有组织排放总计-第三年 */ + @Excel(name = "全厂有组织排放总计-第三年") + private String organizedThird; + + + @ApiModelProperty(value = "全厂有组织排放总计-第四年") + /** 全厂有组织排放总计-第四年 */ + @Excel(name = "全厂有组织排放总计-第四年") + private String organizedFourth; + + + @ApiModelProperty(value = "全厂有组织排放总计-第五年") + /** 全厂有组织排放总计-第五年 */ + @Excel(name = "全厂有组织排放总计-第五年") + private String organizedFifth; + + + @ApiModelProperty(value = "全厂无组织排放总计-第一年") + /** 全厂无组织排放总计-第一年 */ + @Excel(name = "全厂无组织排放总计-第一年") + private String inorganizationFrist; + + + @ApiModelProperty(value = "全厂无组织排放总计-第二年") + /** 全厂无组织排放总计-第二年 */ + @Excel(name = "全厂无组织排放总计-第二年") + private String inorganizationSecond; + + + @ApiModelProperty(value = "全厂无组织排放总计-第三年") + /** 全厂无组织排放总计-第三年 */ + @Excel(name = "全厂无组织排放总计-第三年") + private String inorganizationThird; + + + @ApiModelProperty(value = "全厂无组织排放总计-第四年") + /** 全厂无组织排放总计-第四年 */ + @Excel(name = "全厂无组织排放总计-第四年") + private String inorganizationFourth; + + + @ApiModelProperty(value = "全厂无组织排放总计-第五年") + /** 全厂无组织排放总计-第五年 */ + @Excel(name = "全厂无组织排放总计-第五年") + private String inorganizationFifth; + + + @ApiModelProperty(value = "全厂合计-第一年") + /** 全厂合计-第一年 */ + @Excel(name = "全厂合计-第一年") + private String totalFrist; + + + @ApiModelProperty(value = "全厂合计-第二年") + /** 全厂合计-第二年 */ + @Excel(name = "全厂合计-第二年") + private String totalSecond; + + + @ApiModelProperty(value = "全厂合计-第三年") + /** 全厂合计-第三年 */ + @Excel(name = "全厂合计-第三年") + private String totalThird; + + + @ApiModelProperty(value = "全厂合计-第四年") + /** 全厂合计-第四年 */ + @Excel(name = "全厂合计-第四年") + private String totalFourth; + + + @ApiModelProperty(value = "全厂合计-第五年") + /** 全厂合计-第五年 */ + @Excel(name = "全厂合计-第五年") + private String totalFifth; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutionCategory", getPollutionCategory()) + .append("organizedFrist", getOrganizedFrist()) + .append("organizedSecond", getOrganizedSecond()) + .append("organizedThird", getOrganizedThird()) + .append("organizedFourth", getOrganizedFourth()) + .append("organizedFifth", getOrganizedFifth()) + .append("inorganizationFrist", getInorganizationFrist()) + .append("inorganizationSecond", getInorganizationSecond()) + .append("inorganizationThird", getInorganizationThird()) + .append("inorganizationFourth", getInorganizationFourth()) + .append("inorganizationFifth", getInorganizationFifth()) + .append("totalFrist", getTotalFrist()) + .append("totalSecond", getTotalSecond()) + .append("totalThird", getTotalThird()) + .append("totalFourth", getTotalFourth()) + .append("totalFifth", getTotalFifth()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionWater.java new file mode 100644 index 0000000..5a153c1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainAllowablePollutionWater.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 总许可量- 废水排放总许可量要求对象 b_main_allowable_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量- 废水排放总许可量要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_allowable_pollution_water") +public class BMainAllowablePollutionWater extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id + */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id + */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "许可证id") + /** 许可证id */ + @Excel(name = "许可证id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "申请年排放量限值-第一年") + /** 申请年排放量限值-第一年 */ + @Excel(name = "申请年排放量限值-第一年") + private String applyFrist; + + + @ApiModelProperty(value = "申请年排放量限值-第二年") + /** 申请年排放量限值-第二年 */ + @Excel(name = "申请年排放量限值-第二年") + private String applySecond; + + + @ApiModelProperty(value = "申请年排放量限值-第三年") + /** 申请年排放量限值-第三年 */ + @Excel(name = "申请年排放量限值-第三年") + private String applyThird; + + + @ApiModelProperty(value = "申请年排放量限值-第四年") + /** 申请年排放量限值-第四年 */ + @Excel(name = "申请年排放量限值-第四年") + private String applyFourth; + + + @ApiModelProperty(value = "申请年排放量限值-第五年") + /** 申请年排放量限值-第五年 */ + @Excel(name = "申请年排放量限值-第五年") + private String applyFifth; + + + @ApiModelProperty(value = "申请特殊时段排放量限值") + /** 申请特殊时段排放量限值 */ + @Excel(name = "申请特殊时段排放量限值") + private String applyDischargeLimitingValue; + + @TableField(exist = false) + private String pollName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutionCategory", getPollutionCategory()) + .append("applyFrist", getApplyFrist()) + .append("applySecond", getApplySecond()) + .append("applyThird", getApplyThird()) + .append("applyFourth", getApplyFourth()) + .append("applyFifth", getApplyFifth()) + .append("applyDischargeLimitingValue", getApplyDischargeLimitingValue()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonAir.java new file mode 100644 index 0000000..7da38b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonAir.java @@ -0,0 +1,161 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 企业排放信息-在线监测排放趋势-废气对象 b_main_emission_online_mon_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废气") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_online_mon_air") +public class BMainEmissionOnlineMonAir extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String monName; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutionType; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd HH") + private Date monitoningTime; + + + @ApiModelProperty(value = "浓度小时均值") + /** 浓度小时均值 */ + @Excel(name = "浓度小时均值") + private String meanConcentrationHour; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String meanUnit; + + + @ApiModelProperty(value = "烟气流量(m3/h)") + /** 烟气流量(m3/h) */ + @Excel(name = "烟气流量(m3/h)") + private String flueGasFlowRate; + + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + @Excel(name = "污染物排放量(kg)") + private String pollutionDischarge; + + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + @Excel(name = "是否有效", readConverterExp="0=否,1=是") + private String whetherEffective; + + + @ApiModelProperty(value = "修约排放量(kg)") + /** 修约排放量(kg) */ + @Excel(name = "修约排放量(kg)") + private String revisingDischarge; + + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + @Excel(name = "修约说明") + private String revisingExplain; + + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + @Excel(name = "纳入计算排放量(kg)") + private String inclusionCalculationDischarge; + + @ApiModelProperty(value = "标记说明:N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + @Excel(name = "标记说明") + private String tagExplain; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("monName", getMonName()) + .append("pollutionCategory", getPollutionCategory()) + .append("outletCode", getOutletCode()) + .append("outletType", getOutletType()) + .append("pollutionType", getPollutionType()) + .append("monitoningTime", getMonitoningTime()) + .append("meanConcentrationHour", getMeanConcentrationHour()) + .append("meanUnit", getMeanUnit()) + .append("flueGasFlowRate", getFlueGasFlowRate()) + .append("pollutionDischarge", getPollutionDischarge()) + .append("whetherEffective", getWhetherEffective()) + .append("revisingDischarge", getRevisingDischarge()) + .append("revisingExplain", getRevisingExplain()) + .append("inclusionCalculationDischarge", getInclusionCalculationDischarge()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonWater.java new file mode 100644 index 0000000..5739e06 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionOnlineMonWater.java @@ -0,0 +1,161 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 企业排放信息-在线监测排放趋势-废水对象 b_main_emission_online_mon_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废水") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_online_mon_water") +public class BMainEmissionOnlineMonWater extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String monName; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutionType; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date monitoningTime; + + + @ApiModelProperty(value = "浓度日均值") + /** 浓度日均值 */ + @Excel(name = "浓度日均值") + private String meanConcentrationDay; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String meanUnit; + + + @ApiModelProperty(value = "烟气流量(m3/h)") + /** 烟气流量(m3/h) */ + @Excel(name = "烟气流量(m3/h)") + private String flueGasFlowRate; + + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + @Excel(name = "污染物排放量(kg)") + private String pollutionDischarge; + + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + @Excel(name = "是否有效", readConverterExp="0=否,1=是") + private String whetherEffective; + + + @ApiModelProperty(value = "修约排放量(kg)") + /** 修约排放量(kg) */ + @Excel(name = "修约排放量(kg)") + private String revisingDischarge; + + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + @Excel(name = "修约说明") + private String revisingExplain; + + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + @Excel(name = "纳入计算排放量(kg)") + private String inclusionCalculationDischarge; + + @ApiModelProperty(value = "标记说明:N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + @Excel(name = "标记说明") + private String tagExplain; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("monName", getMonName()) + .append("pollutionCategory", getPollutionCategory()) + .append("outletCode", getOutletCode()) + .append("outletType", getOutletType()) + .append("pollutionType", getPollutionType()) + .append("monitoningTime", getMonitoningTime()) + .append("meanConcentrationDay", getMeanConcentrationDay()) + .append("meanUnit", getMeanUnit()) + .append("flueGasFlowRate", getFlueGasFlowRate()) + .append("pollutionDischarge", getPollutionDischarge()) + .append("whetherEffective", getWhetherEffective()) + .append("revisingDischarge", getRevisingDischarge()) + .append("revisingExplain", getRevisingExplain()) + .append("inclusionCalculationDischarge", getInclusionCalculationDischarge()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionAir.java new file mode 100644 index 0000000..f872cc9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionAir.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废气对象 b_main_emission_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废气") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_pollution_air") +public class BMainEmissionPollutionAir extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ +// @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份 */ + @Excel(name = "年份",sort = 1) + private String pollYear; + + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ +// @Excel(name = "污染类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "数据源") + /** 数据源 */ +// @Excel(name = "数据源") + private String dataSource; + + + @ApiModelProperty(value = "SO2实际排放量") + /** SO2实际排放量 */ + @Excel(name = "SO₂实际排放量",sort = 2) + private String actuallyEmittingSo2; + + + @ApiModelProperty(value = "SO2许可排放量") + /** SO2许可排放量 */ + @Excel(name = "SO₂许可排放量",sort = 3) + private String allowableEmissionSo2; + + /** + * SO2超标百分比 + */ + @ApiModelProperty(value = "SO2超标百分比") + private BigDecimal exceedingRateSo2; + + + @ApiModelProperty(value = "NOx实际排放量") + /** NOx实际排放量 */ + @Excel(name = "NOx实际排放量",sort = 4) + private String actuallyEmittingNox; + + + @ApiModelProperty(value = "NOx许可排放量") + /** NOx许可排放量 */ + @Excel(name = "NOx许可排放量",sort = 5) + private String allowableEmissionNox; + + /** + * NOx超标百分比 + */ + @ApiModelProperty(value = "NOx超标百分比") + private BigDecimal exceedingRateNox; + + + @ApiModelProperty(value = "颗粒物实际排放量") + /** 颗粒物实际排放量 */ + @Excel(name = "颗粒物实际排放量",sort = 6) + private String actuallyEmittingPm; + + + @ApiModelProperty(value = "颗粒物许可排放量") + /** 颗粒物许可排放量 */ + @Excel(name = "颗粒物许可排放量",sort = 7) + private String allowableEmissionPm; + + /** + * Pm超标百分比 + */ + @ApiModelProperty(value = "Pm超标百分比") + private BigDecimal exceedingRatePm; + + + @ApiModelProperty(value = "VOCs实际排放量") + /** VOCs实际排放量 */ + @Excel(name = "VOCs实际排放量",sort = 8) + private String actuallyEmittingVocs; + + + @ApiModelProperty(value = "VOCs许可排放量") + /** VOCs许可排放量 */ + @Excel(name = "VOCs许可排放量",sort = 9) + private String allowableEmissionVocs; + + /** + * Vocs超标百分比 + */ + @ApiModelProperty(value = "Vocs超标百分比") + private BigDecimal exceedingRateVocs; + + @TableField(exist = false) + private String groupByField; + + @TableField(exist = false) + private String industryCategory; + + @TableField(exist = false) + private String indusName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionSolidWaste.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionSolidWaste.java new file mode 100644 index 0000000..e799f0d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionSolidWaste.java @@ -0,0 +1,121 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放信息-不同污染物年度排放趋势-固废对象 b_main_emission_pollution_solid_waste + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-固废") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_pollution_solid_waste") +public class BMainEmissionPollutionSolidWaste extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ +// @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份 */ + @Excel(name = "年份",sort = 1) + private String pollYear; + + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ +// @Excel(name = "污染类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "数据源") + /** 数据源 */ +// @Excel(name = "数据源") + private String dataSource; + + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别 */ + @Excel(name = "固体废物类别",sort = 2) + private String solidWasteType; + + + @ApiModelProperty(value = "固体废物名称") + /** 固体废物名称 */ + @Excel(name = "固体废物名称",sort = 3) + private String solidWasteName; + + + @ApiModelProperty(value = "年度计划产生量") + /** 年度计划产生量 */ + @Excel(name = "年度计划产生量",sort = 4) + private String annualPlannedOutput; + + + @ApiModelProperty(value = "年度实际产生量") + /** 年度实际产生量 */ + @Excel(name = "年度实际产生量",sort = 5) + private String annualActualProduction; + + + @ApiModelProperty(value = "年度贮存量") + /** 年度贮存量 */ + @Excel(name = "年度贮存量",sort = 6) + private String annualStorageCapacity; + + + @ApiModelProperty(value = "年度转移量") + /** 年度转移量 */ + @Excel(name = "年度转移量",sort = 7) + private String annualTransferVolume; + + + @ApiModelProperty(value = "年度自行处置利用量") + /** 年度自行处置利用量 */ + @Excel(name = "年度自行处置利用量",sort = 8) + private String annualDisposalUtilization; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollYear", getPollYear()) + .append("pollutionCategory", getPollutionCategory()) + .append("dataSource", getDataSource()) + .append("solidWasteType", getSolidWasteType()) + .append("solidWasteName", getSolidWasteName()) + .append("annualPlannedOutput", getAnnualPlannedOutput()) + .append("annualActualProduction", getAnnualActualProduction()) + .append("annualStorageCapacity", getAnnualStorageCapacity()) + .append("annualTransferVolume", getAnnualTransferVolume()) + .append("annualDisposalUtilization", getAnnualDisposalUtilization()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionWater.java new file mode 100644 index 0000000..36a51fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionPollutionWater.java @@ -0,0 +1,167 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废水对象 b_main_emission_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废水") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_pollution_water") +public class BMainEmissionPollutionWater extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ +// @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份 */ + @Excel(name = "年份",sort = 1) + private String pollYear; + + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ +// @Excel(name = "污染类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "数据源") + /** 数据源 */ +// @Excel(name = "数据源") + private String dataSource; + + + @ApiModelProperty(value = "COD实际排放量") + /** COD实际排放量 */ + @Excel(name = "COD实际排放量",sort = 2) + private String actuallyEmittingCod; + + + @ApiModelProperty(value = "COD许可排放量") + /** COD许可排放量 */ + @Excel(name = "COD许可排放量",sort = 3) + private String allowableEmissionCod; + + /** + * Cod超标百分比 + */ + @ApiModelProperty(value = "Cod超标百分比") +// @Excel(name = "Cod超标百分比") + private BigDecimal exceedingRateCod; + + + @ApiModelProperty(value = "氨氮实际排放量") + /** 氨氮实际排放量 */ + @Excel(name = "氨氮实际排放量",sort = 4) + private String actuallyEmittingNhn; + + + @ApiModelProperty(value = "氨氮许可排放量") + /** 氨氮许可排放量 */ + @Excel(name = "氨氮许可排放量",sort = 5) + private String allowableEmissionNhn; + + /** + * Nhn超标百分比 + */ + @ApiModelProperty(value = "Nhn超标百分比") +// @Excel(name = "Nhn超标百分比") + private BigDecimal exceedingRateNhn; + + + @ApiModelProperty(value = "总氮实际排放量") + /** 总氮实际排放量 */ + @Excel(name = "总氮实际排放量",sort = 6) + private String actuallyEmittingTn; + + + @ApiModelProperty(value = "总氮许可排放量") + /** 总氮许可排放量 */ + @Excel(name = "总氮许可排放量",sort = 7) + private String allowableEmissionTn; + + /** + * Tn超标百分比 + */ + @ApiModelProperty(value = "Tn超标百分比") +// @Excel(name = "Tn超标百分比") + private BigDecimal exceedingRateTn; + + + @ApiModelProperty(value = "总磷实际排放量") + /** 总磷实际排放量 */ + @Excel(name = "总磷实际排放量",sort = 8) + private String actuallyEmittingTp; + + + @ApiModelProperty(value = "总磷许可排放量") + /** 总磷许可排放量 */ + @Excel(name = "总磷许可排放量",sort = 9) + private String allowableEmissionTp; + + /** + * Tp超标百分比 + */ + @ApiModelProperty(value = "Tp超标百分比") +// @Excel(name = "Tp超标百分比") + private BigDecimal exceedingRateTp; + + @TableField(exist = false) + private String groupByField; + + @TableField(exist = false) + private String industryCategory; + + @TableField(exist = false) + private String indusName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollYear", getPollYear()) + .append("pollutionCategory", getPollutionCategory()) + .append("dataSource", getDataSource()) + .append("actuallyEmittingCod", getActuallyEmittingCod()) + .append("allowableEmissionCod", getAllowableEmissionCod()) + .append("actuallyEmittingNhn", getActuallyEmittingNhn()) + .append("allowableEmissionNhn", getAllowableEmissionNhn()) + .append("actuallyEmittingTn", getActuallyEmittingTn()) + .append("allowableEmissionTn", getAllowableEmissionTn()) + .append("actuallyEmittingTp", getActuallyEmittingTp()) + .append("allowableEmissionTp", getAllowableEmissionTp()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceAir.java new file mode 100644 index 0000000..b40ceb0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceAir.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放信息-多来源排放量对比-废气对象 b_main_emission_source_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废气") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_source_air") +public class BMainEmissionSourceAir extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份 */ + @Excel(name = "年份") + private String pollYear; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "系统核算排放量") + /** 系统核算排放量 */ + @Excel(name = "系统核算排放量") + private String systematicAccountingSo2; + + + @ApiModelProperty(value = "执行报告排放量") + /** 执行报告排放量 */ + @Excel(name = "执行报告排放量") + private String actionReportsSo2; + + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + @Excel(name = "许可排放量") + private String permissionSo2; + + public BMainEmissionSourceAir() { + } + + public BMainEmissionSourceAir(String factoryId, String pollYear, String systematicAccountingSo2, String actionReportsSo2, String permissionSo2) { + this.factoryId = factoryId; + this.pollYear = pollYear; + this.systematicAccountingSo2 = systematicAccountingSo2; + this.actionReportsSo2 = actionReportsSo2; + this.permissionSo2 = permissionSo2; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollYear", getPollYear()) + .append("pollutionCategory", getPollutionCategory()) + .append("systematicAccountingSo2", getSystematicAccountingSo2()) + .append("actionReportsSo2", getActionReportsSo2()) + .append("permissionSo2", getPermissionSo2()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceWater.java new file mode 100644 index 0000000..c602f34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainEmissionSourceWater.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放信息-多来源排放量对比-废水对象 b_main_emission_source_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废水") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_emission_source_water") +public class BMainEmissionSourceWater extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份 */ + @Excel(name = "年份") + private String pollYear; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollutionCategory; + + + @ApiModelProperty(value = "系统核算排放量") + /** 系统核算排放量 */ + @Excel(name = "系统核算排放量") + private String systematicAccountingCod; + + + @ApiModelProperty(value = "执行报告排放量") + /** 执行报告排放量 */ + @Excel(name = "执行报告排放量") + private String actionReportsCod; + + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + @Excel(name = "许可排放量") + private String permissionCod; + + public BMainEmissionSourceWater() { + } + + public BMainEmissionSourceWater(String factoryId, String pollYear, String systematicAccountingCod, String actionReportsCod, String permissionCod) { + this.factoryId = factoryId; + this.pollYear = pollYear; + this.systematicAccountingCod = systematicAccountingCod; + this.actionReportsCod = actionReportsCod; + this.permissionCod = permissionCod; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollYear", getPollYear()) + .append("pollutionCategory", getPollutionCategory()) + .append("systematicAccountingCod", getSystematicAccountingCod()) + .append("actionReportsCod", getActionReportsCod()) + .append("permissionCod", getPermissionCod()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheck.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheck.java new file mode 100644 index 0000000..abab090 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheck.java @@ -0,0 +1,207 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +@ApiModel(value = "移动执法信息-异常任务核查") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_exception_task_check") +public class BMainExceptionTaskCheck extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + @Excel(name = "任务来源") + private String taskSource; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + @Excel(name = "企业地址") + private String factoryAddr; + + + @ApiModelProperty(value = "区域") + /** 区域 */ + @Excel(name = "区域") + private String regionName; + + + @ApiModelProperty(value = "是否正面清单") + /** 是否正面清单 */ + @Excel(name = "是否正面清单") + private String isFrontList; + + + @ApiModelProperty(value = "企业评级") + /** 企业评级 */ + @Excel(name = "企业评级") + private String factoryGrade; + + + @ApiModelProperty(value = "签收时间") + /** 签收时间 */ + @Excel(name = "签收时间") + private String receiveTime; + + + @ApiModelProperty(value = "核查时间") + /** 核查时间 */ + @Excel(name = "核查时间") + private String checkTime; + + + @ApiModelProperty(value = "核查内容") + /** 核查内容 */ + @Excel(name = "核查内容") + private String checkContent; + + + @ApiModelProperty(value = "核查状态") + /** 核查状态 */ + @Excel(name = "核查状态") + private String checkStatus; + + + @ApiModelProperty(value = "核查内容-原因分类") + /** 核查内容-原因分类 */ + @Excel(name = "核查内容-原因分类") + private String checkReasonType; + + + @ApiModelProperty(value = "核查内容-原因细分") + /** 核查内容-原因细分 */ + @Excel(name = "核查内容-原因细分") + private String checkReasonDetail; + + + @ApiModelProperty(value = "核查内容-原因") + /** 核查内容-原因 */ + @Excel(name = "核查内容-原因") + private String checkReason; + + + @ApiModelProperty(value = "核查内容-附件") + /** 核查内容-附件 */ + @Excel(name = "核查内容-附件") + private String checkFileUrl; + + @ApiModelProperty(value = "核查内容-附件名称") + private String checkFileName; + + + @ApiModelProperty(value = "核查内容-处理意见") + /** 核查内容-处理意见 */ + @Excel(name = "核查内容-处理意见") + private String checkDealAdvise; + + + @ApiModelProperty(value = "问题情况-是否存在问题") + /** 问题情况-是否存在问题 */ + @Excel(name = "问题情况-是否存在问题") + private String isExistProblem; + + + @ApiModelProperty(value = "处罚情况-是否立案处罚") + /** 处罚情况-是否立案处罚 */ + @Excel(name = "处罚情况-是否立案处罚") + private String isRegisterPunish; + + + @ApiModelProperty(value = "处罚情况-附件") + /** 处罚情况-附件 */ + @Excel(name = "处罚情况-附件") + private String punishFileUrl; + + @ApiModelProperty(value = "处罚情况-附件名称") + private String punishFileName; + + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + @Excel(name = "完成时间") + private String completeTime; + + + @ApiModelProperty(value = "办理状态") + /** 办理状态 */ + @Excel(name = "办理状态") + private String dealStatus; + + + @ApiModelProperty(value = "任务状态") + /** 任务状态 */ + @Excel(name = "任务状态") + private String taskStatus; + + + @ApiModelProperty(value = "执法人员,多个使用逗号分隔") + /** 执法人员,多个使用逗号分隔 */ + @Excel(name = "执法人员,多个使用逗号分隔") + private String enforceUser; + + + @ApiModelProperty(value = "执法方式") + /** 执法方式 */ + @Excel(name = "执法方式") + private String enforceWay; + + + @ApiModelProperty(value = "现场执法原因") + /** 现场执法原因 */ + @Excel(name = "现场执法原因") + private String enforceReason; + + + @ApiModelProperty(value = "浓度异常趋势-排口id,多个使用逗号分隔") + /** 浓度异常趋势-排口id,多个使用逗号分隔 */ + @Excel(name = "浓度异常趋势-排口id,多个使用逗号分隔") + private String outletIds; + + @ApiModelProperty(value = "异常时间") + private String exceptionTime; + + @ApiModelProperty(value = "问题类型") + private String problemType; + + @ApiModelProperty(value = "查处情况") + private String ccqk; + + @ApiModelProperty(value = "问题描述") + private String problemDesc; + + @ApiModelProperty(value = "立案处罚原因") + private String punishReason; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheckStep.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheckStep.java new file mode 100644 index 0000000..5fecc90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainExceptionTaskCheckStep.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 移动执法信息-异常任务核查-流程步骤对象 b_main_exception_task_check_step + */ +@ApiModel(value = "移动执法信息-异常任务核查-流程步骤") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_exception_task_check_step") +public class BMainExceptionTaskCheckStep extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + public BMainExceptionTaskCheckStep() { + } + + public BMainExceptionTaskCheckStep(String stepName) { + this.stepName = stepName; + } + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "异常任务核查id") + /** 异常任务核查id */ + @Excel(name = "异常任务核查id") + private String exceptionTaskCheckId; + + + @ApiModelProperty(value = "步骤名") + /** 步骤名 */ + @Excel(name = "步骤名") + private String stepName; + + + @ApiModelProperty(value = "操作时间") + /** 操作时间 */ + @Excel(name = "操作时间") + private String operateTime; + + + @ApiModelProperty(value = "操作人名称") + /** 操作人名称 */ + @Excel(name = "操作人名称") + private String operateUserName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("exceptionTaskCheckId", getExceptionTaskCheckId()) + .append("stepName", getStepName()) + .append("operateTime", getOperateTime()) + .append("operateUserName", getOperateUserName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFactoryVerification.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFactoryVerification.java new file mode 100644 index 0000000..e21e7a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFactoryVerification.java @@ -0,0 +1,188 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 移动执法信息-企业核查对象 b_main_factory_verification + * + * @author szhpt + * @date 2023-03-30*/ +@ApiModel(value = "移动执法信息-企业核查") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_factory_verification") +public class BMainFactoryVerification extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + @Excel(name = "任务来源") + private String taskSource; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + @Excel(name = "企业地址") + private String factoryAddress; + + + @ApiModelProperty(value = "所属区域") + /** 所属区域 */ + @Excel(name = "所属区域") + private String area; + + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + @Excel(name = "统一社会信用代码") + private String creditCode; + + + @ApiModelProperty(value = "当前办理人") + /** 当前办理人 */ + @Excel(name = "当前办理人") + private String handlePerson; + + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + @Excel(name = "完成时间") + private String completeTime; + + + @ApiModelProperty(value = "核查内容") + /** 核查内容 */ + @Excel(name = "核查内容") + private String verificationContent; + + + @ApiModelProperty(value = "核查时间") + /** 核查时间 */ + @Excel(name = "核查时间") + private String verificationTime; + + + @ApiModelProperty(value = "任务状态;任务状态(0=办理中 4=已交办 5=已办结 9=已归档)") + /** 任务状态;任务状态(0=办理中 4=已交办 5=已办结 9=已归档) */ + @Excel(name = "任务状态;任务状态", readConverterExp = "0==办理中,4==已交办,5==已办结,9==已归档") + private String taskStatus; + + + @ApiModelProperty(value = "企业类型;1 涉水 2涉气 3固废 4其他") + /** 企业类型;1 涉水 2涉气 3固废 4其他 */ + @Excel(name = "企业类型;1 涉水 2涉气 3固废 4其他") + private String factoryType; + + + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + /** 是否现场执法;0 否 1 是 */ + @Excel(name = "是否现场执法;0 否 1 是") + private String isLawEnforcement; + + + @ApiModelProperty(value = "下达隐患提示函;0 否 1 是") + /** 下达隐患提示函;0 否 1 是 */ + @Excel(name = "下达隐患提示函;0 否 1 是") + private String isHiddenDangerReminder; + + + @ApiModelProperty(value = "是否存在问题;0 否 1 是") + /** 是否存在问题;0 否 1 是 */ + @Excel(name = "是否存在问题;0 否 1 是") + private String isProblem; + + @ApiModelProperty(value = "执法人员名称") + /** 执法人员名称 */ + @Excel(name = "执法人员名称") + private String lawEnforcementPerson; + + @ApiModelProperty(value = "执法小结") + /** 执法小结 */ + @Excel(name = "执法小结") + private String enforcementSummary; + + @ApiModelProperty(value = "证据清单") + /** 证据清单 */ + @Excel(name = "证据清单") + private String evidenceList; + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String remark; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("taskName", getTaskName()) + .append("taskSource", getTaskSource()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("factoryAddress", getFactoryAddress()) + .append("area", getArea()) + .append("creditCode", getCreditCode()) + .append("handlePerson", getHandlePerson()) + .append("completeTime", getCompleteTime()) + .append("verificationContent", getVerificationContent()) + .append("verificationTime", getVerificationTime()) + .append("taskStatus", getTaskStatus()) + .append("factoryType", getFactoryType()) + .append("isLawEnforcement", getIsLawEnforcement()) + .append("isHiddenDangerReminder", getIsHiddenDangerReminder()) + .append("isProblem", getIsProblem()) + .append("enforcementSummary", getEnforcementSummary()) + .append("remark", getRemark()) + .append("evidenceList", getEvidenceList()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFile.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFile.java new file mode 100644 index 0000000..ea81846 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainFile.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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.util.Date; + + +@ApiModel(value = "系统附件。") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_file") +public class BMainFile extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "附件名称") + private String fileName; + + @ApiModelProperty(value = "附件路径") + private String filePath; + + @ApiModelProperty(value = "附件所属的业务来源 见FileConstant.Source枚举类") + private String businessSource; + + @ApiModelProperty(value = "业务id") + private String businessId; + + private String createBy; + + private Date createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWaste.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWaste.java new file mode 100644 index 0000000..c139f37 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWaste.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固体废物基础信息对象 b_main_hazardous_solid_waste + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物基础信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_hazardous_solid_waste") +public class BMainHazardousSolidWaste extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别*/ + @Excel(name = "固体废物类别") + private String solidWasteType; + + + @ApiModelProperty(value = "固体废物名称") + /** 固体废物名称*/ + @Excel(name = "固体废物名称") + private String solidWasteName; + + + @ApiModelProperty(value = "代码") + /** 代码*/ + @Excel(name = "代码") + private String solidWasteCode; + + + @ApiModelProperty(value = "危险特性") + /** 危险特性*/ + @Excel(name = "危险特性") + private String hazardousCharacteristics; + + + @ApiModelProperty(value = "类别") + /** 类别*/ + @Excel(name = "类别") + private String category; + + + @ApiModelProperty(value = "物理性状") + /** 物理性状*/ + @Excel(name = "物理性状") + private String physicalCharacteristics; + + + @ApiModelProperty(value = "产生环节") + /** 产生环节*/ + @Excel(name = "产生环节") + private String productionLink; + + + @ApiModelProperty(value = "去向") + /** 去向*/ + @Excel(name = "去向") + private String whereAbouts; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("solidWasteType", getSolidWasteType()) + .append("solidWasteName", getSolidWasteName()) + .append("solidWasteCode", getSolidWasteCode()) + .append("hazardousCharacteristics", getHazardousCharacteristics()) + .append("category", getCategory()) + .append("physicalCharacteristics", getPhysicalCharacteristics()) + .append("productionLink", getProductionLink()) + .append("whereAbouts", getWhereAbouts()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteCr.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteCr.java new file mode 100644 index 0000000..9635058 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteCr.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固体废物环境管理要求对象 b_main_hazardous_solid_waste_cr + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "固体废物环境管理要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_hazardous_solid_waste_cr") +public class BMainHazardousSolidWasteCr extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "设施类型") + /** 设施类型*/ + @Excel(name = "设施类型") + private String solidWasteType; + + + @ApiModelProperty(value = "管理要求") + /** 管理要求*/ + @Excel(name = "管理要求") + private String controlRequirements; + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("solidWasteType", getSolidWasteType()) + .append("controlRequirements", getControlRequirements()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteFa.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteFa.java new file mode 100644 index 0000000..80b76ce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteFa.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 自行贮存和自行利用处置设施信息对象 b_main_hazardous_solid_waste_fa + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "自行贮存和自行利用处置设施信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_hazardous_solid_waste_fa") +public class BMainHazardousSolidWasteFa extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别*/ + @Excel(name = "固体废物类别") + private String solidWasteType; + + + @ApiModelProperty(value = "设施名称") + /** 设施名称*/ + @Excel(name = "设施名称") + private String facilityName; + + + @ApiModelProperty(value = "设施编号") + /** 设施编号*/ + @Excel(name = "设施编号") + private String facilityCode; + + + @ApiModelProperty(value = "设施类型") + /** 设施类型*/ + @Excel(name = "设施类型") + private String facilityType; + + + @ApiModelProperty(value = "经度") + /** 经度*/ + @Excel(name = "经度") + private String lon; + + + @ApiModelProperty(value = "纬度") + /** 纬度*/ + @Excel(name = "纬度") + private String lat; + + + @ApiModelProperty(value = "污染防控技术要求") + /** 污染防控技术要求*/ + @Excel(name = "污染防控技术要求") + private String polluteTechnicalRequirements; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("solidWasteType", getSolidWasteType()) + .append("facilityName", getFacilityName()) + .append("facilityCode", getFacilityCode()) + .append("facilityType", getFacilityType()) + .append("lon", getLon()) + .append("lat", getLat()) + .append("polluteTechnicalRequirements", getPolluteTechnicalRequirements()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteLe.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteLe.java new file mode 100644 index 0000000..3afa5ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousSolidWasteLe.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固体废物排放信息对象 b_main_hazardous_solid_waste_le + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物排放信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_hazardous_solid_waste_le") +public class BMainHazardousSolidWasteLe extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "固体废物id") + /** 固体废物id*/ + @Excel(name = "固体废物id") + private String solidWasteId; + + + @ApiModelProperty(value = "自行处置量(t/a)") + /** 自行处置量(t/a)*/ + @Excel(name = "自行处置量", readConverterExp = "t=/a") + private String selfDisposalVolume; + + + @ApiModelProperty(value = "委托处置量") + /** 委托处置量*/ + @Excel(name = "委托处置量") + private String entrustedDisposalVolume; + + + @ApiModelProperty(value = "外委处置单位名称") + /** 外委处置单位名称*/ + @Excel(name = "外委处置单位名称") + private String entrustedDisposalUnitName; + + + @ApiModelProperty(value = "危险废物处置单位名称") + /** 危险废物处置单位名称*/ + @Excel(name = "危险废物处置单位名称") + private String hazardousWasteUnitName; + + + @ApiModelProperty(value = "危险废物处置单位经营许可证编号") + /** 危险废物处置单位经营许可证编号*/ + @Excel(name = "危险废物处置单位经营许可证编号") + private String hazardousWasteLicenceCode; + + + @ApiModelProperty(value = "自行贮存设施名称") + /** 自行贮存设施名称*/ + @Excel(name = "自行贮存设施名称") + private String storageFacilityName; + + + @ApiModelProperty(value = "自行贮存设施编号") + /** 自行贮存设施编号*/ + @Excel(name = "自行贮存设施编号") + private String storageFacilityCode; + + + @ApiModelProperty(value = "视频监控") + /** 视频监控*/ + @Excel(name = "视频监控") + private String videoSurveillance; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("solidWasteId", getSolidWasteId()) + .append("selfDisposalVolume", getSelfDisposalVolume()) + .append("entrustedDisposalVolume", getEntrustedDisposalVolume()) + .append("entrustedDisposalUnitName", getEntrustedDisposalUnitName()) + .append("hazardousWasteUnitName", getHazardousWasteUnitName()) + .append("hazardousWasteLicenceCode", getHazardousWasteLicenceCode()) + .append("storageFacilityName", getStorageFacilityName()) + .append("storageFacilityCode", getStorageFacilityCode()) + .append("videoSurveillance", getVideoSurveillance()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousWasteOutput.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousWasteOutput.java new file mode 100644 index 0000000..31754ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainHazardousWasteOutput.java @@ -0,0 +1,137 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 危废产生与处理对象 b_main_hazardous_waste_output + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "危废产生与处理") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_hazardous_waste_output") +public class BMainHazardousWasteOutput extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份*/ + @Excel(name = "年份") + private String particularYear; + + + @ApiModelProperty(value = "月份") + /** 月份*/ + @Excel(name = "月份") + private String particularMonth; + + + @ApiModelProperty(value = "废物类别") + /** 废物类别*/ + @Excel(name = "废物类别") + private String materialsType; + + + @ApiModelProperty(value = "废物代码") + /** 废物代码*/ + @Excel(name = "废物代码") + private String materialsCode; + + + @ApiModelProperty(value = "废物名称") + /** 废物名称*/ + @Excel(name = "废物名称") + private String materialsName; + + + @ApiModelProperty(value = "上月贮存量") + /** 上月贮存量*/ + @Excel(name = "上月贮存量") + private String materialsLastMonth; + + + @ApiModelProperty(value = "产生量") + /** 产生量*/ + @Excel(name = "产生量") + private String materialsOutput; + + + @ApiModelProperty(value = "修正量") + /** 修正量*/ + @Excel(name = "修正量") + private String materialsAllowance; + + + @ApiModelProperty(value = "转移量") + /** 转移量*/ + @Excel(name = "转移量") + private String materialsAsFollows; + + + @ApiModelProperty(value = "利用处置量") + /** 利用处置量*/ + @Excel(name = "利用处置量") + private String materialsUse; + + + @ApiModelProperty(value = "期末库存") + /** 期末库存*/ + @Excel(name = "期末库存") + private String materialsRepertory; + + + @ApiModelProperty(value = "期末超一年库存") + /** 期末超一年库存*/ + @Excel(name = "期末超一年库存") + private String materialsRepertoryYear; + + @ApiModelProperty(value = "计量单位") + /** 计量单位*/ + @Excel(name = "计量单位") + private String unit; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("particularYear", getParticularYear()) + .append("particularMonth", getParticularMonth()) + .append("materialsType", getMaterialsType()) + .append("materialsCode", getMaterialsCode()) + .append("materialsName", getMaterialsName()) + .append("materialsLastMonth", getMaterialsLastMonth()) + .append("materialsOutput", getMaterialsOutput()) + .append("materialsAllowance", getMaterialsAllowance()) + .append("materialsAsFollows", getMaterialsAsFollows()) + .append("materialsUse", getMaterialsUse()) + .append("materialsRepertory", getMaterialsRepertory()) + .append("materialsRepertoryYear", getMaterialsRepertoryYear()) + .append("unit", getUnit()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMobileEnforcement.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMobileEnforcement.java new file mode 100644 index 0000000..0206d33 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMobileEnforcement.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 移动执法信息对象 b_main_mobile_enforcement + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "移动执法信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_mobile_enforcement") +public class BMainMobileEnforcement extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + + @ApiModelProperty(value = "任务类型") + /** 任务类型*/ + @Excel(name = "任务类型", readConverterExp = "1=双随机,2=企业核查") + private String taskType; + + + @ApiModelProperty(value = "检查人") + /** 检查人*/ + @Excel(name = "检查人") + private String enforcementPersion; + + + @ApiModelProperty(value = "检查时间") + /** 检查时间*/ + @Excel(name = "检查时间") + private String enforcementTime; + + + @ApiModelProperty(value = "执法小结") + /** 执法小结*/ + @Excel(name = "执法小结") + private String enforcementNodulus; + + + @ApiModelProperty(value = "处理意见及相关要求") + /** 处理意见及相关要求*/ + @Excel(name = "处理意见及相关要求") + private String enforcementOpinion; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("taskType", getTaskType()) + .append("enforcementPersion", getEnforcementPersion()) + .append("enforcementTime", getEnforcementTime()) + .append("enforcementNodulus", getEnforcementNodulus()) + .append("enforcementOpinion", getEnforcementOpinion()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMonitorPointOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMonitorPointOperationLog.java new file mode 100644 index 0000000..416c56c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainMonitorPointOperationLog.java @@ -0,0 +1,176 @@ +package cn.cecep.talroad.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * @className: BMainMonitorPointOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:22 + * @Company: Copyright© [2023/04/28 17:22] by [Mr.Yanghongtao] + **/ + +/** + * 监测点位管理操作日志表 + */ +@ApiModel(value = "监测点位管理操作日志表",description = "监测点位管理操作日志表") +public class BMainMonitorPointOperationLog { + /** + * 主键标识 + */ + @ApiModelProperty(name = "logId",value = "主键标识") + private String logId; + + /** + * 操作时间 + */ + @ApiModelProperty(name = "operationTime",value = "操作时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operationTime; + + /** + * 在线监测点位名称 + */ + @ApiModelProperty(name = "monitoringPointName",value = "在线监测点位名称/无组织监测点位名称") + private String monitoringPointName; + + /** + * 修改前对应许可证排口名称 + */ + @ApiModelProperty(name = "beforeModifyName",value = "修改前对应许可证排口名称") + private String beforeModifyName; + + /** + * 修改前对应许可证排口编号 + */ + @ApiModelProperty(name = "beforeModifyCode",value = "修改前对应许可证排口编号/修改前无组织监测点位编号") + private String beforeModifyCode; + + /** + * 操作状态 + */ + @ApiModelProperty(name = "operationStatus",value = "操作状态") + private String operationStatus; + + /** + * 修改后对应许可证排口名称 + */ + @ApiModelProperty(name = "afterModifyName",value = "修改后对应许可证排口名称") + private String afterModifyName; + + /** + * 修改后对应许可证排口编号 + */ + @ApiModelProperty(name = "afterModifyCode",value = "修改后对应许可证排口编号/修改后无组织监测点位编号") + private String afterModifyCode; + + /** + * 操作人 + */ + @ApiModelProperty(name = "operator",value = "操作人") + private String operator; + + /** + * 1-废气有组织在线监测点位匹配|2-废水在线监测点位匹配|3废气无组织监测点位填报 + */ + @ApiModelProperty(name = "monitoringPointType",value = "1-废气有组织在线监测点位匹配|2-废水在线监测点位匹配|3废气无组织监测点位填报") + private String monitoringPointType; + + /** + * 企业ID + */ + @ApiModelProperty(name = "factoryId",value = "企业ID") + private String factoryId; + + public String getLogId() { + return (logId != null) ? logId : ""; + } + + public void setLogId(String logId) { + this.logId = logId; + } + + public Date getOperationTime() { + return operationTime; + } + + public void setOperationTime(Date operationTime) { + this.operationTime = operationTime; + } + + public String getMonitoringPointName() { + return (monitoringPointName != null) ? monitoringPointName : ""; + } + + public void setMonitoringPointName(String monitoringPointName) { + this.monitoringPointName = monitoringPointName; + } + + public String getBeforeModifyName() { + return (beforeModifyName != null) ? beforeModifyName : ""; + } + + public void setBeforeModifyName(String beforeModifyName) { + this.beforeModifyName = beforeModifyName; + } + + public String getBeforeModifyCode() { + return (beforeModifyCode != null) ? beforeModifyCode : ""; + } + + public void setBeforeModifyCode(String beforeModifyCode) { + this.beforeModifyCode = beforeModifyCode; + } + + public String getOperationStatus() { + return (operationStatus != null) ? operationStatus : ""; + } + + public void setOperationStatus(String operationStatus) { + this.operationStatus = operationStatus; + } + + public String getAfterModifyName() { + return (afterModifyName != null) ? afterModifyName : ""; + } + + public void setAfterModifyName(String afterModifyName) { + this.afterModifyName = afterModifyName; + } + + public String getAfterModifyCode() { + return (afterModifyCode != null) ? afterModifyCode : ""; + } + + public void setAfterModifyCode(String afterModifyCode) { + this.afterModifyCode = afterModifyCode; + } + + public String getOperator() { + return (operator != null) ? operator : ""; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getMonitoringPointType() { + return (monitoringPointType != null) ? monitoringPointType : ""; + } + + public void setMonitoringPointType(String monitoringPointType) { + this.monitoringPointType = monitoringPointType; + } + + public String getFactoryId() { + return (factoryId != null) ? factoryId : ""; + } + + public void setFactoryId(String factoryId) { + this.factoryId = factoryId; + } +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainNoiseEmissions.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainNoiseEmissions.java new file mode 100644 index 0000000..e35cc49 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainNoiseEmissions.java @@ -0,0 +1,91 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 噪声排放信息对象 b_main_noise_emissions + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "噪声排放信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_noise_emissions") +public class BMainNoiseEmissions extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "噪声类别id") + /** 噪声类别id*/ + @Excel(name = "噪声类别id") + private String noiseTypeId; + + + @ApiModelProperty(value = "生产时间段-昼间") + /** 生产时间段-昼间*/ + @Excel(name = "生产时间段-昼间") + private String productionPeriodDaytime; + + + @ApiModelProperty(value = "生产时间段-夜间") + /** 生产时间段-夜间*/ + @Excel(name = "生产时间段-夜间") + private String productionPeriodNighttime; + + + @ApiModelProperty(value = "执行排放标准") + /** 执行排放标准*/ + @Excel(name = "执行排放标准") + private String implementationEmissionStandards; + + + @ApiModelProperty(value = "厂界噪声排放限值昼间dB(a)") + /** 厂界噪声排放限值昼间dB(a)*/ + @Excel(name = "厂界噪声排放限值昼间dB", readConverterExp = "a=") + private String noiseEmissionsDaytime; + + + @ApiModelProperty(value = "厂界噪声排放限值夜间dB(a)") + /** 厂界噪声排放限值夜间dB(a)*/ + @Excel(name = "厂界噪声排放限值夜间dB", readConverterExp = "a=") + private String noiseEmissionsNighttime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("noiseTypeId", getNoiseTypeId()) + .append("productionPeriodDaytime", getProductionPeriodDaytime()) + .append("productionPeriodNighttime", getProductionPeriodNighttime()) + .append("implementationEmissionStandards", getImplementationEmissionStandards()) + .append("noiseEmissionsDaytime", getNoiseEmissionsDaytime()) + .append("noiseEmissionsNighttime", getNoiseEmissionsNighttime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDis.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDis.java new file mode 100644 index 0000000..5017a4c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDis.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Arrays; +import java.util.Date; + + +/** + * 排污许可对象 b_main_poll_dis + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis") +public class BMainPollDis extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "许可证编号") + /** 许可证编号 */ + @Excel(name = "许可证编号") + private String pollDisLicenseCode; + + + @ApiModelProperty(value = "业务类型") + /** 业务类型 */ + @Excel(name = "业务类型") + private String businessType; + + + @ApiModelProperty(value = "版本") + /** 版本 */ + @Excel(name = "版本") + private String editionCode; + + + @ApiModelProperty(value = "办结日期") + /** 办结日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "办结日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date completionTime; + + + @ApiModelProperty(value = "有效期限") + /** 有效期限 */ + @Excel(name = "有效期限") + private String pollDisLicenseDeadline; + + + @ApiModelProperty(value = "许可证正本") + /** 许可证正本 */ + @Excel(name = "许可证正本") + private String pollDisOriginal; + + + @ApiModelProperty(value = "许可证副本") + /** 许可证副本 */ + @Excel(name = "许可证副本") + private String pollDisEctype; + + @ApiModelProperty(value = "二维码图片地址") + private String qrCodeUrl; + + @ApiModelProperty(value = "排污许可主键id") + private String dataId; + + @ApiModelProperty(value = "有效开始日期") + private String startTime; + + @ApiModelProperty(value = "有效截止日期") + private String deadlineTime; + + + /** + * 排污许可信息-类型 + */ + public enum PwxkzType { + TYPE_1("TYPEB","补充申报"), + TYPE_2("TYPEJ","审批部门变更"), + TYPE_3("TYPED","延续"), + TYPE_4("TYPEH","整改后申请"), + TYPE_5("TYPEC","变更"), + TYPE_6("TYPEI","重新申请"), + FILE_7("TYPEA","申领"); + + public String code; + public String desc; + + public static PwxkzType getByCode(String code) { + return Arrays.stream(PwxkzType.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + PwxkzType(String code, String desc) { + this.code = code; + this.desc = desc; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEmlRecord.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEmlRecord.java new file mode 100644 index 0000000..261d4f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEmlRecord.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可环境管理台账对象 b_main_poll_dis_eml_record + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理台账") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_eml_record") +public class BMainPollDisEmlRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "eml_id",type = IdType.AUTO) + /** 主键id */ + private Long emlId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String othersInformation; + + + @ApiModelProperty(value = "主要内容") + /** 主要内容 */ + @Excel(name = "主要内容") + @TableField(exist = false) + private String mainContent; + + + @ApiModelProperty(value = "上报频次") + /** 上报频次 */ + @Excel(name = "上报频次") + @TableField(exist = false) + private String reportingFrequency; + + + @ApiModelProperty(value = "类别") + /** 类别 */ + @Excel(name = "类别") + private String emlType; + + + @ApiModelProperty(value = "记录内容") + /** 记录内容 */ + @Excel(name = "记录内容") + private String recordContent; + + + @ApiModelProperty(value = "记录频次") + /** 记录频次 */ + @Excel(name = "记录频次") + private String recordFrequency; + + + @ApiModelProperty(value = "记录形式") + /** 记录形式 */ + @Excel(name = "记录形式") + private String openContent; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("emlId", getEmlId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("othersInformation", getOthersInformation()) + .append("mainContent", getMainContent()) + .append("reportingFrequency", getReportingFrequency()) + .append("emlType", getEmlType()) + .append("recordContent", getRecordContent()) + .append("recordFrequency", getRecordFrequency()) + .append("openContent", getOpenContent()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEnforcement.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEnforcement.java new file mode 100644 index 0000000..1f9aa3b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisEnforcement.java @@ -0,0 +1,90 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可执行守法报告对象 b_main_poll_dis_enforcement + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可执行守法报告") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_enforcement") +public class BMainPollDisEnforcement extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long enforcementId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "类别") + /** 类别 */ + @Excel(name = "类别") + private String emlType; + + + + @ApiModelProperty(value = "记录内容") + /** 记录内容 */ + @Excel(name = "记录内容") + private String recordContent; + + + @ApiModelProperty(value = "记录频次") + /** 记录频次 */ + @Excel(name = "记录频次") + private String recordFrequency; + + + @ApiModelProperty(value = "记录形式") + /** 记录形式 */ + @Excel(name = "记录形式") + private String openContent; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherInformation; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("enforcementId", getEnforcementId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("emlType", getEmlType()) + .append("recordContent", getRecordContent()) + .append("recordFrequency", getRecordFrequency()) + .append("openContent", getOpenContent()) + .append("otherInformation", getOtherInformation()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisFile.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisFile.java new file mode 100644 index 0000000..e594e70 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisFile.java @@ -0,0 +1,165 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Arrays; + + +/** + * 排污许可附件信息对象 b_main_poll_dis_file + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可附件信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_file") +public class BMainPollDisFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "file_id",type = IdType.AUTO) + /** 主键id */ + private Long fileId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "文件类型名称") + /** 文件类型名称 */ + @Excel(name = "文件类型名称") + private String fileType; + + + @ApiModelProperty(value = "文件名称") + /** 文件名称 */ + @Excel(name = "文件名称") + private String fileName; + + @ApiModelProperty(value = "文件地址") + /** 文件地址 */ + @Excel(name = "文件地址") + private String fileUrl; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("fileId", getFileId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("fileType", getFileType()) + .append("fileName", getFileName()) + .append("fileUrl", getFileUrl()) + .toString(); + } + + /** + * @throws + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + */ + public static QueryWrapper createLambdaQueryWrapper(String factoryId, String pollDisId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(factoryId), "factory_id", factoryId); + wrapper.eq(ObjectUtil.isNotNull(pollDisId), "poll_dis_id", pollDisId); + return wrapper; + } + + /** + * 排污许可信息-附件信息 + */ + public enum PwxkzFile { + + FILE_1("1","守法承诺书(需法人签字)"), + + FILE_2("2","符合建设项目环境影响评价程序的相关文件或证明材料"), + + FILE_3("3","排污许可证申领信息公开情况说明表"), + + FILE_4("4","通过排污权交易获取排污权指标的证明材料"), + + FILE_5("5","城镇污水集中处理设施应提供纳污范围、管网布置、排放去向等材料"), + + FILE_6("6","排污口和监测孔规范化设置情况说明材料"), + + FILE_7("7","达标证明材料(说明:包括环评、监测数据证明、工程数据证明等。)"), + + FILE_8("8","生产工艺流程图"), + + FILE_9("9","生产厂区总平面布置图"), + + FILE_10("10","监测点位示意图"), + + FILE_11("11","粪污处理利用工艺流程图"), + + FILE_12("12","地下水监测井布置图(标明井深参数)"), + + FILE_13("13","防渗层结构图"), + + FILE_14("14","封场结构图"), + + FILE_15("15","申请年排放量限值计算过程"), + + FILE_16("16","自行监测相关材料"), + + FILE_17("17","地方规定排污许可证申请表文件"), + + FILE_18("18","整改报告"), + + FILE_19("19","排污单位通过污染物排放量削减替代获得重点污染物排放总量控制指标的说明材料项"), + + FILE_20("20","其他"), + +// FILE_21("21","排污许可证正本"), + FILE_21("21","排污许可证正本复印件"), + + FILE_22("22","排污许可证副本"), + + FILE_23("23","排污许可证编码对照表"), + FILE_24("24","排污许可证申请表"), + FILE_25("25","排污许可证申领信息公开情况说明"), + FILE_26("26","与变更排污许可事项有关的其他材料"), + FILE_27("27","锅炉燃料信息文件"), + FILE_28("25","污水处理工艺流程图"); + + public String code; + public String desc; + + public static PwxkzFile getByCode(String code) { + return Arrays.stream(PwxkzFile.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + PwxkzFile(String code, String desc) { + this.code = code; + this.desc = desc; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasMout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasMout.java new file mode 100644 index 0000000..c78b107 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasMout.java @@ -0,0 +1,156 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 排污许可大气主排放口对象 b_main_poll_dis_gas_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气主排放口") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_gas_mout") +public class BMainPollDisGasMout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "mout_id",type = IdType.AUTO) + private Long moutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + @Excel(name = "排放口是否合计") + private String outletUseTotal; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值 */ + @Excel(name = "许可排放小时浓度限值") + private String pollutantsMgHour; + + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值 */ + @Excel(name = "许可排放日均浓度限值") + private String pollutantsMgDay; + + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + @Excel(name = "许可排放速率限值") + private String pollutantsMgRate; + + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值 */ + @Excel(name = "承诺更加严格排放浓度限值") + private String exactDemandsPollutantsMg; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantCode; + + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口)") + @TableField(exist = false) + private String vent; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("moutId", getMoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletUseTotal", getOutletUseTotal()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsMgHour", getPollutantsMgHour()) + .append("pollutantsMgDay", getPollutantsMgDay()) + .append("pollutantsMgRate", getPollutantsMgRate()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .append("exactDemandsPollutantsMg", getExactDemandsPollutantsMg()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasOout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasOout.java new file mode 100644 index 0000000..000027a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasOout.java @@ -0,0 +1,157 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可大气一般排放口对象 b_main_poll_dis_gas_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气一般排放口") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_gas_oout") +public class BMainPollDisGasOout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "oout_id",type = IdType.AUTO) + private Long ooutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + @Excel(name = "排放口是否合计") + private String outletUseTotal; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值 */ + @Excel(name = "许可排放小时浓度限值") + private String pollutantsMgHour; + + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值 */ + @Excel(name = "许可排放日均浓度限值") + private String pollutantsMgDay; + + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + @Excel(name = "许可排放速率限值") + private String pollutantsMgRate; + + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值 */ + @Excel(name = "承诺更加严格排放浓度限值") + private String exactDemandsPollutantsMg; + + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口)") + @TableField(exist = false) + private String vent = "一般排放口"; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantCode; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("ooutId", getOoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletUseTotal", getOutletUseTotal()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsMgHour", getPollutantsMgHour()) + .append("pollutantsMgDay", getPollutantsMgDay()) + .append("pollutantsMgRate", getPollutantsMgRate()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .append("exactDemandsPollutantsMg", getExactDemandsPollutantsMg()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasPoll.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasPoll.java new file mode 100644 index 0000000..4e18fea --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasPoll.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + +/** + * 排污单位大气排放总许可量 + */ +@ApiModel(value="排污单位大气排放总许可量") +@Data +@TableName("b_main_poll_dis_gas_poll") +public class BMainPollDisGasPoll extends BaseEntity { + /** + * 主键id + */ + @ApiModelProperty(value="主键id") + @TableId(value = "poll_id",type = IdType.AUTO) + private Long pollId; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + private String pollutantsType; + + /** + * 有组织第一年 + */ + @ApiModelProperty(value="有组织第一年") + private String pollutantsTotalYzzFrist; + + /** + * 有组织第二年 + */ + @ApiModelProperty(value="有组织第二年") + private String pollutantsTotalYzzSecond; + + /** + * 有组织第三年 + */ + @ApiModelProperty(value="有组织第三年") + private String pollutantsTotalYzzThird; + + /** + * 有组织第四年 + */ + @ApiModelProperty(value="有组织第四年") + private String pollutantsTotalYzzFourth; + + /** + * 有组织第五年 + */ + @ApiModelProperty(value="有组织第五年") + private String pollutantsTotalYzzFifth; + + /** + * 无组织第一年 + */ + @ApiModelProperty(value="无组织第一年") + private String pollutantsTotalWzzFrist; + + /** + * 无组织第二年 + */ + @ApiModelProperty(value="无组织第二年") + private String pollutantsTotalWzzSecond; + + /** + * 无组织第三年 + */ + @ApiModelProperty(value="无组织第三年") + private String pollutantsTotalWzzThird; + + /** + * 无组织第四年 + */ + @ApiModelProperty(value="无组织第四年") + private String pollutantsTotalWzzFourth; + + /** + * 无组织第五年 + */ + @ApiModelProperty(value="无组织第五年") + private String pollutantsTotalWzzFifth; + + /** + * 全场合计第一年 + */ + @ApiModelProperty(value="全场合计第一年") + private String pollutantsTotalFrist; + + /** + * 全场合计第二年 + */ + @ApiModelProperty(value="全场合计第二年") + private String pollutantsTotalSecond; + + /** + * 全场合计第三年 + */ + @ApiModelProperty(value="全场合计第三年") + private String pollutantsTotalThird; + + /** + * 全场合计第四年 + */ + @ApiModelProperty(value="全场合计第四年") + private String pollutantsTotalFourth; + + /** + * 全场合计第五年 + */ + @ApiModelProperty(value="全场合计第五年") + private String pollutantsTotalFifth; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasSout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasSout.java new file mode 100644 index 0000000..78033ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasSout.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; + + +/** + * 排污许可大气特殊情况对象 b_main_poll_dis_gas_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气特殊情况") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_gas_sout") +public class BMainPollDisGasSout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "sout_id",type = IdType.AUTO) + private Long soutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物类型") + /** 污染物类型 */ + @Excel(name = "污染物类型") + private String pollutantType; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "许可排放时段") + /** 许可排放时段 */ + @Excel(name = "许可排放时段") + private String pollutantsTimeFrame; + + + @ApiModelProperty(value = "许可排放浓度限值") + /** 许可排放浓度限值 */ + @Excel(name = "许可排放浓度限值") + private String pollutantsConcentration; + + + @ApiModelProperty(value = "许可日排放量限值") + /** 许可日排放量限值 */ + @Excel(name = "许可日排放量限值") + private String pollutantsDisDay; + + + @ApiModelProperty(value = "许可月排放量限值") + /** 许可月排放量限值 */ + @Excel(name = "许可月排放量限值") + private String pollutantsDisMonth; + + @ApiModelProperty(value = "要求(1-环境质量限期达标规划要求, 2-重污染天气应对要求)") + @NotBlank(message = "请指定[1-环境质量限期达标规划要求, 2-重污染天气应对要求]") + private String ask; + + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口,无组织排放口,全厂合计)") + @TableField(exist = false) + private String vent; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("soutId", getSoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantType", getPollutantType()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTimeFrame", getPollutantsTimeFrame()) + .append("pollutantsConcentration", getPollutantsConcentration()) + .append("pollutantsDisDay", getPollutantsDisDay()) + .append("pollutantsDisMonth", getPollutantsDisMonth()) + .append("ask", getAsk()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasTout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasTout.java new file mode 100644 index 0000000..ef7a173 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasTout.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可大气排放总计对象 b_main_poll_dis_gas_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气排放总计") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_gas_tout") +public class BMainPollDisGasTout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "tout_id",type = IdType.AUTO) + /** 主键id */ + private Long toutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantCode; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("toutId", getToutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasWzzTout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasWzzTout.java new file mode 100644 index 0000000..ac8b257 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisGasWzzTout.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + * 大气无组织排放许可条件 + */ +@ApiModel(value="大气无组织排放许可条件") +@Data +@TableName("b_main_poll_dis_gas_wzz_tout") +public class BMainPollDisGasWzzTout extends BaseEntity { + /** + * 主键id + */ + @ApiModelProperty(value="主键id") + @TableId(value = "wzz_tout_id",type = IdType.AUTO) + private Long wzzToutId; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + /** + * 排污许可表id + */ + @ApiModelProperty(value="排污许可表id") + private String pollDisId; + + /** + * 无组织排放口编号 + */ + @ApiModelProperty(value="无组织排放口编号") + private String outletCode; + + /** + * 无组织排放口名称 + */ + @ApiModelProperty(value="无组织排放口名称") + private String outletName; + + /** + * 产物环节 + */ + @ApiModelProperty(value="产物环节") + private String pollutionProductionLink; + + /** + * 排放口是否合计(0-否,1-是) + */ + @ApiModelProperty(value="排放口是否合计(0-否,1-是)") + private String outletUseTotal; + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + private String pollutantsType; + + /** + * 主要污染防治措施 + */ + @ApiModelProperty(value="主要污染防治措施") + private String pollutantsMeasure; + + @ApiModelProperty(value = "国家或地方污染排放标准名称") + private String pollutantsMgName; + + /** + * 国家或地方污染物排放标准小时浓度限值 + */ + @ApiModelProperty(value="国家或地方污染物排放标准小时浓度限值") + private String pollutantsMgHour; + + /** + * 国家或地方污染物排放标准日均浓度限值 + */ + @ApiModelProperty(value="国家或地方污染物排放标准日均浓度限值") + private String pollutantsMgDay; + + /** + * 其他信息 + */ + @ApiModelProperty(value="其他信息") + private String otherMsg; + + /** + * 第一年 + */ + @ApiModelProperty(value="第一年") + private String pollutantsTotalFrist; + + /** + * 第二年 + */ + @ApiModelProperty(value="第二年") + private String pollutantsTotalSecond; + + /** + * 第三年 + */ + @ApiModelProperty(value="第三年") + private String pollutantsTotalThird; + + /** + * 第四年 + */ + @ApiModelProperty(value="第四年") + private String pollutantsTotalFourth; + + /** + * 第五年 + */ + @ApiModelProperty(value="第五年") + private String pollutantsTotalFifth; + + /** + * 申请特殊时段许可排放量限值 + */ + @ApiModelProperty(value="申请特殊时段许可排放量限值") + private String exactDemandsPollutantsMg; + + @ApiModelProperty(value = "排放口类型(全厂无组织排放总计)") + @TableField(exist = false) + private String vent; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisInformation.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisInformation.java new file mode 100644 index 0000000..c2ac42b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisInformation.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可信息公开对象 b_main_poll_dis_information + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可信息公开") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_information") +public class BMainPollDisInformation extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "information_id",type = IdType.AUTO) + /** 主键id */ + private Long informationId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "公开方式") + /** 公开方式 */ + @Excel(name = "公开方式") + private String openProcedure; + + + @ApiModelProperty(value = "时间节点") + /** 时间节点 */ + @Excel(name = "时间节点") + private String timeNodes; + + + @ApiModelProperty(value = "公开内容") + /** 公开内容 */ + @Excel(name = "公开内容") + private String openContent; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherInformation; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("informationId", getInformationId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("openProcedure", getOpenProcedure()) + .append("timeNodes", getTimeNodes()) + .append("openContent", getOpenContent()) + .append("otherInformation", getOtherInformation()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoise.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoise.java new file mode 100644 index 0000000..d561165 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoise.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可其他许可噪声排放对象 b_main_poll_dis_noise + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可噪声排放") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_noise") +public class BMainPollDisNoise extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "noise_id",type = IdType.AUTO) + /** 主键id */ + private Long noiseId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "噪声类别") + /** 噪声类别 */ + @Excel(name = "噪声类别") + private String noiseType; + + + @ApiModelProperty(value = "生产时段昼间") + /** 生产时段昼间 */ + @Excel(name = "生产时段昼间") + private String productionTimeDay; + + + @ApiModelProperty(value = "生产时段夜间") + /** 生产时段夜间 */ + @Excel(name = "生产时段夜间") + private String productionTimeNight; + + + @ApiModelProperty(value = "执行排放标准名称") + /** 执行排放标准名称 */ + @Excel(name = "执行排放标准名称") + private String emissionStandardsName; + + + @ApiModelProperty(value = "厂界噪声排放限制昼间") + /** 厂界噪声排放限制昼间 */ + @Excel(name = "厂界噪声排放限制昼间") + private String noiseOuelatDay; + + + @ApiModelProperty(value = "厂界噪声排放限制夜间") + /** 厂界噪声排放限制夜间 */ + @Excel(name = "厂界噪声排放限制夜间") + private String noiseOuelatNight; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherInformation; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("noiseId", getNoiseId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("noiseType", getNoiseType()) + .append("productionTimeDay", getProductionTimeDay()) + .append("productionTimeNight", getProductionTimeNight()) + .append("emissionStandardsName", getEmissionStandardsName()) + .append("noiseOuelatDay", getNoiseOuelatDay()) + .append("noiseOuelatNight", getNoiseOuelatNight()) + .append("otherInformation", getOtherInformation()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRegulation.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRegulation.java new file mode 100644 index 0000000..be45a77 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRegulation.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可其他许可改正规定对象 b_main_poll_dis_noise_regulation + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可改正规定") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_noise_regulation") +public class BMainPollDisNoiseRegulation extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "regulation_id",type = IdType.AUTO) + /** 主键id */ + private Long regulationId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "整改问题") + /** 整改问题 */ + @Excel(name = "整改问题") + private String rectificationProblem; + + + @ApiModelProperty(value = "整改措施") + /** 整改措施 */ + @Excel(name = "整改措施") + private String rectificationMeasures; + + + @ApiModelProperty(value = "整改时限") + /** 整改时限 */ + @Excel(name = "整改时限") + private String rectificationTime; + + + @ApiModelProperty(value = "整改计划") + /** 整改计划 */ + @Excel(name = "整改计划") + private String rectificationPlan; + + + @ApiModelProperty(value = "是否完成整改") + /** 是否完成整改 */ + @Excel(name = "是否完成整改") + private String rectificationIsComplete; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("regulationId", getRegulationId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("rectificationProblem", getRectificationProblem()) + .append("rectificationMeasures", getRectificationMeasures()) + .append("rectificationTime", getRectificationTime()) + .append("rectificationPlan", getRectificationPlan()) + .append("rectificationIsComplete", getRectificationIsComplete()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRequire.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRequire.java new file mode 100644 index 0000000..812ea48 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisNoiseRequire.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可环境管理要求对象 b_main_poll_dis_noise_require + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_noise_require") +public class BMainPollDisNoiseRequire extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "require_id",type = IdType.AUTO) + /** 主键id */ + private Long requireId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "大气环境管理要求") + /** 大气环境管理要求 */ + @Excel(name = "大气环境管理要求") + private String requireGas; + + + @ApiModelProperty(value = "水环境管理要求") + /** 水环境管理要求 */ + @Excel(name = "水环境管理要求") + private String requireWater; + + + @ApiModelProperty(value = "土壤污染防治要求") + /** 土壤污染防治要求 */ + @Excel(name = "土壤污染防治要求") + private String requireSoil; + + + @ApiModelProperty(value = "固体废物污染环境要求") + /** 固体废物污染环境要求 */ + @Excel(name = "固体废物污染环境要求") + private String requireSolid; + + + @ApiModelProperty(value = "其他控制及管理要求") + /** 其他控制及管理要求 */ + @Excel(name = "其他控制及管理要求") + private String otherInformationRequire; + + @ApiModelProperty(value = "其他许可的内容") + /** 其他许可的内容 */ + @Excel(name = "其他许可的内容") + private String requireOthers; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("requireId", getRequireId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("requireGas", getRequireGas()) + .append("requireWater", getRequireWater()) + .append("requireSoil", getRequireSoil()) + .append("requireSolid", getRequireSolid()) + .append("otherInformationRequire", getOtherInformationRequire()) + .append("requireOthers", getRequireOthers()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMon.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMon.java new file mode 100644 index 0000000..1d9912c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMon.java @@ -0,0 +1,152 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可自行监测要求对象 b_main_poll_dis_self_mon + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_self_mon") +public class BMainPollDisSelfMon extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long monId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantType; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "监测内容") + /** 监测内容 */ + @Excel(name = "监测内容") + private String monitoringContent; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollutantsName; + + + @ApiModelProperty(value = "监测设施") + /** 监测设施 */ + @Excel(name = "监测设施") + private String monitoringFacility; + + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网 */ + @Excel(name = "自动监测是否联网") + private String monitoringAutomaticNetworking; + + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称 */ + @Excel(name = "自动监测仪器名称") + private String monitoringAutomaticName; + + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置 */ + @Excel(name = "自动监测设施安装位置") + private String monitoringAutomaticAddress; + + + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + /** 自动监测实施是否符合管理要求 */ + @Excel(name = "自动监测实施是否符合管理要求") + private String monitoringAutomaticRequire; + + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数 */ + @Excel(name = "手工监测采样方法及个数") + private String monitoringManualSampling; + + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次 */ + @Excel(name = "手工监测频次") + private String monitoringManualFrequency; + + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法 */ + @Excel(name = "手工测定方法") + private String monitoringManualMeans; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherInformation; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("monId", getMonId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantType", getPollutantType()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("monitoringContent", getMonitoringContent()) + .append("pollutantsName", getPollutantsName()) + .append("monitoringFacility", getMonitoringFacility()) + .append("monitoringAutomaticNetworking", getMonitoringAutomaticNetworking()) + .append("monitoringAutomaticName", getMonitoringAutomaticName()) + .append("monitoringAutomaticAddress", getMonitoringAutomaticAddress()) + .append("monitoringAutomaticRequire", getMonitoringAutomaticRequire()) + .append("monitoringManualSampling", getMonitoringManualSampling()) + .append("monitoringManualFrequency", getMonitoringManualFrequency()) + .append("monitoringManualMeans", getMonitoringManualMeans()) + .append("otherInformation", getOtherInformation()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMonOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMonOther.java new file mode 100644 index 0000000..a8874ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisSelfMonOther.java @@ -0,0 +1,155 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可自行监测记录对象 b_main_poll_dis_self_mon_other + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测记录") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_self_mon_other") +public class BMainPollDisSelfMonOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "mon_other_id",type = IdType.AUTO) + /** 主键id */ + private Long monOtherId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantType; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "监测内容") + /** 监测内容 */ + @Excel(name = "监测内容") + private String monitoringContent; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollutantsName; + + + @ApiModelProperty(value = "监测设施") + /** 监测设施 */ + @Excel(name = "监测设施") + private String monitoringFacility; + + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网 */ + @Excel(name = "自动监测是否联网") + private String monitoringAutomaticNetworking; + + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称 */ + @Excel(name = "自动监测仪器名称") + private String monitoringAutomaticName; + + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置 */ + @Excel(name = "自动监测设施安装位置") + private String monitoringAutomaticAddress; + + + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + /** 自动监测实施是否符合管理要求 */ + @Excel(name = "自动监测实施是否符合管理要求") + private String monitoringAutomaticRequire; + + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数 */ + @Excel(name = "手工监测采样方法及个数") + private String monitoringManualSampling; + + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次 */ + @Excel(name = "手工监测频次") + private String monitoringManualFrequency; + + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法 */ + @Excel(name = "手工测定方法") + private String monitoringManualMeans; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherInformation; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("monOtherId", getMonOtherId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantType", getPollutantType()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("monitoringContent", getMonitoringContent()) + .append("pollutantsName", getPollutantsName()) + .append("monitoringFacility", getMonitoringFacility()) + .append("monitoringAutomaticNetworking", getMonitoringAutomaticNetworking()) + .append("monitoringAutomaticName", getMonitoringAutomaticName()) + .append("monitoringAutomaticAddress", getMonitoringAutomaticAddress()) + .append("monitoringAutomaticRequire", getMonitoringAutomaticRequire()) + .append("monitoringManualSampling", getMonitoringManualSampling()) + .append("monitoringManualFrequency", getMonitoringManualFrequency()) + .append("monitoringManualMeans", getMonitoringManualMeans()) + .append("otherInformation", getOtherInformation()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterMout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterMout.java new file mode 100644 index 0000000..2b2e07d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterMout.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可水污染物主排放口对象 b_main_poll_dis_water_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物主排放口") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_water_mout") +public class BMainPollDisWaterMout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "mout_id",type = IdType.AUTO) + /** 主键id */ + private Long moutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + @Excel(name = "排放口是否合计") + private String outletUseTotal; + + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + @Excel(name = "许可排放速率限值") + private String pollutantsMgRate; + + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口)") + @TableField(exist = false) + private String vent; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("moutId", getMoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletUseTotal", getOutletUseTotal()) + .append("pollutantsMgRate", getPollutantsMgRate()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterOout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterOout.java new file mode 100644 index 0000000..b580755 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterOout.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可水污染物一般排放口对象 b_main_poll_dis_water_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物一般排放口") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_water_oout") +public class BMainPollDisWaterOout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "oout_id",type = IdType.AUTO) + /** 主键id */ + private Long ooutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + @Excel(name = "排放口是否合计") + private String outletUseTotal; + + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + @Excel(name = "许可排放速率限值") + private String pollutantsMgRate; + + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口)") + @TableField(exist = false) + private String vent; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("ooutId", getOoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletUseTotal", getOutletUseTotal()) + .append("pollutantsMgRate", getPollutantsMgRate()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterSout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterSout.java new file mode 100644 index 0000000..6bf45af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterSout.java @@ -0,0 +1,112 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可水污染物特殊情况对象 b_main_poll_dis_water_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物特殊情况") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_water_sout") +public class BMainPollDisWaterSout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "sout_id",type = IdType.AUTO) + /** 主键id */ + private Long soutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantType; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + + @ApiModelProperty(value = "许可排放时段") + /** 许可排放时段 */ + @Excel(name = "许可排放时段") + private String pollutantsTimeFrame; + + + @ApiModelProperty(value = "许可排放浓度限值") + /** 许可排放浓度限值 */ + @Excel(name = "许可排放浓度限值") + private String pollutantsConcentration; + + + @ApiModelProperty(value = "许可日排放量限值") + /** 许可日排放量限值 */ + @Excel(name = "许可日排放量限值") + private String pollutantsDis; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息") + private String otherDetail; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("soutId", getSoutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantType", getPollutantType()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTimeFrame", getPollutantsTimeFrame()) + .append("pollutantsConcentration", getPollutantsConcentration()) + .append("pollutantsDis", getPollutantsDis()) + .append("otherDetail", getOtherDetail()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterTout.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterTout.java new file mode 100644 index 0000000..88db6ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainPollDisWaterTout.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污许可水污染物排放总计对象 b_main_poll_dis_water_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物排放总计") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_poll_dis_water_tout") +public class BMainPollDisWaterTout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + @TableId(value = "tout_id",type = IdType.AUTO) + /** 主键id */ + private Long toutId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + @Excel(name = "排污许可表id") + private String pollDisId; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantsType; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantsCode; + + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + @Excel(name = "第一年") + private String pollutantsTotalFrist; + + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + @Excel(name = "第二年") + private String pollutantsTotalSecond; + + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + @Excel(name = "第三年") + private String pollutantsTotalThird; + + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + @Excel(name = "第四年") + private String pollutantsTotalFourth; + + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + @Excel(name = "第五年") + private String pollutantsTotalFifth; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("toutId", getToutId()) + .append("factoryId", getFactoryId()) + .append("pollDisId", getPollDisId()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsTotalFrist", getPollutantsTotalFrist()) + .append("pollutantsTotalSecond", getPollutantsTotalSecond()) + .append("pollutantsTotalThird", getPollutantsTotalThird()) + .append("pollutantsTotalFourth", getPollutantsTotalFourth()) + .append("pollutantsTotalFifth", getPollutantsTotalFifth()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionInorgGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionInorgGas.java new file mode 100644 index 0000000..f9f0ceb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionInorgGas.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 废气无组织排放产治排信息对象 b_main_production_inorg_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气无组织排放产治排信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_production_inorg_gas") +public class BMainProductionInorgGas extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + @ApiModelProperty(value = "许可证无组织监测点位名称") + /** 许可证无组织监测点位名称 */ + @Excel(name = "许可证无组织监测点位名称") + private String licenceMonName; + + + @ApiModelProperty(value = "监测类型") + /** 监测类型 */ + @Excel(name = "监测类型") + private String monitoringType; + + + @ApiModelProperty(value = "无组织监测点位") + /** 无组织监测点位 */ + @Excel(name = "无组织监测点位") + private String monitoringInorganization; + + + @ApiModelProperty(value = "主要污染防治措施") + /** 主要污染防治措施 */ + @Excel(name = "主要污染防治措施") + private String pollutionPrevention; + + + @ApiModelProperty(value = "产污环节") + /** 产污环节 */ + @Excel(name = "产污环节") + private String pollutionProductionLink; + + + @ApiModelProperty(value = "对应生产设施编号") + /** 对应生产设施编号 */ + @Excel(name = "对应生产设施编号") + private String correspondingProductionCode; + + @ApiModelProperty(value = "生产设施id, 多个用逗号分隔") + private String correspondingProductionId; + + + @ApiModelProperty(value = "视频监控") + /** 视频监控 */ + @Excel(name = "视频监控") + private String devId; + + + @ApiModelProperty(value = "对应生产设施名称") + /** 对应生产设施名称 */ + @Excel(name = "对应生产设施名称") + private String correspondingProductionName; + + + @ApiModelProperty(value = "生产设施参数") + /** 生产设施参数 */ + @Excel(name = "生产设施参数") + private String proFacilityParam; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutionType; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("licenceMonName", getLicenceMonName()) + .append("monitoringType", getMonitoringType()) + .append("monitoringInorganization", getMonitoringInorganization()) + .append("pollutionPrevention", getPollutionPrevention()) + .append("pollutionProductionLink", getPollutionProductionLink()) + .append("correspondingProductionCode", getCorrespondingProductionCode()) + .append("devId", getDevId()) + .append("correspondingProductionName", getCorrespondingProductionName()) + .append("proFacilityParam", getProFacilityParam()) + .append("pollutionType", getPollutionType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionOrganizGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionOrganizGas.java new file mode 100644 index 0000000..4d909e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionOrganizGas.java @@ -0,0 +1,147 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 废气有组织排放产治排信息对象 b_main_production_organiz_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气有组织排放产治排信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_production_organiz_gas") +public class BMainProductionOrganizGas extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口类型") + /** 排放口类型 */ + @Excel(name = "排放口类型") + private String outletType; + + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型 */ + @Excel(name = "排口监测类型") + private String outletMonType; + + + @ApiModelProperty(value = "治理设施编号") + /** 治理设施编号 */ + @Excel(name = "治理设施编号") + private String cepFacilityCode; + + + @ApiModelProperty(value = "治理设施名称") + /** 治理设施名称 */ + @Excel(name = "治理设施名称") + private String cepFacilityName; + + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺 */ + @Excel(name = "治理设施工艺") + private String cepFacilityCraft; + + + @ApiModelProperty(value = "生产设施编号") + /** 生产设施编号 */ + @Excel(name = "生产设施编号") + private String proFacilityCode; + + + @ApiModelProperty(value = "生产设施名称") + /** 生产设施名称 */ + @Excel(name = "生产设施名称") + private String proFacilityName; + + + @ApiModelProperty(value = "视频监控") + /** 视频监控 */ + @Excel(name = "视频监控") + private Long devId; + + + @ApiModelProperty(value = "生产设施参数") + /** 生产设施参数 */ + @Excel(name = "生产设施参数") + private String proFacilityParam; + + + @ApiModelProperty(value = "对应产污环节名称") + /** 对应产污环节名称 */ + @Excel(name = "对应产污环节名称") + private String pollutionProductionLink; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutionType; + + @ApiModelProperty(value = "治理设施id, 多个用逗号分隔") + private String cepFacilityId; + + @ApiModelProperty(value = "生产设施id, 多个用逗号分隔") + private String proFacilityId; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletType", getOutletType()) + .append("outletMonType", getOutletMonType()) + .append("cepFacilityCode", getCepFacilityCode()) + .append("cepFacilityName", getCepFacilityName()) + .append("cepFacilityCraft", getCepFacilityCraft()) + .append("proFacilityCode", getProFacilityCode()) + .append("proFacilityName", getProFacilityName()) + .append("devId", getDevId()) + .append("proFacilityParam", getProFacilityParam()) + .append("pollutionProductionLink", getPollutionProductionLink()) + .append("pollutionType", getPollutionType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionWater.java new file mode 100644 index 0000000..66e5428 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainProductionWater.java @@ -0,0 +1,116 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 废水排放产治排信息对象 b_main_production_water + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废水排放产治排信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_production_water") +public class BMainProductionWater extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口类型") + /** 排放口类型 */ + @Excel(name = "排放口类型") + private String outletType; + + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型 */ + @Excel(name = "排口监测类型") + private String outletMonType; + + + @ApiModelProperty(value = "治理设施编号") + /** 治理设施编号 */ + @Excel(name = "治理设施编号") + private String cepFacilityCode; + + @ApiModelProperty("治理设施id, 多个用逗号分隔") + private String cepFacilityId; + + + @ApiModelProperty(value = "治理设施名称") + /** 治理设施名称 */ + @Excel(name = "治理设施名称") + private String cepFacilityName; + + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺 */ + @Excel(name = "治理设施工艺") + private String cepFacilityCraft; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutionType; + + + @ApiModelProperty(value = "废水类别") + /** 废水类别 */ + @Excel(name = "废水类别") + private String waterType; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("outletType", getOutletType()) + .append("outletMonType", getOutletMonType()) + .append("cepFacilityCode", getCepFacilityCode()) + .append("cepFacilityName", getCepFacilityName()) + .append("cepFacilityCraft", getCepFacilityCraft()) + .append("pollutionType", getPollutionType()) + .append("waterType", getWaterType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidHazardous.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidHazardous.java new file mode 100644 index 0000000..40f755f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidHazardous.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固危废贮存信息对象 b_main_solid_hazardous + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "固危废贮存信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_solid_hazardous") +public class BMainSolidHazardous extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "自行贮存设施名称") + /** 自行贮存设施名称 */ + @Excel(name = "自行贮存设施名称") + private String facilityName; + + + @ApiModelProperty(value = "自行贮存设施编号") + /** 自行贮存设施编号 */ + @Excel(name = "自行贮存设施编号") + private String facilityCode; + + @ApiModelProperty(value = "视频id") + private Long devId; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("facilityName", getFacilityName()) + .append("facilityCode", getFacilityCode()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidWasteOutput.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidWasteOutput.java new file mode 100644 index 0000000..014a4e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSolidWasteOutput.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固废产生与处理对象 b_main_solid_waste_output + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固废产生与处理") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_solid_waste_output") +public class BMainSolidWasteOutput extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份*/ + @Excel(name = "年份") + private String particularYear; + + + @ApiModelProperty(value = "月份") + /** 月份*/ + @Excel(name = "月份") + private String particularMonth; + + + @ApiModelProperty(value = "废物类别") + /** 废物类别*/ + @Excel(name = "废物类别") + private String materialsType; + + + @ApiModelProperty(value = "废物代码") + /** 废物代码*/ + @Excel(name = "废物代码") + private String materialsCode; + + + @ApiModelProperty(value = "废物名称") + /** 废物名称*/ + @Excel(name = "废物名称") + private String materialsName; + + + @ApiModelProperty(value = "产生量(吨)") + /** 产生量(吨)*/ + @Excel(name = "产生量") + private String materialsOutput; + + + @ApiModelProperty(value = "期初贮存量") + /** 期初贮存量*/ + @Excel(name = "期初贮存量") + private String materialsPreliminaryStage; + + + @ApiModelProperty(value = "累计贮存量") + /** 累计贮存量*/ + @Excel(name = "累计贮存量") + private String materialsAccumulated; + + + @ApiModelProperty(value = "自行利用数量") + /** 自行利用数量*/ + @Excel(name = "自行利用数量") + private String materialsUse; + + + @ApiModelProperty(value = "自行处置数量") + /** 自行处置数量*/ + @Excel(name = "自行处置数量") + private String materialsDispose; + + + @ApiModelProperty(value = "委托利用数量") + /** 委托利用数量*/ + @Excel(name = "委托利用数量") + private String materialsEntrustUse; + + + @ApiModelProperty(value = "委托处置数量") + /** 委托处置数量*/ + @Excel(name = "委托处置数量") + private String materialsEntrustDispose; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("particularYear", getParticularYear()) + .append("particularMonth", getParticularMonth()) + .append("materialsType", getMaterialsType()) + .append("materialsCode", getMaterialsCode()) + .append("materialsName", getMaterialsName()) + .append("materialsOutput", getMaterialsOutput()) + .append("materialsPreliminaryStage", getMaterialsPreliminaryStage()) + .append("materialsAccumulated", getMaterialsAccumulated()) + .append("materialsUse", getMaterialsUse()) + .append("materialsDispose", getMaterialsDispose()) + .append("materialsEntrustUse", getMaterialsEntrustUse()) + .append("materialsEntrustDispose", getMaterialsEntrustDispose()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSysFeedback.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSysFeedback.java new file mode 100644 index 0000000..d0b3d0e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainSysFeedback.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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.util.Date; + +@ApiModel(value = "系统使用反馈") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_sys_feedback") +public class BMainSysFeedback extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "反馈类型 1:系统问题, 2:功能建议") + private String type; + + @ApiModelProperty(value = "反馈内容") + private String content; + + @ApiModelProperty(value = "反馈人") + private String feedbackUser; + + @ApiModelProperty(value = "联系电话") + private String phone; + + @ApiModelProperty(value = "反馈状态 1:未读, 2:已读") + private String status; + + private String createBy; + private String createByName; + private Date createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforc.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforc.java new file mode 100644 index 0000000..b3b26f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforc.java @@ -0,0 +1,219 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 三监联动执法信息对象 b_main_three_supervision_enforc + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_three_supervision_enforc") +public class BMainThreeSupervisionEnforc extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "task_id",type = IdType.AUTO) + private String taskId; + + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + + @ApiModelProperty(value = "排污单位") + /** 排污单位 */ + @Excel(name = "排污单位") + private String factoryId; + + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称") + private String factoryName; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区域名称") + private String districtName; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + @Excel(name = "区域编码") + private String districtCode; + + + @ApiModelProperty(value = "所属行业名称") + /** 所属行业名称 */ + @Excel(name = "所属行业名称") + private String industryCategoryName; + + + @ApiModelProperty(value = "所属行业编码") + /** 所属行业编码 */ + @Excel(name = "所属行业编码") + private String industryCategoryCode; + + + @ApiModelProperty(value = "管理类别;(重点=focus、简化=simplify、登记=register)") + /** 管理类别;(重点=focus、简化=simplify、登记=register) */ + @Excel(name = "管理类别", readConverterExp = "focus=重点,simplify=简化,register=登记") + private String manType; + + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + @Excel(name = "行业类别") + private String industryCategory; + + + @ApiModelProperty(value = "办结时间") + /** 办结时间 */ + @Excel(name = "办结时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date closingTime; + + + @ApiModelProperty(value = "归档时间") + /** 归档时间 */ + @Excel(name = "归档时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date archiveTime; + + + @ApiModelProperty(value = "任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档)") + /** 任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档) */ + @Excel(name = "任务状态", readConverterExp = "0=办理中,5=已办结,9=已归档") + private String taskStatus; + + + @ApiModelProperty(value = "发起部门id") + /** 发起部门id */ + @Excel(name = "发起部门id") + private String initiatingDeptId; + + + @ApiModelProperty(value = "发起部门名称") + /** 发起部门名称 */ + @Excel(name = "发起部门名称") + private String initiatingDeptName; + + + @ApiModelProperty(value = "紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急)") + /** 紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急) */ + @Excel(name = "紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急)") + private String emergencyLevel; + + + @ApiModelProperty(value = "发起时间") + @Excel(name = "预计发起时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date initiatingTime; + + + @ApiModelProperty(value = "预计完成时间") + /** 预计完成时间 */ + @Excel(name = "预计完成时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date estimatedCompletionTime; + + + @ApiModelProperty(value = "单位地址") + /** 单位地址 */ + @Excel(name = "单位地址") + private String factoryAddress; + + + @ApiModelProperty(value = "具体问题") + /** 具体问题 */ + @Excel(name = "具体问题") + private String specificIssues; + + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + @Excel(name = "任务描述") + private String taskDetails; + + + @ApiModelProperty(value = "问题附件") + /** 问题附件 */ + @Excel(name = "问题附件") + private String questionAttachment; + + + @ApiModelProperty(value = "接受部门id") + /** 接受部门id */ + @Excel(name = "接受部门id") + private String receivingDeptIds; + + + @ApiModelProperty(value = "接受部门名称") + /** 接受部门名称 */ + @Excel(name = "接受部门名称") + private String receivingDeptNames; + + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + @Excel(name = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createTime; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("taskId", getTaskId()) + .append("taskName", getTaskName()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("manType", getManType()) + .append("industryCategory", getIndustryCategory()) + .append("closingTime", getClosingTime()) + .append("archiveTime", getArchiveTime()) + .append("taskStatus", getTaskStatus()) + .append("initiatingTime", getInitiatingTime()) + .append("initiatingDeptId", getInitiatingDeptId()) + .append("initiatingDeptName", getInitiatingDeptName()) + .append("emergencyLevel", getEmergencyLevel()) + .append("estimatedCompletionTime", getEstimatedCompletionTime()) + .append("factoryAddress", getFactoryAddress()) + .append("specificIssues", getSpecificIssues()) + .append("taskDetails", getTaskDetails()) + .append("questionAttachment", getQuestionAttachment()) + .append("receivingDeptIds", getReceivingDeptIds()) + .append("receivingDeptNames", getReceivingDeptNames()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforcRecord.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforcRecord.java new file mode 100644 index 0000000..8acc01a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainThreeSupervisionEnforcRecord.java @@ -0,0 +1,107 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 三监联动执法信息记录对象 b_main_three_supervision_enforc_record + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息记录") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_three_supervision_enforc_record") +public class BMainThreeSupervisionEnforcRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "record_id",type = IdType.AUTO) + private String recordId; + + + @ApiModelProperty(value = "父任务id") + /** 父任务id */ + private String taskId; + + + @ApiModelProperty(value = "办理部门") + /** 办理部门 */ + @Excel(name = "办理部门") + private String handleDeptId; + + + @ApiModelProperty(value = "办理部门名称") + /** 办理部门名称 */ + @Excel(name = "办理部门名称") + private String handleDeptName; + + + @ApiModelProperty(value = "实际办理人员") + /** 实际办理人员 */ + @Excel(name = "实际办理人员") + private String handlePerson; + + + @ApiModelProperty(value = "办理时间") + /** 办理时间 */ + @Excel(name = "办理时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String handleTime; + + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + @Excel(name = "是否现场执法", readConverterExp = "0=否,1=是") + private String isEnforcement; + + @ApiModelProperty(value = "结论(多个结论逗号分割)") + /** 结论 */ + @Excel(name = "结论") + private String conclusion; + + + @ApiModelProperty(value = "具体结论") + /** 具体结论 */ + @Excel(name = "具体结论") + private String specificConclusion; + + + @ApiModelProperty(value = "问题附件") + /** 问题附件 */ + @Excel(name = "问题附件") + private String questionAttachment; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("taskId", getTaskId()) + .append("handleDeptId", getHandleDeptId()) + .append("handleDeptName", getHandleDeptName()) + .append("handlePerson", getHandlePerson()) + .append("handleTime", getHandleTime()) + .append("conclusion", getConclusion()) + .append("specificConclusion", getSpecificConclusion()) + .append("questionAttachment", getQuestionAttachment()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTask.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTask.java new file mode 100644 index 0000000..6721d9e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTask.java @@ -0,0 +1,221 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 移动执法信息-双随机任务对象 b_main_two_random_task + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-双随机任务") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_two_random_task") +public class BMainTwoRandomTask extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "任务类型") + /** 任务类型 */ + @Excel(name = "任务类型") + private String taskType; + + + @ApiModelProperty(value = "任务状态") + /** 任务状态 */ + @Excel(name = "任务状态") + private String taskStatus; + + + @ApiModelProperty(value = "执法人员") + /** 执法人员 */ + @Excel(name = "执法人员") + private String enforceUser; + + + @ApiModelProperty(value = "当前办理人") + /** 当前办理人 */ + @Excel(name = "当前办理人") + private String currentDealUser; + + + @ApiModelProperty(value = "联合抽查部门") + /** 联合抽查部门 */ + @Excel(name = "联合抽查部门") + private String checkDept; + + + @ApiModelProperty(value = "联合抽查人") + /** 联合抽查人 */ + @Excel(name = "联合抽查人") + private String checkUser; + + + @ApiModelProperty(value = "计划完成时间") + /** 计划完成时间 */ + @Excel(name = "计划完成时间") + private String planCompleteTime; + + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + @Excel(name = "完成时间") + private String completeTime; + + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + @Excel(name = "任务描述") + private String taksDesc; + + + @ApiModelProperty(value = "企业类别") + /** 企业类别 */ + @Excel(name = "企业类别") + private String factoryType; + + + @ApiModelProperty(value = "法定代表人") + /** 法定代表人 */ + @Excel(name = "法定代表人") + private String factoryPrincipalMan; + + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + @Excel(name = "企业地址") + private String factoryAddr; + + + @ApiModelProperty(value = "统一信用编码") + /** 统一信用编码 */ + @Excel(name = "统一信用编码") + private String factoryUscCode; + + + @ApiModelProperty(value = "排污许可证号") + /** 排污许可证号 */ + @Excel(name = "排污许可证号") + private String factoryPollDisLicenseCode; + + + @ApiModelProperty(value = "环保负责人") + /** 环保负责人 */ + @Excel(name = "环保负责人") + private String factoryEnvUser; + + + @ApiModelProperty(value = "联系电话") + /** 联系电话 */ + @Excel(name = "联系电话") + private String factoryPhone; + + + @ApiModelProperty(value = "企业类型") + /** 企业类型 */ + @Excel(name = "企业类型") + private String factoryPollutantType; + + + @ApiModelProperty(value = "企业状态") + /** 企业状态 */ + @Excel(name = "企业状态") + private String factoryStatus; + + + @ApiModelProperty(value = "在线监测情况") + /** 在线监测情况 */ + @Excel(name = "在线监测情况") + private String factoryMonitor; + + + @ApiModelProperty(value = "内部联合抽查") + /** 内部联合抽查 */ + @Excel(name = "内部联合抽查") + private String isInnerCheck; + + + @ApiModelProperty(value = "现场执法") + /** 现场执法 */ + @Excel(name = "现场执法") + private String isSceneEnforce; + + + @ApiModelProperty(value = "非现场执法") + /** 非现场执法 */ + @Excel(name = "非现场执法") + private String noSceneEnforce; + + + @ApiModelProperty(value = "涉及环境问题") + /** 涉及环境问题 */ + @Excel(name = "涉及环境问题") + private String withEnvProblem; + + + @ApiModelProperty(value = "下达隐患提示函") + /** 下达隐患提示函 */ + @Excel(name = "下达隐患提示函") + private String isHiddenTroubleLetter; + + + @ApiModelProperty(value = "公示结果") + /** 公示结果 */ + @Excel(name = "公示结果") + private String publicResult; + + + @ApiModelProperty(value = "执法结论") + /** 执法结论 */ + @Excel(name = "执法结论") + private String enforceConclusion; + + + @ApiModelProperty(value = "核查结论备注") + /** 核查结论备注 */ + @Excel(name = "核查结论备注") + private String checkRemarks; + + + @ApiModelProperty(value = "证据清单附件") + /** 证据清单附件 */ + @Excel(name = "证据清单附件") + private String evidenceFileUrl; + + private String evidenceFileName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTaskStep.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTaskStep.java new file mode 100644 index 0000000..61659bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BMainTwoRandomTaskStep.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 移动执法信息-双随机任务-流程步骤对象 b_main_two_random_task_step + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-双随机任务-流程步骤") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_main_two_random_task_step") +public class BMainTwoRandomTaskStep extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "双随机任务id") + /** 双随机任务id */ + @Excel(name = "双随机任务id") + private String twoRandomTaskId; + + + @ApiModelProperty(value = "步骤名") + /** 步骤名 */ + @Excel(name = "步骤名") + private String stepName; + + + @ApiModelProperty(value = "操作时间") + /** 操作时间 */ + @Excel(name = "操作时间") + private String operateTime; + + + @ApiModelProperty(value = "操作人名称") + /** 操作人名称 */ + @Excel(name = "操作人名称") + private String operateUserName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("twoRandomTaskId", getTwoRandomTaskId()) + .append("stepName", getStepName()) + .append("operateTime", getOperateTime()) + .append("operateUserName", getOperateUserName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilities.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilities.java new file mode 100644 index 0000000..610d584 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilities.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +/** + * 固定源产治排--排污许可--生产设施信息 + */ +@ApiModel(description = "固定源产治排--排污许可--生产设施信息") +@Data +@TableName(value = "b_stat_table_pwxk_production_facilities") +public class BStatTablePwxkProductionFacilities implements Serializable { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Long id; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + + /** + * 生产线类型 + */ + @TableField(value = "production_line_type") + @ApiModelProperty(value = "生产线类型") + private String productionLineType; + + /** + * 生产线编号 + */ + @TableField(value = "production_line_code") + @ApiModelProperty(value = "生产线编号") + private String productionLineCode; + + /** + * 主要生产单元名称 + */ + @TableField(value = "production_unit_name") + @ApiModelProperty(value = "主要生产单元名称") + private String productionUnitName; + + /** + * 主要工艺名称 + */ + @TableField(value = "craft_name") + @ApiModelProperty(value = "主要工艺名称") + private Short craftName; + + /** + * 生产设施名称 + */ + @TableField(value = "facility_name") + @ApiModelProperty(value = "生产设施名称") + private String facilityName; + + /** + * 是否涉及商业秘密(0否1是) + */ + @TableField(value = "trade_secrets") + @ApiModelProperty(value = "是否涉及商业秘密(0否1是)") + private String tradeSecrets; + + /** + * 生产设施编号 + */ + @TableField(value = "production_facility_code") + @ApiModelProperty(value = "生产设施编号") + private String productionFacilityCode; + + /** + * 其他设施信息 + */ + @TableField(value = "other_facility_info") + @ApiModelProperty(value = "其他设施信息") + private String otherFacilityInfo; + + /** + * 其他工艺信息 + */ + @TableField(value = "other_craft_info") + @ApiModelProperty(value = "其他工艺信息") + private String otherCraftInfo; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_PRODUCTION_LINE_TYPE = "production_line_type"; + + public static final String COL_PRODUCTION_LINE_CODE = "production_line_code"; + + public static final String COL_PRODUCTION_UNIT_NAME = "production_unit_name"; + + public static final String COL_CRAFT_NAME = "craft_name"; + + public static final String COL_FACILITY_NAME = "facility_name"; + + public static final String COL_TRADE_SECRETS = "trade_secrets"; + + public static final String COL_PRODUCTION_FACILITY_CODE = "production_facility_code"; + + public static final String COL_OTHER_FACILITY_INFO = "other_facility_info"; + + public static final String COL_OTHER_CRAFT_INFO = "other_craft_info"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilitiesParams.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilitiesParams.java new file mode 100644 index 0000000..85f2614 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProductionFacilitiesParams.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.domain; + +////import cn.cecep.talroad.common.core.annotation.ExcelNew; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--生产设施参数信息 + */ +@ApiModel(description = "固定源产治排--排污许可--生产设施参数信息") +@Data +@TableName(value = "b_stat_table_pwxk_production_facilities_params") +public class BStatTablePwxkProductionFacilitiesParams implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACILITIES_ID = "facilities_id"; + public static final String COL_PARAMS_NAME = "params_name"; + public static final String COL_PARAMS_UNIT = "params_unit"; + public static final String COL_DESIGN_VALUES = "design_values"; + public static final String COL_OTHER_PARAMS_INFO = "other_params_info"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Long id; + /** + * 设施id + */ + @TableField(value = "facilities_id") + @ApiModelProperty(value = "设施id") + private String facilitiesId; + /** + * 参数名 + */ + @TableField(value = "params_name") + @ApiModelProperty(value = "参数名") +// @ExcelNew(needMerge = true,name = "参数名",sort = 2,cellType = ExcelNew.ColumnType.STRING) + private String paramsName; + /** + * 计量单位 + */ + @TableField(value = "params_unit") + @ApiModelProperty(value = "计量单位") +// @ExcelNew(needMerge = true,name = "计量单位",sort = 3) + private String paramsUnit; + /** + * 设计值 + */ + @TableField(value = "design_values") + @ApiModelProperty(value = "设计值") +// @ExcelNew(needMerge = true,name = "设计值",sort = 4) + private String designValues; + /** + * 其他设施信息 + */ + @TableField(value = "other_params_info") + @ApiModelProperty(value = "其他设施信息") +// @ExcelNew(needMerge = true,name = "其他设施信息",sort = 5) + private String otherParamsInfo; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProducts.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProducts.java new file mode 100644 index 0000000..29dd17a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkProducts.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--产品信息 + */ +@ApiModel(description="固定源产治排--排污许可--产品信息") +@Data +@TableName(value = "b_stat_table_pwxk_products") +public class BStatTablePwxkProducts implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_PRODUCT_NAME = "product_name"; + public static final String COL_UNIT = "unit"; + public static final String COL_PRODUCTION_CAPACITY = "production_capacity"; + public static final String COL_YEAR_PRODUCTION_TIME = "year_production_time"; + public static final String COL_OTHER_INFO = "other_info"; + public static final String COL_TRADE_SECRETS = "trade_secrets"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + /** + * 产品名称 + */ + @TableField(value = "product_name") + @ApiModelProperty(value="产品名称") + @Excel(name = "产品名称",sort = 9) + private String productName; + /** + * 计量单位 + */ + @TableField(value = "unit") + @ApiModelProperty(value="计量单位") + @Excel(name = "计量单位",sort = 10) + private String unit; + /** + * 生产能力 + */ + @TableField(value = "production_capacity") + @ApiModelProperty(value="生产能力") + @Excel(name = "生产能力",sort = 11) + private String productionCapacity; + /** + * 设计年生产时间(h) + */ + @TableField(value = "year_production_time") + @ApiModelProperty(value="设计年生产时间(h)") + @Excel(name = "设计年生产时间(h)",sort = 12) + private Short yearProductionTime; + /** + * 其他信息 + */ + @TableField(value = "other_info") + @ApiModelProperty(value="其他信息") + @Excel(name = "其他信息",sort = 13) + private String otherInfo; + /** + * 是否涉及商业秘密(0否1是) + */ + @TableField(value = "trade_secrets") + @ApiModelProperty(value="是否涉及商业秘密(0否1是)") + @Excel(name = "是否涉及商业秘密",sort = 14,readConverterExp = "0=否,1=是") + private String tradeSecrets; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryIn.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryIn.java new file mode 100644 index 0000000..ca94d14 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryIn.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--工业污水进水信息 + */ +@ApiModel(description="固定源产治排--排污许可--工业污水进水信息") +@Data +@TableName(value = "b_stat_table_pwxk_water_industry_in") +public class BStatTablePwxkWaterIndustryIn implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_TREATMENT_PLANT_NAME = "treatment_plant_name"; + public static final String COL_SERVICE_PROVIDER = "service_provider"; + public static final String COL_TREATMENT_PLANT_TYPE = "treatment_plant_type"; + public static final String COL_BELONG_TO_WATER_TREATMENT_FACILITIES = "belong_to_water_treatment_facilities"; + public static final String COL_OUTLET_CODE = "outlet_code"; + public static final String COL_INFLOW_WATER_VOLUME = "inflow_water_volume"; + public static final String COL_INFLOW_WATER_LIMIT = "inflow_water_limit"; + public static final String COL_PIPE_PROPERTIES = "pipe_properties"; + public static final String COL_PIPE_UNIT = "pipe_unit"; + public static final String COL_PIPE_LON = "pipe_lon"; + public static final String COL_PIPE_LAT = "pipe_lat"; + public static final String COL_REMARKS = "remarks"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + /** + * 污水处理厂名称 + */ + @TableField(value = "treatment_plant_name") + @ApiModelProperty(value="污水处理厂名称") + @Excel(name = "污水处理厂名称",sort = 3) + private String treatmentPlantName; + /** + * 运营商名称 + */ + @TableField(value = "service_provider") + @ApiModelProperty(value="运营商名称") + @Excel(name = "运营商名称",sort = 4) + private String serviceProvider; + /** + * 污水处理厂类型 + */ + @TableField(value = "treatment_plant_type") + @ApiModelProperty(value="污水处理厂类型") + @Excel(name = "污水处理厂类型",sort = 12) + private String treatmentPlantType; + /** + * 是否属于工业园区配套污水处理设施(0否1是) + */ + @TableField(value = "belong_to_water_treatment_facilities") + @ApiModelProperty(value="是否属于工业园区配套污水处理设施(0否1是)") + @Excel(name = "是否属于工业园区配套污水处理设施",sort = 13,readConverterExp = "0=否,1=是") + private String belongToWaterTreatmentFacilities; + /** + * 排放口编号 + */ + @TableField(value = "outlet_code") + @ApiModelProperty(value="排放口编号") + @Excel(name = "排放口编号",sort = 15) + private String outletCode; + /** + * 进水水量(m3/h) + */ + @TableField(value = "inflow_water_volume") + @ApiModelProperty(value="进水水量(m3/h)") + @Excel(name = "进水水量(m³/h)",sort = 21) + private String inflowWaterVolume; + /** + * 进水水质与行业排放标准浓度限值(mg/L) + */ + @TableField(value = "inflow_water_limit") + @ApiModelProperty(value="进水水质与行业排放标准浓度限值(mg/L)") + @Excel(name = "进水水质与行业排放标准浓度限值(mg/L)",sort = 22) + private String inflowWaterLimit; + /** + * 管网属性(分流/合流) + */ + @TableField(value = "pipe_properties") + @ApiModelProperty(value="管网属性(分流/合流)") + @Excel(name = "管网属性(分流/合流)",sort = 23) + private String pipeProperties; + /** + * 管网所有权单位 + */ + @TableField(value = "pipe_unit") + @ApiModelProperty(value="管网所有权单位") + @Excel(name = "管网所有权单位",sort = 24) + private String pipeUnit; + /** + * 接入管网坐标--经度 + */ + @TableField(value = "pipe_lon") + @ApiModelProperty(value="接入管网坐标--经度") + @Excel(name = "接入管网坐标-经度",sort = 25) + private String pipeLon; + /** + * 接入管网坐标--纬度 + */ + @TableField(value = "pipe_lat") + @ApiModelProperty(value="接入管网坐标--纬度") + @Excel(name = "接入管网坐标-纬度",sort = 26) + private String pipeLat; + /** + * 备注 + */ + @TableField(value = "remarks") + @ApiModelProperty(value="备注") + @Excel(name = "备注",sort = 27) + private String remarks; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryInTotal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryInTotal.java new file mode 100644 index 0000000..bccbad6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterIndustryInTotal.java @@ -0,0 +1,108 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--工业污水进水合计 + */ +@ApiModel(description="固定源产治排--排污许可--工业污水进水合计") +@Data +@TableName(value = "b_stat_table_pwxk_water_industry_in_total") +public class BStatTablePwxkWaterIndustryInTotal implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_TREATMENT_PLANT_NAME = "treatment_plant_name"; + public static final String COL_SERVICE_PROVIDER = "service_provider"; + public static final String COL_TREATMENT_PLANT_TYPE = "treatment_plant_type"; + public static final String COL_BELONG_TO_WATER_TREATMENT_FACILITIES = "belong_to_water_treatment_facilities"; + public static final String COL_COD_TOTAL = "cod_total"; + public static final String COL_INFLOW_WATER_TOTAL = "inflow_water_total"; + public static final String COL_AMMONIA_NITROGEN_TOTAL = "ammonia_nitrogen_total"; + public static final String COL_TOTAL_NITROGEN_TOTAL = "total_nitrogen_total"; + public static final String COL_TOTAL_PHOSPHORUS_TOTAL = "total_phosphorus_total"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + /** + * 污水处理厂名称 + */ + @TableField(value = "treatment_plant_name") + @ApiModelProperty(value="污水处理厂名称") + @Excel(name = "污水处理厂名称",sort = 3) + private String treatmentPlantName; + /** + * 运营商名称 + */ + @TableField(value = "service_provider") + @ApiModelProperty(value="运营商名称") + @Excel(name = "运营商名称",sort = 4) + private String serviceProvider; + /** + * 污水处理厂类型 + */ + @TableField(value = "treatment_plant_type") + @ApiModelProperty(value="污水处理厂类型") + @Excel(name = "污水处理厂类型",sort = 12) + private String treatmentPlantType; + /** + * 是否属于工业园区配套污水处理设施(0否1是) + */ + @TableField(value = "belong_to_water_treatment_facilities") + @ApiModelProperty(value="是否属于工业园区配套污水处理设施(0否1是)") + @Excel(name = "是否属于工业园区配套污水处理设施",sort = 13,readConverterExp = "0=否,1=是") + private String belongToWaterTreatmentFacilities; + /** + * CODcr年排放量合计(t/a) + */ + @TableField(value = "cod_total") + @ApiModelProperty(value="CODcr年排放量合计(t/a)") + @Excel(name = "CODcr年排放量合计(t/a)",sort = 14) + private String codTotal; + /** + * 进水量合计(m³/d) + */ + @TableField(value = "inflow_water_total") + @ApiModelProperty(value="进水量合计(m³/d)") + @Excel(name = "进水量合计(m³/d)",sort = 15) + private String inflowWaterTotal; + /** + * 氨氮年排放量合计(t/a) + */ + @TableField(value = "ammonia_nitrogen_total") + @ApiModelProperty(value="氨氮年排放量合计(t/a)") + @Excel(name = "氨氮年排放量合计(t/a)",sort = 16) + private String ammoniaNitrogenTotal; + /** + * 总氮年排放量合计(t/a) + */ + @TableField(value = "total_nitrogen_total") + @ApiModelProperty(value="总氮年排放量合计(t/a)") + @Excel(name = "总氮年排放量合计(t/a)",sort = 17) + private String totalNitrogenTotal; + /** + * 总磷年排放量合计(t/a) + */ + @TableField(value = "total_phosphorus_total") + @ApiModelProperty(value="总磷年排放量合计(t/a)") + @Excel(name = "总磷年排放量合计(t/a)",sort = 18) + private String totalPhosphorusTotal; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterLifeIn.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterLifeIn.java new file mode 100644 index 0000000..2c4d881 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterLifeIn.java @@ -0,0 +1,148 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--生活污水进水信息 + */ +@ApiModel(description="固定源产治排--排污许可--生活污水进水信息") +@Data +@TableName(value = "b_stat_table_pwxk_water_life_in") +public class BStatTablePwxkWaterLifeIn implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_TREATMENT_PLANT_NAME = "treatment_plant_name"; + public static final String COL_SERVICE_PROVIDER = "service_provider"; + public static final String COL_TREATMENT_PLANT_TYPE = "treatment_plant_type"; + public static final String COL_BELONG_TO_WATER_TREATMENT_FACILITIES = "belong_to_water_treatment_facilities"; + public static final String COL_WATER_RANGE_EAST = "water_range_east"; + public static final String COL_WATER_RANGE_WEST = "water_range_west"; + public static final String COL_WATER_RANGE_SOUTH = "water_range_south"; + public static final String COL_WATER_RANGE_NORTH = "water_range_north"; + public static final String COL_POPULATION_NUMBER = "population_number"; + public static final String COL_SERVICE_COUNTRY_CODE = "service_country_code"; + public static final String COL_INFLOW_WATER_VOLUME = "inflow_water_volume"; + public static final String COL_PIPE_PROPERTIES = "pipe_properties"; + public static final String COL_PIPE_UNIT = "pipe_unit"; + public static final String COL_REMARKS = "remarks"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + /** + * 污水处理厂名称 + */ + @TableField(value = "treatment_plant_name") + @ApiModelProperty(value="污水处理厂名称") + @Excel(name = "污水处理厂名称",sort = 3) + private String treatmentPlantName; + /** + * 运营商名称 + */ + @TableField(value = "service_provider") + @ApiModelProperty(value="运营商名称") + @Excel(name = "运营商名称",sort = 4) + private String serviceProvider; + /** + * 污水处理厂类型 + */ + @TableField(value = "treatment_plant_type") + @ApiModelProperty(value="污水处理厂类型") + @Excel(name = "污水处理厂类型",sort = 12) + private String treatmentPlantType; + /** + * 是否属于工业园区配套污水处理设施(0否1是) + */ + @TableField(value = "belong_to_water_treatment_facilities") + @ApiModelProperty(value="是否属于工业园区配套污水处理设施(0否1是)") + @Excel(name = "是否属于工业园区配套污水处理设施",sort = 13,readConverterExp = "0=否,1=是") + private String belongToWaterTreatmentFacilities; + /** + * 收水四至范围-东 + */ + @TableField(value = "water_range_east") + @ApiModelProperty(value="收水四至范围-东") + @Excel(name = "收水四至范围-东至",sort = 14) + private String waterRangeEast; + /** + * 收水四至范围-西 + */ + @TableField(value = "water_range_west") + @ApiModelProperty(value="收水四至范围-西") + @Excel(name = "收水四至范围-西至",sort = 15) + private String waterRangeWest; + /** + * 收水四至范围-南 + */ + @TableField(value = "water_range_south") + @ApiModelProperty(value="收水四至范围-南") + @Excel(name = "收水四至范围-南至",sort = 16) + private String waterRangeSouth; + /** + * 收水四至范围-北 + */ + @TableField(value = "water_range_north") + @ApiModelProperty(value="收水四至范围-北") + @Excel(name = "收水四至范围-北至",sort = 17) + private String waterRangeNorth; + /** + * 服务人口数量 + */ + @TableField(value = "population_number") + @ApiModelProperty(value="服务人口数量") + @Excel(name = "服务人口数量(万人)",sort = 18) + private Integer populationNumber; + /** + * 服务范围所属行政区域 + */ + @TableField(value = "service_country_code") + @ApiModelProperty(value="服务范围所属行政区域") + @Excel(name = "服务范围所属行政区域",sort = 19) + private String serviceCountryCode; + /** + * 进水水量(m3/h) + */ + @TableField(value = "inflow_water_volume") + @ApiModelProperty(value="进水水量(m3/h)") + @Excel(name = "进水水量(m³/h)",sort = 20) + private String inflowWaterVolume; + /** + * 管网属性 + */ + @TableField(value = "pipe_properties") + @ApiModelProperty(value="管网属性") + @Excel(name = "管网属性",sort = 21) + private String pipeProperties; + /** + * 管网所有权单位 + */ + @TableField(value = "pipe_unit") + @ApiModelProperty(value="管网所有权单位") + @Excel(name = "管网所有权单位",sort = 22) + private String pipeUnit; + /** + * 备注 + */ + @TableField(value = "remarks") + @ApiModelProperty(value="备注") + @Excel(name = "备注",sort = 23) + private String remarks; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentInAsk.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentInAsk.java new file mode 100644 index 0000000..1bccb1a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentInAsk.java @@ -0,0 +1,172 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--污水处理厂进水监测要求 + */ +@ApiModel(description = "固定源产治排--排污许可--污水处理厂进水监测要求") +@Data +@TableName(value = "b_stat_table_pwxk_water_treatment_in_ask") +public class BStatTablePwxkWaterTreatmentInAsk implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_SERVICE_PROVIDER = "service_provider"; + public static final String COL_TREATMENT_PLANT_TYPE = "treatment_plant_type"; + public static final String COL_BELONG_TO_WATER_TREATMENT_FACILITIES = "belong_to_water_treatment_facilities"; + public static final String COL_OUTLET_CODE = "outlet_code"; + public static final String COL_OUTLET_NAME = "outlet_name"; + public static final String COL_MONITORING_CONTENT = "monitoring_content"; + public static final String COL_POLLUTANT_NAME = "pollutant_name"; + public static final String COL_MONITORING_TYPE = "monitoring_type"; + public static final String COL_NETWORKING = "networking"; + public static final String COL_AUTO_MONITOR_NAME = "auto_monitor_name"; + public static final String COL_MONITOR_ADDRESS = "monitor_address"; + public static final String COL_MEET_REQUIREMENT = "meet_requirement"; + public static final String COL_MANUAL_MONITORING_METHOD_NUMBER = "manual_monitoring_method_number"; + public static final String COL_MANUAL_MONITORING_TOTAL = "manual_monitoring_total"; + public static final String COL_MANUAL_TEST_METHOD = "manual_test_method"; + public static final String COL_OTHER = "other"; + public static final String COL_TREATMENT_PLANT_NAME = "treatment_plant_name"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + /** + * 运营商名称 + */ + @TableField(value = "service_provider") + @ApiModelProperty(value = "运营商名称") + @Excel(name = "运营商名称",sort = 4) + private String serviceProvider; + /** + * 污水处理厂类型 + */ + @TableField(value = "treatment_plant_type") + @ApiModelProperty(value = "污水处理厂类型") + @Excel(name = "污水处理厂类型",sort = 12) + private String treatmentPlantType; + /** + * 是否属于工业园区配套污水处理设施(0否1是) + */ + @TableField(value = "belong_to_water_treatment_facilities") + @ApiModelProperty(value = "是否属于工业园区配套污水处理设施(0否1是)") + @Excel(name = "是否属于工业园区配套污水处理设施",sort = 13,readConverterExp = "0=否,1=是") + private String belongToWaterTreatmentFacilities; + /** + * 进水口编号 + */ + @TableField(value = "outlet_code") + @ApiModelProperty(value = "进水口编号") + @Excel(name = "进水口编号",sort = 14) + private String outletCode; + /** + * 进水口名称 + */ + @TableField(value = "outlet_name") + @ApiModelProperty(value = "进水口名称") + @Excel(name = "进水口名称",sort = 15) + private String outletName; + /** + * 监测内容 + */ + @TableField(value = "monitoring_content") + @ApiModelProperty(value = "监测内容") + @Excel(name = "监测内容",sort = 16) + private String monitoringContent; + /** + * 污染物名称 + */ + @TableField(value = "pollutant_name") + @ApiModelProperty(value = "污染物名称") + @Excel(name = "污染物名称",sort = 17) + private String pollutantName; + /** + * 监测设施 + */ + @TableField(value = "monitoring_type") + @ApiModelProperty(value = "监测设施") + @Excel(name = "监测设施",sort = 18) + private String monitoringType; + /** + * 自动监测是否联网 + */ + @TableField(value = "networking") + @ApiModelProperty(value = "自动监测是否联网") + @Excel(name = "自动监测是否联网",sort = 19) + private Short networking; + /** + * 自动监测仪器名称 + */ + @TableField(value = "auto_monitor_name") + @ApiModelProperty(value = "自动监测仪器名称") + @Excel(name = "自动监测仪器名称",sort = 20) + private String autoMonitorName; + /** + * 自动监测设施安装位置 + */ + @TableField(value = "monitor_address") + @ApiModelProperty(value = "自动监测设施安装位置") + @Excel(name = "自动监测设施安装位置",sort = 21) + private String monitorAddress; + /** + * 自动监测设施是否符合安装、运行、维护等管理要求 + */ + @TableField(value = "meet_requirement") + @ApiModelProperty(value = "自动监测设施是否符合安装、运行、维护等管理要求") + @Excel(name = "自动监测设施是否符合安装、运行、维护等管理要求",sort = 22) + private Short meetRequirement; + /** + * 手工监测采样方法及个数 + */ + @TableField(value = "manual_monitoring_method_number") + @ApiModelProperty(value = "手工监测采样方法及个数") + @Excel(name = "手工监测采样方法及个数",sort = 23) + private String manualMonitoringMethodNumber; + /** + * 手工监测频次 + */ + @TableField(value = "manual_monitoring_total") + @ApiModelProperty(value = "手工监测频次") + @Excel(name = "手工监测频次",sort = 24) + private String manualMonitoringTotal; + /** + * 手工测试方法 + */ + @TableField(value = "manual_test_method") + @ApiModelProperty(value = "手工测试方法") + @Excel(name = "手工测试方法",sort = 25) + private String manualTestMethod; + /** + * 其他信息 + */ + @TableField(value = "other") + @ApiModelProperty(value = "其他信息") + @Excel(name = "其他信息",sort = 26) + private String other; + /** + * 污水处理厂名称 + */ + @TableField(value = "treatment_plant_name") + @ApiModelProperty(value = "污水处理厂名称") + @Excel(name = "污水处理厂名称",sort = 3) + private String treatmentPlantName; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentLine.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentLine.java new file mode 100644 index 0000000..99f2495 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTablePwxkWaterTreatmentLine.java @@ -0,0 +1,164 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产治排--排污许可--水处理行业生产线信息 + */ +@ApiModel(description = "固定源产治排--排污许可--水处理行业生产线信息") +@Data +@TableName(value = "b_stat_table_pwxk_water_treatment_line") +public class BStatTablePwxkWaterTreatmentLine implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_TREATMENT_PLANT_NAME = "treatment_plant_name"; + public static final String COL_SERVICE_PROVIDER = "service_provider"; + public static final String COL_TREATMENT_PLANT_TYPE = "treatment_plant_type"; + public static final String COL_BELONG_TO_WATER_TREATMENT_FACILITIES = "belong_to_water_treatment_facilities"; + public static final String COL_LINE_TYPE = "line_type"; + public static final String COL_LINE_NAME = "line_name"; + public static final String COL_PROCESSING_CAPACITY = "processing_capacity"; + public static final String COL_YEAR_RUN_TIME = "year_run_time"; + public static final String COL_OUTSIDE_WATER_TYPE = "outside_water_type"; + public static final String COL_OTHER_INFO = "other_info"; + public static final String COL_PROCESS_UNIT = "process_unit"; + public static final String COL_POLLUTION_CONTROL_FACILITIES_TYPE = "pollution_control_facilities_type"; + public static final String COL_POLLUTION_CONTROL_FACILITIES_CODE = "pollution_control_facilities_code"; + public static final String COL_WORKABLE_TECHNOLOGY = "workable_technology"; + public static final String COL_TRADE_SECRETS = "trade_secrets"; + public static final String COL_POLLUTION_CONTROL_FACILITIES_OTHER = "pollution_control_facilities_other"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Long id; + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + /** + * 污水处理厂名称 + */ + @TableField(value = "treatment_plant_name") + @ApiModelProperty(value = "污水处理厂名称") + @Excel(name = "污水处理厂名称",sort = 3) + private String treatmentPlantName; + /** + * 运营商名称 + */ + @TableField(value = "service_provider") + @ApiModelProperty(value = "运营商名称") + @Excel(name = "运营商名称",sort = 4) + private String serviceProvider; + /** + * 污水处理厂类型 + */ + @TableField(value = "treatment_plant_type") + @ApiModelProperty(value = "污水处理厂类型") + @Excel(name = "污水处理厂类型",sort = 12) + private String treatmentPlantType; + /** + * 是否属于工业园区配套污水处理设施(0否1是) + */ + @TableField(value = "belong_to_water_treatment_facilities") + @ApiModelProperty(value = "是否属于工业园区配套污水处理设施(0否1是)") + @Excel(name = "是否属于工业园区配套污水处理设施",sort = 13) + private String belongToWaterTreatmentFacilities; + /** + * 生产线类别 + */ + @TableField(value = "line_type") + @ApiModelProperty(value = "生产线类别") + @Excel(name = "生产线类别",sort = 14) + private String lineType; + /** + * 生产线编号或名称 + */ + @TableField(value = "line_name") + @ApiModelProperty(value = "生产线编号或名称") + @Excel(name = "生产线编号或名称",sort = 15) + private String lineName; + /** + * 设计处理能力 + */ + @TableField(value = "processing_capacity") + @ApiModelProperty(value = "设计处理能力") + @Excel (name = "设计处理能力",sort = 16) + private String processingCapacity; + /** + * 年运行时间(h) + */ + @TableField(value = "year_run_time") + @ApiModelProperty(value = "年运行时间(h)") + @Excel(name = "年运行时间(h)",sort = 17) + private Short yearRunTime; + /** + * 厂外进水类别 + */ + @TableField(value = "outside_water_type") + @ApiModelProperty(value = "厂外进水类别") + @Excel(name = "厂外进水类别",sort = 18) + private String outsideWaterType; + /** + * 其他信息 + */ + @TableField(value = "other_info") + @ApiModelProperty(value = "其他信息") + @Excel(name = "其他信息",sort = 19) + private String otherInfo; + /** + * 工艺单元 + */ + @TableField(value = "process_unit") + @ApiModelProperty(value = "工艺单元") + @Excel(name = "工艺单元",sort = 20) + private String processUnit; + /** + * 污染治理设施名称 + */ + @TableField(value = "pollution_control_facilities_type") + @ApiModelProperty(value = "污染治理设施名称") + @Excel(name = "污染治理设施名称",sort = 21) + private String pollutionControlFacilitiesType; + /** + * 污染治理设施编号 + */ + @TableField(value = "pollution_control_facilities_code") + @ApiModelProperty(value = "污染治理设施编号") + @Excel(name = "污染治理设施编号",sort = 22) + private String pollutionControlFacilitiesCode; + /** + * 是否可行技术(0否1是) + */ + @TableField(value = "workable_technology") + @ApiModelProperty(value = "是否可行技术(0否1是)") + @Excel(name = "是否可行技术",sort = 23,readConverterExp = "0=否,1=是") + private String workableTechnology; + /** + * 是否涉及商业秘密(0否1是) + */ + @TableField(value = "trade_secrets") + @ApiModelProperty(value = "是否涉及商业秘密(0否1是)") + @Excel(name = "是否涉及商业秘密",sort = 24,readConverterExp = "0=否,1=是") + private String tradeSecrets; + /** + * 污染治理设施其他信息 + */ + @TableField(value = "pollution_control_facilities_other") + @ApiModelProperty(value = "污染治理设施其他信息") + @Excel(name = "污染治理设施其他信息",sort = 25) + private String pollutionControlFacilitiesOther; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableQueryInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableQueryInfo.java new file mode 100644 index 0000000..b9f55da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableQueryInfo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 固定源产排治--执行报告、排污许可、等-菜单列表table表名--统一查询条件 + */ +@ApiModel(description="固定源产排治--执行报告、排污许可、等-菜单列表table表名--统一查询条件") +@Data +@TableName(value = "b_stat_table_query_info") +public class BStatTableQueryInfo implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_QUERY_NAME = "query_name"; + public static final String COL_QUERY_INFO = "query_info"; + public static final String COL_QUERY_USER_ID = "query_user_id"; + public static final String COL_TABLE_STATUS = "table_status"; + public static final String COL_QUERY_TYPE = "query_type"; + public static final String COL_QUERY_CONTENT = "query_content"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @TableField() + @ApiModelProperty(value="主键id") + private Long id; + /** + * 查询条件名称 + */ + @TableField(value = "query_name") + @ApiModelProperty(value="查询条件名称") + private String queryName; + /** + * 查询条件说明 + */ + @TableField(value = "query_info") + @ApiModelProperty(value="查询条件说明") + private String queryInfo; + /** + * 查询人 + */ + @TableField(value = "query_user_id") + @ApiModelProperty(value="查询人") + private String queryUserId; + /** + * 是否删除 0:否,1:是 + */ + @TableField(value = "table_status") + @ApiModelProperty(value="是否删除 0:否,1:是") + private String tableStatus; + /** + * 0:系统功能列表,1:执行报告列表,2:排污许可列表 + */ + @TableField(value = "query_type") + @ApiModelProperty(value="0:系统功能列表,1:执行报告列表,2:排污许可列表") + private String queryType; + /** + * 查询条件内容--json格式 + */ + @TableField(value = "query_content") + @ApiModelProperty(value="查询条件内容--json格式") + private String queryContent; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfo.java new file mode 100644 index 0000000..81bb915 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfo.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--企业基本信息对象 b_stat_table_zxbg_jbxx_info + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--企业基本信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_jbxx_info") +public class BStatTableZxbgJbxxInfo extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "记录内容") + /** 执行报告记录内容 */ + @Excel(name = "记录内容") + private String zxbgRecord; + + + @ApiModelProperty(value = "执行报告生产单元") + /** 执行报告生产单元 */ + @Excel(name = "生产单元") + private String zxbgProPress; + + + @ApiModelProperty(value = "名称") + /** 名称 */ + @Excel(name = "名称") + private String zxbgName; + + + @ApiModelProperty(value = "参数") + /** 参数 */ + @Excel(name = "参数") + private String zxbgParam; + + + @ApiModelProperty(value = "单位") + /** 单位 */ + @Excel(name = "单位") + private String zxbgUnit; + + + @ApiModelProperty(value = "数量") + /** 数量 */ + @Excel(name = "数量") + private Long zxbgNum; + + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String zsbgRemark; + + + + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgRecord", getZxbgRecord()) + .append("zxbgProPress", getZxbgProPress()) + .append("zxbgName", getZxbgName()) + .append("zxbgParam", getZxbgParam()) + .append("zxbgUnit", getZxbgUnit()) + .append("zxbgNum", getZxbgNum()) + .append("zsbgRemark", getZsbgRemark()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfoFactoryBase.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfoFactoryBase.java new file mode 100644 index 0000000..ee0593b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgJbxxInfoFactoryBase.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; + +@Data +public class BStatTableZxbgJbxxInfoFactoryBase extends BaseEntity implements Serializable +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "许可证编号") + /** 许可证编号 */ + @Excel(name = "许可证编号") + private String pollDisLicenseCode; + + @ApiModelProperty(value = "管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别") + private String licenseManType; + + @ApiModelProperty(value = "所在区县") + /** 所在区县 */ + @Excel(name = "所在区县") + private String countryName; + + @ApiModelProperty(value = "所在流域") + /** 所在流域 */ + @Excel(name = "所在流域") + private String riverBasin; + + @ApiModelProperty(value = "所属工业园区名称") + /** 所属工业园区名称 */ + @Excel(name = "所属工业园区名称") + private String industrialParkName; + + @ApiModelProperty(value = "所属工业园区编码") + /** 所属工业园区编码 */ + @Excel(name = "所属工业园区编码") + private String industrialParkCode; + + @ApiModelProperty(name = "行业类别") + @Excel(name = "行业类别") + private String industryPermissionName; + + + public String getLicenseManType() { + return licenseManType; + } + + public void setLicenseManType(String licenseManType) { + if(StringUtils.isNotBlank(licenseManType)){ + if(licenseManType.equals("FOCUS")){this.licenseManType = "重点管理";} + if(licenseManType.equals("SIMPLIFY")){this.licenseManType = "简化管理";} + if(licenseManType.equals("REGISTER")){this.licenseManType = "登记管理";} + }else { + this.licenseManType = licenseManType; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAir.java new file mode 100644 index 0000000..2288d93 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAir.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气实际排放量对象 b_stat_table_zxbg_pfl_air + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气实际排放量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_air") +public class BStatTableZxbgPflAir extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "排放口编号") + /** 排口编码 */ + @Excel(name = "排放口编号") + private String zxbgOutletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排口名称 */ + @Excel(name = "排放口名称") + private String zxbgOutletName; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + + + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgOutletCode", getZxbgOutletCode()) + .append("zxbgOutletName", getZxbgOutletName()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgOutletId", getZxbgOutletId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOther.java new file mode 100644 index 0000000..043979a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOther.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气其他排放总计对象 b_stat_table_zxbg_pfl_air_other + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气其他排放总计") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_air_other") +public class BStatTableZxbgPflAirOther extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String zxbgRemark; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgRemark", getZxbgRemark()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOverproof.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOverproof.java new file mode 100644 index 0000000..0c8cdc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirOverproof.java @@ -0,0 +1,146 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气超标排放信息对象 b_stat_table_zxbg_pfl_air_overproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废气超标排放信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_air_overproof") +public class BStatTableZxbgPflAirOverproof extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + @Excel(name = "超标开始时间") + private String overStartTime; + + @ApiModelProperty(value = "超标截止时间") + /** 超标截止时间 */ + @Excel(name = "超标截止时间") + private String overEndTime; + + @ApiModelProperty(value = "生产设施编号") + /** 生产设施编号 */ + @Excel(name = "生产设施编号") + private String zxbgProCode; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String zxbgOutletCode; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + /** 实际排放浓度(折标,mg/m3) */ + @Excel(name = "实际排放浓度(折标,mg/m3)") + private String zxbgDischargeTrue; + + @ApiModelProperty(value = "超标原因说明") + /** 超标原因说明 */ + @Excel(name = "超标原因说明") + private String overRemark; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放量") + private String zxbgDischargeActual; + + @ApiModelProperty(value = "计量单位") + /** 计量单位 */ + @Excel(name = "计量单位") + private String overUnit; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgOutletCode", getZxbgOutletCode()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeTrue", getZxbgDischargeTrue()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgProCode", getZxbgProCode()) + .append("overStartTime", getOverStartTime()) + .append("overEndTime", getOverEndTime()) + .append("overRemark", getOverRemark()) + .append("overUnit", getOverUnit()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirSpecial.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirSpecial.java new file mode 100644 index 0000000..fa489b2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirSpecial.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--特殊时段废气排放量对象 b_stat_table_zxbg_pfl_air_special + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--特殊时段废气排放量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_air_special") +public class BStatTableZxbgPflAirSpecial extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "类型:重污染、冬防") + /** 类型:重污染、冬防 */ + @Excel(name = "类型") + private String zxbgAirType; + + + @ApiModelProperty(value = "废气类型 有组织、无组织、全场总计") + /** 废气类型 有组织、无组织、全场总计 */ + @Excel(name = "废气类型") + private String zxbgAirAllType; + + @ApiModelProperty(value = "时间") + /** 时间 */ + @Excel(name = "时间") + private String zxbgTime; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放量(kg)") + private String zxbgDischargeActual; + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + @Excel(name = "许可排放量(kg)") + private String zxbgDischargeXk; + + @ApiModelProperty(value = "超标原因") + /** 超标原因 */ + @Excel(name = "超标原因") + private String overCause; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgAirType", getZxbgAirType()) + .append("zxbgAirAllType", getZxbgAirAllType()) + .append("zxbgDischargeXk", getZxbgDischargeXk()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgTime", getZxbgTime()) + .append("overCause", getOverCause()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirStat.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirStat.java new file mode 100644 index 0000000..450ac0b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflAirStat.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--总计废气实际排放量对象 b_stat_table_zxbg_pfl_air_stat + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废气实际排放量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_air_stat") +public class BStatTableZxbgPflAirStat extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + + + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWater.java new file mode 100644 index 0000000..78669ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWater.java @@ -0,0 +1,138 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水实际排放量对象 b_stat_table_zxbg_pfl_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水实际排放量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_water") +public class BStatTableZxbgPflWater extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "排放类型、直接排放、间接排放") + /** 排放类型、直接排放、间接排放 */ + @Excel(name = "排放方式") + private String zxbgEmissionType; + + @ApiModelProperty(value = "排放口编码") + /** 排口编码 */ + @Excel(name = "排放口编码") + private String zxbgOutletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排口名称 */ + @Excel(name = "排放口名称") + private String zxbgOutletName; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + + + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgOutletCode", getZxbgOutletCode()) + .append("zxbgOutletName", getZxbgOutletName()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgOutletId", getZxbgOutletId()) + .append("zxbgEmissionType", getZxbgEmissionType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWaterVoerproof.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWaterVoerproof.java new file mode 100644 index 0000000..09433a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflWaterVoerproof.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水超标排放信息对象 b_stat_table_zxbg_pfl_water_voerproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水超标排放信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfl_water_voerproof") +public class BStatTableZxbgPflWaterVoerproof extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + @Excel(name = "超标开始时间") + private String overStartTime; + + + @ApiModelProperty(value = "超标截止时间") + /** 超标截止时间 */ + @Excel(name = "超标截止时间") + private String overEndTime; + + @ApiModelProperty(value = "排放口编号") + /** 排口编码 */ + @Excel(name = "排放口编号") + private String zxbgOutletCode; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + /** 实际排放浓度(折标,mg/m3) */ + @Excel(name = "实际排放浓度(折标,mg/m3)") + private String zxbgDischargeTrue; + + @ApiModelProperty(value = "超标原因说明") + /** 超标原因说明 */ + @Excel(name = "超标原因说明") + private String overRemark; + + @ApiModelProperty(value = "实际排放量") + /** 实际排放值 */ + @Excel(name = "实际排放量") + private String zxbgDischargeActual; + + @ApiModelProperty(value = "计量单位") + /** 计量单位 */ + @Excel(name = "计量单位") + private String overUnit; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgOutletCode", getZxbgOutletCode()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeTrue", getZxbgDischargeTrue()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("overStartTime", getOverStartTime()) + .append("overEndTime", getOverEndTime()) + .append("overRemark", getOverRemark()) + .append("overUnit", getOverUnit()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflallWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflallWater.java new file mode 100644 index 0000000..d4041ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPflallWater.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--总计废水实际排放量对象 b_stat_table_zxbg_pflall_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废水实际排放量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pflall_water") +public class BStatTableZxbgPflallWater extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "排放形式、直接排放、间接排放") + /** 排放形式、直接排放、间接排放 */ + @Excel(name = "排放形式") + private String zxbgEmissionType; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + + + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgOutletId", getZxbgOutletId()) + .append("zxbgEmissionType", getZxbgEmissionType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPfltotalWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPfltotalWater.java new file mode 100644 index 0000000..5d0454d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgPfltotalWater.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)对象 b_stat_table_zxbg_pfltotal_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水正常排放总计(一般排放口)") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_pfltotal_water") +public class BStatTableZxbgPfltotalWater extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "排放方式、直接排放、间接排放") + /** 排放方式、直接排放、间接排放 */ + @Excel(name = "排放方式") + private String zxbgEmissionType; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String zxbgPollutant; + + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + @Excel(name = "年许可排放量") + private String zxbgDischargeYear; + + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + @Excel(name = "实际排放值") + private String zxbgDischargeActual; + + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String remark; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("zxbgDischargeYear", getZxbgDischargeYear()) + .append("zxbgDischargeActual", getZxbgDischargeActual()) + .append("createTime", getCreateTime()) + .append("isDelete", getIsDelete()) + .append("zxbgOutletId", getZxbgOutletId()) + .append("zxbgEmissionType", getZxbgEmissionType()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlAbnormalities.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlAbnormalities.java new file mode 100644 index 0000000..edeb59e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlAbnormalities.java @@ -0,0 +1,150 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--污染治理设施异常情况对象 b_stat_table_zxbg_wrzl_abnormalities + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施异常情况") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_wrzl_abnormalities") +public class BStatTableZxbgWrzlAbnormalities extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "类型") + /** 类型 */ + @Excel(name = "类型") + private String zxbgPollutantType; + + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + @Excel(name = "超标开始时间") + private String overStartTime; + + + @ApiModelProperty(value = "超标结束时间") + /** 超标结束时间 */ + @Excel(name = "超标结束时间") + private String overEndTime; + + + @ApiModelProperty(value = "故障设备名称") + /** 故障设备名称 */ + @Excel(name = "故障设备名称") + private String facilityName; + + + @ApiModelProperty(value = "故障设备编号") + /** 故障设备编号 */ + @Excel(name = "故障设备编号") + private String facilityCode; + + + @ApiModelProperty(value = "污染因子") + /** 污染因子 */ + @Excel(name = "污染因子") + private String zxbgPollutant; + + + @ApiModelProperty(value = "排放范围") + /** 排放范围 */ + @Excel(name = "排放范围") + private String dischargeRange; + + + @ApiModelProperty(value = "应对措施") + /** 应对措施 */ + @Excel(name = "应对措施") + private String solutions; + + @ApiModelProperty(value = "原因") + /** 原因 */ + @Excel(name = "原因") + private String remark; + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutantType", getZxbgPollutantType()) + .append("overStartTime", getOverStartTime()) + .append("overEndTime", getOverEndTime()) + .append("facilityName", getFacilityName()) + .append("facilityCode", getFacilityCode()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("dischargeRange", getDischargeRange()) + .append("solutions", getSolutions()) + .append("createTime", getCreateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlTotal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlTotal.java new file mode 100644 index 0000000..62092d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BStatTableZxbgWrzlTotal.java @@ -0,0 +1,138 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总对象 b_stat_table_zxbg_wrzl_total + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施正常情况汇总") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("b_stat_table_zxbg_wrzl_total") +public class BStatTableZxbgWrzlTotal extends BStatTableZxbgJbxxInfoFactoryBase +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + @Excel(name = "执行报告类型") + private String zxbgType; + + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + @Excel(name = "报告周期") + private String zxbgPeriod; + + + @ApiModelProperty(value = "污染源类型") + /** 污染源类型 */ + @Excel(name = "污染源类型") + private String zxbgPollutant; + + + @ApiModelProperty(value = "污染治理设施编号") + /** 污染治理设施编号 */ + @Excel(name = "污染治理设施编号") + private String pollutionControlFacilityCode; + + + @ApiModelProperty(value = "污染治理设施名称") + /** 污染治理设施名称 */ + @Excel(name = "污染治理设施名称") + private String pollutionControlFacilityName; + + + @ApiModelProperty(value = "运行参数") + /** 运行参数 */ + @Excel(name = "运行参数") + private String processParameter; + + + @ApiModelProperty(value = "数量") + /** 数量 */ + @Excel(name = "数量") + private String amount; + + + @ApiModelProperty(value = "单位") + /** 单位 */ + @Excel(name = "单位") + private String unit; + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String remark; + + + public String getZxbgType() { + return zxbgType; + } + + public void setZxbgType(String zxbgType) { + //0:月报,1:季报,2:年报 + if(StringUtils.isNotBlank(zxbgType)){ + if(zxbgType.equals("0")){this.zxbgType = "月报";} + if(zxbgType.equals("1")){this.zxbgType = "季报";} + if(zxbgType.equals("2")){this.zxbgType = "年报";} + }else { + this.zxbgType = zxbgType; + } + } + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("zxbgType", getZxbgType()) + .append("zxbgPeriod", getZxbgPeriod()) + .append("zxbgPollutant", getZxbgPollutant()) + .append("pollutionControlFacilityCode", getPollutionControlFacilityCode()) + .append("pollutionControlFacilityName", getPollutionControlFacilityName()) + .append("processParameter", getProcessParameter()) + .append("amount", getAmount()) + .append("unit", getUnit()) + .append("remark", getRemark()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasControlValue.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasControlValue.java new file mode 100644 index 0000000..ce6c1c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasControlValue.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + + +/** + * basControlValue对象 bas_control_value + * + * @author admin + * @date 2023-06-27 + */ +@ApiModel(value = "basControlValue") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_control_value") +public class BasControlValue extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业ID") + /** 企业ID */ + @Excel(name = "企业ID") + private String factoryId; + + @ApiModelProperty(value = "行业") + private String industry; + + @ApiModelProperty(value = "设备类型") + private String deviceType; + + @ApiModelProperty(value = "调节阀类型:1:开度 2:开关量") + /** 调节阀类型:1:开度 2:开关量 */ + @Excel(name = "调节阀类型:1:开度 2:开关量") + private String normalValue; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("normalValue", getNormalValue()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDcsOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDcsOperationLog.java new file mode 100644 index 0000000..01d5646 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDcsOperationLog.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: BasDcsOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:24 + * @Company: Copyright© [2023/04/28 15:24] by [Mr.Yanghongtao] + **/ + +/** + * DCS系统参数设置操作日志 + */ +@ApiModel(value = "DCS系统参数设置操作日志") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_dcs_operation_log") +public class BasDcsOperationLog { + private String logId; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operationTime; + private String workProcedure; + private String deviceId; + private String deviceName; + private String paramName; + private String beforeModifyParamUnit; + private String beforeModifyNormalValue; + private String afterModifyNormalValue; + private String operator; + private String operatorId; + private String factoryId; + private String afterModifyParamUnit; + private String beforeModifyMinValue; + private String afterModifyMinValue; + private String beforeModifyMaxValue; + private String afterModifyMaxValue; + + // 省略getter/setter方法 +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevToElec.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevToElec.java new file mode 100644 index 0000000..1cf3af0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevToElec.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 有组织-分表计电设备对应对象 bas_dev_to_elec + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_dev_to_elec") +public class BasDevToElec extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "有组织设备ID") + /** 有组织设备ID */ + @TableId(value = "device_id",type = IdType.AUTO) + private String deviceId; + + + @ApiModelProperty(value = "计电设备ID") + /** 计电设备ID */ + private String elecDeviceId; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("deviceId", getDeviceId()) + .append("elecDeviceId", getElecDeviceId()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevice.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevice.java new file mode 100644 index 0000000..da013be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDevice.java @@ -0,0 +1,217 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备信息(有组织)") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_device") +public class BasDevice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @TableId(value = "device_id",type = IdType.ASSIGN_ID) + private String deviceId; + + + @ApiModelProperty(value = "所属企业") + /** 所属企业 */ + @Excel(name = "所属企业") + private String factoryId; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String name; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + @Excel(name = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + + + @ApiModelProperty(value = "所属工序名") + /** 所属工序名 */ + @Excel(name = "所属工序名") + private String workStep; + + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + /** 设备类型 枚举。焦炉/烧结机... */ + @Excel(name = "设备类型 枚举。焦炉/烧结机...") + private String type; + + + @ApiModelProperty(value = "状态 ≤0=停用,>0=正常") + /** 状态 ≤0=停用,>0=正常 */ + @Excel(name = "状态 ≤0=停用,>0=正常") + @TableField(fill = FieldFill.INSERT) + private Long status; + + + @ApiModelProperty(value = "工艺参数值 停限产计算用") + /** 工艺参数值 停限产计算用 */ + @Excel(name = "工艺参数值 停限产计算用") + private String craftParamValue; + + + @ApiModelProperty(value = "工艺参数 JSON。展示用") + /** 工艺参数 JSON。展示用 */ + @Excel(name = "工艺参数 JSON。展示用") + private String craftParam; + + + @ApiModelProperty(value = "DCS系统品牌") + /** DCS系统品牌 */ + @Excel(name = "DCS系统品牌") + private String dcsBrand; + + + @ApiModelProperty(value = "DCS系统型号") + /** DCS系统型号 */ + @Excel(name = "DCS系统型号") + private String dcsModel; + + + @ApiModelProperty(value = "脱硫工艺") + /** 脱硫工艺 */ + @Excel(name = "脱硫工艺") + private String tlCraft; + + + @ApiModelProperty(value = "脱硫设施数量") + /** 脱硫设施数量 */ + @Excel(name = "脱硫设施数量") + private String tlNum; + + + @ApiModelProperty(value = "脱硝工艺") + /** 脱硝工艺 */ + @Excel(name = "脱硝工艺") + private String txCraft; + + + @ApiModelProperty(value = "脱硝设施数量") + /** 脱硝设施数量 */ + @Excel(name = "脱硝设施数量") + private String txNum; + + + @ApiModelProperty(value = "除尘工艺") + /** 除尘工艺 */ + @Excel(name = "除尘工艺") + private String ccCraft; + + + @ApiModelProperty(value = "除尘设施数量") + /** 除尘设施数量 */ + @Excel(name = "除尘设施数量") + private String ccNum; + + + @ApiModelProperty(value = "CEMS系统数量") + /** CEMS系统数量 */ + @Excel(name = "CEMS系统数量") + private String cemsNum; + + + @ApiModelProperty(value = "主设备ID 本设备为从设备时,注明与哪个主设备共用数据") + /** 主设备ID 本设备为从设备时,注明与哪个主设备共用数据 */ + @Excel(name = "主设备ID 本设备为从设备时,注明与哪个主设备共用数据") + private String shareDevId; + + + @ApiModelProperty(value = "共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1...") + /** 共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1... */ + @Excel(name = "共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1...") + private String shareType; + + + @ApiModelProperty(value = "经度(原始)") + /** 经度(原始) */ + @Excel(name = "经度(原始)") + private BigDecimal lon; + + + @ApiModelProperty(value = "纬度(原始)") + /** 纬度(原始) */ + @Excel(name = "纬度(原始)") + private BigDecimal lat; + + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + @Excel(name = "经度(地图)") + private String lonMap; + + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + @Excel(name = "纬度(地图)") + private String latMap; + + + @ApiModelProperty(value = "原始设备ID 用于在通信协议中识别设备") + /** 原始设备ID 用于在通信协议中识别设备 */ + @Excel(name = "原始设备ID 用于在通信协议中识别设备") + private String oriDeviceId; + + + @ApiModelProperty(value = "原始设备密码") + /** 原始设备密码 */ + @Excel(name = "原始设备密码") + private String oriPwd; + + + @ApiModelProperty(value = "工艺流程图用参数 JSON") + /** 工艺流程图用参数 JSON */ + @Excel(name = "工艺流程图用参数 JSON") + private String craftImageArg; + + + @ApiModelProperty(value = "对应的视频设备ID JSON") + /** 对应的视频设备ID JSON */ + @Excel(name = "对应的视频设备ID JSON") + private String videoDevId; + + private Date createTime; + + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String memo; + + @ApiModelProperty(value = "排污许可设施编码") + private String pollutantCode; + + @ApiModelProperty(value = "排污许可设施名称") + private String pollutantName; + + private String isStatus; + + private String elecdcsPollutantRelations; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceConfig.java new file mode 100644 index 0000000..d92ffd0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceConfig.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 企业设备参数配置对象 bas_device_config + * + * @author szhpt + * @date 2023-04-05*/ +@ApiModel(value = "企业设备参数配置") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_device_config") +public class BasDeviceConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + @ApiModelProperty(value = "企业ID") + /** 企业ID */ + @Excel(name = "企业ID") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + @Excel(name = "参数编码") + private String paramCode; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String paramName; + + @ApiModelProperty(value = "单位") + /** 单位 */ + @Excel(name = "单位") + private String unit; + + @ApiModelProperty(value = "行业") + /** 行业 */ + @Excel(name = "行业") + private String industry; + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + @Excel(name = "设备类型") + private String deviceType; + + @ApiModelProperty(value = "配置值") + /** 配置值 */ + @Excel(name = "配置值") + private String normalValue; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("deviceName", getDeviceName()) + .append("paramCode", getParamCode()) + .append("paramName", getParamName()) + .append("unit", getUnit()) + .append("industry", getIndustry()) + .append("deviceType", getDeviceType()) + .append("normalValue", getNormalValue()) + .append("remark", getRemark()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceInfoOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceInfoOperationLog.java new file mode 100644 index 0000000..bdf5421 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceInfoOperationLog.java @@ -0,0 +1,190 @@ +package cn.cecep.talroad.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * @className: BasDeviceInfoOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:25 + * @Company: Copyright© [2023/04/28 17:25] by [Mr.Yanghongtao] + **/ + +/** + * 设施信息管理操作日志 + */ +@ApiModel(value = "设施信息管理操作日志",description = "设施信息管理操作日志") +public class BasDeviceInfoOperationLog { + /** + * 主键标识 + */ + @ApiModelProperty(name = "logId",value = "主键标识") + private String logId; + + /** + * 操作时间 + */ + @ApiModelProperty(name = "operationTime",value = "操作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date operationTime; + + /** + * 分表计电设施名称 + */ + @ApiModelProperty(name = "elecDeviceName",value = "分表计电设施名称") + private String elecDeviceName; + + /** + * 修改前对应许可证生产设施名称 + */ + @ApiModelProperty(name = "beforeModifyName",value = "修改前对应许可证生产设施名称") + private String beforeModifyName; + + /** + * 修改前对应许可证生产设施编号 + */ + @ApiModelProperty(name = "beforeModifyCode",value = "修改前对应许可证生产设施编号") + private String beforeModifyCode; + + /** + * 操作状态 + */ + @ApiModelProperty(name = "operationStatus",value = "操作状态") + private String operationStatus; + + /** + * 修改后对应许可证生产设施名称 + */ + @ApiModelProperty(name = "afterModifyName",value = "修改后对应许可证生产设施名称") + private String afterModifyName; + + /** + * 修改后对应许可证生产设施编号 + */ + @ApiModelProperty(name = "afterModifyCode",value = "修改后对应许可证生产设施编号") + private String afterModifyCode; + + /** + * 操作人 + */ + @ApiModelProperty(name = "operator",value = "操作人") + private String operator; + + /** + * 1-分表计电生产设施匹配|2-分表计电治理设施匹配|3-DCS生产设施点位匹配 + */ + @ApiModelProperty(name = "monitoringPointType",value = "1-分表计电生产设施匹配|2-分表计电治理设施匹配|3-DCS生产设施点位匹配") + private String monitoringPointType; + + /** + * 操作人ID + */ + @ApiModelProperty(name = "operatorId",value = "操作人ID") + private String operatorId; + + /** + * 企业ID + */ + @ApiModelProperty(name = "factoryId",value = "企业ID") + private String factoryId; + + public String getLogId() { + return logId; + } + + public void setLogId(String logId) { + this.logId = logId; + } + + public Date getOperationTime() { + return operationTime; + } + + public void setOperationTime(Date operationTime) { + this.operationTime = operationTime; + } + + public String getElecDeviceName() { + return elecDeviceName; + } + + public void setElecDeviceName(String elecDeviceName) { + this.elecDeviceName = elecDeviceName; + } + + public String getBeforeModifyName() { + return beforeModifyName; + } + + public void setBeforeModifyName(String beforeModifyName) { + this.beforeModifyName = beforeModifyName; + } + + public String getBeforeModifyCode() { + return beforeModifyCode; + } + + public void setBeforeModifyCode(String beforeModifyCode) { + this.beforeModifyCode = beforeModifyCode; + } + + public String getOperationStatus() { + return operationStatus; + } + + public void setOperationStatus(String operationStatus) { + this.operationStatus = operationStatus; + } + + public String getAfterModifyName() { + return afterModifyName; + } + + public void setAfterModifyName(String afterModifyName) { + this.afterModifyName = afterModifyName; + } + + public String getAfterModifyCode() { + return afterModifyCode; + } + + public void setAfterModifyCode(String afterModifyCode) { + this.afterModifyCode = afterModifyCode; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getMonitoringPointType() { + return monitoringPointType; + } + + public void setMonitoringPointType(String monitoringPointType) { + this.monitoringPointType = monitoringPointType; + } + + public String getOperatorId() { + return operatorId; + } + + public void setOperatorId(String operatorId) { + this.operatorId = operatorId; + } + + public String getFactoryId() { + return factoryId; + } + + public void setFactoryId(String factoryId) { + this.factoryId = factoryId; + } +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceParam.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceParam.java new file mode 100644 index 0000000..a408134 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceParam.java @@ -0,0 +1,170 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 各设备的监测参数属性对象 bas_device_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "各设备的监测参数属性") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_device_param") +public class BasDeviceParam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "ID") + /** ID */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + private Long id; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "参数ID") + /** 参数ID */ + @Excel(name = "参数ID") + private String paramId; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + @Excel(name = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + + + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + /** 所属设备类别 枚举。焦炉/烧结机... */ + @Excel(name = "所属设备类别 枚举。焦炉/烧结机...") + private String deviceType; + + + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + /** 所属设施类别 枚举。生产/CEMS... */ + @Excel(name = "所属设施类别 枚举。生产/CEMS...") + private String facilityType; + + + @ApiModelProperty(value = "正常值") + /** 正常值 */ + @Excel(name = "正常值") + private String normalValue; + + + @ApiModelProperty(value = "最小值") + /** 最小值 */ + @Excel(name = "最小值") + private String minValue; + + + @ApiModelProperty(value = "最大值") + /** 最大值 */ + @Excel(name = "最大值") + private String maxValue; + + + @ApiModelProperty(value = "Q1(下四分位)值 用于异常值判断") + /** Q1(下四分位)值 用于异常值判断 */ + @Excel(name = "Q1(下四分位)值 用于异常值判断") + private String q1Value; + + + @ApiModelProperty(value = "Q2(上四分位)值 用于异常值判断") + /** Q2(上四分位)值 用于异常值判断 */ + @Excel(name = "Q2(上四分位)值 用于异常值判断") + private String q2Value; + + + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + /** 参数是否联网 0=否,1=是 */ + @Excel(name = "参数是否联网 0=否,1=是") + private Long isOnline; + + + @ApiModelProperty(value = "备用值数量 数量不含原值") + /** 备用值数量 数量不含原值 */ + @Excel(name = "备用值数量 数量不含原值") + private Long standbyNum; + + + @ApiModelProperty(value = "多值数量 数量不含原值") + /** 多值数量 数量不含原值 */ + @Excel(name = "多值数量 数量不含原值") + private Long multiNum; + + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + /** 超标阈值 超过此值则认为超标 */ + @Excel(name = "超标阈值 超过此值则认为超标") + private String overMaxVal; + + @ApiModelProperty(value = "分表计电测点id") + private String deviceSiteId; + + @ApiModelProperty(value = "放散时间配置:分析几小时内的炉数") + private Long releaseValue; + + @ApiModelProperty(value = "停产阈值") + private String stopValue; + + @ApiModelProperty(value = "数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据") + private String dataType; + + /** + * 参数名称 + */ + @ApiModelProperty(value = "参数名称") + private String paramName; + + /** + * 参数单位 + */ + @ApiModelProperty(value = "参数单位") + private String paramUnit; + /** + * 是否启用,0:未启用,1:启用 + */ + @ApiModelProperty(value = "是否启用,0:未启用,1:启用") + private String isStatus; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deviceId", getDeviceId()) + .append("paramId", getParamId()) + .append("industry", getIndustry()) + .append("deviceType", getDeviceType()) + .append("facilityType", getFacilityType()) + .append("normalValue", getNormalValue()) + .append("minValue", getMinValue()) + .append("maxValue", getMaxValue()) + .append("q1Value", getQ1Value()) + .append("q2Value", getQ2Value()) + .append("isOnline", getIsOnline()) + .append("standbyNum", getStandbyNum()) + .append("multiNum", getMultiNum()) + .append("overMaxVal", getOverMaxVal()) + .append("createTime", getCreateTime()) + .append("isStatus", getIsStatus()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSalAnalysis.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSalAnalysis.java new file mode 100644 index 0000000..60cc579 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSalAnalysis.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 设备-停限产状态表 + */ +@ApiModel(value="设备-停限产状态表") +@Data +@EqualsAndHashCode(callSuper=true) +public class BasDeviceSalAnalysis extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(value="主键id") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 设备ID + */ + @ApiModelProperty(value="设备ID") + private String deviceId; + + /** + * 所属企业 + */ + @ApiModelProperty(value="所属企业") + private String factoryId; + + /** + * 时间 + */ + @ApiModelProperty(value="时间") + private Date monTime; + + /** + * 状态:生产,停产,掉线 + */ + @ApiModelProperty(value="生成监控-状态:生产,停产,离线") + private String monStatus; + + /** + * 监测参数,多个逗号隔开 + */ + @ApiModelProperty(value="监测参数,多个逗号隔开") + private String monParam; + + @ApiModelProperty(value = "煤气放散监控-状态: 正常放散, 异常放散, 未放散, 离线/异常") + private String coalGasStatus; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSite.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSite.java new file mode 100644 index 0000000..712a4cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSite.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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; + + +@ApiModel(value = "分表计电--设备点位表") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_device_site") +public class BasDeviceSite extends BaseEntity { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "设备ID") + @Excel(name = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "点位名称") + @Excel(name = "点位名称") + private String name; + + @ApiModelProperty(value = "设备名称") + @TableField(exist = false) + private String deviceName; + + @ApiModelProperty(value = "点位经度") + private String pointLng; + + @ApiModelProperty(value = "点位纬度") + private String pointLat; + + @ApiModelProperty(value = "分表计电-状态: 正常,停运,掉线") + private String status; + + @ApiModelProperty(value = "点位类型: 生产监测点位...") + private String type; + + @ApiModelProperty(value = "对应装备名称") + private String equipName; + + @ApiModelProperty(value = "所属企业") + private String factoryId; + + @ApiModelProperty(value = "额定功率") + private String normalValue; + + @ApiModelProperty(value = "最小功率") + private String minValue; + + @ApiModelProperty(value = "是否统计") + private String isStat; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSiteCoordinateOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSiteCoordinateOperationLog.java new file mode 100644 index 0000000..456769c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceSiteCoordinateOperationLog.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @className: BasDeviceSiteCoordinateOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/30 10:06 + * @Company: Copyright© [2023/04/30 10:06] by [Mr.Yanghongtao] + **/ +@ApiModel(description="分表计电测点坐标操作日志表") +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "bas_device_site_coordinate_operation_log") +public class BasDeviceSiteCoordinateOperationLog { + /** + * 主键标识 + */ + @TableId(value = "log_id", type = IdType.ASSIGN_UUID) + @ApiModelProperty(value="主键标识") + private String logId; + + /** + * 操作时间 + */ + @TableField(value = "operation_time") + @ApiModelProperty(value="操作时间") + private Date operationTime; + + /** + * 分表计电监测点位名称 + */ + @TableField(value = "elec_station_name") + @ApiModelProperty(value="分表计电监测点位名称") + private String elecStationName; + + /** + * 对应设施名称 + */ + @TableField(value = "device_name") + @ApiModelProperty(value="对应设施名称") + private String deviceName; + + /** + * 设施类型 + */ + @TableField(value = "\"type\"") + @ApiModelProperty(value="设施类型") + private String type; + + /** + * 操作前经度 + */ + @TableField(value = "before_modify_lng") + @ApiModelProperty(value="操作前经度") + private String beforeModifyLng; + + /** + * 操作前纬度 + */ + @TableField(value = "before_modify_lag") + @ApiModelProperty(value="操作前纬度") + private String beforeModifyLag; + + /** + * 操作状态 + */ + @TableField(value = "operation_status") + @ApiModelProperty(value="操作状态") + private String operationStatus; + + /** + * 操作后经度 + */ + @TableField(value = "after_modify_lng") + @ApiModelProperty(value="操作后经度") + private String afterModifyLng; + + /** + * 操作后纬度 + */ + @TableField(value = "after_modify_lag") + @ApiModelProperty(value="操作后纬度") + private String afterModifyLag; + + /** + * 操作人 + */ + @TableField(value = "\"operator\"") + @ApiModelProperty(value="操作人") + private String operator; + + /** + * 操作人ID + */ + @TableField(value = "operator_id") + @ApiModelProperty(value="操作人ID") + private String operatorId; + + /** + * 企业ID + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业ID") + private String factoryId; + + public static final String COL_LOG_ID = "log_id"; + + public static final String COL_OPERATION_TIME = "operation_time"; + + public static final String COL_ELEC_STATION_NAME = "elec_station_name"; + + public static final String COL_DEVICE_NAME = "device_name"; + + public static final String COL_TYPE = "type"; + + public static final String COL_BEFORE_MODIFY_LNG = "before_modify_lng"; + + public static final String COL_BEFORE_MODIFY_LAG = "before_modify_lag"; + + public static final String COL_OPERATION_STATUS = "operation_status"; + + public static final String COL_AFTER_MODIFY_LNG = "after_modify_lng"; + + public static final String COL_AFTER_MODIFY_LAG = "after_modify_lag"; + + public static final String COL_OPERATOR = "operator"; + + public static final String COL_OPERATOR_ID = "operator_id"; + + public static final String COL_FACTORY_ID = "factory_id"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceZlConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceZlConfig.java new file mode 100644 index 0000000..7adb4e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasDeviceZlConfig.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 转炉设备与转炉煤气放散设备映射关系对象 bas_device_zl_config + * + * @author szhpt + * @date 2023-06-30*/ +@ApiModel(value = "转炉设备与转炉煤气放散设备映射关系") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_device_zl_config") +public class BasDeviceZlConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业ID") + /** 企业ID */ + @Excel(name = "企业ID") + private String factoryId; + + + @ApiModelProperty(value = "转炉设备ID") + /** 转炉设备ID */ + @Excel(name = "转炉设备ID") + private String deviceId; + + + @ApiModelProperty(value = "转炉煤气放散设备ID") + /** 转炉煤气放散设备ID */ + @Excel(name = "转炉煤气放散设备ID") + private String fsDeviceId; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("fsDeviceId", getFsDeviceId()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecDevice.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecDevice.java new file mode 100644 index 0000000..83bf5bc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecDevice.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_elec_device") +public class BasElecDevice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "计电设备ID") + /** 计电设备ID */ + @TableId(value = "elec_device_id",type = IdType.AUTO) + private String elecDeviceId; + + + @ApiModelProperty(value = "所属企业") + /** 所属企业 */ + @Excel(name = "所属企业") + private String factoryId; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String name; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + @Excel(name = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String memo; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("elecDeviceId", getElecDeviceId()) + .append("factoryId", getFactoryId()) + .append("name", getName()) + .append("industry", getIndustry()) + .append("memo", getMemo()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecProCepMap.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecProCepMap.java new file mode 100644 index 0000000..fa6a2d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasElecProCepMap.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @className: BasElecProCepMap + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/06/29 17:53 + * @Company: Copyright© [2023/06/29 17:53] by [Mr.Yanghongtao] + **/ +/** + * 分表机电生产治理设施对应关系 + */ +@ApiModel(description="分表机电生产治理设施对应关系") +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "bas_elec_pro_cep_map") +public class BasElecProCepMap { + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键ID") + private Integer id; + + /** + * 生产设施ID + */ + @TableField(value = "pro_device_id") + @ApiModelProperty(value="生产设施ID") + private String proDeviceId; + + /** + * 治理设施ID + */ + @TableField(value = "cep_device_id") + @ApiModelProperty(value="治理设施ID") + private String cepDeviceId; + + /** + * 状态0:停用 1:在用 + */ + @TableField(value = "is_status") + @ApiModelProperty(value="状态0:停用 1:在用") + private Short isStatus; + + public static final String COL_ID = "id"; + + public static final String COL_PRO_DEVICE_ID = "pro_device_id"; + + public static final String COL_CEP_DEVICE_ID = "cep_device_id"; + + public static final String COL_IS_STATUS = "is_status"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasParam.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasParam.java new file mode 100644 index 0000000..044c459 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasParam.java @@ -0,0 +1,196 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 监测参数汇总(有组织)对象 bas_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "监测参数汇总(有组织)") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_param") +public class BasParam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "参数ID 212协议编码") + /** 参数ID 212协议编码 */ + @TableId(value = "param_id",type = IdType.AUTO) + private String paramId; + + + @ApiModelProperty(value = "参数ID 212协议编码(新)") + /** 参数ID 212协议编码(新) */ + @Excel(name = "参数ID 212协议编码", readConverterExp = "新=") + private String paramIdNew; + + + @ApiModelProperty(value = "接口中的参数名 不同参数可能有同名") + /** 接口中的参数名 不同参数可能有同名 */ + @Excel(name = "接口中的参数名 不同参数可能有同名") + private String paramCodeSvc; + + + @ApiModelProperty(value = "名称") + /** 名称 */ + @Excel(name = "名称") + private String name; + + + @ApiModelProperty(value = "参数类型") + /** 参数类型 */ + @Excel(name = "参数类型") + private String paramType; + + + @ApiModelProperty(value = "Java数据类型 Double,String...") + /** Java数据类型 Double,String... */ + @Excel(name = "Java数据类型 Double,String...") + private String dataTypeJava; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + /** 所属设备类别 枚举。焦炉/烧结机... */ + private String deviceType; + + + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + /** 所属设施类别 枚举。生产/CEMS... */ + private String facilityType; + + + @ApiModelProperty(value = "所属设施名称") + /** 所属设施名称 */ + @Excel(name = "所属设施名称") + private String facilityName; + + + @ApiModelProperty(value = "实时值的单位") + /** 实时值的单位 */ + @Excel(name = "实时值的单位") + private String unitReal; + + + @ApiModelProperty(value = "统计值的单位") + /** 统计值的单位 */ + @Excel(name = "统计值的单位") + private String unitStat; + + + @ApiModelProperty(value = "小数点后保留的位数") + /** 小数点后保留的位数 */ + @Excel(name = "小数点后保留的位数") + private Integer scale; + + + @ApiModelProperty(value = "参与统计的最小值 小于此值则不参与统计(对所有值有效)") + /** 参与统计的最小值 小于此值则不参与统计(对所有值有效) */ + @Excel(name = "参与统计的最小值 小于此值则不参与统计(对所有值有效)") + private String statMinValue; + + + @ApiModelProperty(value = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)") + /** 参与统计的最大值 大于此值则不参与统计(只对实时值有效) */ + @Excel(name = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)") + private String statMaxValue; + + + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + /** 超标阈值 超过此值则认为超标 */ + @Excel(name = "超标阈值 超过此值则认为超标") + private String overMaxVal; + + + @ApiModelProperty(value = "停产判断阈值 不同参数含义不同,可能为比例值或阈值等") + /** 停产判断阈值 不同参数含义不同,可能为比例值或阈值等 */ + @Excel(name = "停产判断阈值 不同参数含义不同,可能为比例值或阈值等") + private String stopValue; + + + @ApiModelProperty(value = "停产判断阈值备注") + /** 停产判断阈值备注 */ + @Excel(name = "停产判断阈值备注") + private String stopValueMemo; + + + @ApiModelProperty(value = "是否检查恒定值报警 0=否,1=是") + /** 是否检查恒定值报警 0=否,1=是 */ + @Excel(name = "是否检查恒定值报警 0=否,1=是") + private Long isChkSame; + + + @ApiModelProperty(value = "是否检查异常值报警 0=否,1=是") + /** 是否检查异常值报警 0=否,1=是 */ + @Excel(name = "是否检查异常值报警 0=否,1=是") + private Long isChkAbnormal; + + + @ApiModelProperty(value = "显示顺序 同一类别下的显示顺序") + /** 显示顺序 同一类别下的显示顺序 */ + @Excel(name = "显示顺序 同一类别下的显示顺序") + private Integer showOrder; + + + + + @ApiModelProperty(value = "状态 0=停用,1=启用") + /** 状态 0=停用,1=启用 */ + @Excel(name = "状态 0=停用,1=启用") + @TableField(fill = FieldFill.INSERT) + private Long status; + + + @ApiModelProperty(value = "最小宽度(用与前端表头渲染)") + /** 最小宽度(用与前端表头渲染) */ + @Excel(name = "最小宽度(用与前端表头渲染)") + private Long minWidth; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("paramId", getParamId()) + .append("paramIdNew", getParamIdNew()) + .append("paramCodeSvc", getParamCodeSvc()) + .append("name", getName()) + .append("paramType", getParamType()) + .append("dataTypeJava", getDataTypeJava()) + .append("industry", getIndustry()) + .append("deviceType", getDeviceType()) + .append("facilityType", getFacilityType()) + .append("facilityName", getFacilityName()) + .append("unitReal", getUnitReal()) + .append("unitStat", getUnitStat()) + .append("scale", getScale()) + .append("statMinValue", getStatMinValue()) + .append("statMaxValue", getStatMaxValue()) + .append("overMaxVal", getOverMaxVal()) + .append("stopValue", getStopValue()) + .append("stopValueMemo", getStopValueMemo()) + .append("isChkSame", getIsChkSame()) + .append("isChkAbnormal", getIsChkAbnormal()) + .append("showOrder", getShowOrder()) + .append("createTime", getCreateTime()) + .append("status", getStatus()) + .append("minWidth", getMinWidth()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasProductionDeviceOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasProductionDeviceOperationLog.java new file mode 100644 index 0000000..b061651 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasProductionDeviceOperationLog.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: BasProductionDeviceOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:26 + * @Company: Copyright© [2023/04/28 15:26] by [Mr.Yanghongtao] + **/ +/** + * 生产设施坐标操作日志 + */ + +@ApiModel(value = "生产设施坐标操作日志") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_production_device_operation_log") +public class BasProductionDeviceOperationLog { + private String logId; + + /** + * 操作时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operationTime; + + /** + * 生产设施名称 + */ + private String deviceName; + + /** + * 操作前经度 + */ + private String beforeModifyLng; + + /** + * 操作前纬度 + */ + private String beforeModifyLag; + + /** + * 操作状态 + */ + private String operationStatus; + + /** + * 操作后经度 + */ + private String afterModifyLng; + + /** + * 操作后纬度 + */ + private String afterModifyLag; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 所在工序 + */ + private String workProcedure; + + /** + * 企业ID + */ + private String factoryId; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasTarget.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasTarget.java new file mode 100644 index 0000000..8ba585c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasTarget.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +public class BasTarget { + @ApiModelProperty(value = "aqi 现状") + private BigDecimal aqi; + @ApiModelProperty(value = "pm25 现状") + private BigDecimal pm25; + @ApiModelProperty(value = "pm10 现状") + private BigDecimal pm10; + @ApiModelProperty(value = "so2 现状") + private BigDecimal so2; + @ApiModelProperty(value = "no2 现状") + private BigDecimal no2; + @ApiModelProperty(value = "co 现状") + private BigDecimal co; + @ApiModelProperty(value = "o3 现状") + private BigDecimal o3; + @ApiModelProperty(value = "pmi 现状") + private BigDecimal pmi; + @ApiModelProperty(value = "o3超标天数 现状") + private Integer o3Days; + @ApiModelProperty(value = "co超标天数 现状") + private Integer coDays; + @ApiModelProperty(value = "优良天数 现状") + private Integer goodDays; + @ApiModelProperty(value = "重污染天数 现状") + private Integer heavyDays; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "aqi 目标值") + private BigDecimal aqiTarget; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pm25 目标值") + private BigDecimal pm25Target; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pm10 目标值") + private BigDecimal pm10Target; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "so2 目标值") + private BigDecimal so2Target; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "no2 目标值") + private BigDecimal no2Target; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "co 目标值") + private BigDecimal coTarget; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "o3 目标值") + private BigDecimal o3Target; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pmi 目标值") + private BigDecimal pmiTarget; + @ApiModelProperty(value = "o3超标天数 目标值") + private Integer o3DaysTarget; + @ApiModelProperty(value = "co超标天数 目标值") + private Integer coDaysTarget; + @ApiModelProperty(value = "优良天数 目标值") + private Integer goodDaysTarget; + @ApiModelProperty(value = "重污染天数 目标值") + private Integer heavyDaysTarget; + + + public void setTargetNumber(Integer timeType) { + if(timeType == 2){ + this.pm25Target = new BigDecimal(18); + this.aqiTarget = new BigDecimal(10); + this.pm10Target = new BigDecimal(30); + this.so2Target = new BigDecimal(8); + this.no2Target = new BigDecimal(21); + this.coTarget = new BigDecimal(0.9); + this.o3Target = new BigDecimal(160); + this.pmiTarget = new BigDecimal(2.83); + this.o3DaysTarget = 10; + this.coDaysTarget = 10; + this.goodDaysTarget = 1; + this.heavyDaysTarget = 10; + } + if(timeType == 3){ + this.pm25Target = new BigDecimal(20); + this.aqiTarget = new BigDecimal(10); + this.pm10Target = new BigDecimal(35); + this.so2Target = new BigDecimal(8); + this.no2Target = new BigDecimal(18); + this.coTarget = new BigDecimal(0.8); + this.o3Target = new BigDecimal(160); + this.pmiTarget = new BigDecimal(2.85); + this.o3DaysTarget = 3; + this.coDaysTarget = 10; + this.goodDaysTarget = 28; + this.heavyDaysTarget = 0; + } + if(timeType == 4){ + this.pm25Target = new BigDecimal(35); + this.aqiTarget = new BigDecimal(10); + this.pm10Target = new BigDecimal(65); + this.so2Target = new BigDecimal(10); + this.no2Target = new BigDecimal(20); + this.coTarget = new BigDecimal(1); + this.o3Target = new BigDecimal(160); + this.pmiTarget = new BigDecimal(3.85); + this.o3DaysTarget = 10; + this.coDaysTarget = 10; + this.goodDaysTarget = 330; + this.heavyDaysTarget = 2; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasThresholdConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasThresholdConfig.java new file mode 100644 index 0000000..f8e9371 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BasThresholdConfig.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析-阈值设置对象 bas_threshold_config + * + * @author szhpt + * @date 2023-05-18*/ +@ApiModel(value = "关联分析-阈值设置") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bas_threshold_config") +public class BasThresholdConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + public static final String tableKey = "bas_threshold_config_"; + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "分析任务名称") + /** 分析任务名称 */ + @Excel(name = "分析任务名称") + private String taskName; + + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + @Excel(name = "参数编码") + private String paramCode; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String paramName; + + + @ApiModelProperty(value = "阈值频次:D:日 H:小时") + /** 阈值频次:D:日 H:小时 */ + @Excel(name = "阈值频次:D:日 H:小时") + private String frequency; + + + @ApiModelProperty(value = "阈值") + /** 阈值 */ + @Excel(name = "阈值") + private BigDecimal thresholdValue; + + + @ApiModelProperty(value = "单位") + /** 单位 */ + @Excel(name = "单位") + private String unit; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("taskName", getTaskName()) + .append("paramCode", getParamCode()) + .append("paramName", getParamName()) + .append("frequency", getFrequency()) + .append("thresholdValue", getThresholdValue()) + .append("unit", getUnit()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseControlConcentStandards.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseControlConcentStandards.java new file mode 100644 index 0000000..b46de9a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseControlConcentStandards.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; +import org.apache.ibatis.jdbc.Null; + +/** + * 管控浓度标准 + */ +@ApiModel(description="管控浓度标准") +@Data +public class BaseControlConcentStandards implements Serializable { + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + @Excel(name="企业id",sort = -1) + private String factoryId; + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + @Excel(name="污染物种类Code",sort = -2) + private String pollutantType; + + /** + * 管控浓度标准(mg/m3) + */ + @ApiModelProperty(value="管控浓度标准(mg/m3)") + @Excel(name = "管控浓度标准(mg/m3)",sort = 6,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal controlStandard; + + /** + * 纳入计算:0 否 1是 + */ + @ApiModelProperty(value="纳入计算:0 否 1是") + @Excel(name = "是否纳入计算",sort = 8, readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String includeCalculations; + + @ApiModelProperty(value="重点管控点位:0 否 1是") + @Excel(name = "是否重点管控点位",sort = 7, readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String controlPoints; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value="更新时间") + private Date updateTime; + + /** + * 对应监测点位名称 + */ + @ApiModelProperty(value="对应监测点位id") + @Excel(name="对应监测点位id",sort = -3) + private String outletId; + + @ApiModelProperty(value="建议排放量小时均值,通过定时任务计算,每月更新一次") + private BigDecimal adviceEmissionAvg; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseRegionalControlObjectives.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseRegionalControlObjectives.java new file mode 100644 index 0000000..c99b2a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/BaseRegionalControlObjectives.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel(description="base_regional_control_objectives") +public class BaseRegionalControlObjectives implements Serializable { + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private String id; + + /**countryName + * 区县code + */ + @ApiModelProperty(value="区县code") + private String countryCode; + + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + private String pollutantType; + + /** + * 建议目标排放量(kg/h) + */ + @ApiModelProperty(value="建议目标排放量(kg/h)") + private BigDecimal suggestedEmissions; + + /** + * 管控目标排放量(kg/h) + */ + @ApiModelProperty(value="管控目标排放量(kg/h)") + private BigDecimal controlEmissions; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value="更新时间") + private Date updateTime; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/EarlyWarning.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/EarlyWarning.java new file mode 100644 index 0000000..05dae87 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/EarlyWarning.java @@ -0,0 +1,138 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 管控浓度超标预警对象 early_warning + * + * @author szhpt + * @date 2023-04-24*/ +@ApiModel(value = "管控浓度超标预警") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("early_warning") +public class EarlyWarning extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "ew_id",type = IdType.AUTO) + private String ewId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ +// @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "行业编码") + /** 行业编码 */ +// @Excel(name = "行业编码") + private String industryCode; + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + @Excel(name = "行业类别",sort = 3) + private String industryName; + + + @ApiModelProperty(value = "在线监测点位id") + /** 在线监测点位id */ +// @Excel(name = "在线监测点位id") + private String stationId; + + + @ApiModelProperty(value = "预警时间") + /** 预警时间 */ + @Excel(name = "预警时间",sort = 4) + private String warningTime; + + + @ApiModelProperty(value = "预警内容") + /** 预警内容 */ + @Excel(name = "预警内容",sort = 5) + private String warningContent; + + + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 0) + private String factoryName; + + + @ApiModelProperty(value = "在线监测点位名称") + /** 在线监测点位名称 */ + @Excel(name = "监测点位名称",sort = 1) + private String stationName; + + + @ApiModelProperty(value = "区县编码") + /** 区县编码 */ +// @Excel(name = "区县编码") + private String countryCode; + + + @ApiModelProperty(value = "区县名称") + /** 区县名称 */ + @Excel(name = "区县名称",sort = 2) + private String countryName; + @ApiModelProperty(value = "预警开始时间") + @TableField(exist = false) + private Date startWarningTime; + @TableField(exist = false) + @ApiModelProperty(value = "预警结束时间") + private Date endWarningTime; + @TableField(exist = false) + private Date warningDate; + + //标准值 + @TableField(exist = false) + private BigDecimal controlStandard; + //污染物名称 + private String pollCode; + //污染物编码 + private String pollName; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("ewId", getEwId()) + .append("factoryId", getFactoryId()) + .append("industryCode", getIndustryCode()) + .append("stationId", getStationId()) + .append("warningTime", getWarningTime()) + .append("warningContent", getWarningContent()) + .append("createTime", getCreateTime()) + .append("factoryName", getFactoryName()) + .append("stationName", getStationName()) + .append("countryCode", getCountryCode()) + .append("countryName", getCountryName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingManifest.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingManifest.java new file mode 100644 index 0000000..bf7cf41 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingManifest.java @@ -0,0 +1,97 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 企业信息上报任务清单对象 factory_reporting_manifest + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务清单") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("factory_reporting_manifest") +public class FactoryReportingManifest extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + @Excel(name = "统一社会信用代码") + private String uscCode; + + + @ApiModelProperty(value = "所属行业") + /** 所属行业 */ + @Excel(name = "所属行业") + private String industryCategory; + + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + @Excel(name = "联系人") + private String contact; + + + @ApiModelProperty(value = "联系电话") + /** 联系电话 */ + @Excel(name = "联系电话") + private String contactPhone; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "fm_id",type = IdType.INPUT) + private String fmId; + + + + + @ApiModelProperty(value = "factory_reporting_task表关联id") + /** factory_reporting_task表关联id */ + @Excel(name = "factory_reporting_task表关联id") + private String frId; + @TableField(exist = false) + private String regionName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("factoryName", getFactoryName()) + .append("uscCode", getUscCode()) + .append("industryCategory", getIndustryCategory()) + .append("contact", getContact()) + .append("contactPhone", getContactPhone()) + .append("fmId", getFmId()) + .append("createTime", getCreateTime()) + .append("frId", getFrId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingReminders.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingReminders.java new file mode 100644 index 0000000..6e75058 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingReminders.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 企业信息上报提交提示对象 factory_reporting_reminders + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报提交提示") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("factory_reporting_reminders") +public class FactoryReportingReminders extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "fe_id",type = IdType.INPUT) + private String feId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "企业信息提交状态0未提交,1已提交") + /** 企业信息提交状态0未提交,1已提交 */ + @Excel(name = "企业信息提交状态0未提交,1已提交") + private String submitStatus; + + + @ApiModelProperty(value = "提交时间") + /** 提交时间 */ + @Excel(name = "提交时间") + private String submitTime; + + + @ApiModelProperty(value = "企业信息弹窗显示状态0不显示,1显示") + /** 企业信息弹窗显示状态0不显示,1显示 */ + @Excel(name = "企业信息弹窗显示状态0不显示,1显示") + private String remindersStatus; + + + @ApiModelProperty(value = "提交用户") + /** 提交用户 */ + @Excel(name = "提交用户") + private String submitUser; + @ApiModelProperty(value = "企业提交截止时间") + private String submitEndTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("feId", getFeId()) + .append("factoryId", getFactoryId()) + .append("submitStatus", getSubmitStatus()) + .append("submitTime", getSubmitTime()) + .append("remindersStatus", getRemindersStatus()) + .append("submitUser", getSubmitUser()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingTask.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingTask.java new file mode 100644 index 0000000..0f63bf6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/FactoryReportingTask.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 企业信息上报任务对象 factory_reporting_task + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("factory_reporting_task") +public class FactoryReportingTask extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "fr_id",type = IdType.INPUT) + private String frId; + + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + @Excel(name = "任务来源") + private String taskSource; + + + @ApiModelProperty(value = "所属区域") + /** 所属区域 */ + @Excel(name = "所属区域") + private String regionName; + + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + @Excel(name = "任务描述") + private String taskDescription; + private String taskUser; + + + @ApiModelProperty(value = "创建任务时间") + /** 创建任务时间 */ + @Excel(name = "创建任务时间") + private Date taskTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("frId", getFrId()) + .append("taskName", getTaskName()) + .append("taskSource", getTaskSource()) + .append("regionName", getRegionName()) + .append("taskDescription", getTaskDescription()) + .append("taskTime", getTaskTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/GasReleaseRealStatus.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/GasReleaseRealStatus.java new file mode 100644 index 0000000..a6420ff --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/GasReleaseRealStatus.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 煤气放散监控实时状态表 + */ +@ApiModel(value="煤气放散监控实时状态表") +@Data +public class GasReleaseRealStatus{ + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private Long id; + + /** + * 设备ID + */ + @ApiModelProperty(value="设备ID") + private String deviceId; + + /** + * 时间 + */ + @ApiModelProperty(value="时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date time; + + /** + * 状态:1-掉线,2-正常放散,3-未放散,4-异常放散 + */ + @ApiModelProperty(value="状态:1-掉线,2-正常放散,3-未放散,4-异常放散") + private String status; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/IotDeviceType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/IotDeviceType.java new file mode 100644 index 0000000..6712f8a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/IotDeviceType.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 物联网平台-设备类型 + */ +@ApiModel(value="物联网平台-设备类型") +@Data +public class IotDeviceType { + /** + * 字典ID + */ + @ApiModelProperty(value="字典ID") + private Integer dictId; + + /** + * 名称 + */ + @ApiModelProperty(value="名称") + private String name; + + /** + * 编码 + */ + @ApiModelProperty(value="编码") + private String deviceCode; + + /** + * 父级编码 + */ + @ApiModelProperty(value="父级编码") + private String industryCode; + + /** + * 值 + */ + @ApiModelProperty(value="值") + private String value; + + /** + * 类别 见枚举定义 + */ + @ApiModelProperty(value="类别 见枚举定义") + private String type; + + /** + * 显示顺序 + */ + @ApiModelProperty(value="显示顺序") + private String showOrder; + + /** + * 状态 0=停用,1=启用 + */ + @ApiModelProperty(value="状态 0=停用,1=启用") + private String status; + + /** + * 删除标志 0=未删除,1=已删除 + */ + @ApiModelProperty(value="删除标志 0=未删除,1=已删除") + private String deleteFlag; + + /** + * 备注 + */ + @ApiModelProperty(value="备注") + private String memo; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmDoorMonitorAccountFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmDoorMonitorAccountFi.java new file mode 100644 index 0000000..3962662 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmDoorMonitorAccountFi.java @@ -0,0 +1,101 @@ +package cn.cecep.talroad.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 门禁监控 + */ +@ApiModel(value="门禁监控") +@Data +public class MAmDoorMonitorAccountFi{ + /** + * 主键id + + */ + @ApiModelProperty(value="主键id,") + private String id; + + /** + * 企业id + + */ + @ApiModelProperty(value="企业id,") + private String factoryId; + + /** + * 车牌号码 + + */ + @ApiModelProperty(value="车牌号码,") + private String lpnCode; + + /** + * 出入类型 + + */ + @ApiModelProperty(value="出入类型,") + private String entryType; + + /** + * 出入时间 + + */ + @ApiModelProperty(value="出入时间,") + private String entryTime; + + /** + * 车队名称 + + */ + @ApiModelProperty(value="车队名称,") + private String carTeam; + + /** + * 排放阶段(国一: I,国二: II,国三: III,国四: IV,国五: V,国六: VI,新能源: NE) + */ + @ApiModelProperty(value="排放阶段(国一: I,国二: II,国三: III,国四: IV,国五: V,国六: VI,新能源: NE)") + private String dischargeStage; + + /** + * 发动机号码 + + */ + @ApiModelProperty(value="发动机号码,") + private String ngineCode; + + /** + * 货物名称 + + */ + @ApiModelProperty(value="货物名称,") + private String ioType; + + /** + * 货物净重 + + */ + @ApiModelProperty(value="货物净重,") + private String cargoQuantity; + + /** + * 行驶证照片 + + */ + @ApiModelProperty(value="行驶证照片,") + private String drivingLicenseImage; + + /** + * 随车清单 + + */ + @ApiModelProperty(value="随车清单,") + private String accessoryListImage; + + /** + * 门禁编码 + */ + @ApiModelProperty(value = "门禁编码") + private String accessControlCode; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmProblemFiRatio.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmProblemFiRatio.java new file mode 100644 index 0000000..4567f1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmProblemFiRatio.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigInteger; +import java.util.Date; + +/** + * 预警报警信息-预警比例定制 + */ +@ApiModel(description = "预警报警信息-预警比例定制") +@Schema(description = "预警报警信息-预警比例定制") +@Data +@TableName(value = "m_am_problem_fi_ratio") +public class MAmProblemFiRatio extends BaseEntity implements Serializable { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + @Schema(description = "主键id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + @Schema(description = "企业id") + private String factoryId; + + /** + * 监测点位id + */ + @TableField(value = "station_id") + @ApiModelProperty(value = "监测点位id") + @Schema(description = "监测点位id") + private String stationId; + + /** + * 污染物id + */ + @TableField(value = "poll_id") + @ApiModelProperty(value = "污染物id") + @Schema(description = "污染物id") + private String pollId; + + /** + * 预警比例 + */ + @TableField(value = "problem_ratio") + @ApiModelProperty(value = "预警比例") + @Schema(description = "预警比例") + private String problemRatio; + + /** 创建时间 */ + @TableField(value = "create_time") + @ApiModelProperty(value = "创建时间") + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** 修改时间 */ + @TableField(value = "update_time") + @ApiModelProperty(value = "修改时间") + @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + private static final long serialVersionUID = 1L; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoCoordinateOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoCoordinateOperationLog.java new file mode 100644 index 0000000..22c0142 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoCoordinateOperationLog.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: MAmVideoCoordinateOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:27 + * @Company: Copyright© [2023/04/28 15:27] by [Mr.Yanghongtao] + **/ +/** + * 视频坐标操作日志表 + */ +@ApiModel(value = "视频坐标操作日志表") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_video_coordinate_operation_log") +public class MAmVideoCoordinateOperationLog extends BaseEntity +{ + /** + * 主键标识 + */ + private String logId; + + /** + * 操作时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operationTime; + + /** + * 视频监测点位名称 + */ + private String videoStationName; + + /** + * 操作前经度 + */ + private String beforeModifyLng; + + /** + * 操作前纬度 + */ + private String beforeModifyLag; + + /** + * 操作状态 + */ + private String operationStatus; + + /** + * 操作后经度 + */ + private String afterModifyLng; + + /** + * 操作后纬度 + */ + private String afterModifyLag; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 视频通道ID + */ + private String videoChannel; + + /** + * 企业ID + */ + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoDevFi.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoDevFi.java new file mode 100644 index 0000000..812a4d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoDevFi.java @@ -0,0 +1,154 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigInteger; + + +/** + * 基础信息 与 产治排跟踪--视频设施清单对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "基础信息 与 产治排跟踪--视频设施清单") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_am_video_dev_fi") +public class MAmVideoDevFi extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "设备主键") + /** 设备主键 */ + @TableId(value = "id",type = IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + + @ApiModelProperty(value = "摄像头ID") + /** 摄像头ID */ + @Excel(name = "摄像头ID") + private String devId; + + + @ApiModelProperty(value = "摄像头名称") + /** 摄像头名称 */ + @Excel(name = "摄像头名称") + private String devName; + + + @ApiModelProperty(value = "摄像头内部编号") + /** 摄像头内部编号 */ + @Excel(name = "摄像头内部编号") + private String devInsideCode; + + + @ApiModelProperty(value = "验证码") + /** 验证码 */ + @Excel(name = "验证码") + private String devCode; + + + @ApiModelProperty(value = "型号") + /** 型号 */ + @Excel(name = "型号") + private String model; + + + @ApiModelProperty(value = "通道号") + /** 通道号 */ + @Excel(name = "通道号") + private String modelRoad; + + + @ApiModelProperty(value = "安装位置") + /** 安装位置 */ + @Excel(name = "安装位置") + private String location; + + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + @Excel(name = "经度(地图)") + private String lonMap; + + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + @Excel(name = "纬度(地图)") + private String latMap; + + + @ApiModelProperty(value = "备注说明") + /** 备注说明 */ + @Excel(name = "备注说明") + private String descrAny; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + @Excel(name = "设备类型") + private String devType; + + + @ApiModelProperty(value = "设备来源") + /** 设备来源 */ + @Excel(name = "设备来源") + private String devSource; + @ApiModelProperty(value = "设备id,用于视频来源于GB28181") + /** 设备id,用于视频来源于GB28181 */ + private String gbsDeviceId; + private String channelId; + private String status; + private String stationBuildingMn; + private String deviceId; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("devId", getDevId()) + .append("devName", getDevName()) + .append("devInsideCode", getDevInsideCode()) + .append("devCode", getDevCode()) + .append("model", getModel()) + .append("modelRoad", getModelRoad()) + .append("location", getLocation()) + .append("lonMap", getLonMap()) + .append("latMap", getLatMap()) + .append("descrAny", getDescrAny()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("devType", getDevType()) + .append("devSource", getDevSource()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoInfoOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoInfoOperationLog.java new file mode 100644 index 0000000..8c88c3c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MAmVideoInfoOperationLog.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @className: MAmVideoInfoOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/30 10:11 + * @Company: Copyright© [2023/04/30 10:11] by [Mr.Yanghongtao] + **/ +/** + * 视频信息管理操作日志 + */ +@ApiModel(description="视频信息管理操作日志") +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "m_am_video_info_operation_log") +public class MAmVideoInfoOperationLog { + @TableId(value = "log_id", type = IdType.ASSIGN_UUID) + @ApiModelProperty(value="主键ID") + private String logId; + + /** + * 操作时间 + */ + @TableField(value = "operation_time") + @ApiModelProperty(value="操作时间") + private Date operationTime; + + /** + * 视频监测点位名称 + */ + @TableField(value = "video_station_name") + @ApiModelProperty(value="视频监测点位名称") + private String videoStationName; + + /** + * 修改前对应许可证生产设施名称 + */ + @TableField(value = "before_modify_name") + @ApiModelProperty(value="修改前对应许可证生产设施名称") + private String beforeModifyName; + + /** + * 修改前对应许可证生产设施编号 + */ + @TableField(value = "before_modify_code") + @ApiModelProperty(value="修改前对应许可证生产设施编号") + private String beforeModifyCode; + + /** + * 操作状态 + */ + @TableField(value = "operation_status") + @ApiModelProperty(value="操作状态") + private String operationStatus; + + /** + * 修改后对应许可证生产设施名称 + */ + @TableField(value = "after_modify_name") + @ApiModelProperty(value="修改后对应许可证生产设施名称") + private String afterModifyName; + + /** + * 修改后对应许可证生产设施编号 + */ + @TableField(value = "after_modify_code") + @ApiModelProperty(value="修改后对应许可证生产设施编号") + private String afterModifyCode; + + /** + * 操作人 + */ + @TableField(value = "\"operator\"") + @ApiModelProperty(value="操作人") + private String operator; + + /** + * 操作人ID + */ + @TableField(value = "operator_id") + @ApiModelProperty(value="操作人ID") + private String operatorId; + + /** + * 视频通道ID + */ + @TableField(value = "video_channel") + @ApiModelProperty(value="视频通道ID") + private String videoChannel; + + /** + * 企业ID + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业ID") + private String factoryId; + + public static final String COL_LOG_ID = "log_id"; + + public static final String COL_OPERATION_TIME = "operation_time"; + + public static final String COL_VIDEO_STATION_NAME = "video_station_name"; + + public static final String COL_BEFORE_MODIFY_NAME = "before_modify_name"; + + public static final String COL_BEFORE_MODIFY_CODE = "before_modify_code"; + + public static final String COL_OPERATION_STATUS = "operation_status"; + + public static final String COL_AFTER_MODIFY_NAME = "after_modify_name"; + + public static final String COL_AFTER_MODIFY_CODE = "after_modify_code"; + + public static final String COL_OPERATOR = "operator"; + + public static final String COL_OPERATOR_ID = "operator_id"; + + public static final String COL_VIDEO_CHANNEL = "video_channel"; + + public static final String COL_FACTORY_ID = "factory_id"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlHour.java new file mode 100644 index 0000000..c1f9243 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlHour.java @@ -0,0 +1,336 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-玻璃-小时 保存设备的小时数据对象 mon_dev_bl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_bl_hour") +public class MonDevBlHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + @Excel(name = "混合机温度 单位: ℃") + private String bs100; + + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + @Excel(name = "原熔皮带电流 单位: A") + private String bs101; + + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + @Excel(name = "投料机输出频率 单位: HZ") + private String bs102; + + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + @Excel(name = "助燃风量 单位: m3/h") + private String bs103; + + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + @Excel(name = "熔窑温度 单位: ℃") + private String bs104; + + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + @Excel(name = "煤气流量 单位: m3/h") + private String bs105; + + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + @Excel(name = "天然气流量 单位: m3/h") + private String bs106; + + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + @Excel(name = "退火窑辊道车速 单位: m/h") + private String bs107; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String bz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String bz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String bz102; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + @Excel(name = "脱硫洗涤塔pH值 单位: ") + private String bz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String bz104; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String bz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + @Excel(name = "脱硝反应区温度 单位: ℃") + private String bz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String bz108; + + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + @Excel(name = "脱硝供给泵电流 单位: A") + private String bz109; + + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + @Excel(name = "氨喷射系统电流 单位: A") + private String bz110; + + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + @Excel(name = "氨泵风机电流 单位: A") + private String bz112; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + @Excel(name = "袋式除尘器_风机电流 单位: A") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + @Excel(name = "袋式除尘器_清灰周期 单位: h") + private String g605; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + @Excel(name = "入料_原料配比后的总重量 单位: kg") + private String g983; + + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + @Excel(name = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + @Excel(name = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("bs100", getBs100()) + .append("bs101", getBs101()) + .append("bs102", getBs102()) + .append("bs103", getBs103()) + .append("bs104", getBs104()) + .append("bs105", getBs105()) + .append("bs106", getBs106()) + .append("bs107", getBs107()) + .append("bz100", getBz100()) + .append("bz101", getBz101()) + .append("bz102", getBz102()) + .append("bz103", getBz103()) + .append("bz104", getBz104()) + .append("bz105", getBz105()) + .append("bz106", getBz106()) + .append("bz107", getBz107()) + .append("bz108", getBz108()) + .append("bz109", getBz109()) + .append("bz110", getBz110()) + .append("bz111", getBz111()) + .append("bz112", getBz112()) + .append("g140", getG140()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g983", getG983()) + .append("g984", getG984()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlOther.java new file mode 100644 index 0000000..c3ddea8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlOther.java @@ -0,0 +1,337 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据对象 mon_dev_bl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_bl_other") +public class MonDevBlOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + @Excel(name = "混合机温度 单位: ℃") + private String bs100; + + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + @Excel(name = "原熔皮带电流 单位: A") + private String bs101; + + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + @Excel(name = "投料机输出频率 单位: HZ") + private String bs102; + + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + @Excel(name = "助燃风量 单位: m3/h") + private String bs103; + + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + @Excel(name = "熔窑温度 单位: ℃") + private String bs104; + + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + @Excel(name = "煤气流量 单位: m3/h") + private String bs105; + + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + @Excel(name = "天然气流量 单位: m3/h") + private String bs106; + + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + @Excel(name = "退火窑辊道车速 单位: m/h") + private String bs107; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String bz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String bz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String bz102; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + @Excel(name = "脱硫洗涤塔pH值 单位: ") + private String bz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String bz104; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String bz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + @Excel(name = "脱硝反应区温度 单位: ℃") + private String bz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String bz108; + + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + @Excel(name = "脱硝供给泵电流 单位: A") + private String bz109; + + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + @Excel(name = "氨喷射系统电流 单位: A") + private String bz110; + + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + @Excel(name = "氨泵风机电流 单位: A") + private String bz112; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + @Excel(name = "袋式除尘器_风机电流 单位: A") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + @Excel(name = "袋式除尘器_清灰周期 单位: h") + private String g605; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + @Excel(name = "入料_原料配比后的总重量 单位: kg") + private String g983; + + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + @Excel(name = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + @Excel(name = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("bs100", getBs100()) + .append("bs101", getBs101()) + .append("bs102", getBs102()) + .append("bs103", getBs103()) + .append("bs104", getBs104()) + .append("bs105", getBs105()) + .append("bs106", getBs106()) + .append("bs107", getBs107()) + .append("bz100", getBz100()) + .append("bz101", getBz101()) + .append("bz102", getBz102()) + .append("bz103", getBz103()) + .append("bz104", getBz104()) + .append("bz105", getBz105()) + .append("bz106", getBz106()) + .append("bz107", getBz107()) + .append("bz108", getBz108()) + .append("bz109", getBz109()) + .append("bz110", getBz110()) + .append("bz111", getBz111()) + .append("bz112", getBz112()) + .append("g140", getG140()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g983", getG983()) + .append("g984", getG984()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlReal.java new file mode 100644 index 0000000..0cf3ec3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevBlReal.java @@ -0,0 +1,337 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-玻璃-实时 保存设备的实时数据对象 mon_dev_bl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_bl_real") +public class MonDevBlReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + @Excel(name = "混合机温度 单位: ℃") + private String bs100; + + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + @Excel(name = "原熔皮带电流 单位: A") + private String bs101; + + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + @Excel(name = "投料机输出频率 单位: HZ") + private String bs102; + + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + @Excel(name = "助燃风量 单位: m3/h") + private String bs103; + + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + @Excel(name = "熔窑温度 单位: ℃") + private String bs104; + + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + @Excel(name = "煤气流量 单位: m3/h") + private String bs105; + + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + @Excel(name = "天然气流量 单位: m3/h") + private String bs106; + + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + @Excel(name = "退火窑辊道车速 单位: m/h") + private String bs107; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String bz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String bz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String bz102; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + @Excel(name = "脱硫洗涤塔pH值 单位: ") + private String bz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String bz104; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String bz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + @Excel(name = "脱硝反应区温度 单位: ℃") + private String bz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String bz108; + + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + @Excel(name = "脱硝供给泵电流 单位: A") + private String bz109; + + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + @Excel(name = "氨喷射系统电流 单位: A") + private String bz110; + + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + @Excel(name = "氨泵风机电流 单位: A") + private String bz112; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + @Excel(name = "袋式除尘器_风机电流 单位: A") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + @Excel(name = "袋式除尘器_清灰周期 单位: h") + private String g605; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + @Excel(name = "入料_原料配比后的总重量 单位: kg") + private String g983; + + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + @Excel(name = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + @Excel(name = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("bs100", getBs100()) + .append("bs101", getBs101()) + .append("bs102", getBs102()) + .append("bs103", getBs103()) + .append("bs104", getBs104()) + .append("bs105", getBs105()) + .append("bs106", getBs106()) + .append("bs107", getBs107()) + .append("bz100", getBz100()) + .append("bz101", getBz101()) + .append("bz102", getBz102()) + .append("bz103", getBz103()) + .append("bz104", getBz104()) + .append("bz105", getBz105()) + .append("bz106", getBz106()) + .append("bz107", getBz107()) + .append("bz108", getBz108()) + .append("bz109", getBz109()) + .append("bz110", getBz110()) + .append("bz111", getBz111()) + .append("bz112", getBz112()) + .append("g140", getG140()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g983", getG983()) + .append("g984", getG984()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlHour.java new file mode 100644 index 0000000..ca61b2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlHour.java @@ -0,0 +1,805 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-电力-小时 保存设备的小时数据对象 mon_dev_dl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_dl_hour") +public class MonDevDlHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + @Excel(name = "湿法脱硫_增压风机状态") + private Long g101; + + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + @Excel(name = "湿法脱硫_增压风机电流 单位: A") + private String g102; + + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g115; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 单位: ℃") + private String g123; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + @Excel(name = "湿法脱硫_氧化风机状态") + private Long g138; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + @Excel(name = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g141; + + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + @Excel(name = "脱硝_氨喷射系统电流 单位: A") + private String g301; + + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + @Excel(name = "脱硝_稀释风机电流 单位: A") + private String g303; + + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + @Excel(name = "脱硝_氨泵风机电流 单位: A") + private String g305; + + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + @Excel(name = "脱硝_旁路挡板开度 单位: %") + private String g307; + + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + @Excel(name = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + @Excel(name = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + @Excel(name = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_入口NOX 单位: mg/m3") + private String g315; + + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + @Excel(name = "脱硝_入口O2百分比 单位: %") + private String g316; + + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + @Excel(name = "脱硝_入口温度 单位: ℃") + private String g317; + + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + @Excel(name = "脱硝_入口压力 单位: kpa") + private String g318; + + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + @Excel(name = "脱硝_入口流量 单位: m3/h") + private String g319; + + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + @Excel(name = "脱硝_入口湿度 单位: %") + private String g320; + + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_入口NH3 单位: mg/m3") + private String g321; + + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_出口NOX 单位: mg/m3") + private String g322; + + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + @Excel(name = "脱硝_出口O2百分比 单位: %") + private String g323; + + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + @Excel(name = "脱硝_出口温度 单位: ℃") + private String g324; + + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + @Excel(name = "脱硝_出口压力 单位: kpa") + private String g325; + + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + @Excel(name = "脱硝_出口流量 单位: m3/h") + private String g326; + + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + @Excel(name = "脱硝_出口湿度 单位: %") + private String g327; + + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_出口NH3 单位: mg/m3") + private String g328; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + @Excel(name = "袋式除尘器_进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + @Excel(name = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + @Excel(name = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + @Excel(name = "锅炉_锅炉机组锅炉MFT信号", readConverterExp = "锅=炉主燃料跳闸") + private String g904; + + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + @Excel(name = "锅炉_引风机状态") + private Long g905; + + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + @Excel(name = "锅炉_引风机电流 单位: A") + private String g906; + + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + @Excel(name = "锅炉_机组负荷", readConverterExp = "有=功功率") + private String g947; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + @Excel(name = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + @Excel(name = "发机侧气轮机功率 单位: MW") + private String hq100; + + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + @Excel(name = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + @Excel(name = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String hz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String hz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String hz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String hz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String hz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String hz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String hz108; + + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + @Excel(name = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + @Excel(name = "浆液循环泵状态") + private String g103; + + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + @Excel(name = "脱硫剂输送装置信号") + private String g203; + + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + @Excel(name = "脱硫塔温度") + private String g204; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g101", getG101()) + .append("g102", getG102()) + .append("g104", getG104()) + .append("g109", getG109()) + .append("g115", getG115()) + .append("g119", getG119()) + .append("g120", getG120()) + .append("g121", getG121()) + .append("g122", getG122()) + .append("g123", getG123()) + .append("g124", getG124()) + .append("g125", getG125()) + .append("g126", getG126()) + .append("g127", getG127()) + .append("g128", getG128()) + .append("g129", getG129()) + .append("g130", getG130()) + .append("g131", getG131()) + .append("g132", getG132()) + .append("g133", getG133()) + .append("g134", getG134()) + .append("g136", getG136()) + .append("g138", getG138()) + .append("g139", getG139()) + .append("g141", getG141()) + .append("g201", getG201()) + .append("g202", getG202()) + .append("g213", getG213()) + .append("g214", getG214()) + .append("g215", getG215()) + .append("g216", getG216()) + .append("g217", getG217()) + .append("g218", getG218()) + .append("g219", getG219()) + .append("g220", getG220()) + .append("g221", getG221()) + .append("g222", getG222()) + .append("g223", getG223()) + .append("g224", getG224()) + .append("g225", getG225()) + .append("g226", getG226()) + .append("g227", getG227()) + .append("g228", getG228()) + .append("g301", getG301()) + .append("g302", getG302()) + .append("g303", getG303()) + .append("g304", getG304()) + .append("g305", getG305()) + .append("g306", getG306()) + .append("g307", getG307()) + .append("g308", getG308()) + .append("g309", getG309()) + .append("g310", getG310()) + .append("g311", getG311()) + .append("g312", getG312()) + .append("g315", getG315()) + .append("g316", getG316()) + .append("g317", getG317()) + .append("g318", getG318()) + .append("g319", getG319()) + .append("g320", getG320()) + .append("g321", getG321()) + .append("g322", getG322()) + .append("g323", getG323()) + .append("g324", getG324()) + .append("g325", getG325()) + .append("g326", getG326()) + .append("g327", getG327()) + .append("g328", getG328()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g602", getG602()) + .append("g705", getG705()) + .append("g903", getG903()) + .append("g904", getG904()) + .append("g905", getG905()) + .append("g906", getG906()) + .append("g947", getG947()) + .append("gb00", getGb00()) + .append("gb01", getGb01()) + .append("gb02", getGb02()) + .append("gb03", getGb03()) + .append("gb04", getGb04()) + .append("gb05", getGb05()) + .append("gb06", getGb06()) + .append("gb07", getGb07()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("hq100", getHq100()) + .append("hs100", getHs100()) + .append("hs101", getHs101()) + .append("hz100", getHz100()) + .append("hz101", getHz101()) + .append("hz102", getHz102()) + .append("hz103", getHz103()) + .append("hz105", getHz105()) + .append("hz106", getHz106()) + .append("hz107", getHz107()) + .append("hz108", getHz108()) + .append("p103", getP103()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("g103", getG103()) + .append("g203", getG203()) + .append("g204", getG204()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlOther.java new file mode 100644 index 0000000..d65d193 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlOther.java @@ -0,0 +1,805 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据对象 mon_dev_dl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_dl_other") +public class MonDevDlOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + @Excel(name = "湿法脱硫_增压风机状态") + private Long g101; + + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + @Excel(name = "湿法脱硫_增压风机电流 单位: A") + private String g102; + + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g115; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 单位: ℃") + private String g123; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + @Excel(name = "湿法脱硫_氧化风机状态") + private Long g138; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + @Excel(name = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g141; + + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + @Excel(name = "脱硝_氨喷射系统电流 单位: A") + private String g301; + + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + @Excel(name = "脱硝_稀释风机电流 单位: A") + private String g303; + + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + @Excel(name = "脱硝_氨泵风机电流 单位: A") + private String g305; + + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + @Excel(name = "脱硝_旁路挡板开度 单位: %") + private String g307; + + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + @Excel(name = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + @Excel(name = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + @Excel(name = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_入口NOX 单位: mg/m3") + private String g315; + + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + @Excel(name = "脱硝_入口O2百分比 单位: %") + private String g316; + + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + @Excel(name = "脱硝_入口温度 单位: ℃") + private String g317; + + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + @Excel(name = "脱硝_入口压力 单位: kpa") + private String g318; + + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + @Excel(name = "脱硝_入口流量 单位: m3/h") + private String g319; + + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + @Excel(name = "脱硝_入口湿度 单位: %") + private String g320; + + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_入口NH3 单位: mg/m3") + private String g321; + + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_出口NOX 单位: mg/m3") + private String g322; + + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + @Excel(name = "脱硝_出口O2百分比 单位: %") + private String g323; + + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + @Excel(name = "脱硝_出口温度 单位: ℃") + private String g324; + + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + @Excel(name = "脱硝_出口压力 单位: kpa") + private String g325; + + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + @Excel(name = "脱硝_出口流量 单位: m3/h") + private String g326; + + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + @Excel(name = "脱硝_出口湿度 单位: %") + private String g327; + + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_出口NH3 单位: mg/m3") + private String g328; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + @Excel(name = "袋式除尘器_进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + @Excel(name = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + @Excel(name = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + @Excel(name = "锅炉_锅炉机组锅炉MFT信号", readConverterExp = "锅=炉主燃料跳闸") + private String g904; + + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + @Excel(name = "锅炉_引风机状态") + private Long g905; + + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + @Excel(name = "锅炉_引风机电流 单位: A") + private String g906; + + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + @Excel(name = "锅炉_机组负荷", readConverterExp = "有=功功率") + private String g947; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + @Excel(name = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + @Excel(name = "发机侧气轮机功率 单位: MW") + private String hq100; + + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + @Excel(name = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + @Excel(name = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String hz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String hz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String hz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String hz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String hz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String hz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String hz108; + + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + @Excel(name = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + @Excel(name = "浆液循环泵状态") + private String g103; + + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + @Excel(name = "脱硫剂输送装置信号") + private String g203; + + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + @Excel(name = "脱硫塔温度") + private String g204; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g101", getG101()) + .append("g102", getG102()) + .append("g104", getG104()) + .append("g109", getG109()) + .append("g115", getG115()) + .append("g119", getG119()) + .append("g120", getG120()) + .append("g121", getG121()) + .append("g122", getG122()) + .append("g123", getG123()) + .append("g124", getG124()) + .append("g125", getG125()) + .append("g126", getG126()) + .append("g127", getG127()) + .append("g128", getG128()) + .append("g129", getG129()) + .append("g130", getG130()) + .append("g131", getG131()) + .append("g132", getG132()) + .append("g133", getG133()) + .append("g134", getG134()) + .append("g136", getG136()) + .append("g138", getG138()) + .append("g139", getG139()) + .append("g141", getG141()) + .append("g201", getG201()) + .append("g202", getG202()) + .append("g213", getG213()) + .append("g214", getG214()) + .append("g215", getG215()) + .append("g216", getG216()) + .append("g217", getG217()) + .append("g218", getG218()) + .append("g219", getG219()) + .append("g220", getG220()) + .append("g221", getG221()) + .append("g222", getG222()) + .append("g223", getG223()) + .append("g224", getG224()) + .append("g225", getG225()) + .append("g226", getG226()) + .append("g227", getG227()) + .append("g228", getG228()) + .append("g301", getG301()) + .append("g302", getG302()) + .append("g303", getG303()) + .append("g304", getG304()) + .append("g305", getG305()) + .append("g306", getG306()) + .append("g307", getG307()) + .append("g308", getG308()) + .append("g309", getG309()) + .append("g310", getG310()) + .append("g311", getG311()) + .append("g312", getG312()) + .append("g315", getG315()) + .append("g316", getG316()) + .append("g317", getG317()) + .append("g318", getG318()) + .append("g319", getG319()) + .append("g320", getG320()) + .append("g321", getG321()) + .append("g322", getG322()) + .append("g323", getG323()) + .append("g324", getG324()) + .append("g325", getG325()) + .append("g326", getG326()) + .append("g327", getG327()) + .append("g328", getG328()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g602", getG602()) + .append("g705", getG705()) + .append("g903", getG903()) + .append("g904", getG904()) + .append("g905", getG905()) + .append("g906", getG906()) + .append("g947", getG947()) + .append("gb00", getGb00()) + .append("gb01", getGb01()) + .append("gb02", getGb02()) + .append("gb03", getGb03()) + .append("gb04", getGb04()) + .append("gb05", getGb05()) + .append("gb06", getGb06()) + .append("gb07", getGb07()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("hq100", getHq100()) + .append("hs100", getHs100()) + .append("hs101", getHs101()) + .append("hz100", getHz100()) + .append("hz101", getHz101()) + .append("hz102", getHz102()) + .append("hz103", getHz103()) + .append("hz105", getHz105()) + .append("hz106", getHz106()) + .append("hz107", getHz107()) + .append("hz108", getHz108()) + .append("p103", getP103()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("g103", getG103()) + .append("g203", getG203()) + .append("g204", getG204()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlReal.java new file mode 100644 index 0000000..80cce67 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevDlReal.java @@ -0,0 +1,806 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-电力-实时 保存设备的实时数据对象 mon_dev_dl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_dl_real") +public class MonDevDlReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + @Excel(name = "湿法脱硫_增压风机状态") + private Long g101; + + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + @Excel(name = "湿法脱硫_增压风机电流 单位: A") + private String g102; + + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g115; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 单位: ℃") + private String g123; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + @Excel(name = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + @Excel(name = "湿法脱硫_氧化风机状态") + private Long g138; + + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + @Excel(name = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + @Excel(name = "湿法脱硫_脱硫吸收硫塔", readConverterExp = "或=浆液池") + private String g141; + + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + @Excel(name = "脱硝_氨喷射系统电流 单位: A") + private String g301; + + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + @Excel(name = "脱硝_稀释风机电流 单位: A") + private String g303; + + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + @Excel(name = "脱硝_氨泵风机电流 单位: A") + private String g305; + + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + @Excel(name = "脱硝_旁路挡板开度 单位: %") + private String g307; + + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + @Excel(name = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + @Excel(name = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + @Excel(name = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_入口NOX 单位: mg/m3") + private String g315; + + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + @Excel(name = "脱硝_入口O2百分比 单位: %") + private String g316; + + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + @Excel(name = "脱硝_入口温度 单位: ℃") + private String g317; + + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + @Excel(name = "脱硝_入口压力 单位: kpa") + private String g318; + + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + @Excel(name = "脱硝_入口流量 单位: m3/h") + private String g319; + + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + @Excel(name = "脱硝_入口湿度 单位: %") + private String g320; + + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_入口NH3 单位: mg/m3") + private String g321; + + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + @Excel(name = "脱硝_出口NOX 单位: mg/m3") + private String g322; + + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + @Excel(name = "脱硝_出口O2百分比 单位: %") + private String g323; + + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + @Excel(name = "脱硝_出口温度 单位: ℃") + private String g324; + + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + @Excel(name = "脱硝_出口压力 单位: kpa") + private String g325; + + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + @Excel(name = "脱硝_出口流量 单位: m3/h") + private String g326; + + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + @Excel(name = "脱硝_出口湿度 单位: %") + private String g327; + + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + @Excel(name = "脱硝_出口NH3 单位: mg/m3") + private String g328; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + @Excel(name = "静电除尘器_一次电压 单位: V") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + @Excel(name = "静电除尘器_一次电流 单位: A") + private String g502; + + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + @Excel(name = "袋式除尘器_进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + @Excel(name = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + @Excel(name = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + @Excel(name = "锅炉_锅炉机组锅炉MFT信号", readConverterExp = "锅=炉主燃料跳闸") + private String g904; + + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + @Excel(name = "锅炉_引风机状态") + private Long g905; + + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + @Excel(name = "锅炉_引风机电流 单位: A") + private String g906; + + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + @Excel(name = "锅炉_机组负荷", readConverterExp = "有=功功率") + private String g947; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + @Excel(name = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + @Excel(name = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + @Excel(name = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + @Excel(name = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + @Excel(name = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + @Excel(name = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + @Excel(name = "发机侧气轮机功率 单位: MW") + private String hq100; + + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + @Excel(name = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + @Excel(name = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + @Excel(name = "布袋除尘器前后压差 单位: Pa") + private String hz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + @Excel(name = "电除尘器二次电流 单位: A") + private String hz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + @Excel(name = "电除尘器二次电压 单位: V") + private String hz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String hz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + @Excel(name = "脱硫供浆流量 单位: m3/h") + private String hz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + @Excel(name = "脱硫供料流量 单位: kg/h") + private String hz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String hz108; + + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + @Excel(name = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + @Excel(name = "浆液循环泵状态") + private String g103; + + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + @Excel(name = "脱硫剂输送装置信号") + private String g203; + + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + @Excel(name = "脱硫塔温度") + private String g204; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g101", getG101()) + .append("g102", getG102()) + .append("g104", getG104()) + .append("g109", getG109()) + .append("g115", getG115()) + .append("g119", getG119()) + .append("g120", getG120()) + .append("g121", getG121()) + .append("g122", getG122()) + .append("g123", getG123()) + .append("g124", getG124()) + .append("g125", getG125()) + .append("g126", getG126()) + .append("g127", getG127()) + .append("g128", getG128()) + .append("g129", getG129()) + .append("g130", getG130()) + .append("g131", getG131()) + .append("g132", getG132()) + .append("g133", getG133()) + .append("g134", getG134()) + .append("g136", getG136()) + .append("g138", getG138()) + .append("g139", getG139()) + .append("g141", getG141()) + .append("g201", getG201()) + .append("g202", getG202()) + .append("g213", getG213()) + .append("g214", getG214()) + .append("g215", getG215()) + .append("g216", getG216()) + .append("g217", getG217()) + .append("g218", getG218()) + .append("g219", getG219()) + .append("g220", getG220()) + .append("g221", getG221()) + .append("g222", getG222()) + .append("g223", getG223()) + .append("g224", getG224()) + .append("g225", getG225()) + .append("g226", getG226()) + .append("g227", getG227()) + .append("g228", getG228()) + .append("g301", getG301()) + .append("g302", getG302()) + .append("g303", getG303()) + .append("g304", getG304()) + .append("g305", getG305()) + .append("g306", getG306()) + .append("g307", getG307()) + .append("g308", getG308()) + .append("g309", getG309()) + .append("g310", getG310()) + .append("g311", getG311()) + .append("g312", getG312()) + .append("g315", getG315()) + .append("g316", getG316()) + .append("g317", getG317()) + .append("g318", getG318()) + .append("g319", getG319()) + .append("g320", getG320()) + .append("g321", getG321()) + .append("g322", getG322()) + .append("g323", getG323()) + .append("g324", getG324()) + .append("g325", getG325()) + .append("g326", getG326()) + .append("g327", getG327()) + .append("g328", getG328()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g602", getG602()) + .append("g705", getG705()) + .append("g903", getG903()) + .append("g904", getG904()) + .append("g905", getG905()) + .append("g906", getG906()) + .append("g947", getG947()) + .append("gb00", getGb00()) + .append("gb01", getGb01()) + .append("gb02", getGb02()) + .append("gb03", getGb03()) + .append("gb04", getGb04()) + .append("gb05", getGb05()) + .append("gb06", getGb06()) + .append("gb07", getGb07()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("hq100", getHq100()) + .append("hs100", getHs100()) + .append("hs101", getHs101()) + .append("hz100", getHz100()) + .append("hz101", getHz101()) + .append("hz102", getHz102()) + .append("hz103", getHz103()) + .append("hz105", getHz105()) + .append("hz106", getHz106()) + .append("hz107", getHz107()) + .append("hz108", getHz108()) + .append("p103", getP103()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("g103", getG103()) + .append("g203", getG203()) + .append("g204", getG204()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsHour.java new file mode 100644 index 0000000..39d4461 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsHour.java @@ -0,0 +1,503 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据对象 mon_dev_fs_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_fs_hour") +public class MonDevFsHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + @Excel(name = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + @Excel(name = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + @Excel(name = "脱硝烟气温度 单位: ℃") + private String fz100; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String fz101; + + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + @Excel(name = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + @Excel(name = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + @Excel(name = "脱硫吸收塔内浆液pH值") + private String fz104; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + @Excel(name = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + @Excel(name = "活性炭用量 单位: kg/h") + private String fz107; + + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + @Excel(name = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + @Excel(name = "脱酸药剂浆液浓度 单位: %") + private String g229; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + @Excel(name = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + @Excel(name = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + @Excel(name = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + @Excel(name = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + @Excel(name = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + @Excel(name = "烟气净化单元_非正常工况", readConverterExp = "停=炉") + private String gb15; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + @Excel(name = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + @Excel(name = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + @Excel(name = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + @Excel(name = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + @Excel(name = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + @Excel(name = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + @Excel(name = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + @Excel(name = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + @Excel(name = "危险废物进厂量_其它 单位: kg") + private String gc15; + + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + @Excel(name = "炉渣出厂量千克 单位: kg") + private String gc16; + + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + @Excel(name = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + @Excel(name = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + @Excel(name = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + @Excel(name = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + @Excel(name = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂", readConverterExp = "氨=水、尿素等") + private String gc31; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + @Excel(name = "炉膛内中部和上部温度", readConverterExp = "5=,分=钟均值") + private String gc24; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("fs100", getFs100()) + .append("fs101", getFs101()) + .append("fz100", getFz100()) + .append("fz101", getFz101()) + .append("fz102", getFz102()) + .append("fz103", getFz103()) + .append("fz104", getFz104()) + .append("fz105", getFz105()) + .append("fz106", getFz106()) + .append("fz107", getFz107()) + .append("fz108", getFz108()) + .append("g229", getG229()) + .append("g230", getG230()) + .append("g231", getG231()) + .append("g232", getG232()) + .append("g233", getG233()) + .append("g234", getG234()) + .append("g332", getG332()) + .append("g333", getG333()) + .append("g334", getG334()) + .append("g335", getG335()) + .append("g602", getG602()) + .append("ga04", getGa04()) + .append("gb14", getGb14()) + .append("gb15", getGb15()) + .append("gb16", getGb16()) + .append("gb17", getGb17()) + .append("gb18", getGb18()) + .append("gb19", getGb19()) + .append("gc00", getGc00()) + .append("gc01", getGc01()) + .append("gc02", getGc02()) + .append("gc03", getGc03()) + .append("gc04", getGc04()) + .append("gc05", getGc05()) + .append("gc06", getGc06()) + .append("gc07", getGc07()) + .append("gc08", getGc08()) + .append("gc09", getGc09()) + .append("gc10", getGc10()) + .append("gc11", getGc11()) + .append("gc12", getGc12()) + .append("gc13", getGc13()) + .append("gc14", getGc14()) + .append("gc15", getGc15()) + .append("gc16", getGc16()) + .append("gc17", getGc17()) + .append("gc19", getGc19()) + .append("gc20", getGc20()) + .append("gc21", getGc21()) + .append("gc22", getGc22()) + .append("gc23", getGc23()) + .append("gc25", getGc25()) + .append("gc26", getGc26()) + .append("gc27", getGc27()) + .append("gc28", getGc28()) + .append("gc29", getGc29()) + .append("gc30", getGc30()) + .append("gc31", getGc31()) + .append("addiParam", getAddiParam()) + .append("gc24", getGc24()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsOther.java new file mode 100644 index 0000000..31bcdde --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsOther.java @@ -0,0 +1,504 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据对象 mon_dev_fs_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_fs_other") +public class MonDevFsOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + @Excel(name = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + @Excel(name = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + @Excel(name = "脱硝烟气温度 单位: ℃") + private String fz100; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String fz101; + + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + @Excel(name = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + @Excel(name = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + @Excel(name = "脱硫吸收塔内浆液pH值") + private String fz104; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + @Excel(name = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + @Excel(name = "活性炭用量 单位: kg/h") + private String fz107; + + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + @Excel(name = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + @Excel(name = "脱酸药剂浆液浓度 单位: %") + private String g229; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + @Excel(name = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + @Excel(name = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + @Excel(name = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + @Excel(name = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + @Excel(name = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + @Excel(name = "烟气净化单元_非正常工况", readConverterExp = "停=炉") + private String gb15; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + @Excel(name = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + @Excel(name = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + @Excel(name = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + @Excel(name = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + @Excel(name = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + @Excel(name = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + @Excel(name = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + @Excel(name = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + @Excel(name = "危险废物进厂量_其它 单位: kg") + private String gc15; + + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + @Excel(name = "炉渣出厂量千克 单位: kg") + private String gc16; + + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + @Excel(name = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + @Excel(name = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + @Excel(name = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + @Excel(name = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + @Excel(name = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂", readConverterExp = "氨=水、尿素等") + private String gc31; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + @Excel(name = "炉膛内中部和上部温度", readConverterExp = "5=,分=钟均值") + private String gc24; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("fs100", getFs100()) + .append("fs101", getFs101()) + .append("fz100", getFz100()) + .append("fz101", getFz101()) + .append("fz102", getFz102()) + .append("fz103", getFz103()) + .append("fz104", getFz104()) + .append("fz105", getFz105()) + .append("fz106", getFz106()) + .append("fz107", getFz107()) + .append("fz108", getFz108()) + .append("g229", getG229()) + .append("g230", getG230()) + .append("g231", getG231()) + .append("g232", getG232()) + .append("g233", getG233()) + .append("g234", getG234()) + .append("g332", getG332()) + .append("g333", getG333()) + .append("g334", getG334()) + .append("g335", getG335()) + .append("g602", getG602()) + .append("ga04", getGa04()) + .append("gb14", getGb14()) + .append("gb15", getGb15()) + .append("gb16", getGb16()) + .append("gb17", getGb17()) + .append("gb18", getGb18()) + .append("gb19", getGb19()) + .append("gc00", getGc00()) + .append("gc01", getGc01()) + .append("gc02", getGc02()) + .append("gc03", getGc03()) + .append("gc04", getGc04()) + .append("gc05", getGc05()) + .append("gc06", getGc06()) + .append("gc07", getGc07()) + .append("gc08", getGc08()) + .append("gc09", getGc09()) + .append("gc10", getGc10()) + .append("gc11", getGc11()) + .append("gc12", getGc12()) + .append("gc13", getGc13()) + .append("gc14", getGc14()) + .append("gc15", getGc15()) + .append("gc16", getGc16()) + .append("gc17", getGc17()) + .append("gc19", getGc19()) + .append("gc20", getGc20()) + .append("gc21", getGc21()) + .append("gc22", getGc22()) + .append("gc23", getGc23()) + .append("gc25", getGc25()) + .append("gc26", getGc26()) + .append("gc27", getGc27()) + .append("gc28", getGc28()) + .append("gc29", getGc29()) + .append("gc30", getGc30()) + .append("gc31", getGc31()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("gc24", getGc24()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsReal.java new file mode 100644 index 0000000..8794876 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevFsReal.java @@ -0,0 +1,506 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据对象 mon_dev_fs_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_fs_real") +public class MonDevFsReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + @Excel(name = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + @Excel(name = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + @Excel(name = "脱硝烟气温度 单位: ℃") + private String fz100; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + @Excel(name = "脱硝还原剂用量 单位: m3/h") + private String fz101; + + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + @Excel(name = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + @Excel(name = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + @Excel(name = "脱硫吸收塔内浆液pH值") + private String fz104; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + @Excel(name = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + @Excel(name = "活性炭用量 单位: kg/h") + private String fz107; + + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + @Excel(name = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + @Excel(name = "脱酸药剂浆液浓度 单位: %") + private String g229; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + @Excel(name = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + @Excel(name = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + @Excel(name = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + @Excel(name = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + @Excel(name = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + @Excel(name = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + @Excel(name = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + @Excel(name = "烟气净化单元_非正常工况", readConverterExp = "停=炉") + private String gb15; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + @Excel(name = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + @Excel(name = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + @Excel(name = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + @Excel(name = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + @Excel(name = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + @Excel(name = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + @Excel(name = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + @Excel(name = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + @Excel(name = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + @Excel(name = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + @Excel(name = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + @Excel(name = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + @Excel(name = "危险废物进厂量_其它 单位: kg") + private String gc15; + + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + @Excel(name = "炉渣出厂量千克 单位: kg") + private String gc16; + + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + @Excel(name = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + @Excel(name = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + @Excel(name = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + @Excel(name = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + @Excel(name = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + @Excel(name = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + @Excel(name = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + @Excel(name = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + @Excel(name = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂", readConverterExp = "氨=水、尿素等") + private String gc31; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + @Excel(name = "炉膛内中部和上部温度", readConverterExp = "5=,分=钟均值") + private String gc24; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("fs100", getFs100()) + .append("fs101", getFs101()) + .append("fz100", getFz100()) + .append("fz101", getFz101()) + .append("fz102", getFz102()) + .append("fz103", getFz103()) + .append("fz104", getFz104()) + .append("fz105", getFz105()) + .append("fz106", getFz106()) + .append("fz107", getFz107()) + .append("fz108", getFz108()) + .append("g229", getG229()) + .append("g230", getG230()) + .append("g231", getG231()) + .append("g232", getG232()) + .append("g233", getG233()) + .append("g234", getG234()) + .append("g332", getG332()) + .append("g333", getG333()) + .append("g334", getG334()) + .append("g335", getG335()) + .append("g602", getG602()) + .append("ga04", getGa04()) + .append("gb14", getGb14()) + .append("gb15", getGb15()) + .append("gb16", getGb16()) + .append("gb17", getGb17()) + .append("gb18", getGb18()) + .append("gb19", getGb19()) + .append("gc00", getGc00()) + .append("gc01", getGc01()) + .append("gc02", getGc02()) + .append("gc03", getGc03()) + .append("gc04", getGc04()) + .append("gc05", getGc05()) + .append("gc06", getGc06()) + .append("gc07", getGc07()) + .append("gc08", getGc08()) + .append("gc09", getGc09()) + .append("gc10", getGc10()) + .append("gc11", getGc11()) + .append("gc12", getGc12()) + .append("gc13", getGc13()) + .append("gc14", getGc14()) + .append("gc15", getGc15()) + .append("gc16", getGc16()) + .append("gc17", getGc17()) + .append("gc19", getGc19()) + .append("gc20", getGc20()) + .append("gc21", getGc21()) + .append("gc22", getGc22()) + .append("gc23", getGc23()) + .append("gc25", getGc25()) + .append("gc26", getGc26()) + .append("gc27", getGc27()) + .append("gc28", getGc28()) + .append("gc29", getGc29()) + .append("gc30", getGc30()) + .append("gc31", getGc31()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("gc24", getGc24()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevHour.java new file mode 100644 index 0000000..5f07cd2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevHour.java @@ -0,0 +1,980 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_hour") +public class MonDevHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + @Excel(name = "装煤时间") + private String zmTime; + + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + @Excel(name = "推焦时间") + private String tmTime; + + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + @Excel(name = "生产过程参数1 含义因设备而异") + private String p1; + + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + @Excel(name = "生产过程参数2 含义因设备而异") + private String p2; + + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + @Excel(name = "生产过程参数3 含义因设备而异") + private String p3; + + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + @Excel(name = "生产过程参数4 含义因设备而异") + private String p4; + + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + @Excel(name = "烟气流量-in") + private String flowIn; + + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + @Excel(name = "温度-in") + private String tempIn; + + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + @Excel(name = "NOx-in") + private String noxIn; + + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + @Excel(name = "颗粒物-in") + private String pmIn; + + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + @Excel(name = "SO2-in") + private String so2In; + + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + @Excel(name = "烟气流量-out") + private String flowOut; + + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + @Excel(name = "温度-out") + private String tempOut; + + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + @Excel(name = "NOx-out") + private String noxOut; + + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + @Excel(name = "含氧量-out") + private String o2Out; + + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + @Excel(name = "颗粒物-out") + private String pmOut; + + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + @Excel(name = "SO2-out") + private String so2Out; + + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + @Excel(name = "脱硫剂使用量") + private String tljVol; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjVol; + + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + @Excel(name = "SO2-除尘1") + private String so2Cc1; + + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + @Excel(name = "颗粒物-除尘1") + private String pmCc1; + + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + @Excel(name = "风机电流-除尘1") + private String windElecCc1; + + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + @Excel(name = "除尘器风量-除尘1") + private String windVolCc1; + + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + @Excel(name = "SO2-除尘2") + private String so2Cc2; + + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + @Excel(name = "颗粒物-除尘2") + private String pmCc2; + + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + @Excel(name = "风机电流-除尘2") + private String windElecCc2; + + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + @Excel(name = "除尘器风量-除尘2") + private String windVolCc2; + + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + @Excel(name = "风机电流-除尘3") + private String windElecCc3; + + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + @Excel(name = "煤气参数3 含义因设备而异") + private String mq1; + + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + @Excel(name = "煤气参数2 含义因设备而异") + private String mq2; + + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + @Excel(name = "煤气参数1 含义因设备而异") + private String mq3; + + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + @Excel(name = "煤气参数4 含义因设备而异") + private String mq4; + + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + @Excel(name = "煤气参数5 含义因设备而异") + private String mq5; + + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + @Excel(name = "煤气参数6 含义因设备而异") + private String mq6; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR工艺") + private String g329; + + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + @Excel(name = "静电除尘器一次电压") + private String g501; + + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + @Excel(name = "静电除尘器一次电流") + private String g502; + + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + @Excel(name = "静电除尘器二次电压") + private String g503; + + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + @Excel(name = "静电除尘器二次电流") + private String g504; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + @Excel(name = "清灰周期") + private String g605; + + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + @Excel(name = "电机电流") + private String g606; + + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + @Excel(name = "风门开度") + private String g912; + + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + @Excel(name = "烧结矿产量") + private String g914; + + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + @Excel(name = "皮带秤作业时间") + private String g915; + + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + @Excel(name = "皮带秤配料量") + private String g916; + + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + @Excel(name = "料层厚度") + private String g917; + + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + @Excel(name = "燃料", readConverterExp = "煤=气") + private String g921; + + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + @Excel(name = "矿槽称量漏斗作业时间") + private String g926; + + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + @Excel(name = "矿槽称量漏斗装料量") + private String g927; + + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + @Excel(name = "出铁时间") + private String g928; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g929; + + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + @Excel(name = "热风炉鼓风量") + private String g930; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g931; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String g932; + + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + @Excel(name = "加料时间") + private String g935; + + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + @Excel(name = "加铁水量") + private String g936; + + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + @Excel(name = "加废钢量") + private String g937; + + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + @Excel(name = "出钢量") + private String g938; + + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + @Excel(name = "出渣量") + private String g939; + + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + @Excel(name = "石灰窑温度") + private String g941; + + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + @Excel(name = "主蒸汽流量") + private String g942; + + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + @Excel(name = "高炉煤气") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + @Excel(name = "锅炉累计运行小时数") + private String g945; + + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + @Excel(name = "转炉煤气") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + @Excel(name = "焦炉煤气") + private String g994; + + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + @Excel(name = "其它燃料量") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + @Excel(name = "干法脱硫剂使用量") + private String gb08; + + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + @Excel(name = "半干发脱硫剂使用量") + private String gb09; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2InFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String o2OutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2OutFlag; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + @ApiModelProperty(value = "烟气-排放量") + /** 烟气-排放量 */ + @Excel(name = "烟气-排放量") + private String flowOutTotal; + + + @ApiModelProperty(value = "NOx-排放量") + /** NOx-排放量 */ + @Excel(name = "NOx-排放量") + private String noxOutTotal; + + + @ApiModelProperty(value = "氧气-排放量") + /** 氧气-排放量 */ + @Excel(name = "氧气-排放量") + private String o2OutTotal; + + + @ApiModelProperty(value = "颗粒物-排放量") + /** 颗粒物-排放量 */ + @Excel(name = "颗粒物-排放量") + private String pmOutTotal; + + + @ApiModelProperty(value = "SO2-排放量") + /** SO2-排放量 */ + @Excel(name = "SO2-排放量") + private String so2OutTotal; + + + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + /** 转炉-产量 =炉数*容量 */ + @Excel(name = "转炉-产量 =炉数*容量") + private String zlProduct; + + + + + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String b104; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String g313; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + @Excel(name = "风机流量") + private String g330; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String g604; + + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + @Excel(name = "燃料瞬时流量") + private String g943; + + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + @Excel(name = "装煤量") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + @Excel(name = "装载量") + private String g957; + + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + @Excel(name = "提升机电流") + private String g958; + + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + @Excel(name = "地面放散口压力") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + @Excel(name = "硫酸使用量") + private String g963; + + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + @Excel(name = "洗油使用量") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + @Excel(name = "脱苯塔塔顶回流量") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + @Excel(name = "粗苯外送量") + private String g966; + + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + @Excel(name = "塔釜温度") + private String g967; + + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + @Excel(name = "洗油外送量") + private String g968; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g969; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + @Excel(name = "负压煤气管网压力") + private String g971; + + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + @Excel(name = "", readConverterExp = "风=机后") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + @Excel(name = "外供煤气流量") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + @Excel(name = "煤气柜容量") + private String g974; + + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + @Excel(name = "气柜高度") + private String g975; + + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + @Excel(name = "气柜压力") + private String g976; + + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + @Excel(name = "水封液位高度") + private String g977; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g978; + + + @ApiModelProperty(value = "流量") + /** 流量 */ + @Excel(name = "流量") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g981; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String g982; + + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + @Excel(name = "碱洗塔碱液使用量") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + @Excel(name = "酸洗塔酸液使用量") + private String gb12; + + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + @Excel(name = "洗油塔洗油使用量") + private String gb13; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("zmTime", getZmTime()) + .append("tmTime", getTmTime()) + .append("p1", getP1()) + .append("p2", getP2()) + .append("p3", getP3()) + .append("p4", getP4()) + .append("flowIn", getFlowIn()) + .append("tempIn", getTempIn()) + .append("noxIn", getNoxIn()) + .append("pmIn", getPmIn()) + .append("so2In", getSo2In()) + .append("flowOut", getFlowOut()) + .append("tempOut", getTempOut()) + .append("noxOut", getNoxOut()) + .append("o2Out", getO2Out()) + .append("pmOut", getPmOut()) + .append("so2Out", getSo2Out()) + .append("tljVol", getTljVol()) + .append("txjVol", getTxjVol()) + .append("so2Cc1", getSo2Cc1()) + .append("pmCc1", getPmCc1()) + .append("windElecCc1", getWindElecCc1()) + .append("windVolCc1", getWindVolCc1()) + .append("so2Cc2", getSo2Cc2()) + .append("pmCc2", getPmCc2()) + .append("windElecCc2", getWindElecCc2()) + .append("windVolCc2", getWindVolCc2()) + .append("windElecCc3", getWindElecCc3()) + .append("mq1", getMq1()) + .append("mq2", getMq2()) + .append("mq3", getMq3()) + .append("mq4", getMq4()) + .append("mq5", getMq5()) + .append("mq6", getMq6()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("g601", getG601()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g912", getG912()) + .append("g914", getG914()) + .append("g915", getG915()) + .append("g916", getG916()) + .append("g917", getG917()) + .append("g921", getG921()) + .append("g926", getG926()) + .append("g927", getG927()) + .append("g928", getG928()) + .append("g929", getG929()) + .append("g930", getG930()) + .append("g931", getG931()) + .append("g932", getG932()) + .append("g935", getG935()) + .append("g936", getG936()) + .append("g937", getG937()) + .append("g938", getG938()) + .append("g939", getG939()) + .append("g941", getG941()) + .append("g942", getG942()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("flowInFlag", getFlowInFlag()) + .append("tempInFlag", getTempInFlag()) + .append("noxInFlag", getNoxInFlag()) + .append("pmInFlag", getPmInFlag()) + .append("so2InFlag", getSo2InFlag()) + .append("flowOutFlag", getFlowOutFlag()) + .append("tempOutFlag", getTempOutFlag()) + .append("noxOutFlag", getNoxOutFlag()) + .append("o2OutFlag", getO2OutFlag()) + .append("pmOutFlag", getPmOutFlag()) + .append("so2OutFlag", getSo2OutFlag()) + .append("addiParam", getAddiParam()) + .append("flowOutTotal", getFlowOutTotal()) + .append("noxOutTotal", getNoxOutTotal()) + .append("o2OutTotal", getO2OutTotal()) + .append("pmOutTotal", getPmOutTotal()) + .append("so2OutTotal", getSo2OutTotal()) + .append("zlProduct", getZlProduct()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("b104", getB104()) + .append("g313", getG313()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g943", getG943()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("h959", getH959()) + .append("h960", getH960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhHour.java new file mode 100644 index 0000000..563a8d9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhHour.java @@ -0,0 +1,737 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-焦化-小时 保存设备的小时数据对象 mon_dev_jh_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_jh_hour") +public class MonDevJhHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + @Excel(name = "装煤时间 1=运行,0=停止") + private String js100; + + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + @Excel(name = "推焦时间 1=运行,0=停止") + private String js101; + + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + @Excel(name = "装煤车电流 单位:A") + private String js102; + + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + @Excel(name = "推焦车电流 单位:A") + private String js103; + + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + @Excel(name = "煤气使用量 单位:m3/h") + private String js104; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + @Excel(name = "布袋除尘器前后压差 单位:kPa") + private String jz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + @Excel(name = "电除尘器二次电流 单位:A") + private String jz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + @Excel(name = "电除尘器二次电压 单位:V") + private String jz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String jz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String jz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String jz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + @Excel(name = "脱硝烟气温度 单位:℃") + private String jz109; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String jz110; + + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + @Excel(name = "放散流量 单位:m3/h") + private String js200; + + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + @Excel(name = "放散温度 单位 ℃,") + private String js201; + + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + @Excel(name = "放散流速 单位:m/s") + private String js202; + + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + @Excel(name = "放散压力 单位:KPa") + private String js203; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR,艺=") + private String g329; + + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + @Excel(name = "风机流量 单位:m3/h") + private String g330; + + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + @Excel(name = "风机电流 单位:A") + private String g604; + + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + @Excel(name = "清灰周期 单位:h") + private String g605; + + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + @Excel(name = "电机电流 单位:A") + private String g606; + + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + @Excel(name = "主蒸汽流量 单位:m3/s") + private String g942; + + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + @Excel(name = "燃料瞬时流量 单位:m3/s") + private String g943; + + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + @Excel(name = "高炉煤气量 单位:m3/h") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + @Excel(name = "锅炉累计运行小时数 单位:个") + private String g945; + + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + @Excel(name = "计划装煤时间") + private String g949; + + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + @Excel(name = "计划装煤量 单位:kg") + private String g951; + + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + @Excel(name = "实际装煤量 单位:kg") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + @Excel(name = "提升机装载量 单位:kg") + private String g957; + + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + @Excel(name = "提升机电流 单位:A") + private String g958; + + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + @Excel(name = "SO2浓度 单位:mg/m3") + private String g960; + + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + @Excel(name = "地面放散口压力 单位:KPa") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + @Excel(name = "硫酸使用量 单位:m3/h") + private String g963; + + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + @Excel(name = "洗油使用量 单位:m3/h") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + @Excel(name = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + @Excel(name = "粗苯外送量 单位:m3/h") + private String g966; + + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + @Excel(name = "塔釜温度 单位:℃") + private String g967; + + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + @Excel(name = "洗油外送量 单位:m3/h") + private String g968; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g969; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + @Excel(name = "负压煤气管网压力 单位:KPa") + private String g971; + + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + @Excel(name = "风机后煤气管压力 单位:KPa") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + @Excel(name = "外供煤气流量 单位:m3/h") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + @Excel(name = "煤气柜容量 单位:m3") + private String g974; + + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + @Excel(name = "气柜高度 单位:m") + private String g975; + + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + @Excel(name = "气柜压力 单位:KPa") + private String g976; + + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + @Excel(name = "水封液位高度 单位:m") + private String g977; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g978; + + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + @Excel(name = "流量 单位:m3/h") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g981; + + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + @Excel(name = "温度 单位:℃") + private String g982; + + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + @Excel(name = "转炉煤气量 单位:m3/h") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + @Excel(name = "焦炉煤气量 单位:m3/h") + private String g994; + + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + @Excel(name = "其它燃料量 单位:m3/h") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + @Excel(name = "干法脱硫剂使用量 单位:kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + @Excel(name = "半干法脱硫剂使用量 单位:kg") + private String gb09; + + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + @Excel(name = "酸洗塔碱液使用量 单位:L") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb12; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb13; + + @ApiModelProperty(value = "颗粒物浓度1 ") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 ") + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2 ") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 ") + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度1 单位:mg/m3") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 单位:mg/m3") + private String ppmUnitCc1; + + @ApiModelProperty(value = "颗粒物浓度2 单位:mg/m3") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 单位:mg/m3") + private String ppmUnitCc2; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + @Excel(name = "烟气流量") + private String a100; + + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + @Excel(name = "含氧量") + private String a101; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String a102; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String a103; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String a104; + + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + @Excel(name = "氮氧化物浓度") + private String a105; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String a111; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjvol; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a120; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a121; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a130; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a131; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + @Excel(name = "湿法脱硫剂使用量") + private String g140; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String g959; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String j959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String j960; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("js100", getJs100()) + .append("js101", getJs101()) + .append("js102", getJs102()) + .append("js103", getJs103()) + .append("js104", getJs104()) + .append("jz100", getJz100()) + .append("jz101", getJz101()) + .append("jz102", getJz102()) + .append("jz103", getJz103()) + .append("jz105", getJz105()) + .append("jz106", getJz106()) + .append("jz107", getJz107()) + .append("jz108", getJz108()) + .append("jz109", getJz109()) + .append("jz110", getJz110()) + .append("js200", getJs200()) + .append("js201", getJs201()) + .append("js202", getJs202()) + .append("js203", getJs203()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g942", getG942()) + .append("g943", getG943()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g949", getG949()) + .append("g951", getG951()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g960", getG960()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("ppmCc1", getPpmCc1()) + .append("ppmCc2", getPpmCc2()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a100", getA100()) + .append("a101", getA101()) + .append("a102", getA102()) + .append("a103", getA103()) + .append("a104", getA104()) + .append("a105", getA105()) + .append("a111", getA111()) + .append("txjvol", getTxjvol()) + .append("a120", getA120()) + .append("a121", getA121()) + .append("a130", getA130()) + .append("a131", getA131()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("g140", getG140()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g601", getG601()) + .append("g959", getG959()) + .append("h959", getH959()) + .append("h960", getH960()) + .append("j959", getJ959()) + .append("j960", getJ960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhOther.java new file mode 100644 index 0000000..f77261b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhOther.java @@ -0,0 +1,738 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据对象 mon_dev_jh_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_jh_other") +public class MonDevJhOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + @Excel(name = "装煤时间 1=运行,0=停止") + private String js100; + + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + @Excel(name = "推焦时间 1=运行,0=停止") + private String js101; + + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + @Excel(name = "装煤车电流 单位:A") + private String js102; + + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + @Excel(name = "推焦车电流 单位:A") + private String js103; + + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + @Excel(name = "煤气使用量 单位:m3/h") + private String js104; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + @Excel(name = "布袋除尘器前后压差 单位:kPa") + private String jz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + @Excel(name = "电除尘器二次电流 单位:A") + private String jz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + @Excel(name = "电除尘器二次电压 单位:V") + private String jz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String jz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String jz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String jz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + @Excel(name = "脱硝烟气温度 单位:℃") + private String jz109; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String jz110; + + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + @Excel(name = "放散流量 单位:m3/h") + private String js200; + + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + @Excel(name = "放散温度 单位 ℃,") + private String js201; + + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + @Excel(name = "放散流速 单位:m/s") + private String js202; + + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + @Excel(name = "放散压力 单位:KPa") + private String js203; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR,艺=") + private String g329; + + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + @Excel(name = "风机流量 单位:m3/h") + private String g330; + + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + @Excel(name = "风机电流 单位:A") + private String g604; + + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + @Excel(name = "清灰周期 单位:h") + private String g605; + + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + @Excel(name = "电机电流 单位:A") + private String g606; + + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + @Excel(name = "主蒸汽流量 单位:m3/s") + private String g942; + + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + @Excel(name = "燃料瞬时流量 单位:m3/s") + private String g943; + + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + @Excel(name = "高炉煤气量 单位:m3/h") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + @Excel(name = "锅炉累计运行小时数 单位:个") + private String g945; + + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + @Excel(name = "计划装煤时间") + private String g949; + + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + @Excel(name = "计划装煤量 单位:kg") + private String g951; + + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + @Excel(name = "实际装煤量 单位:kg") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + @Excel(name = "提升机装载量 单位:kg") + private String g957; + + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + @Excel(name = "提升机电流 单位:A") + private String g958; + + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + @Excel(name = "SO2浓度 单位:mg/m3") + private String g960; + + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + @Excel(name = "地面放散口压力 单位:KPa") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + @Excel(name = "硫酸使用量 单位:m3/h") + private String g963; + + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + @Excel(name = "洗油使用量 单位:m3/h") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + @Excel(name = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + @Excel(name = "粗苯外送量 单位:m3/h") + private String g966; + + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + @Excel(name = "塔釜温度 单位:℃") + private String g967; + + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + @Excel(name = "洗油外送量 单位:m3/h") + private String g968; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g969; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + @Excel(name = "负压煤气管网压力 单位:KPa") + private String g971; + + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + @Excel(name = "风机后煤气管压力 单位:KPa") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + @Excel(name = "外供煤气流量 单位:m3/h") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + @Excel(name = "煤气柜容量 单位:m3") + private String g974; + + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + @Excel(name = "气柜高度 单位:m") + private String g975; + + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + @Excel(name = "气柜压力 单位:KPa") + private String g976; + + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + @Excel(name = "水封液位高度 单位:m") + private String g977; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g978; + + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + @Excel(name = "流量 单位:m3/h") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g981; + + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + @Excel(name = "温度 单位:℃") + private String g982; + + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + @Excel(name = "转炉煤气量 单位:m3/h") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + @Excel(name = "焦炉煤气量 单位:m3/h") + private String g994; + + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + @Excel(name = "其它燃料量 单位:m3/h") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + @Excel(name = "干法脱硫剂使用量 单位:kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + @Excel(name = "半干法脱硫剂使用量 单位:kg") + private String gb09; + + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + @Excel(name = "酸洗塔碱液使用量 单位:L") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb12; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb13; + + + @ApiModelProperty(value = "颗粒物浓度1 ") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 ") + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2 ") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 ") + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度1 单位:mg/m3") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 单位:mg/m3") + private String ppmUnitCc1; + + @ApiModelProperty(value = "颗粒物浓度2 单位:mg/m3") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 单位:mg/m3") + private String ppmUnitCc2; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + @Excel(name = "烟气流量") + private String a100; + + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + @Excel(name = "含氧量") + private String a101; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String a102; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String a103; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String a104; + + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + @Excel(name = "氮氧化物浓度") + private String a105; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String a111; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjvol; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a120; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a121; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a130; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a131; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + @Excel(name = "湿法脱硫剂使用量") + private String g140; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String g959; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String j959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String j960; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("js100", getJs100()) + .append("js101", getJs101()) + .append("js102", getJs102()) + .append("js103", getJs103()) + .append("js104", getJs104()) + .append("jz100", getJz100()) + .append("jz101", getJz101()) + .append("jz102", getJz102()) + .append("jz103", getJz103()) + .append("jz105", getJz105()) + .append("jz106", getJz106()) + .append("jz107", getJz107()) + .append("jz108", getJz108()) + .append("jz109", getJz109()) + .append("jz110", getJz110()) + .append("js200", getJs200()) + .append("js201", getJs201()) + .append("js202", getJs202()) + .append("js203", getJs203()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g942", getG942()) + .append("g943", getG943()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g949", getG949()) + .append("g951", getG951()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g960", getG960()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("ppmCc1", getPpmCc1()) + .append("ppmCc2", getPpmCc2()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a100", getA100()) + .append("a101", getA101()) + .append("a102", getA102()) + .append("a103", getA103()) + .append("a104", getA104()) + .append("a105", getA105()) + .append("a111", getA111()) + .append("txjvol", getTxjvol()) + .append("a120", getA120()) + .append("a121", getA121()) + .append("a130", getA130()) + .append("a131", getA131()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("g140", getG140()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g601", getG601()) + .append("g959", getG959()) + .append("h959", getH959()) + .append("h960", getH960()) + .append("j959", getJ959()) + .append("j960", getJ960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhReal.java new file mode 100644 index 0000000..0f9bad7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevJhReal.java @@ -0,0 +1,740 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-焦化-实时 保存设备的实时数据对象 mon_dev_jh_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_jh_real") +public class MonDevJhReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + @Excel(name = "装煤时间 1=运行,0=停止") + private String js100; + + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + @Excel(name = "推焦时间 1=运行,0=停止") + private String js101; + + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + @Excel(name = "装煤车电流 单位:A") + private String js102; + + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + @Excel(name = "推焦车电流 单位:A") + private String js103; + + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + @Excel(name = "煤气使用量 单位:m3/h") + private String js104; + + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + @Excel(name = "布袋除尘器前后压差 单位:kPa") + private String jz100; + + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + @Excel(name = "电除尘器二次电流 单位:A") + private String jz101; + + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + @Excel(name = "电除尘器二次电压 单位:V") + private String jz102; + + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + @Excel(name = "脱硫吸收剂pH值") + private String jz103; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String jz105; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String jz106; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + @Excel(name = "脱硝烟气温度 单位:℃") + private String jz109; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String jz110; + + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + @Excel(name = "放散流量 单位:m3/h") + private String js200; + + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + @Excel(name = "放散温度 单位 ℃,") + private String js201; + + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + @Excel(name = "放散流速 单位:m/s") + private String js202; + + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + @Excel(name = "放散压力 单位:KPa") + private String js203; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR,艺=") + private String g329; + + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + @Excel(name = "风机流量 单位:m3/h") + private String g330; + + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + @Excel(name = "风机电流 单位:A") + private String g604; + + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + @Excel(name = "清灰周期 单位:h") + private String g605; + + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + @Excel(name = "电机电流 单位:A") + private String g606; + + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + @Excel(name = "主蒸汽流量 单位:m3/s") + private String g942; + + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + @Excel(name = "燃料瞬时流量 单位:m3/s") + private String g943; + + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + @Excel(name = "高炉煤气量 单位:m3/h") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + @Excel(name = "锅炉累计运行小时数 单位:个") + private String g945; + + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + @Excel(name = "计划装煤时间") + private String g949; + + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + @Excel(name = "计划装煤量 单位:kg") + private String g951; + + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + @Excel(name = "实际装煤量 单位:kg") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + @Excel(name = "提升机装载量 单位:kg") + private String g957; + + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + @Excel(name = "提升机电流 单位:A") + private String g958; + + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + @Excel(name = "SO2浓度 单位:mg/m3") + private String g960; + + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + @Excel(name = "地面放散口压力 单位:KPa") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + @Excel(name = "硫酸使用量 单位:m3/h") + private String g963; + + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + @Excel(name = "洗油使用量 单位:m3/h") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + @Excel(name = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + @Excel(name = "粗苯外送量 单位:m3/h") + private String g966; + + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + @Excel(name = "塔釜温度 单位:℃") + private String g967; + + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + @Excel(name = "洗油外送量 单位:m3/h") + private String g968; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g969; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + @Excel(name = "负压煤气管网压力 单位:KPa") + private String g971; + + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + @Excel(name = "风机后煤气管压力 单位:KPa") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + @Excel(name = "外供煤气流量 单位:m3/h") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + @Excel(name = "煤气柜容量 单位:m3") + private String g974; + + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + @Excel(name = "气柜高度 单位:m") + private String g975; + + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + @Excel(name = "气柜压力 单位:KPa") + private String g976; + + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + @Excel(name = "水封液位高度 单位:m") + private String g977; + + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + @Excel(name = "压力 单位:KPa") + private String g978; + + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + @Excel(name = "流量 单位:m3/h") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + @Excel(name = "液位 单位:m") + private String g981; + + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + @Excel(name = "温度 单位:℃") + private String g982; + + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + @Excel(name = "转炉煤气量 单位:m3/h") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + @Excel(name = "焦炉煤气量 单位:m3/h") + private String g994; + + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + @Excel(name = "其它燃料量 单位:m3/h") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + @Excel(name = "干法脱硫剂使用量 单位:kg") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + @Excel(name = "半干法脱硫剂使用量 单位:kg") + private String gb09; + + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + @Excel(name = "酸洗塔碱液使用量 单位:L") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb12; + + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + @Excel(name = "酸洗塔酸液使用量 单位:L") + private String gb13; + + + @ApiModelProperty(value = "颗粒物浓度1 ") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 ") + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2 ") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 ") + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度1 单位:mg/m3") + /** 颗粒物浓度1 单位:mg/m3 */ + @Excel(name = "颗粒物浓度1 单位:mg/m3") + private String ppmUnitCc1; + + @ApiModelProperty(value = "颗粒物浓度2 单位:mg/m3") + /** 颗粒物浓度2 单位:mg/m3 */ + @Excel(name = "颗粒物浓度2 单位:mg/m3") + private String ppmUnitCc2; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + @Excel(name = "烟气流量") + private String a100; + + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + @Excel(name = "含氧量") + private String a101; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String a102; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String a103; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String a104; + + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + @Excel(name = "氮氧化物浓度") + private String a105; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String a111; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjVol; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a120; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a121; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a130; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a131; + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + @Excel(name = "湿法脱硫剂使用量") + private String g140; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String g959; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String j959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String j960; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("js100", getJs100()) + .append("js101", getJs101()) + .append("js102", getJs102()) + .append("js103", getJs103()) + .append("js104", getJs104()) + .append("jz100", getJz100()) + .append("jz101", getJz101()) + .append("jz102", getJz102()) + .append("jz103", getJz103()) + .append("jz105", getJz105()) + .append("jz106", getJz106()) + .append("jz107", getJz107()) + .append("jz108", getJz108()) + .append("jz109", getJz109()) + .append("jz110", getJz110()) + .append("js200", getJs200()) + .append("js201", getJs201()) + .append("js202", getJs202()) + .append("js203", getJs203()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g942", getG942()) + .append("g943", getG943()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g949", getG949()) + .append("g951", getG951()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g960", getG960()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("ppmCc1", getPpmCc1()) + .append("ppmCc2", getPpmCc2()) + .append("ppmUnitCc2", getPpmUnitCc2()) + .append("ppmUnitCc1", getPpmUnitCc1()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a100", getA100()) + .append("a101", getA101()) + .append("a102", getA102()) + .append("a103", getA103()) + .append("a104", getA104()) + .append("a105", getA105()) + .append("a111", getA111()) + .append("txjvol", getTxjVol()) + .append("a120", getA120()) + .append("a121", getA121()) + .append("a130", getA130()) + .append("a131", getA131()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("g140", getG140()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g601", getG601()) + .append("g959", getG959()) + .append("h959", getH959()) + .append("h960", getH960()) + .append("j959", getJ959()) + .append("j960", getJ960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevOther.java new file mode 100644 index 0000000..3f88d67 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevOther.java @@ -0,0 +1,980 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_other") +public class MonDevOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + @Excel(name = "装煤时间") + private String zmTime; + + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + @Excel(name = "推焦时间") + private String tmTime; + + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + @Excel(name = "生产过程参数1 含义因设备而异") + private String p1; + + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + @Excel(name = "生产过程参数2 含义因设备而异") + private String p2; + + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + @Excel(name = "生产过程参数3 含义因设备而异") + private String p3; + + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + @Excel(name = "生产过程参数4 含义因设备而异") + private String p4; + + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + @Excel(name = "烟气流量-in") + private String flowIn; + + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + @Excel(name = "温度-in") + private String tempIn; + + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + @Excel(name = "NOx-in") + private String noxIn; + + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + @Excel(name = "颗粒物-in") + private String pmIn; + + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + @Excel(name = "SO2-in") + private String so2In; + + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + @Excel(name = "烟气流量-out") + private String flowOut; + + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + @Excel(name = "温度-out") + private String tempOut; + + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + @Excel(name = "NOx-out") + private String noxOut; + + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + @Excel(name = "含氧量-out") + private String o2Out; + + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + @Excel(name = "颗粒物-out") + private String pmOut; + + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + @Excel(name = "SO2-out") + private String so2Out; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2InFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String o2OutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2OutFlag; + + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + @Excel(name = "脱硫剂使用量") + private String tljVol; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjVol; + + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + @Excel(name = "SO2-除尘1") + private String so2Cc1; + + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + @Excel(name = "颗粒物-除尘1") + private String pmCc1; + + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + @Excel(name = "风机电流-除尘1") + private String windElecCc1; + + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + @Excel(name = "除尘器风量-除尘1") + private String windVolCc1; + + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + @Excel(name = "SO2-除尘2") + private String so2Cc2; + + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + @Excel(name = "颗粒物-除尘2") + private String pmCc2; + + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + @Excel(name = "风机电流-除尘2") + private String windElecCc2; + + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + @Excel(name = "除尘器风量-除尘2") + private String windVolCc2; + + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + @Excel(name = "风机电流-除尘3") + private String windElecCc3; + + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + @Excel(name = "煤气参数3 含义因设备而异") + private String mq1; + + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + @Excel(name = "煤气参数2 含义因设备而异") + private String mq2; + + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + @Excel(name = "煤气参数1 含义因设备而异") + private String mq3; + + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + @Excel(name = "煤气参数4 含义因设备而异") + private String mq4; + + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + @Excel(name = "煤气参数5 含义因设备而异") + private String mq5; + + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + @Excel(name = "煤气参数6 含义因设备而异") + private String mq6; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR工艺") + private String g329; + + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + @Excel(name = "静电除尘器一次电压") + private String g501; + + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + @Excel(name = "静电除尘器一次电流") + private String g502; + + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + @Excel(name = "静电除尘器二次电压") + private String g503; + + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + @Excel(name = "静电除尘器二次电流") + private String g504; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + @Excel(name = "清灰周期") + private String g605; + + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + @Excel(name = "电机电流") + private String g606; + + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + @Excel(name = "风门开度") + private String g912; + + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + @Excel(name = "烧结矿产量") + private String g914; + + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + @Excel(name = "皮带秤作业时间") + private String g915; + + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + @Excel(name = "皮带秤配料量") + private String g916; + + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + @Excel(name = "料层厚度") + private String g917; + + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + @Excel(name = "燃料", readConverterExp = "煤=气") + private String g921; + + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + @Excel(name = "矿槽称量漏斗作业时间") + private String g926; + + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + @Excel(name = "矿槽称量漏斗装料量") + private String g927; + + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + @Excel(name = "出铁时间") + private String g928; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g929; + + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + @Excel(name = "热风炉鼓风量") + private String g930; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g931; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String g932; + + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + @Excel(name = "加料时间") + private String g935; + + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + @Excel(name = "加铁水量") + private String g936; + + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + @Excel(name = "加废钢量") + private String g937; + + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + @Excel(name = "出钢量") + private String g938; + + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + @Excel(name = "出渣量") + private String g939; + + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + @Excel(name = "石灰窑温度") + private String g941; + + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + @Excel(name = "主蒸汽流量") + private String g942; + + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + @Excel(name = "高炉煤气") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + @Excel(name = "锅炉累计运行小时数") + private String g945; + + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + @Excel(name = "转炉煤气") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + @Excel(name = "焦炉煤气") + private String g994; + + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + @Excel(name = "其它燃料量") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + @Excel(name = "干法脱硫剂使用量") + private String gb08; + + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + @Excel(name = "半干发脱硫剂使用量") + private String gb09; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + @ApiModelProperty(value = "烟气-排放量") + /** 烟气-排放量 */ + @Excel(name = "烟气-排放量") + private String flowOutTotal; + + + @ApiModelProperty(value = "NOx-排放量") + /** NOx-排放量 */ + @Excel(name = "NOx-排放量") + private String noxOutTotal; + + + @ApiModelProperty(value = "氧气-排放量") + /** 氧气-排放量 */ + @Excel(name = "氧气-排放量") + private String o2OutTotal; + + + @ApiModelProperty(value = "颗粒物-排放量") + /** 颗粒物-排放量 */ + @Excel(name = "颗粒物-排放量") + private String pmOutTotal; + + + @ApiModelProperty(value = "SO2-排放量") + /** SO2-排放量 */ + @Excel(name = "SO2-排放量") + private String so2OutTotal; + + + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + /** 转炉-产量 =炉数*容量 */ + @Excel(name = "转炉-产量 =炉数*容量") + private String zlProduct; + + + + + + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String b104; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String g313; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + @Excel(name = "风机流量") + private String g330; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String g604; + + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + @Excel(name = "燃料瞬时流量") + private String g943; + + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + @Excel(name = "装煤量") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + @Excel(name = "装载量") + private String g957; + + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + @Excel(name = "提升机电流") + private String g958; + + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + @Excel(name = "地面放散口压力") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + @Excel(name = "硫酸使用量") + private String g963; + + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + @Excel(name = "洗油使用量") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + @Excel(name = "脱苯塔塔顶回流量") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + @Excel(name = "粗苯外送量") + private String g966; + + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + @Excel(name = "塔釜温度") + private String g967; + + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + @Excel(name = "洗油外送量") + private String g968; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g969; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + @Excel(name = "负压煤气管网压力") + private String g971; + + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + @Excel(name = "", readConverterExp = "风=机后") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + @Excel(name = "外供煤气流量") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + @Excel(name = "煤气柜容量") + private String g974; + + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + @Excel(name = "气柜高度") + private String g975; + + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + @Excel(name = "气柜压力") + private String g976; + + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + @Excel(name = "水封液位高度") + private String g977; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g978; + + + @ApiModelProperty(value = "流量") + /** 流量 */ + @Excel(name = "流量") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g981; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String g982; + + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + @Excel(name = "碱洗塔碱液使用量") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + @Excel(name = "酸洗塔酸液使用量") + private String gb12; + + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + @Excel(name = "洗油塔洗油使用量") + private String gb13; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("zmTime", getZmTime()) + .append("tmTime", getTmTime()) + .append("p1", getP1()) + .append("p2", getP2()) + .append("p3", getP3()) + .append("p4", getP4()) + .append("flowIn", getFlowIn()) + .append("tempIn", getTempIn()) + .append("noxIn", getNoxIn()) + .append("pmIn", getPmIn()) + .append("so2In", getSo2In()) + .append("flowOut", getFlowOut()) + .append("tempOut", getTempOut()) + .append("noxOut", getNoxOut()) + .append("o2Out", getO2Out()) + .append("pmOut", getPmOut()) + .append("so2Out", getSo2Out()) + .append("flowInFlag", getFlowInFlag()) + .append("tempInFlag", getTempInFlag()) + .append("noxInFlag", getNoxInFlag()) + .append("pmInFlag", getPmInFlag()) + .append("so2InFlag", getSo2InFlag()) + .append("flowOutFlag", getFlowOutFlag()) + .append("tempOutFlag", getTempOutFlag()) + .append("noxOutFlag", getNoxOutFlag()) + .append("o2OutFlag", getO2OutFlag()) + .append("pmOutFlag", getPmOutFlag()) + .append("so2OutFlag", getSo2OutFlag()) + .append("tljVol", getTljVol()) + .append("txjVol", getTxjVol()) + .append("so2Cc1", getSo2Cc1()) + .append("pmCc1", getPmCc1()) + .append("windElecCc1", getWindElecCc1()) + .append("windVolCc1", getWindVolCc1()) + .append("so2Cc2", getSo2Cc2()) + .append("pmCc2", getPmCc2()) + .append("windElecCc2", getWindElecCc2()) + .append("windVolCc2", getWindVolCc2()) + .append("windElecCc3", getWindElecCc3()) + .append("mq1", getMq1()) + .append("mq2", getMq2()) + .append("mq3", getMq3()) + .append("mq4", getMq4()) + .append("mq5", getMq5()) + .append("mq6", getMq6()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("g601", getG601()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g912", getG912()) + .append("g914", getG914()) + .append("g915", getG915()) + .append("g916", getG916()) + .append("g917", getG917()) + .append("g921", getG921()) + .append("g926", getG926()) + .append("g927", getG927()) + .append("g928", getG928()) + .append("g929", getG929()) + .append("g930", getG930()) + .append("g931", getG931()) + .append("g932", getG932()) + .append("g935", getG935()) + .append("g936", getG936()) + .append("g937", getG937()) + .append("g938", getG938()) + .append("g939", getG939()) + .append("g941", getG941()) + .append("g942", getG942()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("addiParam", getAddiParam()) + .append("flowOutTotal", getFlowOutTotal()) + .append("noxOutTotal", getNoxOutTotal()) + .append("o2OutTotal", getO2OutTotal()) + .append("pmOutTotal", getPmOutTotal()) + .append("so2OutTotal", getSo2OutTotal()) + .append("zlProduct", getZlProduct()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("b104", getB104()) + .append("g313", getG313()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g943", getG943()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("h959", getH959()) + .append("h960", getH960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevReal.java new file mode 100644 index 0000000..bf84988 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevReal.java @@ -0,0 +1,944 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数对象 mon_dev_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_real") +public class MonDevReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + @Excel(name = "装煤时间") + private String zmTime; + + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + @Excel(name = "推焦时间") + private String tmTime; + + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + @Excel(name = "生产过程参数1 含义因设备而异") + private String p1; + + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + @Excel(name = "生产过程参数2 含义因设备而异") + private String p2; + + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + @Excel(name = "生产过程参数3 含义因设备而异") + private String p3; + + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + @Excel(name = "生产过程参数4 含义因设备而异") + private String p4; + + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + @Excel(name = "烟气流量-in") + @TableField(value = "flow_in") + private String flowInYq; + + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + @Excel(name = "温度-in") + private String tempIn; + + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + @Excel(name = "NOx-in") + private String noxIn; + + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + @Excel(name = "颗粒物-in") + private String pmIn; + + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + @Excel(name = "SO2-in") + private String so2In; + + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + @Excel(name = "烟气流量-out") + private String flowOut; + + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + @Excel(name = "温度-out") + private String tempOut; + + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + @Excel(name = "NOx-out") + private String noxOut; + + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + @Excel(name = "含氧量-out") + private String o2Out; + + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + @Excel(name = "颗粒物-out") + private String pmOut; + + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + @Excel(name = "SO2-out") + private String so2Out; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmInFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2InFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String flowOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String tempOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String noxOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String o2OutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String pmOutFlag; + + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + @Excel(name = "数据标志") + private String so2OutFlag; + + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + @Excel(name = "脱硫剂使用量") + private String tljVol; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String txjVol; + + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + @Excel(name = "SO2-除尘1") + private String so2Cc1; + + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + @Excel(name = "颗粒物-除尘1") + private String pmCc1; + + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + @Excel(name = "风机电流-除尘1") + private String windElecCc1; + + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + @Excel(name = "除尘器风量-除尘1") + private String windVolCc1; + + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + @Excel(name = "SO2-除尘2") + private String so2Cc2; + + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + @Excel(name = "颗粒物-除尘2") + private String pmCc2; + + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + @Excel(name = "风机电流-除尘2") + private String windElecCc2; + + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + @Excel(name = "除尘器风量-除尘2") + private String windVolCc2; + + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + @Excel(name = "风机电流-除尘3") + private String windElecCc3; + + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + @Excel(name = "煤气参数3 含义因设备而异") + private String mq1; + + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + @Excel(name = "煤气参数2 含义因设备而异") + private String mq2; + + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + @Excel(name = "煤气参数1 含义因设备而异") + private String mq3; + + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + @Excel(name = "煤气参数4 含义因设备而异") + private String mq4; + + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + @Excel(name = "煤气参数5 含义因设备而异") + private String mq5; + + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + @Excel(name = "煤气参数6 含义因设备而异") + private String mq6; + + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + @Excel(name = "脱硫剂仓料", readConverterExp = "液=") + private String g141; + + private String g140; + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + @Excel(name = "脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + @Excel(name = "反应器入口烟气温度", readConverterExp = "S=CR工艺") + private String g329; + + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + @Excel(name = "静电除尘器一次电压") + private String g501; + + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + @Excel(name = "静电除尘器一次电流") + private String g502; + + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + @Excel(name = "静电除尘器二次电压") + private String g503; + + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + @Excel(name = "静电除尘器二次电流") + private String g504; + + + @ApiModelProperty(value = "压差") + /** 压差 */ + @Excel(name = "压差") + private String g601; + + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + @Excel(name = "清灰周期") + private String g605; + + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + @Excel(name = "电机电流") + private String g606; + + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + @Excel(name = "风门开度") + private String g912; + + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + @Excel(name = "烧结矿产量") + private String g914; + + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + @Excel(name = "皮带秤作业时间") + private String g915; + + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + @Excel(name = "皮带秤配料量") + private String g916; + + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + @Excel(name = "料层厚度") + private String g917; + + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + @Excel(name = "燃料", readConverterExp = "煤=气") + private String g921; + + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + @Excel(name = "矿槽称量漏斗作业时间") + private String g926; + + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + @Excel(name = "矿槽称量漏斗装料量") + private String g927; + + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + @Excel(name = "出铁时间") + private String g928; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g929; + + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + @Excel(name = "热风炉鼓风量") + private String g930; + + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量") + private String g931; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String g932; + + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + @Excel(name = "加料时间") + private String g935; + + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + @Excel(name = "加铁水量") + private String g936; + + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + @Excel(name = "加废钢量") + private String g937; + + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + @Excel(name = "出钢量") + private String g938; + + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + @Excel(name = "出渣量") + private String g939; + + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + @Excel(name = "石灰窑温度") + private String g941; + + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + @Excel(name = "主蒸汽流量") + private String g942; + + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + @Excel(name = "高炉煤气") + private String g944; + + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + @Excel(name = "锅炉累计运行小时数") + private String g945; + + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + @Excel(name = "转炉煤气") + private String g993; + + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + @Excel(name = "焦炉煤气") + private String g994; + + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + @Excel(name = "其它燃料量") + private String g995; + + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + @Excel(name = "干法脱硫剂使用量") + private String gb08; + + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + @Excel(name = "半干发脱硫剂使用量") + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + @Excel(name = "除尘器风量") + private String a140; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String a141; + + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + @Excel(name = "煤气使用量") + private String b104; + + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + @Excel(name = "脱硝剂使用量") + private String g313; + + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + @Excel(name = "脱硝入口压力") + private String g318; + + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + @Excel(name = "脱硝出口压力") + private String g325; + + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + @Excel(name = "风机流量") + private String g330; + + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + @Excel(name = "风机电流") + private String g604; + + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + @Excel(name = "燃料瞬时流量") + private String g943; + + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + @Excel(name = "装煤量") + private String g952; + + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + @Excel(name = "提升机作业时间") + private String g956; + + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + @Excel(name = "装载量") + private String g957; + + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + @Excel(name = "提升机电流") + private String g958; + + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + @Excel(name = "地面放散口压力") + private String g961; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g962; + + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + @Excel(name = "硫酸使用量") + private String g963; + + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + @Excel(name = "洗油使用量") + private String g964; + + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + @Excel(name = "脱苯塔塔顶回流量") + private String g965; + + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + @Excel(name = "粗苯外送量") + private String g966; + + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + @Excel(name = "塔釜温度") + private String g967; + + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + @Excel(name = "洗油外送量") + private String g968; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g969; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g970; + + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + @Excel(name = "负压煤气管网压力") + private String g971; + + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + @Excel(name = "", readConverterExp = "风=机后") + private String g972; + + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + @Excel(name = "外供煤气流量") + private String g973; + + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + @Excel(name = "煤气柜容量") + private String g974; + + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + @Excel(name = "气柜高度") + private String g975; + + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + @Excel(name = "气柜压力") + private String g976; + + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + @Excel(name = "水封液位高度") + private String g977; + + + @ApiModelProperty(value = "压力") + /** 压力 */ + @Excel(name = "压力") + private String g978; + + + @ApiModelProperty(value = "流量") + /** 流量 */ + @Excel(name = "流量") + private String g979; + + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + @Excel(name = "火炬点火器启动记录") + private String g980; + + + @ApiModelProperty(value = "液位") + /** 液位 */ + @Excel(name = "液位") + private String g981; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String g982; + + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + @Excel(name = "碱洗塔碱液使用量") + private String gb11; + + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + @Excel(name = "酸洗塔酸液使用量") + private String gb12; + + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + @Excel(name = "洗油塔洗油使用量") + private String gb13; + + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + @Excel(name = "颗粒物") + private String h959; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String h960; + + @ApiModelProperty(value = "放散温度") + private String js201; + @ApiModelProperty(value = "放散流速") + private String js202; + @ApiModelProperty(value = "高炉煤气柜放散阀状态") + private String b806; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("zmTime", getZmTime()) + .append("tmTime", getTmTime()) + .append("p1", getP1()) + .append("p2", getP2()) + .append("p3", getP3()) + .append("p4", getP4()) + .append("flowInYq", getFlowInYq()) + .append("tempIn", getTempIn()) + .append("noxIn", getNoxIn()) + .append("pmIn", getPmIn()) + .append("so2In", getSo2In()) + .append("flowOut", getFlowOut()) + .append("tempOut", getTempOut()) + .append("noxOut", getNoxOut()) + .append("o2Out", getO2Out()) + .append("pmOut", getPmOut()) + .append("so2Out", getSo2Out()) + .append("flowInFlag", getFlowInFlag()) + .append("tempInFlag", getTempInFlag()) + .append("noxInFlag", getNoxInFlag()) + .append("pmInFlag", getPmInFlag()) + .append("so2InFlag", getSo2InFlag()) + .append("flowOutFlag", getFlowOutFlag()) + .append("tempOutFlag", getTempOutFlag()) + .append("noxOutFlag", getNoxOutFlag()) + .append("o2OutFlag", getO2OutFlag()) + .append("pmOutFlag", getPmOutFlag()) + .append("so2OutFlag", getSo2OutFlag()) + .append("tljVol", getTljVol()) + .append("txjVol", getTxjVol()) + .append("so2Cc1", getSo2Cc1()) + .append("pmCc1", getPmCc1()) + .append("windElecCc1", getWindElecCc1()) + .append("windVolCc1", getWindVolCc1()) + .append("so2Cc2", getSo2Cc2()) + .append("pmCc2", getPmCc2()) + .append("windElecCc2", getWindElecCc2()) + .append("windVolCc2", getWindVolCc2()) + .append("windElecCc3", getWindElecCc3()) + .append("mq1", getMq1()) + .append("mq2", getMq2()) + .append("mq3", getMq3()) + .append("mq4", getMq4()) + .append("mq5", getMq5()) + .append("mq6", getMq6()) + .append("g141", getG141()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("g601", getG601()) + .append("g605", getG605()) + .append("g606", getG606()) + .append("g912", getG912()) + .append("g914", getG914()) + .append("g915", getG915()) + .append("g916", getG916()) + .append("g917", getG917()) + .append("g921", getG921()) + .append("g926", getG926()) + .append("g927", getG927()) + .append("g928", getG928()) + .append("g929", getG929()) + .append("g930", getG930()) + .append("g931", getG931()) + .append("g932", getG932()) + .append("g935", getG935()) + .append("g936", getG936()) + .append("g937", getG937()) + .append("g938", getG938()) + .append("g939", getG939()) + .append("g941", getG941()) + .append("g942", getG942()) + .append("g944", getG944()) + .append("g945", getG945()) + .append("g993", getG993()) + .append("g994", getG994()) + .append("g995", getG995()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("a140", getA140()) + .append("a141", getA141()) + .append("b104", getB104()) + .append("g313", getG313()) + .append("g318", getG318()) + .append("g325", getG325()) + .append("g330", getG330()) + .append("g604", getG604()) + .append("g943", getG943()) + .append("g952", getG952()) + .append("g956", getG956()) + .append("g957", getG957()) + .append("g958", getG958()) + .append("g961", getG961()) + .append("g962", getG962()) + .append("g963", getG963()) + .append("g964", getG964()) + .append("g965", getG965()) + .append("g966", getG966()) + .append("g967", getG967()) + .append("g968", getG968()) + .append("g969", getG969()) + .append("g970", getG970()) + .append("g971", getG971()) + .append("g972", getG972()) + .append("g973", getG973()) + .append("g974", getG974()) + .append("g975", getG975()) + .append("g976", getG976()) + .append("g977", getG977()) + .append("g978", getG978()) + .append("g979", getG979()) + .append("g980", getG980()) + .append("g981", getG981()) + .append("g982", getG982()) + .append("gb11", getGb11()) + .append("gb12", getGb12()) + .append("gb13", getGb13()) + .append("h959", getH959()) + .append("h960", getH960()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnHour.java new file mode 100644 index 0000000..674d9f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnHour.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-水泥-小时 保存设备的小时数据对象 mon_dev_sn_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_sn_hour") +public class MonDevSnHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + @Excel(name = "生产端加料量 单位:kg/h") + private String ss100; + + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + @Excel(name = "生产端窑尾烟室温度 单位:℃") + private String ss101; + + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + @Excel(name = "窑头电除尘器二次电流 单位:A") + private String sz102; + + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + @Excel(name = "窑尾电除尘器二次电流 单位:A") + private String sz103; + + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + @Excel(name = "窑头电除尘器二次电压 单位:V") + private String sz104; + + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + @Excel(name = "窑尾电除尘器二次电压 单位:V") + private String sz105; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String sz106; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + @Excel(name = "脱硫洗涤塔pH值") + private String sz107; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String sz108; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String sz109; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + @Excel(name = "窑头除尘器进口压力 单位:kPa") + private String sz112; + + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + @Excel(name = "窑头除尘器出口压力 单位:kPa") + private String sz113; + + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + @Excel(name = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + @Excel(name = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("ss100", getSs100()) + .append("ss101", getSs101()) + .append("sz100", getSz100()) + .append("sz101", getSz101()) + .append("sz102", getSz102()) + .append("sz103", getSz103()) + .append("sz104", getSz104()) + .append("sz105", getSz105()) + .append("sz106", getSz106()) + .append("sz107", getSz107()) + .append("sz108", getSz108()) + .append("sz109", getSz109()) + .append("sz110", getSz110()) + .append("sz111", getSz111()) + .append("sz112", getSz112()) + .append("sz113", getSz113()) + .append("sz114", getSz114()) + .append("sz115", getSz115()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnOther.java new file mode 100644 index 0000000..744df23 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnOther.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据对象 mon_dev_sn_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_sn_other") +public class MonDevSnOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + @Excel(name = "生产端加料量 单位:kg/h") + private String ss100; + + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + @Excel(name = "生产端窑尾烟室温度 单位:℃") + private String ss101; + + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + @Excel(name = "窑头电除尘器二次电流 单位:A") + private String sz102; + + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + @Excel(name = "窑尾电除尘器二次电流 单位:A") + private String sz103; + + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + @Excel(name = "窑头电除尘器二次电压 单位:V") + private String sz104; + + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + @Excel(name = "窑尾电除尘器二次电压 单位:V") + private String sz105; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String sz106; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + @Excel(name = "脱硫洗涤塔pH值") + private String sz107; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String sz108; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String sz109; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + @Excel(name = "窑头除尘器进口压力 单位:kPa") + private String sz112; + + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + @Excel(name = "窑头除尘器出口压力 单位:kPa") + private String sz113; + + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + @Excel(name = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + @Excel(name = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("ss100", getSs100()) + .append("ss101", getSs101()) + .append("sz100", getSz100()) + .append("sz101", getSz101()) + .append("sz102", getSz102()) + .append("sz103", getSz103()) + .append("sz104", getSz104()) + .append("sz105", getSz105()) + .append("sz106", getSz106()) + .append("sz107", getSz107()) + .append("sz108", getSz108()) + .append("sz109", getSz109()) + .append("sz110", getSz110()) + .append("sz111", getSz111()) + .append("sz112", getSz112()) + .append("sz113", getSz113()) + .append("sz114", getSz114()) + .append("sz115", getSz115()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnReal.java new file mode 100644 index 0000000..a68e928 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevSnReal.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-水泥-实时 保存设备的实时数据对象 mon_dev_sn_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_sn_real") +public class MonDevSnReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + @Excel(name = "生产端加料量 单位:kg/h") + private String ss100; + + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + @Excel(name = "生产端窑尾烟室温度 单位:℃") + private String ss101; + + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + @Excel(name = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + @Excel(name = "窑头电除尘器二次电流 单位:A") + private String sz102; + + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + @Excel(name = "窑尾电除尘器二次电流 单位:A") + private String sz103; + + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + @Excel(name = "窑头电除尘器二次电压 单位:V") + private String sz104; + + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + @Excel(name = "窑尾电除尘器二次电压 单位:V") + private String sz105; + + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + @Excel(name = "脱硝还原剂用量 单位:m3/h") + private String sz106; + + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + @Excel(name = "脱硫洗涤塔pH值") + private String sz107; + + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + @Excel(name = "脱硫供浆流量 单位:m3/h") + private String sz108; + + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + @Excel(name = "脱硫供料流量 单位:kg/h") + private String sz109; + + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + @Excel(name = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + @Excel(name = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + @Excel(name = "窑头除尘器进口压力 单位:kPa") + private String sz112; + + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + @Excel(name = "窑头除尘器出口压力 单位:kPa") + private String sz113; + + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + @Excel(name = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + @Excel(name = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("ss100", getSs100()) + .append("ss101", getSs101()) + .append("sz100", getSz100()) + .append("sz101", getSz101()) + .append("sz102", getSz102()) + .append("sz103", getSz103()) + .append("sz104", getSz104()) + .append("sz105", getSz105()) + .append("sz106", getSz106()) + .append("sz107", getSz107()) + .append("sz108", getSz108()) + .append("sz109", getSz109()) + .append("sz110", getSz110()) + .append("sz111", getSz111()) + .append("sz112", getSz112()) + .append("sz113", getSz113()) + .append("sz114", getSz114()) + .append("sz115", getSz115()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcHour.java new file mode 100644 index 0000000..682e050 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcHour.java @@ -0,0 +1,238 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据对象 mon_dev_tc_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-小时 保存设备的小时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_tc_hour") +public class MonDevTcHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + @Excel(name = "入料_原料配比后的总重量 千克 ") + private String g983; + + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + @Excel(name = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + @Excel(name = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + @Excel(name = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + @Excel(name = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + @Excel(name = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + @Excel(name = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "S=CR,工=艺") + private String g329; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + @Excel(name = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + @Excel(name = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + @Excel(name = "袋式除尘器_压差 单位:千帕") + private String g601; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + @Excel(name = "静电除尘器_一次电流 单位:安[培]") + private String g502; + + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + @Excel(name = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g983", getG983()) + .append("g987", getG987()) + .append("g988", getG988()) + .append("g989", getG989()) + .append("g990", getG990()) + .append("g991", getG991()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("g140", getG140()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g601", getG601()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcOther.java new file mode 100644 index 0000000..1d94e33 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcOther.java @@ -0,0 +1,239 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据对象 mon_dev_tc_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_tc_other") +public class MonDevTcOther extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + @Excel(name = "时间类型 枚举。分钟/小时...") + private String timeType; + + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + @Excel(name = "数据时间 格式因时间类型而异") + private String dataTime; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + @Excel(name = "入料_原料配比后的总重量 千克 ") + private String g983; + + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + @Excel(name = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + @Excel(name = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + @Excel(name = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + @Excel(name = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + @Excel(name = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + @Excel(name = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "S=CR,工=艺") + private String g329; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + @Excel(name = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + @Excel(name = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + @Excel(name = "袋式除尘器_压差 单位:千帕") + private String g601; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + @Excel(name = "静电除尘器_一次电流 单位:安[培]") + private String g502; + + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + @Excel(name = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g983", getG983()) + .append("g987", getG987()) + .append("g988", getG988()) + .append("g989", getG989()) + .append("g990", getG990()) + .append("g991", getG991()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("g140", getG140()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g601", getG601()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcReal.java new file mode 100644 index 0000000..5a1c405 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonDevTcReal.java @@ -0,0 +1,239 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据对象 mon_dev_tc_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-实时 保存设备的实时数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_dev_tc_real") +public class MonDevTcReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "data_id",type = IdType.AUTO) + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + @Excel(name = "入料_原料配比后的总重量 千克 ") + private String g983; + + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + @Excel(name = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + @Excel(name = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + @Excel(name = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + @Excel(name = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + @Excel(name = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + @Excel(name = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + @Excel(name = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + @Excel(name = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + @Excel(name = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + @Excel(name = "脱硫_脱硫剂仓料", readConverterExp = "液=") + private String g141; + + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + @Excel(name = "脱硝_脱硝剂", readConverterExp = "还=原剂或氧化剂") + private String g313; + + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + @Excel(name = "脱硝_脱硝剂仓料", readConverterExp = "液=") + private String g314; + + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + @Excel(name = "脱硝_反应器入口烟气温度", readConverterExp = "S=CR,工=艺") + private String g329; + + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + @Excel(name = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + @Excel(name = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + @Excel(name = "袋式除尘器_压差 单位:千帕") + private String g601; + + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + @Excel(name = "静电除尘器_一次电流 单位:安[培]") + private String g502; + + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + @Excel(name = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + @Excel(name = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + @Excel(name = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("deviceId", getDeviceId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("g983", getG983()) + .append("g987", getG987()) + .append("g988", getG988()) + .append("g989", getG989()) + .append("g990", getG990()) + .append("g991", getG991()) + .append("g985", getG985()) + .append("g986", getG986()) + .append("g140", getG140()) + .append("gb08", getGb08()) + .append("gb09", getGb09()) + .append("g141", getG141()) + .append("g313", getG313()) + .append("g314", getG314()) + .append("g329", getG329()) + .append("g604", getG604()) + .append("g605", getG605()) + .append("g601", getG601()) + .append("g501", getG501()) + .append("g502", getG502()) + .append("g503", getG503()) + .append("g504", getG504()) + .append("addiParam", getAddiParam()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecEvent.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecEvent.java new file mode 100644 index 0000000..2040e5b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecEvent.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系对象 mon_elec_event + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应 两类设备为多对多的关系") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_elec_event") +public class MonElecEvent extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + @Excel(name = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + @Excel(name = "企业ID 冗余") + private String factoryId; + + + @ApiModelProperty(value = "点位ID") + /** 点位ID */ + @Excel(name = "点位ID") + private String siteId; + + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + @Excel(name = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private String dataTime; + + + @ApiModelProperty(value = "停上电 0=上电,1=停电") + /** 停上电 0=上电,1=停电 */ + @Excel(name = "停上电 0=上电,1=停电") + private Long tn50; + + + @ApiModelProperty(value = "设备状态 0=关机状态,1=开机状态") + /** 设备状态 0=关机状态,1=开机状态 */ + @Excel(name = "设备状态 0=关机状态,1=开机状态") + private Long tn62; + + + @ApiModelProperty(value = "电流幅值突变 百分比的分子值") + /** 电流幅值突变 百分比的分子值 */ + @Excel(name = "电流幅值突变 百分比的分子值") + private String tn63; + + + @ApiModelProperty(value = "电压幅值突变 百分比的分子值") + /** 电压幅值突变 百分比的分子值 */ + @Excel(name = "电压幅值突变 百分比的分子值") + private String tn64; + + + @ApiModelProperty(value = "设备异常破坏 0=关,1=开") + /** 设备异常破坏 0=关,1=开 */ + @Excel(name = "设备异常破坏 0=关,1=开") + private Long tn65; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("siteId", getSiteId()) + .append("timeType", getTimeType()) + .append("dataTime", getDataTime()) + .append("tn50", getTn50()) + .append("tn62", getTn62()) + .append("tn63", getTn63()) + .append("tn64", getTn64()) + .append("tn65", getTn65()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecHour.java new file mode 100644 index 0000000..202e1f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecHour.java @@ -0,0 +1,108 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author thy + * @since 2023-04-02 + */ +@TableName("mon_elec_hour") +@Data +@ApiModel(value = "MonElecHour对象", description = "") +public class MonElecHour implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("数据ID") + private String dataId; + + @ApiModelProperty("设备ID") + private String deviceId; + + @ApiModelProperty("点位ID") + private String deviceSiteId; + + @ApiModelProperty("时间类型 小时") + private String timeType; + + @ApiModelProperty("数据时间") + private Date dataTime; + + @ApiModelProperty("总有功功率(千瓦)(功率)") + private String activePower; + + @ApiModelProperty("总无功功率(千瓦)") + private String reactivePower; + + @ApiModelProperty("总有功电量示值(安)(用电量)") + private String activePowerQuantity; + + @ApiModelProperty("总无功电量示值(安)") + private String reactivePowerQuantity; + + @ApiModelProperty("总功率因数") + private String totalPower; + + @ApiModelProperty("A相电流(安)") + private String currentAp; + + @ApiModelProperty("B相电流(安)") + private String currentBp; + + @ApiModelProperty("C相电流(安)") + private String currentCp; + + @ApiModelProperty("单相电流(安)") + private String currentSinglePhase; + + @ApiModelProperty("A相电压(伏)") + private String voltageAp; + + @ApiModelProperty("B相电压(伏)") + private String voltageBp; + + @ApiModelProperty("C相电压(伏)") + private String voltageCp; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("点位名称") + private String deviceSiteName; + + @Override + public String toString() { + return "MonElecHour{" + + "dataId=" + dataId + + ", deviceId=" + deviceId + + ", deviceSiteId=" + deviceSiteId + + ", timeType=" + timeType + + ", dataTime=" + dataTime + + ", activePower=" + activePower + + ", reactivePower=" + reactivePower + + ", activePowerQuantity=" + activePowerQuantity + + ", reactivePowerQuantity=" + reactivePowerQuantity + + ", totalPower=" + totalPower + + ", currentAp=" + currentAp + + ", currentBp=" + currentBp + + ", currentCp=" + currentCp + + ", currentSinglePhase=" + currentSinglePhase + + ", voltageAp=" + voltageAp + + ", voltageBp=" + voltageBp + + ", voltageCp=" + voltageCp + + ", createTime=" + createTime + + ", deviceSiteName=" + deviceSiteName + + "}"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOperationLog.java new file mode 100644 index 0000000..6cb65b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOperationLog.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: MonElecOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:25 + * @Company: Copyright© [2023/04/28 15:25] by [Mr.Yanghongtao] + **/ +/** + * 分表计电系统参数设置操作日志表 + */ +@ApiModel(value = "分表计电系统参数设置操作日志") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_elec_operation_log") +public class MonElecOperationLog extends BaseEntity +{ + /** + * 主键标识 + */ + private String logId; + + /** + * 操作时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operationTime; + + /** + * 分表计电监测点位名称 + */ + private String elecStationName; + + /** + * 对应设施名称 + */ + private String deviceName; + + /** + * 操作前额定功率(kw) + */ + private String beforeModifyNormal; + + /** + * 操作后额定功率(kw) + */ + private String afterModifyNormal; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 企业ID + */ + private String factoryId; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOther.java new file mode 100644 index 0000000..b436d12 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecOther.java @@ -0,0 +1,107 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author thy + * @since 2023-04-02 + */ +@TableName("mon_elec_other") +@Data +@ApiModel(value = "MonElecOther对象", description = "") +public class MonElecOther implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("数据ID") + private String dataId; + + @ApiModelProperty("设备ID") + private String deviceId; + + @ApiModelProperty("点位ID") + private String deviceSiteId; + + @ApiModelProperty("时间类型 D-日,M-月,Y-年") + private String timeType; + + @ApiModelProperty("数据时间") + private Date dataTime; + + @ApiModelProperty("总有功功率(千瓦)(功率)") + private String activePower; + + @ApiModelProperty("总无功功率(千瓦)") + private String reactivePower; + + @ApiModelProperty("总有功电量示值(安)(用电量)") + private String activePowerQuantity; + + @ApiModelProperty("总无功电量示值(安)") + private String reactivePowerQuantity; + + @ApiModelProperty("总功率因数") + private String totalPower; + + @ApiModelProperty("A相电流(安)") + private String currentAp; + + @ApiModelProperty("B相电流(安)") + private String currentBp; + + @ApiModelProperty("C相电流(安)") + private String currentCp; + + @ApiModelProperty("单相电流(安)") + private String currentSinglePhase; + + @ApiModelProperty("A相电压(伏)") + private String voltageAp; + + @ApiModelProperty("B相电压(伏)") + private String voltageBp; + + @ApiModelProperty("C相电压(伏)") + private String voltageCp; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("点位名称") + private String deviceSiteName; + + @Override + public String toString() { + return "MonElecHour{" + + "dataId=" + dataId + + ", deviceId=" + deviceId + + ", deviceSiteId=" + deviceSiteId + + ", timeType=" + timeType + + ", dataTime=" + dataTime + + ", activePower=" + activePower + + ", reactivePower=" + reactivePower + + ", activePowerQuantity=" + activePowerQuantity + + ", reactivePowerQuantity=" + reactivePowerQuantity + + ", totalPower=" + totalPower + + ", currentAp=" + currentAp + + ", currentBp=" + currentBp + + ", currentCp=" + currentCp + + ", currentSinglePhase=" + currentSinglePhase + + ", voltageAp=" + voltageAp + + ", voltageBp=" + voltageBp + + ", voltageCp=" + voltageCp + + ", createTime=" + createTime + + ", deviceSiteName=" + deviceSiteName + + "}"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecReal.java new file mode 100644 index 0000000..2e2c5c5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/MonElecReal.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系对象 mon_elec_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备-点位对应 设备与点位为多对多的关系") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mon_elec_real") +public class MonElecReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + @Excel(name = "数据时间") + private Date dataTime; + + @ApiModelProperty(value = "点位ID") + /** 点位ID */ + @Excel(name = "点位ID") + private String deviceSiteId; + + @ApiModelProperty(value = "点位名称") + @Excel(name = "点位名称") + private String deviceSiteName; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + + @ApiModelProperty(value = "总有功功率(千瓦)") + @Excel(name = "总有功功率(千瓦)") + private String activePower; + + @ApiModelProperty(value = "总无功功率(千瓦)") + @Excel(name = "总无功功率(千瓦)") + private String reactivePower; + + @ApiModelProperty(value = "总有功电量示值(安)") + @Excel(name = "总有功电量示值(安)") + private String activePowerQuantity; + + @ApiModelProperty(value = "总无功电量示值(安)") + @Excel(name = "总无功电量示值(安)") + private String reactivePowerQuantity; + + @ApiModelProperty(value = "总功率因数") + @Excel(name = "总功率因数") + private String totalPower; + + @ApiModelProperty(value = "A相电流(安)") + @Excel(name = "A相电流(安)") + private String currentAp; + + @ApiModelProperty(value = "B相电流(安)") + @Excel(name = "B相电流(安)") + private String currentBp; + + @ApiModelProperty(value = "C相电流(安)") + @Excel(name = "C相电流(安)") + private String currentCp; + + @ApiModelProperty(value = "单相电流(安)") + @Excel(name = "单相电流(安)") + private String currentSinglePhase; + + @ApiModelProperty(value = "A相电压(伏)") + @Excel(name = "A相电压(伏)") + private String voltageAp; + + @ApiModelProperty(value = "B相电压(伏)") + @Excel(name = "B相电压(伏)") + private String voltageBp; + + @ApiModelProperty(value = "C相电压(伏)") + @Excel(name = "C相电压(伏)") + private String voltageCp; + + @TableField(exist = false) + private String dataTimeStr; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionAqiHourI.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionAqiHourI.java new file mode 100644 index 0000000..3969f38 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionAqiHourI.java @@ -0,0 +1,414 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author ccc + * @since 2023-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class OdsAirRegionAqiHourI implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 数据接入时间 + */ + private String datatime; + + /** + * 数据上传时间 + */ + private String uploadtime; + + /** + * 监测项值--湿度 + */ + @TableField("value_2473") + private String value2473; + + /** + * 监测项值--监测项值--温度 + */ + @TableField("value_2481") + private String value2481; + + /** + * 监测项值--风速 + */ + @TableField("value_2483") + private String value2483; + + /** + * 监测项值--风向 + */ + @TableField("value_2484") + private String value2484; + + /** + * 监测项值--SO2 + */ + @TableField("value_4402") + private String value4402; + + /** + * 监测项值--CO + */ + @TableField("value_4404") + private String value4404; + + /** + * 监测项值--NO + */ + @TableField("value_4405") + private String value4405; + + /** + * 监测项值--总碳氢 + */ + @TableField("value_4406") + private String value4406; + + /** + * 监测项值--挥发性有机物 + */ + @TableField("value_4407") + private String value4407; + + /** + * 监测项值--NO2 + */ + @TableField("value_4467") + private String value4467; + + /** + * 监测项值--NOx + */ + @TableField("value_4468") + private String value4468; + + /** + * 监测项值--O3-1H + */ + @TableField("value_4471") + private String value4471; + + /** + * 监测项值--O3-8H + */ + @TableField("\"value_4D71\"") + private String value4d71; + + /** + * 监测项值--降尘 + */ + @TableField("value_4472") + private String value4472; + + /** + * 监测项值--能见度 + */ + @TableField("value_4474") + private String value4474; + + /** + * 监测项值--大气压 + */ + @TableField("value_4482") + private String value4482; + + /** + * 监测项值--TSP + */ + @TableField("value_4485") + private String value4485; + + /** + * 监测项值--PM10 + */ + @TableField("value_4486") + private String value4486; + + /** + * 监测项值--CH4 + */ + @TableField("value_4487") + private String value4487; + + /** + * 监测项值--非甲烷总烃 + */ + @TableField("value_4488") + private String value4488; + + /** + * 监测项值--CO2 + */ + @TableField("value_4489") + private String value4489; + + /** + * 监测项值--PM2.5 + */ + @TableField("\"value_448A\"") + private String value448a; + + /** + * 监测项值--PM10 + */ + @TableField("\"value_448B\"") + private String value448b; + + /** + * 监测项状态--湿度 + */ + @TableField("value_2473") + private String status2473; + + /** + * 监测项状态--温度 + */ + @TableField("status_2481") + private String status2481; + + /** + * 监测项状态--风速 + */ + @TableField("status_2483") + private String status2483; + + /** + * 监测项状态--风向 + */ + @TableField("status_2484") + private String status2484; + + /** + * 监测项状态--SO2 + */ + @TableField("status_4402") + private String status4402; + + /** + * 监测项状态--CO + */ + @TableField("status_4404") + private String status4404; + + /** + * 监测项状态--NO + */ + @TableField("status_4405") + private String status4405; + + /** + * 监测项状态--总碳氢 + */ + @TableField("status_4406") + private String status4406; + + /** + * 监测项状态--挥发性有机物 + */ + @TableField("status_4407") + private String status4407; + + /** + * 监测项状态--NO2 + */ + @TableField("status_4467") + private String status4467; + + /** + * 监测项状态--NOx + */ + @TableField("status_4468") + private String status4468; + + /** + * 监测项状态--O3-1H + */ + @TableField("status_4471") + private String status4471; + + /** + * 监测项状态--O3-8H + */ + @TableField("\"status_4D71\"") + private String status4d71; + + /** + * 监测项状态--降尘 + */ + @TableField("status_4472") + private String status4472; + + /** + * 监测项状态--能见度 + */ + @TableField("status_4474") + private String status4474; + + /** + * 监测项状态--大气压 + */ + @TableField("status_4482") + private String status4482; + + /** + * 监测项状态--TSP + */ + @TableField("status_4485") + private String status4485; + + /** + * 监测项状态--PM10 + */ + @TableField("status_4486") + private String status4486; + + /** + * 监测项状态--CH4 + */ + @TableField("status_4487") + private String status4487; + + /** + * 监测项状态--非甲烷总烃 + */ + @TableField("status_4488") + private String status4488; + + /** + * 监测项状态--CO2 + */ + @TableField("status_4489") + private String status4489; + + /** + * 监测项状态--PM2.5 + */ + @TableField("\"status_448A\"") + private String status448a; + + /** + * 监测项状态--PM10 + */ + @TableField("\"status_448B\"") + private String status448b; + + /** + * 污染等级 + */ + private String level; + + /** + * 污染等级文字描述 + */ + @TableField("\"levelName\"") + private String levelName; + + /** + * 等级类型 + */ + @TableField("\"typeName\"") + private String typeName; + + /** + * 首要污染物 + */ + @TableField("\"primaryPollutant\"") + private String primaryPollutant; + + /** + * 超限污染物 + */ + @TableField("\"overlimitPollutant\"") + private String overlimitPollutant; + + /** + * 单项监测项--SO2 + */ + @TableField("iaqi_4402") + private String iaqi4402; + + /** + * 单项监测项--CO + */ + @TableField("iaqi_4404") + private String iaqi4404; + + /** + * 单项监测项--NO2 + */ + @TableField("iaqi_4467") + private String iaqi4467; + + /** + * 单项监测项--O3-1H + */ + @TableField("iaqi_4471") + private String iaqi4471; + + /** + * 单项监测项--O3-8H + */ + @TableField("\"iaqi_4D71\"") + private String iaqi4d71; + + /** + * 单项监测项--PM10 + */ + @TableField("iaqi_4486") + private String iaqi4486; + + /** + * 单项监测项--PM2.5 + */ + @TableField("\"iaqi_448A\"") + private String iaqi448a; + + /** + * 空气质量指数 + */ + private String aqi; + + /** + * 区域编码 + */ + private String code; + + /** + * 区域名 + */ + private String name; + + /** + * 城市名 + */ + private String cityname; + + /** + * 省份名 + */ + @TableField("\"provinceName\"") + private String provinceName; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionHourI.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionHourI.java new file mode 100644 index 0000000..51f4c71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsAirRegionHourI.java @@ -0,0 +1,407 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 【请填写功能名称】对象 ods_air_region_hour_i + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "【请填写功能名称】") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_air_region_hour_i") +public class OdsAirRegionHourI extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String datatime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String uploadtime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value2473; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value2481; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value2483; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value2484; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4402; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4404; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4405; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4406; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4407; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4467; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4468; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4471; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4d71; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4472; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4474; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4482; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4485; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4486; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4487; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4488; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value4489; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value448a; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String value448b; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status2473; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status2481; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status2483; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status2484; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4402; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4404; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4405; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4406; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4407; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4467; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4468; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4471; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4d71; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4472; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4474; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4482; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4485; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4486; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4487; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4488; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status4489; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status448a; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String status448b; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String code; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String name; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String cityname; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String provincename; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("datatime", getDatatime()) + .append("uploadtime", getUploadtime()) + .append("value2473", getValue2473()) + .append("value2481", getValue2481()) + .append("value2483", getValue2483()) + .append("value2484", getValue2484()) + .append("value4402", getValue4402()) + .append("value4404", getValue4404()) + .append("value4405", getValue4405()) + .append("value4406", getValue4406()) + .append("value4407", getValue4407()) + .append("value4467", getValue4467()) + .append("value4468", getValue4468()) + .append("value4471", getValue4471()) + .append("value4d71", getValue4d71()) + .append("value4472", getValue4472()) + .append("value4474", getValue4474()) + .append("value4482", getValue4482()) + .append("value4485", getValue4485()) + .append("value4486", getValue4486()) + .append("value4487", getValue4487()) + .append("value4488", getValue4488()) + .append("value4489", getValue4489()) + .append("value448a", getValue448a()) + .append("value448b", getValue448b()) + .append("status2473", getStatus2473()) + .append("status2481", getStatus2481()) + .append("status2483", getStatus2483()) + .append("status2484", getStatus2484()) + .append("status4402", getStatus4402()) + .append("status4404", getStatus4404()) + .append("status4405", getStatus4405()) + .append("status4406", getStatus4406()) + .append("status4407", getStatus4407()) + .append("status4467", getStatus4467()) + .append("status4468", getStatus4468()) + .append("status4471", getStatus4471()) + .append("status4d71", getStatus4d71()) + .append("status4472", getStatus4472()) + .append("status4474", getStatus4474()) + .append("status4482", getStatus4482()) + .append("status4485", getStatus4485()) + .append("status4486", getStatus4486()) + .append("status4487", getStatus4487()) + .append("status4488", getStatus4488()) + .append("status4489", getStatus4489()) + .append("status448a", getStatus448a()) + .append("status448b", getStatus448b()) + .append("code", getCode()) + .append("name", getName()) + .append("cityname", getCityname()) + .append("provincename", getProvincename()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsElectricityElecPsEquipRelationTsA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsElectricityElecPsEquipRelationTsA.java new file mode 100644 index 0000000..055c23c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsElectricityElecPsEquipRelationTsA.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author thy + * @since 2023-04-01 + */ +@TableName("ods_electricity_elec_ps_equip_relation_ts_a") +@ApiModel(value = "OdsElectricityElecPsEquipRelationTsA对象", description = "") +@Data +public class OdsElectricityElecPsEquipRelationTsA implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键id") + private String id; + + @ApiModelProperty("关联设施表生产设施ID") + private String productorEquipId; + + @ApiModelProperty("关联设施表治理设施ID") + private String treatmentEquipId; + + @ApiModelProperty("治理设施提前开启分钟数") + private Integer productorEquipPreMinutes; + + @ApiModelProperty("治理设施延后关闭分钟数") + private Integer productorEquipPostMinutes; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + public String getProductorEquipId() { + return productorEquipId; + } + + public void setProductorEquipId(String productorEquipId) { + this.productorEquipId = productorEquipId; + } + public String getTreatmentEquipId() { + return treatmentEquipId; + } + + public void setTreatmentEquipId(String treatmentEquipId) { + this.treatmentEquipId = treatmentEquipId; + } + public Integer getProductorEquipPreMinutes() { + return productorEquipPreMinutes; + } + + public void setProductorEquipPreMinutes(Integer productorEquipPreMinutes) { + this.productorEquipPreMinutes = productorEquipPreMinutes; + } + public Integer getProductorEquipPostMinutes() { + return productorEquipPostMinutes; + } + + public void setProductorEquipPostMinutes(Integer productorEquipPostMinutes) { + this.productorEquipPostMinutes = productorEquipPostMinutes; + } + + @Override + public String toString() { + return "OdsElectricityElecPsEquipRelationTsA{" + + "id=" + id + + ", productorEquipId=" + productorEquipId + + ", treatmentEquipId=" + treatmentEquipId + + ", productorEquipPreMinutes=" + productorEquipPreMinutes + + ", productorEquipPostMinutes=" + productorEquipPostMinutes + + "}"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsInorganizationWeiStationHourI.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsInorganizationWeiStationHourI.java new file mode 100644 index 0000000..2d1d135 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsInorganizationWeiStationHourI.java @@ -0,0 +1,219 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 无组织微站监测对象 ods_inorganization_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "无组织微站监测") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_inorganization_wei_station_hour_i") +public class OdsInorganizationWeiStationHourI extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String stationId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String stationCode; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String receiveTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String co; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String no2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String so2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String o3; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String voc; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String noise; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String pm25; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String pm10; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String temperature; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String utc; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String humidity; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String wdirect; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String wspeed; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String apress; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String equstatename; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String equstate; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String no; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String tsp; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String aqi; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String aqiLevel; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String priPollute; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String type; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String o38h; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String nox; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String tvoc; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("stationId", getStationId()) + .append("stationCode", getStationCode()) + .append("receiveTime", getReceiveTime()) + .append("co", getCo()) + .append("no2", getNo2()) + .append("so2", getSo2()) + .append("o3", getO3()) + .append("voc", getVoc()) + .append("noise", getNoise()) + .append("pm25", getPm25()) + .append("pm10", getPm10()) + .append("temperature", getTemperature()) + .append("utc", getUtc()) + .append("humidity", getHumidity()) + .append("wdirect", getWdirect()) + .append("wspeed", getWspeed()) + .append("apress", getApress()) + .append("equstatename", getEqustatename()) + .append("equstate", getEqustate()) + .append("no", getNo()) + .append("tsp", getTsp()) + .append("aqi", getAqi()) + .append("aqiLevel", getAqiLevel()) + .append("priPollute", getPriPollute()) + .append("type", getType()) + .append("o38h", getO38h()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("nox", getNox()) + .append("tvoc", getTvoc()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingShStationHourI.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingShStationHourI.java new file mode 100644 index 0000000..ef938a9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingShStationHourI.java @@ -0,0 +1,272 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * ods层网格化市控站点小时增量对象 ods_meshing_sh_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化市控站点小时增量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_meshing_sh_station_hour_i") +public class OdsMeshingShStationHourI extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + + @ApiModelProperty(value = "站点id") + /** 站点id */ + @Excel(name = "站点id") + private String stationId; + + + @ApiModelProperty(value = "站点编码") + /** 站点编码 */ + @Excel(name = "站点编码") + private String stationCode; + + + @ApiModelProperty(value = "数据采集时间") + /** 数据采集时间 */ + @Excel(name = "数据采集时间") + private String receiveTime; + + + @ApiModelProperty(value = "SO2浓度实况值") + /** SO2浓度实况值 */ + @Excel(name = "SO2浓度实况值") + private String so2Live; + + + @ApiModelProperty(value = "NO2浓度实况值") + /** NO2浓度实况值 */ + @Excel(name = "NO2浓度实况值") + private String no2Live; + + + @ApiModelProperty(value = "CO浓度实况值") + /** CO浓度实况值 */ + @Excel(name = "CO浓度实况值") + private String coLive; + + + @ApiModelProperty(value = "O3浓度实况值") + /** O3浓度实况值 */ + @Excel(name = "O3浓度实况值") + private String o3Live; + + + @ApiModelProperty(value = "PM10浓度实况值") + /** PM10浓度实况值 */ + @Excel(name = "PM10浓度实况值") + private String pm10Live; + + + @ApiModelProperty(value = "PM2.5浓度实况值") + /** PM2.5浓度实况值 */ + @Excel(name = "PM2.5浓度实况值") + private String pm25Live; + + + @ApiModelProperty(value = "温度") + /** 温度 */ + @Excel(name = "温度") + private String temperature; + + + @ApiModelProperty(value = "湿度") + /** 湿度 */ + @Excel(name = "湿度") + private String humidity; + + + @ApiModelProperty(value = "大气压") + /** 大气压 */ + @Excel(name = "大气压") + private String apress; + + + @ApiModelProperty(value = "风向") + /** 风向 */ + @Excel(name = "风向") + private String wdirect; + + + @ApiModelProperty(value = "风速") + /** 风速 */ + @Excel(name = "风速") + private String wspeed; + + + @ApiModelProperty(value = "噪声") + /** 噪声 */ + @Excel(name = "噪声") + private String noise; + + + @ApiModelProperty(value = "MAXID值") + /** MAXID值 */ + @Excel(name = "MAXID值") + private String maxId; + + + @ApiModelProperty(value = "无用") + /** 无用 */ + @Excel(name = "无用") + private String flag; + + + @ApiModelProperty(value = "PM10标况值") + /** PM10标况值 */ + @Excel(name = "PM10标况值") + private String pm10Bk; + + + @ApiModelProperty(value = "PM25标况值") + /** PM25标况值 */ + @Excel(name = "PM25标况值") + private String pm25Bk; + + + @ApiModelProperty(value = "SO2标况值") + /** SO2标况值 */ + @Excel(name = "SO2标况值") + private String so2Bk; + + + @ApiModelProperty(value = "NO2标况值") + /** NO2标况值 */ + @Excel(name = "NO2标况值") + private String no2Bk; + + + @ApiModelProperty(value = "CO标况值") + /** CO标况值 */ + @Excel(name = "CO标况值") + private String coBk; + + + @ApiModelProperty(value = "O3标况值") + /** O3标况值 */ + @Excel(name = "O3标况值") + private String o3Bk; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String pmi; + + + @ApiModelProperty(value = "PMI标况值") + /** PMI标况值 */ + @Excel(name = "PMI标况值") + private String pmiBk; + + + @ApiModelProperty(value = "TSP实况值") + /** TSP实况值 */ + @Excel(name = "TSP实况值") + private String tspLive; + + + @ApiModelProperty(value = "TSP标况值") + /** TSP标况值 */ + @Excel(name = "TSP标况值") + private String tspBk; + + + @ApiModelProperty(value = "NO实况值") + /** NO实况值 */ + @Excel(name = "NO实况值") + private String noLive; + + + @ApiModelProperty(value = "TVOC值") + /** TVOC值 */ + @Excel(name = "TVOC值") + private String tvoc; + + + @ApiModelProperty(value = "co2浓度值") + /** co2浓度值 */ + @Excel(name = "co2浓度值") + private String co2; + + + @ApiModelProperty(value = "氮氧化物浓度值") + /** 氮氧化物浓度值 */ + @Excel(name = "氮氧化物浓度值") + private String nox; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("stationId", getStationId()) + .append("stationCode", getStationCode()) + .append("receiveTime", getReceiveTime()) + .append("so2Live", getSo2Live()) + .append("no2Live", getNo2Live()) + .append("coLive", getCoLive()) + .append("o3Live", getO3Live()) + .append("pm10Live", getPm10Live()) + .append("pm25Live", getPm25Live()) + .append("temperature", getTemperature()) + .append("humidity", getHumidity()) + .append("apress", getApress()) + .append("wdirect", getWdirect()) + .append("wspeed", getWspeed()) + .append("noise", getNoise()) + .append("maxId", getMaxId()) + .append("flag", getFlag()) + .append("pm10Bk", getPm10Bk()) + .append("pm25Bk", getPm25Bk()) + .append("so2Bk", getSo2Bk()) + .append("no2Bk", getNo2Bk()) + .append("coBk", getCoBk()) + .append("o3Bk", getO3Bk()) + .append("pmi", getPmi()) + .append("pmiBk", getPmiBk()) + .append("tspLive", getTspLive()) + .append("tspBk", getTspBk()) + .append("noLive", getNoLive()) + .append("tvoc", getTvoc()) + .append("co2", getCo2()) + .append("nox", getNox()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingWeiStationHourI.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingWeiStationHourI.java new file mode 100644 index 0000000..c709a8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsMeshingWeiStationHourI.java @@ -0,0 +1,251 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * ods层网格化微站站点小时增量对象 ods_meshing_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化微站站点小时增量") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_meshing_wei_station_hour_i") +public class OdsMeshingWeiStationHourI extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + + @ApiModelProperty(value = "站点id") + /** 站点id */ + @Excel(name = "站点id") + private String stationId; + + + @ApiModelProperty(value = "站点编码") + /** 站点编码 */ + @Excel(name = "站点编码") + private String stationCode; + + + @ApiModelProperty(value = "数据采集时间") + /** 数据采集时间 */ + @Excel(name = "数据采集时间") + private String receiveTime; + + + @ApiModelProperty(value = "co浓度值 单位 mg/m3") + /** co浓度值 单位 mg/m3 */ + @Excel(name = "co浓度值 单位 mg/m3") + private String co; + + + @ApiModelProperty(value = "NO2浓度值 单位μg/m3") + /** NO2浓度值 单位μg/m3 */ + @Excel(name = "NO2浓度值 单位μg/m3") + private String no2; + + + @ApiModelProperty(value = "SO2 浓度值 单位μg/m3") + /** SO2 浓度值 单位μg/m3 */ + @Excel(name = "SO2 浓度值 单位μg/m3") + private String so2; + + + @ApiModelProperty(value = "O3浓度值 单位μg/m3") + /** O3浓度值 单位μg/m3 */ + @Excel(name = "O3浓度值 单位μg/m3") + private String o3; + + + @ApiModelProperty(value = "VOC浓度值 单位PPB") + /** VOC浓度值 单位PPB */ + @Excel(name = "VOC浓度值 单位PPB") + private String voc; + + + @ApiModelProperty(value = "噪声") + /** 噪声 */ + @Excel(name = "噪声") + private String noise; + + + @ApiModelProperty(value = "PM2.5浓度值 单位μg/m3") + /** PM2.5浓度值 单位μg/m3 */ + @Excel(name = "PM2.5浓度值 单位μg/m3") + private String pm25; + + + @ApiModelProperty(value = "PM10浓度值 单位μg/m3") + /** PM10浓度值 单位μg/m3 */ + @Excel(name = "PM10浓度值 单位μg/m3") + private String pm10; + + + @ApiModelProperty(value = "温度 单位 ℃") + /** 温度 单位 ℃ */ + @Excel(name = "温度 单位 ℃") + private String temperature; + + + @ApiModelProperty(value = "utc") + /** utc */ + @Excel(name = "utc") + private String utc; + + + @ApiModelProperty(value = "湿度 单位%RH") + /** 湿度 单位%RH */ + @Excel(name = "湿度 单位%RH") + private String humidity; + + + @ApiModelProperty(value = "风向 单位°") + /** 风向 单位° */ + @Excel(name = "风向 单位°") + private String wdirect; + + + @ApiModelProperty(value = "风速 单位 m/s") + /** 风速 单位 m/s */ + @Excel(name = "风速 单位 m/s") + private String wspeed; + + + @ApiModelProperty(value = "大气压 单位 hPa") + /** 大气压 单位 hPa */ + @Excel(name = "大气压 单位 hPa") + private String apress; + + + @ApiModelProperty(value = "设备状态") + /** 设备状态 */ + @Excel(name = "设备状态") + private String equstatename; + + + @ApiModelProperty(value = "设备状态码") + /** 设备状态码 */ + @Excel(name = "设备状态码") + private String equstate; + + + @ApiModelProperty(value = "NO 浓度值 单位μg/m3") + /** NO 浓度值 单位μg/m3 */ + @Excel(name = "NO 浓度值 单位μg/m3") + private String no; + + + @ApiModelProperty(value = "TSP 浓度值") + /** TSP 浓度值 */ + @Excel(name = "TSP 浓度值") + private String tsp; + + + @ApiModelProperty(value = "AQI值") + /** AQI值 */ + @Excel(name = "AQI值") + private String aqi; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String aqiLevel; + + + @ApiModelProperty(value = "首要污染物") + /** 首要污染物 */ + @Excel(name = "首要污染物") + private String priPollute; + + + @ApiModelProperty(value = "PointHour 表示微型站数据,VocHour 表示 VOC 站数据") + /** PointHour 表示微型站数据,VocHour 表示 VOC 站数据 */ + @Excel(name = "PointHour 表示微型站数据,VocHour 表示 VOC 站数据") + private String type; + + + @ApiModelProperty(value = "O38H浓度值 单位μg/m3") + /** O38H浓度值 单位μg/m3 */ + @Excel(name = "O38H浓度值 单位μg/m3") + private String o38h; + + + + + + + @ApiModelProperty(value = "氮氧化物浓度值") + /** 氮氧化物浓度值 */ + @Excel(name = "氮氧化物浓度值") + private String nox; + + + @ApiModelProperty(value = "TVOC值") + /** TVOC值 */ + @Excel(name = "TVOC值") + private String tvoc; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("stationId", getStationId()) + .append("stationCode", getStationCode()) + .append("receiveTime", getReceiveTime()) + .append("co", getCo()) + .append("no2", getNo2()) + .append("so2", getSo2()) + .append("o3", getO3()) + .append("voc", getVoc()) + .append("noise", getNoise()) + .append("pm25", getPm25()) + .append("pm10", getPm10()) + .append("temperature", getTemperature()) + .append("utc", getUtc()) + .append("humidity", getHumidity()) + .append("wdirect", getWdirect()) + .append("wspeed", getWspeed()) + .append("apress", getApress()) + .append("equstatename", getEqustatename()) + .append("equstate", getEqustate()) + .append("no", getNo()) + .append("tsp", getTsp()) + .append("aqi", getAqi()) + .append("aqiLevel", getAqiLevel()) + .append("priPollute", getPriPollute()) + .append("type", getType()) + .append("o38h", getO38h()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("nox", getNox()) + .append("tvoc", getTvoc()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlDgiinfoA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlDgiinfoA.java new file mode 100644 index 0000000..9f36e34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlDgiinfoA.java @@ -0,0 +1,202 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_dgiinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_online_ol_dgiinfo_a") +public class OdsOnlineOlDgiinfoA extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + + @ApiModelProperty(value = "企业主键ID") + /** 企业主键ID */ + @Excel(name = "企业主键ID") + private String psId; + + + @ApiModelProperty(value = "mn编码") + /** mn编码 */ + @Excel(name = "mn编码") + private String dgiMn; + + + @ApiModelProperty(value = "数采仪密码") + /** 数采仪密码 */ + @Excel(name = "数采仪密码") + private String dgiPwd; + + + @ApiModelProperty(value = "ip地址") + /** ip地址 */ + @Excel(name = "ip地址") + private String ip; + + + @ApiModelProperty(value = "端口") + /** 端口 */ + @Excel(name = "端口") + private String port; + + + @ApiModelProperty(value = "sim卡号") + /** sim卡号 */ + @Excel(name = "sim卡号") + private String simNo; + + + @ApiModelProperty(value = "领用人") + /** 领用人 */ + @Excel(name = "领用人") + private String getter; + + + @ApiModelProperty(value = "领用单位") + /** 领用单位 */ + @Excel(name = "领用单位") + private String getUnit; + + + @ApiModelProperty(value = "领用日期") + /** 领用日期 */ + @Excel(name = "领用日期") + private String getDate; + + + @ApiModelProperty(value = "启用日期") + /** 启用日期 */ + @Excel(name = "启用日期") + private String useDate; + + + @ApiModelProperty(value = "间隔时间") + /** 间隔时间 */ + @Excel(name = "间隔时间") + private String intervalTime; + + + @ApiModelProperty(value = "生产厂家设备品牌") + /** 生产厂家设备品牌 */ + @Excel(name = "生产厂家设备品牌") + private String manufactor; + + + @ApiModelProperty(value = "设备出厂编号") + /** 设备出厂编号 */ + @Excel(name = "设备出厂编号") + private String equipmentFactoryNumber; + + + @ApiModelProperty(value = "设备型号") + /** 设备型号 */ + @Excel(name = "设备型号") + private String equipmentTypeCode; + + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + @Excel(name = "联系人") + private String contact; + + + @ApiModelProperty(value = "联系人手机") + /** 联系人手机 */ + @Excel(name = "联系人手机") + private String contactPhone; + + + @ApiModelProperty(value = "检查状态") + /** 检查状态 */ + @Excel(name = "检查状态") + private String checkState; + + + + + + + @ApiModelProperty(value = "禁用时间") + /** 禁用时间 */ + @Excel(name = "禁用时间") + private String deleteTime; + + + @ApiModelProperty(value = "禁用后再次启用时间") + /** 禁用后再次启用时间 */ + @Excel(name = "禁用后再次启用时间") + private String enableTime; + + + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + /** 是否启用,1-启用 0-禁用 */ + @Excel(name = "是否启用,1-启用 0-禁用") + private String enable; + + + @ApiModelProperty(value = "是否具备防作假功能,1-是 0-否") + /** 是否具备防作假功能,1-是 0-否 */ + @Excel(name = "是否具备防作假功能,1-是 0-否") + private Long preventFaking; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("psId", getPsId()) + .append("dgiMn", getDgiMn()) + .append("dgiPwd", getDgiPwd()) + .append("ip", getIp()) + .append("port", getPort()) + .append("simNo", getSimNo()) + .append("getter", getGetter()) + .append("getUnit", getGetUnit()) + .append("getDate", getGetDate()) + .append("useDate", getUseDate()) + .append("intervalTime", getIntervalTime()) + .append("manufactor", getManufactor()) + .append("equipmentFactoryNumber", getEquipmentFactoryNumber()) + .append("equipmentTypeCode", getEquipmentTypeCode()) + .append("contact", getContact()) + .append("contactPhone", getContactPhone()) + .append("checkState", getCheckState()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("deleteTime", getDeleteTime()) + .append("enableTime", getEnableTime()) + .append("enable", getEnable()) + .append("preventFaking", getPreventFaking()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPortinfoA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPortinfoA.java new file mode 100644 index 0000000..0571531 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPortinfoA.java @@ -0,0 +1,286 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 点位信息对象 ods_online_ol_portinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "点位信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_online_ol_portinfo_a") +public class OdsOnlineOlPortinfoA extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String id; + + + @ApiModelProperty(value = "企业主键ID") + /** 企业主键ID */ + @Excel(name = "企业主键ID") + private String psId; + + + @ApiModelProperty(value = "监控点编码(保留字典不参与业务)") + /** 监控点编码(保留字典不参与业务) */ + @Excel(name = "监控点编码", readConverterExp = "保=留字典不参与业务") + private String portCode; + + + @ApiModelProperty(value = "监控点编号(保留字典不参与业务)") + /** 监控点编号(保留字典不参与业务) */ + @Excel(name = "监控点编号", readConverterExp = "保=留字典不参与业务") + private String portNum; + + + @ApiModelProperty(value = "监测点名称后缀") + /** 监测点名称后缀 */ + @Excel(name = "监测点名称后缀") + private String portNameSuffix; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String portName; + + + @ApiModelProperty(value = "排口类型,如:水、气(字典数据)") + /** 排口类型,如:水、气(字典数据) */ + @Excel(name = "排口类型,如:水、气", readConverterExp = "字=典数据") + private String portTypeId; + + + @ApiModelProperty(value = "监控点位置") + /** 监控点位置 */ + @Excel(name = "监控点位置") + private String portPosition; + + + @ApiModelProperty(value = "经度") + /** 经度 */ + @Excel(name = "经度") + private String longitude; + + + @ApiModelProperty(value = "纬度") + /** 纬度 */ + @Excel(name = "纬度") + private String latitude; + + + @ApiModelProperty(value = "监测点类型代码") + /** 监测点类型代码 */ + @Excel(name = "监测点类型代码") + private String monitorTypeId; + + + @ApiModelProperty(value = "行政区划编码") + /** 行政区划编码 */ + @Excel(name = "行政区划编码") + private String regionId; + + + @ApiModelProperty(value = "是否烧结,1-否 1-是 ") + /** 是否烧结,1-否 1-是 */ + @Excel(name = "是否烧结,1-否 1-是 ") + private String isSintering; + + + @ApiModelProperty(value = "是否启用,0-否 1-是") + /** 是否启用,0-否 1-是 */ + @Excel(name = "是否启用,0-否 1-是") + private String enable; + + + @ApiModelProperty(value = "联网时间") + /** 联网时间 */ + @Excel(name = "联网时间") + private String networkTime; + + + @ApiModelProperty(value = "是否联网,1-是 0-否") + /** 是否联网,1-是 0-否 */ + @Excel(name = "是否联网,1-是 0-否") + private Long networkStatus; + + + @ApiModelProperty(value = "运维标记联网时间") + /** 运维标记联网时间 */ + @Excel(name = "运维标记联网时间") + private String opFlagNetworkTime; + + + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + /** 运维标记是否联网 1-是 0-否 */ + @Excel(name = "运维标记是否联网 1-是 0-否") + private Long opFlagNetworkStatus; + + + @ApiModelProperty(value = "异常上限") + /** 异常上限 */ + @Excel(name = "异常上限") + private String abnormalUp; + + + @ApiModelProperty(value = "异常下限") + /** 异常下限 */ + @Excel(name = "异常下限") + private String abnormalDown; + + + @ApiModelProperty(value = "是否高架源,0-否 1-是") + /** 是否高架源,0-否 1-是 */ + @Excel(name = "是否高架源,0-否 1-是") + private String highChimney; + + + @ApiModelProperty(value = "是否垃圾焚烧,0-否 1-是") + /** 是否垃圾焚烧,0-否 1-是 */ + @Excel(name = "是否垃圾焚烧,0-否 1-是") + private String rubbish; + + + @ApiModelProperty(value = "排放规律") + /** 排放规律 */ + @Excel(name = "排放规律") + private String outputRule; + + + + + + + @ApiModelProperty(value = "delete_time") + /** delete_time */ + @Excel(name = "delete_time") + private String deleteTime; + + + @ApiModelProperty(value = "由禁用改为启用时间") + /** 由禁用改为启用时间 */ + @Excel(name = "由禁用改为启用时间") + private String enableTime; + + + @ApiModelProperty(value = "监测点状态,1-在线 2-超标 3-异常 4-离线") + /** 监测点状态,1-在线 2-超标 3-异常 4-离线 */ + @Excel(name = "监测点状态,1-在线 2-超标 3-异常 4-离线") + private String portState; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String isSync; + + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + @Excel(name = "排放口id") + private String outletId; + + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + @Excel(name = "创建人") + private String createdBy; + + + @ApiModelProperty(value = "编辑人") + /** 编辑人 */ + @Excel(name = "编辑人") + private String updatedBy; + + + @ApiModelProperty(value = "基准含氧量") + /** 基准含氧量 */ + @Excel(name = "基准含氧量") + private String outletYq; + + + @ApiModelProperty(value = "排污许可编号") + /** 排污许可编号 */ + @Excel(name = "排污许可编号") + private String pwxkBh; + + + @ApiModelProperty(value = "国发监测点id") + /** 国发监测点id */ + @Excel(name = "国发监测点id") + private String gfPortId; + + + @ApiModelProperty(value = "是否同步给长天 1同步 0不同步") + /** 是否同步给长天 1同步 0不同步 */ + @Excel(name = "是否同步给长天 1同步 0不同步") + private Long sySky; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("psId", getPsId()) + .append("portCode", getPortCode()) + .append("portNum", getPortNum()) + .append("portNameSuffix", getPortNameSuffix()) + .append("portName", getPortName()) + .append("portTypeId", getPortTypeId()) + .append("portPosition", getPortPosition()) + .append("longitude", getLongitude()) + .append("latitude", getLatitude()) + .append("monitorTypeId", getMonitorTypeId()) + .append("regionId", getRegionId()) + .append("isSintering", getIsSintering()) + .append("enable", getEnable()) + .append("networkTime", getNetworkTime()) + .append("networkStatus", getNetworkStatus()) + .append("opFlagNetworkTime", getOpFlagNetworkTime()) + .append("opFlagNetworkStatus", getOpFlagNetworkStatus()) + .append("abnormalUp", getAbnormalUp()) + .append("abnormalDown", getAbnormalDown()) + .append("highChimney", getHighChimney()) + .append("rubbish", getRubbish()) + .append("outputRule", getOutputRule()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("deleteTime", getDeleteTime()) + .append("enableTime", getEnableTime()) + .append("portState", getPortState()) + .append("isSync", getIsSync()) + .append("outletId", getOutletId()) + .append("createdBy", getCreatedBy()) + .append("updatedBy", getUpdatedBy()) + .append("outletYq", getOutletYq()) + .append("pwxkBh", getPwxkBh()) + .append("gfPortId", getGfPortId()) + .append("sySky", getSySky()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsWhitelistA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsWhitelistA.java new file mode 100644 index 0000000..41dc969 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsWhitelistA.java @@ -0,0 +1,224 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 白名单信息对象 ods_online_ol_ps_whitelist_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "白名单信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_online_ol_ps_whitelist_a") +public class OdsOnlineOlPsWhitelistA extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String regionId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String factoryId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String portNum; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String portName; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String pollutantCode; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String startTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String endTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String operator; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String reason; + + + + + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String deleteTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String enable; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String remarks; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifyStatusId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifyRemarks; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifierId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifierName; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifyTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String verifierMobile; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String startTime2; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String endTime2; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String createTime2; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String receiveTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String infoType; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("regionId", getRegionId()) + .append("factoryId", getFactoryId()) + .append("portNum", getPortNum()) + .append("portName", getPortName()) + .append("pollutantCode", getPollutantCode()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("operator", getOperator()) + .append("userId", getUserId()) + .append("reason", getReason()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("deleteTime", getDeleteTime()) + .append("enable", getEnable()) + .append("remarks", getRemarks()) + .append("verifyStatusId", getVerifyStatusId()) + .append("verifyRemarks", getVerifyRemarks()) + .append("verifierId", getVerifierId()) + .append("verifierName", getVerifierName()) + .append("verifyTime", getVerifyTime()) + .append("verifierMobile", getVerifierMobile()) + .append("startTime2", getStartTime2()) + .append("endTime2", getEndTime2()) + .append("createTime2", getCreateTime2()) + .append("receiveTime", getReceiveTime()) + .append("infoType", getInfoType()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsinfoA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsinfoA.java new file mode 100644 index 0000000..54a6216 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlPsinfoA.java @@ -0,0 +1,244 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_psinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_online_ol_psinfo_a") +public class OdsOnlineOlPsinfoA extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String id; + + + @ApiModelProperty(value = "企业代码:社会统计信用代码") + /** 企业代码:社会统计信用代码 */ + @Excel(name = "企业代码:社会统计信用代码") + private String psCode; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String psName; + + + @ApiModelProperty(value = "企业名拼音") + /** 企业名拼音 */ + @Excel(name = "企业名拼音") + private String psLetter; + + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + @Excel(name = "企业地址") + private String address; + + + @ApiModelProperty(value = "国民经济行业代码") + /** 国民经济行业代码 */ + @Excel(name = "国民经济行业代码") + private String industryCode; + + + @ApiModelProperty(value = "环保行业代码") + /** 环保行业代码 */ + @Excel(name = "环保行业代码") + private String regulationIndustryId; + + + @ApiModelProperty(value = "行政区划代码ID,区县级") + /** 行政区划代码ID,区县级 */ + @Excel(name = "行政区划代码ID,区县级") + private String regionId; + + + @ApiModelProperty(value = "企业经度") + /** 企业经度 */ + @Excel(name = "企业经度") + private String longitude; + + + @ApiModelProperty(value = "企业纬度") + /** 企业纬度 */ + @Excel(name = "企业纬度") + private String latitude; + + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + @Excel(name = "联系人") + private String contact; + + + @ApiModelProperty(value = "联系人手机") + /** 联系人手机 */ + @Excel(name = "联系人手机") + private String contactphone; + + + @ApiModelProperty(value = "是否高架源,1-是") + /** 是否高架源,1-是 */ + @Excel(name = "是否高架源,1-是") + private String isHighChimney; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String isRubbish; + + + @ApiModelProperty(value = "重点非重点code") + /** 重点非重点code */ + @Excel(name = "重点非重点code") + private String categoryTypeId; + + + @ApiModelProperty(value = "是否有排污许可证 0否 1是") + /** 是否有排污许可证 0否 1是 */ + @Excel(name = "是否有排污许可证 0否 1是") + private String isPwxk; + + + @ApiModelProperty(value = "企业状态,1-在线 2-超标 3-异常 4-离线") + /** 企业状态,1-在线 2-超标 3-异常 4-离线 */ + @Excel(name = "企业状态,1-在线 2-超标 3-异常 4-离线") + private String psState; + + + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + /** 是否启用,1-启用 0-禁用 */ + @Excel(name = "是否启用,1-启用 0-禁用") + private String enable; + + + @ApiModelProperty(value = "联网时间") + /** 联网时间 */ + @Excel(name = "联网时间") + private String networkTime; + + + @ApiModelProperty(value = "是否联网,1-是 0-否") + /** 是否联网,1-是 0-否 */ + @Excel(name = "是否联网,1-是 0-否") + private Long networkStatus; + + + @ApiModelProperty(value = "运维标记联网时间") + /** 运维标记联网时间 */ + @Excel(name = "运维标记联网时间") + private String opFlagNetworkTime; + + + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + /** 运维标记是否联网 1-是 0-否 */ + @Excel(name = "运维标记是否联网 1-是 0-否") + private Long opFlagNetworkStatus; + + + + + + + @ApiModelProperty(value = "停用改启用时间") + /** 停用改启用时间 */ + @Excel(name = "停用改启用时间") + private String enableTime; + + + @ApiModelProperty(value = "禁用时间") + /** 禁用时间 */ + @Excel(name = "禁用时间") + private String deleteTime; + + + @ApiModelProperty(value = "是否同步给省厅 1同步 0不同步") + /** 是否同步给省厅 1同步 0不同步 */ + @Excel(name = "是否同步给省厅 1同步 0不同步") + private Long syProvince; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long sySky; + + + @ApiModelProperty(value = "企业类型 0线上(非现场执法),1线下") + /** 企业类型 0线上(非现场执法),1线下 */ + @Excel(name = "企业类型 0线上(非现场执法),1线下") + private Long psType; + + + @ApiModelProperty(value = "企业是否生成处置单 0不生成,1生成") + /** 企业是否生成处置单 0不生成,1生成 */ + @Excel(name = "企业是否生成处置单 0不生成,1生成") + private Long psDisposal; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("psCode", getPsCode()) + .append("psName", getPsName()) + .append("psLetter", getPsLetter()) + .append("address", getAddress()) + .append("industryCode", getIndustryCode()) + .append("regulationIndustryId", getRegulationIndustryId()) + .append("regionId", getRegionId()) + .append("longitude", getLongitude()) + .append("latitude", getLatitude()) + .append("contact", getContact()) + .append("contactphone", getContactphone()) + .append("isHighChimney", getIsHighChimney()) + .append("isRubbish", getIsRubbish()) + .append("categoryTypeId", getCategoryTypeId()) + .append("isPwxk", getIsPwxk()) + .append("psState", getPsState()) + .append("enable", getEnable()) + .append("networkTime", getNetworkTime()) + .append("networkStatus", getNetworkStatus()) + .append("opFlagNetworkTime", getOpFlagNetworkTime()) + .append("opFlagNetworkStatus", getOpFlagNetworkStatus()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("enableTime", getEnableTime()) + .append("deleteTime", getDeleteTime()) + .append("syProvince", getSyProvince()) + .append("sySky", getSySky()) + .append("psType", getPsType()) + .append("psDisposal", getPsDisposal()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlStopinfoA.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlStopinfoA.java new file mode 100644 index 0000000..74bacaf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/OdsOnlineOlStopinfoA.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_stopinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("ods_online_ol_stopinfo_a") +public class OdsOnlineOlStopinfoA extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String factoryId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String portNum; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String portName; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Date startTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Date endTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String dcsType; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String operator; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String reason; + + + + + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Date deleteTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String enable; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String infoSources; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String remarks; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Date startTimeFormat; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Date endTimeFormat; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Date createTimeFormat; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Date checkTime; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String checkUserId; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String checkUserName; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long checkStatus; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String checkRemarks; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long startTimeUnix; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long endTimeUnix; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("portNum", getPortNum()) + .append("portName", getPortName()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("dcsType", getDcsType()) + .append("operator", getOperator()) + .append("reason", getReason()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("deleteTime", getDeleteTime()) + .append("enable", getEnable()) + .append("infoSources", getInfoSources()) + .append("userId", getUserId()) + .append("remarks", getRemarks()) + .append("startTimeFormat", getStartTimeFormat()) + .append("endTimeFormat", getEndTimeFormat()) + .append("createTimeFormat", getCreateTimeFormat()) + .append("checkTime", getCheckTime()) + .append("checkUserId", getCheckUserId()) + .append("checkUserName", getCheckUserName()) + .append("checkStatus", getCheckStatus()) + .append("checkRemarks", getCheckRemarks()) + .append("startTimeUnix", getStartTimeUnix()) + .append("endTimeUnix", getEndTimeUnix()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodCompany.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodCompany.java new file mode 100644 index 0000000..460c51d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodCompany.java @@ -0,0 +1,188 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: PCodCompany + * @Author: wyg + * @Description:污染源信息对象 p_code_company + * @Date: 2023/6/13 14:55 + * @Version: 1.0 + */ +@Data +@ApiModel(value = "污染源信息模型") +public class PCodCompany { + private static final long serialVersionUID = 1L; + + /** + * $column.columnComment + */ + @TableId(value = "company_id", type = IdType.AUTO) + @ApiModelProperty(value = "$column.columnComment") + private String companyId; + + /** + * 公司名称 + */ + @Excel(name = "公司名称") + @ApiModelProperty(value = "公司名称") + private String companyName; + + /** + * 纬度 + */ + @Excel(name = "纬度") + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + + /** + * 经度 + */ + @Excel(name = "经度") + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + + /** + * 详细地址 + */ + @Excel(name = "详细地址") + @ApiModelProperty(value = "详细地址") + private String address; + + /** + * 所属行业 + */ + @Excel(name = "所属行业") + @ApiModelProperty(value = "所属行业") + private Integer industryCode; + + /** + * 省份编号 + */ + @Excel(name = "省份编号") + @ApiModelProperty(value = "省份编号") + private String provinceCode; + + /** + * 省份名称 + */ + @Excel(name = "省份名称") + @ApiModelProperty(value = "省份名称") + private String province; + + /** + * 城市编号 + */ + @Excel(name = "城市编号") + @ApiModelProperty(value = "城市编号") + private String cityCode; + + /** + * 城市名称 + */ + @Excel(name = "城市名称") + @ApiModelProperty(value = "城市名称") + private String city; + + /** + * 区县编号 + */ + @Excel(name = "区县编号") + @ApiModelProperty(value = "区县编号") + private String districtCode; + + /** + * 区县名称 + */ + @Excel(name = "区县名称") + @ApiModelProperty(value = "区县名称") + private String district; + + /** + * 现状(无问题0、 整改中1、完成整改2、未整改3) + */ + @Excel(name = "现状", readConverterExp = "无=问题0、,整=改中1、完成整改2、未整改3") + @ApiModelProperty(value = "现状(无问题0、 整改中1、完成整改2、未整改3)") + private String status; + + /** + * 是否有排口,0没有,1有 + */ + @Excel(name = "是否有排口,0没有,1有") + @ApiModelProperty(value = "是否有排口,0没有,1有") + private String hasoutlet; + + /** + * 备注 + */ + @Excel(name = "备注") + @ApiModelProperty(value = "备注") + private String remarks; + + /** + * 责任单位 + */ + @Excel(name = "责任单位") + @ApiModelProperty(value = "责任单位") + private String dutyCompany; + + /** + * 创建人编号 + */ + @Excel(name = "创建人编号") + @ApiModelProperty(value = "创建人编号") + private String createUser; + + /** + * 企业类型 + */ + @Excel(name = "企业类型") + @ApiModelProperty(value = "企业类型") + private Integer companyType; + + /** + * 企业标签 + */ + @Excel(name = "企业标签") + @ApiModelProperty(value = "企业标签") + private Integer companyTag; + + /** + * 企业信用代码 + */ + @Excel(name = "企业信用代码") + @ApiModelProperty(value = "企业信用代码") + private String creditCode; + + /** + * 涉气污染物id(多个用,分割) + */ + @Excel(name = "涉气污染物id", readConverterExp = "多=个用,分割") + @ApiModelProperty(value = "涉气污染物id(多个用,分割)") + private String fkAirPollutant; + + /** + * 排污许可证编码(多个用,分割) + */ + @Excel(name = "排污许可证编码", readConverterExp = "排污许可证编码") + @ApiModelProperty(value = "排污许可证编码") + private String pwxkz; + + /** + * 登记地址 + */ + @Excel(name = "登记地址", readConverterExp = "登记地址") + @ApiModelProperty(value = "登记地址") + private String registAddress; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeAreaInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeAreaInfo.java new file mode 100644 index 0000000..be54ea3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeAreaInfo.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: PCodeAreaInfo + * @Author: wyg + * @Description: 1 + * @Date: 2023/6/13 09:58 + * @Version: 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("p_code_area_info") +@ApiModel(value="PCodAreaInfo对象", description="监测地图-公共查询-数据查询") +public class PCodeAreaInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "区域编码") + @TableId(value = "area_code", type = IdType.AUTO) + private Integer areaCode; + + @ApiModelProperty(value = "区域名称") + @TableField("area_name") + private String areaName; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private String longitude; + + @ApiModelProperty(value = "纬度") + @TableField("latitude") + private String latitude; + + @ApiModelProperty(value = "0-使用 1-未使用") + @TableField("is_used") + private Integer isUsed; + + @TableField("area_type") + private Integer areaType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeStation.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeStation.java new file mode 100644 index 0000000..8df80d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PCodeStation.java @@ -0,0 +1,194 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** +*站点表 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("p_code_station") +@ApiModel(value="PCodeStation对象", description="站点表") +public class PCodeStation implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "station_id") + private String stationId; + + @TableField("province_code") + private String provinceCode; + + @ApiModelProperty(value = "省") + @TableField("province") + private String province; + + @TableField("city_code") + private String cityCode; + + @ApiModelProperty(value = "市") + @TableField("city") + private String city; + + @TableField("district_code") + private String districtCode; + + @ApiModelProperty(value = "区") + @TableField("district") + private String district; + + @ApiModelProperty(value = "街镇code") + @TableField("township_code") + private String townShipCode; + + @ApiModelProperty(value = "街镇") + @TableField("township") + private String townShip; + + @ApiModelProperty(value = "站点名称") + @TableField("station_name") + private String stationName; + + @ApiModelProperty(value = "站点编号") + @TableField("station_code") + private String stationCode; + + @ApiModelProperty(value = "站点状态0 离线,1在线,2超标,3异常") + @TableField("status") + private Integer status; + + @ApiModelProperty(value = "所属行政区") + @TableField("region_code") + private Integer regionCode; + @ApiModelProperty(value = "城市考核点 0:否 1:是") + @TableField("city_assessment_point") + private Integer cityAssessmentPoint; + @ApiModelProperty(value = "区县考核点 0:否 1:是") + @TableField("district_assessment_point") + private Integer districtAssessmentPoint; + @ApiModelProperty(value = "街道考核点 0:否 1:是") + @TableField("street_assessment_point") + private Integer streetAssessmentPoint; + + + @ApiModelProperty(value = "所属功能区 商业/工业/住宅/绿化/文化教育") + @TableField("function_id") + private Integer functionId; + + @ApiModelProperty(value = "1:国控站,2:省控站,3,市控站,4:微站 5:六参数微站,6:小型站,7:β射线扬尘站 8: TVOC微站,9:颗粒物微站,10:气象站 11:尾气遥测,12:超级站,13:黑烟车监测 14:园区站") + @TableField("station_level") + private Integer stationLevel; + + @ApiModelProperty(value = "站点类型 1大气环境 2污染源废气 3水监测 4污染源废水") + @TableField("station_type") + private Integer stationType; + + @ApiModelProperty(value = "站点父节点类型:0没有,1企业,2道路,3采石场") + @TableField("parent_type") + private Integer parentType; + + @ApiModelProperty(value = "父节点ID") + @TableField("fk_parent_id") + private String fkParentId; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private BigDecimal longitude; + + @ApiModelProperty(value = "维度") + @TableField("latitude") + private BigDecimal latitude; + + @ApiModelProperty(value = "百度地图经度") + @TableField("bmap_longitude") + private BigDecimal bmapLongitude; + + @ApiModelProperty(value = "百度地图纬度") + @TableField("bmap_latitude") + private BigDecimal bmapLatitude; + + @ApiModelProperty(value = "GCG102 经度") + @TableField("gcg_longitude") + private String gcgLongitude; + + @ApiModelProperty(value = "GCG102 纬度") + @TableField("gcg_latitude") + private String gcgLatitude; + + @ApiModelProperty(value = "站点地址") + @TableField("address") + private String address; + + @ApiModelProperty(value = "站点负责人") + @TableField("principal") + private String principal; + + @ApiModelProperty(value = "负责人电话") + @TableField("phone") + private String phone; + + @ApiModelProperty(value = "创建人") + @TableField("create_user") + private String createUser; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(value = "是否参与城市评价 0 不参与,1参与") + @TableField("is_assessment_city") + private Boolean isAssessmentCity; + + @ApiModelProperty(value = "是否开启自动审核,0 不开启, 1 开启, 建立自动审核数据表,有该站点数据表示开启。") + @TableField("is_auto_audit") + private Boolean isAutoAudit; + + @ApiModelProperty(value = "是否统计数据 0 不统计数据,1统计日数据,2 统计小时、日数据 默认不统计数据") + @TableField("is_auto_statistic") + private Boolean isAutoStatistic; + + @ApiModelProperty(value = "删除标识(0-使用;1-不使用)") + @TableField("is_used") + private Boolean isUsed; + + @ApiModelProperty(value = "('是否维护状态 1:是,0:否')") + @TableField("is_maintain") + private Boolean isMaintain; + + @ApiModelProperty(value = "气象数据源:0 站点自行发送,1取站点所属区域气象数据,2取站点所属父级行政区域") + @TableField("meteorological_data") + private Integer meteorologicalData; + + @ApiModelProperty(value = "是否自动预测预警 1:是,0:否") + @TableField("is_forecast") + private Boolean isForecast; + + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "是否从chinaAqi爬取数据,0-否,1-是") + @TableField("is_chinaaqi") + private Boolean isChinaaqi; + + @ApiModelProperty(value = "数据类型(1-城市空气;2-废气类;3-镇办空气;4-VOCs)") + @TableField("data_type") + private Boolean dataType; + + @ApiModelProperty(value = "备注") + @TableField("remark") + private String remark; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdsl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdsl.java new file mode 100644 index 0000000..8efbd1f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdsl.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.ToString; + + +/** + * 企业接入数据类型对象 pc_adsl + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业接入数据类型") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("pc_adsl") +public class PcAdsl extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "adsl_id",type = IdType.AUTO) + private Long adslId; + + + @ApiModelProperty(value = "接入数据类型编码") + /** 接入数据类型编码 */ + @Excel(name = "接入数据类型编码") + private String adslName; + + + @ApiModelProperty(value = "接入数据类型名称") + /** 接入数据类型名称 */ + @Excel(name = "接入数据类型名称") + private String adslCode; + + + @ApiModelProperty(value = "是否启用(0-否,1-是)") + /** 是否启用 */ + @Excel(name = "是否启用", readConverterExp = "0=否,1=是") + private String adslEnable; + + @ApiModelProperty(value = "排序") + /** 排序 */ + private String sort; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdslFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdslFactory.java new file mode 100644 index 0000000..93a6859 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcAdslFactory.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.ToString; + + +/** + * 企业与接入数据类型关联对象 pc_adsl_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业与接入数据类型关联") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("pc_adsl_factory") +public class PcAdslFactory extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "接入数据类型编码") + /** 接入数据类型编码 */ + @Excel(name = "接入数据类型编码") + private String adslCode; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcArchivesFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcArchivesFactory.java new file mode 100644 index 0000000..05292a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcArchivesFactory.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "企业档案分类表") +@Data +@TableName("pc_archives_factory") +public class PcArchivesFactory extends BaseEntity { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + private String factoryId; + private String type; + private String archivesCode; + + @TableField("is_hide") + private String hide; + + @TableField("is_follow") + private String follow; + + + public enum Type { + BASE_INFO("1", "基础档案信息"), + MONITOR_INFO("2", "监测监控信息"), + BUSINESS("3", "业务信息") + ; + + private final String code; + private final String label; + + Type(String code, String label) { + this.code = code; + this.label = label; + } + + public String getCode() { + return code; + } + + public String getLabel() { + return label; + } + + public static String getLabelByCode(String code) { + for (Type value : values()) { + if (value.getCode().equals(code)) { + return value.getLabel(); + } + } + return null; + } + } + + /** + * 档案枚举 + */ + public enum Archives { + A1("1", "基本信息", Type.BASE_INFO, "basicInfo"), + A2("2", "废气排口档案", Type.BASE_INFO, "flueGas"), + A3("3", "废水排口档案", Type.BASE_INFO, "outletWater"), + A4("4", "固废噪声档案", Type.BASE_INFO, "solidWaste"), + A5("5", "总许可量", Type.BASE_INFO, "permits"), + A6("6", "特征标签", Type.BASE_INFO, "propertyLabel"), + + A10("10", "企业排放信息", Type.MONITOR_INFO, "enterpriseEmissionInfo"), + A11("11", "在线监测信息", Type.MONITOR_INFO, "onlineMonitoringInfor"), + A12("12", "站房运维信息", Type.MONITOR_INFO, "maintenanceInfo"), + A13("13", "无组织监控", Type.MONITOR_INFO, "unorganizedMonitoring"), + A14("14", "固危废监控", Type.MONITOR_INFO, "wastemonitoring"), + A15("15", "分表计电", Type.MONITOR_INFO, "electricityMetering"), + A16("16", "工况监控", Type.MONITOR_INFO, "operatingModeMetering"), + A17("17", "门禁监控", Type.MONITOR_INFO, "cardAccess"), + A18("18", "视频监控", Type.MONITOR_INFO, "videoMonitor"), + A19("19", "产治排跟踪", Type.MONITOR_INFO, "CZPtrack"), + + A20("20", "排污许可信息", Type.BUSINESS, "pollutantsDischargeLicense"), + A21("21", "执行报告信息", Type.BUSINESS, "implementationReport"), + A22("22", "移动执法信息", Type.BUSINESS, "mobileLawEnforcement"), + A23("23", "三监联动执法信息", Type.BUSINESS, "linkageLawEnforcement"), + ; + + private final String code; + private final String label; + private final Type type; + private final String url; + + Archives(String code, String label, Type type, String url) { + this.code = code; + this.label = label; + this.type = type; + this.url = url; + } + + public String getCode() { + return code; + } + + public String getLabel() { + return label; + } + + public Type getType() { + return type; + } + + public String getUrl() { + return url; + } + + public static Archives getByCode(String code) { + for (Archives value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcControlRequirements.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcControlRequirements.java new file mode 100644 index 0000000..6447b3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcControlRequirements.java @@ -0,0 +1,199 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +/** + * 管控要求对象 pc_control_requirements + */ +@ApiModel(value = "管控要求") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_control_requirements") +public class PcControlRequirements extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "污染物种类id") + /** 污染物种类id*/ + @Excel(name = "污染物种类id") + private String pollutantId; + + + @ApiModelProperty(value = "国家或地方污染物排放标准名") + /** 国家或地方污染物排放标准名*/ + @Excel(name = "国家或地方污染物排放标准名") + private String pollutantStandardName; + + + @ApiModelProperty(value = "排放标准浓度限值") + /** 排放标准浓度限值*/ + @Excel(name = "排放标准浓度限值") + private String emissionStandardConcentrationLim; + + + @ApiModelProperty(value = "排放标准浓度单位") + /** 排放标准浓度单位*/ + @Excel(name = "排放标准浓度单位") + private String emissionStandardConcentrationUnit; + + + @ApiModelProperty(value = "排放标准速率限值(kg/h)") + /** 排放标准速率限值(kg/h)*/ + @Excel(name = "排放标准速率限值", readConverterExp = "k=g/h") + private String emissionStandardRateLim; + + + @ApiModelProperty(value = "环境影响评价批复要求") + /** 环境影响评价批复要求*/ + @Excel(name = "环境影响评价批复要求") + private String approvalRequirements; + + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值*/ + @Excel(name = "许可排放小时浓度限值") + private String permissibleConcentrationLimHour; + + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值*/ + @Excel(name = "许可排放日均浓度限值") + private String permissibleConcentrationLimDay; + + + @ApiModelProperty(value = "许可排放速率限值(kg/h)") + /** 许可排放速率限值(kg/h)*/ + @Excel(name = "许可排放速率限值", readConverterExp = "k=g/h") + private String permissibleRateLim; + + + @ApiModelProperty(value = "许可年排放量限值-第一年(t/a)") + /** 许可年排放量限值-第一年(t/a)*/ + @Excel(name = "许可年排放量限值-第一年", readConverterExp = "t=/a") + private String permissibleLimFirst; + + + @ApiModelProperty(value = "许可年排放量限值-第二年(t/a)") + /** 许可年排放量限值-第二年(t/a)*/ + @Excel(name = "许可年排放量限值-第二年", readConverterExp = "t=/a") + private String permissibleLimSecond; + + + @ApiModelProperty(value = "许可年排放量限值-第三年(t/a)") + /** 许可年排放量限值-第三年(t/a)*/ + @Excel(name = "许可年排放量限值-第三年", readConverterExp = "t=/a") + private String permissibleLimThird; + + + @ApiModelProperty(value = "许可年排放量限值-第四年(t/a)") + /** 许可年排放量限值-第四年(t/a)*/ + @Excel(name = "许可年排放量限值-第四年", readConverterExp = "t=/a") + private String permissibleLimFourth; + + + @ApiModelProperty(value = "许可年排放量限值-第五年(t/a)") + /** 许可年排放量限值-第五年(t/a)*/ + @Excel(name = "许可年排放量限值-第五年", readConverterExp = "t=/a") + private String permissibleLimSfifth; + + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值*/ + @Excel(name = "承诺更加严格排放浓度限值") + private String commitmentEmissionLim; + + + @ApiModelProperty(value = "监测设施") + /** 监测设施*/ + @Excel(name = "监测设施") + private String monitoringFacilities; + + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网*/ + @Excel(name = "自动监测是否联网") + private String whetherAutoMonitorConn; + + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称*/ + @Excel(name = "自动监测仪器名称") + private String autoMonitorName; + + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置*/ + @Excel(name = "自动监测设施安装位置") + private String autoMonitorAddress; + + + @ApiModelProperty(value = "自动监测设施是否符合安装、运行、维护等管理要求") + /** 自动监测设施是否符合安装、运行、维护等管理要求*/ + @Excel(name = "自动监测设施是否符合安装、运行、维护等管理要求") + private String whetherAutoMonitorRequire; + + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数*/ + @Excel(name = "手工监测采样方法及个数") + private String manualMonitorNumber; + + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次*/ + @Excel(name = "手工监测频次") + private String manualMonitorFrequency; + + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法*/ + @Excel(name = "手工测定方法") + private String manualMonitorMethod; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + @Excel(name = "其他信息") + private String otherInformation; + + @ApiModelProperty(value = "管控要求污染物名称-用于页签") + private String pollutantName; + + @ApiModelProperty(value = "主要污染防治措施") + private String pollutionPreventionMeasures; + + @ApiModelProperty(value = "申请特殊时段许可排放量限值") + private String commitmentEmissionPromise; + + @ApiModelProperty(value = "许可排放浓度限值(水)") + private String permissibleConcentrationLimWater; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactory.java new file mode 100644 index 0000000..f0d8af0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactory.java @@ -0,0 +1,404 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业基本信息对象 pc_factory + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "企业基本信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_factory") +public class PcFactory extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称") + private String factoryName; + + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + @Excel(name = "市编码") + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + @Excel(name = "市名称") + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + @Excel(name = "县编码") + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "县名称") + private String countryName; + + + @ApiModelProperty(value = "是否重点排污单位") + /** 是否重点排污单位 */ + @Excel(name = "是否重点排污单位") + private String wipollunit; + + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "许可管理类别") + private String licenseManType; + + + @ApiModelProperty(value = "许可是否整改") + /** 许可是否整改 */ + @Excel(name = "许可是否整改") + private String licenseWabarbeitung; + + + @ApiModelProperty(value = "绩效管控级别") + /** 绩效管控级别 */ + @Excel(name = "绩效管控级别") + private String preConLevel; + + + @ApiModelProperty(value = "排污许可证编码") + /** 排污许可证编码 */ + @Excel(name = "排污许可证编码") + private String pollDisLicenseCode; + + + @ApiModelProperty(value = "排污许可证有效期限") + /** 排污许可证有效期限 */ + @Excel(name = "排污许可证有效期限") + private String pollDisLicenseDeadline; + + + @ApiModelProperty(value = "排污许可证发证机关") + /** 排污许可证发证机关 */ + @Excel(name = "排污许可证发证机关") + private String pollDisLicenseIssuing; + + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + @Excel(name = "统一社会信用代码") + private String uscCode; + + + @ApiModelProperty(value = "组织机构代码") + /** 组织机构代码 */ + @Excel(name = "组织机构代码") + private String insFramCode; + + + @ApiModelProperty(value = "注册地址") + /** 注册地址 */ + @Excel(name = "注册地址") + private String address; + + + @ApiModelProperty(value = "生产经营场所地址") + /** 生产经营场所地址 */ + @Excel(name = "生产经营场所地址") + private String prodBusiOperation; + + + @ApiModelProperty(value = "邮政编码") + /** 邮政编码 */ + @Excel(name = "邮政编码") + private String postalCode; + + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + @Excel(name = "行业类别") + private String industryCategory; + + + @ApiModelProperty(value = "其他行业类别") + /** 其他行业类别 */ + @Excel(name = "其他行业类别") + private String industryCategoryOther; + + + @ApiModelProperty(value = "是否投产") + /** 是否投产 */ + @Excel(name = "是否投产") + private String whetherProduction; + + + @ApiModelProperty(value = "投产日期") + /** 投产日期 */ + @Excel(name = "投产日期") + private String productionDate; + + + @ApiModelProperty(value = "生产经营场所中心经度") + /** 生产经营场所中心经度 */ + @Excel(name = "生产经营场所中心经度") + private String productionLon; + + + @ApiModelProperty(value = "生产经营场所中心纬度") + /** 生产经营场所中心纬度 */ + @Excel(name = "生产经营场所中心纬度") + private String productionLat; + + + @ApiModelProperty(value = "法定代表人(主要负责人)") + /** 法定代表人(主要负责人) */ + @Excel(name = "法定代表人", readConverterExp = "主=要负责人") + private String principalMan; + + + @ApiModelProperty(value = "技术负责人") + /** 技术负责人 */ + @Excel(name = "技术负责人") + private String technicalMan; + + + @ApiModelProperty(value = "固定电话") + /** 固定电话 */ + @Excel(name = "固定电话") + private String tel; + + + @ApiModelProperty(value = "移动电话") + /** 移动电话 */ + @Excel(name = "移动电话") + private String mobileTelephone; + + + @ApiModelProperty(value = "所在地是否属于大气重点控制区") + /** 所在地是否属于大气重点控制区 */ + @Excel(name = "所在地是否属于大气重点控制区") + private String whetherLocalKeyAri; + + + @ApiModelProperty(value = "所在地是否属于总磷控制区") + /** 所在地是否属于总磷控制区 */ + @Excel(name = "所在地是否属于总磷控制区") + private String whetherLocalKeyPho; + + + @ApiModelProperty(value = "所在地是否属于总氮控制区") + /** 所在地是否属于总氮控制区 */ + @Excel(name = "所在地是否属于总氮控制区") + private String whetherLocalKeyNitrogen; + + + @ApiModelProperty(value = "所在地是否属于重金属污染物特别排放限值实施区域") + /** 所在地是否属于重金属污染物特别排放限值实施区域 */ + @Excel(name = "所在地是否属于重金属污染物特别排放限值实施区域") + private String whetherLocalKeyPollArea; + + + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区") + private String whetherLocalPark; + + + @ApiModelProperty(value = "是否有环评审批文件") + /** 是否有环评审批文件 */ + @Excel(name = "是否有环评审批文件") + private String whetherReviewFile; + + + @ApiModelProperty(value = "是否有地方政府对违规项目的认定或备案文件") + /** 是否有地方政府对违规项目的认定或备案文件 */ + @Excel(name = "是否有地方政府对违规项目的认定或备案文件") + private String whetherGovProFile; + + + @ApiModelProperty(value = "环境影响评价审批文件文号或备案编号") + /** 环境影响评价审批文件文号或备案编号 */ + @Excel(name = "环境影响评价审批文件文号或备案编号") + private String environmentalCode; + + + @ApiModelProperty(value = "地方政府对违规项目的认定或备案文件文号") + /** 地方政府对违规项目的认定或备案文件文号 */ + @Excel(name = "地方政府对违规项目的认定或备案文件文号") + private String govProIdentFile; + + + @ApiModelProperty(value = "主要污染物总量分配计划文件文号") + /** 主要污染物总量分配计划文件文号 */ + @Excel(name = "主要污染物总量分配计划文件文号") + private String majorPollutantsCode; + + + @ApiModelProperty(value = "主要污染物类别") + /** 主要污染物类别 */ + @Excel(name = "主要污染物类别") + private String majorPollutantCategories; + + + @ApiModelProperty(value = "大气主要污染物种类") + /** 大气主要污染物种类 */ + @Excel(name = "大气主要污染物种类") + private String airMainPollutants; + + + @ApiModelProperty(value = "大气污染物排放规律") + /** 大气污染物排放规律 */ + @Excel(name = "大气污染物排放规律") + private String airEmissionPollutants; + + + @ApiModelProperty(value = "大气污染物排放执行标准") + /** 大气污染物排放执行标准 */ + @Excel(name = "大气污染物排放执行标准") + private String airDischargePollutants; + + + @ApiModelProperty(value = "废水主要污染物种类") + /** 废水主要污染物种类 */ + @Excel(name = "废水主要污染物种类") + private String waterMainPollutants; + + + @ApiModelProperty(value = "废水污染物排放规律") + /** 废水污染物排放规律 */ + @Excel(name = "废水污染物排放规律") + private String waterEmissionPollutants; + + + @ApiModelProperty(value = "废水污染物排放执行标准") + /** 废水污染物排放执行标准 */ + @Excel(name = "废水污染物排放执行标准") + private String waterDischargePollutants; + + + @ApiModelProperty(value = "排污权使用和交易信息") + /** 排污权使用和交易信息 */ + @Excel(name = "排污权使用和交易信息") + private String useTradingEmission; + + + @ApiModelProperty(value = "委托贮存/利用/处置环节污染防控技术要求") + /** 委托贮存/利用/处置环节污染防控技术要求 */ + @Excel(name = "委托贮存/利用/处置环节污染防控技术要求") + private String sudLinksPollutionPrevention; + + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "工业园区名称") + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "工业园区编码") + private String industrialParkCode; + + @ApiModelProperty(value = "是否有主要污染物总量分配计划文件") + /** 是否有主要污染物总量分配计划文件 */ + @Excel(name = "是否有主要污染物总量分配计划文件") + private String pollutantTotalFileWhere; + + @ApiModelProperty(value = "总许可量-备注信息") + private String mainAllowableRemark; + + @ApiModelProperty(value = "生态环境信用类别") + private String ecoEnvCreditLevel; + + @ApiModelProperty(name = "行业名称") + @TableField(exist = false) + private String indusName; + @ApiModelProperty(name = "生产状态,1表示在生产、2表示部分生产、0表示停产") + private String productionStatus; + + @ApiModelProperty(name = "分数") + private Integer score; + @ApiModelProperty(name = "排污许可行业名称") + private String industryPermissionName; + @ApiModelProperty(name = "重点排污单位类型") + private String wipollunitType; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryName", getFactoryName()) + .append("cityCode", getCityCode()) + .append("cityName", getCityName()) + .append("countryCode", getCountryCode()) + .append("countryName", getCountryName()) + .append("wipollunit", getWipollunit()) + .append("licenseManType", getLicenseManType()) + .append("licenseWabarbeitung", getLicenseWabarbeitung()) + .append("preConLevel", getPreConLevel()) + .append("pollDisLicenseCode", getPollDisLicenseCode()) + .append("pollDisLicenseDeadline", getPollDisLicenseDeadline()) + .append("pollDisLicenseIssuing", getPollDisLicenseIssuing()) + .append("uscCode", getUscCode()) + .append("insFramCode", getInsFramCode()) + .append("address", getAddress()) + .append("prodBusiOperation", getProdBusiOperation()) + .append("postalCode", getPostalCode()) + .append("industryCategory", getIndustryCategory()) + .append("industryCategoryOther", getIndustryCategoryOther()) + .append("whetherProduction", getWhetherProduction()) + .append("productionDate", getProductionDate()) + .append("productionLon", getProductionLon()) + .append("productionLat", getProductionLat()) + .append("principalMan", getPrincipalMan()) + .append("technicalMan", getTechnicalMan()) + .append("tel", getTel()) + .append("mobileTelephone", getMobileTelephone()) + .append("whetherLocalKeyAri", getWhetherLocalKeyAri()) + .append("whetherLocalKeyPho", getWhetherLocalKeyPho()) + .append("whetherLocalKeyNitrogen", getWhetherLocalKeyNitrogen()) + .append("whetherLocalKeyPollArea", getWhetherLocalKeyPollArea()) + .append("whetherLocalPark", getWhetherLocalPark()) + .append("whetherReviewFile", getWhetherReviewFile()) + .append("whetherGovProFile", getWhetherGovProFile()) + .append("environmentalCode", getEnvironmentalCode()) + .append("govProIdentFile", getGovProIdentFile()) + .append("majorPollutantsCode", getMajorPollutantsCode()) + .append("majorPollutantCategories", getMajorPollutantCategories()) + .append("airMainPollutants", getAirMainPollutants()) + .append("airEmissionPollutants", getAirEmissionPollutants()) + .append("airDischargePollutants", getAirDischargePollutants()) + .append("waterMainPollutants", getWaterMainPollutants()) + .append("waterEmissionPollutants", getWaterEmissionPollutants()) + .append("waterDischargePollutants", getWaterDischargePollutants()) + .append("useTradingEmission", getUseTradingEmission()) + .append("sudLinksPollutionPrevention", getSudLinksPollutionPrevention()) + .append("industrialParkName", getIndustrialParkName()) + .append("industrialParkCode", getIndustrialParkCode()) + .append("pollutantTotalFileWhere", getPollutantTotalFileWhere()) + .append("ecoEnvCreditLevel", getEcoEnvCreditLevel()) + .append("score", getScore()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControl.java new file mode 100644 index 0000000..c56b7cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 企业门禁信息 + * + * @author szhpt + * @date 2023-07-18*/ +@ApiModel(value = "企业门禁信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_factory_access_control") +public class PcFactoryAccessControl { + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + /** + * 门禁名称 + */ + @ApiModelProperty(value="门禁名称") + private String accessControlName; + + /** + * 门禁编码 + */ + @ApiModelProperty(value="门禁编码") + private String accessControlCode; + + /** + * 门禁经度 + */ + @ApiModelProperty(value="门禁经度") + private String accessControlLng; + + /** + * 门禁纬度 + */ + @ApiModelProperty(value="门禁纬度") + private String accessControlLat; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControlCoordinateOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControlCoordinateOperationLog.java new file mode 100644 index 0000000..41b4196 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryAccessControlCoordinateOperationLog.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="企业门禁坐标操作日志") +@TableName("pc_factory_access_control_coordinate_operation_log") +public class PcFactoryAccessControlCoordinateOperationLog { + + /**主键标识*/ + @Excel(name = "主键标识") + @ApiModelProperty(value = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private java.util.Date operationTime; + /**门禁名称*/ + @Excel(name = "门禁名称") + @ApiModelProperty(value = "门禁名称") + private String accessControlName; + /**操作前经度*/ + @Excel(name = "操作前经度") + @ApiModelProperty(value = "操作前经度") + private String beforeModifyLng; + /**操作前纬度*/ + @Excel(name = "操作前纬度") + @ApiModelProperty(value = "操作前纬度") + private String beforeModifyLag; + /**操作状态*/ + @Excel(name = "操作状态") + @ApiModelProperty(value = "操作状态") + private String operationStatus; + /**操作后经度*/ + @Excel(name = "操作后经度") + @ApiModelProperty(value = "操作后经度") + private String afterModifyLng; + /**操作后纬度*/ + @Excel(name = "操作后纬度") + @ApiModelProperty(value = "操作后纬度") + private String afterModifyLag; + /**操作人*/ + @Excel(name = "操作人") + @ApiModelProperty(value = "操作人") + private String operator; + /**操作人ID*/ + @Excel(name = "操作人ID") + @ApiModelProperty(value = "操作人ID") + private String operatorId; + /**门禁编码*/ + @Excel(name = "门禁编码") + @ApiModelProperty(value = "门禁编码") + private String accessControlCode; + /**企业ID*/ + @Excel(name = "企业ID") + @ApiModelProperty(value = "企业ID") + private String factoryId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryCoordinateOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryCoordinateOperationLog.java new file mode 100644 index 0000000..8383bda --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryCoordinateOperationLog.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="企业坐标操作记录表") +@TableName("pc_factory_coordinate_operation_log") +public class PcFactoryCoordinateOperationLog { + + /**主键标识*/ + @Excel(name = "主键标识") + @ApiModelProperty(value = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private java.util.Date operationTime; + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + /**操作前经度*/ + @Excel(name = "操作前经度") + @ApiModelProperty(value = "操作前经度") + private String beforeModifyLng; + /**操作前纬度*/ + @Excel(name = "操作前纬度") + @ApiModelProperty(value = "操作前纬度") + private String beforeModifyLag; + /**操作状态*/ + @Excel(name = "操作状态") + @ApiModelProperty(value = "操作状态") + private String operationStatus; + /**操作后经度*/ + @Excel(name = "操作后经度") + @ApiModelProperty(value = "操作后经度") + private String afterModifyLng; + /**操作后纬度*/ + @Excel(name = "操作后纬度") + @ApiModelProperty(value = "操作后纬度") + private String afterModifyLag; + /**操作人*/ + @Excel(name = "操作人") + @ApiModelProperty(value = "操作人") + private String operator; + /**操作人ID*/ + @Excel(name = "操作人ID") + @ApiModelProperty(value = "操作人ID") + private String operatorId; + /**企业ID*/ + @Excel(name = "企业ID") + @ApiModelProperty(value = "企业ID") + private String factoryId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutant.java new file mode 100644 index 0000000..614d50a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutant.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业与污染物关系对象 pc_factory_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "企业与污染物关系") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_factory_pollutant") +public class PcFactoryPollutant extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "中间表id") + /** 中间表id */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "污染物id") + /** 污染物id*/ + @Excel(name = "污染物id") + private String pollutantId; + @ApiModelProperty(value = "是否使用0否 1是") + private String isStatus; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("pollutantId", getPollutantId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutantEmissionsRank.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutantEmissionsRank.java new file mode 100644 index 0000000..5b4fe71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryPollutantEmissionsRank.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 污染排放跟踪(实际排放/许可排放)对象 pc_factory_pollutant_emissions_rank + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "污染排放跟踪(实际排放/许可排放)") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_factory_pollutant_emissions_rank") +public class PcFactoryPollutantEmissionsRank extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + @Excel(name = "污染物类别") + private String pollCategory; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollName; + + + @ApiModelProperty(value = "排放量排名") + /** 排放量排名 */ + @Excel(name = "排放量排名") + private String emissionsRank; + + + @ApiModelProperty(value = "实际排放量") + /** 实际排放量 */ + @Excel(name = "实际排放量") + private String emissionsActual; + + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + @Excel(name = "许可排放量") + private String emissionsPermit; + + + @ApiModelProperty(value = "占比") + /** 占比 */ + @Excel(name = "占比") + private String emissionsRatio; + + @ApiModelProperty(value = "0-系统, 1-执行报告") + /** 0-系统, 1-执行报告 */ + @Excel(name = "来源", readConverterExp = "0=系统,1=执行报告") + private String dataSource; + + public PcFactoryPollutantEmissionsRank() { + } + + public PcFactoryPollutantEmissionsRank(String factoryId, String pollCategory, String pollName, String emissionsRank, String emissionsActual, String emissionsPermit, String emissionsRatio, String dataSource) { + this.factoryId = factoryId; + this.pollCategory = pollCategory; + this.pollName = pollName; + this.emissionsRank = emissionsRank; + this.emissionsActual = emissionsActual; + this.emissionsPermit = emissionsPermit; + this.emissionsRatio = emissionsRatio; + this.dataSource = dataSource; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollCategory", getPollCategory()) + .append("pollName", getPollName()) + .append("emissionsRank", getEmissionsRank()) + .append("emissionsActual", getEmissionsActual()) + .append("emissionsPermit", getEmissionsPermit()) + .append("emissionsRatio", getEmissionsRatio()) + .append("dataSource", getDataSource()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryWasteEmissionsRank.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryWasteEmissionsRank.java new file mode 100644 index 0000000..43c016d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcFactoryWasteEmissionsRank.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 危废排放跟踪-实际产生-计划申报 + */ +@ApiModel(value="危废排放跟踪-实际产生-计划申报") +@Data +public class PcFactoryWasteEmissionsRank { + /** + * 主键ID + */ + @ApiModelProperty(value="主键ID") + private String id; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + /** + * 废物类别 + */ + @ApiModelProperty(value="废物类别") + private String wasteType; + + /** + * 排放量排名 + */ + @ApiModelProperty(value="排放量排名") + private String emissionsRank; + + /** + * 实际产生量 + */ + @ApiModelProperty(value="实际产生量") + private BigDecimal emissionsActual; + + /** + * 计划申报量 + */ + @ApiModelProperty(value="计划申报量") + private BigDecimal emissionsPermit; + + /** + * 占比 + */ + @ApiModelProperty(value="占比") + private BigDecimal emissionsRatio; + + /** + * 0-系统, 1-执行报告 + */ + @ApiModelProperty(value="0-系统, 1-执行报告") + private String dataSource; + + /** + * 废物名称 + */ + @ApiModelProperty(value="废物名称") + private String wasteName; + + /** + * 废物代码 + */ + @ApiModelProperty(value="废物代码") + private String wasteCode; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcIndustry.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcIndustry.java new file mode 100644 index 0000000..b72e23a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcIndustry.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 行业对象 pc_industry + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "行业") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_industry") +public class PcIndustry extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "行业编码") + /** 行业编码*/ + @Excel(name = "行业编码") + private String indusCode; + + + @ApiModelProperty(value = "行业名称") + /** 行业名称 */ + @Excel(name = "行业名称") + private String indusName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("indusCode", getIndusCode()) + .append("indusName", getIndusName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabel.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabel.java new file mode 100644 index 0000000..60d803e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabel.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 特征标签对象 pc_label + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "特征标签") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_label") +public class PcLabel extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id") + @ApiModelProperty(value = "标签类型id") + /** 标签类型id*/ + private String id; + + + @ApiModelProperty(value = "标签类型:手工、非手工") + /** 标签类型*/ + @Excel(name = "标签类型") + private String labelType; + + + @ApiModelProperty(value = "标签类别、备注说明") + /** 标签类别*/ + @Excel(name = "标签类别") + private String labelCategory; + + + @ApiModelProperty(value = "标签编码") + /** 标签编码*/ + @Excel(name = "标签编码") + private String labelCode; + + + @ApiModelProperty(value = "标签名称") + /** 标签值*/ + @Excel(name = "标签值") + private String labelVal; + + + @ApiModelProperty(value = "标签级别") + /** 标签级别*/ + @Excel(name = "标签级别") + private String labelLevel; + + + @ApiModelProperty(value = "标签父类id") + /** 标签父类id*/ + @Excel(name = "标签父类id") + private String labelParamid; + + @ApiModelProperty(value = "排序") + /** 排序*/ + private int orderNum; + + @ApiModelProperty(value = "参数是否多选(0:单选,1:多选)") + /** 参数是否多选(0:单选,1:多选)*/ + private String labelMultipleChoice; + + @ApiModelProperty(value = "标签关联的企业实体类属性") + private String factoryField; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTimes; + + @ApiModelProperty(value = "标签内容") + /** 标签内容 */ + @TableField(exist = false) + private String lablevalue; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("labelType", getLabelType()) + .append("labelCategory", getLabelCategory()) + .append("labelCode", getLabelCode()) + .append("labelVal", getLabelVal()) + .append("labelLevel", getLabelLevel()) + .append("labelParamid", getLabelParamid()) + .append("labelMultipleChoice", getLabelMultipleChoice()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelFactory.java new file mode 100644 index 0000000..a730734 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelFactory.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 特征标签-与企业关系中间对象 pc_label_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-与企业关系中间") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_label_factory") +public class PcLabelFactory extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "特征标签id") + /** 特征标签id */ + @Excel(name = "特征标签id") + private String labelId; + + @ApiModelProperty(value = "是否是企业重点展示标签") + /** 特征标签id */ + @Excel(name = "是否是企业重点展示标签") + private String lableUseing; + + @ApiModelProperty(value = "标签值") + private String labelValue; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("labelId", getLabelId()) + .append("lableUseing", getLableUseing()) + .append("labelValue", getLabelValue()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelValue.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelValue.java new file mode 100644 index 0000000..d70b609 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcLabelValue.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 特征标签-参数值对象 pc_label_value + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-参数值") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_label_value") +public class PcLabelValue extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "特征标签id") + /** 特征标签id */ + @Excel(name = "特征标签id") + private String labelId; + + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + @Excel(name = "参数编码") + private String argumentsCode; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String argumentsName; + + @ApiModelProperty(value = "排序") + /** 排序*/ + private int orderNum; + + @ApiModelProperty("标签别名") + private String labelAlias; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("labelId", getLabelId()) + .append("argumentsCode", getArgumentsCode()) + .append("argumentsName", getArgumentsName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcManagementFacilities.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcManagementFacilities.java new file mode 100644 index 0000000..9ba593a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcManagementFacilities.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 治理设施对象 pc_management_facilities + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "治理设施") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_management_facilities") +public class PcManagementFacilities extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenu.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenu.java new file mode 100644 index 0000000..5842f8e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenu.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业档案菜单管理对象 pc_menu + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单管理") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_menu") +public class PcMenu extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "菜单名称") + /** 菜单名称 */ + @Excel(name = "菜单名称") + private String menuCode; + + + @ApiModelProperty(value = "菜单编码") + /** 菜单编码 */ + @Excel(name = "菜单编码") + private String menuName; + + + @ApiModelProperty(value = "是否启用") + /** 是否启用 */ + @Excel(name = "是否启用") + private String menuIfUse; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("menuCode", getMenuCode()) + .append("menuName", getMenuName()) + .append("menuIfUse", getMenuIfUse()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenuFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenuFactory.java new file mode 100644 index 0000000..8dbb228 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcMenuFactory.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业档案菜单与企业关联中间对象 pc_menu_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单与企业关联中间") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_menu_factory") +public class PcMenuFactory extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "菜单表id") + /** 菜单表id */ + @Excel(name = "菜单表id") + private String menuId; + + + @ApiModelProperty(value = "是否启用(移除功能)") + /** 是否启用(移除功能) */ + @Excel(name = "是否启用(移除功能)") + private String menuIfUse; + + + @ApiModelProperty(value = "是否重点关注") + /** 是否重点关注 */ + @Excel(name = "是否重点关注") + private String menuFocus; + + + @ApiModelProperty(value = "是否重点排序") + /** 是否重点排序 */ + @Excel(name = "是否重点排序") + private String menuFocusIndex; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("menuId", getMenuId()) + .append("menuIfUse", getMenuIfUse()) + .append("menuFocus", getMenuFocus()) + .append("menuFocusIndex", getMenuFocusIndex()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcNoiseType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcNoiseType.java new file mode 100644 index 0000000..aacb073 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcNoiseType.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 噪声排放类型对象 pc_noise_type + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "噪声排放类型") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_noise_type") +public class PcNoiseType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "噪声类别id") + /** 噪声类别id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "噪声类型名称") + /** 噪声类型名称*/ + @Excel(name = "噪声类型名称") + private String noiseTypeName; + + + @ApiModelProperty(value = "噪声编码") + /** 噪声编码*/ + @Excel(name = "噪声编码") + private String noiseTypeCode; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("noiseTypeName", getNoiseTypeName()) + .append("noiseTypeCode", getNoiseTypeCode()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutlet.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutlet.java new file mode 100644 index 0000000..b80086e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutlet.java @@ -0,0 +1,282 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.ToString; + +import java.math.BigDecimal; + +/** + * 废气有组织、无组织排口对象 pc_outlet + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "废气有组织、无组织排口") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("pc_outlet") +public class PcOutlet extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ +// @TableId(value = "id",type = IdType.AUTO) IdType.AUTO存在时,调用mybatis insert方法失效 + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "污染物类型(1废气、2废水、3、无组织、4:在线监测)") + /** 污染物类型(废气、废水)*/ + @Excel(name = "污染物类型", readConverterExp = "1=废气,2=废水,3=无组织、4:在线监测") + private String pollutantType; + + + @ApiModelProperty(value = "排口分类(1有组织、2无组织)") + /** 排口分类(有组织、无组织)*/ + @Excel(name = "排口分类", readConverterExp = "1=有组织,2=无组织") + private String pollutantOutletType; + + + @ApiModelProperty(value = "排放形式") + /** 排放形式*/ + @Excel(name = "排放形式") + private String emissionsForm; + + + @ApiModelProperty(value = "排放口设置是否符合要求") + /** 排放口设置是否符合要求*/ + @Excel(name = "排放口设置是否符合要求") + private String whetherOutletRequirements; + + + @ApiModelProperty(value = "产污环节") + /** 产污环节*/ + @Excel(name = "产污环节") + private String productionProcess; + + + @ApiModelProperty(value = "排口类型(主要排口、一般排扣)") + /** 排口类型(主要排口、一般排扣)*/ + @Excel(name = "排口类型(主要排口、一般排扣)") + private String outletTypes; + + @TableField(exist = false) + private String outletTypesName; + + public String getOutletTypesName() { + return "1".equals(outletTypes) ? "主要排口" : "一般排口"; + } + + @ApiModelProperty(value = "对应监测点位名称") + /** 对应监测点位名称*/ + @Excel(name = "对应监测点位名称") + private String monitoringPointName; + + + @ApiModelProperty(value = "对应治理设施编号") + /** 对应治理设施编号*/ + @Excel(name = "对应治理设施编号") + private String manageFacilitiesCode; + + + @ApiModelProperty(value = "对应治理设施名称") + /** 对应治理设施名称*/ + @Excel(name = "对应治理设施名称") + private String manageFacilitiesName; + + + @ApiModelProperty(value = "对应生产设施编号") + /** 对应生产设施编号*/ + @Excel(name = "对应生产设施编号") + private String productionFacilitiesCode; + + + @ApiModelProperty(value = "对应生产设施名称") + /** 对应生产设施名称 */ + @Excel(name = "对应生产设施名称") + private String productionFacilitiesName; + + + @ApiModelProperty(value = "排口经度") + /** 排口经度*/ + @Excel(name = "排口经度") + private BigDecimal outletLon; + + + @ApiModelProperty(value = "排口纬度") + /** 排口纬度*/ + @Excel(name = "排口纬度") + private BigDecimal outletLat; + + + @ApiModelProperty(value = "排气筒高度(m)") + /** 排气筒高度(m)*/ + @Excel(name = "排气筒高度", readConverterExp = "m=") + private String exhaustFunnelHight; + + @ApiModelProperty(value = "排气筒出口内径(m)") + /** 排气筒出口内径(m)*/ + @Excel(name = "排气筒出口内径", readConverterExp = "m=") + private String exhaustFunnelInner; + + + @ApiModelProperty(value = "排气温度") + /** 排气温度*/ + @Excel(name = "排气温度") + private String exhaustGasTemperature; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号*/ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称*/ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型*/ + @Excel(name = "排口监测类型") + private String outletMonitorName; + + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺*/ + @Excel(name = "治理设施工艺") + private String treatmentFacilityProcess; + + + @ApiModelProperty(value = "视频监控") + /** 视频监控*/ + @Excel(name = "视频监控") + private String videoSurveillance; + + + @ApiModelProperty(value = "许可证无组织监测点位名称") + /** 许可证无组织监测点位名称*/ + @Excel(name = "许可证无组织监测点位名称") + private String stationName; + + + @ApiModelProperty(value = "无组织监测点位") + /** 无组织监测点位*/ + @Excel(name = "无组织监测点位") + private String stationId; + + + @ApiModelProperty(value = "主要污染防治措施") + /** 主要污染防治措施*/ + @Excel(name = "主要污染防治措施") + private String pollutionPreventionMeasures; + + + @ApiModelProperty(value = "废水来源") + /** 废水来源*/ + @Excel(name = "废水来源") + private String sourcesWastewater; + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + @Excel(name = "其他信息") + private String moreDetails; + + @ApiModelProperty(value = "排水去向") + /** 排水去向*/ + @Excel(name = "排水去向") + private String directionDrainage; + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + @Excel(name = "排放规律") + private String dischargeLaw; + @ApiModelProperty(value = "间歇式排放时段") + /** 间歇式排放时段*/ + @Excel(name = "间歇式排放时段") + private String intermittentEmissionPeriod; + @ApiModelProperty(value = "受纳污水处理厂名称") + /** 受纳污水处理厂名称*/ + @Excel(name = "受纳污水处理厂名称") + private String treatmentPlantAcceptedName; + + @ApiModelProperty(value = "入河排污口批复文号") + /** 入河排污口批复文号*/ + @Excel(name = "入河排污口批复文号") + private String approvalDocument; + + @ApiModelProperty(value = "受纳自然水体信息-名称") + /** 受纳自然水体信息-名称*/ + @Excel(name = "受纳自然水体信息-名称") + private String receivingWaterName; + + + @ApiModelProperty(value = "受纳自然水体信息-功能目标") + /** 受纳自然水体信息-功能目标*/ + @Excel(name = "受纳自然水体信息-功能目标") + private String receivingWaterObjective; + + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度") + /** 汇入受纳自然水体处地理坐标-经度*/ + @Excel(name = "汇入受纳自然水体处地理坐标-经度") + private String receivingWaterLon; + + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度") + /** 汇入受纳自然水体处地理坐标-纬度*/ + @Excel(name = "汇入受纳自然水体处地理坐标-纬度") + private String receivingWaterLat; + + + @ApiModelProperty(value = "入河口名称") + /** 入河口名称*/ + @Excel(name = "入河口名称") + private String riversOutletName; + + @ApiModelProperty(value = "入河口编号") + /** 入河口编号*/ + @Excel(name = "入河口编号") + private String riversOutletCode; + + @ApiModelProperty(value = "标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + /** 标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限*/ + @Excel(name = "标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + private String mark; + + @ApiModelProperty(value = "在线监测-状态: 正常, 预警、异常,超标, 掉线") + private String outletStatus; + + @ApiModelProperty(value = "无组织监控-状态: 正常, 报警, 离线") + private String wzzStatus; + + @ApiModelProperty(value = "最新报警信息") + private String alarmInfo; + + private String parentOutletId; + + @ApiModelProperty(value = "是否手工填报 1-是") + private String isManualEntry; + + @ApiModelProperty(value = "是否启用") + private String isStatus; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutletCoordinateOperationLog.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutletCoordinateOperationLog.java new file mode 100644 index 0000000..aa7d34f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcOutletCoordinateOperationLog.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +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; + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="在线监测,无组织点位,排口经纬度坐标操作记录表") +@TableName("pc_outlet_coordinate_operation_log") +public class PcOutletCoordinateOperationLog { + + /**主键标识*/ + @Excel(name = "主键标识") + @ApiModelProperty(value = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + private java.util.Date operationTime; + /**污染物类型(1废气、2废水、3无组织、4在线监测)*/ + @Excel(name = "污染物类型(1废气、2废水、3无组织、4在线监测)") + @ApiModelProperty(value = "污染物类型(1废气、2废水、3无组织、4在线监测)") + private String pollutantType; + /**在线监测点位名称/无组织点位名称*/ + @Excel(name = "在线监测点位名称/无组织点位名称") + @ApiModelProperty(value = "在线监测点位名称/无组织点位名称") + private String monitoringPointName; + /**排口名称称*/ + @Excel(name = "排口名称称") + @ApiModelProperty(value = "排口名称称") + private String outletName; + /**操作前经度*/ + @Excel(name = "操作前经度") + @ApiModelProperty(value = "操作前经度") + private String beforeModifyLng; + /**操作前纬度*/ + @Excel(name = "操作前纬度") + @ApiModelProperty(value = "操作前纬度") + private String beforeModifyLag; + /**操作状态*/ + @Excel(name = "操作状态") + @ApiModelProperty(value = "操作状态") + private String operationStatus; + /**操作后经度*/ + @Excel(name = "操作后经度") + @ApiModelProperty(value = "操作后经度") + private String afterModifyLng; + /**操作后纬度*/ + @Excel(name = "操作后纬度") + @ApiModelProperty(value = "操作后纬度") + private String afterModifyLag; + /**操作人*/ + @Excel(name = "操作人") + @ApiModelProperty(value = "操作人") + private String operator; + /**操作人ID*/ + @Excel(name = "操作人ID") + @ApiModelProperty(value = "操作人ID") + private String operatorId; + /**企业ID*/ + @Excel(name = "企业ID") + @ApiModelProperty(value = "企业ID") + private String factoryId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcPollutant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcPollutant.java new file mode 100644 index 0000000..21c0efd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcPollutant.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 污染物对象 pc_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "污染物") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_pollutant") +public class PcPollutant extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别*/ + @Excel(name = "污染物类别") + private String pollCategory; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称*/ + @Excel(name = "污染物名称") + private String pollName; + + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码*/ + @Excel(name = "污染物编码") + private String pollCode; + + + @ApiModelProperty(value = "污染物单位") + /** 污染物单位*/ + @Excel(name = "污染物单位") + private String pollUnit; + + + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + @Excel(name = "排放规律") + private String emissionsLaws; + + @ApiModelProperty(value = "阈值下限") + private String lowerThreshold; + + @ApiModelProperty(value = "阈值上限") + private String upperThreshold; + + + @ApiModelProperty(value = "执行标准") + /** 执行标准*/ + @Excel(name = "执行标准") + private String executiveStandard; + + @ApiModelProperty(value = "是否大气管控监管污染物") + @TableField("is_gas_type") + private String gasType; + + @ApiModelProperty(value = "监测数据实体类中(SEnvGasMonReal)对应的排放量属性") + private String gasMonRealProperty; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("pollCategory", getPollCategory()) + .append("pollName", getPollName()) + .append("pollCode", getPollCode()) + .append("pollUnit", getPollUnit()) + .append("emissionsLaws", getEmissionsLaws()) + .append("executiveStandard", getExecutiveStandard()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcProductionFacility.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcProductionFacility.java new file mode 100644 index 0000000..5112f72 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcProductionFacility.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 生产设施对象 pc_production_facility + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "生产设施") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_production_facility") +public class PcProductionFacility extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "中间表id") + /** 中间表id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcSolidHazardousType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcSolidHazardousType.java new file mode 100644 index 0000000..1c7c1fc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcSolidHazardousType.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 固危废贮存信息--危险废物名录类型对象 pc_solid_hazardous_type + * + * @author szhpt + * @date 2023-03-21*/ +@ApiModel(value = "固危废贮存信息--危险废物名录类型") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_solid_hazardous_type") +public class PcSolidHazardousType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "ID") + /** ID */ + private String id; + + + @ApiModelProperty(value = "废物类别") + /** 废物类别 */ + @Excel(name = "废物类别") + private String type; + + + @ApiModelProperty(value = "类别名称") + /** 类别名称 */ + @Excel(name = "类别名称") + private String name; + + + @ApiModelProperty(value = "行业来源") + /** 行业来源 */ + @Excel(name = "行业来源") + private String source; + + + @ApiModelProperty(value = "废物代码") + /** 废物代码 */ + @Excel(name = "废物代码") + private String code; + + + @ApiModelProperty(value = "物描述") + /** 物描述 */ + @Excel(name = "物描述") + private String describe; + + + @ApiModelProperty(value = "危险特性") + /** 危险特性 */ + @Excel(name = "危险特性") + private String characteristics; + + + @ApiModelProperty(value = "状态 N 停用 Y启用") + /** 状态 N 停用 Y启用 */ + @Excel(name = "状态 N 停用 Y启用") + private String state; + + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + @Excel(name = "创建时间") + private String entityCreatedate; + + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + @Excel(name = "修改时间") + private String entityModifydate; + + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + @Excel(name = "创建人") + private String entityCreateuser; + + + @ApiModelProperty(value = "修改人") + /** 修改人 */ + @Excel(name = "修改人") + private String entityModifyuser; + + + @ApiModelProperty(value = "版本号") + /** 版本号 */ + @Excel(name = "版本号") + private String version; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String valid; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("type", getType()) + .append("name", getName()) + .append("source", getSource()) + .append("code", getCode()) + .append("describe", getDescribe()) + .append("characteristics", getCharacteristics()) + .append("state", getState()) + .append("entityCreatedate", getEntityCreatedate()) + .append("entityModifydate", getEntityModifydate()) + .append("entityCreateuser", getEntityCreateuser()) + .append("entityModifyuser", getEntityModifyuser()) + .append("version", getVersion()) + .append("valid", getValid()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuilding.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuilding.java new file mode 100644 index 0000000..921e5ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuilding.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 站房基本信息对象 pc_station_building + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房基本信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_station_building") +public class PcStationBuilding extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "站房序号") + /** 站房序号*/ + @Excel(name = "站房序号") + private String stationBuildingCode; + + + @ApiModelProperty(value = "站房名称") + /** 站房名称*/ + @Excel(name = "站房名称") + private String stationBuildingName; + + + @ApiModelProperty(value = "CEMS设备品牌") + /** CEMS设备品牌*/ + @Excel(name = "CEMS设备品牌") + private String equipmentBrandCems; + + + @ApiModelProperty(value = "对应监测点位id") + /** 对应监测点位id*/ + @Excel(name = "对应监测点位id") + private String stationId; + + + @ApiModelProperty(value = "对应监测点位名称") + /** 对应监测点位名称*/ + @Excel(name = "对应监测点位名称") + private String stationName; + + + @ApiModelProperty(value = "对应排口id") + /** 对应排口id*/ + @Excel(name = "对应排口id") + private String outletId; + + + @ApiModelProperty(value = "对应排口名称") + /** 对应排口名称*/ + @Excel(name = "对应排口名称") + private String outletName; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("stationBuildingCode", getStationBuildingCode()) + .append("stationBuildingName", getStationBuildingName()) + .append("equipmentBrandCems", getEquipmentBrandCems()) + .append("stationId", getStationId()) + .append("stationName", getStationName()) + .append("outletId", getOutletId()) + .append("outletName", getOutletName()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingEntranceGu.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingEntranceGu.java new file mode 100644 index 0000000..bd47d54 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingEntranceGu.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 站房门禁监管信息对象 pc_station_building_entrance_gu + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房门禁监管信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_station_building_entrance_gu") +public class PcStationBuildingEntranceGu extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "站房id") + /** 站房id*/ + private String stationBuildingId; + + + @ApiModelProperty(value = "刷卡时间") + /** 刷卡时间*/ + @Excel(name = "刷卡时间") + private String visitTime; + + + @ApiModelProperty(value = "门禁卡号") + /** 门禁卡号*/ + @Excel(name = "门禁卡号") + private String entranceGuardCode; + + + @ApiModelProperty(value = "持卡人名称") + /** 持卡人名称*/ + @Excel(name = "持卡人名称") + private String entranceGuardSignature; + + + @ApiModelProperty(value = "门禁卡类型") + /** 门禁卡类型*/ + @Excel(name = "门禁卡类型") + private String entranceGuardType; + + + @ApiModelProperty(value = "图片") + /** 图片*/ + private String entranceGuardImage; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("stationBuildingId", getStationBuildingId()) + .append("visitTime", getVisitTime()) + .append("entranceGuardCode", getEntranceGuardCode()) + .append("entranceGuardSignature", getEntranceGuardSignature()) + .append("entranceGuardType", getEntranceGuardType()) + .append("entranceGuardImage", getEntranceGuardImage()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingOps.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingOps.java new file mode 100644 index 0000000..7c43031 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingOps.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 站房运维签到信息对象 pc_station_building_ops + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房运维签到信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_station_building_ops") +public class PcStationBuildingOps extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "站房id") + /** 站房id*/ + private String stationBuildingId; + + @ApiModelProperty(value = "签到人员") + /** 签到人员*/ + @Excel(name = "签到人员") + private String signInPersonnel; + + + @ApiModelProperty(value = "签到时间") + /** 签到时间*/ + @Excel(name = "签到时间") + private String signInTime; + + @ApiModelProperty(value = "签到图片") + /** 签到图片*/ + private String signInImage; + + + @ApiModelProperty(value = "运维活动") + /** 运维活动*/ + @Excel(name = "运维活动") + private String signOutPersonnel; + + + @ApiModelProperty(value = "签退时间") + /** 签退时间*/ + @Excel(name = "签退时间") + private String signOutTime; + + + @ApiModelProperty(value = "签退图片") + /** 签退图片*/ + private String signOutImage; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("stationBuildingId", getStationBuildingId()) + .append("signInPersonnel", getSignInPersonnel()) + .append("signInTime", getSignInTime()) + .append("signInImage", getSignInImage()) + .append("signOutPersonnel", getSignOutPersonnel()) + .append("signOutTime", getSignOutTime()) + .append("signOutImage", getSignOutImage()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingStat.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingStat.java new file mode 100644 index 0000000..80c2074 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcStationBuildingStat.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigInteger; +import java.util.Date; + + +/** + * 站房信息--站房门禁进出统计分析对象 pc_station_building_stat + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "站房信息--站房门禁进出统计分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_station_building_stat") +public class PcStationBuildingStat extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + + @ApiModelProperty(value = "企业表主键id") + /** 企业表主键id */ + @Excel(name = "企业表主键id") + private String factoryId; + + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @Excel(name = "统计时间") + private Date statisticalTime; + + + @ApiModelProperty(value = "站房表主键id") + /** 站房表主键id */ + @Excel(name = "站房表主键id") + private String stationBuildingId; + + + @ApiModelProperty(value = "刷卡次数") + /** 刷卡次数 */ + @Excel(name = "刷卡次数") + private Long swipesOfNumber; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("statisticalTime", getStatisticalTime()) + .append("stationBuildingId", getStationBuildingId()) + .append("swipesOfNumber", getSwipesOfNumber()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcYieldTrend.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcYieldTrend.java new file mode 100644 index 0000000..8c3d506 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/PcYieldTrend.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 产量趋势指标码表 + */ +@ApiModel(value="产量趋势指标码表") +@Data +public class PcYieldTrend{ + /** + * 字典主键 + */ + @ApiModelProperty(value="字典主键") + private Long dictId; + + /** + * 大类(生产工艺) + */ + @ApiModelProperty(value="大类(生产工艺)") + private String large; + + /** + * 小类(指标) + */ + @ApiModelProperty(value="小类(指标)") + private String small; + + /** + * 是否使用 0-否,1-是 + */ + @ApiModelProperty(value="是否使用 0-否,1-是") + private String open; + + /** + * 字典编码 + */ + @ApiModelProperty(value="字典编码") + private String code; + + /** + * 行业 + */ + @ApiModelProperty(value="行业") + private String industry; + + /** + * 单位 + */ + @ApiModelProperty(value="单位") + private String unit; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasAreaHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasAreaHour.java new file mode 100644 index 0000000..25e505f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasAreaHour.java @@ -0,0 +1,238 @@ +package cn.cecep.talroad.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *站点小时数据表 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class QEnvgasAreaHour implements Serializable { + + @Id + private String id; + + @ApiModelProperty(value = "数据时间") + private String data_time; + + @ApiModelProperty(value = "区域编号") + private String region_code; + + @ApiModelProperty(value = "区域级别") + private String region_level; + + @ApiModelProperty(value = "AQI") + private Integer aqi; + + @ApiModelProperty(value = "综合指数") + private BigDecimal pmi; + + @ApiModelProperty(value = "区间最大综合指数") + private BigDecimal max_ipmi; + + @ApiModelProperty(value = "首要污染物") + private String fk_pollutant_id; + + @ApiModelProperty(value = "空气质量级别") + private Integer fk_aqilevel_id; + + @ApiModelProperty(value = "臭氧综合指数") + private BigDecimal ipmi_o3; + + @ApiModelProperty(value = "总悬浮颗粒物") + private BigDecimal tsp; + + @ApiModelProperty(value = "氮氧化物") + private BigDecimal nox; + + @ApiModelProperty(value = "TVOC") + private BigDecimal tvoc; + + @ApiModelProperty(value = "二氧化硫") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化氮") + private BigDecimal no2; + + @ApiModelProperty(value = "PM10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM2.5") + private BigDecimal pm25; + + @ApiModelProperty(value = "一氧化碳") + private BigDecimal co; + + @ApiModelProperty(value = "臭氧") + private BigDecimal o3; + + @ApiModelProperty(value = "温度") + private BigDecimal temp; + + @ApiModelProperty(value = "湿度") + private BigDecimal humi; + + @ApiModelProperty(value = "风速") + private BigDecimal winds; + + @ApiModelProperty(value = "风向") + private BigDecimal windd; + + @ApiModelProperty(value = "气压") + private BigDecimal pres; + + @ApiModelProperty(value = "一氧化氮") + private BigDecimal no; + + @ApiModelProperty(value = "能见度") + private BigDecimal vis; + + @ApiModelProperty(value = "降水强度") + private BigDecimal pi; + + @ApiModelProperty(value = "风力级别") + private String wind_level; + + @ApiModelProperty(value = "风向") + private String wind_direction; + + @ApiModelProperty(value = "二氧化硫分指数") + private Integer iaqi_so2; + + @ApiModelProperty(value = "二氧化硫综合指数") + private BigDecimal ipmi_so2; + + @ApiModelProperty(value = "二氧化氮分指数") + private Integer iaqi_no2; + + @ApiModelProperty(value = "二氧化氮综合指数") + private BigDecimal ipmi_no2; + + @ApiModelProperty(value = "PM10分指数") + private Integer iaqi_pm10; + + @ApiModelProperty(value = "PM10综合指数") + private BigDecimal ipmi_pm10; + + @ApiModelProperty(value = "一氧化碳分指数") + private Integer iaqi_co; + + @ApiModelProperty(value = "一氧化碳综合指数") + private BigDecimal ipmi_co; + + @ApiModelProperty(value = "臭氧分指数") + private Integer iaqi_o3; + + @ApiModelProperty(value = "PM2.5分指数") + private Integer iaqi_pm25; + + @ApiModelProperty(value = "PM2.5综合指数") + private BigDecimal ipmi_pm25; + + @ApiModelProperty(value = "二氧化硫是否超标") + private Integer so2_is_over; + + @ApiModelProperty(value = "二氧化硫区间最大值") + private BigDecimal so2_max_value; + + @ApiModelProperty(value = "二氧化硫区间最小值") + private BigDecimal so2_min_value; + + @ApiModelProperty(value = "二氧化氮是否超标") + private Integer no2_is_over; + + @ApiModelProperty(value = "二氧化氮区间最大值") + private BigDecimal no2_max_value; + + @ApiModelProperty(value = "二氧化氮区间最小值") + private BigDecimal no2_min_value; + + @ApiModelProperty(value = "PM10是否超标") + private Integer pm10_is_over; + + @ApiModelProperty(value = "PM10区间最大值") + private BigDecimal pm10_max_value; + + @ApiModelProperty(value = "PM10区间最小值") + private BigDecimal pm10_min_value; + + @ApiModelProperty(value = "PM2.5是否超标") + private Integer pm25_is_over; + + @ApiModelProperty(value = "PM2.5区间最大值") + private BigDecimal pm25_max_value; + + @ApiModelProperty(value = "PM2.5区间最小值") + private BigDecimal pm25_min_value; + + @ApiModelProperty(value = "一氧化碳是否超标") + private Integer co_is_over; + + @ApiModelProperty(value = "一氧化碳区间最大值") + private BigDecimal co_max_value; + + @ApiModelProperty(value = "一氧化碳区间最小值") + private BigDecimal co_min_value; + + @ApiModelProperty(value = "臭氧是否超标") + private Integer o3_is_over; + + @ApiModelProperty(value = "臭氧区间最大值") + private BigDecimal o3_max_value; + + @ApiModelProperty(value = "臭氧区间最小值") + private BigDecimal o3_min_value; + + @ApiModelProperty(value = "温度是否超标") + private Integer temp_is_over; + + @ApiModelProperty(value = "温度区间最大值") + private BigDecimal temp_max_value; + + @ApiModelProperty(value = "温度区间最小值") + private BigDecimal temp_min_value; + + @ApiModelProperty(value = "湿度是否超标") + private Integer humi_is_over; + + @ApiModelProperty(value = "湿度区间最大值") + private BigDecimal humi_max_value; + + @ApiModelProperty(value = "湿度区间最小值") + private BigDecimal humi_min_value; + + @ApiModelProperty(value = "风速是否超标") + private Integer winds_is_over; + + @ApiModelProperty(value = "风速区间最大值") + private BigDecimal winds_max_value; + + @ApiModelProperty(value = "风速区间最小值") + private BigDecimal winds_min_value; + + @ApiModelProperty(value = "气压是否超标") + private Integer pres_is_over; + + @ApiModelProperty(value = "气压区间最大值") + private BigDecimal pres_max_value; + + @ApiModelProperty(value = "气压区间最小值") + private BigDecimal pres_min_value; + + @ApiModelProperty(value = "创建时间") + private String create_time; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationDay.java new file mode 100644 index 0000000..5329cbd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationDay.java @@ -0,0 +1,563 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 站点小时数据对象 q_envgas_station_day + */ +@Data +@ApiModel(value = "站点小时数据模型") +public class QEnvgasStationDay { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键") + private String id; + + /** + * 数据时间 + */ + @Excel(name = "数据时间", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "数据时间") + private Date dataTime; + + /** + * 站点编号 + */ + @Excel(name = "站点编号") + @ApiModelProperty(value = "站点编号") + private String stationCode; + + /** + * AQI + */ + @Excel(name = "AQI") + @ApiModelProperty(value = "AQI") + private Integer aqi; + + /** + * 综合指数 + */ + @Excel(name = "综合指数") + @ApiModelProperty(value = "综合指数") + private BigDecimal pmi; + + /** + * 区间最大综合指数 + */ + @Excel(name = "区间最大综合指数") + @ApiModelProperty(value = "区间最大综合指数") + private BigDecimal maxIpmi; + + /** + * 空气质量级别 + */ + @Excel(name = "空气质量级别") + @ApiModelProperty(value = "空气质量级别") + private Integer fkAqilevelId; + + /** + * 二氧化硫 + */ + @Excel(name = "二氧化硫") + @ApiModelProperty(value = "二氧化硫") + private BigDecimal so2; + + /** + * 二氧化硫是否超标 + */ + @Excel(name = "二氧化硫是否超标") + @ApiModelProperty(value = "二氧化硫是否超标") + private Integer so2IsOver; + + /** + * 二氧化硫区间最大值 + */ + @Excel(name = "二氧化硫区间最大值") + @ApiModelProperty(value = "二氧化硫区间最大值") + private BigDecimal so2MaxValue; + + /** + * 二氧化硫区间最小值 + */ + @Excel(name = "二氧化硫区间最小值") + @ApiModelProperty(value = "二氧化硫区间最小值") + private BigDecimal so2MinValue; + + /** + * 二氧化氮 + */ + @Excel(name = "二氧化氮") + @ApiModelProperty(value = "二氧化氮") + private BigDecimal no2; + + /** + * 二氧化氮是否超标 + */ + @Excel(name = "二氧化氮是否超标") + @ApiModelProperty(value = "二氧化氮是否超标") + private Integer no2IsOver; + + /** + * 二氧化氮区间最大值 + */ + @Excel(name = "二氧化氮区间最大值") + @ApiModelProperty(value = "二氧化氮区间最大值") + private BigDecimal no2MaxValue; + + /** + * 二氧化氮区间最小值 + */ + @Excel(name = "二氧化氮区间最小值") + @ApiModelProperty(value = "二氧化氮区间最小值") + private BigDecimal no2MinValue; + + /** + * PM10 + */ + @Excel(name = "PM10") + @ApiModelProperty(value = "PM10") + private BigDecimal pm10; + + /** + * PM10是否超标 + */ + @Excel(name = "PM10是否超标") + @ApiModelProperty(value = "PM10是否超标") + private Integer pm10IsOver; + + /** + * PM10区间最大值 + */ + @Excel(name = "PM10区间最大值") + @ApiModelProperty(value = "PM10区间最大值") + private BigDecimal pm10MaxValue; + + /** + * PM10区间最小值 + */ + @Excel(name = "PM10区间最小值") + @ApiModelProperty(value = "PM10区间最小值") + private BigDecimal pm10MinValue; + + /** + * PM2.5 + */ + @Excel(name = "PM2.5") + @ApiModelProperty(value = "PM2.5") + private BigDecimal pm25; + + /** + * PM2.5是否超标 + */ + @Excel(name = "PM2.5是否超标") + @ApiModelProperty(value = "PM2.5是否超标") + private Integer pm25IsOver; + + /** + * PM2.5区间最大值 + */ + @Excel(name = "PM2.5区间最大值") + @ApiModelProperty(value = "PM2.5区间最大值") + private BigDecimal pm25MaxValue; + + /** + * PM2.5区间最小值 + */ + @Excel(name = "PM2.5区间最小值") + @ApiModelProperty(value = "PM2.5区间最小值") + private BigDecimal pm25MinValue; + + /** + * 一氧化碳 + */ + @Excel(name = "一氧化碳") + @ApiModelProperty(value = "一氧化碳") + private BigDecimal co; + + /** + * 一氧化碳是否超标 + */ + @Excel(name = "一氧化碳是否超标") + @ApiModelProperty(value = "一氧化碳是否超标") + private Integer coIsOver; + + /** + * 一氧化碳区间最大值 + */ + @Excel(name = "一氧化碳区间最大值") + @ApiModelProperty(value = "一氧化碳区间最大值") + private BigDecimal coMaxValue; + + /** + * 一氧化碳区间最小值 + */ + @Excel(name = "一氧化碳区间最小值") + @ApiModelProperty(value = "一氧化碳区间最小值") + private BigDecimal coMinValue; + + /** + * 臭氧 + */ + @Excel(name = "臭氧") + @ApiModelProperty(value = "臭氧") + private BigDecimal o3; + + /** + * 臭氧是否超标 + */ + @Excel(name = "臭氧是否超标") + @ApiModelProperty(value = "臭氧是否超标") + private Integer o3IsOver; + + /** + * 臭氧区间最大值 + */ + @Excel(name = "臭氧区间最大值") + @ApiModelProperty(value = "臭氧区间最大值") + private BigDecimal o3MaxValue; + + /** + * 臭氧区间最小值 + */ + @Excel(name = "臭氧区间最小值") + @ApiModelProperty(value = "臭氧区间最小值") + private BigDecimal o3MinValue; + + /** + * 臭氧 + */ + @Excel(name = "臭氧") + @ApiModelProperty(value = "臭氧") + @TableField(value = "o3_8h") + private BigDecimal o38h; + + /** + * 臭氧八小时平均 是否超标 + */ + @Excel(name = "臭氧八小时平均 是否超标") + @ApiModelProperty(value = "臭氧八小时平均 是否超标") + @TableField(value = "o3_8h_is_over") + private Integer o38hIsOver; + + /** + * 臭氧八小时平均 区间最大值 + */ + @Excel(name = "臭氧八小时平均 区间最大值") + @ApiModelProperty(value = "臭氧八小时平均 区间最大值") + @TableField(value = "o3_8h_max_value") + private BigDecimal o38hMaxValue; + + /** + * 臭氧八小时平均 区间最小值 + */ + @Excel(name = "臭氧八小时平均 区间最小值") + @ApiModelProperty(value = "臭氧八小时平均 区间最小值") + @TableField(value = "o3_8h_min_value") + private BigDecimal o38hMinValue; + + /** + * 温度 + */ + @Excel(name = "温度") + @ApiModelProperty(value = "温度") + private BigDecimal temp; + + /** + * 温度是否超标 + */ + @Excel(name = "温度是否超标") + @ApiModelProperty(value = "温度是否超标") + private Integer tempIsOver; + + /** + * 温度区间最大值 + */ + @Excel(name = "温度区间最大值") + @ApiModelProperty(value = "温度区间最大值") + private BigDecimal tempMaxValue; + + /** + * 温度区间最小值 + */ + @Excel(name = "温度区间最小值") + @ApiModelProperty(value = "温度区间最小值") + private BigDecimal tempMinValue; + + /** + * 湿度 + */ + @Excel(name = "湿度") + @ApiModelProperty(value = "湿度") + private BigDecimal humi; + + /** + * 湿度是否超标 + */ + @Excel(name = "湿度是否超标") + @ApiModelProperty(value = "湿度是否超标") + private Integer humiIsOver; + + /** + * 湿度区间最大值 + */ + @Excel(name = "湿度区间最大值") + @ApiModelProperty(value = "湿度区间最大值") + private BigDecimal humiMaxValue; + + /** + * 湿度区间最小值 + */ + @Excel(name = "湿度区间最小值") + @ApiModelProperty(value = "湿度区间最小值") + private BigDecimal humiMinValue; + + /** + * 风速 + */ + @Excel(name = "风速") + @ApiModelProperty(value = "风速") + private BigDecimal winds; + + /** + * 风速是否超标 + */ + @Excel(name = "风速是否超标") + @ApiModelProperty(value = "风速是否超标") + private Integer windsIsOver; + + /** + * 风速区间最大值 + */ + @Excel(name = "风速区间最大值") + @ApiModelProperty(value = "风速区间最大值") + private BigDecimal windsMaxValue; + + /** + * 风速区间最小值 + */ + @Excel(name = "风速区间最小值") + @ApiModelProperty(value = "风速区间最小值") + private BigDecimal windsMinValue; + + /** + * 风向 + */ + @Excel(name = "风向") + @ApiModelProperty(value = "风向") + private BigDecimal windd; + + /** + * 风力 + */ + @Excel(name = "风力") + @ApiModelProperty(value = "风力") + private String windLevel; + + /** + * 气压 + */ + @Excel(name = "气压") + @ApiModelProperty(value = "气压") + private BigDecimal pres; + + /** + * 气压区间最大值 + */ + @Excel(name = "气压区间最大值") + @ApiModelProperty(value = "气压区间最大值") + private Integer presIsOver; + + /** + * 气压区间最小值 + */ + @Excel(name = "气压区间最小值") + @ApiModelProperty(value = "气压区间最小值") + private BigDecimal presMaxValue; + + /** + * 行政区域编号 + */ + @Excel(name = "行政区域编号") + @ApiModelProperty(value = "行政区域编号") + private BigDecimal presMinValue; + + /** + * 二氧化硫分指数 + */ + @Excel(name = "二氧化硫分指数") + @ApiModelProperty(value = "二氧化硫分指数") + private BigDecimal iaqiSo2; + + /** + * 二氧化硫综合指数 + */ + @Excel(name = "二氧化硫综合指数") + @ApiModelProperty(value = "二氧化硫综合指数") + private BigDecimal ipmiSo2; + + /** + * 二氧化氮分指数 + */ + @Excel(name = "二氧化氮分指数") + @ApiModelProperty(value = "二氧化氮分指数") + private BigDecimal iaqiNo2; + + /** + * 二氧化氮综合指数 + */ + @Excel(name = "二氧化氮综合指数") + @ApiModelProperty(value = "二氧化氮综合指数") + private BigDecimal ipmiNo2; + + /** + * PM10分指数 + */ + @Excel(name = "PM10分指数") + @ApiModelProperty(value = "PM10分指数") + private BigDecimal iaqiPm10; + + /** + * PM10综合指数 + */ + @Excel(name = "PM10综合指数") + @ApiModelProperty(value = "PM10综合指数") + private BigDecimal ipmiPm10; + + /** + * 一氧化碳分指数 + */ + @Excel(name = "一氧化碳分指数") + @ApiModelProperty(value = "一氧化碳分指数") + private BigDecimal iaqiCo; + + /** + * 一氧化碳综合指数 + */ + @Excel(name = "一氧化碳综合指数") + @ApiModelProperty(value = "一氧化碳综合指数") + private BigDecimal ipmiCo; + + /** + * 臭氧分指数 + */ + @Excel(name = "臭氧分指数") + @ApiModelProperty(value = "臭氧分指数") + private BigDecimal iaqiO3; + + /** + * 臭氧综合指数 + */ + @Excel(name = "臭氧综合指数") + @ApiModelProperty(value = "臭氧综合指数") + private BigDecimal ipmiO3; + + /** + * PM2.5分指数 + */ + @Excel(name = "PM2.5分指数") + @ApiModelProperty(value = "PM2.5分指数") + private BigDecimal iaqiPm25; + + /** + * PM2.5综合指数 + */ + @Excel(name = "PM2.5综合指数") + @ApiModelProperty(value = "PM2.5综合指数") + private BigDecimal ipmiPm25; + + /** + * 臭氧八小时平均 分指数 + */ + @Excel(name = "臭氧八小时平均 分指数") + @ApiModelProperty(value = "臭氧八小时平均 分指数") + @TableField(value = "iaqi_o3_8h") + private BigDecimal iaqiO38h; + + /** + * 臭氧八小时平均 综合指数 + */ + @Excel(name = "臭氧八小时平均 综合指数") + @ApiModelProperty(value = "臭氧八小时平均 综合指数") + @TableField(value = "ipmi_o3_8h") + private BigDecimal ipmiO38h; + + /** + * 总悬浮颗粒物 + */ + @Excel(name = "总悬浮颗粒物") + @ApiModelProperty(value = "总悬浮颗粒物") + private BigDecimal tsp; + + /** + * 氮氧化物 + */ + @Excel(name = "氮氧化物") + @ApiModelProperty(value = "氮氧化物") + private BigDecimal nox; + + /** + * TVOC + */ + @Excel(name = "TVOC") + @ApiModelProperty(value = "TVOC") + private BigDecimal tvoc; + + + /** + * 首要污染物(首要污染物可能是多个) + */ + @Excel(name = "首要污染物(首要污染物可能是多个)") + @ApiModelProperty(value = "首要污染物(首要污染物可能是多个)") + private String fkPollutantId; + + private Date createTime; + + private Date updateTime; + + /** + * $column.columnComment + */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value = "$column.columnComment") + private String cdResourceUrl; + + /** + * $column.columnComment + */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value = "$column.columnComment") + private String cdResourceName; + + /** + * $column.columnComment + */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value = "$column.columnComment") + private String cdResourceType; + + /** + * $column.columnComment + */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value = "$column.columnComment") + private String cdResourceLevel; + + /** + * $column.columnComment + */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value = "$column.columnComment") + private String cdResourceRegionLevel; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationMinute.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationMinute.java new file mode 100644 index 0000000..05060c2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasStationMinute.java @@ -0,0 +1,331 @@ +//package cn.cecep.talroad.domain; +// +//import io.swagger.annotations.ApiModelProperty; +//import lombok.AllArgsConstructor; +//import lombok.Data; +//import lombok.NoArgsConstructor; +//import org.springframework.data.annotation.Id; +// +// +//import java.io.Serializable; +//import java.math.BigDecimal; +// +///** +// ** 站点小时数据表 +// */ +//@Data +//@NoArgsConstructor +//@AllArgsConstructor +//@Document(indexName = "q_envgas_station_minute", shards = 3, replicas = 1) +//public class QEnvgasStationMinute implements Serializable { +// +// @Id +// @Field(type = FieldType.Keyword) +// private String id; +// +// @ApiModelProperty(value = "数据时间") +// @Field(type = FieldType.Keyword) +// private String data_time; +// +// @ApiModelProperty(value = "站点编号") +// @Field(type = FieldType.Keyword) +// private String station_code; +// +// @ApiModelProperty(value = "AQI") +// @Field(type = FieldType.Integer) +// private Integer aqi; +// +// @ApiModelProperty(value = "综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal pmi; +// +// @ApiModelProperty(value = "区间最大综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal max_ipmi; +// +// @ApiModelProperty(value = "首要污染物") +// @Field(type = FieldType.Double) +// private String fk_pollutant_id; +// +// @ApiModelProperty(value = "空气质量级别") +// @Field(type = FieldType.Double) +// private Integer fk_aqilevel_id; +// +// @ApiModelProperty(value = "臭氧综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_o3; +// +// @ApiModelProperty(value = "总悬浮颗粒物") +// @Field(type = FieldType.Double) +// private BigDecimal tsp; +// +// @ApiModelProperty(value = "氮氧化物") +// @Field(type = FieldType.Double) +// private BigDecimal nox; +// +// @ApiModelProperty(value = "TVOC") +// @Field(type = FieldType.Double) +// private BigDecimal tvoc; +// +// @ApiModelProperty(value = "二氧化硫") +// @Field(type = FieldType.Double) +// private BigDecimal so2; +// +// @ApiModelProperty(value = "二氧化氮") +// @Field(type = FieldType.Double) +// private BigDecimal no2; +// +// @ApiModelProperty(value = "PM10") +// @Field(type = FieldType.Double) +// private BigDecimal pm10; +// +// @ApiModelProperty(value = "PM2.5") +// @Field(type = FieldType.Double) +// private BigDecimal pm25; +// +// @ApiModelProperty(value = "一氧化碳") +// @Field(type = FieldType.Double) +// private BigDecimal co; +// +// @ApiModelProperty(value = "臭氧") +// @Field(type = FieldType.Double) +// private BigDecimal o3; +// +// @ApiModelProperty(value = "温度") +// @Field(type = FieldType.Double) +// private BigDecimal temp; +// +// @ApiModelProperty(value = "湿度") +// @Field(type = FieldType.Double) +// private BigDecimal humi; +// +// @ApiModelProperty(value = "风速") +// @Field(type = FieldType.Double) +// private BigDecimal winds; +// +// @ApiModelProperty(value = "风向") +// @Field(type = FieldType.Double) +// private BigDecimal windd; +// +// @ApiModelProperty(value = "气压") +// @Field(type = FieldType.Double) +// private BigDecimal pres; +// +// @ApiModelProperty(value = "一氧化氮") +// @Field(type = FieldType.Double) +// private BigDecimal no; +// +// @ApiModelProperty(value = "能见度") +// @Field(type = FieldType.Double) +// private BigDecimal vis; +// +// @ApiModelProperty(value = "降水强度") +// @Field(type = FieldType.Double) +// private BigDecimal pi; +// +// @ApiModelProperty(value = "风力级别") +// @Field(type = FieldType.Double) +// private String wind_level; +// +// @ApiModelProperty(value = "风向") +// @Field(type = FieldType.Double) +// private String wind_direction; +// +// @ApiModelProperty(value = "二氧化硫分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_so2; +// +// @ApiModelProperty(value = "二氧化硫综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_so2; +// +// @ApiModelProperty(value = "二氧化氮分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_no2; +// +// @ApiModelProperty(value = "二氧化氮综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_no2; +// +// @ApiModelProperty(value = "PM10分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_pm10; +// +// @ApiModelProperty(value = "PM10综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_pm10; +// +// @ApiModelProperty(value = "一氧化碳分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_co; +// +// @ApiModelProperty(value = "一氧化碳综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_co; +// +// @ApiModelProperty(value = "臭氧分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_o3; +// +// @ApiModelProperty(value = "PM2.5分指数") +// @Field(type = FieldType.Double) +// private Integer iaqi_pm25; +// +// @ApiModelProperty(value = "PM2.5综合指数") +// @Field(type = FieldType.Double) +// private BigDecimal ipmi_pm25; +// +// @ApiModelProperty(value = "二氧化硫是否超标") +// @Field(type = FieldType.Integer) +// private Integer so2_is_over; +// +// @ApiModelProperty(value = "二氧化硫区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal so2_max_value; +// +// @ApiModelProperty(value = "二氧化硫区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal so2_min_value; +// +// @ApiModelProperty(value = "二氧化氮是否超标") +// @Field(type = FieldType.Integer) +// private Integer no2_is_over; +// +// @ApiModelProperty(value = "二氧化氮区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal no2_max_value; +// +// @ApiModelProperty(value = "二氧化氮区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal no2_min_value; +// +// @ApiModelProperty(value = "PM10是否超标") +// @Field(type = FieldType.Integer) +// private Integer pm10_is_over; +// +// @ApiModelProperty(value = "PM10区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal pm10_max_value; +// +// @ApiModelProperty(value = "PM10区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal pm10_min_value; +// +// @ApiModelProperty(value = "PM2.5是否超标") +// @Field(type = FieldType.Integer) +// private Integer pm25_is_over; +// +// @ApiModelProperty(value = "PM2.5区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal pm25_max_value; +// +// @ApiModelProperty(value = "PM2.5区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal pm25_min_value; +// +// @ApiModelProperty(value = "一氧化碳是否超标") +// @Field(type = FieldType.Integer) +// private Integer co_is_over; +// +// @ApiModelProperty(value = "一氧化碳区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal co_max_value; +// +// @ApiModelProperty(value = "一氧化碳区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal co_min_value; +// +// @ApiModelProperty(value = "臭氧是否超标") +// @Field(type = FieldType.Integer) +// private Integer o3_is_over; +// +// @ApiModelProperty(value = "臭氧区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal o3_max_value; +// +// @ApiModelProperty(value = "臭氧区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal o3_min_value; +// +// @ApiModelProperty(value = "温度是否超标") +// @Field(type = FieldType.Integer) +// private Integer temp_is_over; +// +// @ApiModelProperty(value = "温度区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal temp_max_value; +// +// @ApiModelProperty(value = "温度区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal temp_min_value; +// +// @ApiModelProperty(value = "湿度是否超标") +// @Field(type = FieldType.Integer) +// private Integer humi_is_over; +// +// @ApiModelProperty(value = "湿度区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal humi_max_value; +// +// @ApiModelProperty(value = "湿度区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal humi_min_value; +// +// @ApiModelProperty(value = "风速是否超标") +// @Field(type = FieldType.Integer) +// private Integer winds_is_over; +// +// @ApiModelProperty(value = "风速区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal winds_max_value; +// +// @ApiModelProperty(value = "风速区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal winds_min_value; +// +// @ApiModelProperty(value = "气压是否超标") +// @Field(type = FieldType.Integer) +// private Integer pres_is_over; +// +// @ApiModelProperty(value = "气压区间最大值") +// @Field(type = FieldType.Double) +// private BigDecimal pres_max_value; +// +// @ApiModelProperty(value = "气压区间最小值") +// @Field(type = FieldType.Double) +// private BigDecimal pres_min_value; +// +// @ApiModelProperty(value = "创建时间") +// @Field(type = FieldType.Keyword) +// private String create_time; +// +// @ApiModelProperty(value = "更新时间") +// @Field(type = FieldType.Keyword) +// private String updateTime; +// +// +// @ApiModelProperty(value = "Url") +// @Field(type = FieldType.Keyword) +// private String cd_resource_url; +// +// +// @ApiModelProperty(value = "名称") +// @Field(type = FieldType.Keyword) +// private String cd_resource_name; +// +// +// @ApiModelProperty(value = "类型") +// @Field(type = FieldType.Keyword) +// private String cd_resource_type; +// +// +// @ApiModelProperty(value = "等级") +// @Field(type = FieldType.Keyword) +// private String cd_resource_level; +// +// +// @ApiModelProperty(value = "区域等级") +// @Field(type = FieldType.Keyword) +// private String cd_resource_region_level; +// +//} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasWqDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasWqDay.java new file mode 100644 index 0000000..685a983 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/QEnvgasWqDay.java @@ -0,0 +1,321 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 区域日数据表 + * + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("q_envgas_wq_day") +@ApiModel(value="QEnvgasWqDay对象", description="区域日数据表") +public class QEnvgasWqDay implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id") + private String id; + + @ApiModelProperty(value = "数据时间") + @TableField("data_time") + private Date dataTime; + + @ApiModelProperty(value = "行政区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "总悬浮颗粒物") + @TableField("tsp") + private BigDecimal tsp; + + @ApiModelProperty(value = "氮氧化物") + @TableField("nox") + private BigDecimal nox; + + @ApiModelProperty(value = "TVOC") + @TableField("tvoc") + private BigDecimal tvoc; + + @ApiModelProperty(value = "综合指数") + @TableField("pmi") + private BigDecimal pmi; + + @ApiModelProperty(value = "AQI") + @TableField("aqi") + private BigDecimal aqi; + /** + * 首要污染物可能是多个,改为String类型 + */ + @ApiModelProperty(value = "首要污染物") + @TableField("fk_pollutant_id") + private String fkPollutantId; + + @ApiModelProperty(value = "区间最大综合指数") + @TableField("max_ipmi") + private BigDecimal maxIpmi; + + @ApiModelProperty(value = "空气质量级别") + @TableField("fk_aqilevel_id") + private Integer fkAqilevelId; + + @ApiModelProperty(value = "二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化硫是否超标") + @TableField("so2_is_over") + private Integer so2IsOver; + + @ApiModelProperty(value = "二氧化硫区间最大值") + @TableField("so2_max_value") + private BigDecimal so2MaxValue; + + @ApiModelProperty(value = "二氧化硫区间最小值") + @TableField("so2_min_value") + private BigDecimal so2MinValue; + + @ApiModelProperty(value = "二氧化硫分指数") + @TableField("iaqi_so2") + private BigDecimal iaqiSo2; + + @ApiModelProperty(value = "二氧化硫综合指数") + @TableField("ipmi_so2") + private BigDecimal ipmiSo2; + + @ApiModelProperty(value = "二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = "二氧化氮是否超标") + @TableField("no2_is_over") + private Integer no2IsOver; + + @ApiModelProperty(value = "二氧化氮区间最大值") + @TableField("no2_max_value") + private BigDecimal no2MaxValue; + + @ApiModelProperty(value = "二氧化氮区间最小值") + @TableField("no2_min_value") + private BigDecimal no2MinValue; + + @ApiModelProperty(value = "二氧化氮分指数") + @TableField("iaqi_no2") + private BigDecimal iaqiNo2; + + @ApiModelProperty(value = "二氧化氮综合指数") + @TableField("ipmi_no2") + private BigDecimal ipmiNo2; + + @ApiModelProperty(value = "PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM10是否超标") + @TableField("pm10_is_over") + private Integer pm10IsOver; + + @ApiModelProperty(value = "PM10区间最大值") + @TableField("pm10_max_value") + private BigDecimal pm10MaxValue; + + @ApiModelProperty(value = "PM10区间最小值") + @TableField("pm10_min_value") + private BigDecimal pm10MinValue; + + @ApiModelProperty(value = "PM10分指数") + @TableField("iaqi_pm10") + private BigDecimal iaqiPm10; + + @ApiModelProperty(value = "PM10综合指数") + @TableField("ipmi_pm10") + private BigDecimal ipmiPm10; + + @ApiModelProperty(value = "PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = "PM2.5是否超标") + @TableField("pm25_is_over") + private Integer pm25IsOver; + + @ApiModelProperty(value = "PM2.5区间最大值") + @TableField("pm25_max_value") + private BigDecimal pm25MaxValue; + + @ApiModelProperty(value = "PM2.5区间最小值") + @TableField("pm25_min_value") + private BigDecimal pm25MinValue; + + @ApiModelProperty(value = "PM2.5分指数") + @TableField("iaqi_pm25") + private BigDecimal iaqiPm25; + + @ApiModelProperty(value = "PM2.5综合指数") + @TableField("ipmi_pm25") + private BigDecimal ipmiPm25; + + @ApiModelProperty(value = "一氧化碳") + @TableField("co") + private BigDecimal co; + + @ApiModelProperty(value = "一氧化碳是否超标") + @TableField("co_is_over") + private Integer coIsOver; + + @ApiModelProperty(value = "一氧化碳区间最大值") + @TableField("co_max_value") + private BigDecimal coMaxValue; + + @ApiModelProperty(value = "一氧化碳区间最小值") + @TableField("co_min_value") + private BigDecimal coMinValue; + + @ApiModelProperty(value = "一氧化碳分指数") + @TableField("iaqi_co") + private BigDecimal iaqiCo; + + @ApiModelProperty(value = "一氧化碳综合指数") + @TableField("ipmi_co") + private BigDecimal ipmiCo; + + @ApiModelProperty(value = "臭氧") + @TableField("o3") + private BigDecimal o3; + + @ApiModelProperty(value = "臭氧是否超标") + @TableField("o3_is_over") + private Integer o3IsOver; + + @ApiModelProperty(value = "臭氧区间最大值") + @TableField("o3_max_value") + private BigDecimal o3MaxValue; + + @ApiModelProperty(value = "臭氧区间最小值") + @TableField("o3_min_value") + private BigDecimal o3MinValue; + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + + @ApiModelProperty(value = "臭氧八小时平均 是否超标") + @TableField("o3_8h_is_over") + private Integer o38hIsOver; + + @ApiModelProperty(value = "臭氧八小时平均 区间最大值") + @TableField("o3_8h_max_value") + private BigDecimal o38hMaxValue; + + @ApiModelProperty(value = "臭氧八小时平均 区间最小值") + @TableField("o3_8h_min_value") + private BigDecimal o38hMinValue; + + @ApiModelProperty(value = "臭氧分指数") + @TableField("iaqi_o3") + private BigDecimal iaqiO3; + + @ApiModelProperty(value = "臭氧综合指数") + @TableField("ipmi_o3") + private BigDecimal ipmiO3; + + @ApiModelProperty(value = "臭氧八小时平均 分指数") + @TableField("iaqi_o3_8h") + private BigDecimal iaqiO38h; + + @ApiModelProperty(value = "臭氧八小时平均 综合指数") + @TableField("ipmi_o3_8h") + private BigDecimal ipmiO38h; + + @ApiModelProperty(value = "温度") + @TableField("temp") + private BigDecimal temp; + + @ApiModelProperty(value = "温度区间最大值") + @TableField("temp_max_value") + private BigDecimal tempMaxValue; + + @ApiModelProperty(value = "温度区间最小值") + @TableField("temp_min_value") + private BigDecimal tempMinValue; + + @ApiModelProperty(value = "湿度") + @TableField("humi") + private BigDecimal humi; + + @ApiModelProperty(value = "湿度区间最大值") + @TableField("humi_max_value") + private BigDecimal humiMaxValue; + + @ApiModelProperty(value = "湿度区间最小值") + @TableField("humi_min_value") + private BigDecimal humiMinValue; + + @ApiModelProperty(value = "风速") + @TableField("winds") + private BigDecimal winds; + + @ApiModelProperty(value = "风速区间最大值") + @TableField("winds_max_value") + private BigDecimal windsMaxValue; + + @ApiModelProperty(value = "风速区间最小值") + @TableField("winds_min_value") + private BigDecimal windsMinValue; + + @ApiModelProperty(value = "风向") + @TableField("windd") + private BigDecimal windd; + + @ApiModelProperty(value = "风向区间最大值") + @TableField("windd_max_value") + private BigDecimal winddMaxValue; + + @ApiModelProperty(value = "风向区间最小值") + @TableField("windd_min_value") + private BigDecimal winddMinValue; + + @ApiModelProperty(value = "气压") + @TableField("pres") + private BigDecimal pres; + + @ApiModelProperty(value = "气压区间最大值") + @TableField("pres_max_value") + private BigDecimal presMaxValue; + + @ApiModelProperty(value = "气压区间最小值") + @TableField("pres_min_value") + private BigDecimal presMinValue; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "风力级别") + @TableField("pres_min_value") + private BigDecimal wind_level; + + @ApiModelProperty(value = "降水") + @TableField("rain") + private String rain; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonDay.java new file mode 100644 index 0000000..77c16af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonDay.java @@ -0,0 +1,314 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + */ +@ApiModel(value = "废气监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_mon_day") +public class SEnvGasMonDay extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String so2; + + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "二氧化硫折算") + private String so2Convert; + + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "二氧化硫排放量") + private String so2Emission; + + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "氮氧化物") + private String nox; + + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "氮氧化物折算") + private String noxConvert; + + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "氮氧化物排放量") + private String noxEmission; + + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + @Excel(name = "一氧化氮") + private String no; + + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + @Excel(name = "一氧化氮折算") + private String noConvert; + + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + @Excel(name = "一氧化氮排放量") + private String noEmission; + + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + @Excel(name = "二氧化氮") + private String no2; + + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + @Excel(name = "二氧化氮折算") + private String no2Convert; + + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + @Excel(name = "二氧化氮排放量") + private String no2Emission; + + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + @Excel(name = "烟尘") + private String smokeDust; + + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + @Excel(name = "烟尘折算") + private String smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测") + private String pm; + + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算") + private String pmConvert; + + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量") + private String pmEmission; + + + @ApiModelProperty(value = "vocs实测") + /** vocs实测 */ + @Excel(name = "vocs实测") + private String vocs; + + + @ApiModelProperty(value = "vocs折算") + /** vocs折算 */ + @Excel(name = "vocs折算") + private String vocsConvert; + + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "vocs排放量") + private String vocsEmission; + + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量") + private String o3; + + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气") + private String oxygen; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度") + private String smokeDustTem; + + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力") + private String smokeDustPressure; + + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速") + private String smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度") + private String smokeDustHumidity; + + private Date dateTime; + + private String oxygenConvert; + private String oxygenEmission; + + private String nmhc; + private String nmhcConvert; + private String nmhcEmission; + + private String so2Flag; + private String noxFlag; + private String noFlag; + private String no2Flag; + private String smokeDustFlag; + private String pmFlag; + private String vocsFlag; + private String o3Flag; + private String oxygenFlag; + private String smokeDustTemFlag; + private String smokeDustPressureFlag; + private String smokeDustFlowVelocityFlag; + private String smokeDustHumidityFlag; + private String nmhcFlag; + private String dataFlag; + + private String so2CorrectEmission; + + private String noxCorrectEmission; + + private String vocsCorrectEmission; + + private String smokeDustCorrectEmission; + + /** + * dataFlag属性值枚举 + */ + public enum DataFlagEnum { + SD("停炉过程"), + SCGZ("生产设施故障"), + GFBJ("国发非正常工况标记"), + ST("启炉过程"), + B("焖炉"), + FA("停运"); + + public final String label; + + DataFlagEnum(String label) { + this.label = label; + } + public static DataFlagEnum getByEnumName(String name) { + for (DataFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } + + /** + * 参数标记值枚举 + */ + public enum ParamFlagEnum { + N("正常", false), + S("设定值", false), + P("电源故障", true), + MD("无数据", true), + M("维护", true), + F("排放源停运", true), + D("故障", true), + C("校准", true), + K("质控样比对", true), + VGD("数采仪通讯异常", true), + TD("温度传感器故障", true), + ; + + public final String label; + public final boolean show; // 问题详情是否展示 + + ParamFlagEnum(String label, boolean show) { + this.label = label; + this.show = show; + } + public static ParamFlagEnum getByEnumName(String name) { + if (name == null || name.length() == 0) { + return null; + } + name = name.trim(); + for (ParamFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonHour.java new file mode 100644 index 0000000..17a20f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonHour.java @@ -0,0 +1,314 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + */ +@ApiModel(value = "废气监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_mon_hour") +public class SEnvGasMonHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String so2; + + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "二氧化硫折算") + private String so2Convert; + + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "二氧化硫排放量") + private String so2Emission; + + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "氮氧化物") + private String nox; + + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "氮氧化物折算") + private String noxConvert; + + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "氮氧化物排放量") + private String noxEmission; + + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + @Excel(name = "一氧化氮") + private String no; + + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + @Excel(name = "一氧化氮折算") + private String noConvert; + + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + @Excel(name = "一氧化氮排放量") + private String noEmission; + + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + @Excel(name = "二氧化氮") + private String no2; + + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + @Excel(name = "二氧化氮折算") + private String no2Convert; + + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + @Excel(name = "二氧化氮排放量") + private String no2Emission; + + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + @Excel(name = "烟尘") + private String smokeDust; + + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + @Excel(name = "烟尘折算") + private String smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测") + private String pm; + + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算") + private String pmConvert; + + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量") + private String pmEmission; + + + @ApiModelProperty(value = "vocs实测") + /** vocs实测 */ + @Excel(name = "vocs实测") + private String vocs; + + + @ApiModelProperty(value = "vocs折算") + /** vocs折算 */ + @Excel(name = "vocs折算") + private String vocsConvert; + + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "vocs排放量") + private String vocsEmission; + + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量") + private String o3; + + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气") + private String oxygen; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度") + private String smokeDustTem; + + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力") + private String smokeDustPressure; + + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速") + private String smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度") + private String smokeDustHumidity; + + private Date dateTime; + + private String oxygenConvert; + private String oxygenEmission; + + private String nmhc; + private String nmhcConvert; + private String nmhcEmission; + + private String so2Flag; + private String noxFlag; + private String noFlag; + private String no2Flag; + private String smokeDustFlag; + private String pmFlag; + private String vocsFlag; + private String o3Flag; + private String oxygenFlag; + private String smokeDustTemFlag; + private String smokeDustPressureFlag; + private String smokeDustFlowVelocityFlag; + private String smokeDustHumidityFlag; + private String nmhcFlag; + private String dataFlag; + + private String so2CorrectEmission; + + private String noxCorrectEmission; + + private String vocsCorrectEmission; + + private String smokeDustCorrectEmission; + + /** + * dataFlag属性值枚举 + */ + public enum DataFlagEnum { + SD("停炉过程"), + SCGZ("生产设施故障"), + GFBJ("国发非正常工况标记"), + ST("启炉过程"), + B("焖炉"), + FA("停运"); + + public final String label; + + DataFlagEnum(String label) { + this.label = label; + } + public static DataFlagEnum getByEnumName(String name) { + for (DataFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } + + /** + * 参数标记值枚举 + */ + public enum ParamFlagEnum { + N("正常", false), + S("设定值", false), + P("电源故障", true), + MD("无数据", true), + M("维护", true), + F("排放源停运", true), + D("故障", true), + C("校准", true), + K("质控样比对", true), + VGD("数采仪通讯异常", true), + TD("温度传感器故障", true), + ; + + public final String label; + public final boolean show; // 问题详情是否展示 + + ParamFlagEnum(String label, boolean show) { + this.label = label; + this.show = show; + } + public static ParamFlagEnum getByEnumName(String name) { + if (name == null || name.length() == 0) { + return null; + } + name = name.trim(); + for (ParamFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonReal.java new file mode 100644 index 0000000..597e00b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasMonReal.java @@ -0,0 +1,317 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang.StringUtils; + +import java.util.Arrays; +import java.util.Date; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + */ +@ApiModel(value = "废气监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_mon_real") +public class SEnvGasMonReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String so2; + + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "二氧化硫折算") + private String so2Convert; + + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "二氧化硫排放量") + private String so2Emission; + + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "氮氧化物") + private String nox; + + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "氮氧化物折算") + private String noxConvert; + + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "氮氧化物排放量") + private String noxEmission; + + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + @Excel(name = "一氧化氮") + private String no; + + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + @Excel(name = "一氧化氮折算") + private String noConvert; + + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + @Excel(name = "一氧化氮排放量") + private String noEmission; + + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + @Excel(name = "二氧化氮") + private String no2; + + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + @Excel(name = "二氧化氮折算") + private String no2Convert; + + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + @Excel(name = "二氧化氮排放量") + private String no2Emission; + + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + @Excel(name = "烟尘") + private String smokeDust; + + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + @Excel(name = "烟尘折算") + private String smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测") + private String pm; + + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算") + private String pmConvert; + + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量") + private String pmEmission; + + + @ApiModelProperty(value = "vocs实测") + /** vocs实测 */ + @Excel(name = "vocs实测") + private String vocs; + + + @ApiModelProperty(value = "vocs折算") + /** vocs折算 */ + @Excel(name = "vocs折算") + private String vocsConvert; + + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "vocs排放量") + private String vocsEmission; + + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量") + private String o3; + + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气") + private String oxygen; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度") + private String smokeDustTem; + + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力") + private String smokeDustPressure; + + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速") + private String smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度") + private String smokeDustHumidity; + + private Date dateTime; + + private String oxygenConvert; + private String oxygenEmission; + + private String nmhc; + private String nmhcConvert; + private String nmhcEmission; + + private String so2Flag; + private String noxFlag; + private String noFlag; + private String no2Flag; + private String smokeDustFlag; + private String pmFlag; + private String vocsFlag; + private String o3Flag; + private String oxygenFlag; + private String smokeDustTemFlag; + private String smokeDustPressureFlag; + private String smokeDustFlowVelocityFlag; + private String smokeDustHumidityFlag; + private String nmhcFlag; + private String dataFlag; + + private String so2CorrectEmission; + + private String noxCorrectEmission; + + private String vocsCorrectEmission; + + private String smokeDustCorrectEmission; + + /** + * dataFlag属性值枚举 + */ + public enum DataFlagEnum { + SD("停炉过程"), + SCGZ("生产设施故障"), + GFBJ("国发非正常工况标记"), + ST("启炉过程"), + B("焖炉"), + FA("停运"); + + public final String label; + + DataFlagEnum(String label) { + this.label = label; + } + public static DataFlagEnum getByEnumName(String name) { + for (DataFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } + + /** + * 参数标记值枚举 + */ + public enum ParamFlagEnum { + N("正常", false), + S("设定值", false), + P("电源故障", true), + MD("无数据", true), + M("维护", true), + F("排放源停运", true), + D("故障", true), + C("校准", true), + K("质控样比对", true), + VGD("数采仪通讯异常", true), + TD("温度传感器故障", true), + ; + + public final String label; + public final boolean show; // 问题详情是否展示 + + ParamFlagEnum(String label, boolean show) { + this.label = label; + this.show = show; + } + public static ParamFlagEnum getByEnumName(String name) { + if (name == null || name.length() == 0) { + return null; + } + name = name.trim(); + for (ParamFlagEnum value : values()) { + if (value.name().equals(name)) { + return value; + } + } + return null; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasReal.java new file mode 100644 index 0000000..c2d9a08 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasReal.java @@ -0,0 +1,169 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 无组织监控数据对象 s_env_gas_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "无组织监控数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_real") +public class SEnvGasReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称*/ + @Excel(name = "监测点位名称") + private String stationName; + + @ApiModelProperty(value = "数据类型") + /** 数据类型*/ + @Excel(name = "数据类型", readConverterExp = "D=天,M=分钟,H=小时") + private String dataType; + + + @ApiModelProperty(value = "对应许可证无组织监测点位名称") + /** 对应许可证无组织监测点位名称*/ + @Excel(name = "对应许可证无组织监测点位名称") + private String licenceStationName; + + + @ApiModelProperty(value = "日期") + /** 日期*/ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "PM10") + /** PM10*/ + @Excel(name = "PM10") + private String pm10; + + + @ApiModelProperty(value = "PM2.5") + /** PM2.5*/ + @Excel(name = "PM2.5") + private String pm25; + + + @ApiModelProperty(value = "TSP") + /** TSP*/ + @Excel(name = "TSP") + private String tsp; + + + @ApiModelProperty(value = "NMHC") + /** NMHC*/ + @Excel(name = "NMHC") + private String nmhc; + + + @ApiModelProperty(value = "甲烷") + /** 甲烷*/ + @Excel(name = "甲烷") + private String ch4; + + + @ApiModelProperty(value = "总烃") + /** 总烃*/ + @Excel(name = "总烃") + private String hydrocarbon; + + + @ApiModelProperty(value = "苯") + /** 苯*/ + @Excel(name = "苯") + private String benzene; + + + @ApiModelProperty(value = "甲苯") + /** 甲苯*/ + @Excel(name = "甲苯") + private String methylbenzene; + + + @ApiModelProperty(value = "温度") + /** 温度*/ + @Excel(name = "温度") + private String temperature; + + + @ApiModelProperty(value = "湿度") + /** 湿度*/ + @Excel(name = "湿度") + private String humidity; + + + @ApiModelProperty(value = "风向") + /** 风向*/ + @Excel(name = "风向") + private String windDirection; + + + @ApiModelProperty(value = "风速") + /** 风速*/ + @Excel(name = "风速") + private String windSpeed; + + + @ApiModelProperty(value = "大气压") + /** 大气压*/ + @Excel(name = "大气压") + private String barometricPressure; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("outletId", getOutletId()) + .append("stationName", getStationName()) + .append("dataType", getDataType()) + .append("licenceStationName", getLicenceStationName()) + .append("monitoringTime", getMonitoringTime()) + .append("pm10", getPm10()) + .append("pm25", getPm25()) + .append("tsp", getTsp()) + .append("nmhc", getNmhc()) + .append("ch4", getCh4()) + .append("hydrocarbon", getHydrocarbon()) + .append("benzene", getBenzene()) + .append("methylbenzene", getMethylbenzene()) + .append("temperature", getTemperature()) + .append("humidity", getHumidity()) + .append("windDirection", getWindDirection()) + .append("windSpeed", getWindSpeed()) + .append("barometricPressure", getBarometricPressure()) + .append("factoryId", getFactoryId()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasSelfDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasSelfDay.java new file mode 100644 index 0000000..7d3f3f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvGasSelfDay.java @@ -0,0 +1,439 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 多源排放量汇总分析-废气-手工监测数据对象 s_env_gas_self_day + * + * @author szhpt + * @date 2023-07-26 + */ +@ApiModel(value = "多源排放量汇总分析-废气-手工监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_self_day") +public class SEnvGasSelfDay extends BaseEntity { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + /** 数据类型(日:D;小时:H;分钟:M) */ + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + private String monitoringTime; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private String so2; + + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "二氧化硫折算") + private String so2Convert; + + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "二氧化硫排放量") + private String so2Emission; + + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "氮氧化物") + private String nox; + + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "氮氧化物折算") + private String noxConvert; + + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "氮氧化物排放量") + private String noxEmission; + + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + @Excel(name = "一氧化氮") + private String no; + + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + @Excel(name = "一氧化氮折算") + private String noConvert; + + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + @Excel(name = "一氧化氮排放量") + private String noEmission; + + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + @Excel(name = "二氧化氮") + private String no2; + + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + @Excel(name = "二氧化氮折算") + private String no2Convert; + + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + @Excel(name = "二氧化氮排放量") + private String no2Emission; + + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + @Excel(name = "烟尘") + private String smokeDust; + + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + @Excel(name = "烟尘折算") + private String smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测") + private String pm; + + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算") + private String pmConvert; + + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量") + private String pmEmission; + + + @ApiModelProperty(value = "voc实测") + /** voc实测 */ + @Excel(name = "voc实测") + private String vocs; + + + @ApiModelProperty(value = "voc折算") + /** voc折算 */ + @Excel(name = "voc折算") + private String vocsConvert; + + + @ApiModelProperty(value = "voc排放量") + /** voc排放量 */ + @Excel(name = "voc排放量") + private String vocsEmission; + + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量") + private String o3; + + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气") + private String oxygen; + + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度") + private String smokeDustTem; + + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力") + private String smokeDustPressure; + + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速") + private String smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度") + private String smokeDustHumidity; + + + @ApiModelProperty(value = "采集时间(时间类型)") + /** 采集时间(时间类型) */ + @Excel(name = "采集时间", readConverterExp = "时=间类型") + private String dateTime; + + + @ApiModelProperty(value = "废气折算") + /** 废气折算 */ + @Excel(name = "废气折算") + private String oxygenConvert; + + + @ApiModelProperty(value = "废气排放量") + /** 废气排放量 */ + @Excel(name = "废气排放量") + private String oxygenEmission; + + + @ApiModelProperty(value = "非甲烷总烃") + /** 非甲烷总烃 */ + @Excel(name = "非甲烷总烃") + private String nmhc; + + + @ApiModelProperty(value = "非甲烷总烃折算") + /** 非甲烷总烃折算 */ + @Excel(name = "非甲烷总烃折算") + private String nmhcConvert; + + + @ApiModelProperty(value = "非甲烷总烃排放量") + /** 非甲烷总烃排放量 */ + @Excel(name = "非甲烷总烃排放量") + private String nmhcEmission; + + + @ApiModelProperty(value = "二氧化硫数据标记") + /** 二氧化硫数据标记 */ + @Excel(name = "二氧化硫数据标记") + private String so2Flag; + + + @ApiModelProperty(value = "氮氧化物数据标记") + /** 氮氧化物数据标记 */ + @Excel(name = "氮氧化物数据标记") + private String noxFlag; + + + @ApiModelProperty(value = "一氧化氮数据标记") + /** 一氧化氮数据标记 */ + @Excel(name = "一氧化氮数据标记") + private String noFlag; + + + @ApiModelProperty(value = "二氧化氮数据标记") + /** 二氧化氮数据标记 */ + @Excel(name = "二氧化氮数据标记") + private String no2Flag; + + + @ApiModelProperty(value = "烟尘数据标记") + /** 烟尘数据标记 */ + @Excel(name = "烟尘数据标记") + private String smokeDustFlag; + + + @ApiModelProperty(value = "颗粒物数据标记") + /** 颗粒物数据标记 */ + @Excel(name = "颗粒物数据标记") + private String pmFlag; + + + @ApiModelProperty(value = "voc数据标记") + /** voc数据标记 */ + @Excel(name = "voc数据标记") + private String vocsFlag; + + + @ApiModelProperty(value = "氧气含量数据标记") + /** 氧气含量数据标记 */ + @Excel(name = "氧气含量数据标记") + private String o3Flag; + + + @ApiModelProperty(value = "废气数据标记") + /** 废气数据标记 */ + @Excel(name = "废气数据标记") + private String oxygenFlag; + + + @ApiModelProperty(value = "烟气温度数据标记") + /** 烟气温度数据标记 */ + @Excel(name = "烟气温度数据标记") + private String smokeDustTemFlag; + + + @ApiModelProperty(value = "烟气压力数据标记") + /** 烟气压力数据标记 */ + @Excel(name = "烟气压力数据标记") + private String smokeDustPressureFlag; + + + @ApiModelProperty(value = "烟气流速数据标记") + /** 烟气流速数据标记 */ + @Excel(name = "烟气流速数据标记") + private String smokeDustFlowVelocityFlag; + + + @ApiModelProperty(value = "烟气湿度数据标记") + /** 烟气湿度数据标记 */ + @Excel(name = "烟气湿度数据标记") + private String smokeDustHumidityFlag; + + + @ApiModelProperty(value = "非甲烷总烃数据标记") + /** 非甲烷总烃数据标记 */ + @Excel(name = "非甲烷总烃数据标记") + private String nmhcFlag; + + + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + /** 数据标记 见字典类型anal_data_flag */ + @Excel(name = "数据标记 见字典类型anal_data_flag") + private String dataFlag; + + + @ApiModelProperty(value = "so2修约排放量") + /** so2修约排放量 */ + @Excel(name = "so2修约排放量") + private String so2CorrectEmission; + + + @ApiModelProperty(value = "nox修约排放量") + /** nox修约排放量 */ + @Excel(name = "nox修约排放量") + private String noxCorrectEmission; + + + @ApiModelProperty(value = "vocs修约排放量 ") + /** vocs修约排放量 */ + @Excel(name = "vocs修约排放量 ") + private String vocsCorrectEmission; + + + @ApiModelProperty(value = "smoke修约排放量") + /** smoke修约排放量 */ + @Excel(name = "smoke修约排放量") + private String smokeDustCorrectEmission; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("dataType", getDataType()) + .append("monitoringTime", getMonitoringTime()) + .append("so2", getSo2()) + .append("so2Convert", getSo2Convert()) + .append("so2Emission", getSo2Emission()) + .append("nox", getNox()) + .append("noxConvert", getNoxConvert()) + .append("noxEmission", getNoxEmission()) + .append("no", getNo()) + .append("noConvert", getNoConvert()) + .append("noEmission", getNoEmission()) + .append("no2", getNo2()) + .append("no2Convert", getNo2Convert()) + .append("no2Emission", getNo2Emission()) + .append("smokeDust", getSmokeDust()) + .append("smokeDustConvert", getSmokeDustConvert()) + .append("smokeDustEmission", getSmokeDustEmission()) + .append("pm", getPm()) + .append("pmConvert", getPmConvert()) + .append("pmEmission", getPmEmission()) + .append("vocs", getVocs()) + .append("vocsConvert", getVocsConvert()) + .append("vocsEmission", getVocsEmission()) + .append("o3", getO3()) + .append("oxygen", getOxygen()) + .append("smokeDustTem", getSmokeDustTem()) + .append("smokeDustPressure", getSmokeDustPressure()) + .append("smokeDustFlowVelocity", getSmokeDustFlowVelocity()) + .append("smokeDustHumidity", getSmokeDustHumidity()) + .append("dateTime", getDateTime()) + .append("oxygenConvert", getOxygenConvert()) + .append("oxygenEmission", getOxygenEmission()) + .append("nmhc", getNmhc()) + .append("nmhcConvert", getNmhcConvert()) + .append("nmhcEmission", getNmhcEmission()) + .append("so2Flag", getSo2Flag()) + .append("noxFlag", getNoxFlag()) + .append("noFlag", getNoFlag()) + .append("no2Flag", getNo2Flag()) + .append("smokeDustFlag", getSmokeDustFlag()) + .append("pmFlag", getPmFlag()) + .append("vocsFlag", getVocsFlag()) + .append("o3Flag", getO3Flag()) + .append("oxygenFlag", getOxygenFlag()) + .append("smokeDustTemFlag", getSmokeDustTemFlag()) + .append("smokeDustPressureFlag", getSmokeDustPressureFlag()) + .append("smokeDustFlowVelocityFlag", getSmokeDustFlowVelocityFlag()) + .append("smokeDustHumidityFlag", getSmokeDustHumidityFlag()) + .append("nmhcFlag", getNmhcFlag()) + .append("dataFlag", getDataFlag()) + .append("so2CorrectEmission", getSo2CorrectEmission()) + .append("noxCorrectEmission", getNoxCorrectEmission()) + .append("vocsCorrectEmission", getVocsCorrectEmission()) + .append("smokeDustCorrectEmission", getSmokeDustCorrectEmission()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonDay.java new file mode 100644 index 0000000..9693b78 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonDay.java @@ -0,0 +1,148 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +/** + * 废水监测天数据对象 s_env_water_mon_day + */ +@ApiModel(value = "废水监测天数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_water_mon_day") +public class SEnvWaterMonDay extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "污水") + /** 污水 */ + @Excel(name = "污水") + private String sewage; + + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + @Excel(name = "污水排放量") + private String sewageEmission; + + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + @Excel(name = "化学需氧量") + private String cod; + + + @ApiModelProperty(value = "cod浓度") + /** cod浓度 */ + @Excel(name = "cod浓度") + private String codConcentration; + + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + @Excel(name = "化学需氧量排放量") + private String codEmission; + + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮") + private String ammoniaNitrogen; + + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + @Excel(name = "氨氮排放量") + private String ammoniaNitrogenEmission; + + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + @Excel(name = "总氮排放量") + private String nitrogenConcentrationEmission; + + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + @Excel(name = "总磷排放量") + private String phosphorusConcentrationEmission; + + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "ph值") + private String phValue; + + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + + private String dateTime; + private String sewageFlag; + private String phValueFlag; + private String codFlag; + private String ammoniaNitrogenFlag; + private String nitrogenConcentrationFlag; + private String phosphorusConcentrationFlag; + private String dataFlag; + + // 修约排放量 + private String codCorrectEmission; + private String ammoniaCorrectEmission; + private String nitrogenCorrectEmission; + private String phosphorusCorrectEmission; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonHour.java new file mode 100644 index 0000000..59ac99c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonHour.java @@ -0,0 +1,149 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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.util.Date; + +/** + * 废水监测数据对象 s_env_water_mon_real + */ +@ApiModel(value = "废水监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_water_mon_hour") +public class SEnvWaterMonHour extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "污水") + /** 污水 */ + @Excel(name = "污水") + private String sewage; + + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + @Excel(name = "污水排放量") + private String sewageEmission; + + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + @Excel(name = "化学需氧量") + private String cod; + + + @ApiModelProperty(value = "cod浓度") + /** cod浓度 */ + @Excel(name = "cod浓度") + private String codConcentration; + + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + @Excel(name = "化学需氧量排放量") + private String codEmission; + + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮") + private String ammoniaNitrogen; + + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + @Excel(name = "氨氮排放量") + private String ammoniaNitrogenEmission; + + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + @Excel(name = "总氮排放量") + private String nitrogenConcentrationEmission; + + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + @Excel(name = "总磷排放量") + private String phosphorusConcentrationEmission; + + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "ph值") + private String phValue; + + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + + private Date dateTime; + private String sewageFlag; + private String phValueFlag; + private String codFlag; + private String ammoniaNitrogenFlag; + private String nitrogenConcentrationFlag; + private String phosphorusConcentrationFlag; + private String dataFlag; + + // 修约排放量 + private String codCorrectEmission; + private String ammoniaCorrectEmission; + private String nitrogenCorrectEmission; + private String phosphorusCorrectEmission; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonReal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonReal.java new file mode 100644 index 0000000..344af09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterMonReal.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 废水监测数据对象 s_env_water_mon_real + */ +@ApiModel(value = "废水监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_water_mon_real") +public class SEnvWaterMonReal extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "污水") + /** 污水 */ + @Excel(name = "污水") + private String sewage; + + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + @Excel(name = "污水排放量") + private String sewageEmission; + + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + @Excel(name = "化学需氧量") + private String cod; + + + @ApiModelProperty(value = "cod浓度") + /** cod浓度 */ + @Excel(name = "cod浓度") + private String codConcentration; + + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + @Excel(name = "化学需氧量排放量") + private String codEmission; + + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮") + private String ammoniaNitrogen; + + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + @Excel(name = "氨氮排放量") + private String ammoniaNitrogenEmission; + + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + @Excel(name = "总氮排放量") + private String nitrogenConcentrationEmission; + + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + @Excel(name = "总磷排放量") + private String phosphorusConcentrationEmission; + + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "ph值") + private String phValue; + + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + + private String dateTime; + private String sewageFlag; + private String phValueFlag; + private String codFlag; + private String ammoniaNitrogenFlag; + private String nitrogenConcentrationFlag; + private String phosphorusConcentrationFlag; + private String dataFlag; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterSelfDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterSelfDay.java new file mode 100644 index 0000000..b64e7d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvWaterSelfDay.java @@ -0,0 +1,221 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 多源排放量汇总分析-废水-手工监测数据对象 s_env_water_self_day + * + * @author szhpt + * @date 2023-07-26 + */ +@ApiModel(value = "多源排放量汇总分析-废水-手工监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_water_self_day") +public class SEnvWaterSelfDay extends BaseEntity { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id ") + /** 主键id */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + /** 数据类型(日:D;小时:H;分钟:M) */ + private String dataType; + + @ApiModelProperty(value = "日期") + /** 日期*/ + private String monitoringTime; + + @ApiModelProperty(value = "污水") + /** 污水*/ + @Excel(name = "污水") + private String sewage; + + @ApiModelProperty(value = "污水排放") + /** 污水排放 */ + @Excel(name = "污水排放") + private String sewageEmission; + + @ApiModelProperty(value = "PH值") + /** PH值 */ + @Excel(name = "PH值") + private String phValue; + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + @Excel(name = "化学需氧量") + private String cod; + + @ApiModelProperty(value = "化学需氧量排放") + /** 化学需氧量排放 */ + @Excel(name = "化学需氧量排放") + private String codEmission; + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮") + private String ammoniaNitrogen; + + @ApiModelProperty(value = "氨氮折算排放") + /** 氨氮折算排放 */ + @Excel(name = "氨氮折算排放") + private String ammoniaNitrogenEmission; + + @ApiModelProperty(value = "COD浓度") + /** COD浓度 */ + @Excel(name = "COD浓度") + private String codConcentration; + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + @ApiModelProperty(value = "总氮排放") + /** 总氮排放 */ + @Excel(name = "总氮排放") + private String nitrogenConcentrationEmission; + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + @ApiModelProperty(value = "总磷排放") + /** 总磷排放 */ + @Excel(name = "总磷排放") + private String phosphorusConcentrationEmission; + + @ApiModelProperty(value = "采集时间(时间类型)") + /** 采集时间(时间类型) */ + @Excel(name = "采集时间", readConverterExp = "时=间类型") + private String dateTime; + + @ApiModelProperty(value = "污水数据标记") + /** 污水数据标记 */ + @Excel(name = "污水数据标记") + private String sewageFlag; + + @ApiModelProperty(value = "PH值数据标记") + /** PH值数据标记 */ + @Excel(name = "PH值数据标记") + private String phValueFlag; + + @ApiModelProperty(value = "化学需氧量数据标记") + /** 化学需氧量数据标记 */ + @Excel(name = "化学需氧量数据标记") + private String codFlag; + + @ApiModelProperty(value = "氨氮数据标记") + /** 氨氮数据标记 */ + @Excel(name = "氨氮数据标记") + private String ammoniaNitrogenFlag; + + @ApiModelProperty(value = "总氮数据标记") + /** 总氮数据标记 */ + @Excel(name = "总氮数据标记") + private String nitrogenConcentrationFlag; + + @ApiModelProperty(value = "总磷数据标记") + /** 总磷数据标记 */ + @Excel(name = "总磷数据标记") + private String phosphorusConcentrationFlag; + + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + /** 数据标记 见字典类型anal_data_flag */ + @Excel(name = "数据标记 见字典类型anal_data_flag") + private String dataFlag; + + @ApiModelProperty(value = "cod修约排放量") + /** cod修约排放量 */ + @Excel(name = "cod修约排放量") + private String codCorrectEmission; + + @ApiModelProperty(value = "氨氮修约排放量") + /** 氨氮修约排放量 */ + @Excel(name = "氨氮修约排放量") + private String ammoniaCorrectEmission; + + @ApiModelProperty(value = "总氮修约排放量") + /** 总氮修约排放量 */ + @Excel(name = "总氮修约排放量") + private String nitrogenCorrectEmission; + + @ApiModelProperty(value = "总磷修约排放量") + /** 总磷修约排放量 */ + @Excel(name = "总磷修约排放量") + private String phosphorusCorrectEmission; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("dataType", getDataType()) + .append("monitoringTime", getMonitoringTime()) + .append("sewage", getSewage()) + .append("sewageEmission", getSewageEmission()) + .append("phValue", getPhValue()) + .append("cod", getCod()) + .append("codEmission", getCodEmission()) + .append("ammoniaNitrogen", getAmmoniaNitrogen()) + .append("ammoniaNitrogenEmission", getAmmoniaNitrogenEmission()) + .append("codConcentration", getCodConcentration()) + .append("wastewaterFlow", getWastewaterFlow()) + .append("nitrogenConcentration", getNitrogenConcentration()) + .append("nitrogenConcentrationEmission", getNitrogenConcentrationEmission()) + .append("phosphorusConcentration", getPhosphorusConcentration()) + .append("phosphorusConcentrationEmission", getPhosphorusConcentrationEmission()) + .append("dateTime", getDateTime()) + .append("sewageFlag", getSewageFlag()) + .append("phValueFlag", getPhValueFlag()) + .append("codFlag", getCodFlag()) + .append("ammoniaNitrogenFlag", getAmmoniaNitrogenFlag()) + .append("nitrogenConcentrationFlag", getNitrogenConcentrationFlag()) + .append("phosphorusConcentrationFlag", getPhosphorusConcentrationFlag()) + .append("dataFlag", getDataFlag()) + .append("codCorrectEmission", getCodCorrectEmission()) + .append("ammoniaCorrectEmission", getAmmoniaCorrectEmission()) + .append("nitrogenCorrectEmission", getNitrogenCorrectEmission()) + .append("phosphorusCorrectEmission", getPhosphorusCorrectEmission()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasAqilevel.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasAqilevel.java new file mode 100644 index 0000000..d53cf3a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasAqilevel.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: SEnvgasAqilevel + * @Author: wyg + * @Description: + * @Date: 2023/6/13 15:21 + * @Version: 1.0 + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_aqilevel") +@ApiModel(value="SEnvgasAqilevel对象", description="空气质量等级表") +public class SEnvgasAqilevel implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键ID") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "上限值") + @TableField("upper_value") + private BigDecimal upperValue; + + @ApiModelProperty(value = "下限值") + @TableField("lower_value") + private BigDecimal lowerValue; + + @ApiModelProperty(value = "级别") + @TableField("aqi_level") + private String aqiLevel; + + @ApiModelProperty(value = "类别") + @TableField("aqi_type") + private String aqiType; + + @ApiModelProperty(value = "颜色(色号)") + @TableField("aqi_color") + private String aqiColor; + + @ApiModelProperty(value = "影响") + @TableField("aqi_effect") + private String aqiEffect; + + @ApiModelProperty(value = "措施") + @TableField("aqi_measure") + private String aqiMeasure; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutant.java new file mode 100644 index 0000000..f8f425e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutant.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: SEnvgasPollutant + * @Author: wyg + * @Description: 污染物表 + * @Date: 2023/6/13 11:32 + * @Version: 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_pollutant") +@ApiModel(value="SEnvgasPollutant对象", description="污染物表") +public class SEnvgasPollutant implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "污染因子类型(1.水、2.首页达标展示类型)") + @TableField("fk_pollutant_type_id") + private Integer fkPollutantTypeId; + + @ApiModelProperty(value = "污染因子编号") + @TableField("pollutant_code") + private String pollutantCode; + + @ApiModelProperty(value = "污染因子名称") + @TableField("pollutant_name") + private String pollutantName; + + @ApiModelProperty(value = "单位(显示)") + @TableField("unit") + private String unit; + + @ApiModelProperty(value = "排序") + @TableField("serial") + private Integer serial; + + @ApiModelProperty(value = "保留小数") + @TableField("decimal_point") + private Integer decimalPoint; + + @ApiModelProperty(value = "是否启用 0 在用,1 停用") + @TableField("is_used") + private Boolean isUsed; + + @ApiModelProperty(value = "是否可以计算总量0否1是") + @TableField("is_pollutant") + private Integer isPollutant; + + @ApiModelProperty(value = "映射字段 小时,月,日字段") + @TableField("field") + private String field; + + @ApiModelProperty(value = "是否涉气 0 否 1是") + @TableField("involved") + private String involved; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionControl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionControl.java new file mode 100644 index 0000000..9d52785 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionControl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: SEnvgasPollutionControl + * @Author: wyg + * @Description: 污染物控制表 + * @Date: 2023/6/13 11:14 + * @Version: 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_pollution_control") +@ApiModel(value = "SEnvgasPollutionControl对象", description = "污染物控制表 ") +public class SEnvgasPollutionControl implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "控制级别id") + @TableField("control_level_id") + private Integer controlLevelId; + + @ApiModelProperty(value = "污染因子id") + @TableField("pollution_id") + private Integer pollutionId; + + @ApiModelProperty(value = "1:因子类型 2:气象类型") + @TableField("type") + private String type; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionLabel.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionLabel.java new file mode 100644 index 0000000..b496b1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionLabel.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: SEnvgasPollutionLabel + * @Author: wyg + * @Description: 污染源企业标签对象 s_envgas_pollution_label + * @Date: 2023/6/13 11:37 + * @Version: 1.0 + */ +@Data +@ApiModel(value = "污染源企业标签模型") +public class SEnvgasPollutionLabel { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "pk_id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long pkId; + + /** + * 污染编号 + */ + @Excel(name = "污染编号") + @ApiModelProperty(value = "污染编号") + private String code; + + /** + * 名称 + */ + @Excel(name = "名称") + @ApiModelProperty(value = "名称") + private String name; + + /** + * 账号区域id + */ + @Excel(name = "账号区域id") + @ApiModelProperty(value = "账号区域id") + private String regionCode; + + /** + * 排序 + */ + @Excel(name = "排序") + @ApiModelProperty(value = "排序") + private Long serial; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createDate; + + @TableField(exist = false) + private Integer pageNum; + @TableField(exist = false) + private Integer pageSize; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionMold.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionMold.java new file mode 100644 index 0000000..aca5be1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasPollutionMold.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.domain; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain + * @ClassName: + * @Author: wyg + * @Description: + * @Date: 2023/6/13 11:36 + * @Version: 1.0 + */ +@Data +@ApiModel(value = "污染源企业类型模型") +public class SEnvgasPollutionMold implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "pk_id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Long pkId; + + /** + * 污染编号 + */ + @Excel(name = "污染编号") + @ApiModelProperty(value = "污染编号") + private String code; + + /** + * 名称 + */ + @Excel(name = "名称") + @ApiModelProperty(value = "名称") + private String name; + + /** + * 账号区域id + */ + @Excel(name = "账号区域id") + @ApiModelProperty(value = "账号区域id") + private String regionCode; + + /** + * 排序 + */ + @Excel(name = "排序") + @ApiModelProperty(value = "排序") + private Long serial; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createDate; + + @TableField(exist = false) + private Integer pageNum; + @TableField(exist = false) + private Integer pageSize; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasStationControl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasStationControl.java new file mode 100644 index 0000000..dc4bea7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SEnvgasStationControl.java @@ -0,0 +1,51 @@ +//package cn.cecep.talroad.domain; +// +//import com.baomidou.mybatisplus.annotation.IdType; +//import com.baomidou.mybatisplus.annotation.TableField; +//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 lombok.experimental.Accessors; +// +//import java.io.Serializable; +// +///** +// * @ProjectName: szhpt-business +// * @Package: cn.cecep.talroad.domain +// * @ClassName: SEnvgasStationControl +// * @Author: wyg +// * @Description: +// * @Date: 2023/6/13 15:20 +// * @Version: 1.0 +// */ +// +//@Data +//@EqualsAndHashCode(callSuper = false) +//@Accessors(chain = true) +//@TableName("s_envgas_station_control") +//@ApiModel(value="SEnvgasStationControl对象", description="站点控制级别表") +//public class SEnvgasStationControl implements Serializable { +// +// private static final long serialVersionUID = 1L; +// +// @ApiModelProperty(value = "主键") +// @TableId(value = "pk_id", type = IdType.AUTO) +// private Integer pkId; +// +// @ApiModelProperty(value = "编码") +// @TableField("level_code") +// private String levelCode; +// +// @ApiModelProperty(value = "名称") +// @TableField("level_name") +// private String levelName; +// +// @ApiModelProperty(value = "控制类型,1:站点 2:污染源") +// @TableField("control_type") +// private String controlType; +// +// +//} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SIntegratedRoutineInspection.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SIntegratedRoutineInspection.java new file mode 100644 index 0000000..9242df9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SIntegratedRoutineInspection.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 日常检查信息对象 s_integrated_routine_inspection + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "日常检查信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_integrated_routine_inspection") +public class SIntegratedRoutineInspection extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + + @ApiModelProperty(value = "年份") + /** 年份*/ + @Excel(name = "年份") + private String particularYear; + + + @ApiModelProperty(value = "检查轮次") + /** 检查轮次*/ + @Excel(name = "检查轮次") + private String checkRounds; + + + @ApiModelProperty(value = "检查时间") + /** 检查时间*/ + @Excel(name = "检查时间") + private String checkTime; + + + @ApiModelProperty(value = "检查人员") + /** 检查人员*/ + @Excel(name = "检查人员") + private String inspector; + + + @ApiModelProperty(value = "检查评分") + /** 检查评分*/ + @Excel(name = "检查评分") + private String checkScore; + + + @ApiModelProperty(value = "总分") + /** 总分*/ + @Excel(name = "总分") + private String totalPoints; + + + @ApiModelProperty(value = "审查类型") + /** 审查类型*/ + @Excel(name = "审查类型") + private String reviewTypes; + + + @ApiModelProperty(value = "审核状态") + /** 审核状态*/ + @Excel(name = "审核状态") + private String reviewStatus; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("particularYear", getParticularYear()) + .append("checkRounds", getCheckRounds()) + .append("checkTime", getCheckTime()) + .append("inspector", getInspector()) + .append("checkScore", getCheckScore()) + .append("totalPoints", getTotalPoints()) + .append("reviewTypes", getReviewTypes()) + .append("reviewStatus", getReviewStatus()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControl.java new file mode 100644 index 0000000..bafb924 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControl.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息对象 s_main_dynamic_control + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_main_dynamic_control") +public class SMainDynamicControl extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "CEMS设备品牌") + /** CEMS设备品牌 */ + @Excel(name = "CEMS设备品牌") + private String equipmentBrandCems; + + + @ApiModelProperty(value = "仪器状态") + /** 仪器状态 */ + @Excel(name = "仪器状态") + private String equipmentState; + + + @ApiModelProperty(value = "管控类型编码") + /** 管控类型编码 */ + @Excel(name = "管控类型编码") + private String controlTypeCode; + + + @ApiModelProperty(value = "管控类型名称") + private String controlTypeName; + + private String mn; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlFactory.java new file mode 100644 index 0000000..991a21b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlFactory.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联对象 s_main_dynamic_control_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_main_dynamic_control_factory") +public class SMainDynamicControlFactory extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "管控类型编码") + private String controlTypeCode; + + + @ApiModelProperty(value = "实测值") + /** 实测值 */ + @Excel(name = "实测值") + private String measuredValue; + + + @ApiModelProperty(value = "验收标准值") + /** 验收标准值 */ + @Excel(name = "验收标准值") + private String standardValue; + + private String mn; + private String argumentsName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlParam.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlParam.java new file mode 100644 index 0000000..682ad99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SMainDynamicControlParam.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数对象 s_main_dynamic_control_param + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_main_dynamic_control_param") +public class SMainDynamicControlParam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "管控类型编码") + /** 管控类型编码 */ + @Excel(name = "管控类型编码") + private String controlTypeCode; + + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + @Excel(name = "参数编码") + private String argumentsCode; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String argumentsName; + + + @ApiModelProperty(value = "是否启用") + /** 是否启用 */ + @Excel(name = "是否启用") + private String argumentsEnable; + + private String mn; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaDayMonTimeFbjd.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaDayMonTimeFbjd.java new file mode 100644 index 0000000..bb6dce9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaDayMonTimeFbjd.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.domain; + +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 java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author thy + * @since 2023-03-31 + */ +@TableName("s_ra_day_mon_time_fbjd") +@ApiModel(value = "SRaDayMonTimeFbjd对象", description = "") +@Data +public class SRaDayMonTimeFbjd implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("数据主键") +// @TableId(value = "dataId",type = IdType.UUID) + private String dataId; + + @ApiModelProperty("企业主键") + private String factoryId; + + @ApiModelProperty("设备ID") + private String deviceId; + + @ApiModelProperty("时间类型(月:M;日:D)") + private String timeType; + + @ApiModelProperty("数据时间(yyyy-MM-dd|yyyy-MM)") + private String dataTime; + + @ApiModelProperty("创建时间(默认当前时间)") + private Date createTime; + + @ApiModelProperty("运行总时间") + private String runTime; + + public String getDataId() { + return dataId; + } + + public void setDataId(String dataId) { + this.dataId = dataId; + } + public String getFactoryId() { + return factoryId; + } + + public void setFactoryId(String factoryId) { + this.factoryId = factoryId; + } + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + public String getTimeType() { + return timeType; + } + + public void setTimeType(String timeType) { + this.timeType = timeType; + } + public String getDataTime() { + return dataTime; + } + + public void setDataTime(String dataTime) { + this.dataTime = dataTime; + } + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + public String getRunTime() { + return runTime; + } + + public void setRunTime(String runTime) { + this.runTime = runTime; + } + + @Override + public String toString() { + return "SRaDayMonTimeFbjd{" + + "dataId=" + dataId + + ", factoryId=" + factoryId + + ", deviceId=" + deviceId + + ", timeType=" + timeType + + ", dataTime=" + dataTime + + ", createTime=" + createTime + + ", runTime=" + runTime + + "}"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysicComsitSt.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysicComsitSt.java new file mode 100644 index 0000000..bebcc68 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysicComsitSt.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author ccc + * @since 2023-07-01 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SRaRealTimeAnalysicComsitSt implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "data_id", type = IdType.AUTO) + private Long dataId; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 站点id + */ + private String stationId; + + /** + * 企业id + */ + private String factroyId; + + /** + * 数据分析时间 + */ + private Date analysisTime; + + /** + * 最小值--正常运行低限 + */ + private Double minValue; + + /** + * 最大值--正常运行高限 + */ + private Double maxValue; + + /** + * Q1(下四分位)值 用于异常值判断 + */ + private Double q1Value; + + /** + * Q2(上四分位)值 用于异常值判断 + */ + private Double q2Value; + + /** + * 平均值 + */ + private Double acgValue; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysisRunOne.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysisRunOne.java new file mode 100644 index 0000000..006be41 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SRaRealTimeAnalysisRunOne.java @@ -0,0 +1,179 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据对象 s_ra_real_time_analysis_run_one + * + * @author szhpt + * @date 2023-05-17*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_run_one") +public class SRaRealTimeAnalysisRunOne extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别",readConverterExp = "A=A级,B=B级,B-=B-级,C=C级,D=D级,EXEMPTION=豁免类,NOT_RATED=未评级,NON_PERFORMING_BUSINESS=非绩效企业") + private String performanceLevel; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + /** 设备类型(生产设备/治理设备) */ + @Excel(name = "设备类型",readConverterExp = "1=生产设备,2=治理设备") + private String deviceType; + + + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + /** 运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失) */ + @Excel(name = "运行状态", readConverterExp = "1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7=数据异常") + private String operationStatus; + + + @ApiModelProperty(value = "判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断)") + /** 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) */ + @Excel(name = "判断依据", readConverterExp = "1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断") + private String judgementBasis; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm") + private Date updateTime; + + @ApiModelProperty(value = "更新时间") + @TableField(exist = false) + private String updateTimeTmp; + + @ApiModelProperty(value = "运行状态时间段") + /** 运行状态时间段 */ + private String runEtc; + + + @ApiModelProperty(value = "异常情况") + /** 异常情况 */ + private String goingsOn; + @ApiModelProperty(value = "排污许可行业名称") + /** 异常情况 */ + private String industryPermissionName; + + /** + * 运行状态 1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常 + */ + public enum OperationStatus { + + S_1(1, "运行"), + S_2(2,"停运"), + S_3(2,"启停"), + S_4(2,"停启"), + S_5(2,"数据缺失"), + S_6(2,"数据恒值"), + S_7(2,"数据异常"); + + public Integer value; + public String label; + + public Integer getValue() { + return value; + } + + public void setValue(Integer value) { + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + OperationStatus(Integer value, String label) { + this.value = value; + this.label = label; + } + } + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") +// @Excel(name = "总有功电量示值(安)(用电量)") + private String activePowerQuantityTmp; + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") +// @Excel(name = "总有功电量示值(安)(用电量)") + private String activePowerQuantity; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SStationTypeDict.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SStationTypeDict.java new file mode 100644 index 0000000..3b7cd6e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SStationTypeDict.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +/** + * 站点类型字典对象 s_station_type_dict + */ +@ApiModel(value = "站点类型字典") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_station_type_dict") +public class SStationTypeDict extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + @ApiModelProperty(value = "类型名称") + private String typeName; + private Long typeCode; + + @ApiModelProperty(value = "站点类型。1:大气, 2:水") + private Long stationType; + + @ApiModelProperty(value = "是否启用0启用,1禁用") + private Long status; + + @ApiModelProperty(value = "展示类型1:大屏") + private Long showType; + + @ApiModelProperty(value = "排序") + private Long sort; + + @ApiModelProperty(value = "数据源 1:大气, 2:水") + private String dataSource; + + @ApiModelProperty(value = "图表中展示的监测参数,多个用逗号分隔") + private String chartPollutant; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/STaskYieldTrend.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/STaskYieldTrend.java new file mode 100644 index 0000000..0016403 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/STaskYieldTrend.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 产量趋势指标小时天月数据表 + */ +@ApiModel(value="产量趋势指标小时天月数据表") +@Data +public class STaskYieldTrend { + /** + * 数据ID + */ + @ApiModelProperty(value="数据ID") + @TableId(value = "data_id",type = IdType.AUTO) + private Long dataId; + + /** + * 企业主键 + */ + @ApiModelProperty(value="企业主键") + private String factoryId; + + /** + * 时间类型(日:D;小时:H;分钟:M) + */ + @ApiModelProperty(value="时间类型(日:D;小时:H;分钟:M)") + private String timeType; + + /** + * 数据时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="数据时间") + private Date dataTime; + + /** + * 数量 + */ + @ApiModelProperty(value="数量") + private BigDecimal number; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * pc_yield_trend编码 + */ + @ApiModelProperty(value="pc_yield_trend编码") + private String dictCode; + + @ApiModelProperty(value="设备ID") + private String deviceId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SupermonitorDrainOutlet.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SupermonitorDrainOutlet.java new file mode 100644 index 0000000..e4a0347 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/SupermonitorDrainOutlet.java @@ -0,0 +1,164 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 排污口对象 m_supermonitor_drain_outlet + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "排污口") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("m_supermonitor_drain_outlet") +public class SupermonitorDrainOutlet extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "排放口类型(1入河、2雨水)") + /** 排放口类型(入河、雨水)*/ + @Excel(name = "排放口类型", readConverterExp = "入=河、雨水") + private String outletType; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号*/ + @Excel(name = "排放口编号") + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称*/ + @Excel(name = "排放口名称") + private String outletName; + + @ApiModelProperty(value = "入河排污口批复文号") + /** 入河排污口批复文号*/ + @Excel(name = "入河排污口批复文号") + private String approvalDocument; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + @Excel(name = "其他信息") + private String otherInformation; + + + @ApiModelProperty(value = "排放口地理位置-经度") + /** 排放口地理位置-经度*/ + @Excel(name = "排放口地理位置-经度") + private String lon; + + + @ApiModelProperty(value = "排放口地理位置-纬度") + /** 排放口地理位置-纬度*/ + @Excel(name = "排放口地理位置-纬度") + private String lat; + + + @ApiModelProperty(value = "排水去向") + /** 排水去向*/ + @Excel(name = "排水去向") + private String drainageTo; + + + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + @Excel(name = "排放规律") + private String emissionsLaws; + + + @ApiModelProperty(value = "间歇式排放时间段") + /** 间歇式排放时间段*/ + @Excel(name = "间歇式排放时间段") + private String intermittentEmissionPeriod; + + + @ApiModelProperty(value = "受纳自然水体信息-名称") + /** 受纳自然水体信息-名称*/ + @Excel(name = "受纳自然水体信息-名称") + private String receivingWaterName; + + + @ApiModelProperty(value = "受纳自然水体信息-功能目标") + /** 受纳自然水体信息-功能目标*/ + @Excel(name = "受纳自然水体信息-功能目标") + private String receivingWaterObjective; + + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度") + /** 汇入受纳自然水体处地理坐标-经度*/ + @Excel(name = "汇入受纳自然水体处地理坐标-经度") + private String receivingWaterLon; + + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度") + /** 汇入受纳自然水体处地理坐标-纬度*/ + @Excel(name = "汇入受纳自然水体处地理坐标-纬度") + private String receivingWaterLat; + + @ApiModelProperty(value = "入河口名称") + /** 入河口名称*/ + @Excel(name = "入河口名称") + private String riversOutletName; + + @ApiModelProperty(value = "入河口编号") + /** 入河口编号*/ + @Excel(name = "入河口编号") + private String riversOutletCode; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("outletType", getOutletType()) + .append("outletCode", getOutletCode()) + .append("outletName", getOutletName()) + .append("approvalDocument", getApprovalDocument()) + .append("otherInformation", getOtherInformation()) + .append("lon", getLon()) + .append("lat", getLat()) + .append("drainageTo", getDrainageTo()) + .append("emissionsLaws", getEmissionsLaws()) + .append("intermittentEmissionPeriod", getIntermittentEmissionPeriod()) + .append("receivingWaterName", getReceivingWaterName()) + .append("receivingWaterObjective", getReceivingWaterObjective()) + .append("receivingWaterLon", getReceivingWaterLon()) + .append("receivingWaterLat", getReceivingWaterLat()) + .append("riversOutletName", getRiversOutletName()) + .append("riversOutletCode", getRiversOutletCode()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStation.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStation.java new file mode 100644 index 0000000..6c4b8f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStation.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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.math.BigDecimal; + + +/** + * 大气环境、水环境站点对象 t_cod_station + */ +@ApiModel(value = "大气环境、水环境站点") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_cod_station") +public class TCodStation extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "站点名称") + private String stationName; + + + @ApiModelProperty(value = "站点类型。关联s_station_type_dict表的id") + private Long stationTypeDictId; + + + @ApiModelProperty(value = "经度") + private BigDecimal lon; + + + @ApiModelProperty(value = "纬度") + private BigDecimal lat; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataAir.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataAir.java new file mode 100644 index 0000000..78d2abc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataAir.java @@ -0,0 +1,167 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 大气站点监测数据对象 t_cod_station_data_air + */ +@ApiModel(value = "大气站点监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_cod_station_data_air") +public class TCodStationDataAir extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "站点id。关联t_cod_station表id") + private String stationId; + + + @ApiModelProperty(value = "监测时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date monitorTime; + + + @ApiModelProperty(value = "数据类型。D:日, H:小时, M:分钟") + private String dataType; + + + @ApiModelProperty(value = "aiq") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal aqi; + + + @ApiModelProperty(value = "pm2.5") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal pm25; + + + @ApiModelProperty(value = "pm10") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal pm10; + + + @ApiModelProperty(value = "so2") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal so2; + + + @ApiModelProperty(value = "no2") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal no2; + + + @ApiModelProperty(value = "o3") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal o3; + + + @ApiModelProperty(value = "co") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal co; + + + @ApiModelProperty(value = "温度") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal temperature; + + + @ApiModelProperty(value = "湿度") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal humidity; + + + @ApiModelProperty(value = "压力") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal pressure; + + + @ApiModelProperty(value = "风力") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal windPower; + + @ApiModelProperty(value = "风向") + private String windDirection; + + + @ApiModelProperty(value = "首要污染物") + private String pollutant; + + @ApiModelProperty(value = "空气质量级别") + private String airQualityclass; + + public String getAirQualityclass() { + if (airQualityclass != null) { + switch (airQualityclass) { + case "1": return "优"; + case "2": return "良"; + case "3": return "轻度污染"; + case "4": return "中度污染"; + case "5": return "重度污染"; + case "6": return "严重污染"; + default: return null; + } + } + return null; + } + + @ApiModelProperty(value = "tvoc") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal tvoc; + + @ApiModelProperty(value = "tsp") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal tsp; + + public static String transformation(String windDirection) { + if (windDirection == null) { + return null; + } + double value; + + try { + value = new BigDecimal(windDirection).doubleValue(); + } catch (Exception e) { + return null; + } + + if (value >= 0 && value < 22.5) { + return "北风"; + } else if (value >= 22.5 && value < 67.5) { + return "东北风"; + } else if (value >= 67.5 && value < 112.5) { + return "东风"; + } else if (value >= 112.5 && value < 157.5) { + return "东南风"; + } else if (value >= 157.5 && value < 202.5) { + return "南风"; + } else if (value >= 202.5 && value < 247.5) { + return "西南风"; + } else if (value >= 247.5 && value < 292.5) { + return "西风"; + } else if (value >= 292.5 && value < 337.5) { + return "西北风"; + } else { + return "北风"; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataWater.java new file mode 100644 index 0000000..39f2ad4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/TCodStationDataWater.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.domain; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 水环境站点监测数据对象 t_cod_station_data_water + */ +@ApiModel(value = "水环境站点监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_cod_station_data_water") +public class TCodStationDataWater extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "站点id。关联t_cod_station表id") + private String stationId; + + + @ApiModelProperty(value = "监测时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date monitorTime; + + + @ApiModelProperty(value = "数据类型。D:日, H:小时, M:分钟") + private String dataType; + + + @ApiModelProperty(value = "水质级别") + private String waterLevel; + + + @ApiModelProperty(value = "cod") + private BigDecimal cod; + + + @ApiModelProperty(value = "氨氮") + private BigDecimal ammoniaNitrogen; + + + @ApiModelProperty(value = "总氮") + private BigDecimal totalNitrogen; + + + @ApiModelProperty(value = "总磷") + private BigDecimal totalPhosphorus; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlan.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlan.java new file mode 100644 index 0000000..aa33e15 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlan.java @@ -0,0 +1,96 @@ +package cn.cecep.talroad.domain.analysis; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * CO放散计划 + */ +@ApiModel(description = "CO放散计划") +@Data +@TableName(value = "b_co_discharge_plan") +public class BCoDischargePlan implements Serializable { + @TableField(value = "plan_id") + @ApiModelProperty(value = "主键") + @TableId(type = IdType.AUTO) + private Integer planId; + + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + + @TableField(value = "plan_number") + @ApiModelProperty(value = "计划数量") + private Integer planNumber; + + @TableField(value = "report_status") + @ApiModelProperty(value = "1:已上报,0:未上报") + private Integer reportStatus; + + @TableField(value = "create_time") + @ApiModelProperty(value = "上报时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8") + private Date createTime; + + @TableField(value = "create_user") + @ApiModelProperty(value = "上报人") + private String createUser; + + /** + * 删除状态:0:不删除,1:删除 + */ + @TableField(value = "delete_status") + @ApiModelProperty(value = "删除状态:0:不删除,1:删除") + private Integer deleteStatus; + + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名") + private String factoryName; + + /** + * 县名称 + */ + @TableField(value = "country_name") + @ApiModelProperty(value = "县名称") + private String countryName; + + /** + * 行业名 + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value = "行业名") + private String industryCategoryName; + + private static final long serialVersionUID = 1L; + + public static final String COL_PLAN_ID = "plan_id"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_PLAN_NUMBER = "plan_number"; + + public static final String COL_REPORT_STATUS = "report_status"; + + public static final String COL_CREATE_TIME = "create_time"; + + public static final String COL_CREATE_USER = "create_user"; + + public static final String COL_DELETE_STATUS = "delete_status"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_COUNTRY_NAME = "country_name"; + + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlanInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlanInfo.java new file mode 100644 index 0000000..43deaaf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BCoDischargePlanInfo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.domain.analysis; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@ApiModel(description="b_co_discharge_plan_info") +@Data +@TableName(value = "b_co_discharge_plan_info") +public class BCoDischargePlanInfo implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_PLAN_ID = "plan_id"; + public static final String COL_TYPE = "type"; + public static final String COL_NAME = "name"; + public static final String COL_DEVICE_ID = "device_id"; + public static final String COL_PLAN_START_TIME = "plan_start_time"; + public static final String COL_PLAN_END_TIME = "plan_end_time"; + public static final String COL_REMARKS = "remarks"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_UPDATE_TIME = "update_time"; + private static final long serialVersionUID = 1L; + @TableField(value = "id") + @ApiModelProperty(value="主键") + @TableId(type = IdType.ASSIGN_ID) + private String id; + @TableField(value = "plan_id") + @ApiModelProperty(value="计划主表id") + private Integer planId; + @TableField(value = "type") + @ApiModelProperty(value="煤气放散口类型") + private String type; + @TableField(value = "name") + @ApiModelProperty(value="设备名称") + private String name; + @TableField(value = "device_id") + @ApiModelProperty(value="设备ID") + private String deviceId; + @TableField(value = "plan_start_time") + @ApiModelProperty(value="计划放散开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm" ,timezone = "GMT+8") + private Date planStartTime; + @TableField(value = "plan_end_time") + @ApiModelProperty(value="计划放散结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm" ,timezone = "GMT+8") + private Date planEndTime; + @TableField(value = "remarks") + @ApiModelProperty(value="备注") + private String remarks; + @TableField(value = "create_time") + @ApiModelProperty(value="创建时间") + private Date createTime; + @TableField(value = "update_time") + @ApiModelProperty(value="更新时间") + private Date updateTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlan.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlan.java new file mode 100644 index 0000000..6ded0f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlan.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.domain.analysis; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 检修计划 + */ +@ApiModel(description = "检修计划") +@Data +@TableName(value = "b_maintenance_plan") +public class BMaintenancePlan implements Serializable { + /** + * 主键 + */ + @TableId(value = "plan_id", type = IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer planId; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + + /** + * 计划数量 + */ + @TableField(value = "plan_number") + @ApiModelProperty(value = "计划数量") + private Integer planNumber; + + /** + * 0:已上报,1:未上报 + */ + @TableField(value = "report_status") + @ApiModelProperty(value = "1:已上报,0:未上报") + private Integer reportStatus; + + /** + * 上报时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "上报时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8") + private Date createTime; + + /** + * 上报人 + */ + @TableField(value = "create_user") + @ApiModelProperty(value = "上报人") + private String createUser; + + /** + * 删除状态:0:不删除,1:删除 + */ + @TableField(value = "delete_status") + @ApiModelProperty(value = "删除状态:0:不删除,1:删除") + private Integer deleteStatus; + + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名") + private String factoryName; + + /** + * 县名称 + */ + @TableField(value = "country_name") + @ApiModelProperty(value = "县名称") + private String countryName; + + /** + * 行业名 + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value = "行业名") + private String industryCategoryName; + + private static final long serialVersionUID = 1L; + + public static final String COL_PLAN_ID = "plan_id"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_PLAN_NUMBER = "plan_number"; + + public static final String COL_REPORT_STATUS = "report_status"; + + public static final String COL_CREATE_TIME = "create_time"; + + public static final String COL_CREATE_USER = "create_user"; + + public static final String COL_DELETE_STATUS = "delete_status"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_COUNTRY_NAME = "country_name"; + + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlanInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlanInfo.java new file mode 100644 index 0000000..469e7d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BMaintenancePlanInfo.java @@ -0,0 +1,95 @@ +package cn.cecep.talroad.domain.analysis; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 检修计划详情 + */ +@ApiModel(description="检修计划详情") +@Data +@TableName(value = "b_maintenance_plan_info") +public class BMaintenancePlanInfo implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_PLAN_ID = "plan_id"; + public static final String COL_TYPE = "type"; + public static final String COL_NAME = "name"; + public static final String COL_DEVICE_ID = "device_id"; + public static final String COL_PLAN_START_TIME = "plan_start_time"; + public static final String COL_PLAN_END_TIME = "plan_end_time"; + public static final String COL_REMARKS = "remarks"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_UPDATE_TIME = "update_time"; + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="主键") + private String id; + /** + * 计划主表id + */ + @TableField(value = "plan_id") + @ApiModelProperty(value="计划主表id") + private Integer planId; + /** + * 装备类型 + */ + @TableField(value = "\"type\"") + @ApiModelProperty(value="装备类型") + private String type; + /** + * 装备名称 + */ + @TableField(value = "\"name\"") + @ApiModelProperty(value="装备名称") + private String name; + /** + * 装备ID + */ + @TableField(value = "device_id") + @ApiModelProperty(value="装备ID") + private String deviceId; + /** + * 计划检修开始时间 + */ + @TableField(value = "plan_start_time") + @ApiModelProperty(value="计划检修开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm" ,timezone = "GMT+8") + private Date planStartTime; + /** + * 计划检修结束时间 + */ + @TableField(value = "plan_end_time") + @ApiModelProperty(value="计划检修结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm" ,timezone = "GMT+8") + private Date planEndTime; + /** + * 备注 + */ + @TableField(value = "remarks") + @ApiModelProperty(value="备注") + private String remarks; + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value="创建时间") + private Date createTime; + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value="更新时间") + private Date updateTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParam.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParam.java new file mode 100644 index 0000000..5e1ed65 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParam.java @@ -0,0 +1,211 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.util.Date; + +/** + * 各设备的监测参数属性--------参数异常分析设置(按设备按参数)-管理端后台 + */ +@ApiModel(description = "各设备的监测参数属性--------参数异常分析设置(按设备按参数)-管理端后台") +@Data +@TableName(value = "bas_device_param") +public class BasDeviceParam implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_DEVICE_ID = "device_id"; + public static final String COL_PARAM_ID = "param_id"; + public static final String COL_INDUSTRY = "industry"; + public static final String COL_DEVICE_TYPE = "device_type"; + public static final String COL_FACILITY_TYPE = "facility_type"; + public static final String COL_NORMAL_VALUE = "normal_value"; + public static final String COL_MIN_VALUE = "min_value"; + public static final String COL_MAX_VALUE = "max_value"; + public static final String COL_Q1_VALUE = "q1_value"; + public static final String COL_Q2_VALUE = "q2_value"; + public static final String COL_IS_ONLINE = "is_online"; + public static final String COL_STANDBY_NUM = "standby_num"; + public static final String COL_MULTI_NUM = "multi_num"; + public static final String COL_OVER_MAX_VAL = "over_max_val"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_RELEASE_VALUE = "release_value"; + public static final String COL_STOP_VALUE = "stop_value"; + public static final String COL_DEVICE_SITE_ID = "device_site_id"; + public static final String COL_PARAM_NAME = "param_name"; + public static final String COL_PARAM_UNIT = "param_unit"; + public static final String COL_IS_STATUS = "is_status"; + public static final String COL_DATA_TYPE = "data_type"; + public static final String COL_DEVICE_NAME = "device_name"; + public static final String COL_FACTORY_NAME = "factory_name"; + private static final long serialVersionUID = 1L; + /** + * ID + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "ID") + @Excel(name = "ID", sort = 0) + private Long id; + /** + * 设备ID + */ + @TableField(value = "device_id") + @ApiModelProperty(value = "设备ID") + @Excel(name = "设备ID", width = 25, sort = 3) + private String deviceId; + /** + * 参数ID + */ + @TableField(value = "param_id") + @ApiModelProperty(value = "参数ID") + private String paramId; + /** + * 所属行业 枚举。钢铁/焦化/水泥... + */ + @TableField(value = "industry") + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + /** + * 所属设备类别 枚举。焦炉/烧结机... + */ + @TableField(value = "device_type") + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + private String deviceType; + /** + * 所属设施类别 枚举。生产/CEMS... + */ + @TableField(value = "facility_type") + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + private String facilityType; + /** + * 正常值--正常生产或设计值 + */ + @TableField(value = "normal_value") + @ApiModelProperty(value = "正常值--正常生产或设计值") + @Excel(name = "正常生产或设计值", width = 25, sort = 7) + private Double normalValue; + /** + * 最小值--正常运行低限 + */ + @TableField(value = "min_value") + @ApiModelProperty(value = "最小值--正常运行低限") + @Excel(name = "正常运行低限", width = 25, sort = 8) + private Double minValue; + /** + * 最大值--正常运行高限 + */ + @TableField(value = "max_value") + @ApiModelProperty(value = "最大值--正常运行高限") + @Excel(name = "正常运行高限", width = 25, sort = 9) + private Double maxValue; + /** + * Q1(下四分位)值 用于异常值判断 + */ + @TableField(value = "q1_value") + @ApiModelProperty(value = "Q1(下四分位)值 用于异常值判断") + private Double q1Value; + /** + * Q2(上四分位)值 用于异常值判断 + */ + @TableField(value = "q2_value") + @ApiModelProperty(value = "Q2(上四分位)值 用于异常值判断") + private Double q2Value; + /** + * 参数是否联网 0=否,1=是 + */ + @TableField(value = "is_online") + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + @Excel(name = "是否联网", width = 25, sort = 10,readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private Integer isOnline; + /** + * 备用值数量 数量不含原值 + */ + @TableField(value = "standby_num") + @ApiModelProperty(value = "备用值数量 数量不含原值") + private Integer standbyNum; + /** + * 多值数量 数量不含原值 + */ + @TableField(value = "multi_num") + @ApiModelProperty(value = "多值数量 数量不含原值") + private Integer multiNum; + /** + * 超标阈值 超过此值则认为超标 + */ + @TableField(value = "over_max_val") + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + private Double overMaxVal; + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "创建时间") + private Date createTime; + /** + * 放散时间配置:分析几个小时内炉数 + */ + @TableField(value = "release_value") + @ApiModelProperty(value = "放散时间配置:分析几个小时内炉数") + private Integer releaseValue; + /** + * 停产阈值 + */ + @TableField(value = "stop_value") + @ApiModelProperty(value = "停产阈值") + private Double stopValue; + /** + * 监测点位ID + */ + @TableField(value = "device_site_id") + @ApiModelProperty(value = "监测点位ID") + private String deviceSiteId; + /** + * 参数名称 + */ + @TableField(value = "param_name") + @ApiModelProperty(value = "参数名称") + @Excel(name = "参数名称", width = 25, sort = 5) + private String paramName; + /** + * 参数单位 + */ + @TableField(value = "param_unit") + @ApiModelProperty(value = "参数单位") + @Excel(name = "参数单位", width = 25, sort = 6) + private String paramUnit; + /** + * 是否启用,0:未启用,1:启用 + */ + @TableField(value = "is_status") + @ApiModelProperty(value = "是否启用,0:未启用,1:启用") + private String isStatus; + /** + * 数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据 + */ + @TableField(value = "data_type") + @ApiModelProperty(value = "数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据") + @Excel(name = "数据类型", width = 25, sort = 1,readConverterExp = "1=DCS监控数据,2=分表计电监测数据,3=在线监测数据,4=无组织监控数据,5=网格化监控数据,6=废水国省控站点监控数据,7=废气国省控站点监控数据", + combo = {"DCS监控数据","分表计电监测数据","在线监测数据","无组织监控数据","=网格化监控数据","废水国省控站点监控数据","废气国省控站点监控数据"}) + + private String dataType; + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称") + @Excel(name = "设备名称", width = 25, sort = 4) + private String deviceName; + /** + * 企业名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称", width = 25, sort = 2) + private String factoryName; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParamAnalyse.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParamAnalyse.java new file mode 100644 index 0000000..6418168 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasDeviceParamAnalyse.java @@ -0,0 +1,154 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.util.Date; + +/** + * 分析设置(按参数)-管理端后台 + */ +@ApiModel(description="分析设置(按参数)-管理端后台") +@Data +@TableName(value = "bas_device_param_analyse") +public class BasDeviceParamAnalyse implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_DATA_TYPE = "data_type"; + public static final String COL_DEVICE_TYPE = "device_type"; + public static final String COL_DEVICE_CART = "device_cart"; + public static final String COL_DEVICE_CART_CODE = "device_cart_code"; + public static final String COL_DEVICE_PARAM_NAME = "device_param_name"; + public static final String COL_DEVICE_PARAM_CODE = "device_param_code"; + public static final String COL_DEVICE_PARAM_UNIT = "device_param_unit"; + public static final String COL_CONTOUR_EW = "contour_ew"; + public static final String COL_DATA_LOGIC_ABNORMAL_EW = "data_logic_abnormal_ew"; + public static final String COL_DATA_LOGIC_FLUCTUATE_EW = "data_logic_fluctuate_ew"; + public static final String COL_DATA_LOGIC_DEFICIENCY_EW = "data_logic_deficiency_ew"; + public static final String COL_STOP_THRESHOLD_VALUE = "stop_threshold_value"; + public static final String COL_CO_DIFFUSE_THRESHOLD_VALUE = "co_diffuse_threshold_value"; + public static final String COL_UPDATE_TIME = "update_time"; + public static final String COL_IS_STATUS = "is_status"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + @Excel(name = "主键id", sort = 0) + private Long id; + /** + * 数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据 + */ + @TableField(value = "data_type") + @ApiModelProperty(value="数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据") + @Excel(name = "数据类型", width = 25, sort = 1,readConverterExp = "1=DCS监控数据,2=分表计电监测数据,3=在线监测数据,4=无组织监控数据,5=网格化监控数据,6=废水国省控站点监控数据,7=废气国省控站点监控数据", + combo = {"DCS监控数据","分表计电监测数据","在线监测数据","无组织监控数据","网格化监控数据","废水国省控站点监控数据","废气国省控站点监控数据"}) + private String dataType; + /** + * 设备类型 + */ + @TableField(value = "device_type") + @ApiModelProperty(value="设备类型") + @Excel(name = "设备类型", width = 25, sort = 2) + private String deviceType; + /** + * 设备工艺 + */ + @TableField(value = "device_cart") + @ApiModelProperty(value="设备工艺") + @Excel(name = "工艺类型", width = 25, sort = 4) + private String deviceCart; + /** + * 设备工艺编码 + */ + @TableField(value = "device_cart_code") + @ApiModelProperty(value="设备工艺编码") + private String deviceCartCode; + /** + * 参数名称 + */ + @TableField(value = "device_param_name") + @ApiModelProperty(value="参数名称") + @Excel(name = "参数名称", width = 25, sort = 6) + private String deviceParamName; + /** + * 参数id + */ + @TableField(value = "device_param_code") + @ApiModelProperty(value="参数id") + @Excel(name = "参数id", width = 25, sort = 5) + private String deviceParamCode; + /** + * 参数单位 + */ + @TableField(value = "device_param_unit") + @ApiModelProperty(value="参数单位") + @Excel(name = "参数单位", width = 25, sort = 7) + private String deviceParamUnit; + /** + * 是否参与恒值预警 0否1是 + */ + @TableField(value = "contour_ew") + @ApiModelProperty(value="是否参与恒值报警 0否1是") + @Excel(name = "是否参与恒值报警", width = 25, sort = 8,readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String contourEw; + /** + * 是否参与数据逻辑异常预警 0否1是 + */ + @TableField(value = "data_logic_abnormal_ew") + @ApiModelProperty(value="是否参与数据逻辑异常报警 0否1是") + @Excel(name = "是否参与数据逻辑异常报警", width = 25, sort = 9,readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String dataLogicAbnormalEw; + /** + * 是否参与数据异常波动预警 0否1是 + */ + @TableField(value = "data_logic_fluctuate_ew") + @ApiModelProperty(value="是否参与数据异常波动报警 0否1是") + @Excel(name = "是否参与数据异常波动报警", width = 25, sort = 10,readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String dataLogicFluctuateEw; + /** + * 是否参与数据缺失报警 0否1是 + */ + @TableField(value = "data_logic_deficiency_ew") + @ApiModelProperty(value="是否参与数据缺失报警 0否1是") + @Excel(name = "是否参与数据缺失报警", width = 25, sort = 11,readConverterExp = "0=否,1=是",combo = {"是", "否"}) + private String dataLogicDeficiencyEw; + /** + * 停限产判断阈值 + */ + @TableField(value = "stop_threshold_value") + @ApiModelProperty(value="停限产判断阈值") + @Excel(name = "停限产判断阈值", width = 25, sort = 12) + private String stopThresholdValue; + /** + * CO放散分析判断阈值 + */ + @TableField(value = "co_diffuse_threshold_value") + @ApiModelProperty(value="CO放散分析判断阈值") + @Excel(name = "CO放散分析判断阈值", width = 25, sort = 13) + private String coDiffuseThresholdValue; + /** + * 修改时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value="修改时间") + private Date updateTime; + /** + * 是否启用 + */ + @TableField(value = "is_status") + @ApiModelProperty(value="是否启用") + private String isStatus; + + private String industry; + @TableField(exist = false) + @Excel(name = "行业", width = 25, sort = 3) + private String industryName; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasThresholdConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasThresholdConfig.java new file mode 100644 index 0000000..657b993 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/BasThresholdConfig.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 关联分析-阈值设置 + */ +@ApiModel(description="关联分析-阈值设置") +@Data +@TableName(value = "bas_threshold_config") +public class BasThresholdConfig implements Serializable { + public static final String COL_DATA_ID = "data_id"; + public static final String COL_TASK_NAME = "task_name"; + public static final String COL_PARAM_CODE = "param_code"; + public static final String COL_PARAM_NAME = "param_name"; + public static final String COL_FREQUENCY = "frequency"; + public static final String COL_THRESHOLD_VALUE = "threshold_value"; + public static final String COL_UNIT = "unit"; + public static final String COL_REMARK = "remark"; + public static final String COL_CREATE_BY = "create_by"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_UPDATE_BY = "update_by"; + public static final String COL_UPDATE_TIME = "update_time"; + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "data_id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + @Excel(name = "主键", width = 25, sort = 1) + private Integer dataId; + /** + * 分析任务名称 + */ + @TableField(value = "task_name") + @ApiModelProperty(value="分析任务名称") + @Excel(name = "分析任务", width = 25, sort = 2) + private String taskName; + /** + * 参数编码 + */ + @TableField(value = "param_code") + @ApiModelProperty(value="参数编码") + private String paramCode; + /** + * 参数名称 + */ + @TableField(value = "param_name") + @ApiModelProperty(value="参数名称") + @Excel(name = "参数名称", width = 25, sort = 3) + private String paramName; + /** + * 阈值频次:D:日 H:小时 + */ + @TableField(value = "frequency") + @ApiModelProperty(value="阈值频次:D=日,H=时,M=月,Y=年,W=星期,S=秒,m=分") + @Excel(name = "阈值时间类型", width = 25, sort = 4,readConverterExp = "D=日,H=时,M=月,Y=年,W=星期,S=秒,m=分",combo = {"年","月","日", "星期","时","秒","分"}) + private String frequency; + /** + * 阈值 + */ + @TableField(value = "threshold_value") + @ApiModelProperty(value="阈值") + @Excel(name = "阈值", width = 25, sort = 5) + private BigDecimal thresholdValue; + /** + * 单位 + */ + @TableField(value = "unit") + @ApiModelProperty(value="单位") + @Excel(name = "阈值单位", width = 25, sort = 6) + private String unit; + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value="备注") + @Excel(name = "备注说明", width = 25, sort = 7) + private String remark; + /** + * 创建人 + */ + @TableField(value = "create_by") + @ApiModelProperty(value="创建人") + private String createBy; + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value="创建时间") + private Date createTime; + /** + * 更新人 + */ + @TableField(value = "update_by") + @ApiModelProperty(value="更新人") + private String updateBy; + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value="更新时间") + private Date updateTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/PcRaProblemType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/PcRaProblemType.java new file mode 100644 index 0000000..8c65349 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/PcRaProblemType.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +/** + * 问题分类对象 pc_ra_problem_type + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "问题分类") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pc_ra_problem_type") +public class PcRaProblemType extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "分类名称") + /** 分类名称 */ + @Excel(name = "分类名称") + private String name; + + + @ApiModelProperty(value = "父分类id") + /** 父分类id */ + @Excel(name = "父分类id") + private String parentId; + + + @ApiModelProperty(value = "排序") + /** 排序 */ + @Excel(name = "排序") + private Long sort; + + @ApiModelProperty(value = "详情跳转路由") + private String route; + + private String problemType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisCar.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisCar.java new file mode 100644 index 0000000..9bbfe4c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisCar.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.Date; + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_car + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "管控期车辆异常分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_ab_nalysis_car") +public class SRaAbNalysisCar extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.AUTO) + private Long dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + @Excel(name = "企业主键") + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + @Excel(name = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县名称") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + @Excel(name = "所在区县编码") + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别") + private String performanceLevel; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String workingProcedure; + + + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + @Excel(name = "国四及以下车辆进出厂次数") + private Long inOutNumber; + + + @ApiModelProperty(value = "管控开始时间") + /** 管控时间 */ + @Excel(name = "管控开始时间") + private Date analyseTimeStart; + + @ApiModelProperty(value = "管控结束时间") + /** 管控时间 */ + @Excel(name = "管控结束时间") + private Date analyseTimeEnd; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("performanceLevel", getPerformanceLevel()) + .append("workingProcedure", getWorkingProcedure()) + .append("inOutNumber", getInOutNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisLowCar.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisLowCar.java new file mode 100644 index 0000000..bd78895 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAbNalysisLowCar.java @@ -0,0 +1,175 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_low_car + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "管控期车辆异常分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_ab_nalysis_low_car") +public class SRaAbNalysisLowCar extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ +// @Excel(name = "企业主键") + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ +// @Excel(name = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ +// @Excel(name = "所在区县编码") + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别") + private String performanceLevel; + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ +// @Excel(name = "国四及以下车辆进出厂次数", readConverterExp = "$column.readConverterExp()") + @TableField(exist = false) + private String workingProcedure; + + + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + @Excel(name = "国四及以下车辆进出厂次数") + private Long inOutNumber; + + + @ApiModelProperty(value = "分析时间(原型中日期)") + /** 分析时间(原型中日期) */ +// @Excel(name = "分析时间(原型中日期)") + private Date analyseTime; + + @ApiModelProperty(value = "排放阶段") + private String dischargeStage; + @ApiModelProperty(value = "国五车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + @Excel(name = "国五车辆进出厂次数") + private Long fiveNumber; + @ApiModelProperty(value = "国六车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + @Excel(name = "国六车辆进出厂次数") + private Long sixNumber; + @ApiModelProperty(value = "新能源车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + @Excel(name = "新能源车辆进出厂次数") + private Long neNumber; + + @TableField(exist = false) + private String analyseTimeStr; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("performanceLevel", getPerformanceLevel()) + .append("workingProcedure", getWorkingProcedure()) + .append("inOutNumber", getInOutNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .append("fiveNumber", getFiveNumber()) + .append("sixNumber", getSixNumber()) + .append("neNumber", getNeNumber()) + .toString(); + } + @Data + public static + class SRaAbNalysisLowCarEChartData{ + @ApiModelProperty(value = "分析时间(原型中日期)") + @DateTimeFormat(pattern = "yyyy-MM-dd HH") + private Date analyseTime; + @ApiModelProperty(value = "分析时间(原型中日期)") + private String analyseTimeStr; + @ApiModelProperty(value = "排放阶段") + private String dischargeStage; + @ApiModelProperty(value = "国五车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long fiveNumber; + @ApiModelProperty(value = "国六车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long sixNumber; + @ApiModelProperty(value = "新能源车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long neNumber; + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long inOutNumber; + @TableField(exist = false) + private int dataId; + } + + @Data + public static + class SRaAbNalysisLowParkEChartData{ + @ApiModelProperty(value = "进厂") + private Long inPark=0L; + @ApiModelProperty(value = "出厂") + private Long outPark=0L; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualEmissions.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualEmissions.java new file mode 100644 index 0000000..0151764 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualEmissions.java @@ -0,0 +1,128 @@ +package cn.cecep.talroad.domain.analysis; + +import java.math.BigDecimal; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.TableField; + + +/** + * 执行报告实际排放情况对象 s_ra_action_reports_actual_emissions + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际排放情况") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_actual_emissions") +public class SRaActionReportsActualEmissions extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + @Excel(name = "执行报告类型", readConverterExp = "Y=年报,S=季报,M=月报,d=日报") + private String reportType; + + @ApiModelProperty(value = "执行报告时间;年:2023 季:20232(2023第二个季度) 月: 2023-02") + /** 执行报告时间;年:2023 季:20232(2023第二个季度) 月: 2023-02 */ + @Excel(name = "执行报告时间") + private String reportTime; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + @TableField(exist = false) + private String factoryName; + + @ApiModelProperty(value = "行业类别名称") + /** 行业类别名称 */ + @Excel(name = "行业类别名称") + @TableField(exist = false) + private String industryCategoryName; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区域名称") + @TableField(exist = false) + private String countryName; + + @ApiModelProperty(value = "排放类型;排放类型(1废气,2废水)") + /** 排放类型;排放类型(1废气,2废水) */ + @Excel(name = "排放类型;排放类型", readConverterExp = "1=废气,2=废水") + private String outletType; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + @Excel(name = "排放口名称") + private String outletName; + + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + @Excel(name = "排放口编号") + private String outletCode; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollutantName; + + @ApiModelProperty(value = "污染物code") + /** 污染物code */ + private String pollutantCode; + + + @ApiModelProperty(value = "许可排放量(t)") + /** 许可排放量(t) */ + @Excel(name = "许可排放量(t)") + private BigDecimal permittedEmissions; + + + @ApiModelProperty(value = "实际排放量(t)") + /** 实际排放量(t) */ + @Excel(name = "实际排放量(t)") + private BigDecimal actualEmissions; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("reportTime", getReportTime()) + .append("factoryId", getFactoryId()) + .append("outletType", getOutletType()) + .append("outletName", getOutletName()) + .append("outletCode", getOutletCode()) + .append("pollutantName", getPollutantName()) + .append("pollutantCode", getPollutantCode()) + .append("permittedEmissions", getPermittedEmissions()) + .append("actualEmissions", getActualEmissions()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualYield.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualYield.java new file mode 100644 index 0000000..8daba3a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsActualYield.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + + +/** + * 执行报告实际产量情况对象 s_ra_action_reports_actual_yield + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际产量情况") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_actual_yield") +public class SRaActionReportsActualYield extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + @Excel(name = "执行报告类型", readConverterExp = "Y=年报,S=季报,M=月报,d=日报") + private String reportType; + + + @ApiModelProperty(value = "执行报告时间;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") + /** 执行报告时间;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01 */ + @Excel(name = "执行报告时间") + private String reportTime; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + @TableField(exist = false) + private String factoryName; + + @ApiModelProperty(value = "行业类别名称") + /** 行业类别名称 */ + @Excel(name = "行业名称") + @TableField(exist = false) + private String industryCategoryName; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区域名称") + @TableField(exist = false) + private String countryName; + + + @ApiModelProperty(value = "主要生产单元") + /** 主要生产单元 */ + @Excel(name = "主要生产单元") + private String productionUnit; + + + @ApiModelProperty(value = "运行参数code") + /** 运行参数code */ + private String runningParamCode; + + + @ApiModelProperty(value = "运行参数名称") + /** 运行参数名称 */ + @Excel(name = "运行参数名称") + private String runningParamName; + + + @ApiModelProperty(value = "产量(t)") + /** 产量(t) */ + @Excel(name = "产量(t)") + private BigDecimal actualEmissions; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("reportTime", getReportTime()) + .append("factoryId", getFactoryId()) + .append("productionUnit", getProductionUnit()) + .append("runningParamCode", getRunningParamCode()) + .append("runningParamName", getRunningParamName()) + .append("actualEmissions", getActualEmissions()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAudit.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAudit.java new file mode 100644 index 0000000..e87ea06 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAudit.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.domain.analysis; + +import java.math.BigDecimal; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 执行报告规范性审核对象 s_ra_action_reports_audit + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_audit") +public class SRaActionReportsAudit extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + @Excel(name = "执行报告类型", readConverterExp = "Y=年报,S=季报,M=月报,d=日报",width = 25) + private String reportType; + + + @ApiModelProperty(value = "报告期;年:2023 月:2023-02 日: 2023-02-01") + /** 报告期;年:2023 月:2023-02 日: 2023-02-01 */ + @Excel(name = "报告期",width = 25) + private String reportTime; + + + @ApiModelProperty(value = "应提交企业数量") + /** 应提交企业数量 */ + @Excel(name = "应提交企业数量",width = 25) + private Long totalEnterprises; + + + @ApiModelProperty(value = "已提交企业数量") + /** 已提交企业数量 */ + @Excel(name = "已提交企业数量",width = 25) + private Long submittedEnterprises; + + + @ApiModelProperty(value = "提交率") + /** 提交率 */ + @Excel(name = "提交率",width = 25) + private BigDecimal submissionRate; + + + @ApiModelProperty(value = "未提交企业清单") + /** 未提交企业清单 */ +// @Excel(name = "未提交企业清单") + private String nonSubmittedEnterprisesUrl; + + + @ApiModelProperty(value = "规范性审核;审核状态:1 审核中 9 审核完成") + /** 规范性审核;审核状态:1 审核中 9 审核完成 */ + private Long auditStatus; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("reportTime", getReportTime()) + .append("totalEnterprises", getTotalEnterprises()) + .append("submittedEnterprises", getSubmittedEnterprises()) + .append("submissionRate", getSubmissionRate()) + .append("nonSubmittedEnterprisesUrl", getNonSubmittedEnterprisesUrl()) + .append("auditStatus", getAuditStatus()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditFactoryInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditFactoryInfo.java new file mode 100644 index 0000000..e2f0478 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditFactoryInfo.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 执行报告规范性审核记录待审核企业对象 + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核记录待审核企业") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_audit_factory_info") +public class SRaActionReportsAuditFactoryInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告id") + /** 执行报告id */ + private String reportId; + + + @ApiModelProperty(value = "提交时间") + /** 提交时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date commitTime; + + + @ApiModelProperty(value = "审核状态;审核状态:0 未审核 1 已审核 ") + /** 审核状态;审核状态:0 未审核 1 已审核 */ + @Excel(name = "审核状态", readConverterExp = "0=未审核,1=已审核") + private Integer auditStatus; + + + @ApiModelProperty(value = "创建时间") + /** 提交时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + + @ApiModelProperty(value = "更新时间") + /** 提交时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditRecord.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditRecord.java new file mode 100644 index 0000000..50b0872 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditRecord.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.domain.analysis; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 执行报告规范性审核记录对象 s_ra_action_reports_audit_record + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核记录") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_audit_record") +public class SRaActionReportsAuditRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "执行报告id") + /** 执行报告id */ + private String reportId; + + + @ApiModelProperty(value = "系统审核时间") + /** 系统审核时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "系统审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; + + + @ApiModelProperty(value = "应提交企业数量") + /** 应提交企业数量 */ + @Excel(name = "应提交企业数量") + private Long totalEnterprises; + + + @ApiModelProperty(value = "已提交企业数量") + /** 已提交企业数量 */ + @Excel(name = "已提交企业数量") + private Long submittedEnterprises; + + + @ApiModelProperty(value = "审核企业数量") + /** 已审核企业数量 */ + @Excel(name = "审核企业数量") + private Long auditedEnterprises; + + + @ApiModelProperty(value = "存在问题企业数") + /** 存在问题企业数 */ + @Excel(name = "存在问题企业数") + private Long problemsEnterprises; + + + @ApiModelProperty(value = "审核状态;审核状态:1 审核中 9 审核完成") + /** 审核状态;审核状态:1 审核中 9 审核完成 */ + @Excel(name = "审核状态", readConverterExp = "1=审核中,9=审核完成") + private Long auditStatus; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportId", getReportId()) + .append("auditTime", getAuditTime()) + .append("totalEnterprises", getTotalEnterprises()) + .append("submittedEnterprises", getSubmittedEnterprises()) + .append("auditedEnterprises", getAuditedEnterprises()) + .append("problemsEnterprises", getProblemsEnterprises()) + .append("auditStatus", getAuditStatus()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditResult.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditResult.java new file mode 100644 index 0000000..9961505 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaActionReportsAuditResult.java @@ -0,0 +1,274 @@ +package cn.cecep.talroad.domain.analysis; + +import java.util.Date; + +import cn.cecep.talroad.config.AuditWordField; +import com.fasterxml.jackson.annotation.JsonFormat; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.TableField; + + +/** + * 执行报告规范性审核结果对象 s_ra_action_reports_audit_result + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核结果") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_action_reports_audit_result") +public class SRaActionReportsAuditResult extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "执行报告审核记录id") + /** 执行报告审核记录id */ + private String recordId; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "报告期;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") + /** 报告期;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01 */ +// @Excel(name = "报告期") + private String reportTime; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",width = 30,sort = 1) + @TableField(exist = false) + private String factoryName; + + @ApiModelProperty(value = "行业类别名称") + /** 行业类别名称 */ + @Excel(name = "行业类别名称",width = 30,sort = 2) + @TableField(exist = false) + private String industryCategoryName; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ +// @Excel(name = "区域名称") + @TableField(exist = false) + private String countryName; + + @ApiModelProperty(value = "管理类别") + /** 区域名称 */ + @Excel(name = "管理类别", readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",width = 30,sort = 3) + @TableField(exist = false) + private String manType; + + @ApiModelProperty(value = "排污许可证编号") + /** 排污许可证编号 */ + @Excel(name = "排污许可证编号",width = 30,sort = 4) + @TableField(exist = false) + private String licenseCode; + + @ApiModelProperty(value = "表中排污许可证编号") + /** 排污许可证编号 */ + @Excel(name = "排污许可证编号",width = 30,sort = 4) + + private String pollDisLicenseCode; + + + @ApiModelProperty(value = "执行报告提交") + /** 执行报告提交 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// @Excel(name = "执行报告提交", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date reportSubmissionTime; + + + @ApiModelProperty(value = "审核时间") + /** 审核时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 7) + private Date auditTime; + + @ApiModelProperty(value = "审核部门id") + /** 审核部门id */ + private String auditDeptId; + + + @ApiModelProperty(value = "审核部门") + /** 审核部门 */ + @Excel(name = "审核部门",width = 30,sort = 5) + private String auditDeptName; + + + @ApiModelProperty(value = "审核人员_id") + /** 审核人员_id */ + private String auditPersonId; + + + @ApiModelProperty(value = "审核人员") + /** 审核人员 */ + @Excel(name = "审核人员",width = 30,sort = 6) + private String auditPersonName; + + + @ApiModelProperty(value = "排污单位基本信息表") + /** 排污单位基本信息表 */ + @Excel(name = "排污单位基本信息表",width = 30,sort = 7) + @AuditWordField(orderNum = 1) + private String factoryBasicInfo; + + + @ApiModelProperty(value = "污染防治设施正常情况汇总表--废水污染防治设施") + /** 污染防治设施正常情况汇总表--废水污染防治设施 */ + @Excel(name = "污染防治设施正常情况汇总表--废水污染防治设施",width = 30,sort = 8) + @AuditWordField(orderNum = 2) + private String waterPreventionFacilities; + + + @ApiModelProperty(value = "污染防治设施正常情况汇总表--废气污染防治设施") + /** 污染防治设施正常情况汇总表--废气污染防治设施 */ + @Excel(name = "污染防治设施正常情况汇总表--废气污染防治设施",width = 30,sort = 9) + @AuditWordField(orderNum = 3) + private String gasPreventionFacilities; + + + @ApiModelProperty(value = "污染防治设施异常情况汇总表--废气/废水防治设施") + /** 污染防治设施异常情况汇总表--废气/废水防治设施 */ + @Excel(name = "污染防治设施异常情况汇总表--废气/废水防治设施",width = 30,sort = 10) + @AuditWordField(orderNum = 4) + private String preventionFacilities; + + + @ApiModelProperty(value = "污染防治设施-异常情况汇总表") + /** 污染防治设施-异常情况汇总表 */ + @Excel(name = "污染防治设施-异常情况汇总表",width = 30,sort = 11) + @AuditWordField(orderNum = 5) + private String abnormalSituation; + + + @ApiModelProperty(value = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表") + /** (正常监测时段)有组织废气污染物排放浓度监测数据统计表 */ + @Excel(name = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表",width = 30,sort = 12) + @AuditWordField(orderNum = 6) + private String organizedGasMonitoringData; + + + @ApiModelProperty(value = "(正常监测时段)废水污染物排放浓度监测数据统计表") + /** (正常监测时段)废水污染物排放浓度监测数据统计表 */ + @Excel(name = "(正常监测时段)废水污染物排放浓度监测数据统计表",width = 30,sort = 13) + @AuditWordField(orderNum = 7) + private String waterMonitoringData; + + + @ApiModelProperty(value = "(正常监测时段)超标率") + /** (正常监测时段)超标率 */ + @Excel(name = "(正常监测时段)超标率",width = 30,sort = 14) + @AuditWordField(orderNum = 8) + private String exceedingRate; + + + @ApiModelProperty(value = "非正常工况/特殊时段有组织废气污染物监测数据统计表") + /** 非正常工况/特殊时段有组织废气污染物监测数据统计表 */ + @Excel(name = "非正常工况/特殊时段有组织废气污染物监测数据统计表",width = 30,sort = 15) + @AuditWordField(orderNum = 9) + private String abnormalOrganizedGasMonitoringData; + + + @ApiModelProperty(value = "监测频次合规") + /** 监测频次合规 */ + @Excel(name = "监测频次合规",width = 30,sort = 16) + @AuditWordField(orderNum = 10) + private String monitoringFrequency; + + + @ApiModelProperty(value = "实际排放量") + /** 实际排放量 */ + @Excel(name = "实际排放量",width = 30,sort = 17) + @AuditWordField(orderNum = 11) + private String actualEmissions; + + + @ApiModelProperty(value = "超标排放信息") + /** 超标排放信息 */ + @Excel(name = "超标排放信息",width = 30,sort = 18) + @AuditWordField(orderNum = 12) + private String excessiveEmissions; + + + @ApiModelProperty(value = "附图附件-自行监测布点图") + /** 附图附件-自行监测布点图 */ + @Excel(name = "附图附件-自行监测布点图",width = 30,sort = 19) + @AuditWordField(orderNum = 13) + private String attachment; + + + @ApiModelProperty(value = "污染物实际排放量计算过程") + /** 污染物实际排放量计算过程 */ + @Excel(name = "污染物实际排放量计算过程",width = 30,sort = 20) + @AuditWordField(orderNum = 14) + private String calculationProcess; + + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注",width = 30,sort = 21) + private String remark; + + @ApiModelProperty(value = "审核表") + /** 核查表下载url */ +// @Excel(name = "审核表") + private String checklist; + + @TableField(exist = false) + private String city="唐山市"; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("recordId", getRecordId()) + .append("factoryId", getFactoryId()) + .append("reportTime", getReportTime()) + .append("pollDisLicenseCode", getLicenseCode()) + .append("reportSubmissionTime", getReportSubmissionTime()) + .append("auditTime", getAuditTime()) + .append("auditDeptId", getAuditDeptId()) + .append("auditDeptName", getAuditDeptName()) + .append("auditPersonId", getAuditPersonId()) + .append("auditPersonName", getAuditPersonName()) + .append("factoryBasicInfo", getFactoryBasicInfo()) + .append("waterPreventionFacilities", getWaterPreventionFacilities()) + .append("gasPreventionFacilities", getGasPreventionFacilities()) + .append("preventionFacilities", getPreventionFacilities()) + .append("abnormalSituation", getAbnormalSituation()) + .append("organizedGasMonitoringData", getOrganizedGasMonitoringData()) + .append("waterMonitoringData", getWaterMonitoringData()) + .append("exceedingRate", getExceedingRate()) + .append("abnormalOrganizedGasMonitoringData", getAbnormalOrganizedGasMonitoringData()) + .append("monitoringFrequency", getMonitoringFrequency()) + .append("actualEmissions", getActualEmissions()) + .append("excessiveEmissions", getExcessiveEmissions()) + .append("attachment", getAttachment()) + .append("calculationProcess", getCalculationProcess()) + .append("remark", getRemark()) + .append("checklist", getChecklist()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaRegulatoryIssues.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaRegulatoryIssues.java new file mode 100644 index 0000000..65cea12 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaRegulatoryIssues.java @@ -0,0 +1,174 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 区域证后监管问题总表对象 s_ra_area_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "区域证后监管问题总表") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_area_regulatory_issues") +public class SRaAreaRegulatoryIssues extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "所属区县") + private String districtName; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + private String industryCategory; + + @ApiModelProperty(value = "行业名称") + /** 行业类别 */ + @Excel(name = "所在行业") + @TableField(exist = false) + private String industryCategoryName; + + + @ApiModelProperty(value = "月份") + /** 月份 */ + @Excel(name = "月份") + private String month; + + + @ApiModelProperty(value = "治理设施异常问题个数") + /** 治理设施异常问题个数 */ + @Excel(name = "治理设施异常问题个数") + private Long abnormalProblemsNum; + + + @ApiModelProperty(value = "在线监测有效监测率") + /** 在线监测有效监测率 */ + @Excel(name = "在线监测有效监测率") + private BigDecimal effectiveMonitoringComplianceRate; + + + @ApiModelProperty(value = "在线监测达标率") + /** 在线监测达标率 */ + @Excel(name = "在线监测达标率") + private BigDecimal onlineMonitoringComplianceRate; + + + @ApiModelProperty(value = "手工监测频次合格率") + /** 手工监测频次合格率 */ + @Excel(name = "手工监测频次合格率") + private BigDecimal manualMonitoringFrequencyPassRate; + + + @ApiModelProperty(value = "系统核算实际排放合格率") + /** 系统核算实际排放合格率 */ + @Excel(name = "系统核算实际排放合格率") + private BigDecimal sysAccActualEmissionPassRate; + + + @ApiModelProperty(value = "执行报告实际排放合格率") + /** 执行报告实际排放合格率 */ + @Excel(name = "执行报告实际排放合格率") + private BigDecimal reportActualEmissionPassRate; + + + @ApiModelProperty(value = "重污染管控执行率") + /** 重污染管控执行率 */ + @Excel(name = "重污染管控执行率") + private BigDecimal heavyPollutionControlExacutiveRate; + + + @ApiModelProperty(value = "应提交执行报告企业数量") + /** 应提交执行报告企业数量 */ + @Excel(name = "应提交执行报告企业数量") + private Long totalEnterprises; + + + @ApiModelProperty(value = "执行报告提交率") + /** 执行报告提交率 */ + @Excel(name = "执行报告提交率") + private BigDecimal submissionRate; + + + @ApiModelProperty(value = "执行报告规范性存在问题企业数量") + /** 执行报告规范性存在问题企业数量 */ + @Excel(name = "执行报告规范性存在问题企业数量") + private Long problemsEnterprises; + + + @ApiModelProperty(value = "规范性问题率") + /** 规范性问题率 */ + @Excel(name = "规范性问题率") + private BigDecimal normativeQuestionRate; + + + @ApiModelProperty(value = "执行报告结果统计时间") + /** 执行报告结果统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "执行报告结果统计时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date reportResultStatisticalTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("industryCategory", getIndustryCategory()) + .append("month", getMonth()) + .append("abnormalProblemsNum", getAbnormalProblemsNum()) + .append("effectiveMonitoringComplianceRate", getEffectiveMonitoringComplianceRate()) + .append("onlineMonitoringComplianceRate", getOnlineMonitoringComplianceRate()) + .append("manualMonitoringFrequencyPassRate", getManualMonitoringFrequencyPassRate()) + .append("sysAccActualEmissionPassRate", getSysAccActualEmissionPassRate()) + .append("reportActualEmissionPassRate", getReportActualEmissionPassRate()) + .append("heavyPollutionControlExacutiveRate", getHeavyPollutionControlExacutiveRate()) + .append("totalEnterprises", getTotalEnterprises()) + .append("submissionRate", getSubmissionRate()) + .append("problemsEnterprises", getProblemsEnterprises()) + .append("normativeQuestionRate", getNormativeQuestionRate()) + .append("reportResultStatisticalTime", getReportResultStatisticalTime()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaTransferRateAnalysis.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaTransferRateAnalysis.java new file mode 100644 index 0000000..7692407 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaAreaTransferRateAnalysis.java @@ -0,0 +1,400 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 区域传输率分析 + */ +@ApiModel(description = "区域传输率分析") +@Data +@TableName(value = "s_ra_area_transfer_rate_analysis") +public class SRaAreaTransferRateAnalysis extends BaseEntity implements Serializable{ + public static final String COL_ID = "id"; + public static final String COL_COUNT_TYPE = "count_type"; + public static final String COL_DISTRICT_NAME = "district_name"; + public static final String COL_DISTRICT_CODE = "district_code"; + public static final String COL_STATISTICS_TIME = "statistics_time"; + public static final String COL_ELEC_TRANSMITT_NUM = "elec_transmitt_num"; + public static final String COL_ELEC_ACTUAL_TRANSMITT_NUM = "elec_actual_transmitt_num"; + public static final String COL_ELEC_TRANSMISSION_RATE = "elec_transmission_rate"; + public static final String COL_UNORGANIZED_TRANSMITT_MINUTE_NUM = "unorganized_transmitt_minute_num"; + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_MINUTE_NUM = "unorganized_actual_transmitt_minute_num"; + public static final String COL_UNORGANIZED_TRANSMISSION_MINUTE_RATE = "unorganized_transmission_minute_rate"; + public static final String COL_UNORGANIZED_TRANSMITT_HOUR_NUM = "unorganized_transmitt_hour_num"; + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_HOUR_NUM = "unorganized_actual_transmitt_hour_num"; + public static final String COL_UNORGANIZED_TRANSMISSION_HOUR_RATE = "unorganized_transmission_hour_rate"; + public static final String COL_UNORGANIZED_TRANSMITT_DAY_NUM = "unorganized_transmitt_day_num"; + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_DAY_NUM = "unorganized_actual_transmitt_day_num"; + public static final String COL_UNORGANIZED_TRANSMISSION_DAY_RATE = "unorganized_transmission_day_rate"; + public static final String COL_DCS_TRANSMITT_MINUTE_NUM = "dcs_transmitt_minute_num"; + public static final String COL_DCS_ACTUAL_TRANSMITT_NUM = "dcs_actual_transmitt_num"; + public static final String COL_DCS_TRANSMISSION_RATE = "dcs_transmission_rate"; + public static final String COL_GRIDDED_TRANSMITT_MINUTE_NUM = "gridded_transmitt_minute_num"; + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_MINUTE_NUM = "gridded_actual_transmitt_minute_num"; + public static final String COL_GRIDDED_TRANSMISSION_MINUTE_RATE = "gridded_transmission_minute_rate"; + public static final String COL_GRIDDED_TRANSMITT_HOUR_NUM = "gridded_transmitt_hour_num"; + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_HOUR_NUM = "gridded_actual_transmitt_hour_num"; + public static final String COL_GRIDDED_TRANSMISSION_HOUR_RATE = "gridded_transmission_hour_rate"; + public static final String COL_GRIDDED_TRANSMITT_DAY_NUM = "gridded_transmitt_day_num"; + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_GRIDDED_TRANSMITT_DAY_NUM = "gridded_actual_transmitt_gridded_transmitt_day_num"; + public static final String COL_GRIDDED_TRANSMISSION_DAY_RATE = "gridded_transmission_day_rate"; + public static final String COL_ONLINE_MONITORING__MINUTE_NUM = "online_monitoring__minute_num"; + public static final String COL_ONLINE_MONITORING_ACTUAL_MINUTE_NUM = "online_monitoring_actual_minute_num"; + public static final String COL_ONLINE_MONITORING_MINUTE_RATE = "online_monitoring_minute_rate"; + public static final String COL_ONLINE_MONITORING_HOUR_NUM = "online_monitoring_hour_num"; + public static final String COL_ONLINE_MONITORING_ACTUAL_HOUR_NUM = "online_monitoring_actual_hour_num"; + public static final String COL_ONLINE_MONITORING_HOUR_RATE = "online_monitoring_hour_rate"; + public static final String COL_ONLINE_MONITORING_DAY_NUM = "online_monitoring_day_num"; + public static final String COL_ONLINE_MONITORING_ACTUAL_DAY_NUM = "online_monitoring_actual_day_num"; + public static final String COL_ONLINE_MONITORING_DAY_RATE = "online_monitoring_day_rate"; + public static final String COL_CREATE_BY = "create_by"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_UPDATE_BY = "update_by"; + public static final String COL_UPDATE_TIME = "update_time"; + private static final long serialVersionUID = 1L; + /** + * id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "id") + private String id; + /** + * 统计类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) + */ + @TableField(value = "count_type") + @ApiModelProperty(value = "统计类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String countType; + /** + * 区域名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区县名称", width = 30,sort = 1) + private String districtName; + /** + * 区域编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value = "区域编码") + private String districtCode; + /** + * 统计时间 + */ + @TableField(value = "statistics_time") + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "统计时间", width = 30, sort = 2) + private String statisticsTime; + + @TableField(value = "data_time") + @ApiModelProperty(value = "统计时间") + private Date dataTime; + /** + * 分表计电-应传个数 + */ + @TableField(value = "elec_transmitt_num") + @ApiModelProperty(value = "分表计电-应传个数") + @Excel(name = "分表计电-应传个数",sort = 12,width = 25) + private Integer elecTransmittNum; + /** + * 分表计电-实际上传个数 + */ + @TableField(value = "elec_actual_transmitt_num") + @ApiModelProperty(value = "分表计电-实际上传个数") + @Excel(name = "分表计电-实际上传个数",sort = 13,width = 25) + private Integer elecActualTransmittNum; + /** + * 分表计电-传输率 + */ + @TableField(value = "elec_transmission_rate") + @ApiModelProperty(value = "分表计电-传输率") + @Excel(name = "分表计电-传输率",sort = 14,width = 25) + private BigDecimal elecTransmissionRate; + /** + * 无组织管控-分钟数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_minute_num") + @ApiModelProperty(value = "无组织管控-分钟数据-应传个数") +// @Excel(name = "无组织管控-分钟数据-应传个数",sort = 10,width = 30) + private Integer unorganizedTransmittMinuteNum; + /** + * 无组织管控-分钟数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_minute_num") + @ApiModelProperty(value = "无组织管控-分钟数据-实际上传个数") +// @Excel(name = "无组织管控-分钟数据-实际上传个数",sort = 11,width = 30) + private Integer unorganizedActualTransmittMinuteNum; + /** + * 无组织管控-分钟数据-传输率 + */ + @TableField(value = "unorganized_transmission_minute_rate") + @ApiModelProperty(value = "无组织管控-分钟数据-传输率") +// @Excel(name = "无组织管控-分钟数据-传输率",sort = 12,width = 30) + private BigDecimal unorganizedTransmissionMinuteRate; + /** + * 无组织管控-小时数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_hour_num") + @ApiModelProperty(value = "无组织管控-小时数据-应传个数") + @Excel(name = "无组织管控-小时数据-应传个数",sort = 15,width = 25) + private Integer unorganizedTransmittHourNum; + /** + * 无组织管控-小时数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_hour_num") + @ApiModelProperty(value = "无组织管控-小时数据-实际上传个数") + @Excel(name = "无组织管控-小时数据-实际上传个数",sort = 16,width = 25) + private Integer unorganizedActualTransmittHourNum; + /** + * 无组织管控-小时数据-传输率 + */ + @TableField(value = "unorganized_transmission_hour_rate") + @ApiModelProperty(value = "无组织管控-小时数据-传输率") + @Excel(name = "无组织管控-小时数据-传输率",sort = 17,width = 25) + private BigDecimal unorganizedTransmissionHourRate; + /** + * 无组织管控-日数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_day_num") + @ApiModelProperty(value = "无组织管控-日数据-应传个数") +// @Excel(name = "无组织管控-小时数据-传输率",sort = 15,width = 30) + private Integer unorganizedTransmittDayNum; + /** + * 无组织管控-日数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_day_num") + @ApiModelProperty(value = "无组织管控-日数据-实际上传个数") +// @Excel(name = "无组织管控-小时数据-传输率",sort = 15,width = 30) + private Integer unorganizedActualTransmittDayNum; + /** + * 无组织管控-日数据-传输率 + */ + @TableField(value = "unorganized_transmission_day_rate") + @ApiModelProperty(value = "无组织管控-日数据-传输率") +// @Excel(name = "无组织管控-小时数据-传输率",sort = 15,width = 30) + private BigDecimal unorganizedTransmissionDayRate; + /** + * dcs监控数据-应传个数 + */ + @TableField(value = "dcs_transmitt_minute_num") + @ApiModelProperty(value = "dcs监控数据-应传个数") + @Excel(name = "dcs监控数据-应传个数",sort = 18,width = 25) + private Integer dcsTransmittMinuteNum; + /** + * dcs监控数据-实际上传个数 + */ + @TableField(value = "dcs_actual_transmitt_num") + @ApiModelProperty(value = "dcs监控数据-实际上传个数") + @Excel(name = "dcs监控数据-实际上传个数",sort = 19,width = 25) + private Integer dcsActualTransmittNum; + /** + * dcs监控数据-传输率 + */ + @TableField(value = "dcs_transmission_rate") + @ApiModelProperty(value = "dcs监控数据-传输率") + @Excel(name = "dcs监控数据-传输率",sort = 20,width = 25) + private BigDecimal dcsTransmissionRate; + /** + * 网格化数据-分钟数据-应传个数 + */ + @TableField(value = "gridded_transmitt_minute_num") + @ApiModelProperty(value = "网格化数据-分钟数据-应传个数") +// @Excel(name = "网格化数据-分钟数据-应传个数",sort = 19,width = 30) + private Integer griddedTransmittMinuteNum; + /** + * 网格化数据-分钟数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_minute_num") + @ApiModelProperty(value = "网格化数据-分钟数据-实际上传个数") +// @Excel(name = "网格化数据-分钟数据-实际上传个数",sort = 20,width = 30) + private Integer griddedActualTransmittMinuteNum; + /** + * 网格化数据-分钟数据-传输率 + */ + @TableField(value = "gridded_transmission_minute_rate") + @ApiModelProperty(value = "网格化数据-分钟数据-传输率") +// @Excel(name = "网格化数据-分钟数据-传输率",sort = 21,width = 30) + private BigDecimal griddedTransmissionMinuteRate; + /** + * 网格化数据-小时数据-应传个数 + */ + @TableField(value = "gridded_transmitt_hour_num") + @ApiModelProperty(value = "网格化数据-小时数据-应传个数") + @Excel(name = "网格化数据-小时数据-应传个数",sort = 21,width = 30) + private Integer griddedTransmittHourNum; + /** + * 网格化数据-小时数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_hour_num") + @ApiModelProperty(value = "网格化数据-小时数据-实际上传个数") + @Excel(name = "网格化数据-小时数据-实际上传个数",sort = 22,width = 30) + private Integer griddedActualTransmittHourNum; + /** + * 网格化数据-小时数据-传输率 + */ + @TableField(value = "gridded_transmission_hour_rate") + @ApiModelProperty(value = "网格化数据-小时数据-传输率") + @Excel(name = "网格化数据-小时数据-传输率",sort = 23,width = 30) + private BigDecimal griddedTransmissionHourRate; + /** + * 网格化数据-日数据-应传个数 + */ + @TableField(value = "gridded_transmitt_day_num") + @ApiModelProperty(value = "网格化数据-日数据-应传个数") +// @Excel(name = "网格化数据-日数据-应传个数",sort = 25,width = 30) + private Integer griddedTransmittDayNum; + /** + * 网格化数据-日数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_gridded_transmitt_day_num") + @ApiModelProperty(value = "网格化数据-日数据-实际上传个数") +// @Excel(name = "网格化数据-日数据-实际上传个数",sort = 26,width = 30) + private Integer griddedActualTransmittGriddedTransmittDayNum; + /** + * 网格化数据-日数据-传输率 + */ + @TableField(value = "gridded_transmission_day_rate") + @ApiModelProperty(value = "网格化数据-日数据-传输率") +// @Excel(name = "网格化数据-日数据-传输率",sort = 27,width = 30) + private BigDecimal griddedTransmissionDayRate; + /** + * 在线监测-分钟数据-应传个数 + */ + @TableField(value = "online_monitoring_minute_num") + @ApiModelProperty(value = "在线监测-分钟数据-应传个数") + @Excel(name = "在线监测-分钟数据-应传个数", width = 30,sort = 3) + private Integer onlineMonitoringMinuteNum; + /** + * 在线监测-分钟数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_minute_num") + @ApiModelProperty(value = "在线监测-分钟数据-实际上传个数") + @Excel(name = "在线监测-分钟数据-实际上传个数", width = 30,sort = 4) + private Integer onlineMonitoringActualMinuteNum; + /** + * 在线监测-分钟数据-传输率 + */ + @TableField(value = "online_monitoring_minute_rate") + @ApiModelProperty(value = "在线监测-分钟数据-传输率") + @Excel(name = "在线监测-分钟数据-传输率", width = 30,sort = 5) + private BigDecimal onlineMonitoringMinuteRate; + /** + * 在线监测-小时数据-应传个数 + */ + @TableField(value = "online_monitoring_hour_num") + @ApiModelProperty(value = "在线监测-小时数据-应传个数") + @Excel(name = "在线监测-小时数据-应传个数", width = 30,sort = 6) + private Integer onlineMonitoringHourNum; + /** + * 在线监测-小时数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_hour_num") + @ApiModelProperty(value = "在线监测-小时数据-实际上传个数") + @Excel(name = "在线监测-小时数据-实际上传个数", width = 30,sort = 7) + private Integer onlineMonitoringActualHourNum; + /** + * 在线监测-小时数据-传输率 + */ + @TableField(value = "online_monitoring_hour_rate") + @ApiModelProperty(value = "在线监测-小时数据-传输率") + @Excel(name = "在线监测-小时数据-传输率", width = 30,sort = 8) + private BigDecimal onlineMonitoringHourRate; + /** + * 在线监测-日数据-应传个数 + */ + @TableField(value = "online_monitoring_day_num") + @ApiModelProperty(value = "在线监测-日数据-应传个数") + @Excel(name = "在线监测-日数据-应传个数", width = 30,sort = 9) + private Integer onlineMonitoringDayNum; + /** + * 在线监测-日数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_day_num") + @ApiModelProperty(value = "在线监测-日数据-实际上传个数") + @Excel(name = "在线监测-日数据-实际上传个数", width = 30,sort = 10) + private Integer onlineMonitoringActualDayNum; + /** + * 在线监测-日数据-传输率 + */ + @TableField(value = "online_monitoring_day_rate") + @ApiModelProperty(value = "在线监测-日数据-传输率") + @Excel(name = "在线监测-日数据-传输率", width = 30,sort = 11) + private BigDecimal onlineMonitoringDayRate; + /** + * 创建人 + */ + @TableField(value = "create_by") + @ApiModelProperty(value = "创建人") + private String createBy; + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @TableField(value = "update_by") + @ApiModelProperty(value = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("statisticsTime", getStatisticsTime()) + .append("elecTransmittNum", getElecTransmittNum()) + .append("elecActualTransmittNum", getElecActualTransmittNum()) + .append("elecTransmissionRate", getElecTransmissionRate()) + .append("unorganizedTransmittMinuteNum", getUnorganizedTransmittMinuteNum()) + .append("unorganizedActualTransmittMinuteNum", getUnorganizedActualTransmittMinuteNum()) + .append("unorganizedTransmissionMinuteRate", getUnorganizedTransmissionMinuteRate()) + .append("unorganizedTransmittHourNum", getUnorganizedTransmittHourNum()) + .append("unorganizedActualTransmittHourNum", getUnorganizedActualTransmittHourNum()) + .append("unorganizedTransmissionHourRate", getUnorganizedTransmissionHourRate()) + .append("dcsTransmittMinuteNum", getDcsTransmittMinuteNum()) + .append("dcsActualTransmittNum", getDcsActualTransmittNum()) + .append("dcsTransmissionRate", getDcsTransmissionRate()) + .append("griddedTransmittMinuteNum", getGriddedTransmittMinuteNum()) + .append("griddedActualTransmittMinuteNum", getGriddedActualTransmittMinuteNum()) + .append("griddedTransmissionMinuteRate", getGriddedTransmissionMinuteRate()) + .append("griddedTransmittHourNum", getGriddedTransmittHourNum()) + .append("griddedActualTransmittHourNum", getGriddedActualTransmittHourNum()) + .append("griddedTransmissionHourRate", getGriddedTransmissionHourRate()) + .append("griddedTransmittDayNum", getGriddedTransmittDayNum()) + .append("griddedActualTransmittGriddedTransmittDayNum", getGriddedActualTransmittGriddedTransmittDayNum()) + .append("griddedTransmissionDayRate", getGriddedTransmissionDayRate()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaControlScheme.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaControlScheme.java new file mode 100644 index 0000000..1c4a0c1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaControlScheme.java @@ -0,0 +1,118 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-减排方案管理-管控时间段信息对象 s_ra_control_scheme + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-减排方案管理-管控时间段信息") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_control_scheme") +public class SRaControlScheme extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "方案主键") + /** 方案主键 */ + @TableId(value="scheme_id",type = IdType.ASSIGN_UUID) + private String schemeId; + + + @ApiModelProperty(value = "方案名称") + /** 方案名称 */ + @Excel(name = "方案名称") + private String schemeName; + + + @ApiModelProperty(value = "预警级别(1-红色预警,2-橙色预警,3-黄色预警)") + /** 预警级别(1-红色预警,2-橙色预警,3-黄色预警) */ + @Excel(name = "预警级别(1-红色预警,2-橙色预警,3-黄色预警)") + private String warningLevel; + + + @ApiModelProperty(value = "管控措施") + /** 管控措施 */ + @Excel(name = "管控措施") + private String controlMeasures; + + + @ApiModelProperty(value = "管控开始时间") + /** 管控开始时间 */ + @Excel(name = "管控开始时间") + private String controlStartTime; + + + @ApiModelProperty(value = "管控截至时间") + /** 管控截至时间 */ + @Excel(name = "管控截至时间") + private String controlEndTime; + + + @ApiModelProperty(value = "停止国四及以下车辆通行(0-否,1-是)") + /** 停止国四及以下车辆通行(0-否,1-是) */ + @Excel(name = "停止国四及以下车辆通行(0-否,1-是)") + private String stopCar; + + + @ApiModelProperty(value = "基准开始时间") + /** 基准开始时间 */ + @Excel(name = "基准开始时间") + private String noControlStartTime; + + + @ApiModelProperty(value = "基准截至时间") + /** 基准截至时间 */ + @Excel(name = "基准截至时间") + private String noControlEndTime; + + + + + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("schemeId", getSchemeId()) + .append("schemeName", getSchemeName()) + .append("warningLevel", getWarningLevel()) + .append("controlMeasures", getControlMeasures()) + .append("controlStartTime", getControlStartTime()) + .append("controlEndTime", getControlEndTime()) + .append("stopCar", getStopCar()) + .append("noControlStartTime", getNoControlStartTime()) + .append("noControlEndTime", getNoControlEndTime()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsDiff.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsDiff.java new file mode 100644 index 0000000..edd9bd6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsDiff.java @@ -0,0 +1,91 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放量差异分析对象 s_ra_emissions_diff + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业排放量差异分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_emissions_diff") +public class SRaEmissionsDiff extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollutantName; + + + @ApiModelProperty(value = "系统核算排放量(t)") + /** 系统核算排放量(t) */ + @Excel(name = "系统核算排放量", readConverterExp = "t=") + private String sysEmissions; + + + @ApiModelProperty(value = "执行报告上报排放量(t)") + /** 执行报告上报排放量(t) */ + @Excel(name = "执行报告上报排放量", readConverterExp = "t=") + private String reportEmissions; + + + @ApiModelProperty(value = "排放差异率") + /** 排放差异率 */ + @Excel(name = "排放差异率") + private String diffRate; + + + @ApiModelProperty(value = "分析日期") + /** 分析日期 */ + @Excel(name = "分析日期") + private String analyseDate; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pollutantName", getPollutantName()) + .append("sysEmissions", getSysEmissions()) + .append("reportEmissions", getReportEmissions()) + .append("diffRate", getDiffRate()) + .append("analyseDate", getAnalyseDate()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsMonitoringVariance.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsMonitoringVariance.java new file mode 100644 index 0000000..b23b604 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsMonitoringVariance.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigInteger; +import java.util.Date; + + +/** + * 企业异常行为分析-企业排放分析-监测差异分析对象 s_ra_emissions_monitoring_variance + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "企业异常行为分析-企业排放分析-监测差异分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_emissions_monitoring_variance") +public class SRaEmissionsMonitoringVariance extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @Excel(name = "监测时间") + private Date stationTime; + + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + @Excel(name = "监测点id") + private String stationId; + + + @ApiModelProperty(value = "污染物种类id") + /** 污染物种类id */ + @Excel(name = "污染物种类id") + private String pollId; + + + @ApiModelProperty(value = "在线监测浓度") + /** 在线监测浓度 */ + @Excel(name = "在线监测浓度") + private Double concentrationOnline; + + + @ApiModelProperty(value = "自行监测浓度") + /** 自行监测浓度 */ + @Excel(name = "自行监测浓度") + private Double concentrationPm; + + + @ApiModelProperty(value = "执法监测浓度") + /** 执法监测浓度 */ + @Excel(name = "执法监测浓度") + private Double concentrationEtl; + + + @ApiModelProperty(value = "差异率") + /** 差异率 */ + @Excel(name = "差异率") + private Double differenceRatio; + + + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("stationTime", getStationTime()) + .append("stationId", getStationId()) + .append("pollId", getPollId()) + .append("concentrationOnline", getConcentrationOnline()) + .append("concentrationPm", getConcentrationPm()) + .append("concentrationEtl", getConcentrationEtl()) + .append("differenceRatio", getDifferenceRatio()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOver.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOver.java new file mode 100644 index 0000000..8102540 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOver.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 区域、行业排放量超标分析对象 s_ra_emissions_over + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "区域、行业排放量超标分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_emissions_over") +public class SRaEmissionsOver extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "行业id") + /** 行业id */ + @Excel(name = "行业id") + private String industryId; + + + @ApiModelProperty(value = "行业名称") + /** 行业名称 */ + @Excel(name = "行业名称") + private String industryName; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + @Excel(name = "区域编码") + private String regionCode; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区域名称") + private String regionName; + + + @ApiModelProperty(value = "统计年份") + /** 统计年份 */ + @Excel(name = "统计年份") + private String statYear; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String pollutantName; + + + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + /** 分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量 */ + @Excel(name = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + private String analyseType; + + + @ApiModelProperty(value = "许可排放量(t/a)") + /** 许可排放量(t/a) */ + @Excel(name = "许可排放量", readConverterExp = "t=/a") + private String permitEmmisons; + + + @ApiModelProperty(value = "实际排放量(t/a)") + /** 实际排放量(t/a) */ + @Excel(name = "实际排放量", readConverterExp = "t=/a") + private String realityEmmisons; + + + @ApiModelProperty(value = "排放占比(实际排放量/许可排放量,%)") + /** 排放占比(实际排放量/许可排放量,%) */ + @Excel(name = "排放占比", readConverterExp = "实=际排放量/许可排放量,%") + private String emmisonsRatio; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("industryId", getIndustryId()) + .append("industryName", getIndustryName()) + .append("regionCode", getRegionCode()) + .append("regionName", getRegionName()) + .append("statYear", getStatYear()) + .append("pollutantName", getPollutantName()) + .append("analyseType", getAnalyseType()) + .append("permitEmmisons", getPermitEmmisons()) + .append("realityEmmisons", getRealityEmmisons()) + .append("emmisonsRatio", getEmmisonsRatio()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOverFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOverFactory.java new file mode 100644 index 0000000..115578b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsOverFactory.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放量超标分析对象 s_ra_emissions_over_factory + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业排放量超标分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_emissions_over_factory") +public class SRaEmissionsOverFactory extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "统计范围") + /** 统计范围 */ + @Excel(name = "统计范围") + private String statScope; + + + @ApiModelProperty(value = "统计年份") + /** 统计年份 */ + @Excel(name = "统计年份") + private String statYear; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String pollutantName; + + + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + /** 分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量 */ + @Excel(name = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + private String analyseType; + + + @ApiModelProperty(value = "问题说明") + /** 问题说明 */ + @Excel(name = "问题说明") + private String problemDesc; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("statScope", getStatScope()) + .append("statYear", getStatYear()) + .append("pollutantName", getPollutantName()) + .append("analyseType", getAnalyseType()) + .append("problemDesc", getProblemDesc()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStandard.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStandard.java new file mode 100644 index 0000000..3c3a942 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStandard.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.ToString; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业排放水平分析对象 s_ra_emissions_standard + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业排放水平分析") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_emissions_standard") +public class SRaEmissionsStandard extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用''、''拼接)") + /** 行业类别名称(多个使用''、''拼接) */ + @Excel(name = "行业名称") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用''、''拼接)") + /** 行业类别编码(多个使用''、''拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区县名称") + private String districtName; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + + @ApiModelProperty(value = "分析年份") + /** 分析年份 */ + @Excel(name = "分析年份") + private String analyseYear; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String pollutantName; + + + @ApiModelProperty(value = "区域排名") + /** 区域排名 */ + @Excel(name = "区域排名") + private String regionRanking; + + + @ApiModelProperty(value = "行业排名") + /** 行业排名 */ + @Excel(name = "行业排名") + private String industryRanking; + + + @ApiModelProperty(value = "是否排放大户(0-否, 1-是)") + /** 是否排放大户 */ + @Excel(name = "是否排放大户", readConverterExp = "0=否,1=是") + private String isEmissionsBigUser; + + + @ApiModelProperty(value = "排放规模") + /** 排放规模 */ + @Excel(name = "排放规模") + private String emissionsScale; + + + @ApiModelProperty(value = "单位产品排放量强度") + /** 单位产品排放量强度 */ + @Excel(name = "单位产品排放量强度") + private String unitEmissions; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStatistics.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStatistics.java new file mode 100644 index 0000000..7a2d2c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaEmissionsStatistics.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 企业异常行为分析-异常行为统计分析 + */ +@ApiModel(description="企业异常行为分析-异常行为统计分析") +@Data +@TableName(value = "s_ra_emissions_statistics") +public class SRaEmissionsStatistics implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + + + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名字") + private String factoryName; + + /** + * 行业id + */ + @TableField(value = "industry_id") + @ApiModelProperty(value="行业id") + private String industryId; + + /** + * 行业名称 + */ + @TableField(value = "industry_name") + @ApiModelProperty(value="行业名称") + private String industryName; + + /** + * 区域编码 + */ + @TableField(value = "region_code") + @ApiModelProperty(value="区域编码") + private String regionCode; + + /** + * 区域名称 + */ + @TableField(value = "region_name") + @ApiModelProperty(value="区域名称") + private String regionName; + + /** + * 问题类型名字id + */ + @TableField(value = "problem_id") + @ApiModelProperty(value="问题类型名字id") + private String problemId; + + /** + * 问题类型名字 + */ + @TableField(value = "problem_name") + @ApiModelProperty(value="问题类型名字") + private String problemName; + + /** + * 问题数量 + */ + @TableField(value = "problem_value") + @ApiModelProperty(value="问题数量") + private Long problemValue; + + /** + * 问题时间 + */ + @TableField(value = "problem_time") + @ApiModelProperty(value="问题时间") + private Date problemTime; + + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_INDUSTRY_ID = "industry_id"; + + public static final String COL_INDUSTRY_NAME = "industry_name"; + + public static final String COL_REGION_CODE = "region_code"; + + public static final String COL_REGION_NAME = "region_name"; + + public static final String COL_PROBLEM_ID = "problem_id"; + + public static final String COL_PROBLEM_NAME = "problem_name"; + + public static final String COL_PROBLEM_VALUE = "problem_value"; + + public static final String COL_PROBLEM_TIME = "problem_time"; + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryRegulatoryIssues.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryRegulatoryIssues.java new file mode 100644 index 0000000..b8c7cac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryRegulatoryIssues.java @@ -0,0 +1,175 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 企业证后监管问题总对象 s_ra_factory_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "企业证后监管问题总") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_factory_regulatory_issues") +public class SRaFactoryRegulatoryIssues extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "id") + /** id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + //@Excel(name = "执行报告类型", readConverterExp = "Y=年报,S=季报,M=月报,d=日报") + private String reportType; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "排污许可证编号") + /** 排污许可证编号 */ + @Excel(name = "许可证编号") + private String pollDisLicenseCode; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称") + @TableField(exist = false) + private String factoryName; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "所在区县") + @TableField(exist = false) + private String countryName; + + @ApiModelProperty(value = "行业类别名称") + /** 行业类别名称 */ + @Excel(name = "所在行业") + @TableField(exist = false) + private String industryCategoryName; + + @ApiModelProperty(value = "月份") + /** 月份 */ + @Excel(name = "月份") + private String month; + + @ApiModelProperty(value = "治理设施异常问题个数") + /** 治理设施异常问题个数 */ + @Excel(name = "治理设施异常问题个数") + private String abnormalProblemsNum; + + + @ApiModelProperty(value = "在线监测有效监测率") + /** 在线监测有效监测率 */ + @Excel(name = "在线监测有效监测率") + private String effectiveMonitoringComplianceRate; + + + @ApiModelProperty(value = "在线监测达标率") + /** 在线监测达标率 */ + @Excel(name = "在线监测达标率") + private String onlineMonitoringComplianceRate; + + + @ApiModelProperty(value = "手工监测频次合格率") + /** 手工监测频次合格率 */ + @Excel(name = "手工监测频次合格率") + private String manualMonitoringFrequencyPassRate; + + + @ApiModelProperty(value = "系统核算实际排放合格率") + /** 系统核算实际排放合格率 */ + @Excel(name = "系统核算实际排放合格率") + private String sysAccActualEmissionPassRate; + + + @ApiModelProperty(value = "执行报告实际排放合格率") + /** 执行报告实际排放合格率 */ + @Excel(name = "执行报告实际排放合格率") + private String reportActualEmissionPassRate; + + + @ApiModelProperty(value = "重污染管控执行率") + /** 重污染管控执行率 */ + @Excel(name = "重污染管控执行率") + private String heavyPollutionControlExacutiveRate; + + + @ApiModelProperty(value = "是否需要提交执行报告") + /** 是否需要提交执行报告 */ + @Excel(name = "是否需要提交执行报告") + private String reportNeedSubmit; + + + @ApiModelProperty(value = "执行报告是否提交") + /** 执行报告是否提交 */ + @Excel(name = "执行报告是否提交") + private String reportSubmit; + + + @ApiModelProperty(value = "执行报告规范性") + /** 执行报告规范性 */ + @Excel(name = "执行报告规范性") + private String reportNormative; + + + @ApiModelProperty(value = "执行报告结果统计时间") + /** 执行报告结果统计时间 */ + @Excel(name = "执行报告结果统计时间") + private Date reportStatisticsTime; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("factoryId", getFactoryId()) + .append("pollDisLicenseCode", getPollDisLicenseCode()) + .append("month", getMonth()) + .append("abnormalProblemsNum", getAbnormalProblemsNum()) + .append("effectiveMonitoringComplianceRate", getEffectiveMonitoringComplianceRate()) + .append("onlineMonitoringComplianceRate", getOnlineMonitoringComplianceRate()) + .append("manualMonitoringFrequencyPassRate", getManualMonitoringFrequencyPassRate()) + .append("sysAccActualEmissionPassRate", getSysAccActualEmissionPassRate()) + .append("reportActualEmissionPassRate", getReportActualEmissionPassRate()) + .append("heavyPollutionControlExacutiveRate", getHeavyPollutionControlExacutiveRate()) + .append("reportNeedSubmit", getReportNeedSubmit()) + .append("reportSubmit", getReportSubmit()) + .append("reportNormative", getReportNormative()) + .append("reportStatisticsTime", getReportStatisticsTime()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryTransferRateAnalysis.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryTransferRateAnalysis.java new file mode 100644 index 0000000..954753b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaFactoryTransferRateAnalysis.java @@ -0,0 +1,464 @@ +package cn.cecep.talroad.domain.analysis; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/** + * 企业传输率分析 + */ +@ApiModel(description = "企业传输率分析") +@Data +@TableName(value = "s_ra_factory_transfer_rate_analysis") +public class SRaFactoryTransferRateAnalysis implements Serializable { + public static final String COL_DATA_SOURCE = "data_source"; + public static final String COL_TRANSMITT_NUM = "transmitt_num"; + public static final String COL_ACTUAL_TRANSMITT_NUM = "actual_transmitt_num"; + public static final String COL_TRANSMISSION_RATE = "transmission_rate"; + public static final String COL_DIV_CODE = "div_code"; + public static final String COL_DIV_NAME = "div_name"; + /** + * id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "id") + private String id; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名") + private String factoryName; + + /** + * 区域名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value = "区域名称") + private String districtName; + + /** + * 区域编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value = "区域编码") + private String districtCode; + + /** + * 所属行业名称 + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value = "所属行业名称") + private String industryCategoryName; + + /** + * 所属行业编码 + */ + @TableField(value = "industry_category_code") + @ApiModelProperty(value = "所属行业编码") + private String industryCategoryCode; + + /** + * 点位编号/设备编号 + */ + @TableField(value = "outlet_code") + @ApiModelProperty(value = "点位编号/设备编号") + private String outletCode; + + /** + * 点位名称/设备名称 + */ + @TableField(value = "outlet_name") + @ApiModelProperty(value = "点位名称/设备名称") + private String outletName; + + /** + * 统计类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)年:2023,季:20231,月:202301,日:20230101 + */ + @TableField(value = "count_type") + @ApiModelProperty(value = "统计类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)年:2023,季:20231,月:202301,日:20230101") + private String countType; + + /** + * 统计时间 + */ + @TableField(value = "statistics_time") + @ApiModelProperty(value = "统计时间") + private String statisticsTime; + + @TableField(value = "data_time") + @ApiModelProperty(value = "统计时间") + private Date dataTime; + + /** + * 分表计电-应传个数 + */ + @TableField(value = "elec_transmitt_num") + @ApiModelProperty(value = "分表计电-应传个数") + private Integer elecTransmittNum; + + /** + * 分表计电-实际上传个数 + */ + @TableField(value = "elec_actual_transmitt_num") + @ApiModelProperty(value = "分表计电-实际上传个数") + private Integer elecActualTransmittNum; + + /** + * 分表计电-传输率 + */ + @TableField(value = "elec_transmission_rate") + @ApiModelProperty(value = "分表计电-传输率") + private BigDecimal elecTransmissionRate; + + /** + * 无组织管控-分钟数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_minute_num") + @ApiModelProperty(value = "无组织管控-分钟数据-应传个数") + private Integer unorganizedTransmittMinuteNum; + + /** + * 无组织管控-分钟数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_minute_num") + @ApiModelProperty(value = "无组织管控-分钟数据-实际上传个数") + private Integer unorganizedActualTransmittMinuteNum; + + /** + * 无组织管控-分钟数据-传输率 + */ + @TableField(value = "unorganized_transmission_minute_rate") + @ApiModelProperty(value = "无组织管控-分钟数据-传输率") + private BigDecimal unorganizedTransmissionMinuteRate; + + /** + * 无组织管控-小时数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_hour_num") + @ApiModelProperty(value = "无组织管控-小时数据-应传个数") + private Integer unorganizedTransmittHourNum; + + /** + * 无组织管控-小时数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_hour_num") + @ApiModelProperty(value = "无组织管控-小时数据-实际上传个数") + private Integer unorganizedActualTransmittHourNum; + + /** + * 无组织管控-小时数据-传输率 + */ + @TableField(value = "unorganized_transmission_hour_rate") + @ApiModelProperty(value = "无组织管控-小时数据-传输率") + private BigDecimal unorganizedTransmissionHourRate; + + /** + * 无组织管控-日数据-应传个数 + */ + @TableField(value = "unorganized_transmitt_day_num") + @ApiModelProperty(value = "无组织管控-日数据-应传个数") + private Integer unorganizedTransmittDayNum; + + /** + * 无组织管控-日数据-实际上传个数 + */ + @TableField(value = "unorganized_actual_transmitt_day_num") + @ApiModelProperty(value = "无组织管控-日数据-实际上传个数") + private Integer unorganizedActualTransmittDayNum; + + /** + * 无组织管控-日数据-传输率 + */ + @TableField(value = "unorganized_transmission_day_rate") + @ApiModelProperty(value = "无组织管控-日数据-传输率") + private BigDecimal unorganizedTransmissionDayRate; + + /** + * dcs监控数据-应传个数 + */ + @TableField(value = "dcs_transmitt_minute_num") + @ApiModelProperty(value = "dcs监控数据-应传个数") + private Integer dcsTransmittMinuteNum; + + /** + * dcs监控数据-实际上传个数 + */ + @TableField(value = "dcs_actual_transmitt_num") + @ApiModelProperty(value = "dcs监控数据-实际上传个数") + private Integer dcsActualTransmittNum; + + /** + * dcs监控数据-传输率 + */ + @TableField(value = "dcs_transmission_rate") + @ApiModelProperty(value = "dcs监控数据-传输率") + private BigDecimal dcsTransmissionRate; + + /** + * 网格化数据-分钟数据-应传个数 + */ + @TableField(value = "gridded_transmitt_minute_num") + @ApiModelProperty(value = "网格化数据-分钟数据-应传个数") + private Integer griddedTransmittMinuteNum; + + /** + * 网格化数据-分钟数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_minute_num") + @ApiModelProperty(value = "网格化数据-分钟数据-实际上传个数") + private Integer griddedActualTransmittMinuteNum; + + /** + * 网格化数据-分钟数据-传输率 + */ + @TableField(value = "gridded_transmission_minute_rate") + @ApiModelProperty(value = "网格化数据-分钟数据-传输率") + private BigDecimal griddedTransmissionMinuteRate; + + /** + * 网格化数据-小时数据-应传个数 + */ + @TableField(value = "gridded_transmitt_hour_num") + @ApiModelProperty(value = "网格化数据-小时数据-应传个数") + private Integer griddedTransmittHourNum; + + /** + * 网格化数据-小时数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_hour_num") + @ApiModelProperty(value = "网格化数据-小时数据-实际上传个数") + private Integer griddedActualTransmittHourNum; + + /** + * 网格化数据-小时数据-传输率 + */ + @TableField(value = "gridded_transmission_hour_rate") + @ApiModelProperty(value = "网格化数据-小时数据-传输率") + private BigDecimal griddedTransmissionHourRate; + + /** + * 网格化数据-日数据-应传个数 + */ + @TableField(value = "gridded_transmitt_day_num") + @ApiModelProperty(value = "网格化数据-日数据-应传个数") + private Integer griddedTransmittDayNum; + + /** + * 网格化数据-日数据-实际上传个数 + */ + @TableField(value = "gridded_actual_transmitt_gridded_transmitt_day_num") + @ApiModelProperty(value = "网格化数据-日数据-实际上传个数") + private Integer griddedActualTransmittGriddedTransmittDayNum; + + /** + * 网格化数据-日数据-传输率 + */ + @TableField(value = "gridded_transmission_day_rate") + @ApiModelProperty(value = "网格化数据-日数据-传输率") + private BigDecimal griddedTransmissionDayRate; + + /** + * 在线监测-分钟数据-应传个数 + */ + @TableField(value = "online_monitoring_minute_num") + @ApiModelProperty(value = "在线监测-分钟数据-应传个数") + private Integer onlineMonitoringMinuteNum; + + /** + * 在线监测-分钟数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_minute_num") + @ApiModelProperty(value = "在线监测-分钟数据-实际上传个数") + private Integer onlineMonitoringActualMinuteNum; + + /** + * 在线监测-分钟数据-传输率 + */ + @TableField(value = "online_monitoring_minute_rate") + @ApiModelProperty(value = "在线监测-分钟数据-传输率") + private BigDecimal onlineMonitoringMinuteRate; + + /** + * 在线监测-小时数据-应传个数 + */ + @TableField(value = "online_monitoring_hour_num") + @ApiModelProperty(value = "在线监测-小时数据-应传个数") + private Integer onlineMonitoringHourNum; + + /** + * 在线监测-小时数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_hour_num") + @ApiModelProperty(value = "在线监测-小时数据-实际上传个数") + private Integer onlineMonitoringActualHourNum; + + /** + * 在线监测-小时数据-传输率 + */ + @TableField(value = "online_monitoring_hour_rate") + @ApiModelProperty(value = "在线监测-小时数据-传输率") + private BigDecimal onlineMonitoringHourRate; + + /** + * 在线监测-日数据-应传个数 + */ + @TableField(value = "online_monitoring_day_num") + @ApiModelProperty(value = "在线监测-日数据-应传个数") + private Integer onlineMonitoringDayNum; + + /** + * 在线监测-日数据-实际上传个数 + */ + @TableField(value = "online_monitoring_actual_day_num") + @ApiModelProperty(value = "在线监测-日数据-实际上传个数") + private Integer onlineMonitoringActualDayNum; + + /** + * 在线监测-日数据-传输率 + */ + @TableField(value = "online_monitoring_day_rate") + @ApiModelProperty(value = "在线监测-日数据-传输率") + private BigDecimal onlineMonitoringDayRate; + + /** + * 创建人 + */ + @TableField(value = "create_by") + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @TableField(value = "update_by") + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_DISTRICT_NAME = "district_name"; + + public static final String COL_DISTRICT_CODE = "district_code"; + + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; + + public static final String COL_INDUSTRY_CATEGORY_CODE = "industry_category_code"; + + public static final String COL_OUTLET_CODE = "outlet_code"; + + public static final String COL_OUTLET_NAME = "outlet_name"; + + public static final String COL_COUNT_TYPE = "count_type"; + + public static final String COL_STATISTICS_TIME = "statistics_time"; + + public static final String COL_ELEC_TRANSMITT_NUM = "elec_transmitt_num"; + + public static final String COL_ELEC_ACTUAL_TRANSMITT_NUM = "elec_actual_transmitt_num"; + + public static final String COL_ELEC_TRANSMISSION_RATE = "elec_transmission_rate"; + + public static final String COL_UNORGANIZED_TRANSMITT_MINUTE_NUM = "unorganized_transmitt_minute_num"; + + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_MINUTE_NUM = "unorganized_actual_transmitt_minute_num"; + + public static final String COL_UNORGANIZED_TRANSMISSION_MINUTE_RATE = "unorganized_transmission_minute_rate"; + + public static final String COL_UNORGANIZED_TRANSMITT_HOUR_NUM = "unorganized_transmitt_hour_num"; + + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_HOUR_NUM = "unorganized_actual_transmitt_hour_num"; + + public static final String COL_UNORGANIZED_TRANSMISSION_HOUR_RATE = "unorganized_transmission_hour_rate"; + + public static final String COL_UNORGANIZED_TRANSMITT_DAY_NUM = "unorganized_transmitt_day_num"; + + public static final String COL_UNORGANIZED_ACTUAL_TRANSMITT_DAY_NUM = "unorganized_actual_transmitt_day_num"; + + public static final String COL_UNORGANIZED_TRANSMISSION_DAY_RATE = "unorganized_transmission_day_rate"; + + public static final String COL_DCS_TRANSMITT_MINUTE_NUM = "dcs_transmitt_minute_num"; + + public static final String COL_DCS_ACTUAL_TRANSMITT_NUM = "dcs_actual_transmitt_num"; + + public static final String COL_DCS_TRANSMISSION_RATE = "dcs_transmission_rate"; + + public static final String COL_GRIDDED_TRANSMITT_MINUTE_NUM = "gridded_transmitt_minute_num"; + + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_MINUTE_NUM = "gridded_actual_transmitt_minute_num"; + + public static final String COL_GRIDDED_TRANSMISSION_MINUTE_RATE = "gridded_transmission_minute_rate"; + + public static final String COL_GRIDDED_TRANSMITT_HOUR_NUM = "gridded_transmitt_hour_num"; + + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_HOUR_NUM = "gridded_actual_transmitt_hour_num"; + + public static final String COL_GRIDDED_TRANSMISSION_HOUR_RATE = "gridded_transmission_hour_rate"; + + public static final String COL_GRIDDED_TRANSMITT_DAY_NUM = "gridded_transmitt_day_num"; + + public static final String COL_GRIDDED_ACTUAL_TRANSMITT_GRIDDED_TRANSMITT_DAY_NUM = "gridded_actual_transmitt_gridded_transmitt_day_num"; + + public static final String COL_GRIDDED_TRANSMISSION_DAY_RATE = "gridded_transmission_day_rate"; + + public static final String COL_ONLINE_MONITORING__MINUTE_NUM = "online_monitoring__minute_num"; + + public static final String COL_ONLINE_MONITORING_ACTUAL_MINUTE_NUM = "online_monitoring_actual_minute_num"; + + public static final String COL_ONLINE_MONITORING_MINUTE_RATE = "online_monitoring_minute_rate"; + + public static final String COL_ONLINE_MONITORING_HOUR_NUM = "online_monitoring_hour_num"; + + public static final String COL_ONLINE_MONITORING_ACTUAL_HOUR_NUM = "online_monitoring_actual_hour_num"; + + public static final String COL_ONLINE_MONITORING_HOUR_RATE = "online_monitoring_hour_rate"; + + public static final String COL_ONLINE_MONITORING_DAY_NUM = "online_monitoring_day_num"; + + public static final String COL_ONLINE_MONITORING_ACTUAL_DAY_NUM = "online_monitoring_actual_day_num"; + + public static final String COL_ONLINE_MONITORING_DAY_RATE = "online_monitoring_day_rate"; + + public static final String COL_CREATE_BY = "create_by"; + + public static final String COL_CREATE_TIME = "create_time"; + + public static final String COL_UPDATE_BY = "update_by"; + + public static final String COL_UPDATE_TIME = "update_time"; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasFlag.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasFlag.java new file mode 100644 index 0000000..0e9c041 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasFlag.java @@ -0,0 +1,99 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 java.math.BigDecimal; +import java.util.Date; + + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废气在线监测标记汇总对象 s_ra_gas_flag + */ +@ApiModel(value = "关联分析系统-企业异常行为分析-企业排放分析-废气在线监测标记汇总") +@Data +@TableName("s_ra_gas_flag") +public class SRaGasFlag extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "监测点id") + private String outletId; + + + @ApiModelProperty(value = "数据标记") + private String dataFlag; + + + @ApiModelProperty(value = "开始时间") + private Date startTime; + + + @ApiModelProperty(value = "结束时间") + private Date endTime; + + + @ApiModelProperty(value = "时长") + private BigDecimal duration; + + + @ApiModelProperty(value = "平均时长") + private BigDecimal durationAvg; + + + @ApiModelProperty(value = "废气排放量(m³)") + private BigDecimal oxygenEmission; + + + @ApiModelProperty(value = "烟尘折算浓度(mg/m³)") + private BigDecimal smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量(kg)") + private BigDecimal smokeDustEmission; + + + @ApiModelProperty(value = "NOx折算浓度(mg/m³)") + private BigDecimal noxConvert; + + + @ApiModelProperty(value = "NOx排放量(kg)") + private BigDecimal noxEmission; + + + @ApiModelProperty(value = "SO₂折算浓度(mg/m³)") + private BigDecimal so2Convert; + + + @ApiModelProperty(value = "SO₂排放量(kg)") + private BigDecimal so2Emission; + + + @ApiModelProperty(value = "氧含量均值(%)") + private BigDecimal o3; + + + @ApiModelProperty(value = "烟气流速平均值(m/s)") + private BigDecimal smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气温度平均值(℃)") + private BigDecimal smokeDustTem; + + + @ApiModelProperty(value = "烟气压力平均值(千帕)") + private BigDecimal smokeDustPressure; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedEmissions.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedEmissions.java new file mode 100644 index 0000000..5f81572 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedEmissions.java @@ -0,0 +1,186 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 许可排放量废气明细对象 s_ra_gas_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废气明细") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_gas_permitted_emissions") +public class SRaGasPermittedEmissions extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + @Excel(name = "排口类型",sort = 6,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 4) + private String moitorName; + + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + @Excel(name = "监测类型",sort = 7,separator = "1=自动监测,2=手工检测") + private String monitorType; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号",sort = 5) + private String outletCode; + + + @ApiModelProperty(value = "NOx排放量(kg)") + /** NOx排放量(kg) */ + @Excel(name = "NOx排放量(kg)",sort = 8,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal nox; + + + @ApiModelProperty(value = "NOx修约量(kg)") + /** NOx修约量(kg) */ + private BigDecimal noxAmendments; + + + @ApiModelProperty(value = "SO2排放量(kg)") + /** SO2排放量(kg) */ + @Excel(name = "SO2排放量(kg)", sort = 9,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal so2; + + + @ApiModelProperty(value = "so2修约量(kg)") + /** so2修约量(kg) */ + private BigDecimal so2Amendments; + + + @ApiModelProperty(value = "颗粒物排放量(kg)") + /** 颗粒物排放量(kg) */ + @Excel(name = "颗粒物排放量(kg)",sort = 10,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal pm; + + + @ApiModelProperty(value = "颗粒物修约量(kg)") + /** 颗粒物修约量(kg) */ + private BigDecimal pmAmendments; + + + @ApiModelProperty(value = "vocs排放量(kg)") + /** vocs排放量(kg) */ + @Excel(name = "VOCs排放量(kg)", sort = 11,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal vocs; + + + @ApiModelProperty(value = "vocs修约量(kg)") + /** vocs修约量(kg) */ + private BigDecimal vocsAmendments; + + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("nox", getNox()) + .append("noxAmendments", getNoxAmendments()) + .append("so2", getSo2()) + .append("so2Amendments", getSo2Amendments()) + .append("pm", getPm()) + .append("pmAmendments", getPmAmendments()) + .append("vocs", getVocs()) + .append("vocsAmendments", getVocsAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedOnline.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedOnline.java new file mode 100644 index 0000000..ee2d491 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaGasPermittedOnline.java @@ -0,0 +1,190 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 在线排放量废气明细对象 s_ra_gas_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "在线排放量废气明细") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_gas_permitted_online") +public class SRaGasPermittedOnline extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + @Excel(name = "排口类型",sort = 6,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 4) + private String moitorName; + + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号",sort = 5) + private String outletCode; + + + @ApiModelProperty(value = "NOx排放量(kg)") + /** NOx排放量(kg) */ + @Excel(name = "NOx排放量(kg)",sort = 7,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal nox; + + + @ApiModelProperty(value = "NOx修约量(kg)") + /** NOx修约量(kg) */ + private BigDecimal noxAmendments; + + + @ApiModelProperty(value = "SO2排放量(kg)") + /** SO2排放量(kg) */ + @Excel(name = "SO2排放量(kg)", sort = 8,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal so2; + + + @ApiModelProperty(value = "so2修约量(kg)") + /** so2修约量(kg) */ + private BigDecimal so2Amendments; + + + @ApiModelProperty(value = "颗粒物排放量(kg)") + /** 颗粒物排放量(kg) */ + @Excel(name = "颗粒物排放量(kg)",sort = 9,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal pm; + + + @ApiModelProperty(value = "颗粒物修约量(kg)") + /** 颗粒物修约量(kg) */ + private BigDecimal pmAmendments; + + + @ApiModelProperty(value = "vocs排放量(kg)") + /** vocs排放量(kg) */ + @Excel(name = "VOCs排放量(kg)", sort = 10,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal vocs; + + + @ApiModelProperty(value = "vocs修约量(kg)") + /** vocs修约量(kg) */ + private BigDecimal vocsAmendments; + + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + + + + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算,无效数据是否用修约量计算") + /** 纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算,无效数据是否用修约量计算 */ + private String includedEmissions; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("nox", getNox()) + .append("noxAmendments", getNoxAmendments()) + .append("so2", getSo2()) + .append("so2Amendments", getSo2Amendments()) + .append("pm", getPm()) + .append("pmAmendments", getPmAmendments()) + .append("vocs", getVocs()) + .append("vocsAmendments", getVocsAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .append("includedEmissions", getIncludedEmissions()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsGas.java new file mode 100644 index 0000000..96661b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsGas.java @@ -0,0 +1,160 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * 手工监测排放监控-气污染要素对象 s_ra_handwork_emissions_gas + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "手工监测排放监控-气污染要素") +@Data +@EqualsAndHashCode(callSuper = false) +@ToString +@TableName("s_ra_handwork_emissions_gas") +public class SRaHandworkEmissionsGas extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物") + /** 污染物种类 */ + @Excel(name = "污染物") + private String pollutantName; + + @ApiModelProperty(value = "污染物因子编码") + /** 污染物因子编码 */ + private String pollutantCode; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @Excel(name = "监测时间", dateFormat = "yyyy-MM-dd HH:mm") + private Date monitorTime; + + + @ApiModelProperty(value = "监测浓度") + /** 监测浓度 */ + @Excel(name = "监测浓度") + private String monitorVal; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String unit; + + + @ApiModelProperty(value = "烟气流量(m³/h)") + /** 烟气流量(m³/h) */ + @Excel(name = "烟气流量(m³/h)") + private String flueGasFlow; + + + @ApiModelProperty(value = "核算周期开始") + /** 核算周期开始 */ + @JsonFormat(pattern = "yyyyMMdd") + private Date checkCycleStart; + + + @ApiModelProperty(value = "核算周期结束") + /** 核算周期结束 */ + @JsonFormat(pattern = "yyyyMMdd") + private Date checkCycleEnd; + + @ApiModelProperty("核算周期(前端展示使用)") + @Excel(name = "核算周期") + @TableField(exist = false) + private String checkTime; + + + @ApiModelProperty(value = "核算周期生产运行时间") + /** 核算周期生产运行时间 */ + @Excel(name = "核算周期生产运行时间") + private String checkRunTime; + + + @ApiModelProperty(value = "运行时间来源") + /** 运行时间来源 */ + @Excel(name = "运行时间来源") + private String runTimeSource; + + + @ApiModelProperty(value = "排放量(t)") + /** 排放量(t) */ + @Excel(name = "排放量(t)") + private String emissions; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsWater.java new file mode 100644 index 0000000..cb0af8f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaHandworkEmissionsWater.java @@ -0,0 +1,160 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + + +/** + * 手工监测排放监控-水污染要素对象 s_ra_handwork_emissions_water + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "手工监测排放监控-水污染要素") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_handwork_emissions_water") +public class SRaHandworkEmissionsWater extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物") + /** 污染物种类 */ + @Excel(name = "污染物") + private String pollutantName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ +// @Excel(name = "污染物编码") + private String pollutantCode; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "监测时间", dateFormat = "yyyy-MM-dd") + private Date monitorTime; + + + @ApiModelProperty(value = "监测浓度") + /** 监测浓度 */ + @Excel(name = "监测浓度") + private String monitorVal; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String unit; + + + @ApiModelProperty(value = "废水流量(m³/d)") + /** 烟气流量(m³/h) */ + @Excel(name = "废水流量(m³/d)") + private String wasteWaterFlow; + + + @ApiModelProperty(value = "核算周期开始") + /** 核算周期开始 */ + @JsonFormat(pattern = "yyyyMMdd") + private Date checkCycleStart; + + + @ApiModelProperty(value = "核算周期结束") + /** 核算周期结束 */ + @JsonFormat(pattern = "yyyyMMdd") + private Date checkCycleEnd; + + @ApiModelProperty("核算周期(前端展示使用)") + @Excel(name = "核算周期") + @TableField(exist = false) + private String checkTime; + + + @ApiModelProperty(value = "核算周期生产运行时间") + /** 核算周期生产运行时间 */ + @Excel(name = "核算周期生产运行时间") + private String checkRunTime; + + + @ApiModelProperty(value = "运行时间来源") + /** 运行时间来源 */ + @Excel(name = "运行时间来源") + private String runTimeSource; + + + @ApiModelProperty(value = "排放量(t)") + /** 排放量(t) */ + @Excel(name = "排放量(t)") + private String emissions; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringGas.java new file mode 100644 index 0000000..7083ad7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringGas.java @@ -0,0 +1,273 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 关联分析系统-执法监测数据--废气 + */ +@ApiModel(description = "关联分析系统-执法监测数据--废气") +@Data +@TableName(value = "s_ra_low_monitoring_gas") +public class SRaLowMonitoringGas implements Serializable { + public static final String COL_TEMPERATURE_HUMIDITY = "temperature_humidity"; + public static final String COL_DATA_ID = "data_id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_FACTORY_NAME = "factory_name"; + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; + public static final String COL_INDUSTRY_CATEGORY_CODE = "industry_category_code"; + public static final String COL_DISTRICT_NAME = "district_name"; + public static final String COL_DISTRICT_CODE = "district_code"; + public static final String COL_POLLUTANTS_NAME = "pollutants_name"; + public static final String COL_POLLUTANTS_CODE = "pollutants_code"; + public static final String COL_MONITOR_TIME = "monitor_time"; + public static final String COL_MOITOR_NAME = "moitor_name"; + public static final String COL_MONITOR_VALUE = "monitor_value"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_MONITOR_ID = "monitor_id"; + public static final String COL_MONITORING_UNIT = "monitoring_unit"; + public static final String COL_EMISSION_STANDARD_NAME = "emission_standard_name"; + public static final String COL_STANDARD_NUM = "standard_num"; + public static final String COL_FLOW = "flow"; + public static final String COL_HUMIDITY = "humidity"; + public static final String COL_OXYGEN_CONTENT = "oxygen_content"; + public static final String COL_VELOCITY = "velocity"; + public static final String COL_PRODUCTION_LOAD = "production_load"; + public static final String COL_MONITORING_CLASS = "monitoring_class"; + public static final String COL_ACTUAL_CONCENTRATION = "actual_concentration"; + public static final String COL_OBVERSION_CONCENTRATION = "obversion_concentration"; + public static final String COL_CONCENTRATION = "concentration"; + public static final String COL_UPPER_VALUE = "upper_value"; + public static final String COL_LOWER_VALUE = "lower_value"; + public static final String COL_UNIT = "unit"; + public static final String COL_EXCEEDING_STANDARD = "exceeding_standard"; + public static final String COL_EXCEEDING_MULTIPLE = "exceeding_multiple"; + public static final String COL_TEMPERATURE = "temperature"; + private static final long serialVersionUID = 1L; + /** + * 数据主键 + */ + @TableId(value = "data_id", type = IdType.INPUT) + @ApiModelProperty(value = "数据主键") + private Object dataId; + /** + * 企业主键 + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业主键") + private String factoryId; + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称",sort = 1,width = 25) + private String factoryName; + /** + * 行业类别名称(多个使用'、'拼接) + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + @Excel(name = "行业类别",sort =2 ,width = 25) + private String industryCategoryName; + /** + * 行业类别编码(多个使用'、'拼接) + */ + @TableField(value = "industry_category_code") + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + /** + * 所在区县名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value = "所在区县名称") + @Excel(name = "区县名称",sort = 3,width = 15) + private String districtName; + /** + * 所在区县编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + /** + * 污染物名称 + */ + @TableField(value = "pollutants_name") + @ApiModelProperty(value = "污染物名称") + private String pollutantsName; + /** + * 污染物编码 + */ + @TableField(value = "pollutants_code") + @ApiModelProperty(value = "污染物编码") + private String pollutantsCode; + /** + * 监测日期 + */ + @TableField(value = "monitor_time") + @ApiModelProperty(value = "监测日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @Excel(name = "监测日期",sort = 4,width = 15,dateFormat = "yyyy-MM-dd") + private Date monitorTime; + /** + * 监测点名称 + */ + @TableField(value = "moitor_name") + @ApiModelProperty(value = "监测点名称") + @Excel(name = "监测点名称",sort = 5) + private String moitorName; + /** + * 监测数值 + */ + @TableField(value = "monitor_value") + @ApiModelProperty(value = "监测数值") + private BigDecimal monitorValue; + /** + * 入库时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "入库时间") + private Date createTime; + /** + * 监测点id + */ + @TableField(value = "monitor_id") + @ApiModelProperty(value = "监测点id") + private String monitorId; + /** + * 监测单位 + */ + @TableField(value = "monitoring_unit") + @ApiModelProperty(value = "监测单位") + private String monitoringUnit; + /** + * 排放标准名称 + */ + @TableField(value = "emission_standard_name") + @ApiModelProperty(value = "排放标准名称") + @Excel(name = "排放标准名称(编号)",sort = 6) + private String emissionStandardName; + /** + * 标准条目 + */ + @TableField(value = "standard_num") + @ApiModelProperty(value = "标准条目") + @Excel(name = "标准条目",sort = 7) + private String standardNum; + /** + * 流量(m3/h) + */ + @TableField(value = "flow") + @ApiModelProperty(value = "流量(m3/h)") + @Excel(name = "流量(m³/h)",sort = 8) + private String flow; + /** + * 湿度(%) + */ + @TableField(value = "humidity") + @ApiModelProperty(value = "湿度(%)") + @Excel(name = "湿度(%)",sort = 10) + private String humidity; + /** + * 氧含量(%) + */ + @TableField(value = "oxygen_content") + @ApiModelProperty(value = "氧含量(%)") + @Excel(name = "含氧量(%)",sort = 11) + private String oxygenContent; + /** + * 流速(m/s) + */ + @TableField(value = "velocity") + @ApiModelProperty(value = "流速(m/s)") + @Excel(name = "流速(m/s)",sort = 12) + private String velocity; + /** + * 生产负荷(%) + */ + @TableField(value = "production_load") + @ApiModelProperty(value = "生产负荷(%)") + @Excel(name = "生产负荷(%)",sort = 13) + private String productionLoad; + /** + * 监测项目 + */ + @TableField(value = "monitoring_class") + @ApiModelProperty(value = "监测项目") + @Excel(name = "监测项目",sort = 14) + private String monitoringClass; + /** + * 实测浓度 + */ + @TableField(value = "actual_concentration") + @ApiModelProperty(value = "实测浓度") + @Excel(name = "实测浓度",sort = 15) + private String actualConcentration; + /** + * 折算浓度 + */ + @TableField(value = "obversion_concentration") + @ApiModelProperty(value = "折算浓度") + @Excel(name = "折算浓度",sort = 16) + private String obversionConcentration; + /** + * 排放浓度 + */ + @TableField(value = "concentration") + @ApiModelProperty(value = "排放浓度") + + private String concentration; + /** + * 上限 + */ + @TableField(value = "upper_value") + @ApiModelProperty(value = "上限") + @Excel(name = "上限",sort = 17) + private String upperValue; + /** + * 下限 + */ + @TableField(value = "lower_value") + @ApiModelProperty(value = "下限") + @Excel(name = "下限",sort = 18) + private String lowerValue; + /** + * 单位 + */ + @TableField(value = "unit") + @ApiModelProperty(value = "单位") + @Excel(name = "单位",sort = 19) + private String unit; + /** + * 是否超标;0---否,1----是 + */ + @TableField(value = "exceeding_standard") + @ApiModelProperty(value = "是否超标;0---否,1----是") + @Excel(name = "是否超标",sort = 20,width = 10,readConverterExp = "1=是,0=否") + private String exceedingStandard; + /** + * 超标倍数 + */ + @TableField(value = "exceeding_multiple") + @ApiModelProperty(value = "超标倍数") + @Excel(name = "超标倍数",sort = 21) + private String exceedingMultiple; + /** + * 温度(℃) + */ + @TableField(value = "temperature") + @ApiModelProperty(value = "温度(℃)") + @Excel(name = "温度(℃)",sort = 9) + private String temperature; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringOther.java new file mode 100644 index 0000000..2f6cba6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringOther.java @@ -0,0 +1,180 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 关联分析系统-执法监测数据--其他 + */ +@ApiModel(description="关联分析系统-执法监测数据--其他") +@Data +@TableName(value = "s_ra_low_monitoring_other") +public class SRaLowMonitoringOther implements Serializable { + public static final String COL_DATA_ID = "data_id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_FACTORY_NAME = "factory_name"; + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; + public static final String COL_INDUSTRY_CATEGORY_CODE = "industry_category_code"; + public static final String COL_DISTRICT_NAME = "district_name"; + public static final String COL_DISTRICT_CODE = "district_code"; + public static final String COL_MONITOR_TIME = "monitor_time"; + public static final String COL_MOITOR_NAME = "moitor_name"; + public static final String COL_MONITOR_ID = "monitor_id"; + public static final String COL_MONITORING_TYPE = "monitoring_type"; + public static final String COL_EMISSION_STANDARD_NAME = "emission_standard_name"; + public static final String COL_STANDARD_NUM = "standard_num"; + public static final String COL_MONITORING_CLASS = "monitoring_class"; + public static final String COL_CONCENTRATION = "concentration"; + public static final String COL_UPPER_VALUE = "upper_value"; + public static final String COL_LOWER_VALUE = "lower_value"; + public static final String COL_UNIT = "unit"; + public static final String COL_EXCEEDING_STANDARD = "exceeding_standard"; + public static final String COL_EXCEEDING_MULTIPLE = "exceeding_multiple"; + private static final long serialVersionUID = 1L; + /** + * 数据主键 + */ + @TableId(value = "data_id", type = IdType.INPUT) + @ApiModelProperty(value="数据主键") + private Object dataId; + /** + * 企业主键 + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业主键") + private String factoryId; + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名称") + @Excel(name = "企业名称",sort = 1,width = 25) + private String factoryName; + /** + * 行业类别名称(多个使用'、'拼接) + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value="行业类别名称(多个使用'、'拼接)") + @Excel(name = "行业类别",sort = 2,width = 25) + private String industryCategoryName; + /** + * 行业类别编码(多个使用'、'拼接) + */ + @TableField(value = "industry_category_code") + @ApiModelProperty(value="行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + /** + * 所在区县名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value="所在区县名称") + @Excel(name = "区县名称",sort = 3,width = 25) + private String districtName; + /** + * 所在区县编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value="所在区县编码") + private String districtCode; + /** + * 监测日期 + */ + @TableField(value = "monitor_time") + @ApiModelProperty(value="监测日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @Excel(name = "监测日期",sort = 4,width = 25,dateFormat = "yyyy-MM-dd") + private Date monitorTime; + /** + * 监测点名称 + */ + @TableField(value = "moitor_name") + @ApiModelProperty(value="监测点名称") + @Excel(name = "监测点名称",sort = 6,width = 25) + private String moitorName; + /** + * 监测点id + */ + @TableField(value = "monitor_id") + @ApiModelProperty(value="监测点id") + private String monitorId; + /** + * 监测类型 + */ + @TableField(value = "monitoring_type") + @ApiModelProperty(value="监测类型") + @Excel(name = "监测类型",sort = 5,width = 25) + private String monitoringType; + /** + * 排放标准名称 + */ + @TableField(value = "emission_standard_name") + @ApiModelProperty(value="排放标准名称") + @Excel(name = "排放标准名称",sort = 7,width = 25) + private String emissionStandardName; + /** + * 标准条目 + */ + @TableField(value = "standard_num") + @ApiModelProperty(value="标准条目") + @Excel(name = "标准条目",sort = 8,width = 25) + private String standardNum; + /** + * 监测项目 + */ + @TableField(value = "monitoring_class") + @ApiModelProperty(value="监测项目") + @Excel(name = "监测项目",sort = 9,width = 25) + private String monitoringClass; + /** + * 浓度 + */ + @TableField(value = "concentration") + @ApiModelProperty(value="浓度") + @Excel(name = "浓度",sort = 10,width = 25) + private String concentration; + /** + * 上限 + */ + @TableField(value = "upper_value") + @ApiModelProperty(value="上限") + @Excel(name = "上限",sort = 11,width = 25) + private String upperValue; + /** + * 下限 + */ + @TableField(value = "lower_value") + @ApiModelProperty(value="下限") + @Excel(name = "下限",sort = 12,width = 25) + private String lowerValue; + /** + * 单位 + */ + @TableField(value = "unit") + @ApiModelProperty(value="单位") + @Excel(name = "单位",sort = 13,width = 25) + private String unit; + /** + * 是否超标;0---否,1----是 + */ + @TableField(value = "exceeding_standard") + @ApiModelProperty(value="是否超标;0---否,1----是") + @Excel(name = "是否超标",sort = 14,width = 25,readConverterExp = "1=是,0=否") + private String exceedingStandard; + /** + * 超标倍数 + */ + @TableField(value = "exceeding_multiple") + @ApiModelProperty(value="超标倍数") + @Excel(name = "超标倍数",sort = 15,width = 25) + private String exceedingMultiple; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringWater.java new file mode 100644 index 0000000..ee50ff5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaLowMonitoringWater.java @@ -0,0 +1,204 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 关联分析系统-执法监测数据--废水 + */ +@ApiModel(description="关联分析系统-执法监测数据--废水") +@Data +@TableName(value = "s_ra_low_monitoring_water") +public class SRaLowMonitoringWater implements Serializable { + public static final String COL_DATA_ID = "data_id"; + public static final String COL_FACTORY_ID = "factory_id"; + public static final String COL_FACTORY_NAME = "factory_name"; + public static final String COL_INDUSTRY_CATEGORY_NAME = "industry_category_name"; + public static final String COL_INDUSTRY_CATEGORY_CODE = "industry_category_code"; + public static final String COL_DISTRICT_NAME = "district_name"; + public static final String COL_DISTRICT_CODE = "district_code"; + public static final String COL_MONITOR_TIME = "monitor_time"; + public static final String COL_MOITOR_NAME = "moitor_name"; + public static final String COL_MONITOR_ID = "monitor_id"; + public static final String COL_MONITORING_TYPE = "monitoring_type"; + public static final String COL_EMISSION_STANDARD_NAME = "emission_standard_name"; + public static final String COL_STANDARD_NUM = "standard_num"; + public static final String COL_RECEIVING_WATER_NAME = "receiving_water_name"; + public static final String COL_MONITORING_CLASS = "monitoring_class"; + public static final String COL_FLOW = "flow"; + public static final String COL_PRODUCTION_LOAD = "production_load"; + public static final String COL_CONCENTRATION = "concentration"; + public static final String COL_UPPER_VALUE = "upper_value"; + public static final String COL_LOWER_VALUE = "lower_value"; + public static final String COL_UNIT = "unit"; + public static final String COL_EXCEEDING_STANDARD = "exceeding_standard"; + public static final String COL_EXCEEDING_MULTIPLE = "exceeding_multiple"; + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "data_id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private Object dataId; + /** + * 企业主键 + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业主键") + private String factoryId; + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名称") + @Excel(name = "企业名称",sort = 1,width = 25) + private String factoryName; + /** + * 行业类别名称(多个使用'、'拼接) + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value="行业类别名称(多个使用'、'拼接)") + @Excel(name = "行业类别",sort = 2,width = 25) + private String industryCategoryName; + /** + * 行业类别编码(多个使用'、'拼接) + */ + @TableField(value = "industry_category_code") + @ApiModelProperty(value="行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + /** + * 所在区县名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value="所在区县名称") + @Excel(name = "区县名称",sort = 3,width = 25) + private String districtName; + /** + * 所在区县编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value="所在区县编码") + private String districtCode; + /** + * 监测日期 + */ + @TableField(value = "monitor_time") + @ApiModelProperty(value="监测日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @Excel(name = "监测日期",sort = 4,width = 25,dateFormat = "yyyy-MM-dd") + private Date monitorTime; + /** + * 监测点名称 + */ + @TableField(value = "moitor_name") + @ApiModelProperty(value="监测点名称") + @Excel(name = "监测点名称",sort = 7,width = 25) + private String moitorName; + /** + * 监测点id + */ + @TableField(value = "monitor_id") + @ApiModelProperty(value="监测点id") + private String monitorId; + /** + * 监测点类型 + */ + @TableField(value = "monitoring_type") + @ApiModelProperty(value="监测点类型") + @Excel(name = "监测点类型",sort = 6,width = 25) + private String monitoringType; + /** + * 排放标准名称 + */ + @TableField(value = "emission_standard_name") + @ApiModelProperty(value="排放标准名称") + @Excel(name = "排放标准名称(编号)",sort = 8,width = 25) + private String emissionStandardName; + /** + * 标准条目 + */ + @TableField(value = "standard_num") + @ApiModelProperty(value="标准条目") + @Excel(name = "标准条目",sort = 9,width = 25) + private String standardNum; + /** + * 受纳水体 + */ + @TableField(value = "receiving_water_name") + @ApiModelProperty(value="受纳水体") + @Excel(name = "受纳水体",sort = 5,width = 25) + private String receivingWaterName; + /** + * 监测项目 + */ + @TableField(value = "monitoring_class") + @ApiModelProperty(value="监测项目") + @Excel(name = "监测项目",sort = 12,width = 25) + private String monitoringClass; + /** + * 流量(m3/h) + */ + @TableField(value = "flow") + @ApiModelProperty(value="流量(m3/h)") + @Excel(name = "流量(m³/h)",sort = 11,width = 25) + private String flow; + /** + * 生产负荷(%) + */ + @TableField(value = "production_load") + @ApiModelProperty(value="生产负荷(%)") + @Excel(name = "生产负荷(%)",sort = 10,width = 25) + private String productionLoad; + /** + * 排放浓度 + */ + @TableField(value = "concentration") + @ApiModelProperty(value="排放浓度") + @Excel(name = "排放浓度",sort = 13,width = 25) + private String concentration; + /** + * 上限 + */ + @TableField(value = "upper_value") + @ApiModelProperty(value="上限") + @Excel(name = "上限",sort = 14,width = 25) + private String upperValue; + /** + * 下限 + */ + @TableField(value = "lower_value") + @ApiModelProperty(value="下限") + @Excel(name = "下限",sort = 15,width = 25) + private String lowerValue; + /** + * 单位 + */ + @TableField(value = "unit") + @ApiModelProperty(value="单位") + @Excel(name = "单位",sort = 16,width = 25) + private String unit; + /** + * 是否超标;0---否,1----是 + */ + @TableField(value = "exceeding_standard") + @ApiModelProperty(value="是否超标;0---否,1----是") + @Excel(name = "是否超标",sort = 17,width = 25,readConverterExp = "0=否,1=是") + private String exceedingStandard; + /** + * 超标倍数 + */ + @TableField(value = "exceeding_multiple") + @ApiModelProperty(value="超标倍数") + @Excel(name = "超标倍数",sort = 18,width = 25) + private String exceedingMultiple; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaMultiSource.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaMultiSource.java new file mode 100644 index 0000000..17a0eab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaMultiSource.java @@ -0,0 +1,307 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.function.BiConsumer; + + +/** + * 多源排放量汇总对象 s_ra_multi_source + * + * @author szhpt + * @date 2023-06-03*/ +@ApiModel(value = "多源排放量汇总") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_multi_source") +public class SRaMultiSource extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "污染物类型(1废气、2废水)") + /** 污染物类型(1废气、2废水) */ + private String pollutantsType; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称",sort = 4) + private String pollutantsName; + + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + private String pollutantsCode; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private String monitorId; + + + @ApiModelProperty(value = "许可排放量(kg)") + /** 许可排放量(kg) */ + @Excel(name = "许可排放量(kg)",sort = 5,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal permission; + + + @ApiModelProperty(value = "许可修约量(kg)") + /** 许可修约量(kg) */ + private BigDecimal permissionAmendments; + + + @ApiModelProperty(value = "在线排放量(kg)") + /** 在线排放量(kg) */ + @Excel(name = "在线排放量(kg)",sort = 6,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal online; + + + @ApiModelProperty(value = "在线修约量(kg)") + /** 在线修约量(kg) */ + private BigDecimal onlineAmendments; + + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("pollutantsType", getPollutantsType()) + .append("pollutantsName", getPollutantsName()) + .append("pollutantsCode", getPollutantsCode()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorId", getMonitorId()) + .append("permission", getPermission()) + .append("permissionAmendments", getPermissionAmendments()) + .append("online", getOnline()) + .append("onlineAmendments", getOnlineAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .toString(); + } + + public static class SRaMultiSourcePermission{ + + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 2) + private String moitorName; + + @Excel(name = "排口编号",sort = 3) + private String outletCode; + @Excel(name = "排口类型",sort = 4,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + @Excel(name = "监测类型",sort = 5,readConverterExp = "1=自动监测,2=手工检测") + private String monitorType; + @Excel(name = "排放量(kg)",sort = 6,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal permission; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getMoitorName() { + return moitorName; + } + + public void setMoitorName(String moitorName) { + this.moitorName = moitorName; + } + + public String getOutletCode() { + return outletCode; + } + + public void setOutletCode(String outletCode) { + this.outletCode = outletCode; + } + + public String getOutletType() { + return outletType; + } + + public void setOutletType(String outletType) { + this.outletType = outletType; + } + + public String getMonitorType() { + return monitorType; + } + + public void setMonitorType(String monitorType) { + this.monitorType = monitorType; + } + + public BigDecimal getPermission() { + return permission; + } + + public void setPermission(BigDecimal permission) { + this.permission = permission; + } + } + public static class SRaMultiSourceOnline{ + + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 2) + private String moitorName; + + @Excel(name = "排口编号",sort = 3) + private String outletCode; + @Excel(name = "排口类型",sort = 4,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + @Excel(name = "排放量(kg)",sort = 5,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal online; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getMoitorName() { + return moitorName; + } + + public void setMoitorName(String moitorName) { + this.moitorName = moitorName; + } + + public String getOutletCode() { + return outletCode; + } + + public void setOutletCode(String outletCode) { + this.outletCode = outletCode; + } + + public String getOutletType() { + return outletType; + } + + public void setOutletType(String outletType) { + this.outletType = outletType; + } + + public BigDecimal getOnline() { + return online; + } + + public void setOnline(BigDecimal online) { + this.online = online; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsGas.java new file mode 100644 index 0000000..4c7f643 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsGas.java @@ -0,0 +1,169 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 在线监测排放监控-气污染要素对象 s_ra_online_emissions_gas + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "在线监测排放监控-气污染要素") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_online_emissions_gas") +@NoArgsConstructor +public class SRaOnlineEmissionsGas extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantCode; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @Excel(name = "监测时间") + private Date monitorTime; + + + @ApiModelProperty(value = "浓度小时均值") + /** 浓度小时均值 */ + @Excel(name = "浓度小时均值") + private String hourAvg; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String unit; + + + @ApiModelProperty(value = "烟气流量(m³/h)") + /** 烟气流量(m³/h) */ + @Excel(name = "烟气流量", readConverterExp = "m=³/h") + private String flueGasFlow; + + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + @Excel(name = "污染物排放量", readConverterExp = "k=g") + private String pollutantEmissions; + + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + @Excel(name = "是否有效") + private String isValid; + + + @ApiModelProperty(value = "修约排放量") + /** 修约排放量 */ + @Excel(name = "修约排放量") + private String xyEmissions; + + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + @Excel(name = "修约说明") + private String xyDesc; + + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + @Excel(name = "纳入计算排放量", readConverterExp = "k=g") + private String bringIntoEmissions; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pointName", getPointName()) + .append("outletCode", getOutletCode()) + .append("outletType", getOutletType()) + .append("pollutantName", getPollutantName()) + .append("monitorTime", getMonitorTime()) + .append("hourAvg", getHourAvg()) + .append("unit", getUnit()) + .append("flueGasFlow", getFlueGasFlow()) + .append("pollutantEmissions", getPollutantEmissions()) + .append("isValid", getIsValid()) + .append("xyEmissions", getXyEmissions()) + .append("xyDesc", getXyDesc()) + .append("bringIntoEmissions", getBringIntoEmissions()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } + + public SRaOnlineEmissionsGas(String factoryId, + String outletCode, + String outletType, + Date monitorTime, + String flueGasFlow, + String hourAvg){ + this.factoryId = factoryId; + this.outletCode = outletCode; + this.outletType = outletType; + this.monitorTime = monitorTime; + this.flueGasFlow = flueGasFlow; + this.hourAvg = hourAvg; + + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsWater.java new file mode 100644 index 0000000..e649a68 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOnlineEmissionsWater.java @@ -0,0 +1,166 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 在线监测排放监控-水污染要素对象 s_ra_online_emissions_water + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "在线监测排放监控-水污染要素") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_online_emissions_water") +@NoArgsConstructor +public class SRaOnlineEmissionsWater extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + @Excel(name = "排口类型") + private String outletType; + + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + @Excel(name = "污染物种类") + private String pollutantName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + @Excel(name = "污染物编码") + private String pollutantCode; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + @Excel(name = "监测时间") + private Date monitorTime; + + + @ApiModelProperty(value = "浓度日均值") + /** 浓度日均值 */ + @Excel(name = "浓度日均值") + private String dayAvg; + + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + @Excel(name = "浓度单位") + private String unit; + + + @ApiModelProperty(value = "废水流量(m³/d)") + /** 废水流量(m³/d) */ + @Excel(name = "废水流量", readConverterExp = "m=³/d") + private String wasteWaterFlow; + + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + @Excel(name = "污染物排放量", readConverterExp = "k=g") + private String pollutantEmissions; + + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + @Excel(name = "是否有效") + private String isValid; + + + @ApiModelProperty(value = "修约排放量") + /** 修约排放量 */ + @Excel(name = "修约排放量") + private String xyEmissions; + + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + @Excel(name = "修约说明") + private String xyDesc; + + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + @Excel(name = "纳入计算排放量", readConverterExp = "k=g") + private String bringIntoEmissions; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("pointName", getPointName()) + .append("outletCode", getOutletCode()) + .append("outletType", getOutletType()) + .append("pollutantName", getPollutantName()) + .append("monitorTime", getMonitorTime()) + .append("dayAvg", getDayAvg()) + .append("unit", getUnit()) + .append("wasteWaterFlow", getWasteWaterFlow()) + .append("pollutantEmissions", getPollutantEmissions()) + .append("isValid", getIsValid()) + .append("xyEmissions", getXyEmissions()) + .append("xyDesc", getXyDesc()) + .append("bringIntoEmissions", getBringIntoEmissions()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } + + public SRaOnlineEmissionsWater(String factoryId, + String outletCode, + String outletType, + Date monitorTime, + String wasteWaterFlow){ + this.factoryId = factoryId; + this.outletCode = outletCode; + this.outletType = outletType; + this.monitorTime = monitorTime; + this.wasteWaterFlow = wasteWaterFlow; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateGas.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateGas.java new file mode 100644 index 0000000..890e6fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateGas.java @@ -0,0 +1,81 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + +@ApiModel(value = "超标率分析-气污染要素") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_over_rate_gas") +public class SRaOverRateGas extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "有效监测数据(小时值)数量") + private String validDataCount; + + + @ApiModelProperty(value = "so2超标次数") + private String so2OverCount; + + + @ApiModelProperty(value = "so2超标率") + private String so2OverRate; + + + @ApiModelProperty(value = "NOx超标次数") + private String noxOverCount; + + + @ApiModelProperty(value = "NOx超标率") + private String noxOverRate; + + + @ApiModelProperty(value = "颗粒物超标次数") + private String pmOverCount; + + + @ApiModelProperty(value = "颗粒物超标率") + private String pmOverRate; + + + @ApiModelProperty(value = "VOCs超标次数") + private String vocsOverCount; + + + @ApiModelProperty(value = "VOCs超标率") + private String vocsOverRate; + + + @ApiModelProperty(value = "统计类型 N:月, Q:季度, Y:年") + private String statisticsType; + + + @ApiModelProperty(value = "统计时间") + private String statisticsTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateWater.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateWater.java new file mode 100644 index 0000000..cc850a2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverRateWater.java @@ -0,0 +1,81 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + +@ApiModel(value = "超标率分析-水污染要素") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_over_rate_water") +public class SRaOverRateWater extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "监测点位名称") + private String pointName; + + + @ApiModelProperty(value = "排口编号") + private String outletCode; + + + @ApiModelProperty(value = "有效监测数据(日均值)数量") + private String validDataCount; + + + @ApiModelProperty(value = "COD超标次数") + private String codOverCount; + + + @ApiModelProperty(value = "COD超标率") + private String codOverRate; + + + @ApiModelProperty(value = "氨氮超标次数") + private String nh3OverCount; + + + @ApiModelProperty(value = "氨氮超标率") + private String nh3OverRate; + + + @ApiModelProperty(value = "总磷超标次数") + private String tpOverCount; + + + @ApiModelProperty(value = "总磷超标率") + private String tpOverRate; + + + @ApiModelProperty(value = "总氮超标次数") + private String tnOverCount; + + + @ApiModelProperty(value = "总氮超标率") + private String tnOverRate; + + + @ApiModelProperty(value = "统计类型 N:月, Q:季度, Y:年") + private String statisticsType; + + + @ApiModelProperty(value = "统计时间 格式") + private String statisticsTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverWaterPollutionTraceability.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverWaterPollutionTraceability.java new file mode 100644 index 0000000..5c8dbf8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaOverWaterPollutionTraceability.java @@ -0,0 +1,295 @@ +package cn.cecep.talroad.domain.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery;import cn.hutool.core.util.ObjectUtil;import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 水污染溯源信息 + */ +@ApiModel(description = "水污染溯源信息") +@Data +@TableName(value = "s_ra_over_water_pollution_traceability") +public class SRaOverWaterPollutionTraceability implements Serializable { + public static final String COL_RECEIVING_SEWAGE_PLANT = "receiving_sewage_plant"; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键") + private String id; + + /** + * 排口编号 + */ + @TableField(value = "outlet_code") + @ApiModelProperty(value = "排口编号") + @Excel(width = 30,name = "排口编号",sort = 1) + private String outletCode; + + /** + * 排口名称 + */ + @TableField(value = "outlet_name") + @ApiModelProperty(value = "排口名称") + @Excel(width = 30,name = "排口名称",sort = 2) + private String outletName; + + /** + * 排口当前数值 + */ + @TableField(value = "outlet_number") + @ApiModelProperty(value = "排口当前数值") + private String outletNumber; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value = "企业id") + private String factoryId; + + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名") + @Excel(width = 30,name = "企业名",sort = 3) + private String factoryName; + + /** + * 对应监测点位名称 + */ + @TableField(value = "monitoring_point_name") + @ApiModelProperty(value = "对应监测点位名称") + @Excel(width = 30,name = "对应监测点位名称",sort = 4) + private String monitoringPointName; + + /** + * 排放方式(0:直接排放,1:间接排放) + */ + @TableField(value = "emission_method") + @ApiModelProperty(value = "排放方式(0:直接排放,1:间接排放)") + @Excel(width = 30,name = "排放方式",sort = 5) + private String emissionMethod; + + /** + * 排水去向 + */ + @TableField(value = "drainage_direction") + @ApiModelProperty(value = "排水去向") + @Excel(width = 30,name = "排水去向",sort = 6) + private String drainageDirection; + + /** + * 排放规律 + */ + @TableField(value = "emission_behavior") + @ApiModelProperty(value = "排放规律") + @Excel(width = 30,name = "排放规律",sort = 7) + private String emissionBehavior; + + /** + * 间歇式排放时段 + */ + @TableField(value = "intermittent_emission_period") + @ApiModelProperty(value = "间歇式排放时段") + @Excel(width = 30,name = "间歇式排放时段",sort = 8) + private String intermittentEmissionPeriod; + + /** + * 受纳污水处理厂名称(间接排放口需要存) + */ + @TableField(value = "receiving_sewage_plant_name") + @ApiModelProperty(value = "受纳污水处理厂名称(间接排放口需要存)") + private String receivingSewagePlantName; + + /** + * 受纳污水处理厂编号(间接排放口需要存) + */ + @TableField(value = "receiving_sewage_plant_code") + @ApiModelProperty(value = "受纳污水处理厂编号(间接排放口需要存)") + private String receivingSewagePlantCode; + + /** + * 受纳水体名称(直接排放口需要存) + */ + @TableField(value = "receiving_water_name") + @ApiModelProperty(value = "受纳水体名称(直接排放口需要存)") + private String receivingWaterName; + + /** + * 受纳水体功能目标(直接排放口需要存) + */ + @TableField(value = "receiving_target") + @ApiModelProperty(value = "受纳水体功能目标(直接排放口需要存)") + private String receivingTarget; + + /** + * 入河口名称(直接排放口需要存) + */ + @TableField(value = "estuary_name") + @ApiModelProperty(value = "入河口名称(直接排放口需要存)") + private String estuaryName; + + /** + * 入河口编号(直接排放口需要存) + */ + @TableField(value = "estuary_code") + @ApiModelProperty(value = "入河口编号(直接排放口需要存)") + private String estuaryCode; + + /** + * 排口经度 + */ + @TableField(value = "outlet_longitude") + @ApiModelProperty(value = "排口经度") + private String outletLongitude; + + /** + * 排口纬度 + */ + @TableField(value = "outlet_latitude") + @ApiModelProperty(value = "排口纬度") + private String outletLatitude; + + /** + * 受纳污水处理厂经度(间接排放口需要存) + */ + @TableField(value = "receiving_sewage_plant_longitude") + @ApiModelProperty(value = "受纳污水处理厂经度(间接排放口需要存)") + private String receivingSewagePlantLongitude; + + /** + * 受纳污水处理厂经度(间接排放口需要存) + */ + @TableField(value = "receiving_sewage_plant_latitude") + @ApiModelProperty(value = "受纳污水处理厂经度(间接排放口需要存)") + private String receivingSewagePlantLatitude; + + /** + * 入河口经度(直接排放口需要存) + */ + @TableField(value = "estuary_longitude") + @ApiModelProperty(value = "入河口经度(直接排放口需要存)") + private String estuaryLongitude; + + /** + * 入河口纬度(直接排放口需要存) + */ + @TableField(value = "estuary_latitude") + @ApiModelProperty(value = "入河口纬度(直接排放口需要存)") + private String estuaryLatitude; + + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 创建人 + */ + @TableField(value = "create_by") + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 更新人 + */ + @TableField(value = "update_by") + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 最新报警信息 + */ + @TableField(value = "alarm_info") + @ApiModelProperty(value = "最新报警信息") + private String alarmInfo; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_OUTLET_CODE = "outlet_code"; + + public static final String COL_OUTLET_NAME = "outlet_name"; + + public static final String COL_OUTLET_NUMBER = "outlet_number"; + + public static final String COL_FACTORY_ID = "factory_id"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_MONITORING_POINT_NAME = "monitoring_point_name"; + + public static final String COL_EMISSION_METHOD = "emission_method"; + + public static final String COL_DRAINAGE_DIRECTION = "drainage_direction"; + + public static final String COL_EMISSION_BEHAVIOR = "emission_behavior"; + + public static final String COL_INTERMITTENT_EMISSION_PERIOD = "intermittent_emission_period"; + + public static final String COL_RECEIVING_SEWAGE_PLANT_NAME = "receiving_sewage_plant_name"; + + public static final String COL_RECEIVING_SEWAGE_PLANT_CODE = "receiving_sewage_plant_code"; + + public static final String COL_RECEIVING_WATER_NAME = "receiving_water_name"; + + public static final String COL_RECEIVING_TARGET = "receiving_target"; + + public static final String COL_ESTUARY_NAME = "estuary_name"; + + public static final String COL_ESTUARY_CODE = "estuary_code"; + + public static final String COL_OUTLET_LONGITUDE = "outlet_longitude"; + + public static final String COL_OUTLET_LATITUDE = "outlet_latitude"; + + public static final String COL_RECEIVING_SEWAGE_PLANT_LONGITUDE = "receiving_sewage_plant_longitude"; + + public static final String COL_RECEIVING_SEWAGE_PLANT_LATITUDE = "receiving_sewage_plant_latitude"; + + public static final String COL_ESTUARY_LONGITUDE = "estuary_longitude"; + + public static final String COL_ESTUARY_LATITUDE = "estuary_latitude"; + + public static final String COL_UPDATE_TIME = "update_time"; + + public static final String COL_CREATE_TIME = "create_time"; + + public static final String COL_CREATE_BY = "create_by"; + + public static final String COL_UPDATE_BY = "update_by"; + + public static final String COL_ALARM_INFO = "alarm_info"; + + public static QueryWrapper createLambdaQueryWrapper(SRaOverWaterPollutionTraceabilityQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getEmissionMethod()), "emission_method", query.getEmissionMethod()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDrainageDirection()), "drainage_direction", query.getDrainageDirection()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getEstuaryCode()), "estuary_code", query.getEstuaryCode()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getReceivingSewagePlantName()), "receiving_sewage_plant_name", query.getReceivingSewagePlantName()); + return wrapper; + } +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsit.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsit.java new file mode 100644 index 0000000..ef257df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsit.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import javax.validation.constraints.NotBlank; +import java.math.BigInteger; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组对象 s_ra_real_time_analysic_comsit + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysic_comsit") +public class SRaRealTimeAnalysicComsit +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger dataId; + + + @ApiModelProperty(value = "分组名称") + /** 分组名称 */ + @Excel(name = "分组名称") + @NotBlank(message = "分组名称不能为空") + private String sectionalizationName; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + @NotBlank(message = "参数名称不能为空") + private String paramName; + + + @ApiModelProperty(value = "数据分析时间") + /** 数据分析时间 */ + @Excel(name = "数据分析时间") + private String analysisTime; + + + @ApiModelProperty(value = "监测点数量") + /** 监测点数量 */ + @Excel(name = "监测点数量") + private Long stationNum; + + + + + @ApiModelProperty(value = "平均值") + /** 平均值 */ + @Excel(name = "平均值") + private String avgValue; + @ApiModelProperty(value = "创建时间") + private Date createTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("sectionalizationName", getSectionalizationName()) + .append("paramName", getParamName()) + .append("analysisTime", getAnalysisTime()) + .append("stationNum", getStationNum()) + .append("createTime", getCreateTime()) + .append("avgValue", getAvgValue()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsitMonitor.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsitMonitor.java new file mode 100644 index 0000000..f8f41de --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysicComsitMonitor.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigInteger; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位对象 s_ra_real_time_analysic_comsit_monitor + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysic_comsit_monitor") +public class SRaRealTimeAnalysicComsitMonitor +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger dataId; + + + @ApiModelProperty(value = "分组表id") + /** 分组表id */ + @Excel(name = "分组表id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger comsitId; + + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + @Excel(name = "监测点id") + private String monitorId; + + private Date createTime; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("comsitId", getComsitId()) + .append("monitorId", getMonitorId()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCement.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCement.java new file mode 100644 index 0000000..d587f24 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCement.java @@ -0,0 +1,219 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析对象 s_ra_real_time_analysis_cement + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-水泥熟料产量分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_cement") +public class SRaRealTimeAnalysisCement extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String deviceType; + + @ApiModelProperty(value = "生产端加料量小时均值(t)") + /** 生产端加料量小时均值(t) */ + @Excel(name = "生产端加料量小时均值(t)") + private BigDecimal addNumber; + + @ApiModelProperty(value = "水泥熟料产量(t)") + /** 水泥熟料产量(t) */ + @Excel(name = "水泥熟料产量(t)") + private BigDecimal grogNumber; + + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("deviceType", getDeviceType()) + .append("addNumber", getAddNumber()) + .append("grogNumber", getGrogNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .toString(); + } + public static class SRaRealTimeAnalysisFactoryCement{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "水泥熟料产量(t)") + private BigDecimal grogNumber; + + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getGrogNumber() { + return grogNumber; + } + + public void setGrogNumber(BigDecimal grogNumber) { + this.grogNumber = grogNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisFDeviceCement{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "水泥熟料产量(t)") + private BigDecimal grogNumber; + + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public BigDecimal getGrogNumber() { + return grogNumber; + } + + public void setGrogNumber(BigDecimal grogNumber) { + this.grogNumber = grogNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCo.java new file mode 100644 index 0000000..645a4d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCo.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.cecep.talroad.config.BigDecimalSerialize; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * co放散分析对象 s_ra_real_time_analysis_co + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "co放散分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_co") +public class SRaRealTimeAnalysisCo extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别",readConverterExp = "A=A级,B=B级,B-=B-级,C=C级,D=D级,EXEMPTION=豁免类,NOT_RATED=未评级,NON_PERFORMING_BUSINESS=非绩效企业") + private String performanceLevel; + + @ApiModelProperty(value = "工序") + /** 工序 */ + @Excel(name = "工序") + private String workingProcedure; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + + @ApiModelProperty(value = "放散情况") + /** 放散情况 */ + @Excel(name = "放散情况", width = 100) + private String diffuse; + @ApiModelProperty("煤气排放量") + @JsonSerialize(using = BigDecimalSerialize.class) + @Excel(name = "煤气排放量(m³)",cellType = Excel.ColumnType.NUMERIC) + private BigDecimal coalEmissions; + @ApiModelProperty(value = "备注") + /** 备注 */ + @Excel(name = "备注") + private String remark; + + @ApiModelProperty(value = "分析时间") + /** 分析时间 */ + private Date analyseTime; + @ApiModelProperty(value = "放散情况开始时间") + /** 放散情况开始时间 */ + private Date diffuseStartTime; + @ApiModelProperty(value = "放散情况结束时间") + /** 放散情况结束时间 */ + private Date diffuseEndTime; + @ApiModelProperty(value = "放散状态") + /** 放散状态 */ + private String diffuseStatus; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoal.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoal.java new file mode 100644 index 0000000..eebd7a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoal.java @@ -0,0 +1,254 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 装煤推焦次数分析对象 s_ra_real_time_analysis_coal + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "装煤推焦次数分析") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_coal") +public class SRaRealTimeAnalysisCoal extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + @ApiModelProperty(value = "装煤次数") + /** 装煤次数 */ + @Excel(name = "装煤次数") + private Long coalNumber; + + @ApiModelProperty(value = "推焦次数") + /** 推焦次数 */ + @Excel(name = "推焦次数") + private Long cokeNumber; + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + public static class SRaRealTimeAnalysisFactoryCoal{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + /** 统计时间 */ + @Excel(name = "统计时间") + private String analyseTime; + + /** 装煤次数 */ + @Excel(name = "装煤次数") + private Long coalNumber; + + /** 推焦次数 */ + @Excel(name = "推焦次数") + private Long cokeNumber; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getIndustryCategoryName() { + return industryCategoryName; + } + + public void setIndustryCategoryName(String industryCategoryName) { + this.industryCategoryName = industryCategoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getAnalyseTime() { + return analyseTime; + } + + public void setAnalyseTime(String analyseTime) { + this.analyseTime = analyseTime; + } + + public Long getCoalNumber() { + return coalNumber; + } + + public void setCoalNumber(Long coalNumber) { + this.coalNumber = coalNumber; + } + + public Long getCokeNumber() { + return cokeNumber; + } + + public void setCokeNumber(Long cokeNumber) { + this.cokeNumber = cokeNumber; + } + } + public static class SRaRealTimeAnalysisDeviceCoal{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + /** 统计时间 */ + @Excel(name = "统计时间") + private String analyseTime; + + /** 装煤次数 */ + @Excel(name = "装煤次数") + private Long coalNumber; + + /** 推焦次数 */ + @Excel(name = "推焦次数") + private Long cokeNumber; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getIndustryCategoryName() { + return industryCategoryName; + } + + public void setIndustryCategoryName(String industryCategoryName) { + this.industryCategoryName = industryCategoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getAnalyseTime() { + return analyseTime; + } + + public void setAnalyseTime(String analyseTime) { + this.analyseTime = analyseTime; + } + + public Long getCoalNumber() { + return coalNumber; + } + + public void setCoalNumber(Long coalNumber) { + this.coalNumber = coalNumber; + } + + public Long getCokeNumber() { + return cokeNumber; + } + + public void setCokeNumber(Long cokeNumber) { + this.cokeNumber = cokeNumber; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoke.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoke.java new file mode 100644 index 0000000..39d2300 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisCoke.java @@ -0,0 +1,228 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析对象 s_ra_real_time_analysis_coke + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-焦炭产量分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_coke") +public class SRaRealTimeAnalysisCoke extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + @Excel(name = "设备类型") + private String deviceType; + + @ApiModelProperty(value = "炭化室有效容积(m3)") + /** 炭化室有效容积(m3) */ + @Excel(name = "炭化室有效容积(m3)") + private BigDecimal volumeNumber; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + @ApiModelProperty(value = "小时推焦数") + /** 小时推焦数 */ + @Excel(name = "小时推焦数") + private Long pushNumber; + + @ApiModelProperty(value = "焦炭产量(t)") + /** 焦炭产量(t) */ + @Excel(name = "焦炭产量(t)") + private BigDecimal cokeNumber; + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("deviceType", getDeviceType()) + .append("volumeNumber", getVolumeNumber()) + .append("pushNumber", getPushNumber()) + .append("cokeNumber", getCokeNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .toString(); + } + public static class SRaRealTimeAnalysisDeciveCoke{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县名称") + private String districtName; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + + /** 焦炭产量(t) */ + @Excel(name = "焦炭产量(t)") + private BigDecimal cokeNumber; + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public BigDecimal getCokeNumber() { + return cokeNumber; + } + + public void setCokeNumber(BigDecimal cokeNumber) { + this.cokeNumber = cokeNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisFactoryCoke{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县名称") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + /** 焦炭产量(t) */ + @Excel(name = "焦炭产量(t)") + private BigDecimal cokeNumber; + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getCokeNumber() { + return cokeNumber; + } + + public void setCokeNumber(BigDecimal cokeNumber) { + this.cokeNumber = cokeNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisConverter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisConverter.java new file mode 100644 index 0000000..4498ea3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisConverter.java @@ -0,0 +1,298 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + + +/** + * 转炉产量分析对象 s_ra_real_time_analysis_converter + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "转炉产量分析") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_converter") +public class SRaRealTimeAnalysisConverter extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + + @ApiModelProperty(value = "炉数") + /** 炉数 */ + @Excel(name = "炉数") + private Long converterNumber; + + + @ApiModelProperty(value = "公称容量") + /** 公称容量 */ + @Excel(name = "公称容量(t)") + private BigDecimal nominalNumber; + + + @ApiModelProperty(value = "产量") + /** 产量 */ + @Excel(name = "产量(t)") + private BigDecimal outputNumber; + + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + @Excel(name = "出钢量") + private BigDecimal tapNumber; + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + public static class SRaRealTimeAnalysisDeviceConverter{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + /** 炉数 */ + @Excel(name = "炉数") + private Long converterNumber; + + /** 公称容量 */ + @Excel(name = "公称容量(t)") + private BigDecimal nominalNumber; + + /** 产量 */ + @Excel(name = "产量(t)") + private BigDecimal outputNumber; + + /** 出钢量 */ + @Excel(name = "出钢量") + private BigDecimal tapNumber; + + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public Long getConverterNumber() { + return converterNumber; + } + + public void setConverterNumber(Long converterNumber) { + this.converterNumber = converterNumber; + } + + public BigDecimal getNominalNumber() { + return nominalNumber; + } + + public void setNominalNumber(BigDecimal nominalNumber) { + this.nominalNumber = nominalNumber; + } + + public BigDecimal getOutputNumber() { + return outputNumber; + } + + public void setOutputNumber(BigDecimal outputNumber) { + this.outputNumber = outputNumber; + } + + public BigDecimal getTapNumber() { + return tapNumber; + } + + public void setTapNumber(BigDecimal tapNumber) { + this.tapNumber = tapNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisFactoryConverter{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + /** 炉数 */ + @Excel(name = "炉数") + private Long converterNumber; + + /** 公称容量 */ + @Excel(name = "公称容量(t)") + private BigDecimal nominalNumber; + + /** 产量 */ + @Excel(name = "产量(t)") + private BigDecimal outputNumber; + + /** 出钢量 */ + @Excel(name = "出钢量") + private BigDecimal tapNumber; + + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public Long getConverterNumber() { + return converterNumber; + } + + public void setConverterNumber(Long converterNumber) { + this.converterNumber = converterNumber; + } + + public BigDecimal getNominalNumber() { + return nominalNumber; + } + + public void setNominalNumber(BigDecimal nominalNumber) { + this.nominalNumber = nominalNumber; + } + + public BigDecimal getOutputNumber() { + return outputNumber; + } + + public void setOutputNumber(BigDecimal outputNumber) { + this.outputNumber = outputNumber; + } + + public BigDecimal getTapNumber() { + return tapNumber; + } + + public void setTapNumber(BigDecimal tapNumber) { + this.tapNumber = tapNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisFurnace.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisFurnace.java new file mode 100644 index 0000000..d933ff9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisFurnace.java @@ -0,0 +1,206 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 高炉产量分析对象 s_ra_real_time_analysis_furnace + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "高炉产量分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_furnace") +public class SRaRealTimeAnalysisFurnace extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + @Excel(name = "出铁量(t)") + private BigDecimal tapNumber; + + + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("tapNumber", getTapNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .toString(); + } + + public static class SRaRealTimeAnalysisFactoryFurnace{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + /** 出铁量 */ + @Excel(name = "出铁量(t)") + private BigDecimal tapNumber; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + + public BigDecimal getTapNumber() { + return tapNumber; + } + + public void setTapNumber(BigDecimal tapNumber) { + this.tapNumber = tapNumber; + } + } + public static class SRaRealTimeAnalysisDeviceFurnace{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + /** 出铁量 */ + @Excel(name = "出铁量(t)") + private BigDecimal tapNumber; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + + public BigDecimal getTapNumber() { + return tapNumber; + } + + public void setTapNumber(BigDecimal tapNumber) { + this.tapNumber = tapNumber; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisGlass.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisGlass.java new file mode 100644 index 0000000..b551292 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisGlass.java @@ -0,0 +1,234 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析对象 s_ra_real_time_analysis_glass + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-玻璃产量分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_glass") +public class SRaRealTimeAnalysisGlass extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + + @ApiModelProperty(value = "退火窑实时车速小时均值(m/小时)") + /** 退火窑实时车速小时均值(m/小时) */ + @Excel(name = "退火窑实时车速小时均值(m/小时)") + private BigDecimal kilnNumber; + + + @ApiModelProperty(value = "额定车速(m/小时)") + /** 额定车速(m/小时) */ + @Excel(name = "额定车速(m/小时)") + private BigDecimal ratedNumber; + + + @ApiModelProperty(value = "设计产能(t)") + /** 设计产能(t) */ + @Excel(name = "设计产能(t)") + private BigDecimal planNumber; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + @ApiModelProperty(value = "玻璃产量(t)") + /** 玻璃产量(t) */ + @Excel(name = "玻璃产量(t)") + private BigDecimal glassNumber; + + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("kilnNumber", getKilnNumber()) + .append("ratedNumber", getRatedNumber()) + .append("planNumber", getPlanNumber()) + .append("glassNumber", getGlassNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .toString(); + } + public static class SRaRealTimeAnalysisFactoryGlass{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + + @Excel(name = "玻璃产量(t)") + private BigDecimal glassNumber; + + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getGlassNumber() { + return glassNumber; + } + + public void setGlassNumber(BigDecimal glassNumber) { + this.glassNumber = glassNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisDeviceGlass{ + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "玻璃产量(t)") + private BigDecimal glassNumber; + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getGlassNumber() { + return glassNumber; + } + + public void setGlassNumber(BigDecimal glassNumber) { + this.glassNumber = glassNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisKwh.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisKwh.java new file mode 100644 index 0000000..2a57d6b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisKwh.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 企业用电水平分析对象 s_ra_real_time_analysis_kwh + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业用电水平分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_kwh") +public class SRaRealTimeAnalysisKwh extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区域") + private String districtName; + + @ApiModelProperty(value = "年份(yyyy)") + /** 年份(yyyy) */ + @Excel(name = "年份") + private String year; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + + @ApiModelProperty(value = "参数名称(污染物全写)") + /** 参数名称(污染物全写) */ + private String paramName; + + + @ApiModelProperty(value = "区域排名") + /** 区域排名 */ + @Excel(name = "区域排名") + private Long areaRank; + + + @ApiModelProperty(value = "行业排名") + /** 行业排名 */ + @Excel(name = "行业排名") + private Long industryRank; + + + @ApiModelProperty(value = "是否用电大户(0-否,1-是)") + /** 是否用电大户(0-否,1-是) */ + @Excel(name = "是否用电大户",readConverterExp = "0=否,1=是") + private String largeHouse; + + + @ApiModelProperty(value = "用电规模") + /** 用电规模 */ + @Excel(name = "用电规模") + private String scale; + + + @ApiModelProperty(value = "单位产品用电强度") + /** 单位产品用电强度 */ + @Excel(name = "单位产品用电") + private String vol; + + + + @ApiModelProperty(value = "参数编码(污染物简写)") + /** 参数编码(污染物简写) */ + private String paramCode; + + + @ApiModelProperty(value = "参数单位(污染物单位)") + /** 参数单位(污染物单位) */ + private String paramUnit; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("paramName", getParamName()) + .append("areaRank", getAreaRank()) + .append("industryRank", getIndustryRank()) + .append("largeHouse", getLargeHouse()) + .append("scale", getScale()) + .append("vol", getVol()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("year", getYear()) + .append("paramCode", getParamCode()) + .append("paramUnit", getParamUnit()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisPower.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisPower.java new file mode 100644 index 0000000..c27d458 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisPower.java @@ -0,0 +1,197 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析对象 s_ra_real_time_analysis_power + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-机组负荷分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_power") +public class SRaRealTimeAnalysisPower extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + @ApiModelProperty(value = "所在区县") + /** 所在区县名称 */ + @Excel(name = "所在区县",sort = 2) + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称",sort = 3) + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "机组负荷(MW)") + /** 机组负荷(MW) */ + @Excel(name = "机组负荷(MW)",sort = 5) + private BigDecimal powerNumber; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH",sort = 4) + private Date analyseTime; + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("powerNumber", getPowerNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .toString(); + } + + public static class SRaRealTimeAnalysisFactoryPower{ + @Excel(name = "企业名称") + private String factoryName; + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "机组负荷(MW)") + private BigDecimal powerNumber; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getPowerNumber() { + return powerNumber; + } + + public void setPowerNumber(BigDecimal powerNumber) { + this.powerNumber = powerNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisDevicePower{ + @Excel(name = "企业名称") + private String factoryName; + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "设备名称") + private String deviceName; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "机组负荷(MW)") + private BigDecimal powerNumber; + + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getPowerNumber() { + return powerNumber; + } + + public void setPowerNumber(BigDecimal powerNumber) { + this.powerNumber = powerNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRubbish.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRubbish.java new file mode 100644 index 0000000..9eb4a5c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRubbish.java @@ -0,0 +1,206 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析对象 s_ra_real_time_analysis_rubbish + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-垃圾处理量分析") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_rubbish") +public class SRaRealTimeAnalysisRubbish extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "入炉方式") + /** 入炉方式 */ + @Excel(name = "入炉方式") + private String feedingMethod; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH") + @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH") + private Date analyseTime; + + @ApiModelProperty(value = "垃圾处理量(kg)") + /** 垃圾处理量(kg) */ + @Excel(name = "垃圾处理量(kg)") + private BigDecimal rubbishNumber; + + + + + @ApiModelProperty(value = "统计时间列表展示") + @TableField(exist = false) + private String analyseTimeStr; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("deviceName", getDeviceName()) + .append("deviceId", getDeviceId()) + .append("rubbishNumber", getRubbishNumber()) + .append("updateTime", getUpdateTime()) + .append("createTime", getCreateTime()) + .append("analyseTime", getAnalyseTime()) + .append("feedingMethod", getFeedingMethod()) + .toString(); + } + public static class SRaRealTimeAnalysisFactoryRubbish{ + @Excel(name = "企业名称") + private String factoryName; + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "垃圾处理量(kg)") + private BigDecimal rubbishNumber; + @Excel(name = "统计时间") + private String analyseTimeStr; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getRubbishNumber() { + return rubbishNumber; + } + + public void setRubbishNumber(BigDecimal rubbishNumber) { + this.rubbishNumber = rubbishNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + } + public static class SRaRealTimeAnalysisDeviceRubbish{ + @Excel(name = "企业名称") + private String factoryName; + @Excel(name = "所在区县") + private String districtName; + @Excel(name = "垃圾处理量(kg)") + private BigDecimal rubbishNumber; + @Excel(name = "统计时间") + private String analyseTimeStr; + @Excel(name = "设备名称") + private String deviceName; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public BigDecimal getRubbishNumber() { + return rubbishNumber; + } + + public void setRubbishNumber(BigDecimal rubbishNumber) { + this.rubbishNumber = rubbishNumber; + } + + public String getAnalyseTimeStr() { + return analyseTimeStr; + } + + public void setAnalyseTimeStr(String analyseTimeStr) { + this.analyseTimeStr = analyseTimeStr; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRun.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRun.java new file mode 100644 index 0000000..797cd09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisRun.java @@ -0,0 +1,183 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; +import java.util.List; + + +/** + * 企业装备运行情况实时分析对象 s_ra_real_time_analysis_run + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业装备运行情况实时分析") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_run") +public class SRaRealTimeAnalysisRun extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别") + private String performanceLevel; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + @Excel(name = "设备编号") + private String deviceId; + + + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + /** 设备类型(生产设备/治理设备) */ + @Excel(name = "设备类型") + private String deviceType; + + + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + /** 运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失) */ + @Excel(name = "运行状态", readConverterExp = "1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常") + private String operationStatus; + + + @ApiModelProperty(value = "判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断)") + /** 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) */ + @Excel(name = "判断依据", readConverterExp = "1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断") + private String judgementBasis; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm") + private Date updateTime; + + @ApiModelProperty(value = "更新时间") + @TableField(exist = false) + private String updateTimeTmp; + + @ApiModelProperty(value = "运行状态时间段") + /** 运行状态时间段 */ + private String runEtc; + + + @ApiModelProperty(value = "异常情况") + /** 异常情况 */ + private String goingsOn; + + /** + * 运行状态 1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常 + */ + public enum OperationStatus { + + S_1(1, "运行"), + S_2(2,"停运"), + S_3(2,"启停"), + S_4(2,"停启"), + S_5(2,"数据缺失"), + S_6(2,"数据恒值"), + S_7(2,"数据异常"); + + public Integer value; + public String label; + + public Integer getValue() { + return value; + } + + public void setValue(Integer value) { + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + OperationStatus(Integer value, String label) { + this.value = value; + this.label = label; + } + } + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") + @Excel(name = "总有功电量示值(安)(用电量)") + private String activePowerQuantityTmp; + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") + @Excel(name = "总有功电量示值(安)(用电量)") + private String activePowerQuantity; + + /** + * 临时记录设备对应的监测点ID + */ + @TableField(exist = false) + private List basDeviceSiteIds; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisStop.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisStop.java new file mode 100644 index 0000000..37b5e1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaRealTimeAnalysisStop.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 lombok.ToString; + + +/** + * 企业装备停限产分析报(DCS)对象 s_ra_real_time_analysis_stop + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "企业装备停限产分析报(DCS)") +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_real_time_analysis_stop") +public class SRaRealTimeAnalysisStop extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id", type = IdType.ASSIGN_UUID) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业类别") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "所在区县") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + @Excel(name = "绩效级别",readConverterExp = "A=A级,B=B级,B-=B-级,C=C级,D=D级,EXEMPTION=豁免类,NOT_RATED=未评级,NON_PERFORMING_BUSINESS=非绩效企业") + private String performanceLevel; + + @ApiModelProperty(value = "工序") + /** 工序 */ + @Excel(name = "工序") + private String workingProcedure; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + + @ApiModelProperty(value = "运行状态时间段") + /** 运行状态时间段 */ + @Excel(name = "运行状态时间段",width = 100) + private String runEtc; + + + @ApiModelProperty(value = "异常情况") + /** 异常情况 */ + @Excel(name = "异常情况",width = 50) + private String goingsOn; + + + @ApiModelProperty(value = "分析时间") + /** 分析时间 */ + private String analyseTime; + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + /** 运行状态 */ + private String operationStatus; + + @ApiModelProperty(value = "运行状态开始时间") + /** 运行状态开始时间 */ + private String runStatTime; + @ApiModelProperty(value = "运行状态结束时间") + /** 运行状态结束时间 */ + private String runStopTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSelfMonitoringData.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSelfMonitoringData.java new file mode 100644 index 0000000..e95abdc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSelfMonitoringData.java @@ -0,0 +1,245 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; +import java.util.Date; + + +/** + * 关联分析系统-企业自行监测数据对象 s_ra_self_monitoring_data + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "关联分析系统-企业自行监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_self_monitoring_data") +public class SRaSelfMonitoringData extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @Excel(name = "污染物类型") + private String pollutantsType; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称") + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "存企业表排污许可行业字段类别名称(多个使用'、'拼接)") + /** 存企业表排污许可行业字段类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称") + private String industryCategoryName; + + + @ApiModelProperty(value = "存企业表排污许可行业字段类别编码(多个使用'、'拼接)") + /** 存企业表排污许可行业字段类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "采样时间") + /** 采样时间 */ + @Excel(name = "采样时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date monitorTime; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + @Excel(name = "监测点名称") + private String monitoringName; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollutantsName; + + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + private String pollutantsCode; + + + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private String monitorId; + + + @ApiModelProperty(value = "温度(%)") + /** 温度(%) */ + @Excel(name = "温度") + private String temperatureHumidity; + + @ApiModelProperty(value = "流速(m/s)") + /** 流速(m/s) */ + @Excel(name = "流速") + private String velocity; + + @ApiModelProperty(value = "生产负荷(%)") + /** 生产负荷(%) */ + @Excel(name = "生产负荷") + private String productionLoad; + + @ApiModelProperty(value = "含氧量(%)") + /** 含氧量(%) */ + @Excel(name = "含氧量") + private String oxygenContent; + + @ApiModelProperty(value = "湿度") + /** 湿度 */ + @Excel(name = "湿度") + private String humidity; + + @ApiModelProperty(value = "流量(m3/h)") + /** 流量(m3/h) */ + @Excel(name = "流量") + private String flow; + + @ApiModelProperty(value = "实测浓度") + /** 实测浓度 */ + @Excel(name = "实测浓度") + private String actualConcentration; + + + @ApiModelProperty(value = "折算浓度") + /** 折算浓度 */ + @Excel(name = "折算浓度") + private String obversionConcentration; + + + @ApiModelProperty(value = "限值上限") + /** 限值上限 */ + @Excel(name = "限值上限") + private String upperValue; + + + @ApiModelProperty(value = "限值下限") + /** 限值下限 */ + @Excel(name = "限值下限") + private String lowerValue; + + + @ApiModelProperty(value = "是否超标;0---否,1----是") + /** 是否超标;0---否,1----是 */ + @Excel(name = "是否超标") + private String exceedingStandard; + + @ApiModelProperty(value = "超标倍数") + /** 超标倍数 */ + @Excel(name = "超标倍数") + private String exceedingMultiple; + + + @ApiModelProperty(value = "频次单位") + /** 频次单位 */ + @Excel(name = "频次单位") + private String frequencyUnit; + + @ApiModelProperty(value = "频次值") + /** 频次值 */ + @Excel(name = "频次值") + private String frequencyValue; + + @ApiModelProperty(value = "超标原因") + /** 超标原因 */ + @Excel(name = "超标原因") + private String reason; + + + public String getExceedingStandard() { + return exceedingStandard; + } + + public void setExceedingStandard(String exceedingStandard) { + if(StringUtils.isNotBlank(exceedingStandard)){ + this.exceedingStandard = exceedingStandard.equals("1")?"是":"否"; + }else { + this.exceedingStandard = exceedingStandard; + } + } + + public String getPollutantsType() { + return pollutantsType; + } + + public void setPollutantsType(String pollutantsType) { + if(StringUtils.isNotBlank(pollutantsType)){ + this.pollutantsType = pollutantsType.equals("1")?"水":"气"; + }else { + this.pollutantsType = pollutantsType; + } + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("pollutantsName", getPollutantsName()) + .append("pollutantsCode", getPollutantsCode()) + .append("monitorTime", getMonitorTime()) + .append("createTime", getCreateTime()) + .append("monitorId", getMonitorId()) + .append("monitoringName", getMonitoringName()) + .append("flow", getFlow()) + .append("temperatureHumidity", getTemperatureHumidity()) + .append("oxygenContent", getOxygenContent()) + .append("velocity", getVelocity()) + .append("productionLoad", getProductionLoad()) + .append("actualConcentration", getActualConcentration()) + .append("obversionConcentration", getObversionConcentration()) + .append("upperValue", getUpperValue()) + .append("lowerValue", getLowerValue()) + .append("frequencyUnit", getFrequencyUnit()) + .append("exceedingStandard", getExceedingStandard()) + .append("exceedingMultiple", getExceedingMultiple()) + .append("humidity", getHumidity()) + .append("frequencyValue", getFrequencyValue()) + .append("reason", getReason()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSourcePermittedOnline.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSourcePermittedOnline.java new file mode 100644 index 0000000..00e2ae6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaSourcePermittedOnline.java @@ -0,0 +1,209 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + +/** + * 许可在线排放量废水明细对象 s_ra_water_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可在线排放量废水明细") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_water_permitted_online") +public class SRaSourcePermittedOnline extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "cod在线排放量(kg)") + /** cod在线排放量(kg) */ + @Excel(name = "COD在线排放量(kg)",sort = 4,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal cod; + + @ApiModelProperty(value = "氨氮在线排放量(kg)") + /** 氨氮在线排放量(kg) */ + @Excel(name = "氨氮在线排放量(kg)", sort = 5,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal ammonia; + @ApiModelProperty(value = "总磷在线排放量(kg)") + /** 总磷在线排放量(kg) */ + @Excel(name = "总磷在线排放量(kg)", sort = 6,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal phosphorus; + + @ApiModelProperty(value = "总氮在线排放量(kg)") + /** 总氮在线排放量(kg) */ + @Excel(name = "总氮在线排放量(kg)", sort = 7,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal nitrogen; + + @ApiModelProperty(value = "cod许可在线排放量(kg)") + @Excel(name = "COD许可排放量(kg)", sort = 8,cellType = Excel.ColumnType.NUMERIC) + /** cod许可在线排放量(kg) */ + private BigDecimal codAmendments; + + @ApiModelProperty(value = "氨氮许可在线排放量(kg)") + @Excel(name = "氨氮许可排放量(kg)", sort = 9,cellType = Excel.ColumnType.NUMERIC) + /** 氨氮许可在线排放量(kg) */ + private BigDecimal ammoniaAmendments; + + @ApiModelProperty(value = "总磷许可在线排放量(kg)") + @Excel(name = "总磷许可排放量(kg)", sort = 10,cellType = Excel.ColumnType.NUMERIC) + /** 总磷许可在线排放量(kg) */ + private BigDecimal phosphorusAmendments; + @ApiModelProperty(value = "总氮许可在线排放量(kg)") + @Excel(name = "总氮许可排放量(kg)", sort = 11,cellType = Excel.ColumnType.NUMERIC) + /** 总氮许可在线排放量(kg) */ + private BigDecimal nitrogenAmendments; + + @ApiModelProperty(value = "NOx在线排放量(kg)") + /** NOx在线排放量(kg) */ + @Excel(name = "NOx在线排放量(kg)",sort = 12,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal nox; + + @ApiModelProperty(value = "SO2在线排放量(kg)") + /** SO2在线排放量(kg) */ + @Excel(name = "SO2在线排放量(kg)", sort = 13,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal so2; + + @ApiModelProperty(value = "颗粒物在线排放量(kg)") + /** 颗粒物在线排放量(kg) */ + @Excel(name = "颗粒物在线排放量(kg)",sort = 14,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal pm; + + @ApiModelProperty(value = "vocs在线排放量(kg)") + /** vocs在线排放量(kg) */ + @Excel(name = "VOCs在线排放量(kg)", sort = 15,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal vocs; + + @ApiModelProperty(value = "NOx许可在线排放量(kg)") + @Excel(name = "NOx许可排放量(kg)", sort = 16,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + /** NOx许可在线排放量(kg) */ + private BigDecimal noxAmendments; + + @ApiModelProperty(value = "so2许可在线排放量(kg)") + @Excel(name = "SO2许可排放量(kg)", sort = 17,cellType = Excel.ColumnType.NUMERIC) + /** so2许可在线排放量(kg) */ + @TableField(exist = false) + private BigDecimal so2Amendments; + + @ApiModelProperty(value = "颗粒物许可在线排放量(kg)") + @Excel(name = "颗粒物许可排放量(kg)", sort = 18,cellType = Excel.ColumnType.NUMERIC) + /** 颗粒物许可在线排放量(kg) */ + @TableField(exist = false) + private BigDecimal pmAmendments; + + @ApiModelProperty(value = "vocs许可在线排放量(kg)") + @Excel(name = "VOCs许可排放量(kg)", sort = 19,cellType = Excel.ColumnType.NUMERIC) + /** vocs许可在线排放量(kg) */ + @TableField(exist = false) + private BigDecimal vocsAmendments; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用许可在线排放量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用许可在线排放量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "纳入在线排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用许可在线排放量计算") + /** 纳入在线排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用许可在线排放量计算 */ + private String includedEmissions; + + @TableField(exist = false) + private String monitorId; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("cod", getCod()) + .append("codAmendments", getCodAmendments()) + .append("nitrogen", getNitrogen()) + .append("nitrogenAmendments", getNitrogenAmendments()) + .append("ammonia", getAmmonia()) + .append("ammoniaAmendments", getAmmoniaAmendments()) + .append("phosphorus", getPhosphorus()) + .append("phosphorusAmendments", getPhosphorusAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .append("includedEmissions", getIncludedEmissions()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterFlag.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterFlag.java new file mode 100644 index 0000000..dcbb2d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterFlag.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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.math.BigDecimal; +import java.util.Date; + + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废水在线监测标记汇总对象 s_ra_water_flag + */ +@ApiModel(value = "关联分析系统-企业异常行为分析-企业排放分析-废水在线监测标记汇总") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_water_flag") +public class SRaWaterFlag extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键") + @TableId(value = "id",type = IdType.ASSIGN_UUID) + private String id; + + + @ApiModelProperty(value = "监测点id") + private String outletId; + + + @ApiModelProperty(value = "数据标记") + private String dataFlag; + + + @ApiModelProperty(value = "开始时间") + private Date startTime; + + + @ApiModelProperty(value = "结束时间") + private Date endTime; + + + @ApiModelProperty(value = "时长") + private BigDecimal duration; + + + @ApiModelProperty(value = "平均时长") + private BigDecimal durationAvg; + + + @ApiModelProperty(value = "COD浓度(mg/L)") + private BigDecimal codConcentration; + + + @ApiModelProperty(value = "氨氮浓度(mg/L)") + private BigDecimal ammoniaNitrogen; + + + @ApiModelProperty(value = "总氮浓度(mg/L)") + private BigDecimal nitrogenConcentration; + + @ApiModelProperty(value = "总磷浓度(mg/L)") + private BigDecimal phosphorusConcentration; + + + @ApiModelProperty(value = "PH值") + private BigDecimal phValue; + + + @ApiModelProperty(value = "废水流量(m³)") + private BigDecimal wastewaterFlow; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedEmissions.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedEmissions.java new file mode 100644 index 0000000..6e59e72 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedEmissions.java @@ -0,0 +1,185 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.Version; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_water_permitted_emissions") +public class SRaWaterPermittedEmissions extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + @Excel(name = "排口类型",sort = 6,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 4) + private String moitorName; + + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + @Excel(name = "监测类型",sort = 7,readConverterExp = "1=自动监测,2=手工检测") + private String monitorType; + + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号",sort = 5) + private String outletCode; + + + @ApiModelProperty(value = "cod排放量(kg)") + /** cod排放量(kg) */ + @Excel(name = "cod排放量(kg)",sort = 8,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal cod; + + + @ApiModelProperty(value = "cod修约量(kg)") + /** cod修约量(kg) */ + private BigDecimal codAmendments; + + + @ApiModelProperty(value = "总氮排放量(kg)") + /** 总氮排放量(kg) */ + @Excel(name = "总氮排放量(kg)", sort = 10,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal nitrogen; + + + @ApiModelProperty(value = "总氮修约量(kg)") + /** 总氮修约量(kg) */ + private BigDecimal nitrogenAmendments; + + + @ApiModelProperty(value = "氨氮排放量(kg)") + /** 氨氮排放量(kg) */ + @Excel(name = "氨氮排放量(kg)", sort = 9,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal ammonia; + + @ApiModelProperty(value = "氨氮修约量(kg)") + /** 氨氮修约量(kg) */ + private BigDecimal ammoniaAmendments; + + + @ApiModelProperty(value = "总磷排放量(kg)") + /** 总磷排放量(kg) */ + @Excel(name = "总磷排放量(kg)", sort = 11,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal phosphorus; + + + @ApiModelProperty(value = "总磷修约量(kg)") + /** 总磷修约量(kg) */ + private BigDecimal phosphorusAmendments; + + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("cod", getCod()) + .append("codAmendments", getCodAmendments()) + .append("nitrogen", getNitrogen()) + .append("nitrogenAmendments", getNitrogenAmendments()) + .append("ammonia", getAmmonia()) + .append("ammoniaAmendments", getAmmoniaAmendments()) + .append("phosphorus", getPhosphorus()) + .append("phosphorusAmendments", getPhosphorusAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedOnline.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedOnline.java new file mode 100644 index 0000000..5f1792e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/analysis/SRaWaterPermittedOnline.java @@ -0,0 +1,214 @@ +package cn.cecep.talroad.domain.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.TableField; + +import java.math.BigDecimal; + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_ra_water_permitted_online") +public class SRaWaterPermittedOnline extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + @TableId(value = "data_id",type = IdType.AUTO) + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + @Excel(name = "行业名称",sort = 2) + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + @Excel(name = "区县名称",sort = 3) + private String districtName; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + @Excel(name = "监测点位名称",sort = 4) + private String moitorName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + @Excel(name = "排口编号",sort = 5) + private String outletCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + @Excel(name = "排口类型",sort = 6,readConverterExp = "1=主要排口,2=一般排口") + private String outletType; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + @Excel(name = "监测类型",sort = 7) + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "cod排放量(kg)") + /** cod排放量(kg) */ + @Excel(name = "COD排放量(kg)",sort = 8,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal cod; + + @ApiModelProperty(value = "氨氮排放量(kg)") + /** 氨氮排放量(kg) */ + @Excel(name = "氨氮排放量(kg)", sort = 9,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal ammonia; + + @ApiModelProperty(value = "cod修约量(kg)") + /** cod修约量(kg) */ + private BigDecimal codAmendments; + + @ApiModelProperty(value = "总磷排放量(kg)") + /** 总磷排放量(kg) */ + @Excel(name = "总磷排放量(kg)", sort = 10,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal phosphorus; + + @ApiModelProperty(value = "总氮排放量(kg)") + /** 总氮排放量(kg) */ + @Excel(name = "总氮排放量(kg)", sort = 11,cellType = Excel.ColumnType.NUMERIC) + private BigDecimal nitrogen; + + @ApiModelProperty(value = "NOx排放量(kg)") + /** NOx排放量(kg) */ + @Excel(name = "NOx排放量(kg)",sort = 12,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal nox; + + @ApiModelProperty(value = "SO2排放量(kg)") + /** SO2排放量(kg) */ + @Excel(name = "SO2排放量(kg)", sort = 13,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal so2; + + @ApiModelProperty(value = "颗粒物排放量(kg)") + /** 颗粒物排放量(kg) */ + @Excel(name = "颗粒物排放量(kg)",sort = 14,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal pm; + + @ApiModelProperty(value = "vocs排放量(kg)") + /** vocs排放量(kg) */ + @Excel(name = "VOCs排放量(kg)", sort = 15,cellType = Excel.ColumnType.NUMERIC) + @TableField(exist = false) + private BigDecimal vocs; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "总氮修约量(kg)") + /** 总氮修约量(kg) */ + private BigDecimal nitrogenAmendments; + + @ApiModelProperty(value = "氨氮修约量(kg)") + /** 氨氮修约量(kg) */ + private BigDecimal ammoniaAmendments; + + @ApiModelProperty(value = "总磷修约量(kg)") + /** 总磷修约量(kg) */ + private BigDecimal phosphorusAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String includedEmissions; + + @TableField(exist = false) + private String monitorId; + + + + + + @ApiModelProperty(value = "NOx修约量(kg)") + @TableField(exist = false) + /** NOx修约量(kg) */ + private BigDecimal noxAmendments; + + @ApiModelProperty(value = "so2修约量(kg)") + /** so2修约量(kg) */ + @TableField(exist = false) + private BigDecimal so2Amendments; + + @ApiModelProperty(value = "颗粒物修约量(kg)") + /** 颗粒物修约量(kg) */ + @TableField(exist = false) + private BigDecimal pmAmendments; + + @ApiModelProperty(value = "vocs修约量(kg)") + /** vocs修约量(kg) */ + @TableField(exist = false) + private BigDecimal vocsAmendments; + + @TableField(exist = false) + private String sourcePermissionPoll; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dataId", getDataId()) + .append("factoryId", getFactoryId()) + .append("factoryName", getFactoryName()) + .append("industryCategoryName", getIndustryCategoryName()) + .append("industryCategoryCode", getIndustryCategoryCode()) + .append("districtName", getDistrictName()) + .append("districtCode", getDistrictCode()) + .append("outletType", getOutletType()) + .append("moitorName", getMoitorName()) + .append("monitorType", getMonitorType()) + .append("monitorTime", getMonitorTime()) + .append("outletCode", getOutletCode()) + .append("cod", getCod()) + .append("codAmendments", getCodAmendments()) + .append("nitrogen", getNitrogen()) + .append("nitrogenAmendments", getNitrogenAmendments()) + .append("ammonia", getAmmonia()) + .append("ammoniaAmendments", getAmmoniaAmendments()) + .append("phosphorus", getPhosphorus()) + .append("phosphorusAmendments", getPhosphorusAmendments()) + .append("dataFlag", getDataFlag()) + .append("createTime", getCreateTime()) + .append("includedEmissions", getIncludedEmissions()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AnalysisDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AnalysisDto.java new file mode 100644 index 0000000..38d7e6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AnalysisDto.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: he yun long + * @create: 2022-10-18 21:14 + */ +@Data +@ApiModel(value="AnalysisDto", description="AnalysisDto") +public class AnalysisDto { + + + + + private String userRegionCode; + @ApiModelProperty("1区域 2站点") + private String type; + @ApiModelProperty("区域编码") + private String regionCode; + @ApiModelProperty("站点id") + private String stationId; + @ApiModelProperty("1小时 2日均 3月均") + private String property; + + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + @ApiModelProperty(value = "因子") + private String factorCode; + + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AuditRecordDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AuditRecordDTO.java new file mode 100644 index 0000000..a370cf3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/AuditRecordDTO.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 审核记录表单类 + */ +@Data +@ApiModel(value = "审核记录表单类") +public class AuditRecordDTO { + + @ApiModelProperty(value = "报告id") + private String reportId; + + @ApiModelProperty(value = "选中的企业id列表") + private List recordIdList; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BMainPollMonDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BMainPollMonDTO.java new file mode 100644 index 0000000..764c151 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BMainPollMonDTO.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + + +@Data +@ApiModel(value = "审核记录表单类") +public class BMainPollMonDTO implements Serializable { + + @ApiModelProperty(value = "企业ID") + private String factoryId; + + @ApiModelProperty(value = "排口code") + private String outletCode; + @ApiModelProperty(value = "排口名称") + private String outletName; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "是否在线1在线") + private Integer isOnline; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BasTargetDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BasTargetDto.java new file mode 100644 index 0000000..7bc4571 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/BasTargetDto.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.domain.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +@Data +@ApiModel(value = "达标管控参数") +public class BasTargetDto { + @ApiModelProperty(value = "pm25目标值") + private BigDecimal pm25Target; + @ApiModelProperty(value = "pm10目标值") + private BigDecimal pm10Target; + @ApiModelProperty(value = "so2目标住") + private BigDecimal so2Target; + @ApiModelProperty(value = "no2目标值") + private BigDecimal no2Target; + @ApiModelProperty(value = "co目标值") + private BigDecimal coTarget; + @ApiModelProperty(value = "o38h目标值") + private BigDecimal o38hTarget; + @ApiModelProperty(value = "优良天目标值") + private BigDecimal goodDaysTarget; + @ApiModelProperty(value = "重污染天目标值") + private BigDecimal heavyDaysTarget; + + //用户区域编号 + @TableField(exist = false) + private String userRegionCode; + + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/FactoryLabelChangeDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/FactoryLabelChangeDTO.java new file mode 100644 index 0000000..5b30582 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/FactoryLabelChangeDTO.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.domain.dto; + +import lombok.Data; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 17:12:06 + * @version: + * @Description: + */ +@Data +public class FactoryLabelChangeDTO { + + String startTime; + + String endTime; + + String enumId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/MapOutlet24HourDataDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/MapOutlet24HourDataDTO.java new file mode 100644 index 0000000..1879f8a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/MapOutlet24HourDataDTO.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + + +@Data +@ApiModel(value = "地图排口24小时趋势查询表单类") +public class MapOutlet24HourDataDTO { + + @ApiModelProperty(value = "污染物类型,1COD,2氨氮") + private Integer pollutantType = 1; + + @ApiModelProperty(value = "企业id") + @NotBlank + private String factoryId; + + @ApiModelProperty(value = "排口id") + @NotBlank + private String outletId; + + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + private String dataType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutantCharacterAnalysisDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutantCharacterAnalysisDto.java new file mode 100644 index 0000000..99eff88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutantCharacterAnalysisDto.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.dto + * @ClassName: PollutantCharacterAnalysisDto + * @Author: wyg + * @Description: + * @Date: 2023/6/13 15:12 + * @Version: 1.0 + */ + +@ApiModel(value = "污染特征分析dto") +@Data +public class PollutantCharacterAnalysisDto { + @ApiModelProperty(value = "区域类型 1:区域 2:站点") + private Integer areaType; + @ApiModelProperty(value = "区域/站点code") + private String siteOrRegion; + @ApiModelProperty(value = "时间类型 1:小时 2:日") + private Integer timeType; + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + @ApiModelProperty(value = "比值类型") + private List ratioType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutionSourceDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutionSourceDto.java new file mode 100644 index 0000000..0efe683 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/PollutionSourceDto.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.dto + * @ClassName: PollutionSourceDto + * @Author: wyg + * @Description: 污染源管理查询 + * @Date: 2023/6/13 14:57 + * @Version: 1.0 + */ + +@ApiModel(value = "污染源管理查询") +@Data +public class PollutionSourceDto { + @ApiModelProperty(value = "企业类别集合") + private List companyTypeList; + @ApiModelProperty(value = "企业类别") + private Integer companyType; + @ApiModelProperty(value = "行业类别") + private Integer companyIndustry; + @ApiModelProperty(value = "行业类别code") + private String industryCode; + @ApiModelProperty(value = "企业标签") + private Integer companyTag; + @ApiModelProperty(value = "企业名称") + private String companyName; + @ApiModelProperty(value = "用户区域code") + private String areaCode; + private Integer pageNum; + private Integer pageSize; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/ReachabilityDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/ReachabilityDto.java new file mode 100644 index 0000000..dc002df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/ReachabilityDto.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: he yun long + * @create: 2022-09-19 16:21 + */ +@Data +@ApiModel(value="ReachabilityDto", description="ReachabilityDto") +public class ReachabilityDto { + + @ApiModelProperty(value = "区域code") + private String userRegionCode; + + @ApiModelProperty(value = "2 本月累计 3 本年累计 5冬防阶段目标 6 秋冬防总目标") + private Integer timeType ; + + @ApiModelProperty(value = "因子") + private String factorCode; + + @ApiModelProperty(value = "因子") + private Integer factorCodeInt; + + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty(value = "时间") + private String monitorTime; + + @ApiModelProperty(value = "1 去年同期 2今年") + private String period; + + @ApiModelProperty(value = "污染物因子字段") + private String field; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/RecordListDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/RecordListDTO.java new file mode 100644 index 0000000..6d7b3a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/RecordListDTO.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.domain.dto; + +import cn.cecep.talroad.common.core.web.page.PageData; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 审核记录添加企业列表表单 + */ +@Data +@ApiModel(value = "审核记录添加企业列表表单") +public class RecordListDTO { + + @ApiModelProperty(value = "排污许可单位名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCode; + @ApiModelProperty(value = "区县名称") + private String countryName; + @ApiModelProperty(value = "管理类别") + private String licenseManType; + @ApiModelProperty(value = "提交时间开始") + private String commitTimeStart; + @ApiModelProperty(value = "提交时间结束") + private String commitTimeEnd; + + private Integer pageNum; + + private Integer pageSize; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/SequenceDto.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/SequenceDto.java new file mode 100644 index 0000000..e0b6ece --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/dto/SequenceDto.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author: he yun long + * @create: 2022-07-14 09:51 + */ +@Data +@ApiModel(value="SequenceDto", description="SequenceDto") +public class SequenceDto { + + + @ApiModelProperty("区域 或者 站点 类型 (1插值图 2渲染图) ") + private String type; + @ApiModelProperty("区域编码多个用 ,分割") + private String regionCode; + @ApiModelProperty("站点id多个用 ,分割") + private String stationId; + @ApiModelProperty("1小时 2日均 3月均") + private String property; + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + @ApiModelProperty(value = "因子") + private String factorCode; + //参数 + private String param; + //年份 + @ApiModelProperty(value = "年份") + private String yearTime; + + @ApiModelProperty(value = "日") + private String dayTime; + @ApiModelProperty(value = "月") + private String monthTime; + + @ApiModelProperty(value = "城市 1自南向北 2自北向南、3 自东向西、4 自西向东、5 自东北向西南、6 自西南向东北、7 自西北向东南、8自东南向西北") + private String citySort; + + @ApiModelProperty(value = "区域账号Code") + private String userRegionCode; + @ApiModelProperty(value = "userRegionName") + private String userRegionName; + + @ApiModelProperty(value = "时间") + private String monitorTime; + + @ApiModelProperty(value = "1正 2反") + private Boolean positive; + + @ApiModelProperty(value = "城市还是站点 1: 城市, 2: 站点") + private Integer cityOrStation; + + private List regionCodeList; + + private List stationIdList; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationExceed.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationExceed.java new file mode 100644 index 0000000..b7cac1c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationExceed.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 站点超标预警--废气 + */ +@ApiModel(description = "站点超标预警--废气") +@Data +@TableName(value = "e_rm_station_exceed") +public class ERmStationExceed implements Serializable { + public static final String COL_STATION_NAME = "station_name"; + public static final String COL_STATION_CODE = "station_code"; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键") + private String id; + + /** + * 站点id(关联t_cod_station表id) + */ + @TableField(value = "station_id") + @ApiModelProperty(value = "站点id(关联t_cod_station表id)") + private String stationId; + + /** + * 超标因子 + */ + @TableField(value = "exceed_factor") + @ApiModelProperty(value = "超标因子") + private String exceedFactor; + + /** + * 超标类型 + */ + @TableField(value = "exceed_type") + @ApiModelProperty(value = "超标类型") + private String exceedType; + + /** + * 超标时间 + */ + @TableField(value = "exceed_time") + @ApiModelProperty(value = "超标时间") + private Date exceedTime; + + /** + * 是否删除。0否,1是 + */ + @TableField(value = "exceed_delete") + @ApiModelProperty(value = "是否删除。0否,1是") + private String exceedDelete; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_STATION_ID = "station_id"; + + public static final String COL_EXCEED_FACTOR = "exceed_factor"; + + public static final String COL_EXCEED_TYPE = "exceed_type"; + + public static final String COL_EXCEED_TIME = "exceed_time"; + + public static final String COL_EXCEED_DELETE = "exceed_delete"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationHour.java new file mode 100644 index 0000000..f7c9167 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/ERmStationHour.java @@ -0,0 +1,190 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.util.Date; + +/** + * 废气站点六大污染物实时数据 + */ +@ApiModel(description = "废气站点六大污染物实时数据") +@Data +@TableName(value = "e_rm_station_hour") +public class ERmStationHour implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_STATION_NAME = "station_name"; + public static final String COL_STATION_CODE = "station_code"; + public static final String COL_STATION_TYPE = "station_type"; + public static final String COL_STATION_REGION_NAME = "station_region_name"; + public static final String COL_LONGITUDE = "longitude"; + public static final String COL_LATITUDE = "latitude"; + public static final String COL_PM25 = "pm25"; + public static final String COL_PM10 = "pm10"; + public static final String COL_SO2 = "so2"; + public static final String COL_NO2 = "no2"; + public static final String COL_CO = "co"; + public static final String COL_O3 = "o3"; + public static final String COL_TEMPERATURE = "temperature"; + public static final String COL_HUMIDITY = "humidity"; + public static final String COL_WIND_DIRECTION = "wind_direction"; + public static final String COL_WIND_SPEED = "wind_speed"; + public static final String COL_BAROMETRIC_PRESSURE = "barometric_pressure"; + public static final String COL_AQI = "aqi"; + public static final String COL_POLLUTANT = "pollutant"; + public static final String COL_AIR_QUALITYCLASS = "air_qualityclass"; + public static final String COL_DATA_TIME = "data_time"; + public static final String COL_CREATE_TIME = "create_time"; + public static final String COL_UPDATE_TIME = "update_time"; + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键") + private String id; + /** + * 站点名称 + */ + @TableField(value = "station_name") + @ApiModelProperty(value = "站点名称") + private String stationName; + /** + * 站点编码 + */ + @TableField(value = "station_code") + @ApiModelProperty(value = "站点编码") + private String stationCode; + /** + * 站点类型:1:国控站,2:省控站,3,市控站,4:微站 5:六参数微站,6:小型站,7:β射线扬尘站 8: TVOC微站,9:颗粒物微站,10:气象站 11:尾气遥测,12:超级站,13:黑烟车监测 14:园区站 + */ + @TableField(value = "station_type") + @ApiModelProperty(value = "站点类型:1:国控站,2:省控站,3,市控站,4:微站 5:六参数微站,6:小型站,7:β射线扬尘站 8: TVOC微站,9:颗粒物微站,10:气象站 11:尾气遥测,12:超级站,13:黑烟车监测 14:园区站") + private String stationType; + /** + * 站点所属区域 + */ + @TableField(value = "station_region_name") + @ApiModelProperty(value = "站点所属区域") + private String stationRegionName; + /** + * 经度 + */ + @TableField(value = "longitude") + @ApiModelProperty(value = "经度") + private String longitude; + /** + * 维度 + */ + @TableField(value = "latitude") + @ApiModelProperty(value = "维度") + private String latitude; + /** + * (μg/m³) + */ + @TableField(value = "pm25") + @ApiModelProperty(value = "(μg/m³)") + private String pm25; + /** + * (μg/m³) + */ + @TableField(value = "pm10") + @ApiModelProperty(value = "(μg/m³)") + private String pm10; + /** + * (μg/m³) + */ + @TableField(value = "so2") + @ApiModelProperty(value = "(μg/m³)") + private String so2; + /** + * (μg/m³) + */ + @TableField(value = "no2") + @ApiModelProperty(value = "(μg/m³)") + private String no2; + /** + * (μg/m³) + */ + @TableField(value = "co") + @ApiModelProperty(value = "(μg/m³)") + private String co; + /** + * (μg/m³) + */ + @TableField(value = "o3") + @ApiModelProperty(value = "(μg/m³)") + private String o3; + /** + * 温度(℃) + */ + @TableField(value = "temperature") + @ApiModelProperty(value = "温度(℃)") + private String temperature; + /** + * 湿度(%RH) + */ + @TableField(value = "humidity") + @ApiModelProperty(value = "湿度(%RH)") + private String humidity; + /** + * 风向(°) + */ + @TableField(value = "wind_direction") + @ApiModelProperty(value = "风向(°)") + private String windDirection; + /** + * 风速(m/s) + */ + @TableField(value = "wind_speed") + @ApiModelProperty(value = "风速(m/s)") + private Double windSpeed; + /** + * 大气压(hPa) + */ + @TableField(value = "barometric_pressure") + @ApiModelProperty(value = "大气压(hPa)") + private String barometricPressure; + /** + * aqi + */ + @TableField(value = "aqi") + @ApiModelProperty(value = "aqi") + private String aqi; + /** + * 首要污染物 + */ + @TableField(value = "pollutant") + @ApiModelProperty(value = "首要污染物") + private String pollutant; + /** + * 空气质量级别 + */ + @TableField(value = "air_qualityclass") + @ApiModelProperty(value = "空气质量级别") + private String airQualityclass; + /** + * 站点数据时间 + */ + @TableField(value = "data_time") + @ApiModelProperty(value = "站点数据时间") + private Date dataTime; + /** + * 入库时间 + */ + @TableField(value = "create_time") + @ApiModelProperty(value = "入库时间") + private Date createTime; + /** + * 更新时间 + */ + @TableField(value = "update_time") + @ApiModelProperty(value = "更新时间") + private Date updateTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MAiControlDelayAssessment.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MAiControlDelayAssessment.java new file mode 100644 index 0000000..c77de50 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MAiControlDelayAssessment.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.domain.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; + +/** + * 管控效果延时评估 + */ +@ApiModel(description="管控效果延时评估 ") +@Data +@TableName(value = "m_ai_control_delay_assessment") +public class MAiControlDelayAssessment implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_FACTORY_NAME = "factory_name"; + public static final String COL_AVERAGE_SPEED = "average_speed"; + public static final String COL_WIND_DIRECTION = "wind_direction"; + public static final String COL_CHIMNEY_HEIGHT = "chimney_height"; + public static final String COL_SITE_NAME = "site_name"; + public static final String COL_SITE_TYPE = "site_type"; + public static final String COL_ESTIMATED_TIME = "estimated_time"; + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private String id; + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名") + @Excel(name = "企业名", width = 25, sort = 1) + private String factoryName; + /** + * 平均风速 + */ + @TableField(value = "average_speed") + @ApiModelProperty(value="平均风速") + @Excel(name = "平均风速", width = 25, sort = 2) + private String averageSpeed; + /** + * 风向=E=东,S=南,W=西,N=北 ,SE=东南,SW=西南,NE=东北,NW=西北 + */ + @TableField(value = "wind_direction") + @ApiModelProperty(value="风向 E=东,S=南,W=西,N=北 ,SE=东南,SW=西南,NE=东北,NW=西北,A=全方位") + @Excel(name = "风向", width = 25, sort = 3,readConverterExp ="E=东,S=南,W=西,N=北 ,SE=东南,SW=西南,NE=东北,NW=西北,A=全方位" ) + private String windDirection; + /** + * 烟囱高度 + */ + @TableField(value = "chimney_height") + @ApiModelProperty(value="烟囱高度") + @Excel(name = "烟囱高度", width = 25, sort = 4) + private Double chimneyHeight; + /** + * 影响站点名称 + */ + @TableField(value = "site_name") + @ApiModelProperty(value="影响站点名称") + @Excel(name = "影响站点名称", width = 25, sort = 5) + private String siteName; + /** + * 站点类型 + */ + @TableField(value = "site_type") + @ApiModelProperty(value="站点类型") + @Excel(name = "站点类型", width = 25, sort = 6) + private String siteType; + /** + * 预计时间 + */ + @TableField(value = "estimated_time") + @ApiModelProperty(value="预计时间") + @Excel(name = "预计时间", width = 25, sort = 7) + private Integer estimatedTime; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFacilities.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFacilities.java new file mode 100644 index 0000000..0f1d29f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFacilities.java @@ -0,0 +1,196 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +/** + * 成效评估--治理技术评估---治理设施维度 + */ +@ApiModel(description="成效评估--治理技术评估---治理设施维度") +@Data +@TableName(value = "m_governance_technology_estimate_facilities") +public class MGovernanceTechnologyEstimateFacilities implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名称") + private String factoryName; + + /** + * 行业类别 + */ + @TableField(value = "industry_category") + @ApiModelProperty(value="行业类别") + private String industryCategory; + + /** + * 县名称 + */ + @TableField(value = "country_name") + @ApiModelProperty(value="县名称") + private String countryName; + + /** + * 治理技术 + */ + @TableField(value = "governance_technology") + @ApiModelProperty(value="治理技术") + private String governanceTechnology; + + /** + * 治理设施 + */ + @TableField(value = "governance_facilities") + @ApiModelProperty(value="治理设施") + private String governanceFacilities; + + /** + * 评估结果 + */ + @TableField(value = "administer_results") + @ApiModelProperty(value="评估结果") + private String administerResults; + + /** + * 治理效果--治理效率 + */ + @TableField(value = "administer_efficiency") + @ApiModelProperty(value="治理效果--治理效率") + private String administerEfficiency; + + /** + * 治理效果--单位产品污染物排放量(kg/t + */ + @TableField(value = "administer_pollutant_num") + @ApiModelProperty(value="治理效果--单位产品污染物排放量(kg/t") + private String administerPollutantNum; + + /** + * 治理效果--单位产品污染物排放浓度(mg/m3) + */ + @TableField(value = "administer_pollutant_concentration") + @ApiModelProperty(value="治理效果--单位产品污染物排放浓度(mg/m3)") + private String administerPollutantConcentration; + + /** + * 运行经济性--单位产品药剂投加量 + */ + @TableField(value = "operation_drug_num") + @ApiModelProperty(value="运行经济性--单位产品药剂投加量") + private String operationDrugNum; + + /** + * 运行经济性--单位污染物排放药剂投加量 + */ + @TableField(value = "operation_pollutant_drug_num") + @ApiModelProperty(value="运行经济性--单位污染物排放药剂投加量") + private String operationPollutantDrugNum; + + /** + * 运行经济性--单位污染物排放治理设施用电量(KW/kg) + */ + @TableField(value = "operation_pollutant_electricity_num") + @ApiModelProperty(value="运行经济性--单位污染物排放治理设施用电量(KW/kg)") + private String operationPollutantElectricityNum; + + /** + * 管理控制水平--生产治理运行时间比 + */ + @TableField(value = "management_level_time_ratio") + @ApiModelProperty(value="管理控制水平--生产治理运行时间比") + private String managementLevelTimeRatio; + + /** + * 管理控制水平--单位产品排放超标次数 + */ + @TableField(value = "management_excess_num") + @ApiModelProperty(value="管理控制水平--单位产品排放超标次数") + private String managementExcessNum; + + /** + * 管理控制水平--单位产品排放预警次数 + */ + @TableField(value = "management_warning_num") + @ApiModelProperty(value="管理控制水平--单位产品排放预警次数") + private String managementWarningNum; + + /** + * 管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3 + */ + @TableField(value = "management_concentration") + @ApiModelProperty(value="管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3") + private String managementConcentration; + + /** + * 季度:1,2,3,4 + */ + @TableField(value = "quarter") + @ApiModelProperty(value="季度:1,2,3,4") + private String quarter; + + /** + * 年份 + */ + @TableField(value = "\"year\"") + @ApiModelProperty(value="年份") + private String year; + + @TableField(value = "\"type\"") + @ApiModelProperty(value = "设施类型:1:脱硫设施,2:脱硝设施,3:除尘设施") + private Integer type; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_INDUSTRY_CATEGORY = "industry_category"; + + public static final String COL_COUNTRY_NAME = "country_name"; + + public static final String COL_GOVERNANCE_TECHNOLOGY = "governance_technology"; + + public static final String COL_GOVERNANCE_FACILITIES = "governance_facilities"; + + public static final String COL_ADMINISTER_RESULTS = "administer_results"; + + public static final String COL_ADMINISTER_EFFICIENCY = "administer_efficiency"; + + public static final String COL_ADMINISTER_POLLUTANT_NUM = "administer_pollutant_num"; + + public static final String COL_ADMINISTER_POLLUTANT_CONCENTRATION = "administer_pollutant_concentration"; + + public static final String COL_OPERATION_DRUG_NUM = "operation_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_DRUG_NUM = "operation_pollutant_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_ELECTRICITY_NUM = "operation_pollutant_electricity_num"; + + public static final String COL_MANAGEMENT_LEVEL_TIME_RATIO = "management_level_time_ratio"; + + public static final String COL_MANAGEMENT_EXCESS_NUM = "management_excess_num"; + + public static final String COL_MANAGEMENT_WARNING_NUM = "management_warning_num"; + + public static final String COL_MANAGEMENT_CONCENTRATION = "management_concentration"; + + public static final String COL_QUARTER = "quarter"; + + public static final String COL_YEAR = "year"; + public static final String TYPE = "type"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFactory.java new file mode 100644 index 0000000..6ed0d17 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateFactory.java @@ -0,0 +1,200 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +/** + * 成效评估--治理技术评估---企业维度 + */ +@ApiModel(description = "成效评估--治理技术评估---企业维度") +@Data +@TableName(value = "m_governance_technology_estimate_factory") +public class MGovernanceTechnologyEstimateFactory implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键") + private String id; + + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value = "企业名称") + private String factoryName; + + /** + * 行业类别 + */ + @TableField(value = "industry_category") + @ApiModelProperty(value = "行业类别") + private String industryCategory; + + /** + * 县名称 + */ + @TableField(value = "country_name") + @ApiModelProperty(value = "县名称") + private String countryName; + + /** + * 治理技术 + */ + @TableField(value = "governance_technology") + @ApiModelProperty(value = "治理技术") + private String governanceTechnology; + + /** + * 治理设施数量 + */ + @TableField(value = "facilities_num") + @ApiModelProperty(value = "治理设施数量") + private Integer facilitiesNum; + + /** + * 评估结果 + */ + @TableField(value = "administer_results") + @ApiModelProperty(value = "评估结果") + private String administerResults; + + /** + * 治理效果--治理效率 + */ + @TableField(value = "administer_efficiency") + @ApiModelProperty(value = "治理效果--治理效率") + private String administerEfficiency; + + /** + * 治理效果--单位产品污染物排放量(kg/t + */ + @TableField(value = "administer_pollutant_num") + @ApiModelProperty(value = "治理效果--单位产品污染物排放量(kg/t") + private String administerPollutantNum; + + /** + * 治理效果--单位产品污染物排放浓度(mg/m3) + */ + @TableField(value = "administer_pollutant_concentration") + @ApiModelProperty(value = "治理效果--单位产品污染物排放浓度(mg/m3)") + private String administerPollutantConcentration; + + /** + * 运行经济性--单位产品药剂投加量 + */ + @TableField(value = "operation_drug_num") + @ApiModelProperty(value = "运行经济性--单位产品药剂投加量") + private String operationDrugNum; + + /** + * 运行经济性--单位污染物排放药剂投加量 + */ + @TableField(value = "operation_pollutant_drug_num") + @ApiModelProperty(value = "运行经济性--单位污染物排放药剂投加量") + private String operationPollutantDrugNum; + + /** + * 运行经济性--单位污染物排放治理设施用电量(KW/kg) + */ + @TableField(value = "operation_pollutant_electricity_num") + @ApiModelProperty(value = "运行经济性--单位污染物排放治理设施用电量(KW/kg)") + private String operationPollutantElectricityNum; + + /** + * 管理控制水平--生产治理运行时间比 + */ + @TableField(value = "management_level_time_ratio") + @ApiModelProperty(value = "管理控制水平--生产治理运行时间比") + private String managementLevelTimeRatio; + + /** + * 管理控制水平--单位产品排放超标次数 + */ + @TableField(value = "management_excess_num") + @ApiModelProperty(value = "管理控制水平--单位产品排放超标次数") + private String managementExcessNum; + + /** + * 管理控制水平--单位产品排放预警次数 + */ + @TableField(value = "management_warning_num") + @ApiModelProperty(value = "管理控制水平--单位产品排放预警次数") + private String managementWarningNum; + + /** + * 管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3 + */ + @TableField(value = "management_concentration") + @ApiModelProperty(value = "管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3") + private String managementConcentration; + + /** + * 季度:1,2,3,4 + */ + @TableField(value = "quarter") + @ApiModelProperty(value = "季度:1,2,3,4") + private String quarter; + + /** + * 年份 + */ + @TableField(value = "year") + @ApiModelProperty(value = "年份") + private String year; + + /** + * 设施类型:1:脱硫设施,2:脱硝设施,3:除尘设施 + */ + @TableField(value = "type") + @ApiModelProperty(value = "设施类型:1:脱硫设施,2:脱硝设施,3:除尘设施") + private Integer type; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_NAME = "factory_name"; + + public static final String COL_INDUSTRY_CATEGORY = "industry_category"; + + public static final String COL_COUNTRY_NAME = "country_name"; + + public static final String COL_GOVERNANCE_TECHNOLOGY = "governance_technology"; + + public static final String COL_FACILITIES_NUM = "facilities_num"; + + public static final String COL_ADMINISTER_RESULTS = "administer_results"; + + public static final String COL_ADMINISTER_EFFICIENCY = "administer_efficiency"; + + public static final String COL_ADMINISTER_POLLUTANT_NUM = "administer_pollutant_num"; + + public static final String COL_ADMINISTER_POLLUTANT_CONCENTRATION = "administer_pollutant_concentration"; + + public static final String COL_OPERATION_DRUG_NUM = "operation_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_DRUG_NUM = "operation_pollutant_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_ELECTRICITY_NUM = "operation_pollutant_electricity_num"; + + public static final String COL_MANAGEMENT_LEVEL_TIME_RATIO = "management_level_time_ratio"; + + public static final String COL_MANAGEMENT_EXCESS_NUM = "management_excess_num"; + + public static final String COL_MANAGEMENT_WARNING_NUM = "management_warning_num"; + + public static final String COL_MANAGEMENT_CONCENTRATION = "management_concentration"; + + public static final String COL_QUARTER = "quarter"; + + public static final String COL_YEAR = "year"; + + public static final String COL_TYPE = "type"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateProcedure.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateProcedure.java new file mode 100644 index 0000000..b673730 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/MGovernanceTechnologyEstimateProcedure.java @@ -0,0 +1,200 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +/** + * 成效评估--治理技术评估---工序纬度 + */ +@ApiModel(description="成效评估--治理技术评估---工序纬度") +@Data +@TableName(value = "m_governance_technology_estimate_procedure") +public class MGovernanceTechnologyEstimateProcedure implements Serializable { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业数量 + */ + @TableField(value = "factory_num") + @ApiModelProperty(value="企业数量") + private String factoryNum; + + /** + * 行业类别 + */ + @TableField(value = "industry_category") + @ApiModelProperty(value="行业类别") + private String industryCategory; + + /** + * 县名称 + */ + @TableField(value = "country_name") + @ApiModelProperty(value="县名称") + private String countryName; + + /** + * 治理技术 + */ + @TableField(value = "governance_technology") + @ApiModelProperty(value="治理技术") + private String governanceTechnology; + + /** + * 治理设施数量 + */ + @TableField(value = "facilities_num") + @ApiModelProperty(value="治理设施数量") + private String facilitiesNum; + + /** + * 工序 + */ + @TableField(value = "\"procedure\"") + @ApiModelProperty(value="工序") + private String procedure; + + /** + * 评估结果 + */ + @TableField(value = "administer_results") + @ApiModelProperty(value="评估结果") + private String administerResults; + + /** + * 治理效果--治理效率 + */ + @TableField(value = "administer_efficiency") + @ApiModelProperty(value="治理效果--治理效率") + private String administerEfficiency; + + /** + * 治理效果--单位产品污染物排放量(kg/t + */ + @TableField(value = "administer_pollutant_num") + @ApiModelProperty(value="治理效果--单位产品污染物排放量(kg/t") + private String administerPollutantNum; + + /** + * 治理效果--单位产品污染物排放浓度(mg/m3) + */ + @TableField(value = "administer_pollutant_concentration") + @ApiModelProperty(value="治理效果--单位产品污染物排放浓度(mg/m3)") + private String administerPollutantConcentration; + + /** + * 运行经济性--单位产品药剂投加量 + */ + @TableField(value = "operation_drug_num") + @ApiModelProperty(value="运行经济性--单位产品药剂投加量") + private String operationDrugNum; + + /** + * 运行经济性--单位污染物排放药剂投加量 + */ + @TableField(value = "operation_pollutant_drug_num") + @ApiModelProperty(value="运行经济性--单位污染物排放药剂投加量") + private String operationPollutantDrugNum; + + /** + * 运行经济性--单位污染物排放治理设施用电量(KW/kg) + */ + @TableField(value = "operation_pollutant_electricity_num") + @ApiModelProperty(value="运行经济性--单位污染物排放治理设施用电量(KW/kg)") + private String operationPollutantElectricityNum; + + /** + * 管理控制水平--生产治理运行时间比 + */ + @TableField(value = "management_level_time_ratio") + @ApiModelProperty(value="管理控制水平--生产治理运行时间比") + private String managementLevelTimeRatio; + + /** + * 管理控制水平--单位产品排放超标次数 + */ + @TableField(value = "management_excess_num") + @ApiModelProperty(value="管理控制水平--单位产品排放超标次数") + private String managementExcessNum; + + /** + * 管理控制水平--单位产品排放预警次数 + */ + @TableField(value = "management_warning_num") + @ApiModelProperty(value="管理控制水平--单位产品排放预警次数") + private String managementWarningNum; + + /** + * 管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3 + */ + @TableField(value = "management_concentration") + @ApiModelProperty(value="管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3") + private String managementConcentration; + + /** + * 季度:1,2,3,4 + */ + @TableField(value = "quarter") + @ApiModelProperty(value="季度:1,2,3,4") + private String quarter; + + /** + * 年份 + */ + @TableField(value = "\"year\"") + @ApiModelProperty(value="年份") + private String year; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_FACTORY_NUM = "factory_num"; + + public static final String COL_INDUSTRY_CATEGORY = "industry_category"; + + public static final String COL_COUNTRY_NAME = "country_name"; + + public static final String COL_GOVERNANCE_TECHNOLOGY = "governance_technology"; + + public static final String COL_FACILITIES_NUM = "facilities_num"; + + public static final String COL_PROCEDURE = "procedure"; + + public static final String COL_ADMINISTER_RESULTS = "administer_results"; + + public static final String COL_ADMINISTER_EFFICIENCY = "administer_efficiency"; + + public static final String COL_ADMINISTER_POLLUTANT_NUM = "administer_pollutant_num"; + + public static final String COL_ADMINISTER_POLLUTANT_CONCENTRATION = "administer_pollutant_concentration"; + + public static final String COL_OPERATION_DRUG_NUM = "operation_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_DRUG_NUM = "operation_pollutant_drug_num"; + + public static final String COL_OPERATION_POLLUTANT_ELECTRICITY_NUM = "operation_pollutant_electricity_num"; + + public static final String COL_MANAGEMENT_LEVEL_TIME_RATIO = "management_level_time_ratio"; + + public static final String COL_MANAGEMENT_EXCESS_NUM = "management_excess_num"; + + public static final String COL_MANAGEMENT_WARNING_NUM = "management_warning_num"; + + public static final String COL_MANAGEMENT_CONCENTRATION = "management_concentration"; + + public static final String COL_QUARTER = "quarter"; + + public static final String COL_YEAR = "year"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeIndexPollutant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeIndexPollutant.java new file mode 100644 index 0000000..c9df329 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeIndexPollutant.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @author zhangshiji + * @date 2022/7/26 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("p_code_index_pollutant") +@ApiModel(value="PCodeIndexPollutant对象", description="达标展示污染物表") +public class PCodeIndexPollutant implements Serializable { + + @TableField(value = "pk_id") + private Integer pkId; + @TableField(value = "name") + private String name; + @TableField(value = "day_show") + private Integer dayShow; + @TableField(value = "month_show") + private Integer monthShow; + @TableField(value = "year_show") + private Integer yearShow; + @TableField(value = "field") + private String field; + @TableField(value = "target_calc") + private Integer targetCalc; + @TableField(value = "winter_calc") + private Integer winterCalc; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeRegion.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeRegion.java new file mode 100644 index 0000000..e10b34d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PCodeRegion.java @@ -0,0 +1,175 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/** + * 行政区域表 + */ +@ApiModel(description="行政区域表") +@Data +@TableName(value = "p_code_region") +public class PCodeRegion implements Serializable { + /** + * 行政区域id + */ + @TableId(value = "region_id", type = IdType.INPUT) + @ApiModelProperty(value="行政区域id") + private Long regionId; + + /** + * 区域编号 + */ + @TableField(value = "region_code") + @ApiModelProperty(value="区域编号") + private String regionCode; + + /** + * 区域名称 + */ + @TableField(value = "region_name") + @ApiModelProperty(value="区域名称") + private String regionName; + + /** + * 行政级别 1-中国,2-省级,3-市级,4-县级级,5-乡镇 + */ + @TableField(value = "region_lever") + @ApiModelProperty(value="行政级别 1-中国,2-省级,3-市级,4-县级级,5-乡镇") + private String regionLever; + + /** + * 区域电话 + */ + @TableField(value = "region_tel") + @ApiModelProperty(value="区域电话") + private String regionTel; + + /** + * 父code + */ + @TableField(value = "parent_code") + @ApiModelProperty(value="父code") + private String parentCode; + + /** + * 0--正常 1--删除 + */ + @TableField(value = "delete_flag") + @ApiModelProperty(value="0--正常 1--删除") + private Short deleteFlag; + + /** + * 创建时间 + */ + @TableField(value = "create_date") + @ApiModelProperty(value="创建时间") + private Date createDate; + + /** + * 创建人id + */ + @TableField(value = "create_id") + @ApiModelProperty(value="创建人id") + private Integer createId; + + /** + * 修改时间 + */ + @TableField(value = "update_date") + @ApiModelProperty(value="修改时间") + private Date updateDate; + + /** + * 修改人id + */ + @TableField(value = "update_id") + @ApiModelProperty(value="修改人id") + private Integer updateId; + + /** + * 经度 + */ + @TableField(value = "longitude") + @ApiModelProperty(value="经度") + private BigDecimal longitude; + + /** + * 纬度 + */ + @TableField(value = "latitude") + @ApiModelProperty(value="纬度") + private BigDecimal latitude; + + /** + * 是否是168城市 + */ + @TableField(value = "is168") + @ApiModelProperty(value="是否是168城市") + private Short is168; + + /** + * 是否是74城市 + */ + @TableField(value = "is74") + @ApiModelProperty(value="是否是74城市") + private Short is74; + + /** + * 是否是2+26城市 + */ + @TableField(value = "is28") + @ApiModelProperty(value="是否是2+26城市") + private Short is28; + + /** + * 是否是337城市 + */ + @TableField(value = "is337") + @ApiModelProperty(value="是否是337城市") + private Short is337; + + private static final long serialVersionUID = 1L; + + public static final String COL_REGION_ID = "region_id"; + + public static final String COL_REGION_CODE = "region_code"; + + public static final String COL_REGION_NAME = "region_name"; + + public static final String COL_REGION_LEVER = "region_lever"; + + public static final String COL_REGION_TEL = "region_tel"; + + public static final String COL_PARENT_CODE = "parent_code"; + + public static final String COL_DELETE_FLAG = "delete_flag"; + + public static final String COL_CREATE_DATE = "create_date"; + + public static final String COL_CREATE_ID = "create_id"; + + public static final String COL_UPDATE_DATE = "update_date"; + + public static final String COL_UPDATE_ID = "update_id"; + + public static final String COL_LONGITUDE = "longitude"; + + public static final String COL_LATITUDE = "latitude"; + + public static final String COL_IS168 = "is168"; + + public static final String COL_IS74 = "is74"; + + public static final String COL_IS28 = "is28"; + + public static final String COL_IS337 = "is337"; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingHour.java new file mode 100644 index 0000000..abe3da1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingHour.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.util.Date; + +/** + * 全国城市168、337 省内排名---小时数据 + */ +@ApiModel(description="全国城市168、337排名---小时数据") +@Data +@TableName(value = "pc_national_city_ranking_hour") +public class PcNationalCityRankingHour implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_PCODE = "pcode"; + public static final String COL_PNAME = "pname"; + public static final String COL_CITYNAME = "cityName"; + public static final String COL_CITYID = "cityId"; + public static final String COL_AQI = "aqi"; + public static final String COL_MAXPOLLUTION = "maxPollution"; + public static final String COL_PM25 = "pm25"; + public static final String COL_PM10 = "pm10"; + public static final String COL_O3 = "o3"; + public static final String COL_SO2 = "so2"; + public static final String COL_NO2 = "no2"; + public static final String COL_CO = "co"; + public static final String COL_DATE_TIME = "date_time"; + public static final String COL_INDEX_337 = "index_337"; + public static final String COL_IS_337 = "is_337"; + public static final String COL_IS_168 = "is_168"; + public static final String COL_INDEX_168 = "index_168"; + private static final long serialVersionUID = 1L; + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键id") + private Integer id; + /** + * 省编码 + */ + @TableField(value = "pcode") + @ApiModelProperty(value="省编码") + private String pcode; + /** + * 省名称 + */ + @TableField(value = "pname") + @ApiModelProperty(value="省名称") + private String pname; + /** + * 城市名称 + */ + @TableField(value = "\"cityName\"") + @ApiModelProperty(value="城市名称") + private String cityname; + /** + * 城市行政区划代码 + */ + @TableField(value = "\"cityId\"") + @ApiModelProperty(value="城市行政区划代码") + private Integer cityid; + /** + * AQI + */ + @TableField(value = "aqi") + @ApiModelProperty(value="AQI") + private String aqi; + /** + * 最大污染物 + */ + @TableField(value = "\"maxPollution\"") + @ApiModelProperty(value="最大污染物") + private String maxpollution; + /** + * pm25 + */ + @TableField(value = "pm25") + @ApiModelProperty(value="pm25") + private String pm25; + /** + * pm10 + */ + @TableField(value = "pm10") + @ApiModelProperty(value="pm10") + private String pm10; + /** + * o3 + */ + @TableField(value = "o3") + @ApiModelProperty(value="o3") + private String o3; + /** + * so2 + */ + @TableField(value = "so2") + @ApiModelProperty(value="so2") + private String so2; + /** + * no2 + */ + @TableField(value = "no2") + @ApiModelProperty(value="no2") + private String no2; + /** + * co + */ + @TableField(value = "co") + @ApiModelProperty(value="co") + private String co; + /** + * 数据时间 小时 + */ + @TableField(value = "date_time") + @ApiModelProperty(value="数据时间 小时") + private Date dateTime; + /** + * 排名 + */ + @TableField(value = "index_337") + @ApiModelProperty(value="排名") + private String index337; + @TableField(value = "is_337") + @ApiModelProperty(value="") + private String is337; + @TableField(value = "is_168") + @ApiModelProperty(value="") + private String is168; + @TableField(value = "index_168") + @ApiModelProperty(value="") + private String index168; + + @TableField(exist = false) + private String index; + @ApiModelProperty(value="省内城市排名") + private String indexProvinceCity; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingOther.java new file mode 100644 index 0000000..befd2ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCityRankingOther.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.io.Serializable; +import java.util.Date; + +/** + * 全国城市168、337排名--其他时间日、月、年 + */ +@ApiModel(description="全国城市168、337排名--其他时间日、月、年") +@Data +@TableName(value = "pc_national_city_ranking_other") +public class PcNationalCityRankingOther implements Serializable { + public static final String COL_ID = "id"; + public static final String COL_PCODE = "pcode"; + public static final String COL_PNAME = "pname"; + public static final String COL_CITYNAME = "cityName"; + public static final String COL_CITYID = "cityId"; + public static final String COL_AQI = "aqi"; + public static final String COL_MAXPOLLUTION = "maxPollution"; + public static final String COL_PM25 = "pm25"; + public static final String COL_PM10 = "pm10"; + public static final String COL_O3 = "o3"; + public static final String COL_SO2 = "so2"; + public static final String COL_NO2 = "no2"; + public static final String COL_CO = "co"; + public static final String COL_DATE_TIME = "date_time"; + public static final String COL_INDEX_337 = "index_337"; + public static final String COL_IS_337 = "is_337"; + public static final String COL_IS_168 = "is_168"; + public static final String COL_INDEX_168 = "index_168"; + public static final String COL_DATE_TYPE = "date_type"; + private static final long serialVersionUID = 1L; + /** + * 主键地 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="主键地") + private Integer id; + /** + * 省编码 + */ + @TableField(value = "pcode") + @ApiModelProperty(value="省编码") + private String pcode; + /** + * 省名称 + */ + @TableField(value = "pname") + @ApiModelProperty(value="省名称") + private String pname; + /** + * 城市名称 + */ + @TableField(value = "cityName") + @ApiModelProperty(value="城市名称") + private String cityname; + /** + * 城市行政区划代码 + */ + @TableField(value = "cityId") + @ApiModelProperty(value="城市行政区划代码") + private Integer cityid; + @TableField(value = "aqi") + @ApiModelProperty(value="") + private String aqi; + /** + * 颗粒物(PM10) + */ + @TableField(value = "maxPollution") + @ApiModelProperty(value="颗粒物(PM10)") + private String maxpollution; + @TableField(value = "pm25") + @ApiModelProperty(value="") + private String pm25; + @TableField(value = "pm10") + @ApiModelProperty(value="") + private String pm10; + @TableField(value = "o3") + @ApiModelProperty(value="") + private String o3; + @TableField(value = "so2") + @ApiModelProperty(value="") + private String so2; + @TableField(value = "no2") + @ApiModelProperty(value="") + private String no2; + @TableField(value = "co") + @ApiModelProperty(value="") + private String co; + /** + * 数据时间 小时 + */ + @TableField(value = "date_time") + @ApiModelProperty(value="数据时间 小时") + private Date dateTime; + /** + * 排名 + */ + @TableField(value = "index_337") + @ApiModelProperty(value="排名") + private String index337; + @TableField(value = "is_337") + @ApiModelProperty(value="") + private String is337; + @TableField(value = "is_168") + @ApiModelProperty(value="") + private String is168; + @TableField(value = "index_168") + @ApiModelProperty(value="") + private String index168; + /** + * 日:D,月:M,年:Y + */ + @TableField(value = "date_type") + @ApiModelProperty(value="日:D,月:M,年:Y") + private String dateType; + private String dateTimeFormat; + + @TableField(exist = false) + private String index; + @ApiModelProperty(value="省内城市排名") + private String indexProvinceCity; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingHour.java new file mode 100644 index 0000000..2504630 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingHour.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.util.Date; + +/** + * @Author: wyg + * @Description: 省区县-实体 + * @Date: 2023/6/16 17:14 + * @Version: 1.0 + */ +@ApiModel(description = "全国城市省区县数据") +@Data +@TableName(value = "pc_national_county_ranking_hour") +public class PcNationalCountyRankingHour { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Long id; + /** + * 市级编码 + */ + @TableField(value = "citycode") + @ApiModelProperty(value = "市级编码") + private String citycode; + + /** + * 市级名称 + */ + @TableField(value = "cityname") + @ApiModelProperty(value = "市级名称") + private String cityname; + + + /** + * 县编码 + */ + @TableField(value = "countrycode") + @ApiModelProperty(value = "县编码") + private String countrycode; + + /** + * 县名称 + */ + @TableField(value = "countryname") + @ApiModelProperty(value = "县名称") + private String countryname; + + /** + * 爬取的城市名称 + */ + @TableField(value = "allname") + @ApiModelProperty(value = "爬取的城市名称") + private String allname; + + /** + * 最大污染物 + */ + @TableField(value = "\"maxPollution\"") + @ApiModelProperty(value = "最大污染物") + private String maxpollution; + + + /** + * pm25 + */ + @TableField(value = "pm25") + @ApiModelProperty(value = "pm25") + private String pm25; + /** + * pm10 + */ + @TableField(value = "pm10") + @ApiModelProperty(value = "pm10") + private String pm10; + /** + * o3 + */ + @TableField(value = "o3") + @ApiModelProperty(value = "o3") + private String o3; + + + /** + * so2 + */ + @TableField(value = "so2") + @ApiModelProperty(value = "so2") + private String so2; + /** + * AQI + */ + @TableField(value = "AQI") + @ApiModelProperty(value = "AQI") + private String aqi; + + /** + * no2 + */ + @TableField(value = "no2") + @ApiModelProperty(value = "no2") + private String no2; + /** + * co + */ + @TableField(value = "co") + @ApiModelProperty(value = "co") + private String co; + /** + * 数据时间 小时 + */ + @TableField(value = "date_time") + @ApiModelProperty(value = "数据时间 小时") + private Date dateTime; + /** + * 排名 + */ + @TableField(value = "index") + @ApiModelProperty(value = "排名") + private String index; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingOther.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingOther.java new file mode 100644 index 0000000..3ee70e5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/PcNationalCountyRankingOther.java @@ -0,0 +1,140 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 java.util.Date; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/16 17:20 + * @Version: 1.0 + */ +@ApiModel(description="省区县排名") +@Data +@TableName(value = "pc_national_county_ranking_other") +public class PcNationalCountyRankingOther { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键id") + private Integer id; + /** + * 市级编码 + */ + @TableField(value = "citycode") + @ApiModelProperty(value = "市级编码") + private String citycode; + + /** + * 市级名称 + */ + @TableField(value = "cityname") + @ApiModelProperty(value = "市级名称") + private String cityname; + + + /** + * 县编码 + */ + @TableField(value = "countrycode") + @ApiModelProperty(value = "县编码") + private String countrycode; + + /** + * 县名称 + */ + @TableField(value = "countryname") + @ApiModelProperty(value = "县名称") + private String countryname; + + /** + * 爬取的城市名称 + */ + @TableField(value = "allname") + @ApiModelProperty(value = "爬取的城市名称") + private String allname; + + /** + * 最大污染物 + */ + @TableField(value = "\"maxPollution\"") + @ApiModelProperty(value = "最大污染物") + private String maxpollution; + + + /** + * pm25 + */ + @TableField(value = "pm25") + @ApiModelProperty(value = "pm25") + private String pm25; + /** + * pm10 + */ + @TableField(value = "pm10") + @ApiModelProperty(value = "pm10") + private String pm10; + /** + * o3 + */ + @TableField(value = "o3") + @ApiModelProperty(value = "o3") + private String o3; + + + /** + * so2 + */ + @TableField(value = "so2") + @ApiModelProperty(value = "so2") + private String so2; + + + /** + * no2 + */ + @TableField(value = "no2") + @ApiModelProperty(value = "no2") + private String no2; + /** + * co + */ + @TableField(value = "co") + @ApiModelProperty(value = "co") + private String co; + /** + * 数据时间 小时 + */ + @TableField(value = "date_time") + @ApiModelProperty(value = "数据时间 小时") + private Date dateTime; + + /** + * AQI + */ + @TableField(value = "AQI") + @ApiModelProperty(value = "AQI") + private String aqi; + /** + * 排名 + */ + @TableField(value = "index") + @ApiModelProperty(value = "排名") + private String index; + + /** + * 日:D,月:M,年:Y + */ + @TableField(value = "date_type") + @ApiModelProperty(value="日:D,月:M,年:Y") + private String dateType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasAreaTarget.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasAreaTarget.java new file mode 100644 index 0000000..fc65f2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasAreaTarget.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.domain.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 目标管理对象 q_envgas_area_target + * + * @author talroad + * @date 2022-09-19 15:09:25 + */ +@Data +@ApiModel(value = "目标管理模型") +public class QEnvgasAreaTarget { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "pk_id") + @ApiModelProperty(value = "主键") + private String pkId; + + /** + * 1:日 2:月 3:年 4:秋防 5:冬防 6:秋冬防总计 + */ + @Excel(name = "1:日 2:月 3:年 4:秋防 5:冬防 6:秋冬防总计") + @ApiModelProperty(value = "1:日 2:月 3:年 4:秋防 5:冬防 6:秋冬防总计") + private Integer timeType; + + /** + * 时间 年:yyyy 月yyyy-MM 日 yyyy-MM-dd + */ + @Excel(name = "时间 年:yyyy 月yyyy-MM 日 yyyy-MM-dd") + @ApiModelProperty(value = "时间 年:yyyy 月yyyy-MM 日 yyyy-MM-dd") + private String time; + + /** + * 目标值 + */ + @Excel(name = "目标值") + @ApiModelProperty(value = "目标值") + private BigDecimal targetValue; + + /** + * 累计值 + */ + @Excel(name = "累计值") + @ApiModelProperty(value = "累计值") + private BigDecimal actualValue; + + /** + * 因子id(关联表p_code_index_pollutant) + */ + @Excel(name = "因子id", readConverterExp = "关=联表p_code_index_pollutant") + @ApiModelProperty(value = "因子id(关联表p_code_index_pollutant)") + private Integer fkFactorId; + + /** + * 区域编号 + */ + @Excel(name = "区域编号") + @ApiModelProperty(value = "区域编号") + private String regionCode; + + /** + * 0:未删除 1:已删除 + */ + @Excel(name = "0:未删除 1:已删除") + @ApiModelProperty(value = "0:未删除 1:已删除") + private Integer deleteFlag; + + + @Excel(name = "0:否 1:是") + @ApiModelProperty(value = "0:否 1:是") + private Integer lockSign; + + private Date createTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqDay.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqDay.java new file mode 100644 index 0000000..5396772 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqDay.java @@ -0,0 +1,325 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * 区域日数据表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("q_envgas_wq_day") +@ApiModel(value="QEnvgasWqDay对象", description="区域日数据表") +public class QEnvgasWqDay implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id") + private String id; + + @ApiModelProperty(value = "数据时间") + @TableField("data_time") + private Date dataTime; + + @ApiModelProperty(value = "行政区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "总悬浮颗粒物") + @TableField("tsp") + private BigDecimal tsp; + + @ApiModelProperty(value = "氮氧化物") + @TableField("nox") + private BigDecimal nox; + + @ApiModelProperty(value = "TVOC") + @TableField("tvoc") + private BigDecimal tvoc; + + @ApiModelProperty(value = "综合指数") + @TableField("pmi") + private BigDecimal pmi; + + @ApiModelProperty(value = "AQI") + @TableField("aqi") + private BigDecimal aqi; + /** + * 首要污染物可能是多个,改为String类型 + */ + @ApiModelProperty(value = "首要污染物") + @TableField("fk_pollutant_id") + private String fkPollutantId; + + @ApiModelProperty(value = "区间最大综合指数") + @TableField("max_ipmi") + private BigDecimal maxIpmi; + + @ApiModelProperty(value = "空气质量级别") + @TableField("fk_aqilevel_id") + private Integer fkAqilevelId; + + @ApiModelProperty(value = "二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化硫是否超标") + @TableField("so2_is_over") + private Integer so2IsOver; + + @ApiModelProperty(value = "二氧化硫区间最大值") + @TableField("so2_max_value") + private BigDecimal so2MaxValue; + + @ApiModelProperty(value = "二氧化硫区间最小值") + @TableField("so2_min_value") + private BigDecimal so2MinValue; + + @ApiModelProperty(value = "二氧化硫分指数") + @TableField("iaqi_so2") + private BigDecimal iaqiSo2; + + @ApiModelProperty(value = "二氧化硫综合指数") + @TableField("ipmi_so2") + private BigDecimal ipmiSo2; + + @ApiModelProperty(value = "二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = "二氧化氮是否超标") + @TableField("no2_is_over") + private Integer no2IsOver; + + @ApiModelProperty(value = "二氧化氮区间最大值") + @TableField("no2_max_value") + private BigDecimal no2MaxValue; + + @ApiModelProperty(value = "二氧化氮区间最小值") + @TableField("no2_min_value") + private BigDecimal no2MinValue; + + @ApiModelProperty(value = "二氧化氮分指数") + @TableField("iaqi_no2") + private BigDecimal iaqiNo2; + + @ApiModelProperty(value = "二氧化氮综合指数") + @TableField("ipmi_no2") + private BigDecimal ipmiNo2; + + @ApiModelProperty(value = "PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM10是否超标") + @TableField("pm10_is_over") + private Integer pm10IsOver; + + @ApiModelProperty(value = "PM10区间最大值") + @TableField("pm10_max_value") + private BigDecimal pm10MaxValue; + + @ApiModelProperty(value = "PM10区间最小值") + @TableField("pm10_min_value") + private BigDecimal pm10MinValue; + + @ApiModelProperty(value = "PM10分指数") + @TableField("iaqi_pm10") + private BigDecimal iaqiPm10; + + @ApiModelProperty(value = "PM10综合指数") + @TableField("ipmi_pm10") + private BigDecimal ipmiPm10; + + @ApiModelProperty(value = "PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = "PM2.5是否超标") + @TableField("pm25_is_over") + private Integer pm25IsOver; + + @ApiModelProperty(value = "PM2.5区间最大值") + @TableField("pm25_max_value") + private BigDecimal pm25MaxValue; + + @ApiModelProperty(value = "PM2.5区间最小值") + @TableField("pm25_min_value") + private BigDecimal pm25MinValue; + + @ApiModelProperty(value = "PM2.5分指数") + @TableField("iaqi_pm25") + private BigDecimal iaqiPm25; + + @ApiModelProperty(value = "PM2.5综合指数") + @TableField("ipmi_pm25") + private BigDecimal ipmiPm25; + + @ApiModelProperty(value = "一氧化碳") + @TableField("co") + private BigDecimal co; + + @ApiModelProperty(value = "一氧化碳是否超标") + @TableField("co_is_over") + private Integer coIsOver; + + @ApiModelProperty(value = "一氧化碳区间最大值") + @TableField("co_max_value") + private BigDecimal coMaxValue; + + @ApiModelProperty(value = "一氧化碳区间最小值") + @TableField("co_min_value") + private BigDecimal coMinValue; + + @ApiModelProperty(value = "一氧化碳分指数") + @TableField("iaqi_co") + private BigDecimal iaqiCo; + + @ApiModelProperty(value = "一氧化碳综合指数") + @TableField("ipmi_co") + private BigDecimal ipmiCo; + + @ApiModelProperty(value = "臭氧") + @TableField("o3") + private BigDecimal o3; + + @ApiModelProperty(value = "臭氧是否超标") + @TableField("o3_is_over") + private Integer o3IsOver; + + @ApiModelProperty(value = "臭氧区间最大值") + @TableField("o3_max_value") + private BigDecimal o3MaxValue; + + @ApiModelProperty(value = "臭氧区间最小值") + @TableField("o3_min_value") + private BigDecimal o3MinValue; + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + + @ApiModelProperty(value = "臭氧八小时平均 是否超标") + @TableField("o3_8h_is_over") + private Integer o38hIsOver; + + @ApiModelProperty(value = "臭氧八小时平均 区间最大值") + @TableField("o3_8h_max_value") + private BigDecimal o38hMaxValue; + + @ApiModelProperty(value = "臭氧八小时平均 区间最小值") + @TableField("o3_8h_min_value") + private BigDecimal o38hMinValue; + + @ApiModelProperty(value = "臭氧分指数") + @TableField("iaqi_o3") + private BigDecimal iaqiO3; + + @ApiModelProperty(value = "臭氧综合指数") + @TableField("ipmi_o3") + private BigDecimal ipmiO3; + + @ApiModelProperty(value = "臭氧八小时平均 分指数") + @TableField("iaqi_o3_8h") + private BigDecimal iaqiO38h; + + @ApiModelProperty(value = "臭氧八小时平均 综合指数") + @TableField("ipmi_o3_8h") + private BigDecimal ipmiO38h; + + @ApiModelProperty(value = "温度") + @TableField("temp") + private BigDecimal temp; + + @ApiModelProperty(value = "温度区间最大值") + @TableField("temp_max_value") + private BigDecimal tempMaxValue; + + @ApiModelProperty(value = "温度区间最小值") + @TableField("temp_min_value") + private BigDecimal tempMinValue; + + @ApiModelProperty(value = "湿度") + @TableField("humi") + private BigDecimal humi; + + @ApiModelProperty(value = "湿度区间最大值") + @TableField("humi_max_value") + private BigDecimal humiMaxValue; + + @ApiModelProperty(value = "湿度区间最小值") + @TableField("humi_min_value") + private BigDecimal humiMinValue; + + @ApiModelProperty(value = "风速") + @TableField("winds") + private BigDecimal winds; + + @ApiModelProperty(value = "风速区间最大值") + @TableField("winds_max_value") + private BigDecimal windsMaxValue; + + @ApiModelProperty(value = "风速区间最小值") + @TableField("winds_min_value") + private BigDecimal windsMinValue; + + @ApiModelProperty(value = "风向") + @TableField("windd") + private BigDecimal windd; + + @ApiModelProperty(value = "风向区间最大值") + @TableField("windd_max_value") + private BigDecimal winddMaxValue; + + @ApiModelProperty(value = "风向区间最小值") + @TableField("windd_min_value") + private BigDecimal winddMinValue; + + @ApiModelProperty(value = "气压") + @TableField("pres") + private BigDecimal pres; + + @ApiModelProperty(value = "气压区间最大值") + @TableField("pres_max_value") + private BigDecimal presMaxValue; + + @ApiModelProperty(value = "气压区间最小值") + @TableField("pres_min_value") + private BigDecimal presMinValue; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "风力级别") + @TableField("pres_min_value") + private BigDecimal wind_level; + + @ApiModelProperty(value = "降水") + @TableField("rain") + private String rain; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqMonth.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqMonth.java new file mode 100644 index 0000000..1910abc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqMonth.java @@ -0,0 +1,341 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * 区域月数据表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("q_envgas_wq_month") +@ApiModel(value="QEnvgasWqMonth对象", description="区域月数据表") +public class QEnvgasWqMonth implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = " 主键") + @TableId(value = "id") + private String id; + + @ApiModelProperty(value = " 数据时间") + @TableField("data_time") + private LocalDateTime dataTime; + + @ApiModelProperty(value = "月份yyyymm") + @TableField("month_time") + private String monthTime; + + @ApiModelProperty(value = " 行政区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = " 总悬浮颗粒物") + @TableField("tsp") + private BigDecimal tsp; + + @ApiModelProperty(value = " 氮氧化物") + @TableField("nox") + private BigDecimal nox; + + @ApiModelProperty(value = " TVOC") + @TableField("tvoc") + private BigDecimal tvoc; + + @ApiModelProperty(value = " 风力级别") + @TableField("wind_level") + private BigDecimal windLevel; + + @ApiModelProperty(value = " 风向名称") + @TableField("wind_direction") + private BigDecimal windDirection; + + @ApiModelProperty(value = " 综合指数") + @TableField("pmi") + private BigDecimal pmi; + + @ApiModelProperty(value = " AQI") + @TableField("aqi") + private Integer aqi; + + @ApiModelProperty(value = " 首要污染物") + @TableField("fk_pollutant_id") + private String fkPollutantId; + + @ApiModelProperty(value = " 区间最大综合指数") + @TableField("max_ipmi") + private BigDecimal maxIpmi; + + @ApiModelProperty(value = " 空气质量级别") + @TableField("fk_aqilevel_id") + private Integer fkAqilevelId; + + @ApiModelProperty(value = " 二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = " 二氧化硫是否超标") + @TableField("so2_is_over") + private Integer so2IsOver; + + @ApiModelProperty(value = " 二氧化硫区间最大值") + @TableField("so2_max_value") + private BigDecimal so2MaxValue; + + @ApiModelProperty(value = " 二氧化硫区间最小值") + @TableField("so2_min_value") + private BigDecimal so2MinValue; + + @ApiModelProperty(value = " 二氧化硫分指数") + @TableField("iaqi_so2") + private BigDecimal iaqiSo2; + + @ApiModelProperty(value = " 二氧化硫综合指数") + @TableField("ipmi_so2") + private BigDecimal ipmiSo2; + + @ApiModelProperty(value = " 二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = " 二氧化氮是否超标") + @TableField("no2_is_over") + private Integer no2IsOver; + + @ApiModelProperty(value = " 二氧化氮区间最大值") + @TableField("no2_max_value") + private BigDecimal no2MaxValue; + + @ApiModelProperty(value = " 二氧化氮区间最小值") + @TableField("no2_min_value") + private BigDecimal no2MinValue; + + @ApiModelProperty(value = " 二氧化氮分指数") + @TableField("iaqi_no2") + private BigDecimal iaqiNo2; + + @ApiModelProperty(value = " 二氧化氮综合指数") + @TableField("ipmi_no2") + private BigDecimal ipmiNo2; + + @ApiModelProperty(value = " PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = " PM10是否超标") + @TableField("pm10_is_over") + private Integer pm10IsOver; + + @ApiModelProperty(value = " PM10区间最大值") + @TableField("pm10_max_value") + private BigDecimal pm10MaxValue; + + @ApiModelProperty(value = " PM10区间最小值") + @TableField("pm10_min_value") + private BigDecimal pm10MinValue; + + @ApiModelProperty(value = " PM10分指数") + @TableField("iaqi_pm10") + private BigDecimal iaqiPm10; + + @ApiModelProperty(value = " PM10综合指数") + @TableField("ipmi_pm10") + private BigDecimal ipmiPm10; + + @ApiModelProperty(value = " PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = " PM2.5是否超标") + @TableField("pm25_is_over") + private Integer pm25IsOver; + + @ApiModelProperty(value = " PM2.5区间最大值") + @TableField("pm25_max_value") + private BigDecimal pm25MaxValue; + + @ApiModelProperty(value = " PM2.5区间最小值") + @TableField("pm25_min_value") + private BigDecimal pm25MinValue; + + @ApiModelProperty(value = " PM2.5分指数") + @TableField("iaqi_pm25") + private BigDecimal iaqiPm25; + + @ApiModelProperty(value = " PM2.5综合指数") + @TableField("ipmi_pm25") + private BigDecimal ipmiPm25; + + @ApiModelProperty(value = " 一氧化碳") + @TableField("co") + private BigDecimal co; + + @ApiModelProperty(value = " 一氧化碳是否超标") + @TableField("co_is_over") + private Integer coIsOver; + + @ApiModelProperty(value = " 一氧化碳区间最大值") + @TableField("co_max_value") + private BigDecimal coMaxValue; + + @ApiModelProperty(value = " 一氧化碳区间最小值") + @TableField("co_min_value") + private BigDecimal coMinValue; + + @ApiModelProperty(value = " 一氧化碳分指数") + @TableField("iaqi_co") + private BigDecimal iaqiCo; + + @ApiModelProperty(value = " 一氧化碳综合指数") + @TableField("ipmi_co") + private BigDecimal ipmiCo; + + @ApiModelProperty(value = " 臭氧") + @TableField("o3") + private BigDecimal o3; + + @ApiModelProperty(value = " 臭氧是否超标") + @TableField("o3_is_over") + private Integer o3IsOver; + + @ApiModelProperty(value = " 臭氧区间最大值") + @TableField("o3_max_value") + private BigDecimal o3MaxValue; + + @ApiModelProperty(value = " 臭氧区间最小值") + @TableField("o3_min_value") + private BigDecimal o3MinValue; + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + + @ApiModelProperty(value = "臭氧八小时平均 是否超标") + @TableField("o3_8h_is_over") + private Integer o38hIsOver; + + @ApiModelProperty(value = "臭氧八小时平均 区间最大值") + @TableField("o3_8h_max_value") + private BigDecimal o38hMaxValue; + + @ApiModelProperty(value = "臭氧八小时平均 区间最小值") + @TableField("o3_8h_min_value") + private BigDecimal o38hMinValue; + + @ApiModelProperty(value = " 臭氧分指数") + @TableField("iaqi_o3") + private BigDecimal iaqiO3; + + @ApiModelProperty(value = " 臭氧综合指数") + @TableField("ipmi_o3") + private BigDecimal ipmiO3; + + @ApiModelProperty(value = "臭氧八小时平均 分指数") + @TableField("iaqi_o3_8h") + private BigDecimal iaqiO38h; + + @ApiModelProperty(value = "臭氧八小时平均 综合指数") + @TableField("ipmi_o3_8h") + private BigDecimal ipmiO38h; + + @ApiModelProperty(value = "co 95百分位数") + @TableField("co_95_percent") + private BigDecimal co95Percent; + + @ApiModelProperty(value = "o38h 90百分位数") + @TableField("o38h_90_percent") + private BigDecimal o38h90Percent; + + @ApiModelProperty(value = " 温度") + @TableField("temp") + private BigDecimal temp; + + @ApiModelProperty(value = " 温度区间最大值") + @TableField("temp_max_value") + private BigDecimal tempMaxValue; + + @ApiModelProperty(value = " 温度区间最小值") + @TableField("temp_min_value") + private BigDecimal tempMinValue; + + @ApiModelProperty(value = " 湿度") + @TableField("humi") + private BigDecimal humi; + + @ApiModelProperty(value = " 湿度区间最大值") + @TableField("humi_max_value") + private BigDecimal humiMaxValue; + + @ApiModelProperty(value = " 湿度区间最小值") + @TableField("humi_min_value") + private BigDecimal humiMinValue; + + @ApiModelProperty(value = " 风速") + @TableField("winds") + private BigDecimal winds; + + @ApiModelProperty(value = " 风速区间最大值") + @TableField("winds_max_value") + private BigDecimal windsMaxValue; + + @ApiModelProperty(value = " 风速区间最小值") + @TableField("winds_min_value") + private BigDecimal windsMinValue; + + @ApiModelProperty(value = " 风向") + @TableField("windd") + private BigDecimal windd; + + @ApiModelProperty(value = " ") + @TableField("windd_max_value") + private BigDecimal winddMaxValue; + + @ApiModelProperty(value = " ") + @TableField("windd_min_value") + private BigDecimal winddMinValue; + + @ApiModelProperty(value = " 气压") + @TableField("pres") + private BigDecimal pres; + + @ApiModelProperty(value = " 气压区间最大值") + @TableField("pres_max_value") + private BigDecimal presMaxValue; + + @ApiModelProperty(value = " 气压区间最小值") + @TableField("pres_min_value") + private BigDecimal presMinValue; + + @ApiModelProperty(value = " ") + @TableField("cal_type") + private BigDecimal calType; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "降水") + @TableField("rain") + private String rain; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqYear.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqYear.java new file mode 100644 index 0000000..ddca9b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QEnvgasWqYear.java @@ -0,0 +1,325 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * 区域年数据表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("q_envgas_wq_year") +@ApiModel(value="QEnvgasWqYear对象", description="区域年数据表") +public class QEnvgasWqYear implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = " 主键") + @TableId(value = "id") + private String id; + + @ApiModelProperty(value = " 数据时间") + @TableField("data_time") + private LocalDateTime dataTime; + + @ApiModelProperty(value = "年份yyyy") + @TableField("year_time") + private String yearTime; + + @ApiModelProperty(value = " 行政区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = " 总悬浮颗粒物") + @TableField("tsp") + private BigDecimal tsp; + + @ApiModelProperty(value = " 氮氧化物") + @TableField("nox") + private BigDecimal nox; + + @ApiModelProperty(value = " TVOC") + @TableField("tvoc") + private BigDecimal tvoc; + + @ApiModelProperty(value = " 风力级别") + @TableField("wind_level") + private Integer windLevel; + + @ApiModelProperty(value = " 风向名称") + @TableField("wind_direction") + private String windDirection; + + @ApiModelProperty(value = " 综合指数") + @TableField("pmi") + private BigDecimal pmi; + + @ApiModelProperty(value = " AQI") + @TableField("aqi") + private BigDecimal aqi; + + @ApiModelProperty(value = " 二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = " 二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = " PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = " PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = " 一氧化碳") + @TableField("co") + private BigDecimal co; + + @ApiModelProperty(value = " 臭氧") + @TableField("o3") + private BigDecimal o3; + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + + @ApiModelProperty(value = "co 90百分位数") + @TableField("co_95_percent") + private BigDecimal co95Percent; + + @ApiModelProperty(value = "o38h 95百分位数") + @TableField("o38h_90_percent") + private BigDecimal o38h90Percent; + + @ApiModelProperty(value = " 首要污染物") + @TableField("fk_pollutant_id") + private String fkPollutantId; + + @ApiModelProperty(value = " 区间最大综合指数") + @TableField("max_ipmi") + private BigDecimal maxIpmi; + + @ApiModelProperty(value = " 空气质量级别") + @TableField("fk_aqilevel_id") + private Integer fkAqilevelId; + + @ApiModelProperty(value = " 二氧化硫是否超标") + @TableField("so2_is_over") + private Integer so2IsOver; + + @ApiModelProperty(value = " 二氧化硫区间最大值") + @TableField("so2_max_value") + private BigDecimal so2MaxValue; + + @ApiModelProperty(value = " 二氧化硫区间最小值") + @TableField("so2_min_value") + private BigDecimal so2MinValue; + + @ApiModelProperty(value = " 二氧化硫分指数") + @TableField("iaqi_so2") + private BigDecimal iaqiSo2; + + @ApiModelProperty(value = " 二氧化硫综合指数") + @TableField("ipmi_so2") + private BigDecimal ipmiSo2; + + @ApiModelProperty(value = " 二氧化氮是否超标") + @TableField("no2_is_over") + private Integer no2IsOver; + + @ApiModelProperty(value = " 二氧化氮区间最大值") + @TableField("no2_max_value") + private BigDecimal no2MaxValue; + + @ApiModelProperty(value = " 二氧化氮区间最小值") + @TableField("no2_min_value") + private BigDecimal no2MinValue; + + @ApiModelProperty(value = " 二氧化氮分指数") + @TableField("iaqi_no2") + private BigDecimal iaqiNo2; + + @ApiModelProperty(value = " 二氧化氮综合指数") + @TableField("ipmi_no2") + private BigDecimal ipmiNo2; + + @ApiModelProperty(value = " PM10是否超标") + @TableField("pm10_is_over") + private Integer pm10IsOver; + + @ApiModelProperty(value = " PM10区间最大值") + @TableField("pm10_max_value") + private BigDecimal pm10MaxValue; + + @ApiModelProperty(value = " PM10区间最小值") + @TableField("pm10_min_value") + private BigDecimal pm10MinValue; + + @ApiModelProperty(value = " PM10分指数") + @TableField("iaqi_pm10") + private BigDecimal iaqiPm10; + + @ApiModelProperty(value = " PM10综合指数") + @TableField("ipmi_pm10") + private BigDecimal ipmiPm10; + + @ApiModelProperty(value = " PM2.5是否超标") + @TableField("pm25_is_over") + private Integer pm25IsOver; + + @ApiModelProperty(value = " PM2.5区间最大值") + @TableField("pm25_max_value") + private BigDecimal pm25MaxValue; + + @ApiModelProperty(value = " PM2.5区间最小值") + @TableField("pm25_min_value") + private BigDecimal pm25MinValue; + + @ApiModelProperty(value = " PM2.5分指数") + @TableField("iaqi_pm25") + private BigDecimal iaqiPm25; + + @ApiModelProperty(value = " PM2.5综合指数") + @TableField("ipmi_pm25") + private BigDecimal ipmiPm25; + + @ApiModelProperty(value = " 一氧化碳是否超标") + @TableField("co_is_over") + private Integer coIsOver; + + @ApiModelProperty(value = " 一氧化碳区间最大值") + @TableField("co_max_value") + private BigDecimal coMaxValue; + + @ApiModelProperty(value = " 一氧化碳区间最小值") + @TableField("co_min_value") + private BigDecimal coMinValue; + + @ApiModelProperty(value = " 一氧化碳分指数") + @TableField("iaqi_co") + private BigDecimal iaqiCo; + + @ApiModelProperty(value = " 一氧化碳综合指数") + @TableField("ipmi_co") + private BigDecimal ipmiCo; + + @ApiModelProperty(value = " 臭氧是否超标") + @TableField("o3_is_over") + private Integer o3IsOver; + + @ApiModelProperty(value = " 臭氧区间最大值") + @TableField("o3_max_value") + private BigDecimal o3MaxValue; + + @ApiModelProperty(value = " 臭氧区间最小值") + @TableField("o3_min_value") + private BigDecimal o3MinValue; + + @ApiModelProperty(value = " 臭氧分指数") + @TableField("iaqi_o3") + private BigDecimal iaqiO3; + + @ApiModelProperty(value = " 臭氧综合指数") + @TableField("ipmi_o3") + private BigDecimal ipmiO3; + + @ApiModelProperty(value = "臭氧八小时平均 是否超标") + @TableField("o3_8h_is_over") + private Integer o38hIsOver; + + @ApiModelProperty(value = "臭氧八小时平均 区间最大值") + @TableField("o3_8h_max_value") + private BigDecimal o38hMaxValue; + + @ApiModelProperty(value = "臭氧八小时平均 区间最小值") + @TableField("o3_8h_min_value") + private BigDecimal o38hMinValue; + + @ApiModelProperty(value = "臭氧八小时平均 分指数") + @TableField("iaqi_o3_8h") + private BigDecimal iaqiO38h; + + @ApiModelProperty(value = "臭氧八小时平均 综合指数") + @TableField("ipmi_o3_8h") + private BigDecimal ipmiO38h; + + @ApiModelProperty(value = " 温度") + @TableField("temp") + private BigDecimal temp; + + @ApiModelProperty(value = " 温度区间最大值") + @TableField("temp_max_value") + private BigDecimal tempMaxValue; + + @ApiModelProperty(value = " 温度区间最小值") + @TableField("temp_min_value") + private BigDecimal tempMinValue; + + @ApiModelProperty(value = " 湿度") + @TableField("humi") + private BigDecimal humi; + + @ApiModelProperty(value = " 湿度区间最大值") + @TableField("humi_max_value") + private BigDecimal humiMaxValue; + + @ApiModelProperty(value = " 湿度区间最小值") + @TableField("humi_min_value") + private BigDecimal humiMinValue; + + @ApiModelProperty(value = " 风速") + @TableField("winds") + private BigDecimal winds; + + @ApiModelProperty(value = " 风速区间最大值") + @TableField("winds_max_value") + private BigDecimal windsMaxValue; + + @ApiModelProperty(value = " 风速区间最小值") + @TableField("winds_min_value") + private BigDecimal windsMinValue; + + @ApiModelProperty(value = " 风向") + @TableField("windd") + private BigDecimal windd; + + @ApiModelProperty(value = " 气压") + @TableField("pres") + private BigDecimal pres; + + @ApiModelProperty(value = " 气压区间最大值") + @TableField("pres_max_value") + private BigDecimal presMaxValue; + + @ApiModelProperty(value = " 气压区间最小值") + @TableField("pres_min_value") + private BigDecimal presMinValue; + + @TableField(value = "create_time", fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QTargetConfig.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QTargetConfig.java new file mode 100644 index 0000000..02821ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/QTargetConfig.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.domain.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 目标管理配置对象 q_target_config + * @author talroad + * @date 2022-09-20 11:41:36 + */ +@Data +@ApiModel(value="目标管理配置模型") +public class QTargetConfig +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(value = "pk_id", type = IdType.AUTO) + @ApiModelProperty(value="主键") + private Long pkId; + + /** pm25高值月分配值 */ + @Excel(name = "pm25高值月分配值") + @ApiModelProperty(value="pm25高值月分配值") + private Integer pm25Control; + + /** pm25高值月数量 */ + @Excel(name = "pm25高值月数量") + @ApiModelProperty(value="pm25高值月数量") + private Integer pm25Month; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer pm10Control; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer pm10Month; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer so2Control; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer so2Month; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer no2Control; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + @ApiModelProperty(value="$column.columnComment") + private Integer no2Month; + + /** 区域code */ + @Excel(name = "区域code") + @ApiModelProperty(value="区域code") + private String regionCode; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/RectificationEffectQueryDTO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/RectificationEffectQueryDTO.java new file mode 100644 index 0000000..a3cf8de --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/RectificationEffectQueryDTO.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.domain.effective; + + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.PageUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 整改效果评估查询类 + */ +@ApiModel(value = "整改效果评估查询类") +@Data +public class RectificationEffectQueryDTO extends PageQuery { + + @ApiModelProperty(value = "统计开始时间 yyyy-MM-dd HH:mm:ss") + private String startTime; + @ApiModelProperty(value = "统计结束时间 yyyy-MM-dd HH:mm:ss") + private String endTime; + @ApiModelProperty(value = "地区编码") + private String regionCode; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业编码") + private String categoryCode; + @ApiModelProperty(value = "地区编码集合,根据用户地区查询用",hidden = true) + private List regionCodes; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasAqilevel.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasAqilevel.java new file mode 100644 index 0000000..a57a8b6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasAqilevel.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 空气质量等级表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_aqilevel") +@ApiModel(value="SEnvgasAqilevel对象", description="空气质量等级表") +public class SEnvgasAqilevel implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键ID") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "上限值") + @TableField("upper_value") + private BigDecimal upperValue; + + @ApiModelProperty(value = "下限值") + @TableField("lower_value") + private BigDecimal lowerValue; + + @ApiModelProperty(value = "级别") + @TableField("aqi_level") + private String aqiLevel; + + @ApiModelProperty(value = "类别") + @TableField("aqi_type") + private String aqiType; + + @ApiModelProperty(value = "颜色(色号)") + @TableField("aqi_color") + private String aqiColor; + + @ApiModelProperty(value = "影响") + @TableField("aqi_effect") + private String aqiEffect; + + @ApiModelProperty(value = "措施") + @TableField("aqi_measure") + private String aqiMeasure; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasPollutant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasPollutant.java new file mode 100644 index 0000000..119a7d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasPollutant.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * 污染物表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_pollutant") +@ApiModel(value="SEnvgasPollutant对象", description="污染物表") +public class SEnvgasPollutant implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "污染因子类型(1.水、2.首页达标展示类型)") + @TableField("fk_pollutant_type_id") + private Integer fkPollutantTypeId; + + @ApiModelProperty(value = "污染因子编号") + @TableField("pollutant_code") + private String pollutantCode; + + @ApiModelProperty(value = "污染因子名称") + @TableField("pollutant_name") + private String pollutantName; + + @ApiModelProperty(value = "单位(显示)") + @TableField("unit") + private String unit; + + @ApiModelProperty(value = "排序") + @TableField("serial") + private Integer serial; + + @ApiModelProperty(value = "保留小数") + @TableField("decimal_point") + private Integer decimalPoint; + + @ApiModelProperty(value = "是否启用 0 在用,1 停用") + @TableField("is_used") + private Boolean isUsed; + + @ApiModelProperty(value = "是否可以计算总量0否1是") + @TableField("is_pollutant") + private Integer isPollutant; + + @ApiModelProperty(value = "映射字段 小时,月,日字段") + @TableField("field") + private String field; + + @ApiModelProperty(value = "是否涉气 0 否 1是") + @TableField("involved") + private String involved; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasStationControl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasStationControl.java new file mode 100644 index 0000000..114e89e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/effective/SEnvgasStationControl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.domain.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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 lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * 站点控制级别表 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("s_envgas_station_control") +@ApiModel(value="SEnvgasStationControl对象", description="站点控制级别表") +public class SEnvgasStationControl implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "编码") + @TableField("level_code") + private String levelCode; + + @ApiModelProperty(value = "名称") + @TableField("level_name") + private String levelName; + + @ApiModelProperty(value = "控制类型,1:站点 2:污染源") + @TableField("control_type") + private String controlType; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirDataVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirDataVO.java new file mode 100644 index 0000000..57490be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirDataVO.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "污染防治协同管控展示类") +public class AirDataVO { + @ApiModelProperty(value = "空气质量展示类") + private AirQualityDataVO airQualityDataVO; + @ApiModelProperty(value = "空气质量预报展示类,0下标为最近一天") + private List airForecastData; + @ApiModelProperty(value = "污染管控展示类") + private PolluteControlDataVO polluteControlData; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirForecastDataVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirForecastDataVO.java new file mode 100644 index 0000000..ed1aff6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirForecastDataVO.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "Aqi预报展示类") +public class AirForecastDataVO { + @ApiModelProperty(value = "预报日期") + private String forecastDate; + @ApiModelProperty(value = "aqi最小值") + private String aqiMin; + @ApiModelProperty(value = "aqi最大值") + private String aqiMax; + @ApiModelProperty(value = "空气质量最小值") + private String levelNameMin; + @ApiModelProperty(value = "空气质量最大值") + private String levelNameMax; + @ApiModelProperty(value = "首要污染物") + private String primaryPollutant; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirQualityDataVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirQualityDataVO.java new file mode 100644 index 0000000..ecae057 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AirQualityDataVO.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "空气质量状况") +public class AirQualityDataVO { + @ApiModelProperty(value = "首要污染物") + private String maxPollution; + @ApiModelProperty(value = "Aqi指数") + private String aqi; + @ApiModelProperty(value = "Pm2.5指数") + private String pm25; + @ApiModelProperty(value = "Pm10指数") + private String pm10; + @ApiModelProperty(value = "二氧化硫指数") + private String so2; + @ApiModelProperty(value = "一氧化碳指数") + private String co; + @ApiModelProperty(value = "二氧化氮指数") + private String no2; + @ApiModelProperty(value = "臭氧指数") + private String o3; + @ApiModelProperty(value = "全国337个城市排名") + private String index337; + @ApiModelProperty(value = "全国168个城市排名") + private String index168; + @ApiModelProperty(value = "省内城市排名") + private String indexProvinceCity; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AreaTaskCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AreaTaskCountVO.java new file mode 100644 index 0000000..9384d23 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/AreaTaskCountVO.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "区县任务统计") +@AllArgsConstructor +@NoArgsConstructor +public class AreaTaskCountVO { + @ApiModelProperty(value = "区县名称") + private String areaName; + @ApiModelProperty(value = "执法人次数量") + private Integer enforcementPersonCount; + @ApiModelProperty(value = "执法任务数量") + private Integer enforcementCount; + @ApiModelProperty(value = "发现问题数量") + private Integer questionCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DataTypeVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DataTypeVO.java new file mode 100644 index 0000000..9ba2a79 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DataTypeVO.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "数据类型展示类") +public class DataTypeVO { + + @ApiModelProperty(value = "数据类型名称") + private String adslName; + + @ApiModelProperty(value = "数据类型数量") + private Integer adslCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DetectFactoryQuestionVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DetectFactoryQuestionVO.java new file mode 100644 index 0000000..4a371ea --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DetectFactoryQuestionVO.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "发现企业问题展示明细类") +@AllArgsConstructor +@NoArgsConstructor +public class DetectFactoryQuestionVO { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "问题数量") + private Integer questionCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DeviceCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DeviceCountVO.java new file mode 100644 index 0000000..a885144 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/DeviceCountVO.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "设备数量展示类") +public class DeviceCountVO { + + @ApiModelProperty(value = "设施总数量") + private Integer totalCount; + @ApiModelProperty(value = "生产设施数量") + private Integer productTotalCount; + @ApiModelProperty(value = "生产设施排污许可数量") + private Integer productPermitCount; + @ApiModelProperty(value = "生产设施分表计电数量") + private Integer productElecCount; + @ApiModelProperty(value = "生产设施DCS数量") + private Integer productDcsCount; + @ApiModelProperty(value = "治理设施数量") + private Integer governTotalCount; + @ApiModelProperty(value = "治理设施排污许可数量") + private Integer governPermitCount; + @ApiModelProperty(value = "治理设施分表计电数量") + private Integer governtElecCount; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FactoryColorTagCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FactoryColorTagCountVO.java new file mode 100644 index 0000000..6bc86bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FactoryColorTagCountVO.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "企业三色赋码任务状态") +@AllArgsConstructor +@NoArgsConstructor +public class FactoryColorTagCountVO { + @ApiModelProperty(value = "赋码企业总数") + private Integer factoryTotalCount; + @ApiModelProperty(value = "红码数量") + private Integer redCount; + @ApiModelProperty(value = "黄码数量") + private Integer yellowCount; + @ApiModelProperty(value = "绿码数量") + private Integer greenCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FusionCountDataVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FusionCountDataVO.java new file mode 100644 index 0000000..adc43ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/FusionCountDataVO.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +@ApiModel(value = "融合数据数量展示返回类") +public class FusionCountDataVO { + + @ApiModelProperty(value = "数据库总条数") + private Long databaseDataCount; + + @ApiModelProperty(value = "企业管理级别统计") + private ManTypeVO factoryManTypeCount; + + @ApiModelProperty(value = "企业数据接入类型数量统计 ") + private List factoryDataTypeCount; + + @ApiModelProperty(value = "设备数量统计") + private DeviceCountVO deviceCount; + + @ApiModelProperty(value = "排口数量统计") + private OutletCountVO outletCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ImplementEcharsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ImplementEcharsVO.java new file mode 100644 index 0000000..4c5f14e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ImplementEcharsVO.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "监管能力echars展示类") +public class ImplementEcharsVO { + @ApiModelProperty(value = "x轴名称") + private String xName; + @ApiModelProperty(value = "x轴数据") + private List xValue; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ManTypeVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ManTypeVO.java new file mode 100644 index 0000000..3a45fc0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ManTypeVO.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "企业管理类型展示类") +public class ManTypeVO { + @ApiModelProperty(value = "企业总数量") + private Integer totalCount; + @ApiModelProperty(value = "重点关注") + private Integer focusCount; + @ApiModelProperty(value = "简化管理") + private Integer simplifyCount; + @ApiModelProperty(value = "登记管理") + private Integer registerCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MapUpVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MapUpVo.java new file mode 100644 index 0000000..98a3986 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MapUpVo.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "地图上方三个数量展示") +public class MapUpVo { + + @ApiModelProperty(value = "未解决问题") + private Integer problemCount; + @ApiModelProperty(value = "待办任务") + private Integer taskCount; + @ApiModelProperty(value = "排污单位") + private Integer factoryCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorEnforcementCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorEnforcementCountVO.java new file mode 100644 index 0000000..807f17e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorEnforcementCountVO.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "监督执法展示类") +public class MonitorEnforcementCountVO { + @ApiModelProperty(value = "监管能力展示类") + private RegulatoryCapacityCountVO regulatoryCapacityCountVO; + @ApiModelProperty(value = "任务统计展示类") + private MonitorTaskCountVO monitorTaskCountVO; + @ApiModelProperty(value = "企业三码展示类") + private FactoryColorTagCountVO factoryColorTagCountVO; + @ApiModelProperty(value = "区县任务展示类") + private List areaTaskCountVO; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorTaskCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorTaskCountVO.java new file mode 100644 index 0000000..935630d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/MonitorTaskCountVO.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "任务统计") +@AllArgsConstructor +@NoArgsConstructor +public class MonitorTaskCountVO { + @ApiModelProperty(value = "任务数量") + private Integer missionCount; + @ApiModelProperty(value = "非现场任务数量") + private Integer nonSceneMissionCount; + @ApiModelProperty(value = "随机任务数量") + private Integer randomMissionCount; + @ApiModelProperty(value = "三监联动任务数量") + private Integer threeMonitorMissionCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/OutletCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/OutletCountVO.java new file mode 100644 index 0000000..b6eede8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/OutletCountVO.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "排口数量展示类") +public class OutletCountVO { + + @ApiModelProperty(value = "总数量") + private Integer totalCount; + @ApiModelProperty(value = "废气/废气排污许可 数量") + private Integer gasCount; + @ApiModelProperty(value = "废气在线检测数量") + private Integer gasMonitorCount; + @ApiModelProperty(value = "废气动态管控数量") + private Integer gasDynamicCount; + @ApiModelProperty(value = "废水/废水排污许可数量") + private Integer waterCount; + @ApiModelProperty(value = "废水在线监测数量") + private Integer waterMonitorCount; + @ApiModelProperty(value = "废水动态管控数量") + private Integer waterDynamicCount; + @ApiModelProperty(value = "废气无组织/排污许可数量") + private Integer gasNoGroupCount; + @ApiModelProperty(value = "废气无组织在线检测数量") + private Integer gasNoGroupMonitorCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/PolluteControlDataVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/PolluteControlDataVO.java new file mode 100644 index 0000000..5ecd770 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/PolluteControlDataVO.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "污染管控执行统计展示类") +public class PolluteControlDataVO { + + @ApiModelProperty(value = "年度应急管控次数") + private Integer yearEmergencyControlCount; + @ApiModelProperty(value = "发现企业问题数量") + private Integer detectFactoryQuestionCount; + @ApiModelProperty(value = "问题企业TOP3排名,0下标为第一名") + private List questionList; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDataCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDataCountVO.java new file mode 100644 index 0000000..40e391a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDataCountVO.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "关联分析返回展示类") +public class ProblemDataCountVO { + @ApiModelProperty(value = "问题类型数量统计") + private ProblemTypeCountVO problemTypeCountVO; + @ApiModelProperty(value = "问题处置情况数量统计") + private ProblemDoingCountVO problemDoingCountVO; + @ApiModelProperty(value = "大类分组问题数量统计") + private List levelOneGroupCount; + @ApiModelProperty(value = "小类分组问题数量统计") + private List levelTwoGroupCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDoingCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDoingCountVO.java new file mode 100644 index 0000000..da98140 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemDoingCountVO.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "问题处置情况数量统计") +public class ProblemDoingCountVO { + + @ApiModelProperty(value = "总数量") + private Integer totalCount; + @ApiModelProperty(value = "未处置") + private Integer undoneCount; + @ApiModelProperty(value = "已处置") + private Integer doneCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemGroupCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemGroupCountVO.java new file mode 100644 index 0000000..8db0808 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemGroupCountVO.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "问题分类分组数量统计") +@AllArgsConstructor +@NoArgsConstructor +public class ProblemGroupCountVO { + + @ApiModelProperty(value = "问题类别") + private String name; + @ApiModelProperty(value = "问题数量") + private String totalCount; + @ApiModelProperty(value = "问题类型代码") + private String problemId; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemTypeCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemTypeCountVO.java new file mode 100644 index 0000000..86607c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ProblemTypeCountVO.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "问题类型数量统计") +public class ProblemTypeCountVO { + @ApiModelProperty(value = "大类") + private Integer levelOneCount; + @ApiModelProperty(value = "小类") + private Integer levelTwoCount; + @ApiModelProperty(value = "模型") + private Integer modelCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionCountVO.java new file mode 100644 index 0000000..942387c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionCountVO.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "问题总体展示类") +@NoArgsConstructor +@AllArgsConstructor +public class QuestionCountVO { + + @ApiModelProperty(value = "确认问题数量") + private Integer confirmQuestionCount; + @ApiModelProperty(value = "确认问题率") + private String confirmQuestionRate; + @ApiModelProperty(value = "处罚企业数量") + private Integer punishFactoryCount; + @ApiModelProperty(value = "处罚企业率") + private String punishFactoryRate; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionTop10CountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionTop10CountVO.java new file mode 100644 index 0000000..290ed51 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/QuestionTop10CountVO.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "问题top10展示类") +@NoArgsConstructor +@AllArgsConstructor +public class QuestionTop10CountVO { + + + @ApiModelProperty(value = "问题名称") + private String questionName; + + @ApiModelProperty(value = "问题数量") + private Integer questionCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/RegulatoryCapacityCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/RegulatoryCapacityCountVO.java new file mode 100644 index 0000000..a4d36ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/RegulatoryCapacityCountVO.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.domain.leader.vo; + +import cn.cecep.talroad.vo.EChartsVO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@ApiModel(value = "监管能力展示类") +@AllArgsConstructor +@NoArgsConstructor +public class RegulatoryCapacityCountVO { + @ApiModelProperty(value = "执法人员数量") + private Integer implementPersonCount; + @ApiModelProperty(value = "执法车辆数量") + private Integer implementCarCount; + @ApiModelProperty(value = "执法终端数量") + private Integer implementClientCount; + @ApiModelProperty(value = "图表数据") + private EChartsVO countData; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/StationTypeDictVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/StationTypeDictVO.java new file mode 100644 index 0000000..7cd3f0e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/StationTypeDictVO.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 站点类型字典展示层 + */ +@Data +@ApiModel(value = "站点类型字典展示层") +public class StationTypeDictVO { + + @ApiModelProperty(value = "类型名称") + private String typeName; + + @ApiModelProperty(value = "类型编码") + private String typeCode; + + @ApiModelProperty(value = "站点类型1:废气,2:废水") + private Integer stationType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/TaskCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/TaskCountVO.java new file mode 100644 index 0000000..9461adf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/TaskCountVO.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@ApiModel(value = "任务统计展示类") +@AllArgsConstructor +@NoArgsConstructor +public class TaskCountVO { + @ApiModelProperty(value = "任务总计") + private Integer totalCount; + @ApiModelProperty(value = "完成率") + private String finishRate; + @ApiModelProperty(value = "市县两级联动数量") + private Integer cityAreaCount; + @ApiModelProperty(value = "区县跨部门数量") + private Integer areaCrossDeptCount; + @ApiModelProperty(value = "跨部门数量") + private Integer crossDeptCount; + @ApiModelProperty(value = "待办任务") + private Integer unDoTaskCount; + @ApiModelProperty(value = "监测部门") + private Integer monitorDeptCount; + @ApiModelProperty(value = "监督部门") + private Integer manageDeptCount; + @ApiModelProperty(value = "执法部门") + private Integer enforcementDeptCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ThreeMonitorCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ThreeMonitorCountVO.java new file mode 100644 index 0000000..74b085a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/leader/vo/ThreeMonitorCountVO.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.domain.leader.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@ApiModel(value = "三监联动展示类") + +public class ThreeMonitorCountVO { + + @ApiModelProperty(value = "任务总计") + private TaskCountVO taskCountVO; + + @ApiModelProperty(value = "问题总计") + private QuestionCountVO questionCountVO; + + @ApiModelProperty(value = "Top10问题总计") + private List questionTop10CountVO; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AirQualityLevelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AirQualityLevelVo.java new file mode 100644 index 0000000..ce1ea7c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AirQualityLevelVo.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.domain.vo; + +import cn.cecep.talroad.vo.effective.AirQualityConverter; +import lombok.Data; + + +@Data +public class AirQualityLevelVo { + private Integer[][] aqiLevel; + private Integer[][] pm25Level; + private Integer[][] pm10Level; + private Integer[][] coLevel; + private Integer[][] no2Level; + private Integer[][] so2Level; + private Integer[][] o3Level; + private Integer[][] tspLevel; + private Integer[][] tvocLevel; + private Integer[][] noxLevel; + private Integer[][] o38hLevel; + private Integer[][] pmiLevel; + private Integer[][] so2Level24; + private Integer[][] no2Level24; + private Integer[][] coLevel24; + + public AirQualityLevelVo(){ + this.aqiLevel = AirQualityConverter.aqiLevel; + this.pm25Level = AirQualityConverter.pm25Level; + this.pm10Level = AirQualityConverter.pm10Level; + this.coLevel = AirQualityConverter.coLevel; + this.no2Level = AirQualityConverter.no2Level; + this.so2Level = AirQualityConverter.so2Level; + this.o3Level = AirQualityConverter.o3Level; + this.tspLevel = AirQualityConverter.tspLevel; + this.tvocLevel = AirQualityConverter.tvocLevel; + this.noxLevel = AirQualityConverter.noxLevel; + this.o38hLevel = AirQualityConverter.o38hLevel; + this.pmiLevel = AirQualityConverter.pmiLevel; + this.so2Level24 = AirQualityConverter.so2Level_24; + this.no2Level24 = AirQualityConverter.no2level_24; + this.coLevel24 = AirQualityConverter.coLevel_24; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AuditRecordLIstVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AuditRecordLIstVO.java new file mode 100644 index 0000000..13fc1f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/AuditRecordLIstVO.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.domain.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "新建审核企业列表展示类") +public class AuditRecordLIstVO { + + @ApiModelProperty(value = "待审核数据主键") + private String id; + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称" ,width = 40) + private String factoryName; + @ApiModelProperty(value = "报告时间") + @Excel(name = "报告时间" ,width = 25 ) + private String reportTime ; + @ApiModelProperty(value = "市级名称") + @Excel(name = "市级名称" ,width = 25) + private String cityName ; + @ApiModelProperty(value = "区县名称") + @Excel(name = "区县名称" ,width = 25) + private String countryName; + @ApiModelProperty(value = "行业类别名称") + @Excel(name = "行业类别名称" ,width = 25) + private String industryName ; + @ApiModelProperty(value = "管理级别") + @Excel(name = "管理级别" ,width = 25) + private String licenseManType; + @ApiModelProperty(value = "提交时间") + @Excel(name = "提交时间" ,width = 25) + private String commitTime; + @ApiModelProperty(value = "排污许可编号") + @Excel(name = "排污许可编号" ,width = 25) + private String pollDisLicenseCode; + +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlSuperiorVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlSuperiorVo.java new file mode 100644 index 0000000..fc13ac6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlSuperiorVo.java @@ -0,0 +1,443 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: ControlSuperiorVo + * @Author: wyg + * @Description: ControlSuperiorVo + * @Date: 2023/6/13 10:15 + * @Version: 1.0 + */ + +@Data +public class ControlSuperiorVo { + + + @ApiModelProperty(value = "行政区域id") + @TableId(value = "region_id", type = IdType.AUTO) + private Integer regionId; + + @ApiModelProperty(value = "区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "区域名称") + @TableField("region_name") + private String regionName; + + @ApiModelProperty(value = "行政级别 1-中国,2-省级,3-市级,4-县级级,5-乡镇") + @TableField("region_lever") + private String regionLever; + + @ApiModelProperty(value = "区域电话") + @TableField("region_tel") + private String regionTel; + + @ApiModelProperty(value = "父code") + @TableField("parent_code") + private String parentCode; + + @ApiModelProperty(value = "0--正常 1--删除") + @TableField("delete_flag") + private Boolean deleteFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("create_date") + private Date createDate; + + @ApiModelProperty(value = "创建人id") + @TableField("create_id") + private Integer createId; + + @ApiModelProperty(value = "修改时间") + @TableField("update_date") + private Date updateDate; + + @ApiModelProperty(value = "修改人id") + @TableField("update_id") + private Integer updateId; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private BigDecimal longitude; + + @ApiModelProperty(value = "纬度") + @TableField("latitude") + private BigDecimal latitude; + + @ApiModelProperty(value = "是否是168城市") + @TableField("is168") + private Boolean is168; + + @ApiModelProperty(value = "是否是74城市") + @TableField("is74") + private Boolean is74; + + @ApiModelProperty(value = "是否是2+26城市") + @TableField("is28") + private Boolean is28; + + @ApiModelProperty(value = "是否是337城市") + @TableField("is337") + private Boolean is337; + + + @ApiModelProperty(value = "城市编号") + @TableId(value = "city_code", type = IdType.AUTO) + private Integer cityCode; + + @ApiModelProperty(value = "墨迹天气CityID") + @TableField("city_id") + private String cityId; + + @ApiModelProperty(value = "省份") + @TableField("province") + private String province; + + @ApiModelProperty(value = "城市名称") + @TableField("city_name") + private String cityName; + + @ApiModelProperty(value = "类型 1 168 2 74 3 2+26 4 其它") + @TableField("type") + private Integer type; + + @ApiModelProperty(value = "区域编号,外键") + @TableField("area_code") + private String areaCode; + + @ApiModelProperty(value = "是否是测试城市") + @TableField("isTest") + private Boolean isTest; + + +// 站点 + + + @ApiModelProperty(value = "主键") +// @TableId(value = "station_id", type = IdType.UUID) + @TableId(value = "station_id") + private String stationId; + + @TableField("province_code") + private String provinceCode; + + + @ApiModelProperty(value = "市") + @TableField("city") + private String city; + + @TableField("district_code") + private String districtCode; + + @ApiModelProperty(value = "区") + @TableField("district") + private String district; + + @ApiModelProperty(value = "站点名称") + @TableField("station_name") + private String stationName; + + @ApiModelProperty(value = "站点编号") + @TableField("station_code") + private String stationCode; + + @ApiModelProperty(value = "站点状态0 离线,1在线,2超标,3异常") + @TableField("status") + private Integer status; + + + @ApiModelProperty(value = "所属功能区 商业/工业/住宅/绿化/文化教育") + @TableField("function_id") + private Integer functionId; + + @ApiModelProperty(value = "1:国控站,2:省控站,3,市控站,4:微站 5:六参数微站,6:小型站,7:β射线扬尘站 8: TVOC微站,9:颗粒物微站,10:气象站 11:尾气遥测,12:超级站,13:黑烟车监测 14:园区站") + @TableField("station_level") + private Integer stationLevel; + + @ApiModelProperty(value = "站点类型 1大气环境 2污染源废气 3水监测 4污染源废水") + @TableField("station_type") + private Integer stationType; + + + @ApiModelProperty(value = "百度地图经度") + @TableField("bmap_longitude") + private BigDecimal bmapLongitude; + + @ApiModelProperty(value = "百度地图纬度") + @TableField("bmap_latitude") + private BigDecimal bmapLatitude; + + @ApiModelProperty(value = "GCG102 经度") + @TableField("gcg_longitude") + private String gcgLongitude; + + @ApiModelProperty(value = "GCG102 纬度") + @TableField("gcg_latitude") + private String gcgLatitude; + + + // + @ApiModelProperty(value = "主键") + @TableId(value = "pk_id") + private String pkId; + + @ApiModelProperty(value = "站点编号(或区域编号)") + @TableField("fk_stationId") + private String fkStationid; + + @ApiModelProperty(value = "0-站点 1-区域") + @TableField("aqi_data_type") + private Boolean aqiDataType; + + @ApiModelProperty(value = "监测时间") + @TableField("monitor_time") + private Date monitorTime; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "二氧化硫 浓度值") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化硫分指数 分指数") + @TableField("iaqi_so2") + private Integer iaqiSo2; + + @ApiModelProperty(value = "IPMI_SO2 单项指数") + @TableField("ipmi_so2") + private BigDecimal ipmiSo2; + + @ApiModelProperty(value = "二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = "二氧化氮分指数") + @TableField("iaqi_no2") + private Integer iaqiNo2; + + @ApiModelProperty(value = "IPMI_NO2") + @TableField("ipmi_no2") + private BigDecimal ipmiNo2; + + @ApiModelProperty(value = "PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = "IAQI_PM10") + @TableField("iaqi_pm10") + private Integer iaqiPm10; + + @ApiModelProperty(value = "IPMI_PM10") + @TableField("ipmi_pm10") + private BigDecimal ipmiPm10; + + @ApiModelProperty(value = "PM10_24h") + @TableField("pm10_24h") + private BigDecimal pm1024h; + + @ApiModelProperty(value = "IAQI_PM10_24h") + @TableField("iaqi_pm10_24h") + private Integer iaqiPm1024h; + + @ApiModelProperty(value = "CO") + @TableField("co") + private BigDecimal co; + + @ApiModelProperty(value = "IAQI_CO") + @TableField("iaqi_co") + private Integer iaqiCo; + + @ApiModelProperty(value = "IPMI_CO") + @TableField("ipmi_ci") + private BigDecimal ipmiCi; + + @ApiModelProperty(value = "95_CO") + @TableField("co_95") + private BigDecimal co95; + + @TableField("o3") + private BigDecimal o3; + + @TableField("iaqi_o3") + private Integer iaqiO3; + + @ApiModelProperty(value = "IPMI_O3") + @TableField("ipmi_o3") + private BigDecimal ipmiO3; + + @ApiModelProperty(value = "95_O3 95百分位数") + @TableField("o3_90") + private BigDecimal o390; + + @TableField("o3_8h") + private BigDecimal o38h; + + @TableField("iaqi_o3_8h") + private Integer iaqiO38h; + + @TableField("pm25") + private BigDecimal pm25; + + @TableField("iaqi_pm25") + private Integer iaqiPm25; + + @ApiModelProperty(value = "IPMI_PM25") + @TableField("ipmi_pm25") + private BigDecimal ipmiPm25; + + @TableField("pm25_24h") + private BigDecimal pm2524h; + + @TableField("iaqi_pm25_24h") + private Integer iaqiPm2524h; + + @ApiModelProperty(value = "风速") + @TableField("winds") + private BigDecimal winds; + + @ApiModelProperty(value = "气压") + @TableField("pres") + private BigDecimal pres; + + @ApiModelProperty(value = "湿度") + @TableField("humi") + private BigDecimal humi; + + @ApiModelProperty(value = "温度") + @TableField("temp") + private BigDecimal temp; + + @ApiModelProperty(value = "风向") + @TableField("windd") + private BigDecimal windd; + + @ApiModelProperty(value = "TVOC") + @TableField("tvoc") + private BigDecimal tvoc; + + @ApiModelProperty(value = "风力级别") + @TableField("wind_level") + private String windLevel; + + @ApiModelProperty(value = "风向中文") + @TableField("wind_direction") + private String windDirection; + + @ApiModelProperty(value = "紫外线指数") + @TableField("uv") + private String uv; + + @ApiModelProperty(value = "天气") + @TableField("weahter") + private String weahter; + + @ApiModelProperty(value = "NO") + @TableField("no") + private BigDecimal no; + + @ApiModelProperty(value = "NOX") + @TableField("nox") + private BigDecimal nox; + + @ApiModelProperty(value = "空气质量指数") + @TableField("aqi") + private Integer aqi; + + @ApiModelProperty(value = "空气质量综合指数") + @TableField("pmi") + private BigDecimal pmi; + + @ApiModelProperty(value = "总悬浮颗粒物") + @TableField("tsp") + private BigDecimal tsp; + + @ApiModelProperty(value = "空气质量最大指数") + @TableField("max_ipmi") + private BigDecimal maxIpmi; + + @ApiModelProperty(value = "首要污染物") + @TableField("fk_pollutant_id") + private Integer fkPollutantId; + + @ApiModelProperty(value = "空气质量类别") + @TableField("fk_aqilevel_id") + private Integer fkAqilevelId; + + + + //地图边界 + @ApiModelProperty(value = "纬度最小值") + @TableField("lat_min") + private String latMin; + + @ApiModelProperty(value = "维度最大值") + @TableField("lat_max") + private String latMax; + + @ApiModelProperty(value = "经度最小值") + @TableField("lng_min") + private String lngMin; + + @ApiModelProperty(value = "精度最大值") + @TableField("lng_max") + private String lngMax; + + @TableField("spatial_reference_wkid") + private String spatialReferenceWkid; + + @ApiModelProperty(value = "是否正常 1:正常 0:异常") + @TableField("is_normal") + private Integer isNormal; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "中心点经度") + @TableField("center_lng") + private String centerLng; + + @ApiModelProperty(value = "中心点纬度") + @TableField("center_lat") + private String centerLat; + + @ApiModelProperty(value = "缩放级别") + @TableField("zoom_level") + private Integer zoomLevel; + + @ApiModelProperty(value = "地图边界url") + @TableField("map_url") + private String mapUrl; + + @ApiModelProperty(value = "经度") + @TableField("user_map_center_longitude") + private String userMapCenterLongitude; + + @ApiModelProperty(value = "纬度") + @TableField("user_map_center_latitude") + private String userMapCenterLatitude; + + @ApiModelProperty(value = "边界接口路径") + @TableField("map_xzqh_url") + private String mapXzqhUrl; + + + @ApiModelProperty(value = "区域级别") + @TableField("region_level") + private Integer regionLevel; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlVo.java new file mode 100644 index 0000000..1154a2d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ControlVo.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: ControlVo + * @Author: wyg + * @Description: 1 + * @Date: 2023/6/13 10:07 + * @Version: 1.0 + */ +@Data +public class ControlVo { + + private String regionCode; + + private String controlLevelId; + + @ApiModelProperty(value = "编码") + @TableField("level_code") + private String levelCode; + + @ApiModelProperty(value = "名称") + @TableField("level_name") + private String levelName; + + @ApiModelProperty(value = "控制类型,1:站点 2:污染源") + @TableField("control_type") + private String controlType; + + @ApiModelProperty(value = "将汉字转换为全拼") + private String pinyin; + + @ApiModelProperty(value = "值") + private String value; + + @ApiModelProperty(value = "名称") + private String label; + + private List children; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/DataCompareVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/DataCompareVo.java new file mode 100644 index 0000000..23088ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/DataCompareVo.java @@ -0,0 +1,153 @@ +package cn.cecep.talroad.domain.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.vo.EChartsVO; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 数据对比相关vo + */ +public class DataCompareVo { + + @Data + @ApiModel("环比分析查询条件vo") + public static class ChainSearchVo { + @ApiModelProperty("区县/站点 1:区县, 2:站点") + @NotNull(message = "区县/站点不可以为空 1:区县, 2:站点") + private Integer qxOrStation; + + @ApiModelProperty("区县/站点id") + @NotEmpty(message = "区县/站点id不可以为空") + private String qxOrStationId; + + @ApiModelProperty("环比周期") + @NotNull(message = "环比周期不可以为空") + private Integer chainCycle; + + @ApiModelProperty("日期类型 day:日, week:周, month:月") + private String timeType; + + @ApiModelProperty("日期值 不同日期类型格式, 日:yyyy-MM-dd, 周:yyyy-ww 月:yyyy-MM") + @NotEmpty(message = "日期值不可以为空") + private String timeValue; + + @ApiModelProperty(value = "开始日期, 不同日期类型格式不一样", hidden = true) + private String startTime; + @ApiModelProperty(value = "开始日期, 不同日期类型格式不一样", hidden = true) + private String endTime; + + } + + @Data + @ApiModel("环比分析返回数据vo") + public static class ChainResponseVo { + @ApiModelProperty("空气质量等级环比分析") + private List rows; + + @ApiModelProperty("空气质量等级占比分析") + private EChartsVO airLevelChart; + + @ApiModelProperty("首要污染物占比分析") + private EChartsVO pollutantChart; + + @ApiModelProperty("浓度环比分析") + private EChartsVO concentrationChart; + } + + @Data + @ApiModel("空气质量等级环比分析表格数据vo") + public static class Row { + @ApiModelProperty("时间") + @Excel(name = "时间") + private String time; + + @ApiModelProperty("选中天数") + @Excel(name = "选中天数") + private Long checkedCount; + + @ApiModelProperty("有效天数(空气质量级别不为空的)") + @Excel(name = "有效天数") + private Long levelValidCount; + + @ApiModelProperty("有效天数(首要污染物不为空的)") + private Long pollutantValidCount; + + @ApiModelProperty("优天数(天)") + @Excel(name = "优天数(天)") + private Long veryGoodCount; + + @ApiModelProperty("良天数(天)") + @Excel(name = "良天数(天)") + private Long goodCount; + + @ApiModelProperty("严重污染天数(天)") + private Long seriousCount; + + @ApiModelProperty("轻度污染天数(天)") + @Excel(name = "轻度污染天数(天)") + private Long slightCount; + + @ApiModelProperty("中度污染天数(天)") + @Excel(name = "中度污染天数(天)") + private Long moderateCount; + + @ApiModelProperty("重度污染天数(天)") + @Excel(name = "重度污染天数(天)") + private Long heavyCount; + + @ApiModelProperty("优良天数(天)") + @Excel(name = "优良天数(天)") + private Long fineCount; + + @ApiModelProperty("优良率(%)") + @Excel(name = "优良率(%)") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal fineRatio; + } + + /** + * 日数据vo + */ + @Data + public static class DayVo { + private Date dataTime; + private String week; + private String month; + private Integer fkAqilevelId; + private String fkPollutantId; + private BigDecimal aqi; + private BigDecimal pm10; + private BigDecimal pm25; + private BigDecimal no2; + private BigDecimal o3; + private BigDecimal co; + private BigDecimal so2; + private BigDecimal pmi; + } + + /** + * 空气数据vo + */ + @Data + public static class AirDataVo { + private String time; // day or week or month + private BigDecimal aqi; + private BigDecimal pm10; + private BigDecimal pm25; + private BigDecimal no2; + private BigDecimal o3; + private BigDecimal co; + private BigDecimal so2; + private BigDecimal pmi; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonElecRealVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonElecRealVO.java new file mode 100644 index 0000000..cd97d6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonElecRealVO.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.domain.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.MonElecReal; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @className: MonElecRealVO + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 6:38 PM + * @Company: Copyright© [2023/03/30 6:38 PM] by [Mr.Yanghongtao] + **/ +@Data +public class MonElecRealVO extends MonElecReal { + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "设备类型") + private String deviceType; + + @ApiModelProperty(value = "企业ID") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "总有功功率(千瓦)(功率)") + private String activePower; + + @ApiModelProperty(value = "额定功率(千瓦)") + private String powerRating; + + @ApiModelProperty(value = "是否运行") + private Boolean isRun; + + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + @Excel(name = "行业类别") + private String industryCategory; + + @ApiModelProperty(name = "行业名称") + @TableField(exist = false) + private String indusName; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + @Excel(name = "市编码") + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + @Excel(name = "市名称") + private String cityName; + + + @ApiModelProperty(value = "绩效管控级别") + /** 绩效管控级别 */ + @Excel(name = "绩效管控级别") + private String preConLevel; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonthDataVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonthDataVo.java new file mode 100644 index 0000000..35494ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/MonthDataVo.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class MonthDataVo { + private BigDecimal pm25; + private BigDecimal pm10; + private BigDecimal so2; + private BigDecimal no2; + private BigDecimal co; + private BigDecimal o38h; + private String monthTime; + private String monthNum; + private BigDecimal heavyDays; + private BigDecimal goodDays; + private BigDecimal coOverDays; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodAreaRegionRelationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodAreaRegionRelationVo.java new file mode 100644 index 0000000..9f1dcb8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodAreaRegionRelationVo.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: PCodAreaRegionRelationVo + * @Author: wyg + * @Description: PCodAreaRegionRelationVo + * @Date: 2023/6/13 10:20 + * @Version: 1.0 + */ +@Data +public class PCodAreaRegionRelationVo { + + @ApiModelProperty(value = "主键") + private Long pkId; + + @ApiModelProperty(value = "全国区域划分id") + @TableField("area_info_id") + private Integer areaInfoId; + + @ApiModelProperty(value = "行政区域code 只绑定level为3的code") + @TableField("region_code") + private Integer regionCode; + + @ApiModelProperty(value = "是否在首页展示 0:是在首页展示 1:其他 ") + @TableField("show_type") + private Boolean showType; + + + @ApiModelProperty(value = "区域编码") + private Integer areaCode; + + @ApiModelProperty(value = "区域名称") + @TableField("area_name") + private String areaName; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private String longitude; + + @ApiModelProperty(value = "纬度") + @TableField("latitude") + private String latitude; + + @ApiModelProperty(value = "0-使用 1-未使用") + @TableField("is_used") + private Integer isUsed; + + @ApiModelProperty(value = "纬度") + @TableField("latitude") + private boolean show; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodCompanyVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodCompanyVo.java new file mode 100644 index 0000000..afb6d1d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodCompanyVo.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.domain.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: PCodCompanyVo + * @Author: wyg + * @Description: PCodCompanyVo + * @Date: 2023/6/13 14:56 + * @Version: 1.0 + */ + + +@Data +@ApiModel(value = "污染源信息Vo") +public class PCodCompanyVo { + @ApiModelProperty(value = "污染源id") + private String companyId; + @ApiModelProperty(value = "序号") + private Integer indexNo; + @ApiModelProperty(value = "企业名称") + private String companyName; + @ApiModelProperty(value = "企业标签id") + private Integer companyTag; + @ApiModelProperty(value = "企业标签名称") + private String companyTagName; + @ApiModelProperty(value = "统一社会信用代码") + private String creditCode; + @ApiModelProperty(value = "排污许可证编码") + private String pwxkz; + @ApiModelProperty(value = "企业类别id") + private Integer companyType; + @ApiModelProperty(value = "企业类别名称") + private String companyTypeName; + @ApiModelProperty(value = "行业类别id") + private Integer industry; + @ApiModelProperty(value = "行业类别id") + private Integer[] industryArray; + @ApiModelProperty(value = "行业类别名称") + private String industryName; + @ApiModelProperty(value = "登记地址") + private String registAddress; + @ApiModelProperty(value = "详细地址") + private String address; + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + @ApiModelProperty(value = "涉气污染物") + private String fkAirPollutant; + @ApiModelProperty(value = "涉气污染物ids") + private String fkAirPollutantids; + @ApiModelProperty(value = "状态id") + private String status; + @ApiModelProperty(value = "状态名称") + private String statusName; + @ApiModelProperty(value = "所属省份编号") + private String provinceCode; + @ApiModelProperty(value = "所属城市编号") + private String cityCode; + @ApiModelProperty(value = "所属区县编号") + private String districtCode; + @ApiModelProperty(value = "区域地址") + private String areaName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeRegionVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeRegionVo.java new file mode 100644 index 0000000..2047aa7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeRegionVo.java @@ -0,0 +1,96 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: PCodeRegionVo + * @Author: wyg + * @Description: PCodeRegionVo + * @Date: 2023/6/13 10:10 + * @Version: 1.0 + */ +@Data +public class PCodeRegionVo { + + + @ApiModelProperty(value = "行政区域id") + @TableId(value = "region_id", type = IdType.AUTO) + private Integer regionId; + + @ApiModelProperty(value = "区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "区域名称") + @TableField("region_name") + private String regionName; + + @ApiModelProperty(value = "行政级别 1-中国,2-省级,3-市级,4-县级级,5-乡镇") + @TableField("region_lever") + private String regionLever; + + @ApiModelProperty(value = "区域电话") + @TableField("region_tel") + private String regionTel; + + @ApiModelProperty(value = "父code") + @TableField("parent_code") + private String parentCode; + + @ApiModelProperty(value = "0--正常 1--删除") + @TableField("delete_flag") + private Boolean deleteFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("create_date") + private LocalDateTime createDate; + + @ApiModelProperty(value = "创建人id") + @TableField("create_id") + private Integer createId; + + @ApiModelProperty(value = "修改时间") + @TableField("update_date") + private LocalDateTime updateDate; + + @ApiModelProperty(value = "修改人id") + @TableField("update_id") + private Integer updateId; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private BigDecimal longitude; + + @ApiModelProperty(value = "纬度") + @TableField("latitude") + private BigDecimal latitude; + + @ApiModelProperty(value = "是否是168城市") + @TableField("is168") + private Boolean is168; + + @ApiModelProperty(value = "是否是74城市") + @TableField("is74") + private Boolean is74; + + @ApiModelProperty(value = "是否是2+26城市") + @TableField("is28") + private Boolean is28; + + @ApiModelProperty(value = "是否是337城市") + @TableField("is337") + private Boolean is337; + + @ApiModelProperty(value = "悬浮名称") + private String suspensionName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeStationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeStationVo.java new file mode 100644 index 0000000..b5d3077 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/PCodeStationVo.java @@ -0,0 +1,167 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: PCodeStationVo + * @Author: wyg + * @Description: + * @Date: 2023/6/13 10:09 + * @Version: 1.0 + */ +@Data +public class PCodeStationVo { + @ApiModelProperty(value = "主键") + @TableId(value = "station_id") + private String stationId; + + @TableField("province_code") + private String provinceCode; + + @ApiModelProperty(value = "省") + @TableField("province") + private String province; + + @TableField("city_code") + private String cityCode; + + @ApiModelProperty(value = "市") + @TableField("city") + private String city; + + @TableField("district_code") + private String districtCode; + + @ApiModelProperty(value = "区") + @TableField("district") + private String district; + + @ApiModelProperty(value = "站点名称") + @TableField("station_name") + private String stationName; + + @ApiModelProperty(value = "站点编号") + @TableField("station_code") + private String stationCode; + + @ApiModelProperty(value = "站点状态0 离线,1在线,2超标,3异常") + @TableField("status") + private Integer status; + + @ApiModelProperty(value = "所属行政区") + @TableField("region_code") + private Integer regionCode; + + @ApiModelProperty(value = "所属功能区 商业/工业/住宅/绿化/文化教育") + @TableField("function_id") + private Integer functionId; + + @ApiModelProperty(value = "1:国控站,2:省控站,3,市控站,4:微站 5:六参数微站,6:小型站,7:β射线扬尘站 8: TVOC微站,9:颗粒物微站,10:气象站 11:尾气遥测,12:超级站,13:黑烟车监测 14:园区站") + @TableField("station_level") + private Integer stationLevel; + + @ApiModelProperty(value = "站点类型 1大气环境 2污染源废气 3水监测 4污染源废水") + @TableField("station_type") + private Integer stationType; + + @ApiModelProperty(value = "站点父节点类型:0没有,1企业,2道路,3采石场") + @TableField("parent_type") + private Integer parentType; + + @ApiModelProperty(value = "父节点ID") + @TableField("fk_parent_id") + private String fkParentId; + + @ApiModelProperty(value = "经度") + @TableField("longitude") + private BigDecimal longitude; + + @ApiModelProperty(value = "维度") + @TableField("latitude") + private BigDecimal latitude; + + @ApiModelProperty(value = "百度地图经度") + @TableField("bmap_longitude") + private BigDecimal bmapLongitude; + + @ApiModelProperty(value = "百度地图纬度") + @TableField("bmap_latitude") + private BigDecimal bmapLatitude; + + @ApiModelProperty(value = "GCG102 经度") + @TableField("gcg_longitude") + private String gcgLongitude; + + @ApiModelProperty(value = "GCG102 纬度") + @TableField("gcg_latitude") + private String gcgLatitude; + + @ApiModelProperty(value = "站点地址") + @TableField("address") + private String address; + + @ApiModelProperty(value = "站点负责人") + @TableField("principal") + private String principal; + + @ApiModelProperty(value = "负责人电话") + @TableField("phone") + private String phone; + + @ApiModelProperty(value = "是否参与城市评价 0 不参与,1参与") + @TableField("is_assessment_city") + private Boolean isAssessmentCity; + + @ApiModelProperty(value = "是否开启自动审核,0 不开启, 1 开启, 建立自动审核数据表,有该站点数据表示开启。") + @TableField("is_auto_audit") + private Boolean isAutoAudit; + + @ApiModelProperty(value = "是否统计数据 0 不统计数据,1统计日数据,2 统计小时、日数据 默认不统计数据") + @TableField("is_auto_statistic") + private Boolean isAutoStatistic; + + @ApiModelProperty(value = "删除标识(0-使用;1-不使用)") + @TableField("is_used") + private Boolean isUsed; + + @ApiModelProperty(value = "('是否维护状态 1:是,0:否')") + @TableField("is_maintain") + private Boolean isMaintain; + + @ApiModelProperty(value = "气象数据源:0 站点自行发送,1取站点所属区域气象数据,2取站点所属父级行政区域") + @TableField("meteorological_data") + private Integer meteorologicalData; + + @ApiModelProperty(value = "是否自动预测预警 1:是,0:否") + @TableField("is_forecast") + private Boolean isForecast; + + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "是否从chinaAqi爬取数据,0-否,1-是") + @TableField("is_chinaaqi") + private Boolean isChinaaqi; + + @ApiModelProperty(value = "数据类型(1-城市空气;2-废气类;3-镇办空气;4-VOCs)") + @TableField("data_type") + private Boolean dataType; + + + @ApiModelProperty(value = "名称") + private String label; + + + @ApiModelProperty(value = "名称") + private String value; +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ProblemGroupTimeCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ProblemGroupTimeCountVO.java new file mode 100644 index 0000000..1e637fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/ProblemGroupTimeCountVO.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "问题分类分组数量统计") +public class ProblemGroupTimeCountVO { + @ApiModelProperty(value = "问题类别") + private String name; + @ApiModelProperty(value = "问题数量") + private Integer totalCount; + @ApiModelProperty(value = "问题时间") + private String dateTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaStationHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaStationHourVo.java new file mode 100644 index 0000000..ab5703e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaStationHourVo.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +public class QEnvgasAreaStationHourVo { + //空气因子值 + @ApiModelProperty(value = "aqi") + private Integer aqi; + @ApiModelProperty(value = "pmi") + private BigDecimal pmi; + @ApiModelProperty(value = "pm25 监测值") + private BigDecimal pm25; + @ApiModelProperty(value = "pm10 监测值") + private BigDecimal pm10; + @ApiModelProperty(value = "so2 监测值") + private BigDecimal so2; + @ApiModelProperty(value = "no2 监测值") + private BigDecimal no2; + @ApiModelProperty(value = "co 监测值") + private BigDecimal co; + @ApiModelProperty(value = "o3 监测值") + private BigDecimal o3; + @ApiModelProperty(value = "臭氧八小时 监测值") + private BigDecimal o38h; + @ApiModelProperty(value = "日最大o3值 监测值") + private BigDecimal dayMaxO3; + @ApiModelProperty(value = "o3 95百分位 监测值") + private BigDecimal co95Percent; + @ApiModelProperty(value = "o38h 90百分位 监测值") + private BigDecimal o38h90Percnet; + @ApiModelProperty(value = "tvoc 监测值") + private BigDecimal tvoc; + @ApiModelProperty(value = "tsp 监测值") + private BigDecimal tsp; + //气象因子值 + @ApiModelProperty(value = "风速") + private BigDecimal winds; + @ApiModelProperty(value = "气压") + private BigDecimal pres; + @ApiModelProperty(value = "湿度") + private BigDecimal humi; + @ApiModelProperty(value = "温度") + private BigDecimal temp; + @ApiModelProperty(value = "风速") + private BigDecimal windd; + @ApiModelProperty(value = "风力级别") + private String windLevel; + + @ApiModelProperty(value = "风力级别") + private String wind_level; + + + @ApiModelProperty(value = "风向 中文") + private String windDirection; + //分指数值 + @ApiModelProperty(value = "pm25 分指数") + private Integer iaqiPm25; + @ApiModelProperty(value = "pm10 分指数") + private Integer iaqiPm10; + @ApiModelProperty(value = "so2 分指数") + private Integer iaqiSo2; + @ApiModelProperty(value = "no2 分指数") + private Integer iaqiNo2; + @ApiModelProperty(value = "co 分指数") + private Integer iaqiCO; + @ApiModelProperty(value = "o3 分指数") + private Integer iaqiO3; + @ApiModelProperty(value = "o38h 分指数") + private Integer iaqiO38h; + //综合指数值 + @ApiModelProperty(value = "pm25 综合指数") + private BigDecimal ipmiPm25; + @ApiModelProperty(value = "pm10 综合指数") + private BigDecimal ipmiPm10; + @ApiModelProperty(value = "so2 综合指数") + private BigDecimal ipmiSo2; + @ApiModelProperty(value = "no2 综合指数") + private BigDecimal ipmiNo2; + @ApiModelProperty(value = "co 综合指数") + private BigDecimal ipmiCo; + @ApiModelProperty(value = "o3 综合指数") + private BigDecimal ipmiO3; + @ApiModelProperty(value = "o38h 综合指数") + private BigDecimal ipmiO38h; + //部分业务值 + @ApiModelProperty(value = "首要污染物id") + private String fkPollutantId; + @ApiModelProperty(value = "首要污染物名称") + private String fkPollutantName; + @ApiModelProperty(value = "空气质量类别 id") + private Integer fkAqiLevelId; + @ApiModelProperty(value = "空气质量类别 名称") + private String fkAqiLevelName; + @ApiModelProperty(value = "空气质量类别 颜色") + private String fkAqiLevelColor; + @ApiModelProperty(value = "空气质量最大指数") + private Integer maxIpmi; + + @ApiModelProperty(value = "监测时间") + private String monitorTime; + + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "站点名称") + private String stationName; + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + @ApiModelProperty(value = "站点控制级别id") + private Integer stationLevel; + + @ApiModelProperty(value = "区县编号") + private String regionCode; + @ApiModelProperty(value = "区县名称") + private String regionName; + @ApiModelProperty(value = "省份编号") + private String provinceCode; + @ApiModelProperty(value = "省份名称") + private String provinceName; + @ApiModelProperty(value = "区域级别") + private String regionlevel; + + @ApiModelProperty(value = "区域级别") + private String stationRegionName; + + @ApiModelProperty(value = "站点区域id") + private String stationCodeId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaTargetVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaTargetVo.java new file mode 100644 index 0000000..f7e60ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasAreaTargetVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="QEnvgasAreaTarget对象", description="") +public class QEnvgasAreaTargetVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String pkId; + + @ApiModelProperty(value = "1:日 2:月 3:年 4:秋防 5:冬防 6:秋冬防总计") + @TableField("time_type") + private Integer timeType; + + @ApiModelProperty(value = "时间 年:yyyy 月yyyy-MM 日 yyyy-MM-dd") + @TableField("time") + private String time; + + @ApiModelProperty(value = "目标值") + @TableField("target_value") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal targetValue; + + @ApiModelProperty(value = "累计值") + @TableField("actual_value") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal actualValue; + + @ApiModelProperty(value = "因子id(关联表p_code_index_pollutant)") + @TableField("fk_factor_id") + private Integer fkFactorId; + + @ApiModelProperty(value = "区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "0:未删除 1:已删除") + @TableField("delete_flag") + private Integer deleteFlag; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "区域名称") + @TableField("region_name") + private String regionName; + + + @ApiModelProperty(value = "污染源名称") + private String pollutantName; + + @ApiModelProperty(value = "污染源字段") + private String field; + + + @ApiModelProperty(value = "最大限值") + private BigDecimal threshold; + + @ApiModelProperty(value = "同期") + private BigDecimal contemporary; + + @ApiModelProperty(value = "同比变化率") + private String basisChange; + + @ApiModelProperty(value = "达标推算") + private String calculation; + + + + @ApiModelProperty(value = "同比改善率") + private String improvement; + + @ApiModelProperty(value = "同比改善率 升降 1上升 2下降") + private String lifting; + + @ApiModelProperty(value = "达标差距") + private BigDecimal standard; + + @ApiModelProperty(value = "累计超标天数x天") + private BigDecimal exceedanceDays; + + @ApiModelProperty(value = "剩余控制天数x天") + private BigDecimal controlDay; + + @ApiModelProperty(value = "数据时间") + @TableField("data_time") + private Date dataTime; + + @ApiModelProperty(value = "AQI") + @TableField("aqi") + private BigDecimal aqi; + + + @ApiModelProperty(value = "二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = "PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = "一氧化碳") + @TableField("co") + private BigDecimal co; + + + @ApiModelProperty(value = "臭氧") + @TableField("o3") + private BigDecimal o3; + + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasStationHour.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasStationHour.java new file mode 100644 index 0000000..5e75260 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasStationHour.java @@ -0,0 +1,235 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 站点小时数据表 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class QEnvgasStationHour implements Serializable { + + @Id + private String id; + + @ApiModelProperty(value = "数据时间") + private String data_time; + + @ApiModelProperty(value = "站点编号") + private String station_code; + + @ApiModelProperty(value = "AQI") + private Integer aqi; + + @ApiModelProperty(value = "综合指数") + private BigDecimal pmi; + + @ApiModelProperty(value = "区间最大综合指数") + private BigDecimal max_ipmi; + + @ApiModelProperty(value = "首要污染物") + private String fk_pollutant_id; + + @ApiModelProperty(value = "空气质量级别") + private Integer fk_aqilevel_id; + + @ApiModelProperty(value = "臭氧综合指数") + private BigDecimal ipmi_o3; + + @ApiModelProperty(value = "总悬浮颗粒物") + private BigDecimal tsp; + + @ApiModelProperty(value = "氮氧化物") + private BigDecimal nox; + + @ApiModelProperty(value = "TVOC") + private BigDecimal tvoc; + + @ApiModelProperty(value = "二氧化硫") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化氮") + private BigDecimal no2; + + @ApiModelProperty(value = "PM10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM2.5") + private BigDecimal pm25; + + @ApiModelProperty(value = "一氧化碳") + private BigDecimal co; + + @ApiModelProperty(value = "臭氧") + private BigDecimal o3; + + @ApiModelProperty(value = "温度") + private BigDecimal temp; + + @ApiModelProperty(value = "湿度") + private BigDecimal humi; + + @ApiModelProperty(value = "风速") + private BigDecimal winds; + + @ApiModelProperty(value = "风向") + private BigDecimal windd; + + @ApiModelProperty(value = "气压") + private BigDecimal pres; + + @ApiModelProperty(value = "一氧化氮") + private BigDecimal no; + + @ApiModelProperty(value = "能见度") + private BigDecimal vis; + + @ApiModelProperty(value = "降水强度") + private BigDecimal pi; + + @ApiModelProperty(value = "风力级别") + private String wind_level; + + @ApiModelProperty(value = "风向") + private String wind_direction; + + @ApiModelProperty(value = "二氧化硫分指数") + private Integer iaqi_so2; + + @ApiModelProperty(value = "二氧化硫综合指数") + private BigDecimal ipmi_so2; + + @ApiModelProperty(value = "二氧化氮分指数") + private Integer iaqi_no2; + + @ApiModelProperty(value = "二氧化氮综合指数") + private BigDecimal ipmi_no2; + + @ApiModelProperty(value = "PM10分指数") + private Integer iaqi_pm10; + + @ApiModelProperty(value = "PM10综合指数") + private BigDecimal ipmi_pm10; + + @ApiModelProperty(value = "一氧化碳分指数") + private Integer iaqi_co; + + @ApiModelProperty(value = "一氧化碳综合指数") + private BigDecimal ipmi_co; + + @ApiModelProperty(value = "臭氧分指数") + private Integer iaqi_o3; + + @ApiModelProperty(value = "PM2.5分指数") + private Integer iaqi_pm25; + + @ApiModelProperty(value = "PM2.5综合指数") + private BigDecimal ipmi_pm25; + + @ApiModelProperty(value = "二氧化硫是否超标") + private Integer so2_is_over; + + @ApiModelProperty(value = "二氧化硫区间最大值") + private BigDecimal so2_max_value; + + @ApiModelProperty(value = "二氧化硫区间最小值") + private BigDecimal so2_min_value; + + @ApiModelProperty(value = "二氧化氮是否超标") + private Integer no2_is_over; + + @ApiModelProperty(value = "二氧化氮区间最大值") + private BigDecimal no2_max_value; + + @ApiModelProperty(value = "二氧化氮区间最小值") + private BigDecimal no2_min_value; + + @ApiModelProperty(value = "PM10是否超标") + private Integer pm10_is_over; + + @ApiModelProperty(value = "PM10区间最大值") + private BigDecimal pm10_max_value; + + @ApiModelProperty(value = "PM10区间最小值") + private BigDecimal pm10_min_value; + + @ApiModelProperty(value = "PM2.5是否超标") + private Integer pm25_is_over; + + @ApiModelProperty(value = "PM2.5区间最大值") + private BigDecimal pm25_max_value; + + @ApiModelProperty(value = "PM2.5区间最小值") + private BigDecimal pm25_min_value; + + @ApiModelProperty(value = "一氧化碳是否超标") + private Integer co_is_over; + + @ApiModelProperty(value = "一氧化碳区间最大值") + private BigDecimal co_max_value; + + @ApiModelProperty(value = "一氧化碳区间最小值") + private BigDecimal co_min_value; + + @ApiModelProperty(value = "臭氧是否超标") + private Integer o3_is_over; + + @ApiModelProperty(value = "臭氧区间最大值") + private BigDecimal o3_max_value; + + @ApiModelProperty(value = "臭氧区间最小值") + private BigDecimal o3_min_value; + + @ApiModelProperty(value = "温度是否超标") + private Integer temp_is_over; + + @ApiModelProperty(value = "温度区间最大值") + private BigDecimal temp_max_value; + + @ApiModelProperty(value = "温度区间最小值") + private BigDecimal temp_min_value; + + @ApiModelProperty(value = "湿度是否超标") + private Integer humi_is_over; + + @ApiModelProperty(value = "湿度区间最大值") + private BigDecimal humi_max_value; + + @ApiModelProperty(value = "湿度区间最小值") + private BigDecimal humi_min_value; + + @ApiModelProperty(value = "风速是否超标") + private Integer winds_is_over; + + @ApiModelProperty(value = "风速区间最大值") + private BigDecimal winds_max_value; + + @ApiModelProperty(value = "风速区间最小值") + private BigDecimal winds_min_value; + + @ApiModelProperty(value = "气压是否超标") + private Integer pres_is_over; + + @ApiModelProperty(value = "气压区间最大值") + private BigDecimal pres_max_value; + + @ApiModelProperty(value = "气压区间最小值") + private BigDecimal pres_min_value; + + @ApiModelProperty(value = "创建时间") + private String create_time; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasWqDayVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasWqDayVo.java new file mode 100644 index 0000000..ad720e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/QEnvgasWqDayVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.domain.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class QEnvgasWqDayVo { + + /** + * 查询类型 0区县 1站点 + */ + private String queryType; + + /** + * 站点区域编码 + */ + private String areaOrStationId; + + /** + * 对比时间 0近3年 1近5年 2自定义 + */ + private String contrastType; + + /** + * 对比时间自定义值 (当contrastType为3时,此字段不为空,格式为 "2020,2022") + */ + private String contrastTime; + + /** + * 数据类型 (0小时,1日,2周,3月,4季度,5半年,6年,7自定义) + */ + private String dataType; + + /** + * 数据时间 + */ + private String dataTime; + + /** + * 后端根据dataTime 用,进行切割 + */ + private String startTime; + private String endTime; + + /** + * 对比时间集合(前端不用传) + */ + private List contrastTimeList; + + /** + * 污染因子同比分析 + */ + private String pollutantCode; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutantVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutantVo.java new file mode 100644 index 0000000..f76298b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutantVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: SEnvgasPollutantVo + * @Author: wyg + * @Description: SEnvgasPollutantVo + * @Date: 2023/6/13 11:38 + * @Version: 1.0 + */ +@Data +public class SEnvgasPollutantVo { + + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "pk_id", type = IdType.AUTO) + private Integer pkId; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "污染因子类型(1.水、2.首页达标展示类型)") + @TableField("fk_pollutant_type_id") + private Integer fkPollutantTypeId; + + @ApiModelProperty(value = "污染因子编号") + @TableField("pollutant_code") + private String pollutantCode; + + @ApiModelProperty(value = "污染因子名称") + @TableField("pollutant_name") + private String pollutantName; + + @ApiModelProperty(value = "单位(显示)") + @TableField("unit") + private String unit; + + @ApiModelProperty(value = "排序") + @TableField("serial") + private Integer serial; + + @ApiModelProperty(value = "保留小数") + @TableField("decimal_point") + private Integer decimalPoint; + + @ApiModelProperty(value = "是否启用 0 在用,1 停用") + @TableField("is_used") + private Boolean isUsed; + + @ApiModelProperty(value = "是否可以计算总量0否1是") + @TableField("is_pollutant") + private Integer isPollutant; + + @ApiModelProperty(value = "映射字段 小时,月,日字段") + @TableField("field") + private String field; + + @ApiModelProperty(value = "是否涉气 0 否 1是") + @TableField("involved") + private String involved; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutionControlVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutionControlVo.java new file mode 100644 index 0000000..ece81fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SEnvgasPollutionControlVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: SEnvgasPollutionControlVo + * @Author: wyg + * @Description: SEnvgasPollutionControlVo + * @Date: 2023/6/13 11:18 + * @Version: 1.0 + */ +@Data +public class SEnvgasPollutionControlVo { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "控制级别id") + @TableField("control_level_id") + private Integer controlLevelId; + + @ApiModelProperty(value = "污染因子id") + @TableField("pollution_id") + private Integer pollutionId; + + @ApiModelProperty(value = "1:因子类型 2:气象类型") + @TableField("type") + private String type; + + private String pollutantCode; + + private String pollutantName; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationParamVo.java new file mode 100644 index 0000000..9200525 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationParamVo.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel(value = "站点信息管理查询Vo") +public class SiteOperationParamVo { + @ApiModelProperty(value = "省code") + private String provinceCode; + @ApiModelProperty(value = "市code") + private String cityCode; + @ApiModelProperty(value = "站点级别") + private Integer stationLevel; + @ApiModelProperty(value = "区县code") + private String countyCode; + @ApiModelProperty(value = "乡镇code") + private String townShipCode; + @ApiModelProperty(value = "站点名称") + private String stationName; + @ApiModelProperty(value = "站点编码") + private String stationCode; + @ApiModelProperty(value = "站点id集合") + private List stationIdList; + @ApiModelProperty(value = "区县code") + private String districtCode; + + Integer pageNum; + Integer pageSize; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationVo.java new file mode 100644 index 0000000..ce48fa6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteOperationVo.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + + +@ApiModel(value = "站点信息管理VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SiteOperationVo { + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "序号") + private Integer indexNo; + @ApiModelProperty(value = "省份") + private String province; + private String provinceCode; + @ApiModelProperty(value = "城市") + private String city; + private String cityCode; + @ApiModelProperty(value = "区县") + private String county; + private String countyCode; + @ApiModelProperty(value = "乡镇") + private String townShip; + private String townShipCode; + @ApiModelProperty(value = "站点类型") + private Integer stationLevel; + @ApiModelProperty(value = "站点类型名称") + private String stationLevelName; + @ApiModelProperty(value = "站点名称") + private String stationName; + @ApiModelProperty(value = "站点编码") + private String stationCode; + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + @ApiModelProperty(value = "详细地址") + private String address; + @ApiModelProperty(value = "创建人") + private String createUser; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "状态") + private Integer status; + @ApiModelProperty(value = "站点负责人") + private String principal; + @ApiModelProperty(value = "负责人电话") + private String phone; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "城市考核点 0:否 1:是") + private Integer cityAssesmentPoint; + @ApiModelProperty(value = "区县考核点 0:否 1:是") + private Integer districtAssesmentPoint; + @ApiModelProperty(value = "乡镇考核点 0:否 1:是") + private Integer streetAssesmentPoint; + + private String cityAssStr; + private String districtAssStr; + private String streetAssStr; + private String statusStr; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteQueryParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteQueryParamVo.java new file mode 100644 index 0000000..e0a50dc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/SiteQueryParamVo.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.domain.vo; + +import lombok.Data; + +import java.util.List; + + +@Data +public class SiteQueryParamVo { + //站点名称 + private String stationName; + //站点类型 1:大气 + private Integer stationType; + //所属区域code 包含 districtCode/regionCode/provinceCode + private String areaCode; + //是否使用 0:使用 1:不使用 + private Integer isUsed; + //站点id + private String stationId; + //站点id集合 + private List stationIdList; + //站点控制级别:1:国控 2:省控 3:市控 4:微站 7:扬尘 + private String stationLevel; + //站点控制级别集合 + private List stationLevelList; + //排序 + private String citySort; + //区县code集合 + private List districtCodeList; + /** + * 默认查询 使用中 类型为大气的站点 + */ + public SiteQueryParamVo() { + this.isUsed = 0; + this.stationType = 1; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/StationUnrepeatedVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/StationUnrepeatedVo.java new file mode 100644 index 0000000..e1b257b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/StationUnrepeatedVo.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@ApiModel(value = "站点校验重复 参数vo") +@Data +public class StationUnrepeatedVo { + @ApiModelProperty(value = "省code") + private String provinceCode; + @ApiModelProperty(value = "市code") + private String cityCode; + @ApiModelProperty(value = "区县code") + private String districtCode; + @ApiModelProperty(value = "街镇code") + private String townShipCode; + @ApiModelProperty(value = "站点名称") + private String stationName; + @ApiModelProperty(value = "站点编号/mn号") + private String stationCode; + @ApiModelProperty(value = "站点id") + private String stationId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/UserVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/UserVo.java new file mode 100644 index 0000000..75b6031 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/UserVo.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.domain.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.domain.vo + * @ClassName: UserVo + * @Author: wyg + * @Description: UserVo + * @Date: 2023/6/13 10:19 + * @Version: 1.0 + */ +@Data +public class UserVo { + + @ApiModelProperty(value = "用户ID") + @TableId(value = "user_id", type = IdType.AUTO) + private Long userId; + + @ApiModelProperty(value = "部门ID") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "用户账号") + @TableField("user_name") + private String userName; + + @ApiModelProperty(value = "用户昵称") + @TableField("nick_name") + private String nickName; + + @ApiModelProperty(value = "用户类型(00系统用户)") + @TableField("user_type") + private String userType; + + @ApiModelProperty(value = "用户邮箱") + @TableField("email") + private String email; + + @ApiModelProperty(value = "手机号码") + @TableField("phonenumber") + private String phonenumber; + + @ApiModelProperty(value = "用户性别(0男 1女 2未知)") + @TableField("sex") + private String sex; + + @ApiModelProperty(value = "头像地址") + @TableField("avatar") + private String avatar; + + @ApiModelProperty(value = "密码") + @TableField("password") + private String password; + + @ApiModelProperty(value = "帐号状态(0正常 1停用)") + @TableField("status") + private String status; + + @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)") + @TableField("del_flag") + private String delFlag; + + @ApiModelProperty(value = "最后登录IP") + @TableField("login_ip") + private String loginIp; + + @ApiModelProperty(value = "最后登录时间") + @TableField("login_date") + private Date loginDate; + + @ApiModelProperty(value = "创建者") + @TableField("create_by") + private String createBy; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新者") + @TableField("update_by") + private String updateBy; + + @ApiModelProperty(value = "更新时间") + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "备注") + @TableField("remark") + private String remark; + + @ApiModelProperty(value = "区域编码code") + @TableField("region_code") + private String regionCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/WindDirectionVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/WindDirectionVo.java new file mode 100644 index 0000000..fc49c7b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/domain/vo/WindDirectionVo.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.domain.vo; + +import lombok.Data; + +/** + * 风向次数统计VO + */ +@Data +public class WindDirectionVo { + private Integer N; + private Integer NNE; + private Integer NE; + private Integer ENE; + private Integer E; + private Integer ESE; + private Integer SE; + private Integer SSE; + private Integer S; + private Integer SSW; + private Integer SW; + private Integer WSW; + private Integer W; + private Integer WNW; + private Integer NW; + private Integer NNW; + private String month; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditResultEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditResultEnum.java new file mode 100644 index 0000000..7603cff --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditResultEnum.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AmProblemAuditResultEnum { + PASS("1","通过"), + UN_PASS("2","不通过"), + ; + + private String value; + private String desc; + + public static AmProblemAuditResultEnum valueOfByValue(String value){ + for (AmProblemAuditResultEnum anEnum : values()) { + if (anEnum.getValue().equals(value)) { + return anEnum; + } + } + throw new IllegalArgumentException("no enum found:"+value); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditTypeEnum.java new file mode 100644 index 0000000..bff816f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemAuditTypeEnum.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AmProblemAuditTypeEnum { + ZS("1","值守"), + ZF("2","执法"), + FJ("3","分局"), + SJ("4","市局"), + ; + + private String value; + private String desc; + + public static AmProblemAuditTypeEnum valueOfByValue(String value){ + for (AmProblemAuditTypeEnum anEnum : values()) { + if (anEnum.getValue().equals(value)) { + return anEnum; + } + } + throw new IllegalArgumentException("no enum found:"+value); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemProcessTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemProcessTypeEnum.java new file mode 100644 index 0000000..2981495 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemProcessTypeEnum.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AmProblemProcessTypeEnum { + V1("1","整改期限填写"), + V2("2","整改信息填写"), + V3("3","整改审核信息"), + ; + + private String value; + private String desc; + + public static AmProblemProcessTypeEnum valueOfByValue(String value){ + for (AmProblemProcessTypeEnum anEnum : values()) { + if (anEnum.getValue().equals(value)) { + return anEnum; + } + } + throw new IllegalArgumentException("no enum found:"+value); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemStatusEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemStatusEnum.java new file mode 100644 index 0000000..7486fed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/AmProblemStatusEnum.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AmProblemStatusEnum { + //问题状态:100:初始化/待签收,200:待整改,300:待审核,400:审核不通过,500:已办结/已签收 + INIT("100","初始化/待签收"), + WAIT_RECTIFY("200","待整改"), + WAIT_AUDIT("300","待审核"), + UN_PASS("400","审核不通过"), + PASS("500","已办结/已签收"), + ; + + private String value; + private String desc; + + public static AmProblemStatusEnum valueOfByValue(String value){ + for (AmProblemStatusEnum anEnum : values()) { + if (anEnum.getValue().equals(value)) { + return anEnum; + } + } + throw new IllegalArgumentException("no enum found:"+value); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceSiteTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceSiteTypeEnum.java new file mode 100644 index 0000000..e7dd356 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceSiteTypeEnum.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.enums; + +import java.util.HashMap; +import java.util.Map; + +/** + * Bas_device表 type枚举 + */ + + +public enum BasDeviceSiteTypeEnum { + PROD("生产", "1", "生产"), + GOVERNANCE("治理", "2", "治理"), + + ; + + private String code; + private String industry; + private String name; + private static final Map codeValueMap = new HashMap<>(); + + static { + for (BasDeviceSiteTypeEnum item : BasDeviceSiteTypeEnum.values()) { + codeValueMap.put(item.getCode(), item.getName()); + } + } + + BasDeviceSiteTypeEnum(String industry, String code, String name) { + this.industry = industry; + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIndustry() { + return industry; + } + + public void setIndustry(String industry) { + this.industry = industry; + } + + public String getNameByCode(String code) { + return codeValueMap.get(code); + } +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceTypeEnum.java new file mode 100644 index 0000000..5ccaf5d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BasDeviceTypeEnum.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.enums; + +/** + * Bas_device表 type枚举 + */ + + +public enum BasDeviceTypeEnum { + BL_SCX("玻璃", "SCX", "玻璃"), + DL_GUL("电力", "GUL", "锅炉"), + DL_FDJZ("电力", "FDJZ", "发电机组"), + EL_ELEC("分表计电", "ELEC", "分表计电"), + FS_WLJSZC("焚烧", "FS", "焚烧"), + FS_GFCL("焚烧", "GFCL", "固废处理单元"), + FS_FSL("焚烧", "FSL", "固废处理单元"), + FS_FSCL("焚烧", "FSCL", "废水处理站"), + FS_LGC("焚烧", "LGC", "垃圾池"), + GT_JL("钢铁", "SJJ", "焦炉"), + GT_SJJ("钢铁", "SJJ", "烧结机"), + GT_SL("钢铁", "SL", "竖炉"), + GT_GL("钢铁", "GL", "高炉"), + GT_ZL("钢铁", "ZL", "转炉"), + GT_LY("钢铁", "LY", "炉窑"), + GT_FDJZ("钢铁", "FDJZ", "发电"), + GT_GLMQ("钢铁", "GLMQ", "高炉煤气放散"), + GT_ZLMQ("钢铁", "ZLMQ", "转炉煤气放散"), + GT_PLPD("钢铁", "PLPD", "配料皮带"), + JH_BJCC("焦化", "BJCC", "苯和焦油储槽"), + JH_CB("焦化", "CB", "粗苯"), + JH_SJJ("焦化", "SJJ", "焦化"), + JH_JLFST("焦化", "SJJ", "焦炉煤气放散塔"), + JH_VOC("焦化", "VOC", "VOC治理"), + JH_ZBDC("焦化", "ZBDC", "自备电厂"), + JH_MQGW("焦化", "MQGW", "煤气管网"), + JH_JLMQ("焦化", "JLMQ", "焦炉煤气"), + JH_FDJZ("焦化", "JLMQ", "发电"), + JH_GXJ("焦化", "GXJ", "干熄焦"), + JH_JL("焦化", "GXJ", "焦炉"), + SN_SNY("水泥", "SNY", "熟料烧成"), + PW_PWXK("", "XK", "排污许可设施"), + + ; + + private String code; + private String industry; + private String name; + + BasDeviceTypeEnum(String industry, String code, String name) { + this.industry = industry; + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIndustry() { + return industry; + } + + public void setIndustry(String industry) { + this.industry = industry; + } +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BlDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BlDeviceTypeEnum.java new file mode 100644 index 0000000..93337dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/BlDeviceTypeEnum.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.enums; + +public enum BlDeviceTypeEnum { + + SCX("SCX","生产线"); + + private String code; + private String name; + + BlDeviceTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DataTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DataTypeEnum.java new file mode 100644 index 0000000..2a7c115 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DataTypeEnum.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.enums; + +public enum DataTypeEnum { + MISS("1","数据缺失异常"), + LOGIC("2","数据逻辑异常"), + CONTANT("3","数据恒值异常"); + + private String code; + private String value; + + + DataTypeEnum(String code,String value){ + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceParamTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceParamTypeEnum.java new file mode 100644 index 0000000..5235a82 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceParamTypeEnum.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.enums; + +/** + * @Auther: cjh + * @Date: 2023-04-03 16:54 + * @Class: TimeTypeEnum + * @Deseription: + * @Version V1.0 + */ +public enum DeviceParamTypeEnum { + + TH_TYPE("c100","炭化室有效容积"), + JL_TYPE("c101","焦炉类型"), + CS_TYPE("c102","额定车速"), + FS_TYPE("c103","焚烧炉类型"), + GC_TYPE("c104","公称容量"), + CN_TYPE("c105","设计产能"); + + private String code; + private String name; + + DeviceParamTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceStatusEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceStatusEnum.java new file mode 100644 index 0000000..2ab5a11 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DeviceStatusEnum.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.enums; + +/** + * 设备状态枚举 + */ +public enum DeviceStatusEnum { + + RUN("1","生产"), + STOP("2","停产"), + RUN_STOP("3","启停"), + STOP_RUN("4","停启"), + MISS("5","数据缺失"), + OFF("6","离线"); + + private String code; + private String value; + + + DeviceStatusEnum(String code,String value){ + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DlDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DlDeviceTypeEnum.java new file mode 100644 index 0000000..dd1405f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/DlDeviceTypeEnum.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.enums; + +public enum DlDeviceTypeEnum { + + GUOLU("GUL","锅炉"), + FDJZ("FDJZ","发电机组"); + + private String code; + private String name; + + DlDeviceTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EmlTypeEnums.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EmlTypeEnums.java new file mode 100644 index 0000000..f280100 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EmlTypeEnums.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author hehongyu + * @description: 执行报告类型 + * @date 2023/8/6 19:42 + */ +@Getter +@AllArgsConstructor +public enum EmlTypeEnums { + YEAR("1","年报","Y"), + QUARTER("2","季报","S"), + MONTH("3","月报","M"), + DAY("4","日报","D"), + + ; + + + private final String code; + private final String name; + private final String simple; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnIndustry.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnIndustry.java new file mode 100644 index 0000000..3b04e84 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnIndustry.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.enums; + +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.ArrayList; +import java.util.List; + +public enum EnIndustry { + GT("GT", "钢铁"), + JH("JH", "焦化"), + SN("SN", "水泥"), + DL("DL", "电力"), + BL("BL", "玻璃"), + FS("FS", "垃圾焚烧"), + EL("EL", "分表计电"); + + private String enumId; + private String enumTxt; + + EnIndustry(String id, String txt) { + this.enumId = id; + this.enumTxt = txt; + } + + public String id() { + return this.enumId; + } + + public String txt() { + return this.enumTxt; + } + + @JsonCreator + public static EnIndustry getEnumById(String id) { + EnIndustry[] var1 = values(); + int var2 = var1.length; + + for(int var3 = 0; var3 < var2; ++var3) { + EnIndustry en = var1[var3]; + if (en.id().equalsIgnoreCase(id)) { + return en; + } + } + + return null; + } + + public static EnIndustry getEnumByName(String name) { + EnIndustry[] var1 = values(); + int var2 = var1.length; + + for(int var3 = 0; var3 < var2; ++var3) { + EnIndustry en = var1[var3]; + if (en.name().equalsIgnoreCase(name)) { + return en; + } + } + + return null; + } + + public static List getIds(){ + List ids = new ArrayList<>(); + for (EnIndustry ems:EnIndustry.values()) { + ids.add(ems.id()); + } + return ids; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnStatTimeType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnStatTimeType.java new file mode 100644 index 0000000..e9ca2c3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnStatTimeType.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.enums; + +import com.fasterxml.jackson.annotation.JsonCreator; + +import java.time.LocalDateTime; +import java.util.Calendar; + +public enum EnStatTimeType { + REAL("R", "实时", "R", "yyyy-MM-dd HH:mm:ss"), + MINUTE("M", "分钟", "R", "yyyy-MM-dd HH:mm"), + HOUR("H", "小时", "R", "yyyy-MM-dd HH:00"), + DAY("D", "日", "H", "yyyy-MM-dd"), + WEEK("W", "周", "D", "yyyy'W'ww"), + MONTH("N", "月", "D", "yyyy-MM"), + QUARTER("Q", "季", "D", "yyyy'Q'q"), + YEAR("Y", "年", "D", "yyyy"); + + private String enumId; + private String enumTxt; + private String sonTimeType; + private String timeFormat; + + EnStatTimeType(String id, String txt, String sonTime, String format) { + this.enumId = id; + this.enumTxt = txt; + this.sonTimeType = sonTime; + this.timeFormat = format; + } + + public String id() { + return this.enumId; + } + + + public LocalDateTime plus(LocalDateTime time, long num) { + if (this == REAL) { + return time.plusMinutes(num); + } else if (this == MINUTE) { + return time.plusMinutes(num); + } else if (this == HOUR) { + return time.plusHours(num); + } else if (this == DAY) { + return time.plusDays(num); + } else if (this == WEEK) { + return time.plusWeeks(num); + } else if (this == MONTH) { + return time.plusMonths(num); + } else if (this == QUARTER) { + return time.plusMonths(num * 3L); + } else { + return this == YEAR ? time.plusYears(num) : null; + } + } + + public Calendar plus(Calendar time, int num) { + if (this == REAL) { + time.add(12, num); + } else if (this == MINUTE) { + time.add(12, num); + } else if (this == HOUR) { + time.add(11, num); + } else if (this == DAY) { + time.add(5, num); + } else if (this == WEEK) { + time.add(3, num); + } else if (this == MONTH) { + time.add(2, num); + } else if (this == QUARTER) { + time.add(2, num * 3); + } else { + if (this != YEAR) { + return null; + } + + time.add(1, num); + } + + return time; + } + + @JsonCreator + public static EnStatTimeType getEnumById(String id) { + EnStatTimeType[] var1 = values(); + int var2 = var1.length; + + for(int var3 = 0; var3 < var2; ++var3) { + EnStatTimeType en = var1[var3]; + if (en.id().equalsIgnoreCase(id)) { + return en; + } + } + + return null; + } + + public static EnStatTimeType getEnumByName(String name) { + EnStatTimeType[] var1 = values(); + int var2 = var1.length; + + for(int var3 = 0; var3 < var2; ++var3) { + EnStatTimeType en = var1[var3]; + if (en.name().equalsIgnoreCase(name)) { + return en; + } + } + + return null; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnvironmentalCodingGradeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnvironmentalCodingGradeEnum.java new file mode 100644 index 0000000..b2efb60 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/EnvironmentalCodingGradeEnum.java @@ -0,0 +1,217 @@ +package cn.cecep.talroad.enums; + +import org.apache.commons.lang3.StringUtils; + +import java.util.*; + +/** + * @author pick-x + */ + +public enum EnvironmentalCodingGradeEnum { + + // 来源三监联动系统 + SJLDXT_01("SJLD","SJLDXT_01",false,50,"无证排污") + ,SJLDXT_02("SJLD","SJLDXT_02",false,20,"执行报告未按照排污许可证规定的内容、频次、时间要求提交") + ,SJLDXT_03("SJLD","SJLDXT_03",false,20,"许可证到期未延续") + ,SJLDXT_04("SJLD","SJLDXT_04",false,20,"未按照许可证规定如实公开污染物排放信息") + ,SJLDXT_05("SJLD","SJLDXT_05",false,20,"排污限期整改通知书到期整改未完成") + ,SJLDXT_06("SJLD","SJLDXT_06",false,20,"执行报告中出现超总量排污行为") + ,SJLDXT_07("SJLD","SJLDXT_07",false,20,"环评手续不齐全") + ,SJLDXT_08("SJLD","SJLDXT_08",false,20,"企业基本信息与排污许可证不一致") + ,SJLDXT_09("SJLD","SJLDXT_09",false,20,"排污许可证填报产能超过环评批复文件") + ,SJLDXT_10("SJLD","SJLDXT_10",false,20,"实际现场主要生产设施、废气或废水污染物治理设施与排污许可证不一致") + ,SJLDXT_11("SJLD","SJLDXT_11",false,20,"企业现场排污口不规范") + ,SJLDXT_12("SJLD","SJLDXT_12",false,20,"企业环境管理台账不规范") + ,SJLDXT_13("SJLD","SJLDXT_13",false,20,"污染物排放标准、重点污染物总量控制要求发生变化,未及时变更排污许可证") + ,SJLDXT_14("SJLD","SJLDXT_14",false,20,"自行监测频次不满足许可证要求") + ,SJLDXT_15("SJLD","SJLDXT_15",false,20,"未按照许可证规定制定自行监测方案并开展自行监测") + ,SJLDXT_16("SJLD","SJLDXT_16",false,20,"监督性监测数据超标") + ,SJLDXT_17("SJLD","SJLDXT_17",false,10,"执法部门根据年度执法计划发现排污单位自行监测数据存疑并需要对排污单位进行监测") + + // 来源在线监测系统 BJB 代表报警表 + ,ZXJCXT_01("ZXJCXT","ZXJCXT_01",true,10,"污染源数据超标") + + // 来源分表计电系统 + ,FBJDXT_01("FBJDXT","FBJDXT_01",true,10, "分表计电发生报警问题") + + // 来源执法系统 + ,ZFXT_01("G","ZFXT_01",true,10, "双随机检查发现问题") + ,ZFXT_02("G","ZFXT_02",true,10, "企业核查发现问题") + + // 来源关联分析系统 + ,GLFXXT_01("GLFXXT","GLFXXT_01",true,20, "排污单位自行监测数据超标") + ,GLFXXT_02("GLFXXT","GLFXXT_02",true,1, "数据质量异常预警") + ,GLFXXT_03("GLFXXT","GLFXXT_03",true,5, "每日数据传输率低于75%") + ,GLFXXT_04("GLFXXT","GLFXXT_04",true,10, "设备启停未报备") + + ; + /** + * 编码 + */ + private String code; + private String type; + + private String name; + private Integer grade; + + /** + * 是否多次扣分 + */ + private Boolean isGrade; + + /** + * 查询报警表的内容 + */ + private static Map> initQueryCondition = new HashMap<>(); + + EnvironmentalCodingGradeEnum() { + initQueryCondition(); + } + public void initQueryCondition() { + initQueryCondition.put(GLFXXT_02.code,Arrays.asList(new String[]{"006001", "006002", "006003", "006004"})); + initQueryCondition.put(GLFXXT_02.code,Arrays.asList(new String[]{"002002"})); + } + + public static List getInitQueryCondition(String key) { + return initQueryCondition.get(key); + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 3:20 PM + * @Deseription: 获取三监联动问题,不能多次扣分的 + * @Params: null + * @Return: + * @Throws: + */ + public static List getNameListByType (String type,Boolean isGrade) { + List names = new ArrayList<>(); + for (EnvironmentalCodingGradeEnum e : EnvironmentalCodingGradeEnum.values()) { + if (type.equals(e.getType()) && (isGrade == null ? 1==1 : isGrade.equals(e.getIsGrade()))) { + names.add(e.getName()); + } + } + return names; + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 3:20 PM + * @Deseription: 通过code获取list + * @Params: null + * @Return: + * @Throws: + */ + public static List getListByCode (String code,Boolean isGrade) { + List names = new ArrayList<>(); + for (EnvironmentalCodingGradeEnum e : EnvironmentalCodingGradeEnum.values()) { + if (e.getCode().equals(code) && (isGrade == null ? 1==1 : isGrade.equals(e.getIsGrade()))) { + names.add(e); + } + } + return names; + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 7:06 PM + * @Deseription: 通过名称查询Code + * @Params: null + * @Return: + * @Throws: + */ + public static String getCodeByName(String name) { + for (EnvironmentalCodingGradeEnum e : EnvironmentalCodingGradeEnum.values()) { + if (name.equals(e.getName()) ) { + return e.getCode(); + } + } + return null; + } + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 7:06 PM + * @Deseription: 通过名称查询Code + * @Params: null + * @Return: + * @Throws: + */ + public static String getTypeByName(String name) { + for (EnvironmentalCodingGradeEnum e : EnvironmentalCodingGradeEnum.values()) { + if (name.equals(e.getType()) ) { + return e.getCode(); + } + } + return null; + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 2:07 PM + * @Deseription: 通过名称获取要扣的分数 + * @Params: null + * @Return: + * @Throws: + */ + public static Integer getGradeByName(String name) { + if (StringUtils.isNotBlank(name)) { + for (EnvironmentalCodingGradeEnum e : EnvironmentalCodingGradeEnum.values()) { + if (name.equals(e.getName())) { + return e.getGrade(); + } + } + } + return 0; + } + + EnvironmentalCodingGradeEnum(String type, String code, Boolean isGrade, Integer grade, String name){ + this.code = code; + this.name = name; + this.grade = grade; + this.isGrade = isGrade; + this.type = type; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getGrade() { + return grade; + } + + public void setGrade(Integer grade) { + this.grade = grade; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Boolean getIsGrade() { + return isGrade; + } + + public void setIsGrade(Boolean isGrade) { + this.isGrade = isGrade; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FileConstant.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FileConstant.java new file mode 100644 index 0000000..87f3c4d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FileConstant.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.enums; + +/** + * 附件相关常量 + */ +public class FileConstant { + + /** + * 附件所属业务来源 + */ + public enum Source { + SysFeedback("1001", "系统使用反馈"); + + private String code; + private String name; + + Source(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FslDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FslDeviceTypeEnum.java new file mode 100644 index 0000000..6211b8d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/FslDeviceTypeEnum.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.enums; + +public enum FslDeviceTypeEnum { + + FSL("FSL","焚烧炉"); + + private String code; + private String name; + + FslDeviceTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/GtDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/GtDeviceTypeEnum.java new file mode 100644 index 0000000..b0ec677 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/GtDeviceTypeEnum.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +public enum GtDeviceTypeEnum { + SJJ("SJJ","烧结机"), + SL("SL","竖炉"), + GL("GL","高炉"), + ZL("ZL","转炉"), + LY("LY","炉窑"), + GLMQ("GLMQ","高炉煤气"), + GLMQG("GLMQG","高炉煤气柜"), + ZLMQ("ZLMQ","转炉煤气"), + PLPD("PLPD","配料皮带"), + FDJZ("FDJZ","发电机组"), + ZBDC("ZBDC","自备电厂"), + VOC("VOC","VOC治理"), + BJCC("BJCC","苯和焦油储槽"), + CB("CB","粗苯"), + GXJ("GXJ","干熄焦"), + JLMQ("JLMQ","焦炉煤气"), + MQGW("MQGW","煤气管网"), + JL("JL","焦炉"); + + + private String code; + private String name; + + GtDeviceTypeEnum(String code, String name){ + this.code = code; + this.name = name; + } + + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public String getNameByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get().getName(); + } + + /** + * 根据编码获取枚举类型 + * @param code + * @return + */ + public GtDeviceTypeEnum getEnumByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get(); + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/InvalidStateEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/InvalidStateEnum.java new file mode 100644 index 0000000..d9c1ed0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/InvalidStateEnum.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +public enum InvalidStateEnum { + + C("C","C"), + M("M","M"), + D("D","D"), + MD("MD","MD"), + K("K","K"), + P("P","P"), + VGD("VGD","VGD"), + TD("TD","TD"), + ST("ST","ST"), + SD("SD","SD"), + B("B","B"), + STA("STA","STA"), + F("F","F"), + FA("FA","FA"); + + private String code; + private String name; + + InvalidStateEnum(String code, String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public static String getNameByCode(String code){ + InvalidStateEnum typeEnum = Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().orElse(null); + if(typeEnum==null){ + return ""; + } + return typeEnum.getName(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JhDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JhDeviceTypeEnum.java new file mode 100644 index 0000000..b547274 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JhDeviceTypeEnum.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.enums; + +public enum JhDeviceTypeEnum { + + JL("JL","焦炉"); + + private String code; + private String name; + + JhDeviceTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JudgeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JudgeEnum.java new file mode 100644 index 0000000..0a20390 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/JudgeEnum.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.enums; + +/** + * @Auther: cjh + * @Date: 2023-03-31 11:19 + * @Class: JudgeEnum + * @Deseription: + * @Version V1.0 + */ +public enum JudgeEnum { + + GKSJ("1","工况数据"), + FBJD("2","分表计电数据"), + SJQS("3","数据缺失"), + WFPD("4","无法判断"); + + private String code; + private String name; + + JudgeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelFactoryEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelFactoryEnum.java new file mode 100644 index 0000000..3b187ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelFactoryEnum.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.enums; + +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelFactory; +import com.google.common.collect.Lists; + +import java.util.List; +import java.util.Map; + +public enum LabelFactoryEnum { + BASE003("BASE003","生产类型"), + BASE004("BASE004","是否重点排污单位"), + BASE005("BASE005","重点排污单位名录类别"), + BASE006("BASE006","许可管理类别"), + BASE007("BASE007","许可是否整改"), + BASE008("BASE008","管控级别"), + BASE009("BASE009","生态环境信用级别"), + BASE011("BASE011","所在地是否属于大气重点控制区"), + BASE012("BASE012","所在地是否属于总磷控制区"), + BASE013("BASE013","所在地是否属于总氮控制区"), + BASE014("BASE014","所在地是否属于重金属污染物特别排放限值实施区域"), + BASE015("BASE015","是否位于工业园区"), + BASE017("BASE017","风险源类别"), + BASE019("BASE019","是否有排污许可证"), + PF007("PF007","涉源类型"), + PF005("PF005","危险废物单位监管类型"), + PF006("PF006","危险废物单位类型"), + BASE020("BASE020","气:污染物名称"), + BASE021("BASE021","水:染污物名称"), + BASE022("BASE022","有许可总量要求的污染物"), + PF027("PF027","承诺更加严格排放浓度限值"), + JG010("JG010","运输车辆类型"), + PF001("PF001","废水排放方式"), + JG001("JG001","排污许可证是否在有效内"), + JG002("JG002","许可证有效期不足1个月"), + PF003("PF003","受纳水体功能目标"), + PF004("PF004","是否为直排海企业"), + PF002("PF002","受纳自然水体名称"), + JG011("JG011","在线监测设备安装情况是否符合许可证要求"), + BASE023("BASE023","包含数据类型"), + BASE001("BASE001","行业类别"), + BASE502("BASE502","大气管控监管企业"), + BASE501("BASE501","大气企业监管行业"), + JG006("JG006","是否安装分表计电"), + JG007("JG007","是否安装无组织监控点位"), + JG003("JG003","1年内治理设施是否存在异常运行"), + PF023("PF023","1年内是否有无组织超标排放情况"), + JG053("JG053","本年内无组织监控数据传输率"), + JG055("JG055","本年内在线监测数据传输率"), + JG021("JG021","年度在线监测数据有效传输率是否达到95%以上"), + JG052("JG052","本年内工况数据传输率"), + JG054("JG054","本年内分表计电数据传输率"), + PF018("PF018","1年内是否有大气污染物浓度超标情况"), + PF019("PF019","1年内是否有大气污染物总量超标情况"), + PF016("PF016","用电特征"), + PF008("PF008","SO₂排放特征"), + PF009("PF009","NOx排放特征"), + PF010("PF010","颗粒物排放特征"), + PF011("PF011","VOCs排放特征"), + PF012("PF012","COD排放特征"), + PF013("PF013","氨氮排放特征"), + PF014("PF014","总氮排放特征"), + PF015("PF015","总磷排放特征"), + JG004("JG004","是否存在执行报告未提交情况"), + JG005("JG005","1年内是否存在执行报告不规范情况"), + PF024("PF024","10%<单项重点污染物减排量≤30%"), + PF026("PF026","单项重点污染物减排量>50%"), + PF025("PF025","30%<单项重点污染物减排量≤50%"), + + ; + private String enumId; + private String enumName; + LabelFactoryEnum(String enumId,String enumName) { + this.enumId=enumId; + this.enumName=enumName; + } + + public String getEnumId() { + return enumId; + } + + public static List getPollutantEnumIds() { + return Lists.newArrayList(PF008.getEnumId(), PF009.getEnumId(), PF010.getEnumId(), PF011.getEnumId(), PF012.getEnumId(), PF013.getEnumId(), PF014.getEnumId(), PF015.getEnumId()); + } + + public PcLabelFactory pcLabelFactory(String id, Map pcLabelsMap, String value, String useing, PcLabelFactory pcLabelFactory){ + pcLabelFactory=new PcLabelFactory(); + pcLabelFactory.setFactoryId(id); + pcLabelFactory.setLabelId(pcLabelsMap.get(enumId).getId()); + pcLabelFactory.setLabelValue(value); + pcLabelFactory.setLableUseing(useing); + return pcLabelFactory; + } + public PcLabelFactory pcLabelFactoryPollutant(String id, Map pcLabelsMap, String value, String useing, PcLabelFactory pcLabelFactory){ + pcLabelFactory=new PcLabelFactory(); + pcLabelFactory.setFactoryId(id); + pcLabelFactory.setLabelId(pcLabelsMap.get(enumId).getId()); + pcLabelFactory.setLabelValue(value); + pcLabelFactory.setLableUseing(useing); + return pcLabelFactory; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelValueEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelValueEnum.java new file mode 100644 index 0000000..64dd21c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/LabelValueEnum.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author hehongyu + * @description: 标签值枚举 + * @date 2023/6/28 21:41 + */ +@Getter +@AllArgsConstructor +public enum LabelValueEnum { + CODE_1001("1001","50%(含)以下"), + CODE_1002("1002","50%以上75%(含)以下"), + CODE_1003("1003","75%以上"), + + CODE_1044("1044","无超标"), + CODE_1045("1045","一倍以内"), + CODE_1046("1046","一倍以上二倍以下"), + CODE_1047("1047","二倍以上"), + + CODE_1048("1048","超总量"), + CODE_1049("1049","不超总量"), + + CODE_1060("1060","10%<单项重点污染物减排量≤30%"), + CODE_1061("1061","30%<单项重点污染物减排量≤50%"), + CODE_1062("1062","单项重点污染物减排量>50%"), + + CODE_JG004_1001("1001","执行报告未提交"), + CODE_JG004_1002("1002","执行报告已提交"), + + CODE_JG005_1001("1001","执行报告不规范"), + CODE_JG005_1002("1002","执行报告规范"), + + ; + + private final String argumentsCode; + private final String argumentsName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OperationTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OperationTypeEnum.java new file mode 100644 index 0000000..e5462b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OperationTypeEnum.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.enums; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 操作类型 + */ +public enum OperationTypeEnum { + + INSERT_OPERATION(1, "新增"), + UPDATE_OPERATION(2, "修改"), + DELETE_OPERATION(3, "删除"), + CANCEL_THE_CORRESPONDENCE(4, "取消对应关系") + ; + + private int code; + + private String name; + + OperationTypeEnum(int code, String name) { + this.code = code; + this.name = name; + } + + public int getCode() { + return code; + } + + public String getName() { + return name; + } + + public void setCode(int code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } + + public static String getName(int code) { + for (OperationTypeEnum delFlagEnum : OperationTypeEnum.values()) { + if (delFlagEnum.code == code) { + return delFlagEnum.name; + } + } + return "--"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OutletTypesEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OutletTypesEnum.java new file mode 100644 index 0000000..e676cfa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/OutletTypesEnum.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.enums; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 排口类型 + */ +public enum OutletTypesEnum { + + MAIN_OUTLETS("1", "主要排口"), + GENERAL_OUTLETS("2", "一般排口"), + ; + + private String code; + + private String name; + + OutletTypesEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public void setCode(String code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } + + public static String getName(String code) { + for (OutletTypesEnum delFlagEnum : OutletTypesEnum.values()) { + if (delFlagEnum.code.equals(code)) { + return delFlagEnum.name; + } + } + return "--"; + } + + public static Map map = new HashMap(); + public static final List> list = new ArrayList<>(); + + static { + for (OutletTypesEnum tEnum : OutletTypesEnum.values()) { + map = new HashMap(); + map.put("id", tEnum.getCode()); + map.put("label", tEnum.getName()); + list.add(map); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelCodeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelCodeEnum.java new file mode 100644 index 0000000..324b53b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelCodeEnum.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.enums; + +import lombok.Getter; + +@Getter +public enum PcLabelCodeEnum { + PF020("PF020","1年内是否有废水污染物浓度超标情况"), + PF021("PF021","1年内是否有废水污染物总量超标情况"), + ; + private String code; + private String name; + PcLabelCodeEnum(String code,String name) { + this.code = code; + this.name = name; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelValueCodeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelValueCodeEnum.java new file mode 100644 index 0000000..d76e0aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PcLabelValueCodeEnum.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.enums; + +import lombok.Getter; + +import java.util.Comparator; + +@Getter +public enum PcLabelValueCodeEnum { + CODE_1050("1050","无超标"), + CODE_1051("1051","一倍以内"), + CODE_1052("1052","一倍以上二倍以下"), + CODE_1053("1053","二倍以上"), + CODE_1054("1054","超总量"), + CODE_1055("1055","不超总量"), + + ; + + private String code; + private String name; + PcLabelValueCodeEnum(String code, String name) { + this.code = code; + this.name = name; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PollutantTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PollutantTypeEnum.java new file mode 100644 index 0000000..bf7ead5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/PollutantTypeEnum.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.enums; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 污染物类型 + */ +public enum PollutantTypeEnum { + + GAS("1", "废气"), + WASTEWATER("2", "废水"), + ORGANIZATION("3", "无组织"), + ONLINE_MONITORING("4", "在线监测"), + ; + + private String code; + + private String name; + + PollutantTypeEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public void setCode(String code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } + + public static String getName(int code) { + for (PollutantTypeEnum delFlagEnum : PollutantTypeEnum.values()) { + if (delFlagEnum.code.equals(code)) { + return delFlagEnum.name; + } + } + return "--"; + } + + public static Map map = new HashMap(); + public static final List> list = new ArrayList<>(); + + static { + for (PollutantTypeEnum tEnum : PollutantTypeEnum.values()) { + map = new HashMap(); + map.put("id", tEnum.getCode()); + map.put("label", tEnum.getName()); + list.add(map); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ProblemTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ProblemTypeEnum.java new file mode 100644 index 0000000..ac8ce23 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ProblemTypeEnum.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +public enum ProblemTypeEnum { + STABLE_LOW("001002","时均值稳定低值"), + SJQS("006001","数据缺失"), + SJHD("006002","数据恒值"), + SJLJYC("006003","数据逻辑异常"), + DATA_LOGIC("006003","数据逻辑异常"), + STOP_RUN("002002","启停问题"), + RELEASE("002001","CO放散问题"), + GAS_UNRECOVER("002003","煤气未回收问题"), + SSTY("004001001","治理设施停运"), + OVER_STAND("003002","浓度超标"), + PRESS_OVER_STAND("004002001","布袋除尘器压差频繁超高限"), + PRESS_LOW_STAND("004002002","布袋除尘器压差过低"), + JDCC_GG("004002003","静电除尘二次电流高,二次电压低"), + JDCC_YC("004002004","静电除尘电流、电压异常波动"), + JDCC_GD("004002005","静电除尘器二次电流过小"), + PH_OVER("004002006","PH超出合理范围"), + PUMP_ERROR("004002008","湿法脱硫循环泵运行异常"), + OX_ERROR("004002009","湿法脱硫氧化风机运行异常"), + SCR_TEMP_ERROR("004002012","SCR脱硝反应区温度过低"), + WARN("003003","浓度预警"), + PERMIT_WARN("007001","许可证延续"), + PERMIT_EXCEED("007002","许可证整改超期"), + WET("004002010","湿法脱硫脱硫剂仓料(液)位与药剂投加量逻辑异常"), + DRY("004002011","半干法脱硫脱硫剂仓料(液)位与药剂投加量逻辑异常"), + //TODO 待确认该枚举是否正确 + POLLUTION_CONTROL_EXCEEDED("0040020112","污染源管控超标"), + FREQUENCY_MEASUREMENT("006005","手工监测频次不满足许可证要求"), + + ; + + private String code; + private String name; + + ProblemTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public String getNameByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get().getName(); + } + + /** + * 根据编码获取枚举类型 + * @param code + * @return + */ + public ProblemTypeEnum getEnumByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get(); + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ReleaseStatusEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ReleaseStatusEnum.java new file mode 100644 index 0000000..461e44e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ReleaseStatusEnum.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +/** + * @Auther: cjh + * @Date: 2023-03-30 16:24 + * @Class: ReleaseStatusEnum + * @Deseription: + * @Version V1.0 + */ +public enum ReleaseStatusEnum { + + + NORMAL("1","正常放散"), + ERROR("2","异常放散"), + UNREAL("3","未放散"), + OFFLINE("4","离线"), + YC("5","异常"); + + + private String code; + private String name; + + ReleaseStatusEnum(String code,String name){ + this.code = code; + this.name = name; + } + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public static String getNameByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get().getName(); + } + + /** + * 根据编码获取枚举类型 + * @param code + * @return + */ + public ReleaseStatusEnum getEnumByCode(String code){ + return Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findAny().get(); + } + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/SnDeviceTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/SnDeviceTypeEnum.java new file mode 100644 index 0000000..e7da104 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/SnDeviceTypeEnum.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.enums; + +public enum SnDeviceTypeEnum { + + SNY("SNY","水泥窑"); + + private String code; + private String name; + + SnDeviceTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StatisticsTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StatisticsTypeEnum.java new file mode 100644 index 0000000..bb78246 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StatisticsTypeEnum.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum StatisticsTypeEnum { + DAY("D", "日"), + MONTH("N", "月"), + QUARTER("Q", "季度"), + YEAR("Y", "年"), + ; + + private String type; + private String desc; + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StopTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StopTypeEnum.java new file mode 100644 index 0000000..ce734a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/StopTypeEnum.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +/** + * @Auther: cjh + * @Date: 2023-06-10 15:21 + * @Class: StopTypeEnum + * @Deseription: + * @Version V1.0 + */ +public enum StopTypeEnum { + + ST1("stop_dcs_type1", "FA"),//停运 + ST2("stop_dcs_type2", "ST"),//启炉 + ST3("stop_dcs_type3", "B"),//焖炉 + ST4("stop_dcs_type4", "SD"),//停炉 + ST5("stop_dcs_type5", "SCGZ");//生产故障 + + private String code; + private String name; + + StopTypeEnum(String code, String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public static String getNameByCode(String code){ + StopTypeEnum typeEnum = Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findFirst().orElse(null); + if (typeEnum==null){ + return ""; + } + return typeEnum.getName(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ThresHoldConfigEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ThresHoldConfigEnum.java new file mode 100644 index 0000000..e35b85b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/ThresHoldConfigEnum.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.enums; + +/** + * 阈值配置参数编码枚举类 + */ +public enum ThresHoldConfigEnum { + + H01("H01","压差超过高限次数"),//布袋除尘器压差频繁超高限 + H02("H02","压差累计超过高限时间"),//布袋除尘器压差频繁超高限 + H03("H03","报警间隔时长"),//布袋除尘器压差频繁超高限 + L01("L01","压差低于低值次数"),//布袋除尘器压差过低 + L02("L02","压差累计超过低限时间"),//布袋除尘器压差过低 + L03("L03","报警间隔时长"),//布袋除尘器压差过低 + SN01("SN01","水泥行业产量计算"), + J01("J01","报警间隔时长"), + J02("J02","超标次数"), + J03("J03","二次电流过高持续时间"), + J04("J04","二次电流过低持续时间"), + PH01("PH01","PH最小值"), + PH02("PH02","PH最大值"), + P01("P01","循环泵最低运行时长"), + P02("P02","氧化风机最低运行时长"), + P03("P03","压力差大于标准压差比例"), + X01("X01","许可证延续有效期"), + X02("X02","许可证整改超期有效期"), + S01("S01","连续缺失数据条数"); + + private String code; + private String name; + + ThresHoldConfigEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/TimeTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/TimeTypeEnum.java new file mode 100644 index 0000000..d63a745 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/TimeTypeEnum.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.enums; + +/** + * @Auther: cjh + * @Date: 2023-04-03 16:54 + * @Class: TimeTypeEnum + * @Deseription: + * @Version V1.0 + */ +public enum TimeTypeEnum { + + MONTH("M","月"), + DAY("D","天"), + HOUR("H","小时"), + REAL("R","实时"), + YEAR("Y","年"), + QUARTER("S","季"), + ; + + private String code; + private String name; + + TimeTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WaterPollutantEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WaterPollutantEnum.java new file mode 100644 index 0000000..24d3f23 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WaterPollutantEnum.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.enums; + +public enum WaterPollutantEnum { + + COD("Cod","W01018","化学需氧量"), + TN("Tn","W21001","总磷"), + TP("Tp","W21011","总氮"), + NHN("Nhn","W21003","氨氮"), + PH("Ph","W01001","PH值"); + + /** + * 表中的参数字段 + */ + private String param; + + /** + * 污染物code + */ + private String pollutantsCode; + + /** + * 污染物名称 + */ + private String pollutantsName; + + public String getParam() { + return param; + } + + public void setParam(String param) { + this.param = param; + } + + public String getPollutantsCode() { + return pollutantsCode; + } + + public void setPollutantsCode(String pollutantsCode) { + this.pollutantsCode = pollutantsCode; + } + + public String getPollutantsName() { + return pollutantsName; + } + + public void setPollutantsName(String pollutantsName) { + this.pollutantsName = pollutantsName; + } + + WaterPollutantEnum(String param,String pollutantsCode,String pollutantsName){ + this.param = param; + this.pollutantsCode = pollutantsCode; + this.pollutantsName = pollutantsName; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WhiteListTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WhiteListTypeEnum.java new file mode 100644 index 0000000..162f448 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WhiteListTypeEnum.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.enums; + +import java.util.Arrays; + +/** + * @Auther: cjh + * @Date: 2023-06-11 13:57 + * @Class: WhiteListTypeEnum + * @Deseription: + * @Version V1.0 + */ +public enum WhiteListTypeEnum { + + ST0("ps_whitelist_reason0", "C"), + ST1("ps_whitelist_reason1", "C"), + ST2("ps_whitelist_reason2", "C"), + ST3("ps_whitelist_reason3", "D"), + ST4("ps_whitelist_reason4", "C"), + ST5("ps_whitelist_reason5", "C"), + ST6("ps_whitelist_reason6", "C"), + ST7("ps_whitelist_reason7", "C"), + ST8("ps_whitelist_reason8", "C"), + ST9("ps_whitelist_reason9", "D"), + ST10("ps_whitelist_reason10", "G"), + ST11("ST","ST"),//启炉 + ST12("STA","ST"),//启炉 + ST13("SD","SD"),//停炉 + ST14("FA","SD"),//停炉 + ST15("B","B"),//焖炉 + ST16("F","FA");//停运 + + private String code; + private String name; + + WhiteListTypeEnum(String code, String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * 根据编码获取名称 + * @param code + * @return + */ + public static String getNameByCode(String code){ + WhiteListTypeEnum typeEnum = Arrays.stream(values()).filter(v -> v.getCode().equalsIgnoreCase(code)).findFirst().orElse(null); + if (typeEnum==null){ + return ""; + } + return typeEnum.getName(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WzzStatusEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WzzStatusEnum.java new file mode 100644 index 0000000..d0a8e88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/WzzStatusEnum.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.enums; + +/** + * 操作类型 + */ +public enum WzzStatusEnum { + + NORMAL(1, "正常"), + OFFLINE(2, "离线") + ; + + private int code; + + private String name; + + WzzStatusEnum(int code, String name) { + this.code = code; + this.name = name; + } + + public int getCode() { + return code; + } + + public String getName() { + return name; + } + + public void setCode(int code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } + + public static String getName(int code) { + for (WzzStatusEnum delFlagEnum : WzzStatusEnum.values()) { + if (delFlagEnum.code == code) { + return delFlagEnum.name; + } + } + return "--"; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/YieldTypeEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/YieldTypeEnum.java new file mode 100644 index 0000000..5450377 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/YieldTypeEnum.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.enums; + +/** + * @Auther: cjh + * @Date: 2023-04-03 22:30 + * @Class: YieldTypeEnum + * @Deseription: + * @Version V1.0 + */ +public enum YieldTypeEnum { + + BL_001("BL_001","玻璃产量"), + DL_001("DL_001","机组负荷"), + FS_001("FS_001","垃圾处理量"), + GT_001("GT_001","炉数"), + GT_002("GT_002","产量"), + GT_003("GT_003","出钢量"), + GT_004("GT_004","出铁量"), + GT_005("GT_005","公称容量"), + JH_001("JH_001","装煤次数"), + JH_002("JH_002","推焦次数"), + JH_003("JH_003","焦炭产量"), + SN_001("SN_001","水泥熟料产量"), + GT_006("GT_006","装煤次数"), + GT_007("GT_007","推焦次数"); + + private String code; + private String name; + + YieldTypeEnum(String code,String name){ + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/effective/StandardPollutantEnum.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/effective/StandardPollutantEnum.java new file mode 100644 index 0000000..e81511a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/enums/effective/StandardPollutantEnum.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.enums.effective; + +/** + * @author zhangshiji + * @date 2022/7/26 + */ +public enum StandardPollutantEnum { + PM25(1,"PM₂.₅","µg/m³"), + PM10(2,"PM₁₀","µg/m³"), + SO2(3,"SO₂","µg/m³"), + NO2(4,"NO₂","µg/m³"), + CO(5,"CO","mg/m³"), + O38H(6,"O₃-8H","µg/m³"), + AQI(7,"AQI",""), + PMI(8,"综合指数",""), + CO_OVER(9,"CO超标天数","天"), + O3_OVER(10,"O₃超标天数","天"), + GOOD_DAYS(11,"优良天数","天"), + HEAVY_DAYS(12,"重污染天数","天"); + + private final Integer id; + private final String name; + private final String unit; + + + + StandardPollutantEnum(Integer id, String name, String unit) { + this.id = id; + this.name = name; + this.unit = unit; + } + + public static String getNameById(Integer id) { + StandardPollutantEnum[] carTypeEnums = values(); + for (StandardPollutantEnum enumTest : carTypeEnums) { + if (enumTest.id.equals(id)) { + return enumTest.getName(); + } + } + return null; + } + + public static String getUnitById(Integer id) { + StandardPollutantEnum[] carTypeEnums = values(); + for (StandardPollutantEnum enumTest : carTypeEnums) { + if (enumTest.id.equals(id)) { + return enumTest.getUnit(); + } + } + return null; + } + + public Integer getPkId() { + return id; + } + + public String getName() { + return name; + } + + public String getUnit() { + return unit; + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/BaseRegionService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/BaseRegionService.java new file mode 100644 index 0000000..c1c964e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/BaseRegionService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.feign; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.web.page.TableDataInfo; +import cn.cecep.talroad.feign.impl.BaseRegionServiceImpl; +import cn.cecep.talroad.vo.SysBasRegion; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient(name = "szhpt-system", fallback = BaseRegionServiceImpl.class) +@Qualifier("baseRegionService") +public interface BaseRegionService { + + @GetMapping(value = "/getRegionCodeListChild") + R> getRegionCodeListChild(@RequestParam(value = "regionCode") String regionCode); + + @GetMapping(value = "/dict/data/list") + TableDataInfo getDictDataList( + @RequestParam(value = "pageNum") String pageNum, + @RequestParam(value = "pageSize") String pageSize, + @RequestParam(value = "dictType") String dictType + ); + + @GetMapping(value = "/getRegionList") + R> getRegionList(@RequestParam(value = "regionCode") String regionCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/impl/BaseRegionServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/impl/BaseRegionServiceImpl.java new file mode 100644 index 0000000..af9972d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/feign/impl/BaseRegionServiceImpl.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.feign.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.web.page.TableDataInfo; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.vo.SysBasRegion; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @ClassName DictionaryServiceImpl + * @Description TODO + * @Author ZJN + * @Date 2019/11/814:57 + * @Version 1.0 + **/ +@Service +public class BaseRegionServiceImpl implements BaseRegionService { + @Override + public R> getRegionCodeListChild(String regionCode) { + return R.fail("服务请求失败"); + } + + @Override + public TableDataInfo getDictDataList(String pageNum, String pageSize, String dictType) { + return null; + } + + @Override + public R> getRegionList(String regionCode) { + return R.fail("服务请求失败"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AiDeepModelResultMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AiDeepModelResultMapper.java new file mode 100644 index 0000000..1323954 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AiDeepModelResultMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.AiDeepModelResult; + +/** + * 产治排模型结果Mapper接口 + */ +@Mapper +public interface AiDeepModelResultMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmDoorMonitorAccountFiMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmDoorMonitorAccountFiMapper.java new file mode 100644 index 0000000..e4a12de --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmDoorMonitorAccountFiMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AmDoorMonitorAccountFi; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 门禁监控Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface AmDoorMonitorAccountFiMapper extends BaseMapper +{ + /** + * 查询门禁监控列表 + * + * @param amDoorMonitorAccountFi 门禁监控 + * @return 门禁监控集合 + */ + public List selectAmDoorMonitorAccountFiList(AmDoorMonitorAccountFi amDoorMonitorAccountFi); + + List selectLabelAccount(@Param("startTime") String startTime, @Param("endTime") String endTime); + List selectLabel(@Param("startTime") String startTime, @Param("endTime") String endTime); + + List selectCarEntryCount(@Param("controlStartTime") String controlStartTime, @Param("controlEndTime")String controlEndTime, @Param("lastHourBegin")String lastHourBegin, @Param("lastHourEnd")String lastHourEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiMapper.java new file mode 100644 index 0000000..68a7938 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiMapper.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Mapper +public interface AmProblemFiMapper extends BaseMapper +{ + + List> selectChartData(@Param("chartDataParam") AmProblemFiQuery.ChartDataParam chartDataParam, @Param("regionCodes") List regionCodes); + + List selectProblemFiPage(@Param("page") Page page, @Param("query") AmProblemFiQuery query); + + List selectProblemFiList(@Param("query") AmProblemFiQuery query); + + List> selectTrendData(AmProblemFiQuery.ChartDataParam param); + + List selectByLastTimeAlarm(@Param("pointCode") String pointCode, @Param("startTime") String startTime, @Param("endTime") String endTime); + + Integer selectCountByParams(@Param("amProblemFi") AmProblemFi amProblemFi); + + void insertAmProblemFis(List amProblemFis); + + List> selectAmProblemFiVideo(String id); + + List getProblemByTypeAndTime(@Param("problemType") String problemType, @Param("dateStr") String dateStr, @Param("dateStrEnd") String dateStrEnd); + + List selectAmProblemFiByFactoriesIds( + @Param("ids") List factoriesIds, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime, + @Param("list") List problemType); + + List selectAmProblemFiFactoriesIdsByDate( + @Param("startTime") Date startTime, + @Param("endTime") Date endTime, + @Param("list") List problemType); + + List selectPollutionWaterData(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime); + + List selectStatisDataByMonth(@Param("startTime") Date startTime, @Param("endTime") Date endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiProcessMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiProcessMapper.java new file mode 100644 index 0000000..ea898bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiProcessMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AmProblemFiProcess; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author liyongbing + * @since 2023-06-17 + */ +@Mapper +public interface AmProblemFiProcessMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiRatioMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiRatioMapper.java new file mode 100644 index 0000000..dbc8ad6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmProblemFiRatioMapper.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.AmProblemFiRatioVo; +import cn.cecep.talroad.vo.PcOutletVo; +import cn.cecep.talroad.vo.PcPollutantVo; +import cn.cecep.talroad.vo.query.AmProblemFiRatioQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.AmProblemFiRatio; +import org.apache.ibatis.annotations.Param; + +/** + * 预警报警信息-预警比例定制Mapper接口 + * + * @author szhpt + * @date 2023-06-27*/ +@Mapper +public interface AmProblemFiRatioMapper extends BaseMapper +{ + /** + * 查询预警报警信息-预警比例定制列表 + * + * @param amProblemFiRatio 预警报警信息-预警比例定制 + * @return 预警报警信息-预警比例定制集合 + */ + List selectAmProblemFiRatioList(AmProblemFiRatioQuery amProblemFiRatio); + + List pageList + (Page page, @Param("query") AmProblemFiRatioQuery query); + + List pcPollutantList(); + + AmProblemFiRatioVo selectAmProblemFiRatio(Long id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmVideoDevFiMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmVideoDevFiMapper.java new file mode 100644 index 0000000..8b55080 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AmVideoDevFiMapper.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AmVideoDevFi; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.export.AmVideoDevFiExport; +import cn.cecep.talroad.vo.homepage.OverviewVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.ProportionVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.VideoMonitoringIssuesVo; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigInteger; +import java.util.List; + +/** + * 视频监控Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface AmVideoDevFiMapper extends BaseMapper +{ + /** + * 查询视频监控列表 + * + * @param amVideoDevFi 视频监控 + * @return 视频监控集合 + */ + List selectAmVideoDevFiList(AmVideoDevFi amVideoDevFi); + + List selectAmVideoDevFiExportList(AmVideoDevFi amVideoDevFi); + + List selectAmVideoDevFiSelectList(@Param("ew") QueryWrapper queryWrapper); + + List selectAmVideoDevFiSelectXkList(@Param("ew") QueryWrapper queryWrapper); + + void updateStatusBatch(@Param("updateList") List updateList); + + IPage selectDeviceNameById(Page page, @Param("ew") QueryWrapper queryWrapper); + + AmVideoDevFiExport getByExport(@Param("id") BigInteger id); + + String overviewVideoMonitors(@Param("type") String type, @Param("regionCodes") List regionCodes); + + ProportionVideoMonitorsVo proportionExitTypes(EffectiveMonitoringRateQuery query); + + List trendsVehicleEmissionTypes(EffectiveMonitoringRateQuery query); + + List videoMonitoringIssues(@Param("regionCodes") List regionCodes); + + List otherEnterpriseMonitoringVideos(@Param("regionCodes") List regionCodes); + + List selectByOutletAndDeviceIds(@Param("outletId") String outletId, @Param("deviceIds") List deviceIds); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AppVersionAddressManagementMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AppVersionAddressManagementMapper.java new file mode 100644 index 0000000..ddcb7e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/AppVersionAddressManagementMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AppVersionAddressManagement; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +public interface AppVersionAddressManagementMapper extends BaseMapper { + + AppVersionAddressManagement findUpToDateVersionAddress(@Param("isDebug") Integer isDebug); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrBusinessAlertsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrBusinessAlertsMapper.java new file mode 100644 index 0000000..74d3f6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrBusinessAlertsMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrBusinessAlerts; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 通知提醒-业务提醒Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrBusinessAlertsMapper extends BaseMapper +{ + /** + * 查询通知提醒-业务提醒列表 + * + * @param bEnterpriseIrBusinessAlerts 通知提醒-业务提醒 + * @return 通知提醒-业务提醒集合 + */ + public List selectBEnterpriseIrBusinessAlertsList(BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts); + + List> selectOptions(String factoryId); + + void insertBatch(@Param("addList") List addList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesMapper.java new file mode 100644 index 0000000..98b5336 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrEes; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 知识库-生态环境标准Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrEesMapper extends BaseMapper +{ + /** + * 查询知识库-生态环境标准列表 + * + * @param bEnterpriseIrEes 知识库-生态环境标准 + * @return 知识库-生态环境标准集合 + */ + public List selectBEnterpriseIrEesList(BEnterpriseIrEes bEnterpriseIrEes); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesTypeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesTypeMapper.java new file mode 100644 index 0000000..2ef58c5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrEesTypeMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrEesType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 知识库-生态环境标准-分类Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrEesTypeMapper extends BaseMapper +{ + /** + * 查询知识库-生态环境标准-分类列表 + * + * @param bEnterpriseIrEesType 知识库-生态环境标准-分类 + * @return 知识库-生态环境标准-分类集合 + */ + public List selectBEnterpriseIrEesTypeList(BEnterpriseIrEesType bEnterpriseIrEesType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrLegalMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrLegalMapper.java new file mode 100644 index 0000000..cf81679 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrLegalMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrLegal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 知识库-法律法规Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrLegalMapper extends BaseMapper +{ + /** + * 查询知识库-法律法规列表 + * + * @param bEnterpriseIrLegal 知识库-法律法规 + * @return 知识库-法律法规集合 + */ + public List selectBEnterpriseIrLegalList(BEnterpriseIrLegal bEnterpriseIrLegal); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrNotifierproNoticeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrNotifierproNoticeMapper.java new file mode 100644 index 0000000..9ce6e01 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrNotifierproNoticeMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 通知提醒-通知公告Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrNotifierproNoticeMapper extends BaseMapper +{ + /** + * 查询通知提醒-通知公告列表 + * + * @param bEnterpriseIrNotifierproNotice 通知提醒-通知公告 + * @return 通知提醒-通知公告集合 + */ + public List selectBEnterpriseIrNotifierproNoticeList(BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice); + + List> selectOptions(String factoryId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrSdoeptMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrSdoeptMapper.java new file mode 100644 index 0000000..d6aaaf5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseIrSdoeptMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseIrSdoept; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 知识库-排污治理科普库Mapper接口 + * + * @author szhpt + * @date 2023-03-14*/ +@Mapper +public interface BEnterpriseIrSdoeptMapper extends BaseMapper +{ + /** + * 查询知识库-排污治理科普库列表 + * + * @param bEnterpriseIrSdoept 知识库-排污治理科普库 + * @return 知识库-排污治理科普库集合 + */ + public List selectBEnterpriseIrSdoeptList(BEnterpriseIrSdoept bEnterpriseIrSdoept); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentLastMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentLastMapper.java new file mode 100644 index 0000000..a91b05b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentLastMapper.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessmentLast; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业风险评估Mapper接口 + * + * @author szhpt + * @date 2023-03-29 + */ +@Mapper +public interface BEnterpriseRiskAssessmentLastMapper extends BaseMapper { + + List selectListByFactoryId(@Param("factoryId") String factoryId); + + void insertBEnterpriseRiskAssessmentLasts(List list); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentMapper.java new file mode 100644 index 0000000..8cb8ea8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BEnterpriseRiskAssessmentMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BEnterpriseRiskAssessment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BEnterpriseRiskAssessmentMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainActionReportsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainActionReportsMapper.java new file mode 100644 index 0000000..5f2a85b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainActionReportsMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainActionReports; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 执行报告Mapper接口 + * + * @author szhpt + * @date 2023-01-11*/ +@Mapper +public interface BMainActionReportsMapper extends BaseMapper +{ + /** + * 查询执行报告列表 + * + * @param bMainActionReports 执行报告 + * @return 执行报告集合 + */ + public List selectBMainActionReportsList(BMainActionReports bMainActionReports); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionAirMapper.java new file mode 100644 index 0000000..b290c7c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionAirMapper.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 总许可量-大气排放总许可量要求Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainAllowablePollutionAirMapper extends BaseMapper +{ + /** + * 查询总许可量-大气排放总许可量要求列表 + * + * @param bMainAllowablePollutionAir 总许可量-大气排放总许可量要求 + * @return 总许可量-大气排放总许可量要求集合 + */ + public List selectBMainAllowablePollutionAirList(BMainAllowablePollutionAir bMainAllowablePollutionAir); + + IPage selectBMainAllowablePollutionAirPageList(Page page, @Param("ew") QueryWrapper lambdaQueryWrapper); + + List selectLabelBMainAllowablePollutionAir(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionWaterMapper.java new file mode 100644 index 0000000..e602baf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainAllowablePollutionWaterMapper.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 总许可量- 废水排放总许可量要求Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainAllowablePollutionWaterMapper extends BaseMapper +{ + /** + * 查询总许可量- 废水排放总许可量要求列表 + * + * @param bMainAllowablePollutionWater 总许可量- 废水排放总许可量要求 + * @return 总许可量- 废水排放总许可量要求集合 + */ + public List selectBMainAllowablePollutionWaterList(BMainAllowablePollutionWater bMainAllowablePollutionWater); + + List selectLabelWater(); + + IPage selectBMainAllowablePollutionWaterPageList(Page page, @Param("ew") QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonAirMapper.java new file mode 100644 index 0000000..153eee8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonAirMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业排放信息-在线监测排放趋势-废气Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionOnlineMonAirMapper extends BaseMapper +{ + /** + * 查询企业排放信息-在线监测排放趋势-废气列表 + * + * @param bMainEmissionOnlineMonAir 企业排放信息-在线监测排放趋势-废气 + * @return 企业排放信息-在线监测排放趋势-废气集合 + */ + public List selectBMainEmissionOnlineMonAirList(BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonWaterMapper.java new file mode 100644 index 0000000..8837f6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionOnlineMonWaterMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业排放信息-在线监测排放趋势-废水Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionOnlineMonWaterMapper extends BaseMapper +{ + /** + * 查询企业排放信息-在线监测排放趋势-废水列表 + * + * @param bMainEmissionOnlineMonWater 企业排放信息-在线监测排放趋势-废水 + * @return 企业排放信息-在线监测排放趋势-废水集合 + */ + public List selectBMainEmissionOnlineMonWaterList(BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionAirMapper.java new file mode 100644 index 0000000..e6ed695 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionAirMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-废气Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionPollutionAirMapper extends BaseMapper +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + * + * @param bMainEmissionPollutionAir 企业排放信息-不同污染物年度排放趋势-废气 + * @return 企业排放信息-不同污染物年度排放趋势-废气集合 + */ + public List selectBMainEmissionPollutionAirList(BMainEmissionPollutionAir bMainEmissionPollutionAir); + + /** + * 废气 年统计数据 + */ + List selectEmissionDataList(@Param("dataSource") String dataSource, + @Param("factoryId") String factoryId, + @Param("year") String year, + @Param("industry") String industry, + @Param("groupByField") String groupByField, + @Param("groupByIndustry") boolean groupByIndustry, + @Param("regionCodes") List regionCodes); + + List selectEmissioinDataByYear(@Param("lastYear") String lastYear); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionSolidWasteMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionSolidWasteMapper.java new file mode 100644 index 0000000..6789ab3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionSolidWasteMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-固废Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionPollutionSolidWasteMapper extends BaseMapper +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-固废列表 + * + * @param bMainEmissionPollutionSolidWaste 企业排放信息-不同污染物年度排放趋势-固废 + * @return 企业排放信息-不同污染物年度排放趋势-固废集合 + */ + public List selectBMainEmissionPollutionSolidWasteList(BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionWaterMapper.java new file mode 100644 index 0000000..119a1ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionPollutionWaterMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-废水Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionPollutionWaterMapper extends BaseMapper +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-废水列表 + * + * @param bMainEmissionPollutionWater 企业排放信息-不同污染物年度排放趋势-废水 + * @return 企业排放信息-不同污染物年度排放趋势-废水集合 + */ + public List selectBMainEmissionPollutionWaterList(BMainEmissionPollutionWater bMainEmissionPollutionWater); + + /** + * 首页统计接口 + */ + public List selectEmissionDataList(@Param("dataSource") String dataSource, + @Param("factoryId") String factoryId, + @Param("year") String year, + @Param("industry") String industry, + @Param("groupByField") String groupByField, + @Param("groupByIndustry") boolean groupByIndustry, + @Param("regionCodes") List regionCodes); + + List selectEmissioinDataByYear(@Param("lastYear") String lastYear); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceAirMapper.java new file mode 100644 index 0000000..59c7d15 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceAirMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业排放信息-多来源排放量对比-废气Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionSourceAirMapper extends BaseMapper +{ + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + * + * @param bMainEmissionSourceAir 企业排放信息-多来源排放量对比-废气 + * @return 企业排放信息-多来源排放量对比-废气集合 + */ + public List selectBMainEmissionSourceAirList(BMainEmissionSourceAir bMainEmissionSourceAir); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceWaterMapper.java new file mode 100644 index 0000000..736def7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainEmissionSourceWaterMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业排放信息-多来源排放量对比-废水Mapper接口 + * + * @author szhpt + * @date 2023-01-31*/ +@Mapper +public interface BMainEmissionSourceWaterMapper extends BaseMapper +{ + /** + * 查询企业排放信息-多来源排放量对比-废水列表 + * + * @param bMainEmissionSourceWater 企业排放信息-多来源排放量对比-废水 + * @return 企业排放信息-多来源排放量对比-废水集合 + */ + public List selectBMainEmissionSourceWaterList(BMainEmissionSourceWater bMainEmissionSourceWater); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckMapper.java new file mode 100644 index 0000000..0699f4a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckMapper.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainExceptionTaskCheck; + +/** + * 移动执法信息-异常任务核查Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainExceptionTaskCheckMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckStepMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckStepMapper.java new file mode 100644 index 0000000..7b93b9a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainExceptionTaskCheckStepMapper.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; + +/** + * 移动执法信息-异常任务核查-流程步骤Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainExceptionTaskCheckStepMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFactoryVerificationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFactoryVerificationMapper.java new file mode 100644 index 0000000..db47f6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFactoryVerificationMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainFactoryVerification; + +/** + * 移动执法信息-企业核查Mapper接口 + * + * @author szhpt + * @date 2023-03-30*/ +@Mapper +public interface BMainFactoryVerificationMapper extends BaseMapper +{ + /** + * 查询移动执法信息-企业核查列表 + * + * @param bMainFactoryVerification 移动执法信息-企业核查 + * @return 移动执法信息-企业核查集合 + */ + public List selectBMainFactoryVerificationList(BMainFactoryVerification bMainFactoryVerification); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFileMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFileMapper.java new file mode 100644 index 0000000..5a76334 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainFileMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 系统附件。Mapper接口 + */ +@Mapper +public interface BMainFileMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteCrMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteCrMapper.java new file mode 100644 index 0000000..98f9020 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteCrMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteCr; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 固体废物环境管理要求Mapper接口 + * + * @author szhpt + * @date 2023-01-11*/ +@Mapper +public interface BMainHazardousSolidWasteCrMapper extends BaseMapper +{ + /** + * 查询固体废物环境管理要求列表 + * + * @param bMainHazardousSolidWasteCr 固体废物环境管理要求 + * @return 固体废物环境管理要求集合 + */ + public List selectBMainHazardousSolidWasteCrList(BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteFaMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteFaMapper.java new file mode 100644 index 0000000..d6a0f7c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteFaMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteFa; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteFaVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 自行贮存和自行利用处置设施信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainHazardousSolidWasteFaMapper extends BaseMapper +{ + /** + * 查询自行贮存和自行利用处置设施信息列表 + * + * @param bMainHazardousSolidWasteFa 自行贮存和自行利用处置设施信息 + * @return 自行贮存和自行利用处置设施信息集合 + */ + public List selectBMainHazardousSolidWasteFaList(BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteLeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteLeMapper.java new file mode 100644 index 0000000..69b2949 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteLeMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteLe; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 固体废物排放信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainHazardousSolidWasteLeMapper extends BaseMapper +{ + /** + * 查询固体废物排放信息列表 + * + * @param bMainHazardousSolidWasteLe 固体废物排放信息 + * @return 固体废物排放信息集合 + */ + public List selectBMainHazardousSolidWasteLeList(BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteMapper.java new file mode 100644 index 0000000..22ff2e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousSolidWasteMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainHazardousSolidWaste; +import cn.cecep.talroad.vo.BMainHazardousSolidWasteVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 固体废物基础信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainHazardousSolidWasteMapper extends BaseMapper +{ + /** + * 查询固体废物基础信息列表 + * + * @param bMainHazardousSolidWaste 固体废物基础信息 + * @return 固体废物基础信息集合 + */ + public List selectBMainHazardousSolidWasteList(BMainHazardousSolidWaste bMainHazardousSolidWaste); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousWasteOutputMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousWasteOutputMapper.java new file mode 100644 index 0000000..5d02638 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainHazardousWasteOutputMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainHazardousWasteOutput; +import cn.cecep.talroad.vo.IndustrialHazardousWasteVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 危废产生与处理Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainHazardousWasteOutputMapper extends BaseMapper +{ + /** + * 查询危废产生与处理列表 + * + * @param bMainHazardousWasteOutput 危废产生与处理 + * @return 危废产生与处理集合 + */ + public List selectBMainHazardousWasteOutputList(BMainHazardousWasteOutput bMainHazardousWasteOutput); + + List selectTop5WasteByIndustry(@Param("industry") String industry, @Param("regionCodes") List regionCodes); + + List selectWasteListGroupByIndustry(@Param("startYear") String startYear, @Param("endYear") String endYear, @Param("startMonth") String startMonth, @Param("endMonth") String endMonth, @Param("industry") String industry, @Param("regionCodes") List regionCodes); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMobileEnforcementMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMobileEnforcementMapper.java new file mode 100644 index 0000000..c9ccfeb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMobileEnforcementMapper.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainMobileEnforcement; +import cn.cecep.talroad.vo.LawEnforcementPieStatisticsVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 移动执法信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainMobileEnforcementMapper extends BaseMapper +{ + /** + * 查询移动执法信息列表 + * + * @param bMainMobileEnforcement 移动执法信息 + * @return 移动执法信息集合 + */ + public List selectBMainMobileEnforcementList(BMainMobileEnforcement bMainMobileEnforcement); + + List> selectLawEnforcementStatistics(String industry); + + /** + * 根据开始-结束时间获取执法情况饼图信息 + * @return + */ + List selectLawEnforcementPieStatistics(Map map); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMonitorPointOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMonitorPointOperationLogMapper.java new file mode 100644 index 0000000..f2173e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainMonitorPointOperationLogMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainMonitorPointOperationLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @className: BMainMonitorPointOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:22 + * @Company: Copyright© [2023/04/28 17:22] by [Mr.Yanghongtao] + **/ +public interface BMainMonitorPointOperationLogMapper extends BaseMapper { + int deleteByPrimaryKey(String logId); + + int insert(BMainMonitorPointOperationLog record); + + int insertOrUpdate(BMainMonitorPointOperationLog record); + + int insertOrUpdateSelective(BMainMonitorPointOperationLog record); + + int insertSelective(BMainMonitorPointOperationLog record); + + BMainMonitorPointOperationLog selectByPrimaryKey(String logId); + + int updateByPrimaryKeySelective(BMainMonitorPointOperationLog record); + + int updateByPrimaryKey(BMainMonitorPointOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainNoiseEmissionsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainNoiseEmissionsMapper.java new file mode 100644 index 0000000..9fbc54d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainNoiseEmissionsMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainNoiseEmissions; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 噪声排放信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainNoiseEmissionsMapper extends BaseMapper +{ + /** + * 查询噪声排放信息列表 + * + * @param bMainNoiseEmissions 噪声排放信息 + * @return 噪声排放信息集合 + */ + public List selectBMainNoiseEmissionsList(BMainNoiseEmissions bMainNoiseEmissions); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEmlRecordMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEmlRecordMapper.java new file mode 100644 index 0000000..f86814a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEmlRecordMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisEmlRecord; +import cn.cecep.talroad.vo.BMainPollDisEmlRecordVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可环境管理台账Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisEmlRecordMapper extends BaseMapper +{ + /** + * 查询排污许可环境管理台账列表 + * + * @param bMainPollDisEmlRecord 排污许可环境管理台账 + * @return 排污许可环境管理台账集合 + */ + public List selectBMainPollDisEmlRecordList(BMainPollDisEmlRecord bMainPollDisEmlRecord); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEnforcementMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEnforcementMapper.java new file mode 100644 index 0000000..893f84c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisEnforcementMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import cn.cecep.talroad.vo.BMainPollDisEnforcementVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可执行守法报告Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisEnforcementMapper extends BaseMapper +{ + /** + * 查询排污许可执行守法报告列表 + * + * @param bMainPollDisEnforcement 排污许可执行守法报告 + * @return 排污许可执行守法报告集合 + */ + public List selectBMainPollDisEnforcementList(BMainPollDisEnforcement bMainPollDisEnforcement); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisFileMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisFileMapper.java new file mode 100644 index 0000000..feadd14 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisFileMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可附件信息Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisFileMapper extends BaseMapper +{ + /** + * 查询排污许可附件信息列表 + * + * @param bMainPollDisFile 排污许可附件信息 + * @return 排污许可附件信息集合 + */ + public List selectBMainPollDisFileList(BMainPollDisFile bMainPollDisFile); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasMoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasMoutMapper.java new file mode 100644 index 0000000..f3b4bc6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasMoutMapper.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasMout; +import cn.cecep.talroad.vo.analysis.OutletPermitPollutantVO; +import cn.cecep.talroad.vo.analysis.OutletPollutantVO; +import cn.cecep.talroad.vo.analysis.PollDisPollutantGroupVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 排污许可大气主排放口Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisGasMoutMapper extends BaseMapper +{ + /** + * 查询排污许可大气主排放口列表 + * + * @param bMainPollDisGasMout 排污许可大气主排放口 + * @return 排污许可大气主排放口集合 + */ + public List selectBMainPollDisGasMoutList(BMainPollDisGasMout bMainPollDisGasMout); + + /** + * 查询排口排污许可限值 + * @param factoryId + * @param licenseId + * @param outletCode + * @return + */ + List selectPollutantGroupList(@Param("factoryId") String factoryId, @Param("licenseId")int licenseId, @Param("outletCode")String outletCode); + + /** + * 查询污染源下排口的因子许可排放量与监测类型 + * @return + */ + List selectGasOutletPermitPollutant(); + + + List selectGasOnlineOutletPollutant(@Param("factoryIds") List factoryIds, @Param("outletCodes")List outletCodes); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasOoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasOoutMapper.java new file mode 100644 index 0000000..e43bade --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasOoutMapper.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasOout; +import cn.cecep.talroad.vo.analysis.PollDisPollutantGroupVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 排污许可大气一般排放口Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisGasOoutMapper extends BaseMapper +{ + /** + * 查询排污许可大气一般排放口列表 + * + * @param bMainPollDisGasOout 排污许可大气一般排放口 + * @return 排污许可大气一般排放口集合 + */ + public List selectBMainPollDisGasOoutList(BMainPollDisGasOout bMainPollDisGasOout); + + /** + * 查询排口排污许可限值 + * @param factoryId + * @param licenseId + * @param outletCode + * @return + */ + List selectPollutantGroupList(@Param("factoryId") String factoryId, @Param("licenseId")int licenseId, @Param("outletCode")String outletCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasPollMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasPollMapper.java new file mode 100644 index 0000000..5c088f8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasPollMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasPoll; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BMainPollDisGasPollMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasSoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasSoutMapper.java new file mode 100644 index 0000000..7979a79 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasSoutMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasSout; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 排污许可大气特殊情况Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisGasSoutMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasToutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasToutMapper.java new file mode 100644 index 0000000..15e6f43 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasToutMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可大气排放总计Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisGasToutMapper extends BaseMapper +{ + /** + * 查询排污许可大气排放总计列表 + * + * @param bMainPollDisGasTout 排污许可大气排放总计 + * @return 排污许可大气排放总计集合 + */ + public List selectBMainPollDisGasToutList(BMainPollDisGasTout bMainPollDisGasTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasWzzToutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasWzzToutMapper.java new file mode 100644 index 0000000..71a3ef7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisGasWzzToutMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisGasWzzTout; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BMainPollDisGasWzzToutMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisInformationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisInformationMapper.java new file mode 100644 index 0000000..37d82aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisInformationMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisInformation; +import cn.cecep.talroad.vo.BMainPollDisInformationVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可信息公开Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisInformationMapper extends BaseMapper +{ + /** + * 查询排污许可信息公开列表 + * + * @param bMainPollDisInformation 排污许可信息公开 + * @return 排污许可信息公开集合 + */ + public List selectBMainPollDisInformationList(BMainPollDisInformation bMainPollDisInformation); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisMapper.java new file mode 100644 index 0000000..8c36233 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisMapper.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; + +/** + * 排污许可Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisMapper extends BaseMapper +{ + /** + * 查询排污许可列表 + * + * @param bMainPollDis 排污许可 + * @return 排污许可集合 + */ + public List selectBMainPollDisList(BMainPollDis bMainPollDis); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/9 11:24 PM + * @Deseription: 查询排污许可证办理时间 + * @Params: null + * @Return: + * @Throws: + */ + List selectBMainPollDisListByFactory(); + + List selectDisPermitData(@Param("businessType") String businessType, @Param("currDay") String currDay, @Param("deadLineDay") String deadLineDay); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseMapper.java new file mode 100644 index 0000000..599e110 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisNoise; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可其他许可噪声排放Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisNoiseMapper extends BaseMapper +{ + /** + * 查询排污许可其他许可噪声排放列表 + * + * @param bMainPollDisNoise 排污许可其他许可噪声排放 + * @return 排污许可其他许可噪声排放集合 + */ + public List selectBMainPollDisNoiseList(BMainPollDisNoise bMainPollDisNoise); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRegulationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRegulationMapper.java new file mode 100644 index 0000000..53ba7f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRegulationMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRegulation; +import cn.cecep.talroad.vo.BMainPollDisNoiseRegulationVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可其他许可改正规定Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisNoiseRegulationMapper extends BaseMapper +{ + /** + * 查询排污许可其他许可改正规定列表 + * + * @param bMainPollDisNoiseRegulation 排污许可其他许可改正规定 + * @return 排污许可其他许可改正规定集合 + */ + public List selectBMainPollDisNoiseRegulationList(BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation); + + List selectListAndFactory(List strings); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRequireMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRequireMapper.java new file mode 100644 index 0000000..4719555 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisNoiseRequireMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRequire; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可环境管理要求Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisNoiseRequireMapper extends BaseMapper +{ + /** + * 查询排污许可环境管理要求列表 + * + * @param bMainPollDisNoiseRequire 排污许可环境管理要求 + * @return 排污许可环境管理要求集合 + */ + public List selectBMainPollDisNoiseRequireList(BMainPollDisNoiseRequire bMainPollDisNoiseRequire); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonMapper.java new file mode 100644 index 0000000..856b9d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonMapper.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import cn.cecep.talroad.domain.dto.BMainPollMonDTO; +import cn.cecep.talroad.vo.BMainEmissionAndstatusCountVo; +import cn.cecep.talroad.vo.homepage.HpmEmissionRatioOverviewVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 排污许可自行监测要求Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisSelfMonMapper extends BaseMapper +{ + /** + * 查询排污许可自行监测要求列表 + * + * @param bMainPollDisSelfMon 排污许可自行监测要求 + * @return 排污许可自行监测要求集合 + */ + public List selectBMainPollDisSelfMonList(BMainPollDisSelfMon bMainPollDisSelfMon); + + HpmEmissionRatioOverviewVo selectCountByPollutantsName(@Param("regionCodes") List regionCodes); + + List selectBMainPollDisMonList(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("type") String type); + + List selectGasDataList(@Param("frequency") String frequency); + + List selectWaterDataList(@Param("frequency") String frequency); + + + BMainEmissionAndstatusCountVo selectEmissionAndstatus(@Param("regionCodes") List regionCodes); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonOtherMapper.java new file mode 100644 index 0000000..a7371c4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisSelfMonOtherMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisSelfMonOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可自行监测记录Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisSelfMonOtherMapper extends BaseMapper +{ + /** + * 查询排污许可自行监测记录列表 + * + * @param bMainPollDisSelfMonOther 排污许可自行监测记录 + * @return 排污许可自行监测记录集合 + */ + public List selectBMainPollDisSelfMonOtherList(BMainPollDisSelfMonOther bMainPollDisSelfMonOther); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterMoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterMoutMapper.java new file mode 100644 index 0000000..6ff7efc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterMoutMapper.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisWaterMout; +import cn.cecep.talroad.vo.analysis.OutletPermitPollutantVO; +import cn.cecep.talroad.vo.analysis.OutletPollutantVO; +import cn.cecep.talroad.vo.analysis.PollDisPollutantGroupVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 排污许可水污染物主排放口Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisWaterMoutMapper extends BaseMapper +{ + /** + * 查询排污许可水污染物主排放口列表 + * + * @param bMainPollDisWaterMout 排污许可水污染物主排放口 + * @return 排污许可水污染物主排放口集合 + */ + public List selectBMainPollDisWaterMoutList(BMainPollDisWaterMout bMainPollDisWaterMout); + + List selectPollutantGroupList(@Param("factoryId") String factoryId, @Param("licenseId")int licenseId, @Param("outletCode")String outletCode); + + + /** + * 查询污染源下排口的因子许可排放量与监测类型 + * @return + */ + List selectWaterOutletPermitPollutant(); + + List selectWaterOnlineOutletPollutant(@Param("factoryIds") List factoryIds, @Param("outletCodes")List outletCodes); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterOoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterOoutMapper.java new file mode 100644 index 0000000..abd8059 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterOoutMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisWaterOout; +import cn.cecep.talroad.vo.analysis.PollDisPollutantGroupVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 排污许可水污染物一般排放口Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisWaterOoutMapper extends BaseMapper +{ + /** + * 查询排污许可水污染物一般排放口列表 + * + * @param bMainPollDisWaterOout 排污许可水污染物一般排放口 + * @return 排污许可水污染物一般排放口集合 + */ + public List selectBMainPollDisWaterOoutList(BMainPollDisWaterOout bMainPollDisWaterOout); + + List selectPollutantGroupList(@Param("factoryId") String factoryId, @Param("licenseId")int licenseId, @Param("outletCode")String outletCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterSoutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterSoutMapper.java new file mode 100644 index 0000000..2f6c2d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterSoutMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisWaterSout; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可水污染物特殊情况Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisWaterSoutMapper extends BaseMapper +{ + /** + * 查询排污许可水污染物特殊情况列表 + * + * @param bMainPollDisWaterSout 排污许可水污染物特殊情况 + * @return 排污许可水污染物特殊情况集合 + */ + public List selectBMainPollDisWaterSoutList(BMainPollDisWaterSout bMainPollDisWaterSout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterToutMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterToutMapper.java new file mode 100644 index 0000000..f36f481 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainPollDisWaterToutMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污许可水污染物排放总计Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainPollDisWaterToutMapper extends BaseMapper +{ + /** + * 查询排污许可水污染物排放总计列表 + * + * @param bMainPollDisWaterTout 排污许可水污染物排放总计 + * @return 排污许可水污染物排放总计集合 + */ + public List selectBMainPollDisWaterToutList(BMainPollDisWaterTout bMainPollDisWaterTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionInorgGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionInorgGasMapper.java new file mode 100644 index 0000000..cb107e6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionInorgGasMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.domain.BMainProductionInorgGas; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 废气无组织排放产治排信息Mapper接口 + * + * @author szhpt + * @date 2023-02-08*/ +@Mapper +public interface BMainProductionInorgGasMapper extends BaseMapper +{ + /** + * 查询废气无组织排放产治排信息列表 + * + * @param bMainProductionInorgGas 废气无组织排放产治排信息 + * @return 废气无组织排放产治排信息集合 + */ + public List selectBMainProductionInorgGasList(BMainProductionInorgGas bMainProductionInorgGas); + + List selectDeviceIdByPollutantType(@Param("code") String code); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionOrganizGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionOrganizGasMapper.java new file mode 100644 index 0000000..28d8511 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionOrganizGasMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.data.analyse.task.entity.MainProductDeviceVo; +import cn.cecep.talroad.domain.BMainProductionOrganizGas; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 废气有组织排放产治排信息Mapper接口 + * + * @author szhpt + * @date 2023-02-08*/ +@Mapper +public interface BMainProductionOrganizGasMapper extends BaseMapper +{ + /** + * 查询废气有组织排放产治排信息列表 + * + * @param bMainProductionOrganizGas 废气有组织排放产治排信息 + * @return 废气有组织排放产治排信息集合 + */ + public List selectBMainProductionOrganizGasList(BMainProductionOrganizGas bMainProductionOrganizGas); + + List selectDeviceIdByPollutantType(String code); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionWaterMapper.java new file mode 100644 index 0000000..4d68c42 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainProductionWaterMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainProductionWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 废水排放产治排信息Mapper接口 + * + * @author szhpt + * @date 2023-02-08*/ +@Mapper +public interface BMainProductionWaterMapper extends BaseMapper +{ + /** + * 查询废水排放产治排信息列表 + * + * @param bMainProductionWater 废水排放产治排信息 + * @return 废水排放产治排信息集合 + */ + public List selectBMainProductionWaterList(BMainProductionWater bMainProductionWater); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidHazardousMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidHazardousMapper.java new file mode 100644 index 0000000..bc03c91 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidHazardousMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainSolidHazardous; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 固危废贮存信息Mapper接口 + * + * @author szhpt + * @date 2023-01-18*/ +@Mapper +public interface BMainSolidHazardousMapper extends BaseMapper +{ + /** + * 查询固危废贮存信息列表 + * + * @param bMainSolidHazardous 固危废贮存信息 + * @return 固危废贮存信息集合 + */ + public List selectBMainSolidHazardousList(BMainSolidHazardous bMainSolidHazardous); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidWasteOutputMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidWasteOutputMapper.java new file mode 100644 index 0000000..da3bdfd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSolidWasteOutputMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainSolidWasteOutput; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 固废产生与处理Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BMainSolidWasteOutputMapper extends BaseMapper +{ + /** + * 查询固废产生与处理列表 + * + * @param bMainSolidWasteOutput 固废产生与处理 + * @return 固废产生与处理集合 + */ + public List selectBMainSolidWasteOutputList(BMainSolidWasteOutput bMainSolidWasteOutput); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSysFeedbackMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSysFeedbackMapper.java new file mode 100644 index 0000000..ac6ed09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainSysFeedbackMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BMainSysFeedback; +import cn.cecep.talroad.vo.BMainSysFeedbackVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 系统使用反馈Mapper接口 + */ +@Mapper +public interface BMainSysFeedbackMapper extends BaseMapper +{ + + List selectSysFeedbackList(@Param("page") Page page, @Param("searchVo") BMainSysFeedbackVo.SearchVo searchVo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcMapper.java new file mode 100644 index 0000000..e59ad22 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.BMainThreeSupervisionEnforcVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; + +/** + * 三监联动执法信息Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainThreeSupervisionEnforcMapper extends BaseMapper +{ + /** + * 查询三监联动执法信息列表 + * + * @param bMainThreeSupervisionEnforc 三监联动执法信息 + * @return 三监联动执法信息集合 + */ + public List selectBMainThreeSupervisionEnforcList(BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc); + + BMainThreeSupervisionEnforcVo selectTaskById(String taskId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcRecordMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcRecordMapper.java new file mode 100644 index 0000000..129e9a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainThreeSupervisionEnforcRecordMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; + +/** + * 三监联动执法信息记录Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainThreeSupervisionEnforcRecordMapper extends BaseMapper +{ + /** + * 查询三监联动执法信息记录列表 + * + * @param bMainThreeSupervisionEnforcRecord 三监联动执法信息记录 + * @return 三监联动执法信息记录集合 + */ + public List selectBMainThreeSupervisionEnforcRecordList(BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskMapper.java new file mode 100644 index 0000000..ffd4939 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskMapper.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainTwoRandomTask; + +/** + * 移动执法信息-双随机任务Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainTwoRandomTaskMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskStepMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskStepMapper.java new file mode 100644 index 0000000..98af25b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BMainTwoRandomTaskStepMapper.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; + +/** + * 移动执法信息-双随机任务-流程步骤Mapper接口 + * + * @author szhpt + * @date 2023-03-29*/ +@Mapper +public interface BMainTwoRandomTaskStepMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesMapper.java new file mode 100644 index 0000000..78e2985 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkProductionFacilities; +import cn.cecep.talroad.vo.BStatTablePwxkProductionFacilitiesVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkProductionFacilitiesMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesParamsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesParamsMapper.java new file mode 100644 index 0000000..7bfb6b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductionFacilitiesParamsMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkProductionFacilitiesParams; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BStatTablePwxkProductionFacilitiesParamsMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductsMapper.java new file mode 100644 index 0000000..d120a4e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkProductsMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkProducts; +import cn.cecep.talroad.vo.BStatTablePwxkProductsVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkProductsMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInMapper.java new file mode 100644 index 0000000..1b91e60 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkWaterIndustryIn; +import cn.cecep.talroad.vo.BStatTablePwxkWaterIndustryInVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkWaterIndustryInMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInTotalMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInTotalMapper.java new file mode 100644 index 0000000..144faba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterIndustryInTotalMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkWaterIndustryInTotal; +import cn.cecep.talroad.vo.BStatTablePwxkWaterIndustryInTotalVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkWaterIndustryInTotalMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterLifeInMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterLifeInMapper.java new file mode 100644 index 0000000..8c72af6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterLifeInMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkWaterLifeIn; +import cn.cecep.talroad.vo.BStatTablePwxkWaterLifeInVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkWaterLifeInMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentInAskMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentInAskMapper.java new file mode 100644 index 0000000..6b501dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentInAskMapper.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkWaterTreatmentInAsk; +import cn.cecep.talroad.vo.BStatTablePwxkWaterTreatmentInAskVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BStatTablePwxkWaterTreatmentInAskMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List strings); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentLineMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentLineMapper.java new file mode 100644 index 0000000..948c0e9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTablePwxkWaterTreatmentLineMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTablePwxkWaterTreatmentLine; +import cn.cecep.talroad.vo.BStatTablePwxkWaterTreatmentLineVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BStatTablePwxkWaterTreatmentLineMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListAndFactory(List factoryIds); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableQueryInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableQueryInfoMapper.java new file mode 100644 index 0000000..b52036b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableQueryInfoMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTableQueryInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BStatTableQueryInfoMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgJbxxInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgJbxxInfoMapper.java new file mode 100644 index 0000000..6d2bba2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgJbxxInfoMapper.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import org.apache.ibatis.annotations.Param; +import org.apache.poi.ss.formula.functions.T; + +/** + * 固定源产排治--执行报告--企业基本信息Mapper接口 + * + * @author szhpt + * @date 2023-07-27*/ +@Mapper +public interface BStatTableZxbgJbxxInfoMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--企业基本信息列表 + * + * @param bStatTableZxbgJbxxInfo 固定源产排治--执行报告--企业基本信息 + * @return 固定源产排治--执行报告--企业基本信息集合 + */ + public List selectBStatTableZxbgJbxxInfoList(BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo); + + public List selectListAndFactory(BStatTablepPwxkWaterQuery query); + + Integer selectCountByPeriodAndPeriod(@Param("type") String type, @Param("period") String period, @Param("records") List records); + + List selectByPeriodAndPeriod(@Param("type") String type, @Param("period") String period, + @Param("records") List records); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirMapper.java new file mode 100644 index 0000000..422eb08 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; + +/** + * 固定源产排治--执行报告--废气实际排放量Mapper接口 + * + * @author szhpt + * @date 2023-07-27*/ +@Mapper +public interface BStatTableZxbgPflAirMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废气实际排放量列表 + * + * @param bStatTableZxbgPflAir 固定源产排治--执行报告--废气实际排放量 + * @return 固定源产排治--执行报告--废气实际排放量集合 + */ + public List selectBStatTableZxbgPflAirList(BStatTableZxbgPflAir bStatTableZxbgPflAir); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOtherMapper.java new file mode 100644 index 0000000..4bed446 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOtherMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; + +/** + * 固定源产排治--执行报告--废气其他排放总计Mapper接口 + * + * @author szhpt + * @date 2023-07-27*/ +@Mapper +public interface BStatTableZxbgPflAirOtherMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废气其他排放总计列表 + * + * @param bStatTableZxbgPflAirOther 固定源产排治--执行报告--废气其他排放总计 + * @return 固定源产排治--执行报告--废气其他排放总计集合 + */ + public List selectBStatTableZxbgPflAirOtherList(BStatTableZxbgPflAirOther bStatTableZxbgPflAirOther); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOverproofMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOverproofMapper.java new file mode 100644 index 0000000..18c2ed2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirOverproofMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; + +/** + * 固定源产排治--执行报告--废气超标排放信息Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPflAirOverproofMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废气超标排放信息列表 + * + * @param bStatTableZxbgPflAirOverproof 固定源产排治--执行报告--废气超标排放信息 + * @return 固定源产排治--执行报告--废气超标排放信息集合 + */ + public List selectBStatTableZxbgPflAirOverproofList(BStatTableZxbgPflAirOverproof bStatTableZxbgPflAirOverproof); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirSpecialMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirSpecialMapper.java new file mode 100644 index 0000000..ab9fe2f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirSpecialMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; + +/** + * 固定源产排治--执行报告--特殊时段废气排放量Mapper接口 + * + * @author szhpt + * @date 2023-07-31*/ +@Mapper +public interface BStatTableZxbgPflAirSpecialMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--特殊时段废气排放量列表 + * + * @param bStatTableZxbgPflAirSpecial 固定源产排治--执行报告--特殊时段废气排放量 + * @return 固定源产排治--执行报告--特殊时段废气排放量集合 + */ + public List selectBStatTableZxbgPflAirSpecialList(BStatTableZxbgPflAirSpecial bStatTableZxbgPflAirSpecial); + + public List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirStatMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirStatMapper.java new file mode 100644 index 0000000..1e9691c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflAirStatMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; + +/** + * 固定源产排治--执行报告--总计废气实际排放量Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPflAirStatMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--总计废气实际排放量列表 + * + * @param bStatTableZxbgPflAirStat 固定源产排治--执行报告--总计废气实际排放量 + * @return 固定源产排治--执行报告--总计废气实际排放量集合 + */ + public List selectBStatTableZxbgPflAirStatList(BStatTableZxbgPflAirStat bStatTableZxbgPflAirStat); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterMapper.java new file mode 100644 index 0000000..244ef47 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; + +/** + * 固定源产排治--执行报告--废水实际排放量Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPflWaterMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废水实际排放量列表 + * + * @param bStatTableZxbgPflWater 固定源产排治--执行报告--废水实际排放量 + * @return 固定源产排治--执行报告--废水实际排放量集合 + */ + public List selectBStatTableZxbgPflWaterList(BStatTableZxbgPflWater bStatTableZxbgPflWater); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterVoerproofMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterVoerproofMapper.java new file mode 100644 index 0000000..5d7dca4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflWaterVoerproofMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; + +/** + * 固定源产排治--执行报告--废水超标排放信息Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPflWaterVoerproofMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废水超标排放信息列表 + * + * @param bStatTableZxbgPflWaterVoerproof 固定源产排治--执行报告--废水超标排放信息 + * @return 固定源产排治--执行报告--废水超标排放信息集合 + */ + public List selectBStatTableZxbgPflWaterVoerproofList(BStatTableZxbgPflWaterVoerproof bStatTableZxbgPflWaterVoerproof); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflallWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflallWaterMapper.java new file mode 100644 index 0000000..a7ea068 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPflallWaterMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; + +/** + * 固定源产排治--执行报告--总计废水实际排放量Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPflallWaterMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--总计废水实际排放量列表 + * + * @param bStatTableZxbgPflallWater 固定源产排治--执行报告--总计废水实际排放量 + * @return 固定源产排治--执行报告--总计废水实际排放量集合 + */ + public List selectBStatTableZxbgPflallWaterList(BStatTableZxbgPflallWater bStatTableZxbgPflallWater); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPfltotalWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPfltotalWaterMapper.java new file mode 100644 index 0000000..510f107 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgPfltotalWaterMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)Mapper接口 + * + * @author szhpt + * @date 2023-07-28*/ +@Mapper +public interface BStatTableZxbgPfltotalWaterMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--废水正常排放总计(一般排放口)列表 + * + * @param bStatTableZxbgPfltotalWater 固定源产排治--执行报告--废水正常排放总计(一般排放口) + * @return 固定源产排治--执行报告--废水正常排放总计(一般排放口)集合 + */ + public List selectBStatTableZxbgPfltotalWaterList(BStatTableZxbgPfltotalWater bStatTableZxbgPfltotalWater); + + List selectListAndFactory(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlAbnormalitiesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlAbnormalitiesMapper.java new file mode 100644 index 0000000..67a4bb1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlAbnormalitiesMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 固定源产排治--执行报告--污染治理设施异常情况Mapper接口 + * + * @author szhpt + * @date 2023-07-31*/ +@Mapper +public interface BStatTableZxbgWrzlAbnormalitiesMapper extends BaseMapper +{ + /** + * 查询固定源产排治--执行报告--污染治理设施异常情况列表 + * + * @param bStatTableZxbgWrzlAbnormalities 固定源产排治--执行报告--污染治理设施异常情况 + * @return 固定源产排治--执行报告--污染治理设施异常情况集合 + */ + public List selectBStatTableZxbgWrzlAbnormalitiesList(BStatTableZxbgWrzlAbnormalities bStatTableZxbgWrzlAbnormalities); + + public List selectListAndFactory(BStatTablepPwxkWaterQuery query); + + List queryAbnormalitiesData(@Param("period") String period, @Param("type") String type, @Param("factoryIds") List factoryIdList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlTotalMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlTotalMapper.java new file mode 100644 index 0000000..a45e9ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BStatTableZxbgWrzlTotalMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总Mapper接口 + * + * @author szhpt + * @date 2023-07-31 + */ +@Mapper +public interface BStatTableZxbgWrzlTotalMapper extends BaseMapper { + /** + * 查询固定源产排治--执行报告--污染治理设施正常情况汇总列表 + * + * @param bStatTableZxbgWrzlTotal 固定源产排治--执行报告--污染治理设施正常情况汇总 + * @return 固定源产排治--执行报告--污染治理设施正常情况汇总集合 + */ + public List selectBStatTableZxbgWrzlTotalList(BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal); + + public List selectListAndFactory(BStatTablepPwxkWaterQuery query); + + List selectByPeriodAndTypeAndRecords(@Param("pollutant") String pollutant, @Param("period") String period, @Param("type") String type, @Param("factoryIds") List factoryIds); + + List selectFactoryIdsListByPeriod(@Param("pollutant") String pollutant, @Param("period") String period, @Param("type") String type); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasControlValueMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasControlValueMapper.java new file mode 100644 index 0000000..44a756e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasControlValueMapper.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BasControlValue; +import org.apache.ibatis.annotations.Param; + +/** + * basControlValueMapper接口 + * + * @author admin + * @date 2023-06-27 + */ +@Mapper +public interface BasControlValueMapper extends BaseMapper +{ + + /** + * 查询basControlValue列表 + * + * @param basControlValue basControlValue + * @return basControlValue集合 + */ + public List selectBasControlValueList(BasControlValue basControlValue); + + + BasControlValue selectByFactoryId(@Param("factoryId") String factoryId,@Param("industry")String industry, @Param("deviceType")String deviceType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDcsOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDcsOperationLogMapper.java new file mode 100644 index 0000000..45610ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDcsOperationLogMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDcsOperationLog; +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: BasDcsOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:25 + * @Company: Copyright© [2023/04/28 17:25] by [Mr.Yanghongtao] + **/ +public interface BasDcsOperationLogMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDevToElecMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDevToElecMapper.java new file mode 100644 index 0000000..48bc419 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDevToElecMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDevToElec; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 有组织-分表计电设备对应Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BasDevToElecMapper extends BaseMapper +{ + /** + * 查询有组织-分表计电设备对应列表 + * + * @param basDevToElec 有组织-分表计电设备对应 + * @return 有组织-分表计电设备对应集合 + */ + public List selectBasDevToElecList(BasDevToElec basDevToElec); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceConfigMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceConfigMapper.java new file mode 100644 index 0000000..6a36364 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceConfigMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BasDeviceConfig; + +/** + * 企业设备参数配置Mapper接口 + * + * @author szhpt + * @date 2023-04-05*/ +@Mapper +public interface BasDeviceConfigMapper extends BaseMapper +{ + /** + * 查询企业设备参数配置列表 + * + * @param basDeviceConfig 企业设备参数配置 + * @return 企业设备参数配置集合 + */ + public List selectBasDeviceConfigList(BasDeviceConfig basDeviceConfig); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceInfoOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceInfoOperationLogMapper.java new file mode 100644 index 0000000..26e16da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceInfoOperationLogMapper.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDeviceInfoOperationLog; + +import java.sql.Timestamp; +import java.util.List; + +import cn.cecep.talroad.vo.query.FacilityInformationQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +/** + * @className: BasDeviceInfoOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:25 + * @Company: Copyright© [2023/04/28 17:25] by [Mr.Yanghongtao] + **/ +public interface BasDeviceInfoOperationLogMapper extends BaseMapper { + int deleteByPrimaryKey(String logId); + + int insert(BasDeviceInfoOperationLog record); + + int insertOrUpdate(BasDeviceInfoOperationLog record); + + int insertOrUpdateSelective(BasDeviceInfoOperationLog record); + + int insertSelective(BasDeviceInfoOperationLog record); + + BasDeviceInfoOperationLog selectByPrimaryKey(String logId); + + int updateByPrimaryKeySelective(BasDeviceInfoOperationLog record); + + int updateByPrimaryKey(BasDeviceInfoOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 15:29 + * @Deseription: 查询日志 + * @Params: null + * @Return: + * @Throws: + */ + List selectListByParam(Page page, + @Param("dto") FacilityInformationQuery dto, + @Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime + ); + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceMapper.java new file mode 100644 index 0000000..74db0d8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceMapper.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.vo.BasDeviceDCSSystemParamExcelVo; +import cn.cecep.talroad.vo.BasDeviceDCSSystemParamVo; +import cn.cecep.talroad.vo.BasDeviceVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.MapPointVo; +import cn.cecep.talroad.vo.query.BasDeviceDCSSystemParamQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 设备信息(有组织)Mapper接口 + * + * @author szhpt + * @date 2023-01-10 + */ +@Mapper +public interface BasDeviceMapper extends BaseMapper { + /** + * 查询设备信息(有组织)列表 + * + * @param basDevice 设备信息(有组织) + * @return 设备信息(有组织)集合 + */ + public List selectBasDeviceList(BasDevice basDevice); + + List> selectDeviceType(String industryCategory); + + List selectMapPoints(@Param("factoryId") String factoryId); + + void updateBatchCoordinate(List basDeviceSiteVoList); + + List groupByWorkStepSelect(@Param("factoryId") String factoryId, @Param("industryCategory") String industryCategory); + + IPage listDCSSystemParam(IPage page, + @Param("query") BasDeviceDCSSystemParamQuery query); + + List exportDCSSystemParam(@Param("query")BasDeviceDCSSystemParamQuery query); + + List groupByParamNameSelect(@Param("factoryId") String factoryId, @Param("industryCategory") String industryCategory); + FactoryDeviceVo selectFactoryDeviceVoByDeviceId(@Param("deviceId") String deviceId); + + List> selectDeviceStatusChart(@Param("deviceId") String deviceId, @Param("startTime") String startTime, @Param("endTime") String endTime); + + BasDeviceVo.CountOverview selectCountOverview(@Param("regionCodeList") List regionCodeList); + + BasDeviceVo.CoalCountOverview selectCoalCountOverview(@Param("regionCodeList") List regionCodeList); + + List selectCoalDiffuseList(@Param("deviceName") String deviceName, @Param("status") String status, @Param("regionCodeList") List regionCodeList); + + List selectCoalMapPoints(@Param("name") String name); + + List selectListByIndustry(@Param("industry") String industry, @Param("dataType") String dataType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceParamMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceParamMapper.java new file mode 100644 index 0000000..8a6c76d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceParamMapper.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.SetParamInfoVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +/** + * 各设备的监测参数属性Mapper接口 + * + * @author szhpt + * @date 2023-01-10 + */ +@Mapper +public interface BasDeviceParamMapper extends BaseMapper { + /** + * 查询各设备的监测参数属性列表 + * + * @param basDeviceParam 各设备的监测参数属性 + * @return 各设备的监测参数属性集合 + */ + public List selectBasDeviceParamList(BasDeviceParam basDeviceParam); + + int updateValue(List basDeviceParamVoList); + void updateByIdList(List BasDeviceParam); + + List queryNeedUpdateParamInfo(); + + int updateNeedUpdateParamInfo(List list); + + void batchInsert(List list); + + List selectBasDeviceParamByCondition(@Param("deviceId") String deviceId, @Param("list") List asList); + + List queryByDeviceIdListAndIndustry(@Param("deviceIdList") List deviceIdList, + @Param("industry") String industry, + @Param("paramName") String paramName); + + /** + * 根据条件查询符合条件的设备参数 + * bas_device_param.is_online = 1 + * bas_device_param_analyse.data_logic_abnormal_ew = 1 + * bas_device_sal_analysis.mon_status != '停产' + * @param deviceId 设备id + * @param dataType 分析数据类型 bas_device_param_analyse.data_type + * @param codeList 需要分析的参数列表 bas_param.param_code_svc + * @return + */ + List selectBasDeviceParamByAnalyse(@Param("deviceId") String deviceId,@Param("dataType") String dataType, @Param("codeList") List codeList); + + + List getParamCodeSvcByDeviceParamIds( @Param("list") List list); + + void updateValueParam(@Param("deviceId") String deviceId, @Param("datetype") String datetype, @Param("el") String el, @Param("isStatus") String isStatus); + + BasDeviceParam selectBasDeviceParam(@Param("datetype") String datetype,@Param("el") String el,@Param("deviceId") String deviceId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSalAnalysisMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSalAnalysisMapper.java new file mode 100644 index 0000000..33a4cfa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSalAnalysisMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BasDeviceSalAnalysisMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteCoordinateOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteCoordinateOperationLogMapper.java new file mode 100644 index 0000000..95d9dce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteCoordinateOperationLogMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDeviceSiteCoordinateOperationLog; +import cn.cecep.talroad.vo.query.BasDeviceSiteQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.sql.Timestamp; +import java.util.List; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: BasDeviceSiteCoordinateOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/30 10:06 + * @Company: Copyright© [2023/04/30 10:06] by [Mr.Yanghongtao] + **/ +@Mapper +public interface BasDeviceSiteCoordinateOperationLogMapper extends BaseMapper { + int insertSelective(BasDeviceSiteCoordinateOperationLog record); + + int updateByPrimaryKeySelective(BasDeviceSiteCoordinateOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + int insertOrUpdate(BasDeviceSiteCoordinateOperationLog record); + + int insertOrUpdateSelective(BasDeviceSiteCoordinateOperationLog record); + + List selectListByParam(Page page, @Param("dto") BasDeviceSiteQuery dto,@Param("startTime") Timestamp startTime,@Param("endTime") Timestamp endTime); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteMapper.java new file mode 100644 index 0000000..307a643 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceSiteMapper.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.vo.BasDeviceSiteExcelVo; +import cn.cecep.talroad.vo.BasDeviceSiteVo; +import cn.cecep.talroad.vo.MapPointVo; +import cn.cecep.talroad.vo.export.BasDeviceSiteExport; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface BasDeviceSiteMapper extends BaseMapper +{ + + List selectMapPoints(String factoryId); + + List selectExportBasDeviceList(BasDeviceSite basDeviceSite); + + IPage selectDeviceNameById(Page page, @Param("ew") QueryWrapper queryWrapper); + + List selectBasDeviceSiteExportList(@Param("ew") QueryWrapper queryWrapper); + List selectBasDeviceSiteExportListT(@Param("ew") QueryWrapper queryWrapper); + + List selectBasDeviceList(@Param("ew") QueryWrapper queryWrapper); + + BasDeviceSiteExport getByExport(@Param("id") String id); + + BasDeviceSiteVo.CountOverview selectCountOverview(@Param("regionCodeList") List regionCodeList); + + List> selectScatterChart(@Param("type") String type, @Param("regionCodeList") List regionCodeList); + + List selectDevicePoints(@Param("factoryId") String factoryId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceZlConfigMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceZlConfigMapper.java new file mode 100644 index 0000000..658677c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasDeviceZlConfigMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BasDeviceZlConfig; + +/** + * 转炉设备与转炉煤气放散设备映射关系Mapper接口 + * + * @author szhpt + * @date 2023-06-30*/ +@Mapper +public interface BasDeviceZlConfigMapper extends BaseMapper +{ + /** + * 查询转炉设备与转炉煤气放散设备映射关系列表 + * + * @param basDeviceZlConfig 转炉设备与转炉煤气放散设备映射关系 + * @return 转炉设备与转炉煤气放散设备映射关系集合 + */ + public List selectBasDeviceZlConfigList(BasDeviceZlConfig basDeviceZlConfig); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecDeviceMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecDeviceMapper.java new file mode 100644 index 0000000..41c93ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecDeviceMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasElecDevice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 分表计电设备信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BasElecDeviceMapper extends BaseMapper +{ + /** + * 查询分表计电设备信息列表 + * + * @param basElecDevice 分表计电设备信息 + * @return 分表计电设备信息集合 + */ + public List selectBasElecDeviceList(BasElecDevice basElecDevice); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecProCepMapMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecProCepMapMapper.java new file mode 100644 index 0000000..39ca516 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasElecProCepMapMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasElecProCepMap; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: BasElecProCepMapMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/06/29 17:53 + * @Company: Copyright© [2023/06/29 17:53] by [Mr.Yanghongtao] + **/ +@Mapper +public interface BasElecProCepMapMapper extends BaseMapper { + int insertSelective(BasElecProCepMap record); + + int updateByPrimaryKeySelective(BasElecProCepMap record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + int insertOrUpdate(BasElecProCepMap record); + + int insertOrUpdateSelective(BasElecProCepMap record); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasParamMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasParamMapper.java new file mode 100644 index 0000000..1fbe490 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasParamMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasParam; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 监测参数汇总(有组织)Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface BasParamMapper extends BaseMapper +{ + /** + * 查询监测参数汇总(有组织)列表 + * + * @param basParam 监测参数汇总(有组织) + * @return 监测参数汇总(有组织)集合 + */ + public List selectBasParamList(BasParam basParam); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasProductionDeviceOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasProductionDeviceOperationLogMapper.java new file mode 100644 index 0000000..052d372 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasProductionDeviceOperationLogMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasProductionDeviceOperationLog; +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: BasProductionDeviceOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:25 + * @Company: Copyright© [2023/04/28 17:25] by [Mr.Yanghongtao] + **/ +public interface BasProductionDeviceOperationLogMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasThresholdConfigMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasThresholdConfigMapper.java new file mode 100644 index 0000000..9cfe0c1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BasThresholdConfigMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.BasThresholdConfig; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析-阈值设置Mapper接口 + * + * @author szhpt + * @date 2023-05-18*/ +@Mapper +public interface BasThresholdConfigMapper extends BaseMapper +{ + /** + * 查询关联分析-阈值设置列表 + * + * @param basThresholdConfig 关联分析-阈值设置 + * @return 关联分析-阈值设置集合 + */ + public List selectBasThresholdConfigList(BasThresholdConfig basThresholdConfig); + + BasThresholdConfig selectByParamCode(@Param("paramCode") String paramCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseControlConcentStandardsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseControlConcentStandardsMapper.java new file mode 100644 index 0000000..9cdf71d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseControlConcentStandardsMapper.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BaseControlConcentStandards; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.domain.PcFactoryPollutant; +import cn.cecep.talroad.vo.BaseControlConcentStandardsVo; +import cn.cecep.talroad.vo.query.BaseControlConcentStandardsQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BaseControlConcentStandardsMapper extends BaseMapper { + /** + * delete by primary key + * @param id primaryKey + * @return deleteCount + */ + int deleteByPrimaryKey(String id); + + /** + * insert record to table + * @param record the record + * @return insert count + */ + int insert(BaseControlConcentStandards record); + + /** + * insert record to table selective + * @param record the record + * @return insert count + */ + int insertSelective(BaseControlConcentStandards record); + + /** + * select by primary key + * @param id primary key + * @return object by primary key + */ + BaseControlConcentStandards selectByPrimaryKey(String id); + + /** + * update record selective + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(BaseControlConcentStandards record); + + /** + * update record + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(BaseControlConcentStandards record); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + IPage selectListPage + (Page page, @Param("query") BaseControlConcentStandardsQuery query); + + List selectWarningStandards(); + + void updateAdviceEmissionAvg(@Param("standards") List standards); + + Integer deletePollutant(@Param("code") String code, @Param("type") Integer type); + + List addPollutant(@Param("code") String code, @Param("type") Integer type); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseRegionalControlObjectivesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseRegionalControlObjectivesMapper.java new file mode 100644 index 0000000..fc5fba3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/BaseRegionalControlObjectivesMapper.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import java.util.List; + +import cn.cecep.talroad.vo.BaseRegionalControlObjectivesVo; +import cn.cecep.talroad.vo.query.BaseRegionalControlObjectivesQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BaseRegionalControlObjectivesMapper extends BaseMapper { + /** + * delete by primary key + * @param id primaryKey + * @return deleteCount + */ + int deleteByPrimaryKey(String id); + + /** + * insert record to table + * @param record the record + * @return insert count + */ + int insert(BaseRegionalControlObjectives record); + + /** + * insert record to table selective + * @param record the record + * @return insert count + */ + int insertSelective(BaseRegionalControlObjectives record); + + /** + * select by primary key + * @param id primary key + * @return object by primary key + */ + BaseRegionalControlObjectives selectByPrimaryKey(String id); + + /** + * update record selective + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(BaseRegionalControlObjectives record); + + /** + * update record + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(BaseRegionalControlObjectives record); + + int batchInsert(@Param("list") List list); + + int updateBatchSelective(List list); + + /** + * 查询列表 + * @param page 分页信息 + * @param query 查询信息 + * @return 结果集 + */ + IPage selectListPage + (Page page, @Param("query") BaseRegionalControlObjectivesQuery query); + + List selectRegionAdviseEmissions(); + + void updateBatchSuggestedEmissions(@Param("updataList") List updataList); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EarlyWarningMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EarlyWarningMapper.java new file mode 100644 index 0000000..25b933c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EarlyWarningMapper.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.query.EarlyWarningQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.EarlyWarning; +import org.apache.ibatis.annotations.Param; + +/** + * 管控浓度超标预警Mapper接口 + * + * @author szhpt + * @date 2023-04-24*/ +@Mapper +public interface EarlyWarningMapper extends BaseMapper +{ + /** + * 查询管控浓度超标预警列表 + * + * @param earlyWarning 管控浓度超标预警 + * @param warning_time + * @param warning + * @param startTime + * @param endTime + * @return 管控浓度超标预警集合 + */ + public List selectEarlyWarningList(Page page, @Param("warning") EarlyWarningQuery warning, @Param("ew") QueryWrapper ew, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); + + void batchSave(@Param("addList") List addList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ElectricityMeterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ElectricityMeterMapper.java new file mode 100644 index 0000000..39d4788 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ElectricityMeterMapper.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.domain.vo.MonElecRealVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.List; + +/** + * @className: ElectricityMeterMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:46 PM + * @Company: Copyright© [2023/03/30 5:46 PM] by [Mr.Yanghongtao] + **/ +@Mapper +public interface ElectricityMeterMapper { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/30 6:32 PM + * @Deseription: 查询企业设备的监测点 + * @Params: dateTime 日期时间 + * @Params: deviceType 1-生产设施,2-治理设施 + * @Return: + * @Throws: + */ + List selectDeviceSiteList(@Param("dateTime") Timestamp dateTime, + @Param("endTime") Timestamp endTime, + @Param("deviceType") Integer deviceType); + + /** + * @Author: Mr.Yanghongtao + * @Date: 2023/6/9 13:35 + * @Deseription: 批量更新分表计设备监测点状态 + * @Params: null + * @Return: + * @Throws: + */ + void updateBatchStatus(@Param("list") List list); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EnvironmentalCodingMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EnvironmentalCodingMapper.java new file mode 100644 index 0000000..04f1abd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/EnvironmentalCodingMapper.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.List; + +/** + * @className: EnvironmentalCodingMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/08 1:48 PM + * @Company: Copyright© [2023/04/08 1:48 PM] by [Mr.Yanghongtao] + **/ +@Mapper +public interface EnvironmentalCodingMapper { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 1:50 PM + * @Deseription: 查询三级联动系统的内容 + * @Params: null + * @Return: + * @Throws: + */ + List selectListByTime(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime, + @Param("taskName") List taskName); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 7:10 PM + * @Deseription: 查询三级联动表 + * @Params: null + * @Return: + * @Throws: + */ + BMainThreeSupervisionEnforc selectBMainThreeSupervisionEnforcById(@Param("taskId") String taskId); + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 7:10 PM + * @Deseription: 查询三级联动表 + * @Params: null + * @Return: + * @Throws: + */ + AmProblemFi selectMamProblemFiById(@Param("id") String id); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 5:21 PM + * @Deseription: 查询分表计电预警数据 + * @Params: problemType 002002 - 启停问题 + * @Params: problemSources = 1 + * @Return: + * @Throws: + */ + List selectMamProblemFiList(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime, + @Param("problemType") String problemType, + @Param("problemSources") String problemSources + ); + + List selectMamProblemFiListNew(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime, + @Param("problemType") List problemType, + @Param("problemSources") String problemSources + ); + + /** + * 查询 排污单位自行监测数据超标 数据 + * @param startTime + * @param endTime + * @return + */ + List selectSRaSelfMonitoringDataList(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime + ); + + /** + * @Author: Mr.Yanghongtao + * @Date: 2023/6/28 17:55 + * @Deseription: 查询 每日数据传输率低于75%的企业 + * @Params: null + * @Return: + * @Throws: + */ + List selectSRaFactoryTransferRateAnalysisList(@Param("time") String time); + + /** + * 查询 排污单位自行监测数据超标 企业监测点-污染物-当前时间不超标的数据 + * + * @param selfMonitorsIds + * @param startTime + * @param endTime + * @return + */ + List selectSRaSelfMonitoringDataListByParams(@Param("selfMonitorsIds") List selfMonitorsIds, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FacilityInformationManagementMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FacilityInformationManagementMapper.java new file mode 100644 index 0000000..6ba5092 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FacilityInformationManagementMapper.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.vo.FacilityInformationManagementVO; +import cn.cecep.talroad.vo.query.FacilityInformationQuery; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.List; + +/** + * @className: FacilityInformationManagementMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 11:45 + * @Company: Copyright© [2023/04/28 11:45] by [Mr.Yanghongtao] + **/ +@Mapper +public interface FacilityInformationManagementMapper { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 12:28 + * @Deseription: 分表计电生产设施匹配列表 + * @Params: dto + * @Return: + * @Throws: + */ + List selectFacilityInformationManagementListByParams(Page page,@Param("dto") FacilityInformationQuery dto); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 11:33 + * @Deseription: 查询排污许可设施列表 + * @Params: deviceType + * @Return: + * @Throws: + */ + List selectPollutantDeviceList(@Param("factoryId") String factoryId, @Param("type") String type, @Param("deviceType") Integer deviceType); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 13:40 + * @Deseription: 保存 + * @Params: null + * @Return: + * @Throws: + */ + void updateDeviceAndPollutantCodeList(@Param("list") List dto); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 13:40 + * @Deseription: 保存 + * @Params: null + * @Return: + * @Throws: + */ + void cancelDeviceAndPollutantCodeList(@Param("list") List dto); + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 12:28 + * @Deseription: 分表计电生产设施匹配列表,提供给设施名称搜索按钮使用 + * @Params: dto + * @Return: + * @Throws: + */ + List selectFacilityInformationManagementSearchListByParams(@Param("factoryId") String factoryId, @Param("queryType") String queryType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingManifestMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingManifestMapper.java new file mode 100644 index 0000000..68e89be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingManifestMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.FactoryReportingManifest; +import org.apache.ibatis.annotations.Param; + +/** + * 企业信息上报任务清单Mapper接口 + * + * @author szhpt + * @date 2023-05-09*/ +@Mapper +public interface FactoryReportingManifestMapper extends BaseMapper +{ + /** + * 查询企业信息上报任务清单列表 + * + * @param factoryReportingManifest 企业信息上报任务清单 + * @return 企业信息上报任务清单集合 + */ + public List selectFactoryReportingManifestList(FactoryReportingManifest factoryReportingManifest); + + void insertBatch(@Param("addList") List i); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingRemindersMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingRemindersMapper.java new file mode 100644 index 0000000..1220c80 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingRemindersMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.FactoryReportingRemindersVo; +import cn.cecep.talroad.vo.query.FactoryReportingRemindersQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.FactoryReportingReminders; +import org.apache.ibatis.annotations.Param; + +/** + * 企业信息上报提交提示Mapper接口 + * + * @author szhpt + * @date 2023-05-09*/ +@Mapper +public interface FactoryReportingRemindersMapper extends BaseMapper +{ + /** + * 查询企业信息上报提交提示列表 + * + * @param factoryReportingReminders 企业信息上报提交提示 + * @return 企业信息上报提交提示集合 + */ + public List selectFactoryReportingRemindersList(FactoryReportingReminders factoryReportingReminders); + + Integer updateReminder(@Param("factfactoryReportingReminders") FactoryReportingRemindersVo factfactoryReportingReminders); + + List factoryReportingRemindersList(@Param("page") Page page, @Param("query") FactoryReportingRemindersQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingTaskMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingTaskMapper.java new file mode 100644 index 0000000..1dc422f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/FactoryReportingTaskMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.FactoryReportingTask; + +/** + * 企业信息上报任务Mapper接口 + * + * @author szhpt + * @date 2023-05-09*/ +@Mapper +public interface FactoryReportingTaskMapper extends BaseMapper +{ + /** + * 查询企业信息上报任务列表 + * + * @param factoryReportingTask 企业信息上报任务 + * @return 企业信息上报任务集合 + */ + public List selectFactoryReportingTaskList(FactoryReportingTask factoryReportingTask); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/GasReleaseRealStatusMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/GasReleaseRealStatusMapper.java new file mode 100644 index 0000000..ce6a861 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/GasReleaseRealStatusMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.GasReleaseRealStatus; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface GasReleaseRealStatusMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/IotDeviceTypeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/IotDeviceTypeMapper.java new file mode 100644 index 0000000..5d3aaf1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/IotDeviceTypeMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.IotDeviceType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IotDeviceTypeMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/LeaderCockpitMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/LeaderCockpitMapper.java new file mode 100644 index 0000000..822ec73 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/LeaderCockpitMapper.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.mapper; + + +import cn.cecep.talroad.domain.leader.vo.*; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 领导驾驶舱持久层 + */ +public interface LeaderCockpitMapper { + + List selectStationTypeList(); + + /** + * 地图上层的三个数量 + * @return + */ + MapUpVo selectMapUpCount(); + + /** + * 获取数据库总条数 + * @return + */ + Long getDatabaseDataCount(); + + + /** + * 企业管理类型统计数量 + * @return + */ + ManTypeVO getFactoryManTypeCount(); + + /** + * 企业接入数据类型数量 + * @return + */ + ListgetFactoryDataTypeCount(); + + /** + * 设备数量查询 + * @return + */ + DeviceCountVO selectDeviceCount(); + + /** + * 查询排口总数量 + * @return + */ + OutletCountVO selectOutletCount(); + + + /** + * 获取问题类型大小类数量 + * @return + */ + ProblemTypeCountVO selectProblemTypeCount(); + + /** + * 获取问题处置情况数量 + * @return + */ + ProblemDoingCountVO selectProblemDoingCount(); + + /** + * 大类分组查询问题数量 + * @return + */ + List selectProblemOneLevelGroupCount(); + + /** + * 小类分组查询问题数量 + * @return + */ + List selectProblemTwoLevelGroupCount(@Param("problemId") String problemId); + + /** + * 获取唐山最新空气质量排名 + */ + AirQualityDataVO getCityAirQualityData(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmDoorMonitorAccountFiMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmDoorMonitorAccountFiMapper.java new file mode 100644 index 0000000..fea675d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmDoorMonitorAccountFiMapper.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MAmDoorMonitorAccountFi; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface MAmDoorMonitorAccountFiMapper extends BaseMapper { + + List> selectByMaps(@Param("map") Map params); + + List selectLists(@Param("map") Map params); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmProblemFiRatioMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmProblemFiRatioMapper.java new file mode 100644 index 0000000..801a60b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmProblemFiRatioMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.data.anomaly.task.entity.ProblemRatioDTO; +import cn.cecep.talroad.domain.MAmProblemFiRatio; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface MAmProblemFiRatioMapper extends BaseMapper { + int insertSelective(MAmProblemFiRatio record); + + int updateByPrimaryKeySelective(MAmProblemFiRatio record); + + List queryMamProblemFiRatioListByFactoriesIds(@Param("list") List factoriesIds); + + void batchInsert(@Param("list") List newList); + + void batchUpdate(@Param("list") List updateList); + + List queryMamProblemFiRatioListByProblemRatioDTOList( + List problemRatioDTOList); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoCoordinateOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoCoordinateOperationLogMapper.java new file mode 100644 index 0000000..49cfe0c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoCoordinateOperationLogMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: MAmVideoCoordinateOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:26 + * @Company: Copyright© [2023/04/28 17:26] by [Mr.Yanghongtao] + **/ +public interface MAmVideoCoordinateOperationLogMapper extends BaseMapper { + int deleteByPrimaryKey(String logId); + + int insert(MAmVideoCoordinateOperationLog record); + + int insertOrUpdate(MAmVideoCoordinateOperationLog record); + + int insertOrUpdateSelective(MAmVideoCoordinateOperationLog record); + + int insertSelective(MAmVideoCoordinateOperationLog record); + + MAmVideoCoordinateOperationLog selectByPrimaryKey(String logId); + + int updateByPrimaryKeySelective(MAmVideoCoordinateOperationLog record); + + int updateByPrimaryKey(MAmVideoCoordinateOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoDevFiMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoDevFiMapper.java new file mode 100644 index 0000000..d442d90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoDevFiMapper.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.cecep.talroad.vo.MAmVideoDevFiVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 基础信息 与 产治排跟踪--视频设施清单Mapper接口 + * + * @author szhpt + * @date 2023-02-10 + */ +@Mapper +public interface MAmVideoDevFiMapper extends BaseMapper { + /** + * 查询基础信息 与 产治排跟踪--视频设施清单列表 + * + * @param mAmVideoDevFi 基础信息 与 产治排跟踪--视频设施清单 + * @return 基础信息 与 产治排跟踪--视频设施清单集合 + */ + public List selectMAmVideoDevFiList(MAmVideoDevFi mAmVideoDevFi); + + + List selectListDel(); + + int batchInsert(List mAmVideoDevFiList); + int updateBatchCoordinate(List mAmVideoDevFiList); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoInfoOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoInfoOperationLogMapper.java new file mode 100644 index 0000000..f129dd9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MAmVideoInfoOperationLogMapper.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MAmVideoInfoOperationLog; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.sql.Timestamp; +import java.util.List; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: MAmVideoInfoOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/30 10:11 + * @Company: Copyright© [2023/04/30 10:11] by [Mr.Yanghongtao] + **/ +@Mapper +public interface MAmVideoInfoOperationLogMapper extends BaseMapper { + int insertSelective(MAmVideoInfoOperationLog record); + + int updateByPrimaryKeySelective(MAmVideoInfoOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + int insertOrUpdate(MAmVideoInfoOperationLog record); + + int insertOrUpdateSelective(MAmVideoInfoOperationLog record); + + List selectListByParam(Page page, + @Param("dto") AmVideoDevFiQuery dto, + @Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime + ); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlHourMapper.java new file mode 100644 index 0000000..3780315 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevBlHour; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-玻璃-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevBlHourMapper extends BaseMapper +{ + /** + * 查询设备数据-玻璃-小时 保存设备的小时数据列表 + * + * @param monDevBlHour 设备数据-玻璃-小时 保存设备的小时数据 + * @return 设备数据-玻璃-小时 保存设备的小时数据集合 + */ + public List selectMonDevBlHourList(MonDevBlHour monDevBlHour); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlOtherMapper.java new file mode 100644 index 0000000..8cf8b03 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlOtherMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevBlOther; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevBlOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-玻璃-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevBlOther 设备数据-玻璃-其它时间 保存设备的小时以上的数据 + * @return 设备数据-玻璃-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevBlOtherList(MonDevBlOther monDevBlOther); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlRealMapper.java new file mode 100644 index 0000000..c7fb9ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevBlRealMapper.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.vo.MonDevBlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-玻璃-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevBlRealMapper extends BaseMapper +{ + /** + * 查询设备数据-玻璃-实时 保存设备的实时数据列表 + * + * @param monDevBlReal 设备数据-玻璃-实时 保存设备的实时数据 + * @return 设备数据-玻璃-实时 保存设备的实时数据集合 + */ + public List selectMonDevBlRealList(MonDevBlReal monDevBlReal); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectLatestByParams(@Param("industry") String industry,@Param("deviceType")String deviceType,@Param("lastDate")Date lastDate,@Param("currDate")Date currDate); + + List selectAvgPhByParams(@Param("lastDayBegin") Date lastDayBegin, @Param("lastDayEnd") Date lastDayEnd); + + List selectPumpStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectAvgTempByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlHourMapper.java new file mode 100644 index 0000000..77ea23d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevDlHour; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-电力-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevDlHourMapper extends BaseMapper +{ + /** + * 查询设备数据-电力-小时 保存设备的小时数据列表 + * + * @param monDevDlHour 设备数据-电力-小时 保存设备的小时数据 + * @return 设备数据-电力-小时 保存设备的小时数据集合 + */ + public List selectMonDevDlHourList(MonDevDlHour monDevDlHour); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlOtherMapper.java new file mode 100644 index 0000000..1bec9b7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlOtherMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevDlOther; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevDlOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-电力-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevDlOther 设备数据-电力-其它时间 保存设备的小时以上的数据 + * @return 设备数据-电力-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevDlOtherList(MonDevDlOther monDevDlOther); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlRealMapper.java new file mode 100644 index 0000000..bbca545 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevDlRealMapper.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.vo.MonDevDlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-电力-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevDlRealMapper extends BaseMapper +{ + /** + * 查询设备数据-电力-实时 保存设备的实时数据列表 + * + * @param monDevDlReal 设备数据-电力-实时 保存设备的实时数据 + * @return 设备数据-电力-实时 保存设备的实时数据集合 + */ + public List selectMonDevDlRealList(MonDevDlReal monDevDlReal); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectLatestByParams(@Param("industry") String industry, @Param("deviceType") String deviceType, @Param("lastDate") Date lastDate,@Param("currDate") Date currDate); + + List selectAvgPhByParams(@Param("lastDayBegin") Date lastDayBegin, @Param("lastDayEnd") Date lastDayEnd); + + List selectPumpStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectOxFanStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsHourMapper.java new file mode 100644 index 0000000..021ce99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevFsHourMapper extends BaseMapper +{ + /** + * 查询设备数据-垃圾焚烧-小时 保存设备的小时数据列表 + * + * @param monDevFsHour 设备数据-垃圾焚烧-小时 保存设备的小时数据 + * @return 设备数据-垃圾焚烧-小时 保存设备的小时数据集合 + */ + public List selectMonDevFsHourList(MonDevFsHour monDevFsHour); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsOtherMapper.java new file mode 100644 index 0000000..7782ed4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsOtherMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevFsOther; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevFsOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevFsOther 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + * @return 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevFsOtherList(MonDevFsOther monDevFsOther); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsRealMapper.java new file mode 100644 index 0000000..0dae7fc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevFsRealMapper.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.vo.MonDevFsRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevFsRealMapper extends BaseMapper +{ + /** + * 查询设备数据-垃圾焚烧-实时 保存设备的实时数据列表 + * + * @param monDevFsReal 设备数据-垃圾焚烧-实时 保存设备的实时数据 + * @return 设备数据-垃圾焚烧-实时 保存设备的实时数据集合 + */ + public List selectMonDevFsRealList(MonDevFsReal monDevFsReal); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectLatestByParams(@Param("industry") String industry, @Param("deviceType") String deviceType, @Param("lastDate") Date lastDate,@Param("currDate") Date currDate); + + List selectAvgPhByParams(@Param("lastDayBegin") Date lastDayBegin, @Param("lastDayEnd") Date lastDayEnd); + + List selectPumpStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectOxFanStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectAvgTempByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectLatestHourDataByParams(@Param("factoryId") String factoryId, @Param("deviceId") String deviceId, @Param("lastDate") Date lastDate); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevHourMapper.java new file mode 100644 index 0000000..c57717a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevHour; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevHourMapper extends BaseMapper +{ + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevHour 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevHourList(MonDevHour monDevHour); + + List getDataPage2(Page page, @Param(Constants.WRAPPER)QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhHourMapper.java new file mode 100644 index 0000000..ab989c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevJhHour; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-焦化-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevJhHourMapper extends BaseMapper +{ + /** + * 查询设备数据-焦化-小时 保存设备的小时数据列表 + * + * @param monDevJhHour 设备数据-焦化-小时 保存设备的小时数据 + * @return 设备数据-焦化-小时 保存设备的小时数据集合 + */ + public List selectMonDevJhHourList(MonDevJhHour monDevJhHour); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhOtherMapper.java new file mode 100644 index 0000000..1b30193 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhOtherMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevJhOther; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevJhOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-焦化-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevJhOther 设备数据-焦化-其它时间 保存设备的小时以上的数据 + * @return 设备数据-焦化-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevJhOtherList(MonDevJhOther monDevJhOther); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhRealMapper.java new file mode 100644 index 0000000..64fba90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevJhRealMapper.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.vo.MonDevJhRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-焦化-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevJhRealMapper extends BaseMapper +{ + /** + * 查询设备数据-焦化-实时 保存设备的实时数据列表 + * + * @param monDevJhReal 设备数据-焦化-实时 保存设备的实时数据 + * @return 设备数据-焦化-实时 保存设备的实时数据集合 + */ + public List selectMonDevJhRealList(MonDevJhReal monDevJhReal); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectLastHourData(MonDevJhReal real); + + List selectLatestByParams(@Param("industry") String industry, @Param("deviceType") String deviceType, @Param("lastDate") Date lastDate,@Param("currDate")Date currDate); + + List selectAvgTempByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectAvgPressByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectMonDevJhRealListByDataTime(@Param("queryBeginTime") DateTime queryBeginTime, @Param("queryEndTime") DateTime queryEndTime, @Param("deviceId") String deviceId); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevOtherMapper.java new file mode 100644 index 0000000..7976bb5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevOtherMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevOther; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevOtherMapper extends BaseMapper +{ + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevOther 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevOtherList(MonDevOther monDevOther); + + List getDataPage2(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevRealMapper.java new file mode 100644 index 0000000..fcf8024 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevRealMapper.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.MonDevGtRealVO; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevRealMapper extends BaseMapper +{ + /** + * 查询设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数列表 + * + * @param monDevReal 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + * @return 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数集合 + */ + public List selectMonDevRealList(MonDevReal monDevReal); + + List getDataPage2(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + public List selectLatestByCondition(@Param("industry") String industry,@Param("deviceType") String deviceType, @Param("startDate") Date startDate,@Param("endDate") Date endDate); + + List selectLastHourData(MonDevReal real); + + List selectLastHourDataOne(MonDevReal real); + + List selectLatestByParam(@Param("industry") String industry,@Param("deviceType") String deviceType, @Param("startDate") Date startDate,@Param("endDate") Date endDate); + + List selectAvgTempByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectAvgPressByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectLatestMqgwByParam(@Param("industry") String industry,@Param("deviceType") String deviceType, @Param("startDate") Date startDate,@Param("endDate") Date endDate); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnHourMapper.java new file mode 100644 index 0000000..0cdde30 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnHourMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevSnHour; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备数据-水泥-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevSnHourMapper extends BaseMapper +{ + /** + * 查询设备数据-水泥-小时 保存设备的小时数据列表 + * + * @param monDevSnHour 设备数据-水泥-小时 保存设备的小时数据 + * @return 设备数据-水泥-小时 保存设备的小时数据集合 + */ + public List selectMonDevSnHourList(MonDevSnHour monDevSnHour); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnOtherMapper.java new file mode 100644 index 0000000..a99c7f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnOtherMapper.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevSnOther; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevSnOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-水泥-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevSnOther 设备数据-水泥-其它时间 保存设备的小时以上的数据 + * @return 设备数据-水泥-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevSnOtherList(MonDevSnOther monDevSnOther); + + List getDataPage(Page page, QueryWrapper queryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnRealMapper.java new file mode 100644 index 0000000..e581e87 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevSnRealMapper.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.vo.MonDevSnRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-水泥-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevSnRealMapper extends BaseMapper +{ + /** + * 查询设备数据-水泥-实时 保存设备的实时数据列表 + * + * @param monDevSnReal 设备数据-水泥-实时 保存设备的实时数据 + * @return 设备数据-水泥-实时 保存设备的实时数据集合 + */ + public List selectMonDevSnRealList(MonDevSnReal monDevSnReal); + + List getDataPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectLatestByParams(@Param("industry") String industry, @Param("deviceType") String deviceType, @Param("lastDate") Date lastDate,@Param("currDate") Date currDate); + + List selectPumpStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectOxFanStateByParams(@Param("lastHourBegin") Date lastHourBegin, @Param("lastHourEnd") Date lastHourEnd); + + List selectLastDayData(@Param("lastDayBegin") DateTime lastDayBegin, @Param("lastDayEnd")DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcHourMapper.java new file mode 100644 index 0000000..d6e69b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcHourMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevTcHour; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevTcHourMapper extends BaseMapper +{ + /** + * 查询设备数据-陶瓷-小时 保存设备的小时数据列表 + * + * @param monDevTcHour 设备数据-陶瓷-小时 保存设备的小时数据 + * @return 设备数据-陶瓷-小时 保存设备的小时数据集合 + */ + public List selectMonDevTcHourList(MonDevTcHour monDevTcHour); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcOtherMapper.java new file mode 100644 index 0000000..8107572 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcOtherMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevTcOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevTcOtherMapper extends BaseMapper +{ + /** + * 查询设备数据-陶瓷-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevTcOther 设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + * @return 设备数据-陶瓷-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevTcOtherList(MonDevTcOther monDevTcOther); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcRealMapper.java new file mode 100644 index 0000000..01c77eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonDevTcRealMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonDevTcReal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonDevTcRealMapper extends BaseMapper +{ + /** + * 查询设备数据-陶瓷-实时 保存设备的实时数据列表 + * + * @param monDevTcReal 设备数据-陶瓷-实时 保存设备的实时数据 + * @return 设备数据-陶瓷-实时 保存设备的实时数据集合 + */ + public List selectMonDevTcRealList(MonDevTcReal monDevTcReal); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecEventMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecEventMapper.java new file mode 100644 index 0000000..d3296eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecEventMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonElecEvent; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonElecEventMapper extends BaseMapper +{ + /** + * 查询有组织-分表计电设备对应 两类设备为多对多的关系列表 + * + * @param monElecEvent 有组织-分表计电设备对应 两类设备为多对多的关系 + * @return 有组织-分表计电设备对应 两类设备为多对多的关系集合 + */ + public List selectMonElecEventList(MonElecEvent monElecEvent); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecHourMapper.java new file mode 100644 index 0000000..23cf91c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecHourMapper.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonElecHour; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author thy + * @since 2023-04-02 + */ +@Mapper +public interface MonElecHourMapper extends BaseMapper { + + void insertMonElecHours(List list); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOperationLogMapper.java new file mode 100644 index 0000000..ba75939 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOperationLogMapper.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonElecOperationLog; +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * @className: MonElecOperationLogMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 17:26 + * @Company: Copyright© [2023/04/28 17:26] by [Mr.Yanghongtao] + **/ +public interface MonElecOperationLogMapper extends BaseMapper { + int deleteByPrimaryKey(String logId); + + int insert(MonElecOperationLog record); + + int insertOrUpdate(MonElecOperationLog record); + + int insertOrUpdateSelective(MonElecOperationLog record); + + int insertSelective(MonElecOperationLog record); + + MonElecOperationLog selectByPrimaryKey(String logId); + + int updateByPrimaryKeySelective(MonElecOperationLog record); + + int updateByPrimaryKey(MonElecOperationLog record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOtherMapper.java new file mode 100644 index 0000000..c0731ca --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecOtherMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.data.analyse.task.entity.FactoryActivePowerQuantityVO; +import cn.cecep.talroad.domain.MonElecOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author thy + * @since 2023-04-02 + */ +@Mapper +public interface MonElecOtherMapper extends BaseMapper { + + void insertMonElecOther(List list); + + List selectFactoryActivePowerQuantity(@Param("startTime") String startTime, @Param("endTime") String endTime); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecRealMapper.java new file mode 100644 index 0000000..d24664f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/MonElecRealMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.MonElecReal; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import cn.cecep.talroad.vo.MonElecRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.query.MonElecRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Date; +import java.util.Map; + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface MonElecRealMapper extends BaseMapper +{ + + List selectElecRealPage(@Param("page") Page page, @Param("query") MonElecRealQuery query); + + List selectLatestMonElecRealByParams(@Param("industry") String industry,@Param("deviceType")String deviceType,@Param("lastDate")Date lastDate,@Param("currDate")Date currDate); + + List> selectKwhChartData(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("regionCodeList") List regionCodeList); + + List selectKwhMonitor(@Param("type") String type, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("regionCodeList") List regionCodeList); + + List selectLastDayData(@Param("lastDayBegin") DateTime queryBeginTime,@Param("lastDayEnd") DateTime queryEndTime,@Param("pageSize")Integer pageSize,@Param("startCount")Integer startCount); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionAqiHourIMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionAqiHourIMapper.java new file mode 100644 index 0000000..1866693 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionAqiHourIMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.OdsAirRegionAqiHourI; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ccc + * @since 2023-07-18 + */ +public interface OdsAirRegionAqiHourIMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionHourIMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionHourIMapper.java new file mode 100644 index 0000000..bd5500e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsAirRegionHourIMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import java.math.BigDecimal; +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsAirRegionHourI; +import org.apache.ibatis.annotations.Param; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-27*/ +@Mapper +public interface OdsAirRegionHourIMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsAirRegionHourI 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsAirRegionHourIList(OdsAirRegionHourI odsAirRegionHourI); + + BigDecimal selectAvgTemp(@Param("lastHour") String lastHour); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsElectricityElecPsEquipRelationTsAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsElectricityElecPsEquipRelationTsAMapper.java new file mode 100644 index 0000000..ddff0e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsElectricityElecPsEquipRelationTsAMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.OdsElectricityElecPsEquipRelationTsA; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author thy + * @since 2023-04-01 + */ +@Mapper +public interface OdsElectricityElecPsEquipRelationTsAMapper extends BaseMapper { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/1 4:37 PM + * @Deseription: 通过治理设施ID查询对应的生产设施状态 + * @Params: null + * @Return: + * @Throws: + */ + List selectListByDeviceIdAndTime(@Param("deviceIds") List deviceIds, @Param("updateTime") Timestamp updateTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsInorganizationWeiStationHourIMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsInorganizationWeiStationHourIMapper.java new file mode 100644 index 0000000..7790e2b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsInorganizationWeiStationHourIMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsInorganizationWeiStationHourIMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsInorganizationWeiStationHourI 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsInorganizationWeiStationHourIList(OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingShStationHourIMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingShStationHourIMapper.java new file mode 100644 index 0000000..78ed7d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingShStationHourIMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; + +/** + * ods层网格化市控站点小时增量Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsMeshingShStationHourIMapper extends BaseMapper +{ + /** + * 查询ods层网格化市控站点小时增量列表 + * + * @param odsMeshingShStationHourI ods层网格化市控站点小时增量 + * @return ods层网格化市控站点小时增量集合 + */ + public List selectOdsMeshingShStationHourIList(OdsMeshingShStationHourI odsMeshingShStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingWeiStationHourIMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingWeiStationHourIMapper.java new file mode 100644 index 0000000..037db96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsMeshingWeiStationHourIMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; + +/** + * ods层网格化微站站点小时增量Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsMeshingWeiStationHourIMapper extends BaseMapper +{ + /** + * 查询ods层网格化微站站点小时增量列表 + * + * @param odsMeshingWeiStationHourI ods层网格化微站站点小时增量 + * @return ods层网格化微站站点小时增量集合 + */ + public List selectOdsMeshingWeiStationHourIList(OdsMeshingWeiStationHourI odsMeshingWeiStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlDgiinfoAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlDgiinfoAMapper.java new file mode 100644 index 0000000..fe00128 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlDgiinfoAMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsOnlineOlDgiinfoAMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlDgiinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlDgiinfoAList(OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPortinfoAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPortinfoAMapper.java new file mode 100644 index 0000000..2e9c109 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPortinfoAMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; +import org.apache.ibatis.annotations.Param; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsOnlineOlPortinfoAMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPortinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPortinfoAList(OdsOnlineOlPortinfoA odsOnlineOlPortinfoA); + + List selectEnableStationInfo(@Param("portTypeId") String portTypeId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsWhitelistAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsWhitelistAMapper.java new file mode 100644 index 0000000..1cb8a53 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsWhitelistAMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsOnlineOlPsWhitelistAMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsWhitelistA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPsWhitelistAList(OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsinfoAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsinfoAMapper.java new file mode 100644 index 0000000..d3aa830 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlPsinfoAMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsOnlineOlPsinfoAMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPsinfoAList(OdsOnlineOlPsinfoA odsOnlineOlPsinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlStopinfoAMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlStopinfoAMapper.java new file mode 100644 index 0000000..3a82331 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/OdsOnlineOlStopinfoAMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author szhpt + * @date 2023-06-10*/ +@Mapper +public interface OdsOnlineOlStopinfoAMapper extends BaseMapper +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlStopinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlStopinfoAList(OdsOnlineOlStopinfoA odsOnlineOlStopinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodAreaInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodAreaInfoMapper.java new file mode 100644 index 0000000..84a3cc2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodAreaInfoMapper.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PCodeAreaInfo; +import cn.cecep.talroad.domain.vo.ControlVo; +import cn.cecep.talroad.domain.vo.UserVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.mapper + * @ClassName: PCodAreaInfoMapper + * @Author: wyg + * @Description: PCodAreaInfoMapper + * @Date: 2023/6/13 10:34 + * @Version: 1.0 + */ +public interface PCodAreaInfoMapper extends BaseMapper { + + //type 显示类型 1监测地图 2站点 + List findDataPollution(@Param("controlList") List list, @Param("controlType") String controlType, @Param("type") String type); + + List> findJurisdictionData(@Param("regionCode") String regionCode); + + List> getIndustryCategoryList(Map map); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodCompanyMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodCompanyMapper.java new file mode 100644 index 0000000..af3cad7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodCompanyMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PCodCompany; +import cn.cecep.talroad.domain.dto.PollutionSourceDto; +import cn.cecep.talroad.domain.vo.PCodCompanyVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.mapper + * @ClassName: PCodCompanyMapper + * @Author: wyg + * @Description: PCodCompanyMapper + * @Date: 2023/6/13 14:54 + * @Version: 1.0 + */ +public interface PCodCompanyMapper extends BaseMapper { + /** + * 查询污染源信息 + * + * @param pollutionSourceDto + */ + public List queryPCodCompanyList(@Param("source") PollutionSourceDto pollutionSourceDto); + + Integer checkNameIsExist(@Param("name") String name, @Param("areaCode") String areaCode); + + Integer checkNameForUpdate(@Param("name") String name, @Param("areaCode") String areaCode, @Param("companyId") String companyId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodeStationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodeStationMapper.java new file mode 100644 index 0000000..141eeae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PCodeStationMapper.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PCodeStation; +import cn.cecep.talroad.domain.vo.SiteOperationParamVo; +import cn.cecep.talroad.domain.vo.SiteOperationVo; +import cn.cecep.talroad.domain.vo.SiteQueryParamVo; +import cn.cecep.talroad.domain.vo.StationUnrepeatedVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 站点表 Mapper 接口 + */ +public interface PCodeStationMapper extends BaseMapper { + + List querySiteInformations(@Param("site") SiteQueryParamVo paramVo); + + List findSiteList(@Param("site") SiteOperationParamVo siteOperationParamVo); + + List isExist(@Param("info") StationUnrepeatedVo stationUnrepeatedVo); + + /** + * 查询全国国省控站点 + * @return + */ + List findAllCityStations(); + + + /** + * 查询站点部分信息 + * + * @param stationId 站点id + * @return + */ + Map findStationInfo(@Param("stationId") String stationId); + + /** + * 查询城市编号 + * + * @param stationId 站点id + * @return + */ + String findCityCodeByStationId(@Param("stationId") String stationId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslFactoryMapper.java new file mode 100644 index 0000000..e2266e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslFactoryMapper.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcAdslFactory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 企业与接入数据类型关联Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcAdslFactoryMapper extends BaseMapper +{ + /** + * 查询企业与接入数据类型关联列表 + * + * @param pcAdslFactory 企业与接入数据类型关联 + * @return 企业与接入数据类型关联集合 + */ + public List selectPcAdslFactoryList(PcAdslFactory pcAdslFactory); + + /** + * 企业数据接入全面度 + * @param factoryId + * @return + */ + List> selectEntInDatas(String factoryId); + + /** + * 清空表 + */ + public void truncateAll(); + + /** + * 在线监测企业接入全面度 + */ + public void onlineAdsl(); + + /** + * 分表计电企业接入全面度 + */ + public void elecAdsl(); + + /** + * 工况企业接入全面度 + */ + public void dcsAdsl(); + + /** + * 无组织接入全面度 + */ + public void inorgAdsl(); + + /** + * 视频接入全面度 + */ + public void videoAdsl(); + + /** + * 动态管控接入全面度 + */ + public void dynamicAdsl(); + + /** + * 门禁接入全面度 + */ + public void doorAdsl(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslMapper.java new file mode 100644 index 0000000..531b889 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcAdslMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcAdsl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业接入数据类型Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcAdslMapper extends BaseMapper +{ + /** + * 查询企业接入数据类型列表 + * + * @param pcAdsl 企业接入数据类型 + * @return 企业接入数据类型集合 + */ + public List selectPcAdslList(PcAdsl pcAdsl); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcArchivesFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcArchivesFactoryMapper.java new file mode 100644 index 0000000..1d0886e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcArchivesFactoryMapper.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcArchivesFactory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PcArchivesFactoryMapper extends BaseMapper +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcControlRequirementsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcControlRequirementsMapper.java new file mode 100644 index 0000000..feca697 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcControlRequirementsMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcControlRequirements; +import cn.cecep.talroad.vo.PcControlRequirementsVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 管控要求Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcControlRequirementsMapper extends BaseMapper +{ + /** + * 查询管控要求列表 + * + * @param pcControlRequirements 管控要求 + * @return 管控要求集合 + */ + public List selectPcControlRequirementsList(PcControlRequirements pcControlRequirements); + + List selectLabelRequirements(); + + List selectLabelOnlineRequirements(); + + List selectLabelOnlineOutPoll(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlCoordinateOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlCoordinateOperationLogMapper.java new file mode 100644 index 0000000..d3e87ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlCoordinateOperationLogMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +public interface PcFactoryAccessControlCoordinateOperationLogMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlMapper.java new file mode 100644 index 0000000..9bbbdb5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryAccessControlMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PcFactoryAccessControlMapper extends BaseMapper { + + + int updateBatchCoordinate(List pcFactoryAccessControlList); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryCoordinateOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryCoordinateOperationLogMapper.java new file mode 100644 index 0000000..67cb829 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryCoordinateOperationLogMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryCoordinateOperationLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +public interface PcFactoryCoordinateOperationLogMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryMapper.java new file mode 100644 index 0000000..92976cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryMapper.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.FactoryOutletVo; +import cn.cecep.talroad.vo.analysis.PermitEmissionsFactoryVO; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * 企业基本信息Mapper接口 + * + * @author szhpt + * @date 2023-01-11*/ +@Mapper +public interface PcFactoryMapper extends BaseMapper +{ + List selectPcFactoryVoList(@Param("query") PcFactoryQuery query,@Param("str") String str,@Param("regionCodes")List regionCodes); + + HpmCompanyOverviewVo selectCompanyOverview(@Param("industry") String industry,@Param("regionCodes")List regionCodes); + + HpmCompanyOverviewVo selectOutletOverview(@Param("industry") String industry,@Param("regionCodes")List regionCodes); + + HpmMeriRatingOverviewVo selectMeritRatingOverview(@Param("industry") String industry,@Param("regionCodes")List regionCodes); + + HpmEnvironmentOverviewVo selectOnvironmentOverview(@Param("industry") String industry,@Param("regionCodes")List regionCodes); + + HpmEmissionTrackingOverviewVo selectGasEmissionTrackingOverview(@Param("emissionType")String emissionType,@Param("regionCodes")List regionCodes); + + HpmEmissionTrackingOverviewVo selectWaterEmissionTrackingOverview(@Param("emissionType")String emissionType,@Param("regionCodes")List regionCodes); + + List selectImportPollutionDischarge(@Param("regionCodes") List regionCodes); + + EnvironmentCreditPropVo selectProportionOfEcologicalEnvironmentCredit(); + + List selectPcFactoryVoPage(@Param("page") Page page, @Param("query") PcFactoryQuery query,@Param("str") String str + ,@Param("regionCodes")List regionCodes); + + List selectIndustryEmissionTrackingOverviewVo(@Param("industry") String industry, @Param("emissionType") String emissionType); + + + List selectTop10CompaniesWithPollutantEmissionsInTheIndustry(@Param("industry") String industry, @Param("pollutantType") String pollutantType, @Param("regionCodes")List regionCodes); + + List> selectEmissionsByCompany(@Param("pollutantType") String pollutantType, @Param("groupByIndustry") boolean groupByIndustry); + + PcFactory selectPcFactoryById(String id); + + List selectPcFactory(); + + /** + * 查询排污许可在有效期内的企业列表 + * @return + */ + List selectPermitEmissionsFactoryList(); + + HpmCompanyOverviewVo selectWaterRainwaterOutlet(@Param("industry") String industry,@Param("regionCodes")List regionCodes); + + void updateScore(@Param("id") String id, @Param("score") Integer score); + + void updateScoreBatch(List list); + + /** + * 根据 factoryIds 查询七个数据源是否有站点接入 + * + * @param factoryIds + * @return + */ + List selectSourceIsHaveDataByFacIds(@Param("factoryIds") Set factoryIds); + + List selectRegulateBusinesses(); + + OverviewOnlineMonitorsVo overviewOnlineMonitors(@Param("regionCodes") List regionCodes); + + MonitoringPointWarningVo gasMonitoringPointWarning(@Param("regionCodes") List regionCodes); + + MonitoringPointWarningVo waterMonitoringPointWarning(@Param("regionCodes") List regionCodes); + + List monitoringPointWarningDetails(Page page, @Param("regionCodes") List regionCodes); + + List enterpriseIssuesTop(@Param("regionCodes") List regionCodes); + + List effectiveMonitoringRate(EffectiveMonitoringRateQuery query); + + List gasEffectiveMonitoringRate(EffectiveMonitoringRateQuery query); + + List numberMonitoringPoints(EffectiveMonitoringRateQuery query); + + /** + * @param query + * @return + */ + List monitoringRate(EffectiveMonitoringRateQuery query); + + List excessRate(EffectiveMonitoringRateQuery query); + + List selectMajorPollutantCategory(); + + List selectPcFactoryId(); + + FactoryOutletVo selectByFactoryAndOutletId(@Param("factoryId") String factoryId, @Param("outletId") String outletId); + + SEnvGasMonReal gasEffectiveMonitoringRates(EffectiveMonitoringRateQuery query); + + SEnvWaterMonReal effectiveMonitoringRates(EffectiveMonitoringRateQuery query); + + PcFactoryLicensingStatusVo factoryLicensingStatus(); + + List countryLicensingStatus(); + + int updateBatchCoordinate(List pcFactoryList); + + void selectPwxkWaterTreatmentLine(@Param("page") Page page, + @Param("query")BStatTablepPwxkWaterQuery query); + + List selectId(@Param("page") Page page,@Param("map") Map> labelMap, + @Param("factoryName") String factoryName); + + + List selectAirEmissionIndustryRank(@Param("dataSource") String dataSource, @Param("regionCodes") List regionCodes); + + List selectWaterEmissionIndustryRank(@Param("dataSource") String dataSource, @Param("regionCodes") List regionCodes); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantEmissionsRankMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantEmissionsRankMapper.java new file mode 100644 index 0000000..d01943c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantEmissionsRankMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.cecep.talroad.vo.IndustryEmissionTrackingOverviewVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 污染排放跟踪(实际排放/许可排放)Mapper接口 + * + * @author szhpt + * @date 2023-02-10*/ +@Mapper +public interface PcFactoryPollutantEmissionsRankMapper extends BaseMapper +{ + /** + * 查询污染排放跟踪(实际排放/许可排放)列表 + * + * @param pcFactoryPollutantEmissionsRank 污染排放跟踪(实际排放/许可排放) + * @return 污染排放跟踪(实际排放/许可排放)集合 + */ + public List selectPcFactoryPollutantEmissionsRankList(PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank); + + List selectRankList(@Param("factoryId") String factoryId, @Param("emissionType") String dataSource); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantMapper.java new file mode 100644 index 0000000..6a9a417 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryPollutantMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryPollutant; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业与污染物关系Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcFactoryPollutantMapper extends BaseMapper +{ + /** + * 查询企业与污染物关系列表 + * + * @param pcFactoryPollutant 企业与污染物关系 + * @return 企业与污染物关系集合 + */ + public List selectPcFactoryPollutantList(PcFactoryPollutant pcFactoryPollutant); + + void batchUpdateValue(@Param("addList") List addList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryWasteEmissionsRankMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryWasteEmissionsRankMapper.java new file mode 100644 index 0000000..b33cf60 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcFactoryWasteEmissionsRankMapper.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryWasteEmissionsRank; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PcFactoryWasteEmissionsRankMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcIndustryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcIndustryMapper.java new file mode 100644 index 0000000..8bc63eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcIndustryMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcIndustry; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 行业Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcIndustryMapper extends BaseMapper +{ + /** + * 查询行业列表 + * + * @param pcIndustry 行业 + * @return 行业集合 + */ + public List selectPcIndustryList(PcIndustry pcIndustry); + + List industryPermissionList(PcIndustry pcIndustry); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelFactoryMapper.java new file mode 100644 index 0000000..4e6d7a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelFactoryMapper.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.vo.FactoryLicenseVo; +import cn.cecep.talroad.vo.WarningEnvGasMonRealVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; +import org.apache.ibatis.annotations.Select; + +/** + * 特征标签-与企业关系中间Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcLabelFactoryMapper extends BaseMapper +{ + /** + * 查询特征标签-与企业关系中间列表 + * + * @param pcLabelFactory 特征标签-与企业关系中间 + * @return 特征标签-与企业关系中间集合 + */ + List selectPcLabelFactoryList(PcLabelFactory pcLabelFactory); + + List selectLabelFactory(@Param("factoryName") String factoryName, @Param("labelIds") Set labelIds); + + void batchUpdateValue(@Param("updateList") List updateList); + + void batchSave(@Param("addList") List addList); + + List selectWarningReal(@Param("startTime") String startTime, @Param("endTime") String endTime); + + List selectPollutantLicenseLabel(); + + List selectLicenseTypeLabel(); + + List selectPollutantTypeLabel(); + + @Select("SELECT " + + "f.\"id\" as factory_id, " + + "CASE WHEN af.factory_id IS NOT NULL THEN '1001' ELSE '1002' END as label_value " + + "FROM pc_factory f " + + "LEFT JOIN pc_adsl_factory af ON af.factory_id=f.\"id\" AND af.adsl_code='A002' " + + "GROUP BY f.\"id\",af.factory_id " + + "ORDER BY f.\"id\"") + List isInstallFbjdLabel(); + + @Select("SELECT " + + "f.\"id\" as factory_id, " + + "CASE WHEN o.factory_id IS NOT NULL THEN '1001' ELSE '1002' END as label_value " + + "FROM pc_factory f " + + "LEFT JOIN pc_outlet o ON o.factory_id=f.\"id\" AND o.pollutant_type='3' " + + "GROUP BY f.\"id\",o.factory_id " + + "ORDER BY f.\"id\"") + List isInstallWzzjkdwLabel(); + + @Select("SELECT " + + "f.\"id\" as factory_id, " + + "CASE WHEN o.factory_id IS NULL THEN '1001' ELSE '1002' END as label_value " + + "FROM pc_factory f " + + "LEFT JOIN ( " + + "SELECT m.factory_id FROM m_am_problem_fi m " + + "WHERE m.problem_type LIKE '004%' " + + "AND m.create_time >= #{startTime} " + + "GROUP BY m.factory_id " + + ") o ON o.factory_id=f.\"id\" " + + "GROUP BY f.\"id\",o.factory_id " + + "ORDER BY f.\"id\"") + List isZlssExceptionInMonthLabel(@Param("startTime") Date startTime); + + @Select("SELECT " + + "f.\"id\" as factory_id, " + + "CASE WHEN o.factory_id IS NULL THEN '1058' ELSE '1059' END as label_value " + + "FROM pc_factory f " + + "LEFT JOIN ( " + + "SELECT m.factory_id FROM m_am_problem_fi m " + + "LEFT JOIN pc_outlet p ON p.factory_id=m.factory_id AND p.\"id\"=m.station_id " + + "WHERE m.problem_type = '003004' " + + "AND p.pollutant_type='3' " + + "AND m.create_time >= #{startTime} " + + "GROUP BY m.factory_id " + + ") o ON o.factory_id=f.\"id\" " + + "GROUP BY f.\"id\",o.factory_id " + + "ORDER BY f.\"id\"") + List isWzzcbpfExceptionInMonthLabel(@Param("startTime")Date startTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelMapper.java new file mode 100644 index 0000000..ac5713d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.vo.PcLabelVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 特征标签Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcLabelMapper extends BaseMapper +{ + /** + * 查询特征标签列表 + * + * @param pcLabel 特征标签 + * @return 特征标签集合 + */ + public List selectPcLabelList(PcLabel pcLabel); + + /** + * 根据参数获取树结构 + * + * @param id 必传 特征标签id + * @param factoryId 非必传 企业id + * @return + */ + List selectTreeList(@Param("id") String id, @Param("factoryId") String factoryId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelValueMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelValueMapper.java new file mode 100644 index 0000000..04e959e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcLabelValueMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.domain.PcLabelValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 特征标签-参数值Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcLabelValueMapper extends BaseMapper +{ + /** + * 查询特征标签-参数值列表 + * + * @param pcLabelValue 特征标签-参数值 + * @return 特征标签-参数值集合 + */ + public List selectPcLabelValueList(PcLabelValue pcLabelValue); + + void batchSave(@Param("addList") List addList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcManagementFacilitiesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcManagementFacilitiesMapper.java new file mode 100644 index 0000000..0414d2b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcManagementFacilitiesMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcManagementFacilities; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 治理设施Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcManagementFacilitiesMapper extends BaseMapper +{ + /** + * 查询治理设施列表 + * + * @param pcManagementFacilities 治理设施 + * @return 治理设施集合 + */ + public List selectPcManagementFacilitiesList(PcManagementFacilities pcManagementFacilities); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuFactoryMapper.java new file mode 100644 index 0000000..0b442d8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuFactoryMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcMenuFactory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业档案菜单与企业关联中间Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcMenuFactoryMapper extends BaseMapper +{ + /** + * 查询企业档案菜单与企业关联中间列表 + * + * @param pcMenuFactory 企业档案菜单与企业关联中间 + * @return 企业档案菜单与企业关联中间集合 + */ + public List selectPcMenuFactoryList(PcMenuFactory pcMenuFactory); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuMapper.java new file mode 100644 index 0000000..36f7f08 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcMenuMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 企业档案菜单管理Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface PcMenuMapper extends BaseMapper +{ + /** + * 查询企业档案菜单管理列表 + * + * @param pcMenu 企业档案菜单管理 + * @return 企业档案菜单管理集合 + */ + public List selectPcMenuList(PcMenu pcMenu); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcNoiseTypeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcNoiseTypeMapper.java new file mode 100644 index 0000000..fc4b425 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcNoiseTypeMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcNoiseType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 噪声排放类型Mapper接口 + * + * @author szhpt + * @date 2023-01-11*/ +@Mapper +public interface PcNoiseTypeMapper extends BaseMapper +{ + /** + * 查询噪声排放类型列表 + * + * @param pcNoiseType 噪声排放类型 + * @return 噪声排放类型集合 + */ + public List selectPcNoiseTypeList(PcNoiseType pcNoiseType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletCoordinateOperationLogMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletCoordinateOperationLogMapper.java new file mode 100644 index 0000000..3d50712 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletCoordinateOperationLogMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcOutletCoordinateOperationLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +public interface PcOutletCoordinateOperationLogMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletMapper.java new file mode 100644 index 0000000..a08deba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcOutletMapper.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.EmissionsStatVo; +import cn.cecep.talroad.vo.GasPEMonitoringPointVO; +import cn.cecep.talroad.vo.MapPointVo; +import cn.cecep.talroad.vo.PcOutletGasVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.GasPEMonitoringPointQuery; +import cn.cecep.talroad.vo.query.PcOutletGasQuery; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.HashMap; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 废气有组织、无组织排口Mapper接口 + * + * @author szhpt + * @date 2023-01-11*/ +@Mapper +public interface PcOutletMapper extends BaseMapper +{ + /** + * 查询废气有组织、无组织排口列表 + * + * @param pcOutlet 废气有组织、无组织排口 + * @return 废气有组织、无组织排口集合 + */ + public List selectPcOutletList(PcOutlet pcOutlet); + + /** + * 查询地图点位 + * @param factoryId + * @param pollutantType 污染物类型 1废气 2废水 3无组织 + * @return + */ + List selectMapPoints(@Param("factoryId") String factoryId, @Param("pollutantType") String pollutantType); + + /** + * 查询排污许可期限内的企业排口信息 + * @return + */ + List selectPermitOutletList(@Param("pollutantType") String pollutantType,@Param("outletType") String outletType); + + List selectPointList(PcOutlet pcOutlet); + + List selectLabelRequirements(); + + List selectLabelReceivingWaterObjective(); + + List selectLabeRreceivingWaterName(); + + List selectListByOnline(@Param("name") String name); + + List selectEmissionsStatPointList(@Param("search") EmissionsStatVo.PointSearch search); + + List queryPcOutletGasList(Page page, @Param("pcOutletGasQuery") PcOutletGasQuery pcOutletGasQuery, @Param("factoryId") String factoryId,@Param("pollutantOutletTypes") List pollutantOutletTypes); + + Page queryGasPEMonitoringPointList(Page page, @Param("factoryId") String factoryId, @Param("gasPEMonitoringPointQuery") GasPEMonitoringPointQuery gasPEMonitoringPointQuery); + + IPage pageAndFactory(@Param("page")Page page, @Param("query") SRaOverWaterPollutionTraceabilityQuery query); + + List> queryPcOutletsByPcFactoryId(@Param("factoryId") String facotryId, @Param("pollutantType") String pollutantType, @Param("pollutantOutletType") String pollutantOutletType, @Param("monitorPointName") String monitorPointName); + + List selectEnableList(@Param("factoryId") String factoryId,@Param("pollutantOutletType") String pollutantOutletType,@Param("portName")String portName); + + List selectEnableOutletList(String pollutantOutletType); + + PcOutlet getOutletByPoint(String stationId); + + List selectOnLinePoints(@Param("factoryId") String factoryId,@Param("pollutantType") String pollutantType); + + List selectByDevice(String deviceId); + + List selectByOnlineAndSource(Page page, @Param("lambdaQueryWrapper") SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectBySource(Page page, @Param("lambdaQueryWrapper") SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List> sourceOutlets(@Param("factoryId") String factoryId, @Param("type") String type, @Param("pollutantOutletType") String pollutantOutletType, @Param("monitorPointName") String monitorPointName); + + List selectContrastPointList(Page page, @Param("pcOutlet") SRaRealTimeAnalysicComsitMonitorVo pcOutlet); + + int updateBatchCoordinate(List pcOutletList); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcPollutantMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcPollutantMapper.java new file mode 100644 index 0000000..4782015 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcPollutantMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcPollutant; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 污染物Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcPollutantMapper extends BaseMapper +{ + /** + * 查询污染物列表 + * + * @param pcPollutant 污染物 + * @return 污染物集合 + */ + public List selectPcPollutantList(PcPollutant pcPollutant); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcProductionFacilityMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcProductionFacilityMapper.java new file mode 100644 index 0000000..11f189b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcProductionFacilityMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcProductionFacility; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 生产设施Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcProductionFacilityMapper extends BaseMapper +{ + /** + * 查询生产设施列表 + * + * @param pcProductionFacility 生产设施 + * @return 生产设施集合 + */ + public List selectPcProductionFacilityList(PcProductionFacility pcProductionFacility); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcSolidHazardousTypeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcSolidHazardousTypeMapper.java new file mode 100644 index 0000000..a06f82a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcSolidHazardousTypeMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcSolidHazardousType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 固危废贮存信息--危险废物名录类型Mapper接口 + * + * @author szhpt + * @date 2023-03-21*/ +@Mapper +public interface PcSolidHazardousTypeMapper extends BaseMapper +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingEntranceGuMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingEntranceGuMapper.java new file mode 100644 index 0000000..cf6bca8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingEntranceGuMapper.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcStationBuildingEntranceGu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * 站房门禁监管信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcStationBuildingEntranceGuMapper extends BaseMapper +{ + /** + * 查询站房门禁监管信息列表 + * + * @param pcStationBuildingEntranceGu 站房门禁监管信息 + * @return 站房门禁监管信息集合 + */ + public List selectPcStationBuildingEntranceGuList(PcStationBuildingEntranceGu pcStationBuildingEntranceGu); + + List selectDayTask( + @Param("startTime") Date startTime, @Param("endTime") Date endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingMapper.java new file mode 100644 index 0000000..360e49b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcStationBuilding; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 站房基本信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcStationBuildingMapper extends BaseMapper +{ + /** + * 查询站房基本信息列表 + * + * @param pcStationBuilding 站房基本信息 + * @return 站房基本信息集合 + */ + public List selectPcStationBuildingList(PcStationBuilding pcStationBuilding); + + List selectByStationBuildingIds( + @Param("list") List stationBuildingIds); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingOpsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingOpsMapper.java new file mode 100644 index 0000000..5605579 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingOpsMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcStationBuildingOps; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 站房运维签到信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface PcStationBuildingOpsMapper extends BaseMapper +{ + /** + * 查询站房运维签到信息列表 + * + * @param pcStationBuildingOps 站房运维签到信息 + * @return 站房运维签到信息集合 + */ + public List selectPcStationBuildingOpsList(PcStationBuildingOps pcStationBuildingOps); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingStatMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingStatMapper.java new file mode 100644 index 0000000..c7fcf0d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcStationBuildingStatMapper.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; + +import cn.cecep.talroad.vo.PcStationBuildingStatVo; +import cn.cecep.talroad.vo.query.PcStationBuildingStatQuery; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 站房信息--站房门禁进出统计分析Mapper接口 + * + * @author szhpt + * @date 2023-06-27*/ +@Mapper +public interface PcStationBuildingStatMapper extends BaseMapper +{ + + List selectPage(@Param("page") Page page, @Param("query") PcStationBuildingStatQuery query); + + /** + * 查询站房信息--站房门禁进出统计分析列表 + * + * @param pcStationBuildingStat 站房信息--站房门禁进出统计分析 + * @return 站房信息--站房门禁进出统计分析集合 + */ + public List selectPcStationBuildingStatList(PcStationBuildingStat pcStationBuildingStat); + + int batchInsert(List pcStationBuildingStatList); + + List selectStatisticsData(@Param("startDate") String startDate, @Param("endDate") String endDate); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcYieldTrendMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcYieldTrendMapper.java new file mode 100644 index 0000000..5ad9473 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PcYieldTrendMapper.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.PcYieldTrend; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PcYieldTrendMapper extends BaseMapper { + + List selectByFactoryId(String factoryId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PointIsOfflineMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PointIsOfflineMapper.java new file mode 100644 index 0000000..77ff00b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/PointIsOfflineMapper.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.vo.PointIsOfflineVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.List; + +/** + * @className: PointIsOfflineMapper + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/15 5:16 PM + * @Company: Copyright© [2023/04/15 5:16 PM] by [Mr.Yanghongtao] + **/ +@Mapper +public interface PointIsOfflineMapper { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 5:19 PM + * @Deseription: 查询无组织点位8个小时内数据 + * @Params: null + * @Return: + * @Throws: + */ + List selectDisorganizationListByDateTime(@Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 5:56 PM + * @Deseription: 更新无组织监测点状态 + * @Params: null + * @Return: + * @Throws: + */ + void updatePcOutletWzzStatus(@Param("outletId") String outletId, @Param("status") String status); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 6:23 PM + * @Deseription: 查询在线监测点位30分钟数据 + * @Params: null + * @Return: + * @Throws: + */ + List selectOnLineMonitoringListByDateTime(@Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 6:29 PM + * @Deseription: 更新在线监测点位状态 + * @Params: null + * @Return: + * @Throws: + */ + void updatePcOutletOutletStatus(@Param("outletId") String outletId, @Param("status") String status); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 6:29 PM + * @Deseription: 批量更新无组织监测点状态 + * @Params: null + * @Return: + * @Throws: + */ + void updatePcOutletStatus(List pointIsOfflineVOS); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ProductionScheduledMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ProductionScheduledMapper.java new file mode 100644 index 0000000..e6c63d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/ProductionScheduledMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper; + +import org.apache.ibatis.annotations.Mapper; + +/** + * 开发公司:中节能天融科技有限公司 + * + * ProductionScheduledMapper + * 产治排定时任务 + * @author fzx + * @date 2023-6-7 00:07:32 + */ +@Mapper +public interface ProductionScheduledMapper { + + /** + * 定时更新废气有组织生产设施关联关系 + */ + void updateOrganizProDevice(); + + /** + * 定时更新废气有组织治理设施关联关系 + */ + void updateOrganizCepDevice(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/QEnvgasStationDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/QEnvgasStationDayMapper.java new file mode 100644 index 0000000..8723844 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/QEnvgasStationDayMapper.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.QEnvgasStationDay; +import cn.cecep.talroad.vo.effective.AirParmaVo; +import cn.cecep.talroad.vo.effective.AirQualityData; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * 站点日数据表 Mapper 接口 + + */ +public interface QEnvgasStationDayMapper extends BaseMapper { + +// List> selectByDayData(SequenceDto sequenceDto); +// +// List> selectByMonthData(SequenceDto sequenceDto); +// +// List selectByAverageData(SequenceDto sequenceDto); +// +// List selectByFigureData(SequenceDto sequenceDto); + + List queryStationDaydata(AirParmaVo airParmaVo); +// +// /** +// * 开始时间 +// * @param time 时间 +// * @param startTime 开始时间 +// * @param endTime 结束时间 +// * @param otherStations 其他站点id +// * @return +// */ +// List queryCountryStation( +// @Param("time") String time, +// @Param("startTime") String startTime, +// @Param("endTime") String endTime, +// @Param("otherStations") List otherStations); +// +// List selectByfindExcellentProp(SequenceDto sequenceDto); +// +// String selectByNames(SequenceDto sequenceDto); +// +// List getStationPollution(SequenceDto sequenceDto); +// +// List getPollution(); +// +// Map getStationStatistic(SequenceDto sequenceDto); +// +// List getCount(SequenceDto sequenceDto); +// +// List selectByAerData(SequenceDto sequenceDto); +// +// List selectAnalysisDayData(AnalysisDto analysisDto); +// +// List selectByInterpolationDataList(SequenceDto sequenceDto); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonDayMapper.java new file mode 100644 index 0000000..19bac6c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonDayMapper.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 废气监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvGasMonDayMapper extends BaseMapper +{ + + + List selectLastDayData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonHourMapper.java new file mode 100644 index 0000000..f6897b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonHourMapper.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.effective.SEnvGasMonValueVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Set; + +/** + * 废气监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvGasMonHourMapper extends BaseMapper +{ + + + List selectLastHourData(@Param("pollutantOutletType") String pollutantOutletType,@Param("lastHour")String lastHour); + + /** + * 查询大于入参日期 且 根据企业id 和排口id 分组 查询 所有污染物最大的值 + * @param dateTime + * @return + */ + List selectMaxProblemTypeByDateGroupFactoryIdAndOutletId(@Param("dateTime") String dateTime); + + List selectLastDayData(@Param("pollutantOutletType")String pollutantOutletType, @Param("lastDayBegin")Date lastDayBegin, @Param("lastDayEnd")Date lastDayEnd); + + List selectEntPollutionMapper(@Param("entId") String entId , + @Param("start") Date start, + @Param("end") Date end, + @Param("groupBy") String groupBy); + + List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListByPoll(@Param("lambdaQueryWrapper") Set lambdaQueryWrapper); + + List selectLastDayCountData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); + + List selectHourDataByTime(@Param("factoryId") String factoryId, @Param("outletId") String monitorId, @Param("monitorTime") Date monitorTime); + + List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonRealMapper.java new file mode 100644 index 0000000..8e74ffc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasMonRealMapper.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.data.analyse.task.limestone.entity.GasDeviceVo; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Set; + +/** + * 废气监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvGasMonRealMapper extends BaseMapper +{ + /** + * 查询废气监测数据列表 + * + * @param sEnvGasMonReal 废气监测数据 + * @return 废气监测数据集合 + */ + public List selectSEnvGasMonRealList(Page page, @Param("sEnvGasMonReal") SEnvGasMonRealQuery sEnvGasMonReal, @Param("ew") Wrapper queryWrapper); + + List selectSEnvGasMonRealListByYear(String year); + + List selectSEnvGasMonRealListGroupByYear(@Param("monitoringStartTime") String monitoringStartTime, @Param("monitoringEndTime") String monitoringEndTime, @Param("industry") String industry,@Param("regionCodes") List regionCodes); + + /** + * 查询小时内分钟数据的平均浓度 + * @param dateStr + * @return + */ + List selectAvgDataForHour(@Param("dateStr") String dateStr,@Param("dateStrEnd") String dateStrEnd); + + List selectSEnvGasMonRealListEchart(@Param("sEnvGasMonReal") SEnvGasMonRealQuery query); + + List selectEmissionStat(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("outletIds") Set outletIds); + + List selectEmissionAvg(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("outletIds") Set outletIds); + List selectDayEmissionAvg(@Param("startTime") String startTime, @Param("endTime") String endTime); + + List selectGasByDeviceIds(@Param("deviceIds") List deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List getEmissionDayAvg(@Param("startTime") String startTime, @Param("endTime") String endTime); + + List selectLastHourData(@Param("pollutantOutletType") String pollutantOutletType,@Param("lastHour") Date lastHour); + + BigDecimal selectByOutLetId(@Param("factoryId") String factoryId, @Param("outLetId") String id, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + List selectLastDayData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasRealMapper.java new file mode 100644 index 0000000..f8f263c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasRealMapper.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvGasReal; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.homepage.MonitoringPointWarningVo; +import cn.cecep.talroad.vo.homepage.OverviewUnorganizedMonitorsVo; +import cn.cecep.talroad.vo.homepage.RegionalOnlineMonitoringVo; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 无组织监控数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvGasRealMapper extends BaseMapper +{ + /** + * 查询无组织监控数据列表 + * + * @param sEnvGasReal 无组织监控数据 + * @return 无组织监控数据集合 + */ + public List selectSEnvGasRealList(SEnvGasReal sEnvGasReal); + + OverviewUnorganizedMonitorsVo overviewUnorganizedMonitors(@Param("regionCodes") List regionCodes); + + MonitoringPointWarningVo monitoringPointWarning(EffectiveMonitoringRateQuery query); + + List numberMonitoringPoints(EffectiveMonitoringRateQuery query); + + List monitoringRate(EffectiveMonitoringRateQuery query); + + List excessRate(EffectiveMonitoringRateQuery query); + + List exceedingStandardPoints(EffectiveMonitoringRateQuery query); + + List exceedingIndustryPoints(EffectiveMonitoringRateQuery query); + + List selectLastDayData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasSelfDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasSelfDayMapper.java new file mode 100644 index 0000000..01ca04b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvGasSelfDayMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.SEnvGasSelfDay; + +/** + * 多源排放量汇总分析-废气-手工监测数据Mapper接口 + * + * @author szhpt + * @date 2023-07-26*/ +@Mapper +public interface SEnvGasSelfDayMapper extends BaseMapper +{ + /** + * 查询多源排放量汇总分析-废气-手工监测数据列表 + * + * @param sEnvGasSelfDay 多源排放量汇总分析-废气-手工监测数据 + * @return 多源排放量汇总分析-废气-手工监测数据集合 + */ + public List selectSEnvGasSelfDayList(SEnvGasSelfDay sEnvGasSelfDay); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonDayMapper.java new file mode 100644 index 0000000..532e5e1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonDayMapper.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 废水监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ + +@Mapper +public interface SEnvWaterMonDayMapper extends BaseMapper +{ + List selectMaxByDate(@Param("startTime") String startTime,@Param("endTime") String endTime); + + List selectLastDayCountData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); + + List selectHourDataByTime(@Param("factoryId") String factoryId, @Param("monitorId") String monitorId, @Param("monitorTime") Date monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonHourMapper.java new file mode 100644 index 0000000..17a7ce5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonHourMapper.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.vo.SEnvWaterMonHourVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonHourQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 废水监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvWaterMonHourMapper extends BaseMapper +{ + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据集合 + */ + public List selectSEnvWaterMonHourList(Page page, @Param("sEnvWaterMonHour") SEnvWaterMonHourQuery sEnvWaterMonReal, @Param("ew") Wrapper queryWrapper); + + List selectSEnvWaterMonHourListGroupByYear(@Param("monitoringStartTime") String monitoringStartTime, @Param("monitoringEndTime") String monitoringEndTime, @Param("industry") String industry, @Param("regionCodes") List regionCodes); + + /** + * 查询废水数据当前日所有小时平均数据 + * @param dateStr + * @return + */ + List selectAvgDataForDay(@Param("dateStr")String dateStr); + + List selectLastDayData(@Param("pollutantOutletType") String pollutantOutletType, @Param("lastDayBegin") Date lastDayBegin, @Param("lastDayEnd") Date lastDayEnd); + + List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectLastDayCountData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); + + List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonRealMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonRealMapper.java new file mode 100644 index 0000000..fcd7a0c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterMonRealMapper.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 废水监测数据Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SEnvWaterMonRealMapper extends BaseMapper +{ + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据集合 + */ + public List selectSEnvWaterMonRealList(Page page, @Param("sEnvWaterMonReal") SEnvWaterMonRealQuery sEnvWaterMonReal, @Param("ew") Wrapper queryWrapper); + + List selectSEnvWaterMonRealListGroupByYear(@Param("monitoringStartTime") String monitoringStartTime, @Param("monitoringEndTime") String monitoringEndTime, @Param("industry") String industry, @Param("regionCodes") List regionCodes); + + /** + * 查询废水数据当前日所有小时平均数据 + * @param dateStr + * @return + */ + List selectAvgDataForDay(@Param("dateStr")String dateStr); + + List selectLastDayData(@Param("pollutantOutletType") String pollutantOutletType, @Param("lastDayBegin") Date lastDayBegin, @Param("lastDayEnd") Date lastDayEnd); + + List selectLastDayCountData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterSelfDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterSelfDayMapper.java new file mode 100644 index 0000000..43152e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SEnvWaterSelfDayMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; + +/** + * 多源排放量汇总分析-废水-手工监测数据Mapper接口 + * + * @author szhpt + * @date 2023-07-26*/ +@Mapper +public interface SEnvWaterSelfDayMapper extends BaseMapper +{ + /** + * 查询多源排放量汇总分析-废水-手工监测数据列表 + * + * @param sEnvWaterSelfDay 多源排放量汇总分析-废水-手工监测数据 + * @return 多源排放量汇总分析-废水-手工监测数据集合 + */ + public List selectSEnvWaterSelfDayList(SEnvWaterSelfDay sEnvWaterSelfDay); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SIntegratedRoutineInspectionMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SIntegratedRoutineInspectionMapper.java new file mode 100644 index 0000000..1a30530 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SIntegratedRoutineInspectionMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SIntegratedRoutineInspection; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 日常检查信息Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SIntegratedRoutineInspectionMapper extends BaseMapper +{ + /** + * 查询日常检查信息列表 + * + * @param sIntegratedRoutineInspection 日常检查信息 + * @return 日常检查信息集合 + */ + public List selectSIntegratedRoutineInspectionList(SIntegratedRoutineInspection sIntegratedRoutineInspection); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlFactoryMapper.java new file mode 100644 index 0000000..280938a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlFactoryMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface SMainDynamicControlFactoryMapper extends BaseMapper +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联列表 + * + * @param sMainDynamicControlFactory 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联集合 + */ + public List selectSMainDynamicControlFactoryList(SMainDynamicControlFactory sMainDynamicControlFactory); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlMapper.java new file mode 100644 index 0000000..5a10b4a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SMainDynamicControl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 基本信息-废气、废水排口档案-动态管控信息Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface SMainDynamicControlMapper extends BaseMapper +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息列表 + * + * @param sMainDynamicControl 基本信息-废气、废水排口档案-动态管控信息 + * @return 基本信息-废气、废水排口档案-动态管控信息集合 + */ + public List selectSMainDynamicControlList(SMainDynamicControl sMainDynamicControl); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlParamMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlParamMapper.java new file mode 100644 index 0000000..d9b1f84 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SMainDynamicControlParamMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SMainDynamicControlParam; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数Mapper接口 + * + * @author szhpt + * @date 2023-02-02*/ +@Mapper +public interface SMainDynamicControlParamMapper extends BaseMapper +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数列表 + * + * @param sMainDynamicControlParam 基本信息-废气、废水排口档案-动态管控信息调整 -参数 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数集合 + */ + public List selectSMainDynamicControlParamList(SMainDynamicControlParam sMainDynamicControlParam); + + List> selectParamTableData(@Param("factoryId") String factoryId, @Param("outletId") String outletId, @Param("controlTypeCode") String controlTypeCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaDayMonTimeFbjdMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaDayMonTimeFbjdMapper.java new file mode 100644 index 0000000..f59090d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaDayMonTimeFbjdMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SRaDayMonTimeFbjd; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author thy + * @since 2023-03-31 + */ +@Mapper +public interface SRaDayMonTimeFbjdMapper extends BaseMapper { + + List selectListByDate(@Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime); + + void insertinsertSRaDayMonTimeFbjds(List list); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysicComsitStMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysicComsitStMapper.java new file mode 100644 index 0000000..b91f51c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysicComsitStMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ccc + * @since 2023-07-01 + */ +public interface SRaRealTimeAnalysicComsitStMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysisRunOneMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysisRunOneMapper.java new file mode 100644 index 0000000..4d3bbaf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SRaRealTimeAnalysisRunOneMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.vo.query.SRaRealTimeAnalysisRunOneQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据Mapper接口 + * + * @author szhpt + * @date 2023-05-17*/ +@Mapper +public interface SRaRealTimeAnalysisRunOneMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据列表 + * + * @param sRaRealTimeAnalysisRunOne 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + * @return 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据集合 + */ + public List selectSRaRealTimeAnalysisRunOneList(Page page, @Param("sRaRealTimeAnalysisRunOne") SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne); + + + void batchInsert(List list); + + void updateBatchSelective(List list); + + List selectAllDeviceId(String deviceType); + + List selectAnalysisRunByParams(SRaRealTimeAnalysisRunOne run); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SStationTypeDictMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SStationTypeDictMapper.java new file mode 100644 index 0000000..36408ca --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SStationTypeDictMapper.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SStationTypeDict; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 站点类型字典Mapper接口 + */ +@Mapper +public interface SStationTypeDictMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/STaskYieldTrendMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/STaskYieldTrendMapper.java new file mode 100644 index 0000000..06511ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/STaskYieldTrendMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.vo.STaskYieldTrendVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +@Mapper +public interface STaskYieldTrendMapper extends BaseMapper { + + List selectMonthListGroupByIndustry(@Param("industry") String industry, @Param("startMonth") Date startMonth, @Param("endMonth") Date endMonth,@Param("regionCodes") List regionCodes); + + List analyseDayTaskYieldTrendData(@Param("dayTime") String dayTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SupermonitorDrainOutletMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SupermonitorDrainOutletMapper.java new file mode 100644 index 0000000..0f29b3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/SupermonitorDrainOutletMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.SupermonitorDrainOutlet; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 排污口Mapper接口 + * + * @author szhpt + * @date 2023-01-10*/ +@Mapper +public interface SupermonitorDrainOutletMapper extends BaseMapper +{ + /** + * 查询排污口列表 + * + * @param supermonitorDrainOutlet 排污口 + * @return 排污口集合 + */ + public List selectSupermonitorDrainOutletList(SupermonitorDrainOutlet supermonitorDrainOutlet); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataAirMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataAirMapper.java new file mode 100644 index 0000000..5e1986d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataAirMapper.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.TCodStationDataAir; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface TCodStationDataAirMapper extends BaseMapper { + + TCodStationDataAir selectReal(@Param("stationId") String stationId, @Param("dataType") String dataType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataWaterMapper.java new file mode 100644 index 0000000..b469ea7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationDataWaterMapper.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.TCodStationDataWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface TCodStationDataWaterMapper extends BaseMapper { + + TCodStationDataWater selectReal(@Param("stationId") String stationId, @Param("dataType") String dataType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationMapper.java new file mode 100644 index 0000000..cf06e99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/TCodStationMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper; + +import cn.cecep.talroad.domain.TCodStation; +import cn.cecep.talroad.vo.TCodStationVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 大气环境、水环境站点Mapper接口 + */ +@Mapper +public interface TCodStationMapper extends BaseMapper { + + List selectAirStationList(TCodStationVo.SearchVo searchVo); + + List selectWaterStationList(TCodStationVo.SearchVo searchVo); + + List> selectStationRank(@Param("factorName") String factorName, @Param("monitorTime") String monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanInfoMapper.java new file mode 100644 index 0000000..9cabe54 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanInfoMapper.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlanInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BCoDischargePlanInfoMapper extends BaseMapper { + + int batchInsert(@Param("list") List list); + + List selectAllDevice(@Param("factoryId")String factoryId, @Param("planId") Integer planId); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanMapper.java new file mode 100644 index 0000000..a01eb1d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BCoDischargePlanMapper.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BCoDischargePlanMapper extends BaseMapper { + + int batchInsert(@Param("list") List list); + + BCoDischargePlan newPlanName(String factoryId); + + IPage selectCoAllInfo(Page p, @Param("info") CoPlanAllInfo info); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanInfoMapper.java new file mode 100644 index 0000000..dd80aa0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanInfoMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlanInfo; +import cn.cecep.talroad.domain.analysis.BMaintenancePlanInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface BMaintenancePlanInfoMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectAllDevice(@Param("factoryId")String factoryId, @Param("planId") Integer planId); + + List infoPageList(Page page,@Param("factoryId")String factoryId, @Param("planId") Integer planId,@Param("deviceType") String deviceType, + @Param("deviceName") String deviceName); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanMapper.java new file mode 100644 index 0000000..cb692d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BMaintenancePlanMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BMaintenancePlan; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import cn.cecep.talroad.vo.analysis.MaintenancePlanAllInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BMaintenancePlanMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + IPage selectCoAllInfo(Page p, @Param("info") MaintenancePlanAllInfo info); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamAnalyseMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamAnalyseMapper.java new file mode 100644 index 0000000..f2b2dd5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamAnalyseMapper.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository("basDeviceParamAnalyseNewMapper") +public interface BasDeviceParamAnalyseMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectByDeviceParamCode(@Param("deviceParamCodes") List deviceParamCodes); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamMapper.java new file mode 100644 index 0000000..aeb3fd0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasDeviceParamMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BasDeviceParam; +import cn.cecep.talroad.vo.query.analysis.BasDeviceParamQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository("basDeviceParamNewMapper") +public interface BasDeviceParamMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + IPage pageDao(Page page, @Param("query") BasDeviceParamQuery query); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasThresholdConfigMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasThresholdConfigMapper.java new file mode 100644 index 0000000..15becac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/BasThresholdConfigMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.BasThresholdConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository("basThresholdConfigNewMapper") +public interface BasThresholdConfigMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/PcRaProblemTypeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/PcRaProblemTypeMapper.java new file mode 100644 index 0000000..2379a2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/PcRaProblemTypeMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.vo.effective.ForecastAccuracyInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * 问题分类Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface PcRaProblemTypeMapper extends BaseMapper +{ + /** + * 查询问题分类列表 + * + * @param pcRaProblemType 问题分类 + * @return 问题分类集合 + */ + public List selectPcRaProblemTypeList(PcRaProblemType pcRaProblemType); + + List getProblemList(String problemType); + + IPage getAIProblemList( Page page, + @Param("problemType") String problemType, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisCarMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisCarMapper.java new file mode 100644 index 0000000..2c842d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisCarMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 管控期车辆异常分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaAbNalysisCarMapper extends BaseMapper +{ + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisCar 管控期车辆异常分析 + * @return 管控期车辆异常分析集合 + */ + public List selectSRaAbNalysisCarList(SRaAbNalysisCar sRaAbNalysisCar); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisLowCarMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisLowCarMapper.java new file mode 100644 index 0000000..c8e97bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAbNalysisLowCarMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.cecep.talroad.vo.query.analysis.SRaAbNalysisLowCarQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 管控期车辆异常分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaAbNalysisLowCarMapper extends BaseMapper +{ + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisLowCar 管控期车辆异常分析 + * @return 管控期车辆异常分析集合 + */ + public List selectSRaAbNalysisLowCarList(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualEmissionsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualEmissionsMapper.java new file mode 100644 index 0000000..39452ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualEmissionsMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 执行报告实际排放情况Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaActionReportsActualEmissionsMapper extends BaseMapper +{ + /** + * 查询执行报告实际排放情况列表 + * + * @param lambdaQueryWrapper 执行报告实际排放情况 + * @return 执行报告实际排放情况集合 + */ + public List selectSRaActionReportsActualEmissionsList(@Param("ew") QueryWrapper lambdaQueryWrapper); + + IPage selectSRaActionReportsActualEmissionsPage(Page page, @Param("ew") QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualYieldMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualYieldMapper.java new file mode 100644 index 0000000..4253cec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsActualYieldMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 执行报告实际产量情况Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaActionReportsActualYieldMapper extends BaseMapper +{ + /** + * 查询执行报告实际产量情况列表 + * + * @param sRaActionReportsActualYield 执行报告实际产量情况 + * @return 执行报告实际产量情况集合 + */ + public List selectSRaActionReportsActualYieldList(@Param("ew") QueryWrapper lambdaQueryWrapper); + + IPage selectSRaActionReportsActualYieldPage(Page page, @Param("ew") QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditFactoryInfoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditFactoryInfoMapper.java new file mode 100644 index 0000000..53d2041 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditFactoryInfoMapper.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditFactoryInfo; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * 审核记录企业持久层 + */ +public interface SRaActionReportsAuditFactoryInfoMapper extends BaseMapper { + + List selectUnAuditFactory(String reportId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditMapper.java new file mode 100644 index 0000000..3e5348f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 执行报告规范性审核Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaActionReportsAuditMapper extends BaseMapper +{ + /** + * 查询执行报告规范性审核列表 + * + * @param sRaActionReportsAudit 执行报告规范性审核 + * @return 执行报告规范性审核集合 + */ + public List selectSRaActionReportsAuditList(SRaActionReportsAudit sRaActionReportsAudit); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditRecordMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditRecordMapper.java new file mode 100644 index 0000000..9d18a24 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditRecordMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + + +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.domain.dto.RecordListDTO; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 执行报告规范性审核记录Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaActionReportsAuditRecordMapper extends BaseMapper +{ + /** + * 查询执行报告规范性审核记录列表 + * + * @param sRaActionReportsAuditRecord 执行报告规范性审核记录 + * @return 执行报告规范性审核记录集合 + */ + public List selectSRaActionReportsAuditRecordList(SRaActionReportsAuditRecord sRaActionReportsAuditRecord); + + /** + * 新建审核记录查询未审核企业列表 + * @param recordListDTO + * @return + */ + Page recordList(Page page, @Param("recordListDTO") RecordListDTO recordListDTO); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditResultMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditResultMapper.java new file mode 100644 index 0000000..b32d178 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaActionReportsAuditResultMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 执行报告规范性审核结果Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaActionReportsAuditResultMapper extends BaseMapper +{ + /** + * 查询执行报告规范性审核结果列表 + * + * @param sRaActionReportsAuditResult 执行报告规范性审核结果 + * @return 执行报告规范性审核结果集合 + */ + public List selectSRaActionReportsAuditResultList(SRaActionReportsAuditResult sRaActionReportsAuditResult); + + Page resultList(Page page, @Param("ew") QueryWrapper orderByDesc); + + int batchUpdate(@Param("list") List recordList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaRegulatoryIssuesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaRegulatoryIssuesMapper.java new file mode 100644 index 0000000..7e233ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaRegulatoryIssuesMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 区域证后监管问题总表Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaAreaRegulatoryIssuesMapper extends BaseMapper +{ + /** + * 查询区域证后监管问题总表列表 + * + * @param sRaAreaRegulatoryIssues 区域证后监管问题总表 + * @return 区域证后监管问题总表集合 + */ + public List selectSRaAreaRegulatoryIssuesList(SRaAreaRegulatoryIssues sRaAreaRegulatoryIssues); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaTransferRateAnalysisMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaTransferRateAnalysisMapper.java new file mode 100644 index 0000000..c31dadd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaAreaTransferRateAnalysisMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 区域传输率分析Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaAreaTransferRateAnalysisMapper extends BaseMapper { + /** + * 查询区域传输率分析列表 + * + * @param sRaAreaTransferRateAnalysis 区域传输率分析 + * @return 区域传输率分析集合 + */ + List selectSRaAreaTransferRateAnalysisList(SRaAreaTransferRateAnalysis sRaAreaTransferRateAnalysis); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaControlSchemeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaControlSchemeMapper.java new file mode 100644 index 0000000..03ed827 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaControlSchemeMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaControlScheme; + +/** + * 关联分析系统-减排方案管理-管控时间段信息Mapper接口 + * + * @author szhpt + * @date 2023-04-02*/ +@Mapper +public interface SRaControlSchemeMapper extends BaseMapper +{ + /** + * 查询关联分析系统-减排方案管理-管控时间段信息列表 + * + * @param sRaControlScheme 关联分析系统-减排方案管理-管控时间段信息 + * @return 关联分析系统-减排方案管理-管控时间段信息集合 + */ + public List selectSRaControlSchemeList(SRaControlScheme sRaControlScheme); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsDiffMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsDiffMapper.java new file mode 100644 index 0000000..a0ebeec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsDiffMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsDiff; +import cn.cecep.talroad.vo.analysis.SRaEmissionsDiffVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsDiffQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业排放量差异分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaEmissionsDiffMapper extends BaseMapper +{ + + List selectEmissionsDiffList(@Param("page") Page page, @Param("query") SRaEmissionsDiffQuery query); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsMonitoringVarianceMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsMonitoringVarianceMapper.java new file mode 100644 index 0000000..58d5be9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsMonitoringVarianceMapper.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; + +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.vo.analysis.SRaEmissionsMonitoringVarianceVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsMonitoringVarianceQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; +import org.apache.ibatis.annotations.Param; + +/** + * 企业异常行为分析-企业排放分析-监测差异分析Mapper接口 + * + * @author szhpt + * @date 2023-06-27*/ +@Mapper +public interface SRaEmissionsMonitoringVarianceMapper extends BaseMapper +{ + /** + * 查询企业异常行为分析-企业排放分析-监测差异分析列表 + * + * @param sRaEmissionsMonitoringVariance 企业异常行为分析-企业排放分析-监测差异分析 + * @return 企业异常行为分析-企业排放分析-监测差异分析集合 + */ + public List selectSRaEmissionsMonitoringVarianceList(SRaEmissionsMonitoringVariance sRaEmissionsMonitoringVariance); + + List selectList(@Param("page") Page page,@Param("query") SRaEmissionsMonitoringVarianceQuery query); + + List pollList(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverFactoryMapper.java new file mode 100644 index 0000000..513ec13 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverFactoryMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsOverFactory; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverFactoryVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverFactoryQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业排放量超标分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaEmissionsOverFactoryMapper extends BaseMapper +{ + List selectEmissionsOverFactory(@Param("page") Page page, @Param("query") SRaEmissionsOverFactoryQuery query); + + List selectStatScopeList(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverMapper.java new file mode 100644 index 0000000..62da6a9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsOverMapper.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsOver; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 区域、行业排放量超标分析Mapper接口 + */ +@Mapper +public interface SRaEmissionsOverMapper extends BaseMapper { + + List selectRegionEmissions(@Param("page") Page page, @Param("query") SRaEmissionsOverQuery query); + + List selectIndustryEmissions(@Param("page") Page page, @Param("query") SRaEmissionsOverQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStandardMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStandardMapper.java new file mode 100644 index 0000000..04917a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStandardMapper.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsStandard; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsStandardQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * 企业排放水平分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaEmissionsStandardMapper extends BaseMapper +{ + /** + * 查询企业排放水平分析列表 + * + * @param sRaEmissionsStandard 企业排放水平分析 + * @param start + * @param end + * @return 企业排放水平分析集合 + */ + public List selectSRaEmissionsStandardList(Page page, @Param("sRaEmissionsStandard") SRaEmissionsStandardQuery sRaEmissionsStandard, @Param("start") BigDecimal start, @Param("end") BigDecimal end); + + /** + * 参数名称options + * @return options + */ + List> pullPollutantOptions(); + + /** + * 排放规模options + * @return options + */ + Map pullEmissionScaleOptions(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStatisticsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStatisticsMapper.java new file mode 100644 index 0000000..3c4296a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaEmissionsStatisticsMapper.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsStatistics; +import cn.cecep.talroad.domain.vo.ProblemGroupTimeCountVO; +import cn.cecep.talroad.vo.analysis.FactoryIndustryProblemCountVO; +import cn.cecep.talroad.vo.analysis.FactoryTop10ProblemCountVO; +import cn.cecep.talroad.vo.query.analysis.SREStatisticsQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface SRaEmissionsStatisticsMapper extends BaseMapper { + List selectListAll(SREStatisticsQuery query); + + /** + * 时间段内查询问题分类饼图 + * @param query + * @return + */ + List selectFactoryProblemGroup(SREStatisticsQuery query); + + /** + * 问题分类查询 + * @return + */ + List selectProblemType(); + + /** + * 查询问题Top10 + * @param query + * @return + */ + List selectTop10Factory(SREStatisticsQuery query); + + /** + * 企业行业类别分组问题统计查询 + * @param query + * @return + */ + ListselectFactoryIndustryProblemGroup(SREStatisticsQuery query); + + /** + * 查询top10问题数量的行业类别 + * @return + */ + List selectTop10FactoryIndustry(SREStatisticsQuery query); + + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryRegulatoryIssuesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryRegulatoryIssuesMapper.java new file mode 100644 index 0000000..a7a96e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryRegulatoryIssuesMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaFactoryRegulatoryIssues; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 企业证后监管问题总表Mapper接口 + * + * @author szhpt + * @date 2023-03-28*/ +@Mapper +public interface SRaFactoryRegulatoryIssuesMapper extends BaseMapper +{ + /** + * 查询企业证后监管问题总表列表 + * + * @param sRaFactoryRegulatoryIssuess 企业证后监管问题总表 + * @return 企业证后监管问题总表集合 + */ + public List selectSRaFactoryRegulatoryIssuesList(@Param("ew") QueryWrapper lambdaQueryWrapper); + + IPage selectSRaFactoryRegulatoryIssuesPage(Page page, @Param("ew") QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryTransferRateAnalysisMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryTransferRateAnalysisMapper.java new file mode 100644 index 0000000..e0b85fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaFactoryTransferRateAnalysisMapper.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.data.analyse.task.entity.SimpleSRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.vo.analysis.FactoryTransferRateParamVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SRaFactoryTransferRateAnalysisMapper extends BaseMapper { + /** + * 查询企业传输率分析列表 + * + * @param sRaFactoryTransferRateAnalysis 企业传输率分析 + * @return 企业传输率分析集合 + */ + List selectSRaFactoryTransferRateAnalysisList(SRaFactoryTransferRateAnalysis sRaFactoryTransferRateAnalysis); + + List selectFactoryTransferRateParamVoList(@Param("deviceId")String deviceId); + + List selectAvgRateByDateTimeGroupFactoryId(@Param("dataTime") String dataTime,@Param("countType") String countType); + + List selectDayRateOutletLt50List(@Param("factoryIds") List factoryIds, @Param("outletCodes")List outletCodes, @Param("startTime") Date startTime, @Param("endTime") Date endTime); + + List selectListByArea(@Param("lastDay") String lastDay,@Param("countType")String countType); + + List selectStatisticsLastMonthData(@Param("lastMonth") String lastMonth,@Param("countType")String countType); + + List selectStatisticsSeasonData(List monthList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasFlagMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasFlagMapper.java new file mode 100644 index 0000000..d3d174e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasFlagMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaGasFlag; +import cn.cecep.talroad.vo.analysis.SRaGasFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasFlagQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废气在线监测标记汇总Mapper接口 + */ +@Mapper +public interface SRaGasFlagMapper extends BaseMapper { + + List selectGasFlagList(@Param("page") Page page, @Param("query") SRaGasFlagQuery query); + + List selectGasFlagDetailList(@Param("page") Page page, @Param("query") SRaGasFlagQuery query); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedEmissionsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedEmissionsMapper.java new file mode 100644 index 0000000..14b4223 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedEmissionsMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 许可排放量废气明细Mapper接口 + * + * @author szhpt + * @date 2023-06-02*/ +@Mapper +public interface SRaGasPermittedEmissionsMapper extends BaseMapper +{ + /** + * 查询许可排放量废气明细列表 + * + * @param sRaGasPermittedEmissions 许可排放量废气明细 + * @return 许可排放量废气明细集合 + */ + public List selectSRaGasPermittedEmissionsList(SRaGasPermittedEmissionsQuery sRaGasPermittedEmissions); + + List selectSRaGasPermittedEmissionsListBy(Page page, @Param("lambdaQueryWrapper") SRaGasPermittedEmissionsQuery lambdaQueryWrapper); + + List> pullMonitorNameOptions(@Param("factoryName") String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedOnlineMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedOnlineMapper.java new file mode 100644 index 0000000..2c05cfe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaGasPermittedOnlineMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 在线排放量废气明细Mapper接口 + * + * @author szhpt + * @date 2023-06-02*/ +@Mapper +public interface SRaGasPermittedOnlineMapper extends BaseMapper +{ + /** + * 查询在线排放量废气明细列表 + * + * @param sRaGasPermittedOnline 在线排放量废气明细 + * @return 在线排放量废气明细集合 + */ + public List selectSRaGasPermittedOnlineList(SRaGasPermittedOnline sRaGasPermittedOnline); + + List selectSRaGasPermittedOnlineListBy(Page page, @Param("lambdaQueryWrapper") SRaGasPermittedOnlineQuery lambdaQueryWrapper); + + List> pullMonitorNameOptions(@Param("factoryName") String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsGasMapper.java new file mode 100644 index 0000000..b8fb8c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsGasMapper.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsGasQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 手工监测排放监控-气污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaHandworkEmissionsGasMapper extends BaseMapper +{ + /** + * 查询手工监测排放监控-气污染要素列表 + * + * @param sRaHandworkEmissionsGas 手工监测排放监控-气污染要素 + * @param startTime + * @param endTime + * @param cycStartTime + * @param cycEndTime + * @return 手工监测排放监控-气污染要素集合 + */ + public List selectSRaHandworkEmissionsGasList(@Param("sRaHandworkEmissionsGas") SRaHandworkEmissionsGasQuery sRaHandworkEmissionsGas, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime, @Param("cycStartTime") DateTime cycStartTime, @Param("cycEndTime") DateTime cycEndTime); + + /** + * 查询监测点位名称options + * @return options + */ + List> pullPointOptions(); + + /** + * 查询污染物options + * @return options + */ + List> pullPollutantOptions(); + + /** + * 查询某个企业当年手工数据平均值 + * @param factoryId + */ + List selectAgvDataList(@Param("factoryId") String factoryId, @Param("dateStr")String dateStr, @Param("dateStrEnd")String dateStrEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsWaterMapper.java new file mode 100644 index 0000000..1df876c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaHandworkEmissionsWaterMapper.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsWaterQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 手工监测排放监控-水污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaHandworkEmissionsWaterMapper extends BaseMapper +{ + /** + * 查询手工监测排放监控-水污染要素列表 + * + * @param sRaHandworkEmissionsWater 手工监测排放监控-水污染要素 + * @param startTime + * @param endTime + * @param cycStartTime + * @param cycEndTime + * @return 手工监测排放监控-水污染要素集合 + */ + public List selectSRaHandworkEmissionsWaterList(@Param("sRaHandworkEmissionsWater") SRaHandworkEmissionsWaterQuery sRaHandworkEmissionsWater, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime, @Param("cycStartTime") DateTime cycStartTime, @Param("cycEndTime") DateTime cycEndTime); + + /** + * 查询监测点位名称options + * @return options + */ + List> pullPointOptions(); + + /** + * 查询污染物options + * @return options + */ + List> pullPollutantOptions(); + + /** + * 查询企业手工数据当前年均值 + * @param factoryId + * @param dateStr + * @param dateStrEnd + * @return + */ + List selectAgvDataList(@Param("factoryId") String factoryId, @Param("dateStr")String dateStr, @Param("dateStrEnd")String dateStrEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringGasMapper.java new file mode 100644 index 0000000..f3af33b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringGasMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringGas; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SRaLowMonitoringGasMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectHourDataByTime(@Param("factoryId") String factoryId,@Param("outletId") String outletId,@Param("pollutantCode")String pollutantCode,@Param("monitroTime") Date monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringOtherMapper.java new file mode 100644 index 0000000..d84a7c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringOtherMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SRaLowMonitoringOtherMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringWaterMapper.java new file mode 100644 index 0000000..0ce7100 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaLowMonitoringWaterMapper.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringWater; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SRaLowMonitoringWaterMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectHourDataByTime(String factoryId, String monitorId, String pollutantsCode, Date monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaMultiSourceMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaMultiSourceMapper.java new file mode 100644 index 0000000..92a8e59 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaMultiSourceMapper.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.cecep.talroad.vo.query.analysis.SRaMultiSourceQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 多源排放量汇总Mapper接口 + * + * @author szhpt + * @date 2023-06-03*/ +@Mapper +public interface SRaMultiSourceMapper extends BaseMapper +{ + /** + * 查询多源排放量汇总列表 + * + * @param sRaMultiSource 多源排放量汇总 + * @return 多源排放量汇总集合 + */ + public List selectSRaMultiSourceList(SRaMultiSourceQuery sRaMultiSource); + + List selectSRaMultiSourceListBy(Page page, @Param("lambdaQueryWrapper") SRaMultiSourceQuery lambdaQueryWrapper); + + List selectSRaMultiSourceListDetailsBy(Page page, @Param("lambdaQueryWrapper") SRaMultiSourceQuery lambdaQueryWrapper); + + String pullMonitorNameOptions(@Param("lambdaQueryWrapper") SRaMultiSourceQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsGasMapper.java new file mode 100644 index 0000000..e991ec5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsGasMapper.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.vo.GasPollEmissionsVO; +import cn.cecep.talroad.vo.analysis.MaxEmissionsVO; +import cn.cecep.talroad.vo.analysis.MonthTotalEmissionsVO; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsGasQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 在线监测排放监控-气污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaOnlineEmissionsGasMapper extends BaseMapper +{ + /** + * 查询在线监测排放监控-气污染要素列表 + * + * @param sRaOnlineEmissionsGas 在线监测排放监控-气污染要素 + * @return 在线监测排放监控-气污染要素集合 + */ + public List selectSRaOnlineEmissionsGasList(SRaOnlineEmissionsGas sRaOnlineEmissionsGas); + + + /** + * 查询前720小时内最大排放量 + * @return + */ + List select720HourAgoMaxEmissions(@Param("outletCode") String outletCode, @Param("factoryId")String factoryId); + + + /** + * 查询月/季度 排放总量 + * @param factoryId + * @param dateStr + * @return + */ + List selectMonthTotalData(@Param("factoryId") String factoryId,@Param("dateStr")String dateStr,@Param("selectType") int selectType); + + /** + * 废气 年统计数据 + */ + List selectEmissionDataList(@Param("factoryId") String factoryId, + @Param("dateType") String dateType, + @Param("startDateTime") String startDateTime, + @Param("endDateTime") String endDateTime, + @Param("pollNames") String[] pollNames, + @Param("industry") String industry, + @Param("groupByField") String groupByField); + + List selectChartData(@Param("searchVo") SRaOnlineEmissionsGasQuery.CharDataSearchVo searchVo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsWaterMapper.java new file mode 100644 index 0000000..52bbbc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOnlineEmissionsWaterMapper.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.cecep.talroad.vo.GasPollEmissionsVO; +import cn.cecep.talroad.vo.WaterPollEmissionsVO; +import cn.cecep.talroad.vo.analysis.MaxEmissionsVO; +import cn.cecep.talroad.vo.analysis.MonthTotalEmissionsVO; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 在线监测排放监控-水污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaOnlineEmissionsWaterMapper extends BaseMapper +{ + /** + * 查询在线监测排放监控-水污染要素列表 + * + * @param sRaOnlineEmissionsWater 在线监测排放监控-水污染要素 + * @return 在线监测排放监控-水污染要素集合 + */ + public List selectSRaOnlineEmissionsWaterList(SRaOnlineEmissionsWater sRaOnlineEmissionsWater); + + List select720HourAgoMaxEmissions(@Param("outletCode") String outletCode, @Param("factoryId")String factoryId); + + /** + * 查询月/季度总排放 + * @param factoryId + * @param dateStr + * @return + */ + List selectMonthTotalData(@Param("factoryId")String factoryId, @Param("dateStr")String dateStr,@Param("selectType")int selectType); + + List selectEmissionDataList(@Param("factoryId") String factoryId, + @Param("dateType") String dateType, + @Param("startDateTime") String startDateTime, + @Param("endDateTime") String endDateTime, + @Param("pollNames") String[] pollNames, + @Param("industry") String industry, + @Param("groupByField") String groupByField); + + List selectChartData(@Param("searchVo") SRaOnlineEmissionsWaterQuery.CharDataSearchVo searchVo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateGasMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateGasMapper.java new file mode 100644 index 0000000..844c713 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateGasMapper.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverRateGas; +import cn.cecep.talroad.vo.analysis.SRaOverRateGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateGasQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + +/** + * 超标率分析-气污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaOverRateGasMapper extends BaseMapper +{ + List selectOverRateGasPage(Page page, @Param("query") SRaOverRateGasQuery query); + + List selectByMonthData(@Param("monthList") List monthList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateWaterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateWaterMapper.java new file mode 100644 index 0000000..38b4c3c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverRateWaterMapper.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.cecep.talroad.vo.analysis.SRaOverRateWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateWaterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + +/** + * 超标率分析-水污染要素Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaOverRateWaterMapper extends BaseMapper +{ + + List selectOverRateWaterPage(@Param("page") Page page, @Param("query") SRaOverRateWaterQuery query); + + + List selectWaterDataByMonth(@Param("monthList") List monthList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverWaterPollutionTraceabilityMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverWaterPollutionTraceabilityMapper.java new file mode 100644 index 0000000..1991835 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaOverWaterPollutionTraceabilityMapper.java @@ -0,0 +1,9 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SRaOverWaterPollutionTraceabilityMapper extends BaseMapper { +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMapper.java new file mode 100644 index 0000000..33be730 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMapper.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsit; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组Mapper接口 + * + * @author szhpt + * @date 2023-07-14*/ +@Mapper +public interface SRaRealTimeAnalysicComsitMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组列表 + * + * @param sRaRealTimeAnalysicComsit 关联分析系统-企业生产过程分析-监测点位对比分析-分组 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组集合 + */ + public List selectSRaRealTimeAnalysicComsitList(SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit); + + List selectSRaRealTimeAnalysicComsitListBy(Page page, @Param("sRaRealTimeAnalysicComsit") SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + List selectSRaRealTimeAnalysicComsitListBys(Page page, @Param("comsitQuery") SRaRealTimeAnalysicComsitQuery comsitQuery); + + List abnormalList(Page page, @Param("sRaRealTimeAnalysicComsit") SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + List abnormalEcharts(@Param("sRaRealTimeAnalysicComsit") SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + List> editListDropdown(@Param("sRaRealTimeAnalysicComsit") SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMonitorMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMonitorMapper.java new file mode 100644 index 0000000..f488b21 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysicComsitMonitorMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsitMonitor; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位Mapper接口 + * + * @author szhpt + * @date 2023-07-14*/ +@Mapper +public interface SRaRealTimeAnalysicComsitMonitorMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位列表 + * + * @param sRaRealTimeAnalysicComsitMonitor 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位集合 + */ + public List selectSRaRealTimeAnalysicComsitMonitorList(SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCementMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCementMapper.java new file mode 100644 index 0000000..ce059ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCementMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCementQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisFurnaceQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析Mapper接口 + * + * @author szhpt + * @date 2023-04-02*/ +@Mapper +public interface SRaRealTimeAnalysisCementMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-水泥熟料产量分析列表 + * + * @param sRaRealTimeAnalysisCement 关联分析系统-企业生产过程分析-水泥熟料产量分析 + * @return 关联分析系统-企业生产过程分析-水泥熟料产量分析集合 + */ + public List selectSRaRealTimeAnalysisCementList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + + List> pullDeviceNameOptions(@Param("factoryName")String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoMapper.java new file mode 100644 index 0000000..39160db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoMapper.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.domain.GasReleaseRealStatus; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.vo.analysis.CoDeviceDiffuseStatusFactoryVO; +import cn.cecep.talroad.vo.analysis.CoDeviceTypeCountVO; +import cn.cecep.talroad.vo.analysis.CoDeviceTypeDiffuseStatusVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * co放散分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisCoMapper extends BaseMapper +{ + /** + * 查询co放散分析列表 + * + * @param sRaRealTimeAnalysisCo co放散分析 + * @return co放散分析集合 + */ + public List selectSRaRealTimeAnalysisCoList(Page page,@Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + /** + * 工序options + * @param industryCategoryCode + * @return + */ + List> pullWorkingProcedureOptions(@Param("industryCategoryCode") String industryCategoryCode); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/10 3:35 AM + * @Deseription: 关联分析系统-企业生产过程分析-co放散分析 + * @Params: null + * @Return: + * @Throws: + */ + List selectSRaRealTimeAnalysisCoListByDeviceIdAndTime(@Param("deviceId") String deviceId, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime); + + List selectSRaRealTimeAnalysisCoListPage(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + String analysisCurveEndTime(@Param("deviceId") String deviceId, @Param("monitoringStartTime") Date monitoringStartTime, @Param("monitoringEndTime") Date monitoringEndTime); + + List selectSRaRealTimeAnalysisCoListById(@Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo, @Param("list") List stringList); + + /** + * 查询时间段内的设备类型数量 + * @param sRaRealTimeAnalysisCo + * @return + */ + CoDeviceTypeCountVO selectDeviceTypeCount(@Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + /** + * 查询时间段内的设备状态数量 + * @param sRaRealTimeAnalysisCo + * @return + */ + List selectDeviceTypeDiffuseStatusCount(@Param("sRaRealTimeAnalysisCo")SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + /** + * 查询时间段内的状态企业列表 + * @param sRaRealTimeAnalysisCo + * @return + */ + List selectDeviceDiffuseStatusFactoryList(@Param("sRaRealTimeAnalysisCo")SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoalMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoalMapper.java new file mode 100644 index 0000000..ce54aac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCoalMapper.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoalQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 装煤推焦次数分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisCoalMapper extends BaseMapper +{ + /** + * 查询装煤推焦次数分析列表 + * + * @param sRaRealTimeAnalysisCoal 装煤推焦次数分析 + * @return 装煤推焦次数分析集合 + */ + public List selectSRaRealTimeAnalysisCoalList(Page page, @Param("sRaRealTimeAnalysisCoal") SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + + /** + * 设备名称options + * @param factoryName + * @return + */ + List> pullDeviceNameOptions(@Param("factoryName") String factoryName); + + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCoal") SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCoal") SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + + List resultCurve( @Param("sRaRealTimeAnalysisCoal") SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCokeMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCokeMapper.java new file mode 100644 index 0000000..70b2431 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisCokeMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析Mapper接口 + * + * @author szhpt + * @date 2023-04-03*/ +@Mapper +public interface SRaRealTimeAnalysisCokeMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-焦炭产量分析列表 + * + * @param sRaRealTimeAnalysisCoke 关联分析系统-企业生产过程分析-焦炭产量分析 + * @return 关联分析系统-企业生产过程分析-焦炭产量分析集合 + */ + public List selectSRaRealTimeAnalysisCokeList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + + List> pullDeviceNameOptions(@Param("factoryName") String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisConverterMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisConverterMapper.java new file mode 100644 index 0000000..6be2bce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisConverterMapper.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoalQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 转炉产量分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisConverterMapper extends BaseMapper +{ + /** + * 查询转炉产量分析列表 + * + * @param sRaRealTimeAnalysisConverter 转炉产量分析 + * @return 转炉产量分析集合 + */ + public List selectSRaRealTimeAnalysisConverterList(Page page,@Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter); + + /** + * 获取设备名称options + * @return + */ + List> pullDeviceNameOptions(@Param("factoryName") String factoryName); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoal); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoal); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoal); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisFurnaceMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisFurnaceMapper.java new file mode 100644 index 0000000..9e67b0b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisFurnaceMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisFurnaceQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 高炉产量分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisFurnaceMapper extends BaseMapper +{ + /** + * 查询高炉产量分析列表 + * + * @param sRaRealTimeAnalysisFurnace 高炉产量分析 + * @return 高炉产量分析集合 + */ + public List selectSRaRealTimeAnalysisFurnaceList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + + List> pullDeviceNameOptions(@Param("factoryName")String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisGlassMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisGlassMapper.java new file mode 100644 index 0000000..38d991f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisGlassMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析Mapper接口 + * + * @author szhpt + * @date 2023-04-02*/ +@Mapper +public interface SRaRealTimeAnalysisGlassMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-玻璃产量分析列表 + * + * @param sRaRealTimeAnalysisGlass 关联分析系统-企业生产过程分析-玻璃产量分析 + * @return 关联分析系统-企业生产过程分析-玻璃产量分析集合 + */ + public List selectSRaRealTimeAnalysisGlassList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + + List> pullDeviceNameOptions(@Param("factoryName")String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisKwhMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisKwhMapper.java new file mode 100644 index 0000000..87debf0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisKwhMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisKwh; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisKwhQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * 企业用电水平分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisKwhMapper extends BaseMapper +{ + /** + * 查询企业用电水平分析列表 + * + * @param sRaRealTimeAnalysisKwh 企业用电水平分析 + * @param start + * @param end + * @return 企业用电水平分析集合 + */ + public List selectSRaRealTimeAnalysisKwhList(Page page, @Param("sRaRealTimeAnalysisKwh") SRaRealTimeAnalysisKwhQuery sRaRealTimeAnalysisKwh,@Param("start") BigDecimal start,@Param("end") BigDecimal end); + + List> pullPollutantOptions(); + + Map pullEmissionScaleOptions(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisPowerMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisPowerMapper.java new file mode 100644 index 0000000..7bfb917 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisPowerMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析Mapper接口 + * + * @author szhpt + * @date 2023-04-02*/ +@Mapper +public interface SRaRealTimeAnalysisPowerMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-机组负荷分析列表 + * + * @param sRaRealTimeAnalysisPower 关联分析系统-企业生产过程分析-机组负荷分析 + * @return 关联分析系统-企业生产过程分析-机组负荷分析集合 + */ + public List selectSRaRealTimeAnalysisPowerList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + + List> pullDeviceNameOptions(@Param("factoryName")String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRubbishMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRubbishMapper.java new file mode 100644 index 0000000..ad44386 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRubbishMapper.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRubbishQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析Mapper接口 + * + * @author szhpt + * @date 2023-04-03*/ +@Mapper +public interface SRaRealTimeAnalysisRubbishMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业生产过程分析-垃圾处理量分析列表 + * + * @param sRaRealTimeAnalysisRubbish 关联分析系统-企业生产过程分析-垃圾处理量分析 + * @return 关联分析系统-企业生产过程分析-垃圾处理量分析集合 + */ + public List selectSRaRealTimeAnalysisRubbishList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + List statisticsList(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + List statisticsListByDevice(Page page, @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + + List resultCurve( @Param("sRaRealTimeAnalysisCo") SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + + List> pullDeviceNameOptions(@Param("factoryName")String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRunMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRunMapper.java new file mode 100644 index 0000000..e828c3a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisRunMapper.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRunQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 企业装备运行情况实时分析Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisRunMapper extends BaseMapper +{ + /** + * 查询企业装备运行情况实时分析列表 + * + * @param sRaRealTimeAnalysisRun 企业装备运行情况实时分析 + * @return 企业装备运行情况实时分析集合 + */ + public List selectSRaRealTimeAnalysisRunList(SRaRealTimeAnalysisRunQuery sRaRealTimeAnalysisRun); + + /** + * 获取设备名称options + * @return + */ + List> pullDeviceNameOptions(@Param("factoryName") String factoryName); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 4:54 PM + * @Deseription: 查询企业装备运行情况实时分析列表 + * @Params: null + * @Return: + * @Throws: + */ + List selectListByDate(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime, + @Param("updateTime") Timestamp updateTime + ); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 4:54 PM + * @Deseription: 查询企业装备运行情况实时分析列表 + * @Params: null + * @Return: + * @Throws: + */ + List threadSelectListByDate(@Param("startTime") Timestamp startTime, + @Param("endTime") Timestamp endTime, + @Param("updateTime") Timestamp updateTime + ); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/1 2:30 PM + * @Deseription: 查询企业装备运行情况实时分析列表 + * @Params: null + * @Return: + * @Throws: + */ + List selectSRaRealTimeAnalysisRunListByDeviceIdAndTime(@Param("deviceId") List deviceId, @Param("dateTime") Timestamp dateTime); + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/5 10:25 PM + * @Deseription: 插入 + * @Params: null + * @Return: + * @Throws: + */ + void insertSRaRealTimeAnalysisRun(SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun); + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/5 10:25 PM + * @Deseription: 批量插入 + * @Params: null + * @Return: + * @Throws: + */ + void insertSRaRealTimeAnalysisRuns(List sRaRealTimeAnalysisRun); + + + List selectAnalysisRunByParams(SRaRealTimeAnalysisRun oldBasDevice); + + List analysisCurve(@Param("deviceId") String deviceId, @Param("monitoringStartTime") Date monitoringStartTime, @Param("monitoringEndTime") Date monitoringEndTime); + + String selectListMaxTime(@Param("deviceId") String deviceId, @Param("monitoringStartTime") Date monitoringStartTime, @Param("monitoringEndTime") Date monitoringEndTime); +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisStopMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisStopMapper.java new file mode 100644 index 0000000..2de455e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaRealTimeAnalysisStopMapper.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisStop; +import cn.cecep.talroad.vo.analysis.DeviceStatusWorkStepVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisStopQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 企业装备停限产分析报(DCS)Mapper接口 + * + * @author szhpt + * @date 2023-03-24*/ +@Mapper +public interface SRaRealTimeAnalysisStopMapper extends BaseMapper +{ + /** + * 查询企业装备停限产分析报(DCS)列表 + * + * @param sRaRealTimeAnalysisStop 企业装备停限产分析报(DCS) + * @return 企业装备停限产分析报(DCS)集合 + */ + public List selectSRaRealTimeAnalysisStopList(Page page,@Param("sRaRealTimeAnalysisStop") SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop); + + /** + * 工序options + * @param industryCategoryCode + * @return + */ + List> pullWorkingProcedureOptions(@Param("industryCategoryCode") String industryCategoryCode); + + List selectSRaRealTimeAnalysisStopListPage(Page page, @Param("sRaRealTimeAnalysisStop") SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop); + + List selectSRaRealTimeAnalysisStopListById(@Param("sRaRealTimeAnalysisStop") SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop, @Param("list") List list); + + List selectDeviceByStatusAndWorkStep(@Param("sRaRealTimeAnalysisStop")SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaSelfMonitoringDataMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaSelfMonitoringDataMapper.java new file mode 100644 index 0000000..f18016a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaSelfMonitoringDataMapper.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.vo.query.analysis.SRaSelfMonitoringDataQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 关联分析系统-企业自行监测数据Mapper接口 + * + * @author szhpt + * @date 2023-06-27*/ +@Mapper +public interface SRaSelfMonitoringDataMapper extends BaseMapper +{ + /** + * 查询关联分析系统-企业自行监测数据列表 + * + * @param sRaSelfMonitoringData 关联分析系统-企业自行监测数据 + * @return 关联分析系统-企业自行监测数据集合 + */ + public List selectSRaSelfMonitoringDataList(SRaSelfMonitoringDataQuery sRaSelfMonitoringData); + + List> pullPollutantNameOptions(@Param("name") String name); + + List queryList(@Param("startDate") Date startDate, @Param("endDate") Date endDate); + + List selectLastDayGasData(@Param("startDate") Date lastDayBegin, @Param("endDate") Date lastDayEnd); + + List selectAllLastDayGasData(@Param("startDate") Date lastDayBegin, @Param("endDate") Date lastDayEnd); + + List selectLastDayWaterData(@Param("startDate") Date lastDayBegin, @Param("endDate") Date lastDayEnd); + + List selectAllLastDayWaterData(@Param("startDate") Date lastDayBegin, @Param("endDate") Date lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterFlagMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterFlagMapper.java new file mode 100644 index 0000000..3abee6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterFlagMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper.analysis; + +import cn.cecep.talroad.domain.analysis.SRaWaterFlag; +import cn.cecep.talroad.vo.analysis.SRaWaterFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterFlagQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废水在线监测标记汇总Mapper接口 + */ +@Mapper +public interface SRaWaterFlagMapper extends BaseMapper +{ + + List selectWaterFlagList(@Param("page") Page page, @Param("query") SRaWaterFlagQuery query); + + List selectWaterFlagDetailList(@Param("page") Page page, @Param("query") SRaWaterFlagQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedEmissionsMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedEmissionsMapper.java new file mode 100644 index 0000000..007c3c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedEmissionsMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedEmissions; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 许可排放量废水明细Mapper接口 + * + * @author szhpt + * @date 2023-06-02*/ +@Mapper +public interface SRaWaterPermittedEmissionsMapper extends BaseMapper +{ + /** + * 查询许可排放量废水明细列表 + * + * @param sRaWaterPermittedEmissions 许可排放量废水明细 + * @return 许可排放量废水明细集合 + */ + public List selectSRaWaterPermittedEmissionsList(SRaWaterPermittedEmissions sRaWaterPermittedEmissions); + + List selectSRaWaterPermittedEmissionsListBy(Page page, @Param("lambdaQueryWrapper") SRaWaterPermittedEmissionsQuery lambdaQueryWrapper); + + List> pullMonitorNameOptions(@Param("factoryName") String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedOnlineMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedOnlineMapper.java new file mode 100644 index 0000000..05fb5c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/analysis/SRaWaterPermittedOnlineMapper.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.mapper.analysis; + +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 许可排放量废水明细Mapper接口 + * + * @author szhpt + * @date 2023-06-02*/ +@Mapper +public interface SRaWaterPermittedOnlineMapper extends BaseMapper +{ + /** + * 查询许可排放量废水明细列表 + * + * @param sRaWaterPermittedOnline 许可排放量废水明细 + * @return 许可排放量废水明细集合 + */ + public List selectSRaWaterPermittedOnlineList(SRaWaterPermittedOnline sRaWaterPermittedOnline); + + List selectSRaGasPermittedOnlineListBy(Page page, @Param("lambdaQueryWrapper") SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List> pullMonitorNameOptions(@Param("factoryName") String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationExceedMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationExceedMapper.java new file mode 100644 index 0000000..9aab3c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationExceedMapper.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.ERmStationExceed; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.effective.ERmStationInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ERmStationExceedMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + /** + * 分页查询站点信息 + * + * @param page + * @param entity + * @return + */ + IPage selectListInfo(Page page, ERmStationInfo entity); + + IPage selectGasAndHaveData(Page page); + + IPage selectStationList(Page page, ERmStationInfo entity); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationHourMapper.java new file mode 100644 index 0000000..be8f9e5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ERmStationHourMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.ERmStationHour; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface ERmStationHourMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MAiControlDelayAssessmentMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MAiControlDelayAssessmentMapper.java new file mode 100644 index 0000000..0f06673 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MAiControlDelayAssessmentMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.MAiControlDelayAssessment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface MAiControlDelayAssessmentMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFacilitiesMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFacilitiesMapper.java new file mode 100644 index 0000000..31043ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFacilitiesMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFacilities; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface MGovernanceTechnologyEstimateFacilitiesMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFactoryMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFactoryMapper.java new file mode 100644 index 0000000..e3c9db2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateFactoryMapper.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFactory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface MGovernanceTechnologyEstimateFactoryMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectNameByAnalyzeLatitude(@Param("tableName") String s, @Param("field") String name,@Param("value") String value); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateProcedureMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateProcedureMapper.java new file mode 100644 index 0000000..d60352c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/MGovernanceTechnologyEstimateProcedureMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateProcedure; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface MGovernanceTechnologyEstimateProcedureMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeIndexPollutantMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeIndexPollutantMapper.java new file mode 100644 index 0000000..5bc2a8f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeIndexPollutantMapper.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PCodeIndexPollutant; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author zhangshiji + * @date 2022/7/26 + */ +public interface PCodeIndexPollutantMapper extends BaseMapper { + /** + * 通过属性名查询id + * @param column 属性名 + * @return + */ + Integer findIdByColumn(@Param("column") String column); + + /** + * 通过属性名查询 因子标准名称 + * @param column 属性名 + * @return + */ + String findNameByColumn(@Param("column") String column); + + /** + * 查询达标计算相关因子 + * @return + */ + List findTargetPollutant(); + + /** + * 查询秋冬防计算相关因子 + * @return + */ + List findWinterPollutant(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeRegionMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeRegionMapper.java new file mode 100644 index 0000000..1702f3f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PCodeRegionMapper.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PCodeRegion; +import cn.cecep.talroad.domain.vo.PCodeStationVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +@Mapper +public interface PCodeRegionMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List findStationPullDataList(@Param("regionCode") String regionCode, @Param("levelCodeList") List levelCodeList); + + Map selectMapConig(@Param("regionCode") String regionCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingHourMapper.java new file mode 100644 index 0000000..e937ef2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingHourMapper.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PcNationalCityRankingHour; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.Date; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface PcNationalCityRankingHourMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectHourRankData(@Param("lastHourDate") Date lastHourDate); + + void updateBatchIndexProvince(List rankList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingOtherMapper.java new file mode 100644 index 0000000..3df27f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCityRankingOtherMapper.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PcNationalCityRankingOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import java.util.Date; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface PcNationalCityRankingOtherMapper extends BaseMapper { + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectDayRankData(@Param("currDay") String currDay); + + List selectMonthRankData(@Param("currDay") String lastMonthDate); + + List selectYearRankData(@Param("currDay")String lastYearDate); + + void updateBatchRank(@Param("list") List cityList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingHourMapper.java new file mode 100644 index 0000000..e8d61a3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingHourMapper.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PcNationalCountyRankingHour; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/16 18:02 + * @Version: 1.0 + */ +@Mapper +public interface PcNationalCountyRankingHourMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingOtherMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingOtherMapper.java new file mode 100644 index 0000000..32ed067 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/PcNationalCountyRankingOtherMapper.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.PcNationalCountyRankingOther; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/16 18:03 + * @Version: 1.0 + */ +public interface PcNationalCountyRankingOtherMapper extends BaseMapper { +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaHourMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaHourMapper.java new file mode 100644 index 0000000..c0dba59 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaHourMapper.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.mapper.effective; + +import org.apache.ibatis.annotations.Mapper; + + +/** + * @author zhangshiji + * @date 2022/7/14 + */ +@Mapper +public interface QEnvgasAreaHourMapper/* extends ElasticsearchRepository*/ { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaTargetMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaTargetMapper.java new file mode 100644 index 0000000..ce52e3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasAreaTargetMapper.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.mapper.effective; + + +import cn.cecep.talroad.domain.effective.QEnvgasAreaTarget; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 目标管理Mapper接口 + * create by auto code + * + * @author talroad + * @date 2022-09-19 15:09:25 + */ +public interface QEnvgasAreaTargetMapper extends BaseMapper { + /** + * 查询目标管理 + * + * @param qEnvgasAreaTarget 目标管理 + */ + public List queryQEnvgasAreaTargetList(QEnvgasAreaTarget qEnvgasAreaTarget); + + + /** + * 目标查询 + * + * @param regionCode 区域编号 + * @param timeType 时间类型 + * @param time 时间 + * @return + */ + public List> findTargets(@Param("regionCode") String regionCode, @Param("timeType") int timeType, @Param("time") String time); + + /** + * 月度目标查询 + * + * @param regionCode 区域编号 + * @param timeType 时间类型 + * @param year 年份 + * @return + */ + public List> findMonthTarget(@Param("regionCode") String regionCode, @Param("timeType") int timeType, @Param("year") int year); + + /** + * 查询秋冬防目标值 + * + * @param regionCode 区域编号 + * @param month 月份数组 + * @param type 时间类型 + * @param factor 因子名称 + * @return + */ + Map findAutumnWinterTarget(@Param("regionCode") String regionCode, @Param("month") String[] month, @Param("type") int type, @Param("factor") String factor); + + List> findAutumTarget(@Param("regionCode") String regionCode, @Param("year") int year, @Param("type") int type); + + /** + * 通过regionCode删除历史目标 + * + * @param regionCode + */ + void deleteByRegionCode(@Param("regionCode") String regionCode); + + /** + * 通过regionCode删除 冬防/累计目标 + * + * @param regionCode + */ + void deleteAutumnByRegionCode(@Param("regionCode") String regionCode, @Param("field") Integer field); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqDayMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqDayMapper.java new file mode 100644 index 0000000..3d69836 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqDayMapper.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.QEnvgasWqDay; +import cn.cecep.talroad.vo.effective.AirParmaVo; +import cn.cecep.talroad.vo.effective.AirQualityData; +import cn.cecep.talroad.vo.effective.MonthDataVo; +import cn.cecep.talroad.vo.effective.QEnvgasAreaTargetVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + *

+ * 区域日数据表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +public interface QEnvgasWqDayMapper extends BaseMapper { + + /** + * 查询区域优良天数 + * + * @param year 年份 + * @param regionCode 区域编号 + * @return + */ + List findYearGoodDays(@Param("year") int year, @Param("regionCode") String regionCode); + + /** + * 查询区域重污染天数 + * + * @param year 年份 + * @param regionCode 区域编号 + * @return + */ + List findYearHeavyDays(@Param("year") int year, @Param("regionCode") String regionCode); + + /** + * 查询区域co超标天数 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param stand 目标值 + * @return + */ + List findYearCoOverDays(@Param("year") int year, @Param("regionCode") String regionCode, @Param("stand") BigDecimal stand); + + /** + * 查询区域o38h超标天数 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param stand 目标值 + * @return + */ + List findYearO38hOverDays(@Param("year") int year, @Param("regionCode") String regionCode, @Param("stand") BigDecimal stand); + + Map findStandardMonitoringDay(@Param("userRegionCode") String userRegionCode); + + List findStandardTargetDay(@Param("userRegionCode") String userRegionCode, @Param("time") String time, @Param("type") String type); + + Map findStandardMonitoringLastDay(String userRegionCode); + + BigDecimal selectByExceedDay(@Param("targetValue") BigDecimal targetValue, @Param("regionCode") String regionCode, @Param("divisor") String divisor); + + + List queryAreaDayData(AirParmaVo airParmaVo); + + BigDecimal getPollutionDay(@Param("regionCode") String regionCode, @Param("type") String s); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqMonthMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqMonthMapper.java new file mode 100644 index 0000000..ae8cf62 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqMonthMapper.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.dto.AnalysisDto; +import cn.cecep.talroad.domain.dto.SequenceDto; +import cn.cecep.talroad.domain.effective.QEnvgasWqMonth; +import cn.cecep.talroad.vo.effective.AirParmaVo; +import cn.cecep.talroad.vo.effective.AirQualityData; +import cn.cecep.talroad.vo.effective.MonthDataVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 区域月数据表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +public interface QEnvgasWqMonthMapper extends BaseMapper { + + List selectByAverageData(SequenceDto sequenceDto); + + /** + * 查询区域月数据 + * 以站点为主表,即使月无数据,也返回站点信息 + * @param airParmaVo + * @return + */ + List queryAreaMonthData(AirParmaVo airParmaVo); + + /** + * 查询区域月数据 + * 以月数据表为主表,无数据则返回空 + * @param airParmaVo + * @return + */ + List queryAreaMonthDataNew(AirParmaVo airParmaVo); + + List selectByInterpolationData(SequenceDto sequenceDto); + + List selectByAerData(SequenceDto sequenceDto); + + List getCount(SequenceDto sequenceDto); + + List selectByInterpolationDataList(SequenceDto sequenceDto); + + /** + * 通过年份查询月份数据集合 + * @param regionCode 区域code + * @param year 年份 yyyy + * @return + */ + List selectAreaYearData(@Param("regionCode") String regionCode , @Param("year") int year); + + Map findStandardMonitoringLastMonth(@Param("userRegionCode") String userRegionCode, @Param("type")String type); + + List findStandardDivisorMonth(@Param("userRegionCode")String userRegionCode,@Param("type") String s); + + List selectAnalysisMonthData(AnalysisDto analysisDto); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqYearMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqYearMapper.java new file mode 100644 index 0000000..1fff549 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QEnvgasWqYearMapper.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.dto.ReachabilityDto; +import cn.cecep.talroad.domain.effective.QEnvgasWqYear; +import cn.cecep.talroad.vo.effective.AirParmaVo; +import cn.cecep.talroad.vo.effective.AirQualityData; +import cn.cecep.talroad.vo.effective.QEnvgasAreaTargetVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + *

+ * 区域年数据表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +public interface QEnvgasWqYearMapper extends BaseMapper { + /** + * 查询区域年数据 + * 以站点为主表,即使年无数据,也返回站点信息 + * @param airParmaVo + * @return + */ + List queryAreaYearData(AirParmaVo airParmaVo); + + /** + * 查询区域年数据 + * 以年数据表为主表,无数据则返回空 + * @param airParmaVo + * @return + */ + List queryAreaYearDataNew(AirParmaVo airParmaVo); + + + QEnvgasAreaTargetVo findReachabilityAnalysis(ReachabilityDto reachabilityDto); + + + BigDecimal findPeriodLastYear(ReachabilityDto reachabilityDto); + + Map findStandardMonitoringLastYear(@Param("userRegionCode") String userRegionCode,@Param("type") String type); + + BigDecimal findPrevention(ReachabilityDto reachabilityDto); + + Map findAutumnWinter(ReachabilityDto reachabilityDto); + + List findStandardDivisorLastYear(@Param("userRegionCode") String userRegionCode,@Param("type") String type); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QReportTemplateMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QReportTemplateMapper.java new file mode 100644 index 0000000..e18ae25 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QReportTemplateMapper.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.vo.effective.QReportTemplate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * 报告模板Mapper接口 + * create by auto code + * @author talroad + * @date 2022-08-26 10:41:48 + */ +public interface QReportTemplateMapper extends BaseMapper +{ + + + /** + * 小时报告模板列表 + * @return + */ + public List hourTemplates(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QTargetConfigMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QTargetConfigMapper.java new file mode 100644 index 0000000..137ed78 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/QTargetConfigMapper.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.QTargetConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 目标管理配置Mapper接口 + * create by auto code + * @author talroad + * @date 2022-09-20 11:41:36 + */ +public interface QTargetConfigMapper extends BaseMapper +{ + /** + * 查询目标管理配置 + * + * @param qTargetConfig 目标管理配置 + */ + public List queryQTargetConfigList(QTargetConfig qTargetConfig); + + /** + * 通过区域编号查询配置 + * @param regionCode + * @return + */ + QTargetConfig findConfigByRegionCode(@Param("regionCode") String regionCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/RectificationEffectEvaluationMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/RectificationEffectEvaluationMapper.java new file mode 100644 index 0000000..5b5d473 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/RectificationEffectEvaluationMapper.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.RectificationEffectQueryDTO; +import cn.cecep.talroad.vo.effective.FactoryRectificationEffectCountVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface RectificationEffectEvaluationMapper { + + Page selectFinishCountByFactory(Page page, @Param("query") RectificationEffectQueryDTO rectificationEffectQueryDTO); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ReductionEmissionMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ReductionEmissionMapper.java new file mode 100644 index 0000000..4bd052a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/ReductionEmissionMapper.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.mapper.effective; + + +import cn.cecep.talroad.domain.effective.PcNationalCountyRankingOther; +import cn.cecep.talroad.vo.effective.PcNationalCityRanking; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDateTime; +import java.util.List; + +@Mapper +public interface ReductionEmissionMapper { + + + PcNationalCityRanking realTimeMonitoring(@Param("regionCode") String regionCode); + + List cityRanking(@Param("regionCode") String regionCode); + + List countyRanking(@Param("regionCode") String regionCode); + + /** + * 根据名称查询今年全部数据* + * + * @param names + * @return + */ + List selectByNames(List names); + + List selecthourByNames(List names, LocalDateTime startTime, LocalDateTime endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasAqilevelMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasAqilevelMapper.java new file mode 100644 index 0000000..7392420 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasAqilevelMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.SEnvgasAqilevel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 空气质量等级表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Mapper +public interface SEnvgasAqilevelMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasPollutantMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasPollutantMapper.java new file mode 100644 index 0000000..62246d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasPollutantMapper.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.SEnvgasPollutant; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + *

+ * 污染物表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +public interface SEnvgasPollutantMapper extends BaseMapper { + List> queryPollutantMap(); + + List selectByDivisorData(@Param("regionCode") String regionCode,@Param("property") String property); + + List> selectBySixApiParam(@Param("maps") List maps); + + Map selectByWind(); + + /** + * 通过名称查询id + * @param name 名称 + * @return + */ + Integer findIdByName(@Param("name") String name); + + /** + * 通过id查询名称 + * @param id id + * @return + */ + String findNameById(@Param("id") Integer id); + + List selectByParamData(@Param("maps") List maps); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasStationControlMapper.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasStationControlMapper.java new file mode 100644 index 0000000..391882c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/mapper/effective/SEnvgasStationControlMapper.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.mapper.effective; + +import cn.cecep.talroad.domain.effective.SEnvgasStationControl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 站点控制级别表 Mapper 接口 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Mapper +public interface SEnvgasStationControlMapper extends BaseMapper { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BEnterpriseRiskAssessmentService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BEnterpriseRiskAssessmentService.java new file mode 100644 index 0000000..db067f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BEnterpriseRiskAssessmentService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseRiskAssessment; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessmentLast; + +import java.util.List; +import java.util.Map; + +public interface BEnterpriseRiskAssessmentService { + + Map getLastInfo(String factoryId); + + BEnterpriseRiskAssessment getInfo(String factoryId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasPollService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasPollService.java new file mode 100644 index 0000000..76f97f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasPollService.java @@ -0,0 +1,11 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasPoll; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + +public interface BMainPollDisGasPollService{ + + IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasWzzToutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasWzzToutService.java new file mode 100644 index 0000000..9d22742 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BMainPollDisGasWzzToutService.java @@ -0,0 +1,11 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasWzzTout; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + +public interface BMainPollDisGasWzzToutService{ + + IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BStatTablePwxkWaterAndOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BStatTablePwxkWaterAndOtherService.java new file mode 100644 index 0000000..2323751 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BStatTablePwxkWaterAndOtherService.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableQueryInfo; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +public interface BStatTablePwxkWaterAndOtherService { + + AjaxResults> selectProductLine(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectLifeIn(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectIndustryIn(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectTreatmentInAsk(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectIndustryInTotal(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectHazardousSolidWaste(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectHazardousSolidWasteFa(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectEnforceComplianceReportingRequirements(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectPollDisInformation(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectBMainPollDisEmlRecord(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectBMainPollDisNoiseRegulation(BStatTablepPwxkWaterQuery query); + + AjaxResults> selectProducts(BStatTablepPwxkWaterQuery query); + + AjaxResults saveQueryContent(@Param("query") BStatTableQueryInfo query); + + AjaxResults> selectProductionFacilities(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseControlConcentStandardsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseControlConcentStandardsService.java new file mode 100644 index 0000000..c3b2bf7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseControlConcentStandardsService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service; + +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseControlConcentStandards; +import cn.cecep.talroad.vo.BaseControlConcentStandardsVo; +import cn.cecep.talroad.vo.query.BaseControlConcentStandardsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + + +public interface BaseControlConcentStandardsService{ + + + AjaxResults> selectList(BaseControlConcentStandardsQuery query); + + int insert(BaseControlConcentStandards record); + + int insertSelective(BaseControlConcentStandards record); + + BaseControlConcentStandards selectByPrimaryKey(String id); + + int updateByPrimaryKeySelective(BaseControlConcentStandards record); + + int updateByPrimaryKey(BaseControlConcentStandards record); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + void importData(List data); + + void updateAdviceEmissionAvg(); + + Integer addPollutant(String code, Integer type); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseRegionalControlObjectivesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseRegionalControlObjectivesService.java new file mode 100644 index 0000000..c0c64b0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/BaseRegionalControlObjectivesService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.vo.BaseRegionalControlObjectivesVo; +import cn.cecep.talroad.vo.query.BaseRegionalControlObjectivesQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +public interface BaseRegionalControlObjectivesService { + /** + * 通过主键查询单条数据 + * + * @param query 主键 + * @return 列表数据 + */ + AjaxResults> selectList(BaseRegionalControlObjectivesQuery query); + + AjaxResults save(List data); + + void saveOrUpdate(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ElectricityMeterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ElectricityMeterService.java new file mode 100644 index 0000000..51228d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ElectricityMeterService.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.service; + +import java.text.ParseException; +import java.util.List; +import java.util.Map; + +/** + * @className: ElectricityMeterService + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:23 PM + * @Company: Copyright© [2023/03/30 5:23 PM] by [Mr.Yanghongtao] + **/ +public interface ElectricityMeterService { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/30 5:26 PM + * @Deseription: 统计设备运行状态 + * @Params: time 参数为 yyyy-MM-dd HH:mm:ss 时间为定时任务执行时间往前推一个小时 + * @Params: deviceType 参数为 1-生产设施,2-治理设施 + * @Return: + * @Throws: + */ + void statisticsDeviceRunningState(String time, String deviceType, Map> cepAndProIds) throws ParseException; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 6:37 PM + * @Deseription: 分表计电系统中每个设备的运行时间, + * 每天统计一次, + * @Params: null + * @Return: + * @Throws: + */ + void statisticsDeviceRunningTime(String startTime,String endTime) throws Exception; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 6:38 PM + * @Deseription: 分表计电系统中每个设备的运行时间,每月汇总一次 + * @Params: null + * @Return: + * @Throws: + */ + void statisticsDeviceRunningTimeByMonth(String startTime,String endTime) throws Exception ; + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/2 5:59 PM + * @Deseription: 统计设备用电数据,一个小时一次 + * @Params: null + * @Return: + * @Throws: + */ + void statisticsDeviceUsePowerCount(String startTime,String endTime); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/2 5:59 PM + * @Deseription: 统计设备用电数据,每日统计一次 + * @Params: null + * @Return: + * @Throws: + */ + void statisticsDeviceUsePowerCountByDay(String startTime,String endTime) throws Exception; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EmissionsStatService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EmissionsStatService.java new file mode 100644 index 0000000..e0ba8f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EmissionsStatService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.vo.EmissionsStatVo; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +public interface EmissionsStatService { + List getPointList(IPage page, EmissionsStatVo.PointSearch search); + + List getFactoryList(IPage page, EmissionsStatVo.FactorySearch search); + + EmissionsStatVo.Region getRegionStat(EmissionsStatVo.RegionSearch search); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EnvironmentalCodingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EnvironmentalCodingService.java new file mode 100644 index 0000000..0fb2ec4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/EnvironmentalCodingService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +/** + * @className: EnvironmentalCodingService + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/08 1:15 PM + * @Company: Copyright© [2023/04/08 1:15 PM] by [Mr.Yanghongtao] + **/ +public interface EnvironmentalCodingService { + + void scanYesterdayDeductionPoints(String dateTime); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/FacilityInformationManagementService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/FacilityInformationManagementService.java new file mode 100644 index 0000000..0743a20 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/FacilityInformationManagementService.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceInfoOperationLog; +import cn.cecep.talroad.system.api.domain.SysUser; +import cn.cecep.talroad.vo.FacilityInformationManagementVO; +import cn.cecep.talroad.vo.query.FacilityInformationQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * @className: FacilityInformationManagementService + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 10:59 + * @Company: Copyright© [2023/04/28 10:59] by [Mr.Yanghongtao] + **/ +public interface FacilityInformationManagementService { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 12:28 + * @Deseription: 分表计电生产设施匹配列表 + * @Params: null + * @Return: + * @Throws: + */ + IPage getProductionDeviceList(FacilityInformationQuery dto); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 11:33 + * @Deseription: 查询排污许可设施列表 + * @Params: deviceType + * @Return: + * @Throws: + */ + List getPollutantDeviceList(String factoryId, Integer deviceType); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 13:38 + * @Deseription: 保存 + * @Params: null + * @Return: + * @Throws: + */ + void modifyDeviceAndPollutantCodeList(SysUser sysUser, List dto, String type); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 15:08 + * @Deseription: 查询日志 + * @Params: null + * @Return: + * @Throws: + */ + IPage getBasDeviceInfoOperationLogList(FacilityInformationQuery dto); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 15:36 + * @Deseription: 取消对应关系 + * @Params: null + * @Return: + * @Throws: + */ + void cancelDeviceAndPollutantCodeList(SysUser sysUser, FacilityInformationQuery dto, String type); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/30 14:51 + * @Deseription: + * @Params: null + * @Return: + * @Throws: + */ + List getProductionDeviceSearchList(String factoryId,String queryType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/HomePageMapService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/HomePageMapService.java new file mode 100644 index 0000000..1413f57 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/HomePageMapService.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.analysis.MonitoringPointWarningDetailsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; + +/** + * 地图-企业点位坐标 + * + * @author szhpt + * @date 2023-01-10*/ +public interface HomePageMapService +{ + HpmCompanyOverviewVo selectCompanyOverview(String industry,String regionCode); + + HpmMeriRatingOverviewVo selectMeritRatingOverview(String industry,String regionCode); + + HpmEnvironmentOverviewVo selectOnvironmentOverview(String industry,String regionCode); + + HpmEmissionTrackingOverviewVo selectEmissionTrackingOverview(String emissionType,String regionCode); + + HpmEmissionRatioOverviewVo selectEmissionRatioOverview(String regionCode); + + HpmEnterprisePopVo selectEnterpriseMapPop(String factoryId); + + List selectImportPollutionDischarge(String regionCode); + + EnvironmentCreditPropVo selectProportionOfEcologicalEnvironmentCredit(); + + DistributionOfMajorEmittersVo selectRankingStat(String pollutantType,String regionCode); + + EChartsVO enterpriseMapPopEmissionTrends(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime); + + EChartsVO selectEnterpriseMapPopYield(String factoryId, String dataType, String startTime, String endTime); + + EChartsVO emissionTrends(String factoryId, String selectType, String dataType, String monitoringStartTime, String monitoringEndTime); + + Boolean cleanRedisByCacheNames(String redisKey); + + OverviewOnlineMonitorsVo overviewOnlineMonitors(); + + + EChartsVO monitoringPointWarning(String type); + + IPage monitoringPointWarningDetails(MonitoringPointWarningDetailsQuery query); + + List exportMonitoringPointWarningDetails(MonitoringPointWarningDetailsQuery query); + + List enterpriseIssuesTop(); + + EChartsVO effectiveMonitoringRate(EffectiveMonitoringRateQuery query); + + List regionalOnlineMonitoring(EffectiveMonitoringRateQuery query); + + Boolean initializeBasDeviceParamAll(String[] paramKeys); + + void findOrInsertEL(String factoryId,String paramKey,String datetype); + void findOrInsertOnLine(String factoryId,String paramKey,String datetype); + void findOrInsertInorganization(String factoryId,String paramKey,String datetype); + + List getEmissionTrackingMon(String factoryId, String monitoringPointId, String startTime, String endTime); + + BMainEmissionAndstatusScaleVo selectEmissionAndstatusScale(String regionCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmDoorMonitorAccountFiService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmDoorMonitorAccountFiService.java new file mode 100644 index 0000000..56b798f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmDoorMonitorAccountFiService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AmDoorMonitorAccountFi; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 门禁监控Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IAmDoorMonitorAccountFiService extends IService +{ + /** + * 查询门禁监控列表 + * + * @param amDoorMonitorAccountFi 门禁监控 + * @return 门禁监控集合 + */ + public List selectAmDoorMonitorAccountFiList(AmDoorMonitorAccountFi amDoorMonitorAccountFi); + + List selectLabelAccount(String lastDayBegin, String lastDayEnd); + + List selectCarEntryCount(String controlStartTime, String controlEndTime, String lastHourBegin, String lastHourEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiProcessService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiProcessService.java new file mode 100644 index 0000000..c3ce90d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiProcessService.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AmProblemFiProcess; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author liyongbing + * @since 2023-06-17 + */ +public interface IAmProblemFiProcessService extends IService { + + AmProblemFiProcess selectByProblemId(String problemId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiRatioService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiRatioService.java new file mode 100644 index 0000000..5db72cb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiRatioService.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.vo.AmProblemFiRatioImportVo; +import cn.cecep.talroad.vo.AmProblemFiRatioVo; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.PcPollutantVo; +import cn.cecep.talroad.vo.query.AmProblemFiRatioQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.AmProblemFiRatio; + +/** + * 预警报警信息-预警比例定制Service接口 + * + * @author szhpt + * @date 2023-06-27*/ +public interface IAmProblemFiRatioService extends IService +{ + /** + * 查询预警报警信息-预警比例定制列表 + * + * @param amProblemFiRatio 预警报警信息-预警比例定制 + * @return 预警报警信息-预警比例定制集合 + */ + List selectAmProblemFiRatioList(AmProblemFiRatioQuery amProblemFiRatio); + + + /** + * 查询预警报警信息-预警比例定制列表(分页) + * + * @param amProblemFiRatio 预警报警信息-预警比例定制 + * @return 预警报警信息-预警比例定制集合 + */ + List pageList(Page page, AmProblemFiRatioQuery amProblemFiRatio); + + /** + * 查询预警报警信息-污染物下拉框 + * + * @return 预警报警信息-污染物下拉框集合 + */ + List pcPollutantList(); + + /** + * 导入预警报警信息-预警比例定制列表 + * + * @return 预警报警信息-导入返回值 + */ + String importAmProblemFiRatioList(List amProblemFiRatioList); + + /** + * 预警报警信息-查询详情 + * + * @return 预警报警信息-详情信息 + */ + AmProblemFiRatioVo selectAmProblemFiRatio(Long id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiService.java new file mode 100644 index 0000000..920f320 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmProblemFiService.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.AmProblemFiProcess; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +public interface IAmProblemFiService extends IService +{ + List getChartData(AmProblemFiQuery.ChartDataParam param, String regionCode); + + EChartsVO getTrendData(AmProblemFiQuery.ChartDataParam param); + + List selectList(Page page, AmProblemFiQuery query); + + AmProblemFiVo.Detail getInfo(String id); + + void updateModelValid(AmProblemFiVo.ModelValidForm form); + + IProductionManageService.FrameDataVo logicExceptionData(String id, String startTime, String endTime, Long pageNum, Long pageSize); + + IProductionManageService.FrameDataVo detail002(String id, String startTime, String endTime, Long pageNum, Long pageSize); + + EChartsVO detail003004(String id, String startTime, String endTime); + + EChartsVO detail003002(String id, String startTime, String endTime); + + IProductionManageService.FrameDataVo dcsElec(String id, String startTime, String endTime, Long pageNum, Long pageSize); + + List getProblemTypeCount(String problemType); + + List getProblemByTypeAndTime(String problemType,String dateStr,String dateStrEnd); + + void rectifyRequired(AmProblemFiProcess param); + + void rectifySave(AmProblemFiProcess param); + + void auditResult(AmProblemFiProcess param); + + void yjSign(AmProblemFiProcess param); + + Integer countByFactoryId(String factoryId, Integer type); + + EChartsVO elecMerge(String id, String startTime, String endTime); + + Object addCause(AmProblemFi param); + + List> getAListOfAlerts(); + + List selectStatisDataByMonth(Date startTime, Date endTime); + + Boolean rectifyUpdate(AmProblemFiVo param); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmVideoDevFiService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmVideoDevFiService.java new file mode 100644 index 0000000..e904559 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAmVideoDevFiService.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AmVideoDevFi; +import cn.cecep.talroad.domain.MAmVideoInfoOperationLog; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.export.AmVideoDevFiExport; +import cn.cecep.talroad.vo.homepage.OverviewVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.VideoMonitoringIssuesVo; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + +import java.math.BigInteger; +import java.util.List; + +/** + * 视频监控Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IAmVideoDevFiService extends IService +{ + /** + * 查询视频监控列表 + * + * @param amVideoDevFi 视频监控 + * @return 视频监控集合 + */ + List selectAmVideoDevFiList(AmVideoDevFi amVideoDevFi); + IPage selectDeviceNameById(Page page, @Param("ew") QueryWrapper queryWrapper); + List selectAmVideoDevFiExportList(AmVideoDevFi amVideoDevFi); + + List selectAmVideoDevFiSelectList(@Param("ew") QueryWrapper queryWrapper); + + List selectAmVideoDevFiSelectXkList(@Param("ew") QueryWrapper queryWrapper); + + IPage getMAmVideoInfoOperationLogList(AmVideoDevFiQuery amVideoDevFi); + + List getGroupList(AmVideoDevFiQuery amVideoDevFi); + + AmVideoDevFiVo getInfo(Long id); + + + void saveLog(List ae,List ad); + AmVideoDevFiExport getByExport(BigInteger id); + + OverviewVideoMonitorsVo overviewVideoMonitors(); + + EChartsVO proportionExitTypes(EffectiveMonitoringRateQuery query); + + EChartsVO trendsVehicleEmissionTypes(EffectiveMonitoringRateQuery query); + + List videoMonitoringIssues(); + + List otherEnterpriseMonitoringVideos(); + + List getGroupList(String factoryId, String outletId, List deviceIds); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAppVersionAddressManagementService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAppVersionAddressManagementService.java new file mode 100644 index 0000000..64650f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IAppVersionAddressManagementService.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AppVersionAddressManagement; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +public interface IAppVersionAddressManagementService extends IService { + + AppVersionAddressManagement findUpToDateVersionAddress(Integer isDebug) ; + + Object generateAppAddressQrCode(String url, String logUrl, Integer isDebug, String ipOrigin) throws Exception ; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrBusinessAlertsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrBusinessAlertsService.java new file mode 100644 index 0000000..a8fb790 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrBusinessAlertsService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrBusinessAlerts; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 通知提醒-业务提醒Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrBusinessAlertsService extends IService +{ + /** + * 查询通知提醒-业务提醒列表 + * + * @param bEnterpriseIrBusinessAlerts 通知提醒-业务提醒 + * @return 通知提醒-业务提醒集合 + */ + public List selectBEnterpriseIrBusinessAlertsList(BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts); + + List> selectOptions(String factoryId); + + Integer countByFactoryId(String factoryId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesService.java new file mode 100644 index 0000000..9b3ccba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrEes; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 知识库-生态环境标准Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrEesService extends IService +{ + /** + * 查询知识库-生态环境标准列表 + * + * @param bEnterpriseIrEes 知识库-生态环境标准 + * @return 知识库-生态环境标准集合 + */ + public List selectBEnterpriseIrEesList(BEnterpriseIrEes bEnterpriseIrEes); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesTypeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesTypeService.java new file mode 100644 index 0000000..dc6217a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrEesTypeService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrEesType; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 知识库-生态环境标准-分类Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrEesTypeService extends IService +{ + /** + * 查询知识库-生态环境标准-分类列表 + * + * @param bEnterpriseIrEesType 知识库-生态环境标准-分类 + * @return 知识库-生态环境标准-分类集合 + */ + public List selectBEnterpriseIrEesTypeList(BEnterpriseIrEesType bEnterpriseIrEesType); + + List selectTreeList(String eesClassify); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrLegalService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrLegalService.java new file mode 100644 index 0000000..fe55a39 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrLegalService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrLegal; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 知识库-法律法规Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrLegalService extends IService +{ + /** + * 查询知识库-法律法规列表 + * + * @param bEnterpriseIrLegal 知识库-法律法规 + * @return 知识库-法律法规集合 + */ + public List selectBEnterpriseIrLegalList(BEnterpriseIrLegal bEnterpriseIrLegal); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrNotifierproNoticeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrNotifierproNoticeService.java new file mode 100644 index 0000000..07fc8e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrNotifierproNoticeService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 通知提醒-通知公告Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrNotifierproNoticeService extends IService +{ + /** + * 查询通知提醒-通知公告列表 + * + * @param bEnterpriseIrNotifierproNotice 通知提醒-通知公告 + * @return 通知提醒-通知公告集合 + */ + public List selectBEnterpriseIrNotifierproNoticeList(BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice); + + List> selectOptions(String factoryId); + + Integer countByFactoryId(String factoryId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrSdoeptService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrSdoeptService.java new file mode 100644 index 0000000..968c9ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBEnterpriseIrSdoeptService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BEnterpriseIrSdoept; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 知识库-排污治理科普库Service接口 + * + * @author szhpt + * @date 2023-03-14*/ +public interface IBEnterpriseIrSdoeptService extends IService +{ + /** + * 查询知识库-排污治理科普库列表 + * + * @param bEnterpriseIrSdoept 知识库-排污治理科普库 + * @return 知识库-排污治理科普库集合 + */ + public List selectBEnterpriseIrSdoeptList(BEnterpriseIrSdoept bEnterpriseIrSdoept); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainActionReportsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainActionReportsService.java new file mode 100644 index 0000000..e79378c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainActionReportsService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainActionReports; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 执行报告Service接口 + * + * @author szhpt + * @date 2023-01-11*/ +public interface IBMainActionReportsService extends IService +{ + /** + * 查询执行报告列表 + * + * @param bMainActionReports 执行报告 + * @return 执行报告集合 + */ + public List selectBMainActionReportsList(BMainActionReports bMainActionReports); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionAirService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionAirService.java new file mode 100644 index 0000000..915886a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionAirService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 总许可量-大气排放总许可量要求Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainAllowablePollutionAirService extends IService +{ + /** + * 查询总许可量-大气排放总许可量要求列表 + * + * @param bMainAllowablePollutionAir 总许可量-大气排放总许可量要求 + * @return 总许可量-大气排放总许可量要求集合 + */ + public List selectBMainAllowablePollutionAirList(BMainAllowablePollutionAir bMainAllowablePollutionAir); + + IPage selectBMainAllowablePollutionAirPageList(Page page, QueryWrapper lambdaQueryWrapper); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionWaterService.java new file mode 100644 index 0000000..93cd2b2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainAllowablePollutionWaterService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 总许可量- 废水排放总许可量要求Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainAllowablePollutionWaterService extends IService +{ + /** + * 查询总许可量- 废水排放总许可量要求列表 + * + * @param bMainAllowablePollutionWater 总许可量- 废水排放总许可量要求 + * @return 总许可量- 废水排放总许可量要求集合 + */ + public List selectBMainAllowablePollutionWaterList(BMainAllowablePollutionWater bMainAllowablePollutionWater); + + IPage selectBMainAllowablePollutionWaterPageList(Page page, QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonAirService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonAirService.java new file mode 100644 index 0000000..f1d6075 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonAirService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonAir; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-在线监测排放趋势-废气Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionOnlineMonAirService extends IService +{ + /** + * 查询企业排放信息-在线监测排放趋势-废气列表 + * + * @param bMainEmissionOnlineMonAir 企业排放信息-在线监测排放趋势-废气 + * @return 企业排放信息-在线监测排放趋势-废气集合 + */ + public List selectBMainEmissionOnlineMonAirList(BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonWaterService.java new file mode 100644 index 0000000..7e237c1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionOnlineMonWaterService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-在线监测排放趋势-废水Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionOnlineMonWaterService extends IService +{ + /** + * 查询企业排放信息-在线监测排放趋势-废水列表 + * + * @param bMainEmissionOnlineMonWater 企业排放信息-在线监测排放趋势-废水 + * @return 企业排放信息-在线监测排放趋势-废水集合 + */ + public List selectBMainEmissionOnlineMonWaterList(BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionAirService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionAirService.java new file mode 100644 index 0000000..dfb50d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionAirService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-废气Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionPollutionAirService extends IService +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + * + * @param bMainEmissionPollutionAir 企业排放信息-不同污染物年度排放趋势-废气 + * @return 企业排放信息-不同污染物年度排放趋势-废气集合 + */ + public List selectBMainEmissionPollutionAirList(BMainEmissionPollutionAir bMainEmissionPollutionAir); + + /** + * 查询 废气 年统计排放趋势数据 + * @param dataSource 数据类型: 系统核算/执行报告 + * @param factoryId 企业id + * @param industry 企业行业 + * @param year 年份 + * @param groupByField 对其他字段进行分组 + * @param groupByIndustry 是否对行业进行分组 + * @return 排放趋势数据列表 + */ + List selectEmissionDataList(String dataSource, String factoryId, String industry, String year, String groupByField, boolean groupByIndustry); + + void doProcessEmissionDataByYear(String lastYear); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionSolidWasteService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionSolidWasteService.java new file mode 100644 index 0000000..19a73a3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionSolidWasteService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-固废Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionPollutionSolidWasteService extends IService +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-固废列表 + * + * @param bMainEmissionPollutionSolidWaste 企业排放信息-不同污染物年度排放趋势-固废 + * @return 企业排放信息-不同污染物年度排放趋势-固废集合 + */ + public List selectBMainEmissionPollutionSolidWasteList(BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionWaterService.java new file mode 100644 index 0000000..3be44c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionPollutionWaterService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-不同污染物年度排放趋势-废水Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionPollutionWaterService extends IService +{ + /** + * 查询企业排放信息-不同污染物年度排放趋势-废水列表 + * + * @param bMainEmissionPollutionWater 企业排放信息-不同污染物年度排放趋势-废水 + * @return 企业排放信息-不同污染物年度排放趋势-废水集合 + */ + public List selectBMainEmissionPollutionWaterList(BMainEmissionPollutionWater bMainEmissionPollutionWater); + + /** + * 查询 废水 年统计排放趋势数据 + * @param dataSource 数据类型: 系统核算/执行报告 + * @param factoryId 企业id + * @param industry 企业行业 + * @param year 年份 + * @param groupByField 对其他字段进行分组 + * @param groupByIndustry 是否对行业进行分组 + * @return 排放趋势数据列表 + */ + List selectEmissionDataList(String dataSource, String factoryId, String industry, String year, String groupByField, boolean groupByIndustry); + + void doProcessEmissionDataByYear(String lastYear); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceAirService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceAirService.java new file mode 100644 index 0000000..e3ab22c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceAirService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-多来源排放量对比-废气Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionSourceAirService extends IService +{ + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + * + * @param bMainEmissionSourceAir 企业排放信息-多来源排放量对比-废气 + * @return 企业排放信息-多来源排放量对比-废气集合 + */ + public List selectBMainEmissionSourceAirList(BMainEmissionSourceAir bMainEmissionSourceAir); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceWaterService.java new file mode 100644 index 0000000..db81ebd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainEmissionSourceWaterService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放信息-多来源排放量对比-废水Service接口 + * + * @author szhpt + * @date 2023-01-31*/ +public interface IBMainEmissionSourceWaterService extends IService +{ + /** + * 查询企业排放信息-多来源排放量对比-废水列表 + * + * @param bMainEmissionSourceWater 企业排放信息-多来源排放量对比-废水 + * @return 企业排放信息-多来源排放量对比-废水集合 + */ + public List selectBMainEmissionSourceWaterList(BMainEmissionSourceWater bMainEmissionSourceWater); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckService.java new file mode 100644 index 0000000..cfb2bfb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainExceptionTaskCheck; +import cn.cecep.talroad.vo.BMainExceptionTaskCheckVo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 移动执法信息-异常任务核查Service接口 + */ +public interface IBMainExceptionTaskCheckService extends IService +{ + + BMainExceptionTaskCheckVo.DetailVo getInfo(String id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckStepService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckStepService.java new file mode 100644 index 0000000..f1fae09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainExceptionTaskCheckStepService.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 移动执法信息-异常任务核查-流程步骤Service接口 + */ +public interface IBMainExceptionTaskCheckStepService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFactoryVerificationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFactoryVerificationService.java new file mode 100644 index 0000000..19d29ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFactoryVerificationService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BMainFactoryVerification; + +/** + * 移动执法信息-企业核查Service接口 + * + * @author szhpt + * @date 2023-03-30*/ +public interface IBMainFactoryVerificationService extends IService +{ + /** + * 查询移动执法信息-企业核查列表 + * + * @param bMainFactoryVerification 移动执法信息-企业核查 + * @return 移动执法信息-企业核查集合 + */ + public List selectBMainFactoryVerificationList(BMainFactoryVerification bMainFactoryVerification); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFileService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFileService.java new file mode 100644 index 0000000..4e74bb8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainFileService.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainFile; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 系统附件。Service接口 + */ +public interface IBMainFileService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteCrService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteCrService.java new file mode 100644 index 0000000..fcd506c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteCrService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteCr; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 固体废物环境管理要求Service接口 + * + * @author szhpt + * @date 2023-01-11*/ +public interface IBMainHazardousSolidWasteCrService extends IService +{ + /** + * 查询固体废物环境管理要求列表 + * + * @param bMainHazardousSolidWasteCr 固体废物环境管理要求 + * @return 固体废物环境管理要求集合 + */ + public List selectBMainHazardousSolidWasteCrList(BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteFaService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteFaService.java new file mode 100644 index 0000000..747beb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteFaService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteFa; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 自行贮存和自行利用处置设施信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainHazardousSolidWasteFaService extends IService +{ + /** + * 查询自行贮存和自行利用处置设施信息列表 + * + * @param bMainHazardousSolidWasteFa 自行贮存和自行利用处置设施信息 + * @return 自行贮存和自行利用处置设施信息集合 + */ + public List selectBMainHazardousSolidWasteFaList(BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteLeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteLeService.java new file mode 100644 index 0000000..10104c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteLeService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteLe; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 固体废物排放信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainHazardousSolidWasteLeService extends IService +{ + /** + * 查询固体废物排放信息列表 + * + * @param bMainHazardousSolidWasteLe 固体废物排放信息 + * @return 固体废物排放信息集合 + */ + public List selectBMainHazardousSolidWasteLeList(BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteService.java new file mode 100644 index 0000000..4d3357a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousSolidWasteService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainHazardousSolidWaste; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 固体废物基础信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainHazardousSolidWasteService extends IService +{ + /** + * 查询固体废物基础信息列表 + * + * @param bMainHazardousSolidWaste 固体废物基础信息 + * @return 固体废物基础信息集合 + */ + public List selectBMainHazardousSolidWasteList(BMainHazardousSolidWaste bMainHazardousSolidWaste); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousWasteOutputService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousWasteOutputService.java new file mode 100644 index 0000000..7114c96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainHazardousWasteOutputService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainHazardousWasteOutput; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainHazardousWasteOutputQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 危废产生与处理Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainHazardousWasteOutputService extends IService +{ + /** + * 查询危废产生与处理列表 + * + * @param bMainHazardousWasteOutput 危废产生与处理 + * @return 危废产生与处理集合 + */ + public List selectBMainHazardousWasteOutputList(BMainHazardousWasteOutput bMainHazardousWasteOutput); + + EChartsVO getCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput); + + EChartsVO getAppCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainMobileEnforcementService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainMobileEnforcementService.java new file mode 100644 index 0000000..fb0e47d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainMobileEnforcementService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainMobileEnforcement; +import cn.cecep.talroad.vo.query.BMainMobileEnforcementQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 移动执法信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainMobileEnforcementService extends IService +{ + /** + * 查询移动执法信息列表 + * + * @param bMainMobileEnforcement 移动执法信息 + * @return 移动执法信息集合 + */ + public List selectBMainMobileEnforcementList(BMainMobileEnforcement bMainMobileEnforcement); + + IPage pullPage(BMainMobileEnforcementQuery bMainMobileEnforcement); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainNoiseEmissionsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainNoiseEmissionsService.java new file mode 100644 index 0000000..22fac97 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainNoiseEmissionsService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainNoiseEmissions; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 噪声排放信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainNoiseEmissionsService extends IService +{ + /** + * 查询噪声排放信息列表 + * + * @param bMainNoiseEmissions 噪声排放信息 + * @return 噪声排放信息集合 + */ + public List selectBMainNoiseEmissionsList(BMainNoiseEmissions bMainNoiseEmissions); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEmlRecordService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEmlRecordService.java new file mode 100644 index 0000000..b18b67a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEmlRecordService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisEmlRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可环境管理台账Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisEmlRecordService extends IService +{ + /** + * 查询排污许可环境管理台账列表 + * + * @param bMainPollDisEmlRecord 排污许可环境管理台账 + * @return 排污许可环境管理台账集合 + */ + public List selectBMainPollDisEmlRecordList(BMainPollDisEmlRecord bMainPollDisEmlRecord); + + /** + * 查询排污许可环境管理台账列表 + * @param xkzId 许可证主键 + * @return + */ + List pullBookRecord(String xkzId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEnforcementService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEnforcementService.java new file mode 100644 index 0000000..b42fe16 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisEnforcementService.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可执行守法报告Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisEnforcementService extends IService +{ + /** + * 查询排污许可执行守法报告列表 + * + * @param bMainPollDisEnforcement 排污许可执行守法报告 + * @return 排污许可执行守法报告集合 + */ + public List selectBMainPollDisEnforcementList(BMainPollDisEnforcement bMainPollDisEnforcement); + + /** + * 查询排污许可证执行报告要求 + * @param xkzId 许可证主键 + * @return + */ + List pullImplementReport(String xkzId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisFileService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisFileService.java new file mode 100644 index 0000000..5236206 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisFileService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisFile; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可附件信息Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisFileService extends IService +{ + /** + * 查询排污许可附件信息列表 + * + * @param bMainPollDisFile 排污许可附件信息 + * @return 排污许可附件信息集合 + */ + public List selectBMainPollDisFileList(BMainPollDisFile bMainPollDisFile); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasMoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasMoutService.java new file mode 100644 index 0000000..0b4969f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasMoutService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasMout; +import cn.cecep.talroad.vo.query.BMainPollDisGasMoutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可大气主排放口Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisGasMoutService extends IService +{ + /** + * 查询排污许可大气主排放口列表 + * + * @param bMainPollDisGasMout 排污许可大气主排放口 + * @return 排污许可大气主排放口集合 + */ + public List selectBMainPollDisGasMoutList(BMainPollDisGasMout bMainPollDisGasMout); + + IPage pullPage(BMainPollDisGasMoutQuery bMainPollDisGasMout); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasOoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasOoutService.java new file mode 100644 index 0000000..1c03d6b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasOoutService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasOout; +import cn.cecep.talroad.vo.query.BMainPollDisGasOoutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可大气一般排放口Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisGasOoutService extends IService +{ + /** + * 查询排污许可大气一般排放口列表 + * + * @param bMainPollDisGasOout 排污许可大气一般排放口 + * @return 排污许可大气一般排放口集合 + */ + public List selectBMainPollDisGasOoutList(BMainPollDisGasOout bMainPollDisGasOout); + + IPage pullPage(BMainPollDisGasOoutQuery bMainPollDisGasOout); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasSoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasSoutService.java new file mode 100644 index 0000000..acf1372 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasSoutService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasSout; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 排污许可大气特殊情况Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisGasSoutService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasToutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasToutService.java new file mode 100644 index 0000000..6a20d98 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisGasToutService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可大气排放总计Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisGasToutService extends IService +{ + /** + * 查询排污许可大气排放总计列表 + * + * @param bMainPollDisGasTout 排污许可大气排放总计 + * @return 排污许可大气排放总计集合 + */ + public List selectBMainPollDisGasToutList(BMainPollDisGasTout bMainPollDisGasTout); + + IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisInformationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisInformationService.java new file mode 100644 index 0000000..de48795 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisInformationService.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisInformation; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可信息公开Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisInformationService extends IService +{ + /** + * 查询排污许可信息公开列表 + * + * @param bMainPollDisInformation 排污许可信息公开 + * @return 排污许可信息公开集合 + */ + public List selectBMainPollDisInformationList(BMainPollDisInformation bMainPollDisInformation); + + /** + * 查询排污许可信息公开要求 + * @param xkzId 许可证主键 + * @return + */ + BMainPollDisInformation pullInformationDisclosure(String xkzId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRegulationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRegulationService.java new file mode 100644 index 0000000..04342f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRegulationService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRegulation; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可其他许可改正规定Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisNoiseRegulationService extends IService +{ + /** + * 查询排污许可其他许可改正规定列表 + * + * @param bMainPollDisNoiseRegulation 排污许可其他许可改正规定 + * @return 排污许可其他许可改正规定集合 + */ + public List selectBMainPollDisNoiseRegulationList(BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation); + + /** + * 查询排污许可其他许可改正规定列表 + * @param xkzId 许可证主键ID + * @return + */ + List pullOtherXkAskRectifyAndReform(String xkzId); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRequireService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRequireService.java new file mode 100644 index 0000000..2ef39d9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseRequireService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRequire; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可环境管理要求Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisNoiseRequireService extends IService +{ + /** + * 查询排污许可环境管理要求列表 + * + * @param bMainPollDisNoiseRequire 排污许可环境管理要求 + * @return 排污许可环境管理要求集合 + */ + public List selectBMainPollDisNoiseRequireList(BMainPollDisNoiseRequire bMainPollDisNoiseRequire); + + + BMainPollDisNoiseRequire pullOtherXkAskManage(String xkzId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseService.java new file mode 100644 index 0000000..9491de5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisNoiseService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisNoise; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可其他许可噪声排放Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisNoiseService extends IService +{ + /** + * 查询排污许可其他许可噪声排放列表 + * + * @param bMainPollDisNoise 排污许可其他许可噪声排放 + * @return 排污许可其他许可噪声排放集合 + */ + public List selectBMainPollDisNoiseList(BMainPollDisNoise bMainPollDisNoise); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonOtherService.java new file mode 100644 index 0000000..10850db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonOtherService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisSelfMonOther; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可自行监测记录Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisSelfMonOtherService extends IService +{ + /** + * 查询排污许可自行监测记录列表 + * + * @param bMainPollDisSelfMonOther 排污许可自行监测记录 + * @return 排污许可自行监测记录集合 + */ + public List selectBMainPollDisSelfMonOtherList(BMainPollDisSelfMonOther bMainPollDisSelfMonOther); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonService.java new file mode 100644 index 0000000..ac2095e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisSelfMonService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可自行监测要求Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisSelfMonService extends IService +{ + /** + * 查询排污许可自行监测要求列表 + * + * @param bMainPollDisSelfMon 排污许可自行监测要求 + * @return 排污许可自行监测要求集合 + */ + public List selectBMainPollDisSelfMonList(BMainPollDisSelfMon bMainPollDisSelfMon); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisService.java new file mode 100644 index 0000000..95a7b64 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisService.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDis; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + * 排污许可Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisService extends IService +{ + /** + * 查询排污许可列表 + * + * @param bMainPollDis 排污许可 + * @return 排污许可集合 + */ + public List selectBMainPollDisList(BMainPollDis bMainPollDis); + + /** + * 查询企业排污许可证列表(版本号倒序) + * @param factoryId 企业主键 + * @return + */ + List pullXkzList(String factoryId); + + List selectDisPermitData(String businessType,String currDay, String deadLineDay); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterMoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterMoutService.java new file mode 100644 index 0000000..301809e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterMoutService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisWaterMout; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可水污染物主排放口Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisWaterMoutService extends IService +{ + /** + * 查询排污许可水污染物主排放口列表 + * + * @param bMainPollDisWaterMout 排污许可水污染物主排放口 + * @return 排污许可水污染物主排放口集合 + */ + public List selectBMainPollDisWaterMoutList(BMainPollDisWaterMout bMainPollDisWaterMout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterOoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterOoutService.java new file mode 100644 index 0000000..221979b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterOoutService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisWaterOout; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可水污染物一般排放口Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisWaterOoutService extends IService +{ + /** + * 查询排污许可水污染物一般排放口列表 + * + * @param bMainPollDisWaterOout 排污许可水污染物一般排放口 + * @return 排污许可水污染物一般排放口集合 + */ + public List selectBMainPollDisWaterOoutList(BMainPollDisWaterOout bMainPollDisWaterOout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterSoutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterSoutService.java new file mode 100644 index 0000000..13bca78 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterSoutService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisWaterSout; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可水污染物特殊情况Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisWaterSoutService extends IService +{ + /** + * 查询排污许可水污染物特殊情况列表 + * + * @param bMainPollDisWaterSout 排污许可水污染物特殊情况 + * @return 排污许可水污染物特殊情况集合 + */ + public List selectBMainPollDisWaterSoutList(BMainPollDisWaterSout bMainPollDisWaterSout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterToutService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterToutService.java new file mode 100644 index 0000000..d403fba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainPollDisWaterToutService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import cn.cecep.talroad.vo.query.BMainPollDisWaterToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污许可水污染物排放总计Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainPollDisWaterToutService extends IService +{ + /** + * 查询排污许可水污染物排放总计列表 + * + * @param bMainPollDisWaterTout 排污许可水污染物排放总计 + * @return 排污许可水污染物排放总计集合 + */ + public List selectBMainPollDisWaterToutList(BMainPollDisWaterTout bMainPollDisWaterTout); + + IPage pullPage(BMainPollDisWaterToutQuery bMainPollDisWaterTout); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionInorgGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionInorgGasService.java new file mode 100644 index 0000000..b2217ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionInorgGasService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainProductionInorgGas; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 废气无组织排放产治排信息Service接口 + * + * @author szhpt + * @date 2023-02-08*/ +public interface IBMainProductionInorgGasService extends IService +{ + /** + * 查询废气无组织排放产治排信息列表 + * + * @param bMainProductionInorgGas 废气无组织排放产治排信息 + * @return 废气无组织排放产治排信息集合 + */ + List selectBMainProductionInorgGasList(BMainProductionInorgGas bMainProductionInorgGas); + + IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionOrganizGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionOrganizGasService.java new file mode 100644 index 0000000..6364749 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionOrganizGasService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainProductionOrganizGas; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 废气有组织排放产治排信息Service接口 + * + * @author szhpt + * @date 2023-02-08*/ +public interface IBMainProductionOrganizGasService extends IService +{ + /** + * 查询废气有组织排放产治排信息列表 + * + * @param bMainProductionOrganizGas 废气有组织排放产治排信息 + * @return 废气有组织排放产治排信息集合 + */ + List selectBMainProductionOrganizGasList(BMainProductionOrganizGas bMainProductionOrganizGas); + + IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionWaterService.java new file mode 100644 index 0000000..f86be62 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainProductionWaterService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainProductionWater; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 废水排放产治排信息Service接口 + * + * @author szhpt + * @date 2023-02-08*/ +public interface IBMainProductionWaterService extends IService +{ + /** + * 查询废水排放产治排信息列表 + * + * @param bMainProductionWater 废水排放产治排信息 + * @return 废水排放产治排信息集合 + */ + List selectBMainProductionWaterList(BMainProductionWater bMainProductionWater); + + IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidHazardousService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidHazardousService.java new file mode 100644 index 0000000..4dafa9b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidHazardousService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainSolidHazardous; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 固危废贮存信息Service接口 + * + * @author szhpt + * @date 2023-01-18*/ +public interface IBMainSolidHazardousService extends IService +{ + /** + * 查询固危废贮存信息列表 + * + * @param bMainSolidHazardous 固危废贮存信息 + * @return 固危废贮存信息集合 + */ + public List selectBMainSolidHazardousList(BMainSolidHazardous bMainSolidHazardous); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidWasteOutputService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidWasteOutputService.java new file mode 100644 index 0000000..81866d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSolidWasteOutputService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainSolidWasteOutput; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainSolidWasteOutputQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 固废产生与处理Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBMainSolidWasteOutputService extends IService +{ + /** + * 查询固废产生与处理列表 + * + * @param bMainSolidWasteOutput 固废产生与处理 + * @return 固废产生与处理集合 + */ + public List selectBMainSolidWasteOutputList(BMainSolidWasteOutput bMainSolidWasteOutput); + + EChartsVO getCharData(BMainSolidWasteOutputQuery bMainSolidWasteOutput); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSysFeedbackService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSysFeedbackService.java new file mode 100644 index 0000000..cd854d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainSysFeedbackService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainSysFeedback; +import cn.cecep.talroad.vo.BMainSysFeedbackVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 系统使用反馈Service接口 + */ +public interface IBMainSysFeedbackService extends IService +{ + + void add(BMainSysFeedbackVo.AddForm addForm); + + List selectSysFeedbackList(Page page, BMainSysFeedbackVo.SearchVo searchVo); + + BMainSysFeedbackVo getInfo(String id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcRecordService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcRecordService.java new file mode 100644 index 0000000..a507ea6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcRecordService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; + +/** + * 三监联动执法信息记录Service接口 + * + * @author szhpt + * @date 2023-03-29*/ +public interface IBMainThreeSupervisionEnforcRecordService extends IService +{ + /** + * 查询三监联动执法信息记录列表 + * + * @param bMainThreeSupervisionEnforcRecord 三监联动执法信息记录 + * @return 三监联动执法信息记录集合 + */ + public List selectBMainThreeSupervisionEnforcRecordList(BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcService.java new file mode 100644 index 0000000..f1b5b1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainThreeSupervisionEnforcService.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.BMainThreeSupervisionEnforcVo; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; + +/** + * 三监联动执法信息Service接口 + * + * @author szhpt + * @date 2023-03-29*/ +public interface IBMainThreeSupervisionEnforcService extends IService +{ + /** + * 查询三监联动执法信息列表 + * + * @param bMainThreeSupervisionEnforc 三监联动执法信息 + * @return 三监联动执法信息集合 + */ + public List selectBMainThreeSupervisionEnforcList(BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc); + + BMainThreeSupervisionEnforcVo selectById(String taskId); + + Object xianheGet(Map string,String token); + + Object xianheGetInfo(String taskId, String authorization); + + Object xianheGetTaskAccount(Map data,String token); + + Object xianheGetTaskInfo(String taskId, String authorization); + Object xianheGetCityCodeList(String pid, String authorization); + + Object xianheGetCheckTaskAccount(Map data, String authorization); + + Object xianheGetAllUrl(String url,String method, String param, String authorization); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskService.java new file mode 100644 index 0000000..2f1f6f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainTwoRandomTask; +import cn.cecep.talroad.vo.BMainTwoRandomTaskVo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 移动执法信息-双随机任务Service接口 + */ +public interface IBMainTwoRandomTaskService extends IService +{ + + BMainTwoRandomTaskVo getInfo(String id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskStepService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskStepService.java new file mode 100644 index 0000000..20ddb45 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBMainTwoRandomTaskStepService.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 移动执法信息-双随机任务-流程步骤Service接口 + */ +public interface IBMainTwoRandomTaskStepService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgJbxxInfoService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgJbxxInfoService.java new file mode 100644 index 0000000..7746935 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgJbxxInfoService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTableZxbgQuery; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; + +/** + * 固定源产排治--执行报告--企业基本信息Service接口 + * + * @author szhpt + * @date 2023-07-27*/ +public interface IBStatTableZxbgJbxxInfoService extends IService +{ + /** + * 查询固定源产排治--执行报告--企业基本信息列表 + * + * @param bStatTableZxbgJbxxInfo 固定源产排治--执行报告--企业基本信息 + * @return 固定源产排治--执行报告--企业基本信息集合 + */ + public List selectBStatTableZxbgJbxxInfoList(BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo); + + AjaxResults> selectBStatTableZxbgJbxxInfoListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOtherService.java new file mode 100644 index 0000000..2e851ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOtherService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; + +/** + * 固定源产排治--执行报告--废气其他排放总计Service接口 + * + * @author szhpt + * @date 2023-07-27*/ +public interface IBStatTableZxbgPflAirOtherService extends IService +{ + /** + * 查询固定源产排治--执行报告--废气其他排放总计列表 + * + * @param bStatTableZxbgPflAirOther 固定源产排治--执行报告--废气其他排放总计 + * @return 固定源产排治--执行报告--废气其他排放总计集合 + */ + public List selectBStatTableZxbgPflAirOtherList(BStatTableZxbgPflAirOther bStatTableZxbgPflAirOther); + + AjaxResults> selectBStatTableZxbgPflAirOtherListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOverproofService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOverproofService.java new file mode 100644 index 0000000..124de2e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirOverproofService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; + +/** + * 固定源产排治--执行报告--废气超标排放信息Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPflAirOverproofService extends IService +{ + /** + * 查询固定源产排治--执行报告--废气超标排放信息列表 + * + * @param bStatTableZxbgPflAirOverproof 固定源产排治--执行报告--废气超标排放信息 + * @return 固定源产排治--执行报告--废气超标排放信息集合 + */ + public List selectBStatTableZxbgPflAirOverproofList(BStatTableZxbgPflAirOverproof bStatTableZxbgPflAirOverproof); + + AjaxResults> selectBStatTableZxbgPflAirOverproofListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirService.java new file mode 100644 index 0000000..747c6b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; + +/** + * 固定源产排治--执行报告--废气实际排放量Service接口 + * + * @author szhpt + * @date 2023-07-27*/ +public interface IBStatTableZxbgPflAirService extends IService +{ + /** + * 查询固定源产排治--执行报告--废气实际排放量列表 + * + * @param bStatTableZxbgPflAir 固定源产排治--执行报告--废气实际排放量 + * @return 固定源产排治--执行报告--废气实际排放量集合 + */ + public List selectBStatTableZxbgPflAirList(BStatTableZxbgPflAir bStatTableZxbgPflAir); + + AjaxResults> selectBStatTableZxbgPflAirListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirSpecialService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirSpecialService.java new file mode 100644 index 0000000..1d74dfc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirSpecialService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; + +/** + * 固定源产排治--执行报告--特殊时段废气排放量Service接口 + * + * @author szhpt + * @date 2023-07-31*/ +public interface IBStatTableZxbgPflAirSpecialService extends IService +{ + /** + * 查询固定源产排治--执行报告--特殊时段废气排放量列表 + * + * @param bStatTableZxbgPflAirSpecial 固定源产排治--执行报告--特殊时段废气排放量 + * @return 固定源产排治--执行报告--特殊时段废气排放量集合 + */ + public List selectBStatTableZxbgPflAirSpecialList(BStatTableZxbgPflAirSpecial bStatTableZxbgPflAirSpecial); + + AjaxResults> selectBStatTableZxbgPflAirSpecialListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirStatService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirStatService.java new file mode 100644 index 0000000..7197378 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflAirStatService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; + +/** + * 固定源产排治--执行报告--总计废气实际排放量Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPflAirStatService extends IService +{ + /** + * 查询固定源产排治--执行报告--总计废气实际排放量列表 + * + * @param bStatTableZxbgPflAirStat 固定源产排治--执行报告--总计废气实际排放量 + * @return 固定源产排治--执行报告--总计废气实际排放量集合 + */ + public List selectBStatTableZxbgPflAirStatList(BStatTableZxbgPflAirStat bStatTableZxbgPflAirStat); + + AjaxResults> selectBStatTableZxbgPflAirStatListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterService.java new file mode 100644 index 0000000..3806ea3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; + +/** + * 固定源产排治--执行报告--废水实际排放量Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPflWaterService extends IService +{ + /** + * 查询固定源产排治--执行报告--废水实际排放量列表 + * + * @param bStatTableZxbgPflWater 固定源产排治--执行报告--废水实际排放量 + * @return 固定源产排治--执行报告--废水实际排放量集合 + */ + public List selectBStatTableZxbgPflWaterList(BStatTableZxbgPflWater bStatTableZxbgPflWater); + + AjaxResults> selectBStatTableZxbgPflWaterListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterVoerproofService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterVoerproofService.java new file mode 100644 index 0000000..14d55d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflWaterVoerproofService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; + +/** + * 固定源产排治--执行报告--废水超标排放信息Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPflWaterVoerproofService extends IService +{ + /** + * 查询固定源产排治--执行报告--废水超标排放信息列表 + * + * @param bStatTableZxbgPflWaterVoerproof 固定源产排治--执行报告--废水超标排放信息 + * @return 固定源产排治--执行报告--废水超标排放信息集合 + */ + public List selectBStatTableZxbgPflWaterVoerproofList(BStatTableZxbgPflWaterVoerproof bStatTableZxbgPflWaterVoerproof); + + AjaxResults> selectBStatTableZxbgPflWaterVoerproofListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflallWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflallWaterService.java new file mode 100644 index 0000000..5273bdd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPflallWaterService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; + +/** + * 固定源产排治--执行报告--总计废水实际排放量Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPflallWaterService extends IService +{ + /** + * 查询固定源产排治--执行报告--总计废水实际排放量列表 + * + * @param bStatTableZxbgPflallWater 固定源产排治--执行报告--总计废水实际排放量 + * @return 固定源产排治--执行报告--总计废水实际排放量集合 + */ + public List selectBStatTableZxbgPflallWaterList(BStatTableZxbgPflallWater bStatTableZxbgPflallWater); + + AjaxResults> selectBStatTableZxbgPflallWaterListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPfltotalWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPfltotalWaterService.java new file mode 100644 index 0000000..a6718fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgPfltotalWaterService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)Service接口 + * + * @author szhpt + * @date 2023-07-28*/ +public interface IBStatTableZxbgPfltotalWaterService extends IService +{ + /** + * 查询固定源产排治--执行报告--废水正常排放总计(一般排放口)列表 + * + * @param bStatTableZxbgPfltotalWater 固定源产排治--执行报告--废水正常排放总计(一般排放口) + * @return 固定源产排治--执行报告--废水正常排放总计(一般排放口)集合 + */ + public List selectBStatTableZxbgPfltotalWaterList(BStatTableZxbgPfltotalWater bStatTableZxbgPfltotalWater); + + AjaxResults> selectBStatTableZxbgPfltotalWaterListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlAbnormalitiesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlAbnormalitiesService.java new file mode 100644 index 0000000..76958a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlAbnormalitiesService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; + +/** + * 固定源产排治--执行报告--污染治理设施异常情况Service接口 + * + * @author szhpt + * @date 2023-07-31*/ +public interface IBStatTableZxbgWrzlAbnormalitiesService extends IService +{ + /** + * 查询固定源产排治--执行报告--污染治理设施异常情况列表 + * + * @param bStatTableZxbgWrzlAbnormalities 固定源产排治--执行报告--污染治理设施异常情况 + * @return 固定源产排治--执行报告--污染治理设施异常情况集合 + */ + public List selectBStatTableZxbgWrzlAbnormalitiesList(BStatTableZxbgWrzlAbnormalities bStatTableZxbgWrzlAbnormalities); + + AjaxResults> selectBStatTableZxbgWrzlAbnormalitiesListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlTotalService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlTotalService.java new file mode 100644 index 0000000..14859ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBStatTableZxbgWrzlTotalService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总Service接口 + * + * @author szhpt + * @date 2023-07-31*/ +public interface IBStatTableZxbgWrzlTotalService extends IService +{ + /** + * 查询固定源产排治--执行报告--污染治理设施正常情况汇总列表 + * + * @param bStatTableZxbgWrzlTotal 固定源产排治--执行报告--污染治理设施正常情况汇总 + * @return 固定源产排治--执行报告--污染治理设施正常情况汇总集合 + */ + public List selectBStatTableZxbgWrzlTotalList(BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal); + + AjaxResults> selectBStatTableZxbgWrzlTotalListBy(BStatTablepPwxkWaterQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasControlValueService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasControlValueService.java new file mode 100644 index 0000000..a871f13 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasControlValueService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BasControlValue; + +/** + * basControlValueService接口 + * + * @author admin + * @date 2023-06-27 + */ +public interface IBasControlValueService extends IService +{ + /** + * 查询basControlValue列表 + * + * @param basControlValue basControlValue + * @return basControlValue集合 + */ + public List selectBasControlValueList(BasControlValue basControlValue); + + BasControlValue selectByFactoryId(String factoryId,String industry,String deviceType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDcsOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDcsOperationLogService.java new file mode 100644 index 0000000..e2540b0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDcsOperationLogService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDcsOperationLog; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 视频监控Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasDcsOperationLogService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDevToElecService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDevToElecService.java new file mode 100644 index 0000000..41ac1bc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDevToElecService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDevToElec; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 有组织-分表计电设备对应Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasDevToElecService extends IService +{ + /** + * 查询有组织-分表计电设备对应列表 + * + * @param basDevToElec 有组织-分表计电设备对应 + * @return 有组织-分表计电设备对应集合 + */ + public List selectBasDevToElecList(BasDevToElec basDevToElec); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceConfigService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceConfigService.java new file mode 100644 index 0000000..4aa68cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceConfigService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BasDeviceConfig; + +/** + * 企业设备参数配置Service接口 + * + * @author szhpt + * @date 2023-04-05*/ +public interface IBasDeviceConfigService extends IService +{ + /** + * 查询企业设备参数配置列表 + * + * @param basDeviceConfig 企业设备参数配置 + * @return 企业设备参数配置集合 + */ + public List selectBasDeviceConfigList(BasDeviceConfig basDeviceConfig); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceParamService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceParamService.java new file mode 100644 index 0000000..5bfbd59 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceParamService.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.vo.BasDeviceParamListVo; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 各设备的监测参数属性Service接口 + * + * @author szhpt + * @date 2023-01-10 + */ +public interface IBasDeviceParamService extends IService { + /** + * 查询各设备的监测参数属性列表 + * + * @param basDeviceParam 各设备的监测参数属性 + * @return 各设备的监测参数属性集合 + */ + public List selectBasDeviceParamList(BasDeviceParam basDeviceParam); + + void editBatch(BasDeviceParamVo[] basDeviceParamVoArr); + + int setParamInfo(); + + /** + * 根据设备ID、行业、设备类型查询符合条件的设备参数配置 + * + * @param deviceId + * @param asList + * @return + */ + List selectBasDeviceParamByCondition(String deviceId, List asList); + + List queryByDeviceIdListAndIndustry(List deviceIdList, + String industry, String paramName); + + /** + * 根据条件查询符合条件的设备参数 + * bas_device_param.is_online = 1 + * bas_device_param_analyse.data_logic_abnormal_ew = 1 + * bas_device_sal_analysis.mon_status != '停产' + * @param deviceId 设备id + * @param dataType 分析数据类型 bas_device_param_analyse.data_type + * @param codeList 需要分析的参数列表 bas_param.param_code_svc + * @return + */ + List selectBasDeviceParamByAnalyse(String deviceId,String dataType, List codeList); + + + /** + * 根据ID查询参数编码 + * @param list + * @return + */ + List getParamCodeSvcByDeviceParamIds(List list); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSalAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSalAnalysisService.java new file mode 100644 index 0000000..f78498a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSalAnalysisService.java @@ -0,0 +1,8 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface IBasDeviceSalAnalysisService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceService.java new file mode 100644 index 0000000..9f7fbbd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceService.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.BasDeviceDCSSystemParamQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备信息(有组织)Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasDeviceService extends IService +{ + /** + * 查询设备信息(有组织)列表 + * + * @param basDevice 设备信息(有组织) + * @return 设备信息(有组织)集合 + */ + List selectBasDeviceList(BasDevice basDevice); + + void getDeviceDataByType(String timeType, String industry, String factoryId, String deviceId, String deviceType, String startTime, String endTime, String orderField, String orderType, Page page); + + EChartsVO getDeviceChart(String deviceId, String startTime, String endTime); + EChartsVO getDeviceChart(String deviceId, String startTime, String endTime, String timeType); + EChartsVO getDeviceChart(String deviceId, String startTime, String endTime, String timeType, List pollutantVos); + + void editBatch(BasDeviceVo[] basDeviceVoArr); + + List groupByWorkStepSelect(String factoryId, String industryCategory); + + IPage listDCSSystemParam(BasDeviceDCSSystemParamQuery query); + List exportDCSSystemParam(BasDeviceDCSSystemParamQuery query); + + List groupByParamNameSelect(String factoryId, String industryCategory); + + FactoryDeviceVo selectFactoryDeviceVoByDeviceId(String deviceId); + + EChartsVO getDeviceStatusChart(BasDeviceVo.SimpleStatusVo deviceVo, String startTime, String endTime); + + BasDeviceVo.CountOverview getCountOverview(); + + BasDeviceVo.CoalCountOverview getCoalCountOverview(); + + ChartVo getDeviceChart3(String deviceId, String startTime, String endTime, String timeType); + ChartVo getDeviceChart5(String deviceId, String startTime, String endTime, String timeType); + + List getCoalDiffuseList(String deviceName, String status); + + ChartVo getDeviceChart6(String deviceId, String startTime, String endTime, String timeType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSiteService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSiteService.java new file mode 100644 index 0000000..77ea97f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceSiteService.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.domain.BasDeviceSiteCoordinateOperationLog; +import cn.cecep.talroad.vo.BasDeviceSiteExcelVo; +import cn.cecep.talroad.vo.BasDeviceSiteVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.export.BasDeviceSiteExport; +import cn.cecep.talroad.vo.query.BasDeviceSiteQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface IBasDeviceSiteService extends IService { + + + IPage selectDeviceNameById(Page page, @Param("ew") QueryWrapper queryWrapper); + + List selectBasDeviceSiteExportList(@Param("ew") QueryWrapper queryWrapper); + List selectBasDeviceSiteExportListT(QueryWrapper queryWrapper); + List selectBasDeviceList(@Param("ew") QueryWrapper queryWrapper); + + BasDeviceSiteExport getByExport(String id); + + void saveLog(List basDeviceSiteVo,List saveExportList); + + IPage getBasDeviceSiteCoordinateOperationLogList(BasDeviceSiteQuery basDeviceSiteExport); + List selectExportBasDeviceList( BasDeviceSite basDeviceSite); + + void editBatch(BasDeviceSiteVo[] basDeviceSiteVoArr); + + BasDeviceSiteVo.CountOverview getCountOverview(); + + EChartsVO getScatterChart(String type); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceZlConfigService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceZlConfigService.java new file mode 100644 index 0000000..685d697 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasDeviceZlConfigService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BasDeviceZlConfig; + +/** + * 转炉设备与转炉煤气放散设备映射关系Service接口 + * + * @author szhpt + * @date 2023-06-30*/ +public interface IBasDeviceZlConfigService extends IService +{ + /** + * 查询转炉设备与转炉煤气放散设备映射关系列表 + * + * @param basDeviceZlConfig 转炉设备与转炉煤气放散设备映射关系 + * @return 转炉设备与转炉煤气放散设备映射关系集合 + */ + public List selectBasDeviceZlConfigList(BasDeviceZlConfig basDeviceZlConfig); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasElecDeviceService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasElecDeviceService.java new file mode 100644 index 0000000..d351c73 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasElecDeviceService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasElecDevice; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 分表计电设备信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasElecDeviceService extends IService +{ + /** + * 查询分表计电设备信息列表 + * + * @param basElecDevice 分表计电设备信息 + * @return 分表计电设备信息集合 + */ + public List selectBasElecDeviceList(BasElecDevice basElecDevice); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasParamService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasParamService.java new file mode 100644 index 0000000..7874e2a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasParamService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasParam; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 监测参数汇总(有组织)Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasParamService extends IService +{ + /** + * 查询监测参数汇总(有组织)列表 + * + * @param basParam 监测参数汇总(有组织) + * @return 监测参数汇总(有组织)集合 + */ + public List selectBasParamList(BasParam basParam); + + Map getMonitroingParam(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasProductionDeviceOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasProductionDeviceOperationLogService.java new file mode 100644 index 0000000..f21f4e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasProductionDeviceOperationLogService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.BasProductionDeviceOperationLog; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 视频监控Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IBasProductionDeviceOperationLogService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasThresholdConfigService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasThresholdConfigService.java new file mode 100644 index 0000000..5e41cac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IBasThresholdConfigService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.BasThresholdConfig; + +/** + * 关联分析-阈值设置Service接口 + * + * @author szhpt + * @date 2023-05-18*/ +public interface IBasThresholdConfigService extends IService +{ + /** + * 查询关联分析-阈值设置列表 + * + * @param basThresholdConfig 关联分析-阈值设置 + * @return 关联分析-阈值设置集合 + */ + public List selectBasThresholdConfigList(BasThresholdConfig basThresholdConfig); + + BasThresholdConfig selectByParamCode(String paramCode); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IEarlyWarningService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IEarlyWarningService.java new file mode 100644 index 0000000..8cd8e24 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IEarlyWarningService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.vo.query.EarlyWarningQuery; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.EarlyWarning; + +/** + * 管控浓度超标预警Service接口 + * + * @author szhpt + * @date 2023-04-24*/ +public interface IEarlyWarningService extends IService +{ + /** + * 查询管控浓度超标预警列表 + * + * @param earlyWarning 管控浓度超标预警 + * @return 管控浓度超标预警集合 + */ + public List selectEarlyWarningList(EarlyWarningQuery earlyWarning); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingManifestService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingManifestService.java new file mode 100644 index 0000000..fb5b19e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingManifestService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.FactoryReportingManifest; + +/** + * 企业信息上报任务清单Service接口 + * + * @author szhpt + * @date 2023-05-09*/ +public interface IFactoryReportingManifestService extends IService +{ + /** + * 查询企业信息上报任务清单列表 + * + * @param factoryReportingManifest 企业信息上报任务清单 + * @return 企业信息上报任务清单集合 + */ + public List selectFactoryReportingManifestList(FactoryReportingManifest factoryReportingManifest); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingRemindersService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingRemindersService.java new file mode 100644 index 0000000..9de327c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingRemindersService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.vo.FactoryReportingRemindersVo; +import cn.cecep.talroad.vo.query.FactoryReportingRemindersQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.FactoryReportingReminders; + +/** + * 企业信息上报提交提示Service接口 + * + * @author szhpt + * @date 2023-05-09*/ +public interface IFactoryReportingRemindersService extends IService +{ + /** + * 查询企业信息上报提交提示列表 + * + * @param factoryReportingReminders 企业信息上报提交提示 + * @return 企业信息上报提交提示集合 + */ + public List selectFactoryReportingRemindersList(FactoryReportingReminders factoryReportingReminders); + + Integer updateReminder(FactoryReportingRemindersVo factoryId); + + void factoryReportingReminders(); + + public List factoryReportingRemindersList(Page page, FactoryReportingRemindersQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingTaskService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingTaskService.java new file mode 100644 index 0000000..f890358 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IFactoryReportingTaskService.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.FactoryReportingTask; + +/** + * 企业信息上报任务Service接口 + * + * @author szhpt + * @date 2023-05-09*/ +public interface IFactoryReportingTaskService extends IService +{ + /** + * 查询企业信息上报任务列表 + * + * @param factoryReportingTask 企业信息上报任务 + * @return 企业信息上报任务集合 + */ + public List selectFactoryReportingTaskList(FactoryReportingTask factoryReportingTask); + + void informationReporting(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoCoordinateOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoCoordinateOperationLogService.java new file mode 100644 index 0000000..ecb2769 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoCoordinateOperationLogService.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.AmVideoDevFi; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 视频监控Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMAmVideoCoordinateOperationLogService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoDevFiService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoDevFiService.java new file mode 100644 index 0000000..61272f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMAmVideoDevFiService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.cecep.talroad.vo.MAmVideoDevFiVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 基础信息 与 产治排跟踪--视频设施清单Service接口 + * + * @author szhpt + * @date 2023-02-10*/ +public interface IMAmVideoDevFiService extends IService +{ + /** + * 查询基础信息 与 产治排跟踪--视频设施清单列表 + * + * @param mAmVideoDevFi 基础信息 与 产治排跟踪--视频设施清单 + * @return 基础信息 与 产治排跟踪--视频设施清单集合 + */ + public List selectMAmVideoDevFiList(MAmVideoDevFi mAmVideoDevFi); + + + void editBatch(MAmVideoDevFiVo[] mAmVideoDevFiVoArr); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlHourService.java new file mode 100644 index 0000000..b6d092d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlHourService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevBlHour; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-玻璃-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevBlHourService extends IService +{ + /** + * 查询设备数据-玻璃-小时 保存设备的小时数据列表 + * + * @param monDevBlHour 设备数据-玻璃-小时 保存设备的小时数据 + * @return 设备数据-玻璃-小时 保存设备的小时数据集合 + */ + public List selectMonDevBlHourList(MonDevBlHour monDevBlHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlOtherService.java new file mode 100644 index 0000000..3d8c58d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlOtherService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevBlOther; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevBlOtherService extends IService +{ + /** + * 查询设备数据-玻璃-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevBlOther 设备数据-玻璃-其它时间 保存设备的小时以上的数据 + * @return 设备数据-玻璃-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevBlOtherList(MonDevBlOther monDevBlOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlRealService.java new file mode 100644 index 0000000..e0914ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevBlRealService.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.vo.MonDevBlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-玻璃-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevBlRealService extends IService +{ + /** + * 查询设备数据-玻璃-实时 保存设备的实时数据列表 + * + * @param monDevBlReal 设备数据-玻璃-实时 保存设备的实时数据 + * @return 设备数据-玻璃-实时 保存设备的实时数据集合 + */ + public List selectMonDevBlRealList(MonDevBlReal monDevBlReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + + public List selectLatestByParams(String industry,String deviceType,Date lastDate,Date currDate); + + List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd); + + List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlHourService.java new file mode 100644 index 0000000..1f64865 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlHourService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevDlHour; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-电力-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevDlHourService extends IService +{ + /** + * 查询设备数据-电力-小时 保存设备的小时数据列表 + * + * @param monDevDlHour 设备数据-电力-小时 保存设备的小时数据 + * @return 设备数据-电力-小时 保存设备的小时数据集合 + */ + public List selectMonDevDlHourList(MonDevDlHour monDevDlHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlOtherService.java new file mode 100644 index 0000000..013805d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlOtherService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevDlOther; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevDlOtherService extends IService +{ + /** + * 查询设备数据-电力-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevDlOther 设备数据-电力-其它时间 保存设备的小时以上的数据 + * @return 设备数据-电力-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevDlOtherList(MonDevDlOther monDevDlOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlRealService.java new file mode 100644 index 0000000..3fa74df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevDlRealService.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.vo.MonDevDlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-电力-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevDlRealService extends IService +{ + /** + * 查询设备数据-电力-实时 保存设备的实时数据列表 + * + * @param monDevDlReal 设备数据-电力-实时 保存设备的实时数据 + * @return 设备数据-电力-实时 保存设备的实时数据集合 + */ + public List selectMonDevDlRealList(MonDevDlReal monDevDlReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + + List selectLatestByParams(String industry, String deviceType, Date lastHour,Date curr); + + List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd); + + List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsHourService.java new file mode 100644 index 0000000..94220ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsHourService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevFsHourService extends IService +{ + /** + * 查询设备数据-垃圾焚烧-小时 保存设备的小时数据列表 + * + * @param monDevFsHour 设备数据-垃圾焚烧-小时 保存设备的小时数据 + * @return 设备数据-垃圾焚烧-小时 保存设备的小时数据集合 + */ + public List selectMonDevFsHourList(MonDevFsHour monDevFsHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsOtherService.java new file mode 100644 index 0000000..06f6fe8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsOtherService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevFsOther; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevFsOtherService extends IService +{ + /** + * 查询设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevFsOther 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + * @return 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevFsOtherList(MonDevFsOther monDevFsOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsRealService.java new file mode 100644 index 0000000..50a4d44 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevFsRealService.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.vo.MonDevFsRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevFsRealService extends IService +{ + /** + * 查询设备数据-垃圾焚烧-实时 保存设备的实时数据列表 + * + * @param monDevFsReal 设备数据-垃圾焚烧-实时 保存设备的实时数据 + * @return 设备数据-垃圾焚烧-实时 保存设备的实时数据集合 + */ + public List selectMonDevFsRealList(MonDevFsReal monDevFsReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + + List selectLatestByParams(String industry, String deviceType, Date lastHour,Date currDate); + + List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd); + + List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd); + + List selectLatestHourDataByParams(String factoryId, String deviceId, Date lastHour); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevHourService.java new file mode 100644 index 0000000..86372b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevHourService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevHour; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevHourService extends IService +{ + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevHour 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevHourList(MonDevHour monDevHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhHourService.java new file mode 100644 index 0000000..1ffe935 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhHourService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevJhHour; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-焦化-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevJhHourService extends IService +{ + /** + * 查询设备数据-焦化-小时 保存设备的小时数据列表 + * + * @param monDevJhHour 设备数据-焦化-小时 保存设备的小时数据 + * @return 设备数据-焦化-小时 保存设备的小时数据集合 + */ + public List selectMonDevJhHourList(MonDevJhHour monDevJhHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhOtherService.java new file mode 100644 index 0000000..b06958b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhOtherService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevJhOther; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevJhOtherService extends IService +{ + /** + * 查询设备数据-焦化-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevJhOther 设备数据-焦化-其它时间 保存设备的小时以上的数据 + * @return 设备数据-焦化-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevJhOtherList(MonDevJhOther monDevJhOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhRealService.java new file mode 100644 index 0000000..6aac022 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevJhRealService.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.vo.MonDevJhRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Date; +/** + * 设备数据-焦化-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevJhRealService extends IService +{ + /** + * 查询设备数据-焦化-实时 保存设备的实时数据列表 + * + * @param monDevJhReal 设备数据-焦化-实时 保存设备的实时数据 + * @return 设备数据-焦化-实时 保存设备的实时数据集合 + */ + public List selectMonDevJhRealList(MonDevJhReal monDevJhReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + List selectLastHourData(MonDevJhReal real); + + List selectLatestByParams(String industry, String deviceType, Date lastHour,Date curr); + + List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd); + + List selectAvgPressByParams(Date lastHourBegin, Date lastHourEnd); + + List selectMonDevJhRealListByDataTime(DateTime queryBeginTime, DateTime queryEndTime, String deviceId); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevOtherService.java new file mode 100644 index 0000000..8356559 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevOtherService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevOther; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevOtherService extends IService +{ + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevOther 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevOtherList(MonDevOther monDevOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevRealService.java new file mode 100644 index 0000000..8aab942 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevRealService.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.MonDevGtRealVO; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevRealService extends IService +{ + /** + * 查询设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数列表 + * + * @param monDevReal 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + * @return 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数集合 + */ + public List selectMonDevRealList(MonDevReal monDevReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + /** + * 根据设备ID查询最新一条监测数据 + * @param industry + * @param deviceType + * @param startDate + * @return + */ + public List selectLatestByCondition(String industry,String deviceType, Date startDate,Date currDate); + + List selectLatestByParam(String industry, String deviceType, Date lastHour,Date currDate); + + List selectLastHourData(MonDevReal real); + + List selectLastHourDataOne(MonDevReal real); + + List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd); + + List selectAvgPressByParams(Date lastHourBegin, Date lastHourEnd); + + List selectLatestMqgwByParam(String industry, String deviceType, Date lastHour, Date curr); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnHourService.java new file mode 100644 index 0000000..c7da6a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnHourService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevSnHour; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-水泥-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevSnHourService extends IService +{ + /** + * 查询设备数据-水泥-小时 保存设备的小时数据列表 + * + * @param monDevSnHour 设备数据-水泥-小时 保存设备的小时数据 + * @return 设备数据-水泥-小时 保存设备的小时数据集合 + */ + public List selectMonDevSnHourList(MonDevSnHour monDevSnHour); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnOtherService.java new file mode 100644 index 0000000..8c73c09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnOtherService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevSnOther; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevSnOtherService extends IService +{ + /** + * 查询设备数据-水泥-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevSnOther 设备数据-水泥-其它时间 保存设备的小时以上的数据 + * @return 设备数据-水泥-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevSnOtherList(MonDevSnOther monDevSnOther); + + List getDataPage(String factoryId, List deviceIds, String id, String startTime, String endTime, String orderField, String orderType, Page page); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnRealService.java new file mode 100644 index 0000000..b921313 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevSnRealService.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.vo.MonDevSnRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Date; + +/** + * 设备数据-水泥-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevSnRealService extends IService +{ + /** + * 查询设备数据-水泥-实时 保存设备的实时数据列表 + * + * @param monDevSnReal 设备数据-水泥-实时 保存设备的实时数据 + * @return 设备数据-水泥-实时 保存设备的实时数据集合 + */ + public List selectMonDevSnRealList(MonDevSnReal monDevSnReal); + + List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page); + + List selectLatestByParams(String industry, String deviceType, Date lastHour,Date currDate); + + List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcHourService.java new file mode 100644 index 0000000..bcc00a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcHourService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevTcHour; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevTcHourService extends IService +{ + /** + * 查询设备数据-陶瓷-小时 保存设备的小时数据列表 + * + * @param monDevTcHour 设备数据-陶瓷-小时 保存设备的小时数据 + * @return 设备数据-陶瓷-小时 保存设备的小时数据集合 + */ + public List selectMonDevTcHourList(MonDevTcHour monDevTcHour); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcOtherService.java new file mode 100644 index 0000000..3c8d794 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcOtherService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevTcOther; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevTcOtherService extends IService +{ + /** + * 查询设备数据-陶瓷-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevTcOther 设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + * @return 设备数据-陶瓷-其它时间 保存设备的小时以上的数据集合 + */ + public List selectMonDevTcOtherList(MonDevTcOther monDevTcOther); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcRealService.java new file mode 100644 index 0000000..bd9ecb1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonDevTcRealService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonDevTcReal; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonDevTcRealService extends IService +{ + /** + * 查询设备数据-陶瓷-实时 保存设备的实时数据列表 + * + * @param monDevTcReal 设备数据-陶瓷-实时 保存设备的实时数据 + * @return 设备数据-陶瓷-实时 保存设备的实时数据集合 + */ + public List selectMonDevTcRealList(MonDevTcReal monDevTcReal); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecEventService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecEventService.java new file mode 100644 index 0000000..23cc0c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecEventService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonElecEvent; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IMonElecEventService extends IService +{ + /** + * 查询有组织-分表计电设备对应 两类设备为多对多的关系列表 + * + * @param monElecEvent 有组织-分表计电设备对应 两类设备为多对多的关系 + * @return 有组织-分表计电设备对应 两类设备为多对多的关系集合 + */ + public List selectMonElecEventList(MonElecEvent monElecEvent); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecOperationLogService.java new file mode 100644 index 0000000..671ca7a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecOperationLogService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.domain.MonElecOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 视频监控Service接口 + * + * @author renshutan + * @date 2023-01-10*/ +public interface IMonElecOperationLogService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecRealService.java new file mode 100644 index 0000000..e52bd77 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonElecRealService.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.MonElecReal; +import cn.cecep.talroad.vo.BasDeviceSiteVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import cn.cecep.talroad.vo.MonElecRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.query.MonElecRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Date; + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系Service接口 + */ +public interface IMonElecRealService extends IService +{ + + EChartsVO getCharData(MonElecRealQuery monElecReal); + + List elecRealPage(Page page, MonElecRealQuery monElecReal); + + + List selectLatestMonElecRealByParams(String industry, String deviceType, Date lastDate,Date curr); + + EChartsVO getKwhChartData(String startTime, String endTime); + + List getKwhMonitor(String type, String startTime, String endTime); + + EChartsVO getCharData(List deviceSiteSimpleVo, String startTime, String endTime); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime,Integer pageSize,Integer startCount); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonitoringMapService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonitoringMapService.java new file mode 100644 index 0000000..c65d217 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IMonitoringMapService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.vo.MapPointVo; + +import java.util.List; +import java.util.Map; + +public interface IMonitoringMapService { + + Map pullAccessControlPop(String factoryId, String accessControlCode); + + List pullPoints(String factoryId, String pointType); + + Map pullFbjdPop(String factoryId, String pointCode); + + Map pullWzzPop(String factoryId, String pointCode); + + Map pullOnlinePop(String factoryId, String pointCode); + + Map pullProducePop(String factoryId, String pointCode); + + Map pullCoalGasPop(String factoryId, String pointCode); + + List coalMapPoints(String name); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionAqiHourIService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionAqiHourIService.java new file mode 100644 index 0000000..f233585 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionAqiHourIService.java @@ -0,0 +1,8 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.OdsAirRegionAqiHourI; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface IOdsAirRegionAqiHourIService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionHourIService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionHourIService.java new file mode 100644 index 0000000..3bca541 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsAirRegionHourIService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; +import java.math.BigDecimal; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsAirRegionHourI; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-27*/ +public interface IOdsAirRegionHourIService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsAirRegionHourI 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsAirRegionHourIList(OdsAirRegionHourI odsAirRegionHourI); + + BigDecimal selectAvgTemp(String lastHour); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsInorganizationWeiStationHourIService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsInorganizationWeiStationHourIService.java new file mode 100644 index 0000000..6ba4756 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsInorganizationWeiStationHourIService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsInorganizationWeiStationHourIService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsInorganizationWeiStationHourI 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsInorganizationWeiStationHourIList(OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingShStationHourIService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingShStationHourIService.java new file mode 100644 index 0000000..e81fda7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingShStationHourIService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; + +/** + * ods层网格化市控站点小时增量Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsMeshingShStationHourIService extends IService +{ + /** + * 查询ods层网格化市控站点小时增量列表 + * + * @param odsMeshingShStationHourI ods层网格化市控站点小时增量 + * @return ods层网格化市控站点小时增量集合 + */ + public List selectOdsMeshingShStationHourIList(OdsMeshingShStationHourI odsMeshingShStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingWeiStationHourIService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingWeiStationHourIService.java new file mode 100644 index 0000000..123ed2a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsMeshingWeiStationHourIService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; + +/** + * ods层网格化微站站点小时增量Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsMeshingWeiStationHourIService extends IService +{ + /** + * 查询ods层网格化微站站点小时增量列表 + * + * @param odsMeshingWeiStationHourI ods层网格化微站站点小时增量 + * @return ods层网格化微站站点小时增量集合 + */ + public List selectOdsMeshingWeiStationHourIList(OdsMeshingWeiStationHourI odsMeshingWeiStationHourI); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlDgiinfoAService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlDgiinfoAService.java new file mode 100644 index 0000000..af7a1d0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlDgiinfoAService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsOnlineOlDgiinfoAService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlDgiinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlDgiinfoAList(OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPortinfoAService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPortinfoAService.java new file mode 100644 index 0000000..7d4c4c4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPortinfoAService.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsOnlineOlPortinfoAService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPortinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPortinfoAList(OdsOnlineOlPortinfoA odsOnlineOlPortinfoA); + + List selectEnableStationInfo(String portTypeId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsWhitelistAService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsWhitelistAService.java new file mode 100644 index 0000000..1fd36a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsWhitelistAService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsOnlineOlPsWhitelistAService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsWhitelistA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPsWhitelistAList(OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsinfoAService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsinfoAService.java new file mode 100644 index 0000000..198f3f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlPsinfoAService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsOnlineOlPsinfoAService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlPsinfoAList(OdsOnlineOlPsinfoA odsOnlineOlPsinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlStopinfoAService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlStopinfoAService.java new file mode 100644 index 0000000..b323d90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IOdsOnlineOlStopinfoAService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; + +/** + * 【请填写功能名称】Service接口 + * + * @author szhpt + * @date 2023-06-10*/ +public interface IOdsOnlineOlStopinfoAService extends IService +{ + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlStopinfoA 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectOdsOnlineOlStopinfoAList(OdsOnlineOlStopinfoA odsOnlineOlStopinfoA); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslFactoryService.java new file mode 100644 index 0000000..7102764 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslFactoryService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcAdslFactory; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 企业与接入数据类型关联Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcAdslFactoryService extends IService +{ + /** + * 查询企业与接入数据类型关联列表 + * + * @param pcAdslFactory 企业与接入数据类型关联 + * @return 企业与接入数据类型关联集合 + */ + public List selectPcAdslFactoryList(PcAdslFactory pcAdslFactory); + + List> selectEntInDatas(String factoryId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslService.java new file mode 100644 index 0000000..7dd421d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcAdslService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcAdsl; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业接入数据类型Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcAdslService extends IService +{ + /** + * 查询企业接入数据类型列表 + * + * @param pcAdsl 企业接入数据类型 + * @return 企业接入数据类型集合 + */ + public List selectPcAdslList(PcAdsl pcAdsl); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcControlRequirementsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcControlRequirementsService.java new file mode 100644 index 0000000..5be029f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcControlRequirementsService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcControlRequirements; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 管控要求Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcControlRequirementsService extends IService +{ + /** + * 查询管控要求列表 + * + * @param pcControlRequirements 管控要求 + * @return 管控要求集合 + */ + public List selectPcControlRequirementsList(PcControlRequirements pcControlRequirements); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlCoordinateOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlCoordinateOperationLogService.java new file mode 100644 index 0000000..76bb9f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlCoordinateOperationLogService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +public interface IPcFactoryAccessControlCoordinateOperationLogService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlService.java new file mode 100644 index 0000000..f3aaa9f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryAccessControlService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 企业门禁信息 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +public interface IPcFactoryAccessControlService extends IService { + + void editBatch(PcFactoryAccessControl[] pcFactoryAccessControlArr); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryCoordinateOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryCoordinateOperationLogService.java new file mode 100644 index 0000000..84d4f3d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryCoordinateOperationLogService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryCoordinateOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +public interface IPcFactoryCoordinateOperationLogService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantEmissionsRankService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantEmissionsRankService.java new file mode 100644 index 0000000..53f5a0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantEmissionsRankService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.cecep.talroad.vo.query.PcFactoryPollutantEmissionsRankQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 污染排放跟踪(实际排放/许可排放)Service接口 + * + * @author szhpt + * @date 2023-02-10*/ +public interface IPcFactoryPollutantEmissionsRankService extends IService +{ + /** + * 查询污染排放跟踪(实际排放/许可排放)列表 + * + * @param pcFactoryPollutantEmissionsRank 污染排放跟踪(实际排放/许可排放) + * @return 污染排放跟踪(实际排放/许可排放)集合 + */ + public List selectPcFactoryPollutantEmissionsRankList(PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank); + + List selectRankList(PcFactoryPollutantEmissionsRankQuery pcFactoryPollutantEmissionsRank); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantService.java new file mode 100644 index 0000000..6752932 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryPollutantService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryPollutant; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业与污染物关系Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcFactoryPollutantService extends IService +{ + /** + * 查询企业与污染物关系列表 + * + * @param pcFactoryPollutant 企业与污染物关系 + * @return 企业与污染物关系集合 + */ + public List selectPcFactoryPollutantList(PcFactoryPollutant pcFactoryPollutant); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryService.java new file mode 100644 index 0000000..106e7b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryService.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.vo.PcFactoryLicensingStatusVo; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.PcProfessionLicensingStatusVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletVo; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 企业基本信息Service接口 + * + * @author szhpt + * @date 2023-01-11*/ +public interface IPcFactoryService extends IService +{ + + List> getDeviceType(String id); + + List search(Page page, PcFactoryQuery.SearchVo searchVo, String home,String regionCode); + + /** + * 获取指定企业标签描述 + * @return + */ + List getLabel(String factoryId, Boolean isMain); + + /** + * 批量获取指定企业标签描述 + * @param factoryIds 企业id列表 + * @param isMain 是否重点标签 为null则查全部标签 + * @return + */ + Map> getLabel(List factoryIds, Boolean isMain); + + PcFactoryVo getInfo(String id); + + void batchCreateLabel(); + + + /** + * 定时更新 企业与接入数据类型关联表 + */ + void timingUpdateAdslFactory(); + + PcFactory selectPcFactoryById(String factoryId); + + List getWarningRank(); + + FactoryOutletVo selectByFactoryAndOutletId(String factoryId, String outletId); + + void editBatch(PcFactory[] pcFactoryArr); + + PcFactoryLicensingStatusVo licenSingStatusList(); + + PcProfessionLicensingStatusVo professionStatusChart(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryWasteEmissionsRankService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryWasteEmissionsRankService.java new file mode 100644 index 0000000..1a18fe3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcFactoryWasteEmissionsRankService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcFactoryWasteEmissionsRank; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 危废排放跟踪-实际产生-计划申报Service接口 + * + * @author szhpt + * @date 2023-02-13*/ +public interface IPcFactoryWasteEmissionsRankService extends IService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcIndustryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcIndustryService.java new file mode 100644 index 0000000..c9397a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcIndustryService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcIndustry; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 行业Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcIndustryService extends IService +{ + /** + * 查询行业列表 + * + * @param pcIndustry 行业 + * @return 行业集合 + */ + public List selectPcIndustryList(PcIndustry pcIndustry); + + List industryPermissionList(PcIndustry pcIndustry); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelFactoryService.java new file mode 100644 index 0000000..1c799ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelFactoryService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcLabelFactory; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 特征标签-与企业关系中间Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcLabelFactoryService extends IService +{ + /** + * 查询特征标签-与企业关系中间列表 + * + * @param pcLabelFactory 特征标签-与企业关系中间 + * @return 特征标签-与企业关系中间集合 + */ + public List selectPcLabelFactoryList(PcLabelFactory pcLabelFactory); + + void updateLabelStatus(); + + void statisticsAirWastewater(); + + void statisticsLicensed(); + + void statisticseMissions(); + + void transportVehicleType(); + + void wastewaterDischarge(); + + void receivingWaterBody(); + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/9 11:13 PM + * @Deseription: 排污许可证是否在有效期内 + * @Params: null + * @Return: + * @Throws: + */ + void efficientlyDischargePollutants(Integer type); + + + void acceptNature(); + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/10 1:25 AM + * @Deseription: 是否为直排海企业 + * @Params: null + * @Return: + * @Throws: + */ + void isDirectDischargeEnterprises(); + + void monitoringEquipment(); + + void selectAdslFactory(); + + void totalVideo(); + + void industryCategory(); + void testindustryCategory(); + + void earlyWarning(); + + void testRegulateBusinesses(); + + void batchDelete(String labelId); + + void updateMajorPollutantCategory(); + + void pollutantLicenseLabel(); + + void licenseTypeLabel(); + + void pollutantTypeLabel(); + + + void isInstallFbjdLabel(); + + void isInstallWzzjkdwLabel(); + + void isZlssExceptionInMonthLabel(); + + void isWzzcbpfExceptionInMonthLabel(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelService.java new file mode 100644 index 0000000..95ceb11 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelService.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.vo.PcLabelVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 特征标签Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcLabelService extends IService +{ + /** + * 查询特征标签列表 + * + * @param pcLabel 特征标签 + * @return 特征标签集合 + */ + public List selectPcLabelList(PcLabel pcLabel); + + /** + * 根据特征标签id 返回类树结构 + * @param id 特征标签id + * @param factoryId 企业id + * @return + */ + List tree(String id, String factoryId); + + List getChildrenLabel(String id); + + List getPcLabelListByLabelCodes(ListcodeList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelValueService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelValueService.java new file mode 100644 index 0000000..a7d2e59 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcLabelValueService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcLabelValue; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 特征标签-参数值Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcLabelValueService extends IService +{ + /** + * 查询特征标签-参数值列表 + * + * @param pcLabelValue 特征标签-参数值 + * @return 特征标签-参数值集合 + */ + public List selectPcLabelValueList(PcLabelValue pcLabelValue); + + List manualMonitoringIndustry(String name); + + List selectListByLabelId(String labelId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcManagementFacilitiesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcManagementFacilitiesService.java new file mode 100644 index 0000000..3c3eada --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcManagementFacilitiesService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcManagementFacilities; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 治理设施Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcManagementFacilitiesService extends IService +{ + /** + * 查询治理设施列表 + * + * @param pcManagementFacilities 治理设施 + * @return 治理设施集合 + */ + public List selectPcManagementFacilitiesList(PcManagementFacilities pcManagementFacilities); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuFactoryService.java new file mode 100644 index 0000000..879b61b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuFactoryService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcMenuFactory; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业档案菜单与企业关联中间Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcMenuFactoryService extends IService +{ + /** + * 查询企业档案菜单与企业关联中间列表 + * + * @param pcMenuFactory 企业档案菜单与企业关联中间 + * @return 企业档案菜单与企业关联中间集合 + */ + public List selectPcMenuFactoryList(PcMenuFactory pcMenuFactory); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuService.java new file mode 100644 index 0000000..1b37aae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcMenuService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcMenu; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业档案菜单管理Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface IPcMenuService extends IService +{ + /** + * 查询企业档案菜单管理列表 + * + * @param pcMenu 企业档案菜单管理 + * @return 企业档案菜单管理集合 + */ + public List selectPcMenuList(PcMenu pcMenu); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcNoiseTypeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcNoiseTypeService.java new file mode 100644 index 0000000..1960ef8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcNoiseTypeService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcNoiseType; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 噪声排放类型Service接口 + * + * @author szhpt + * @date 2023-01-11*/ +public interface IPcNoiseTypeService extends IService +{ + /** + * 查询噪声排放类型列表 + * + * @param pcNoiseType 噪声排放类型 + * @return 噪声排放类型集合 + */ + public List selectPcNoiseTypeList(PcNoiseType pcNoiseType); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletCoordinateOperationLogService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletCoordinateOperationLogService.java new file mode 100644 index 0000000..0361a9b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletCoordinateOperationLogService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcOutletCoordinateOperationLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +public interface IPcOutletCoordinateOperationLogService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletService.java new file mode 100644 index 0000000..91563bf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcOutletService.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BMainMonitorPointOperationLog; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.DropDownVO; +import cn.cecep.talroad.vo.GasPEMonitoringPointVO; +import cn.cecep.talroad.vo.OutletNameVO; +import cn.cecep.talroad.vo.PcOutletGasVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.*; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.text.ParseException; +import java.util.HashMap; +import java.util.List; + +/** + * 废气有组织、无组织排口Service接口 + * + * @author szhpt + * @date 2023-01-11*/ +public interface IPcOutletService extends IService +{ + /** + * 查询废气有组织、无组织排口列表 + * + * @param pcOutlet 废气有组织、无组织排口 + * @return 废气有组织、无组织排口集合 + */ + public List selectPcOutletList(PcOutlet pcOutlet); + + public List selectPointList(PcOutlet pcOutlet); + + List regulatoryEnterprises(String name); + + List queryMonitoringPointName(String factoryId, String pollutantType, String pollutantOutletType); + + List queryOutletName(String factoryId, String pollutantType, String pollutantOutletType); + + List queryOutletCode(String factoryId, String pollutantType, String pollutantOutletType); + + IPage queryPcOutletGasList(PcOutletGasQuery pcOutletGasQuery, String factoryId); + + List outletName(String factoryId, String pollutantType, String pollutantOutletType); + + AjaxResults updateOutletGas(List pcOutletGasUpdateQuery); + + AjaxResults cancelRelationship(List pcOutletGasUpdateQueryList); + + IPage queryMonitoringPointLog(MonitoringPointLogQuery monitoringPointLogQuery, String factoryId) throws ParseException; + + IPage queryGasPEMonitoringPointList(String factoryId, GasPEMonitoringPointQuery gasPEMonitoringPointQuery); + + AjaxResults insertOrUpdateGasPEMonitoringPoint(List gasPEMonitoringPointVO); + + AjaxResults deleteGasPEMonitoringPoint(List gasPEMonitoringPointVOList); + + List queryMonitoringPointCode(String pollutantType,String factoryId); + + List manualMonitoring(String pollutantType); + + List manualMonitoringCode(String pollutantType, String code); + + IPage pageAndFactory(Page page, SRaOverWaterPollutionTraceabilityQuery query); + + List> queryPcOutletList(String factoryId,Integer type, String monitorPointName); + + List selectByDevice(String deviceId); + + PcOutlet getInfo(String id); + + List selectByOnlineAndSource(Page page, SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectBySource(Page page, SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List> sourceOutlets(String factoryId, String type, String pollutantOutletType, String monitorPointName); + + IPage selectContrastPointList(SRaRealTimeAnalysicComsitMonitorVo pcOutlet); + + void editBatchCoordinate(PcOutlet[] pcOutletArr); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcPollutantService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcPollutantService.java new file mode 100644 index 0000000..8bbcf3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcPollutantService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcPollutant; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 污染物Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcPollutantService extends IService +{ + /** + * 查询污染物列表 + * + * @param pcPollutant 污染物 + * @return 污染物集合 + */ + public List selectPcPollutantList(PcPollutant pcPollutant); + + List manualMonitoringPollutants(String pollutantType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcProductionFacilityService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcProductionFacilityService.java new file mode 100644 index 0000000..aab28c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcProductionFacilityService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcProductionFacility; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 生产设施Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcProductionFacilityService extends IService +{ + /** + * 查询生产设施列表 + * + * @param pcProductionFacility 生产设施 + * @return 生产设施集合 + */ + public List selectPcProductionFacilityList(PcProductionFacility pcProductionFacility); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcSolidHazardousTypeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcSolidHazardousTypeService.java new file mode 100644 index 0000000..d135ddf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcSolidHazardousTypeService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcSolidHazardousType; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 固危废贮存信息--危险废物名录类型Service接口 + * + * @author szhpt + * @date 2023-03-21*/ +public interface IPcSolidHazardousTypeService extends IService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingEntranceGuService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingEntranceGuService.java new file mode 100644 index 0000000..559f3cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingEntranceGuService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcStationBuildingEntranceGu; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 站房门禁监管信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcStationBuildingEntranceGuService extends IService +{ + /** + * 查询站房门禁监管信息列表 + * + * @param pcStationBuildingEntranceGu 站房门禁监管信息 + * @return 站房门禁监管信息集合 + */ + public List selectPcStationBuildingEntranceGuList(PcStationBuildingEntranceGu pcStationBuildingEntranceGu); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingOpsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingOpsService.java new file mode 100644 index 0000000..a9a098a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingOpsService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcStationBuildingOps; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 站房运维签到信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcStationBuildingOpsService extends IService +{ + /** + * 查询站房运维签到信息列表 + * + * @param pcStationBuildingOps 站房运维签到信息 + * @return 站房运维签到信息集合 + */ + public List selectPcStationBuildingOpsList(PcStationBuildingOps pcStationBuildingOps); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingService.java new file mode 100644 index 0000000..63753b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcStationBuilding; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 站房基本信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface IPcStationBuildingService extends IService +{ + /** + * 查询站房基本信息列表 + * + * @param pcStationBuilding 站房基本信息 + * @return 站房基本信息集合 + */ + public List selectPcStationBuildingList(PcStationBuilding pcStationBuilding); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingStatService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingStatService.java new file mode 100644 index 0000000..6b61d19 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IPcStationBuildingStatService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.vo.PcStationBuildingStatVo; +import cn.cecep.talroad.vo.query.PcStationBuildingStatQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.PcStationBuildingStat; + +/** + * 站房信息--站房门禁进出统计分析Service接口 + * + * @author szhpt + * @date 2023-06-27*/ +public interface IPcStationBuildingStatService extends IService +{ + List selectPage(Page page, PcStationBuildingStatQuery query); + /** + * 查询站房信息--站房门禁进出统计分析列表 + * + * @param pcStationBuildingStat 站房信息--站房门禁进出统计分析 + * @return 站房信息--站房门禁进出统计分析集合 + */ + public List selectPcStationBuildingStatList(PcStationBuildingStat pcStationBuildingStat); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IProductionManageService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IProductionManageService.java new file mode 100644 index 0000000..d98d22b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/IProductionManageService.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.service.impl.ProductionManageServiceImpl; +import cn.cecep.talroad.vo.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 产排治模块base service + */ +public interface IProductionManageService { + + ProductionManageServiceImpl.FrameDataVo getFrameData(SearchVo searchVo); + + SearchVo getSearchVo(String outletId, List deviceIds); + + + @ApiModel(value = "产治排信息-弹框数据vo") + @Data + class FrameDataVo { + @ApiModelProperty(value = "数据趋势") + private List chartsVOS; + + @ApiModelProperty(value = "数据趋势图分页总数") + private int total; + + @ApiModelProperty(value = "视频监控") + private List videoDevFiVos; + } + + @ApiModel(value = "产治排信息-查询条件vo") + @Data + class SearchVo { + @ApiModelProperty(value = "监测点vo列表。获取指定监测点的曲线图数据") + private List outletSimpleVo; + + @ApiModelProperty(value = "DCS设备vo列表。获取指定DCS设备的曲线图数据") + private List deviceSimpleVo; + + @ApiModelProperty(value = "DCS设备vo列表。获取指定DCS设备的状态图表") + private List deviceSimpleStatusVos; + + @ApiModelProperty(value = "分表计电设备点位vo列表。获取指定分表计电设备点位的曲线图数据") + private List deviceSiteSimpleVo; + + @ApiModelProperty(value = "获取DSC设备和在线监测合并后的图表") + private List dcsOnlineVos; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty(value = "日:D;小时:H;分钟:M") + private String dataType; + + /** + * 分页加载关联到的在线监测点位、工况设备、分表计电设备点位曲线图 + */ + @ApiModelProperty(value = "页码") + private Long pageNum; + @ApiModelProperty(value = "每页条数") + private Long pageSize; + + public SearchVo() { + } + + public SearchVo(String startTime, String endTime, Long pageNum, Long pageSize) { + this.startTime = startTime; + this.endTime = endTime; + this.pageNum = pageNum; + this.pageSize = pageSize; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonDayService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonDayService.java new file mode 100644 index 0000000..a7df779 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonDayService.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +public interface ISEnvGasMonDayService extends IService { + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonHourService.java new file mode 100644 index 0000000..60a84ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonHourService.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Set; + +public interface ISEnvGasMonHourService extends IService { + + + List selectLastHourData(String pollutantOutletType, String lastHour); + + List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd); + + List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListByPoll(Set lambdaQueryWrapper); + + List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime); + + List selectHourDataByTime(String factoryId, String monitorId, Date monitorTime); + + List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonRealService.java new file mode 100644 index 0000000..247db55 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasMonRealService.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.BMainEmissionSourceAirWaterSolidQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 废气监测数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISEnvGasMonRealService extends IService +{ + Map chart(BMainEmissionSourceAirWaterSolidQuery query); + /** + * 查询废气监测数据列表 + * + * @param sEnvGasMonReal 废气监测数据 + * @return 废气监测数据集合 + */ + List selectSEnvGasMonRealList(SEnvGasMonRealQuery sEnvGasMonReal); + + IPage selectSEnvGasMonRealPage(SEnvGasMonRealQuery sEnvGasMonReal); + + EChartsVO getCharData(SEnvGasMonRealQuery sEnvGasMonReal); + + List getCharDataList(SEnvGasMonRealQuery query); + + Map chartNew(BMainEmissionSourceAirWaterSolidQuery query); + + List selectLastHourData(String pollutantOutletType,Date lastHour); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasRealService.java new file mode 100644 index 0000000..433f63c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasRealService.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvGasReal; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.homepage.OverviewUnorganizedMonitorsVo; +import cn.cecep.talroad.vo.homepage.RegionalOnlineMonitoringVo; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.SEnvGasRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 无组织监控数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISEnvGasRealService extends IService +{ + /** + * 查询无组织监控数据列表 + * + * @param sEnvGasReal 无组织监控数据 + * @return 无组织监控数据集合 + */ + public List selectSEnvGasRealList(SEnvGasReal sEnvGasReal); + + EChartsVO getCharData(SEnvGasRealQuery sEnvGasReal); + + OverviewUnorganizedMonitorsVo overviewUnorganizedMonitors(); + + EChartsVO monitoringPointWarning(EffectiveMonitoringRateQuery query); + + List regionalOnlineMonitoring(EffectiveMonitoringRateQuery query); + + List exceedingStandardPoints(EffectiveMonitoringRateQuery query); + + List exceedingIndustryPoints(EffectiveMonitoringRateQuery query); + + List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasSelfDayService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasSelfDayService.java new file mode 100644 index 0000000..22f4ed7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvGasSelfDayService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.SEnvGasSelfDay; + +/** + * 多源排放量汇总分析-废气-手工监测数据Service接口 + * + * @author szhpt + * @date 2023-07-26*/ +public interface ISEnvGasSelfDayService extends IService +{ + /** + * 查询多源排放量汇总分析-废气-手工监测数据列表 + * + * @param sEnvGasSelfDay 多源排放量汇总分析-废气-手工监测数据 + * @return 多源排放量汇总分析-废气-手工监测数据集合 + */ + public List selectSEnvGasSelfDayList(SEnvGasSelfDay sEnvGasSelfDay); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonDayService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonDayService.java new file mode 100644 index 0000000..7f3d28f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonDayService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Date; +import java.util.List; + +/** + * 废水监测数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISEnvWaterMonDayService extends IService +{ + + List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime); + + List selectHourDataByTime(String factoryId, String monitorId, Date monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonHourService.java new file mode 100644 index 0000000..0a8f286 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonHourService.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonHourVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonHourQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Collection; +import java.util.Date; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +/** + * 废水监测数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISEnvWaterMonHourService extends IService +{ + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据集合 + */ + List selectSEnvWaterMonHourList(SEnvWaterMonHourQuery sEnvWaterMonReal); + + IPage selectSEnvWaterMonHourPage(SEnvWaterMonHourQuery sEnvWaterMonReal); + + EChartsVO getCharData(SEnvWaterMonHourQuery sEnvWaterMonReal); + + List getCharDataList(SEnvWaterMonHourQuery sEnvWaterMonReal); + + List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd); + + /** + * 查询废水数据当前日所有小时平均数据 + * @param dateStr + * @return + */ + List selectAvgDataForDay(@Param("dateStr")String dateStr); + + List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime); + + List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); + + List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonRealService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonRealService.java new file mode 100644 index 0000000..f3366d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterMonRealService.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + * 废水监测数据Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISEnvWaterMonRealService extends IService +{ + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据集合 + */ + List selectSEnvWaterMonRealList(SEnvWaterMonRealQuery sEnvWaterMonReal); + + IPage selectSEnvWaterMonRealPage(SEnvWaterMonRealQuery sEnvWaterMonReal); + + EChartsVO getCharData(SEnvWaterMonRealQuery sEnvWaterMonReal); + + List getCharDataList(SEnvWaterMonRealQuery sEnvWaterMonReal); + + List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd); + + List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterSelfDayService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterSelfDayService.java new file mode 100644 index 0000000..1aac71e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISEnvWaterSelfDayService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; + +/** + * 多源排放量汇总分析-废水-手工监测数据Service接口 + * + * @author szhpt + * @date 2023-07-26*/ +public interface ISEnvWaterSelfDayService extends IService +{ + /** + * 查询多源排放量汇总分析-废水-手工监测数据列表 + * + * @param sEnvWaterSelfDay 多源排放量汇总分析-废水-手工监测数据 + * @return 多源排放量汇总分析-废水-手工监测数据集合 + */ + public List selectSEnvWaterSelfDayList(SEnvWaterSelfDay sEnvWaterSelfDay); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISIntegratedRoutineInspectionService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISIntegratedRoutineInspectionService.java new file mode 100644 index 0000000..efa81d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISIntegratedRoutineInspectionService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SIntegratedRoutineInspection; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 日常检查信息Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISIntegratedRoutineInspectionService extends IService +{ + /** + * 查询日常检查信息列表 + * + * @param sIntegratedRoutineInspection 日常检查信息 + * @return 日常检查信息集合 + */ + public List selectSIntegratedRoutineInspectionList(SIntegratedRoutineInspection sIntegratedRoutineInspection); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlFactoryService.java new file mode 100644 index 0000000..e632b6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlFactoryService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface ISMainDynamicControlFactoryService extends IService +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联列表 + * + * @param sMainDynamicControlFactory 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联集合 + */ + public List selectSMainDynamicControlFactoryList(SMainDynamicControlFactory sMainDynamicControlFactory); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlParamService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlParamService.java new file mode 100644 index 0000000..9d1a00d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlParamService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SMainDynamicControlParam; +import cn.cecep.talroad.vo.SMainDynamicControlParamVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface ISMainDynamicControlParamService extends IService +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数列表 + * + * @param sMainDynamicControlParam 基本信息-废气、废水排口档案-动态管控信息调整 -参数 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数集合 + */ + public List selectSMainDynamicControlParamList(SMainDynamicControlParam sMainDynamicControlParam); + + SMainDynamicControlParamVo.Table getParamTableData(String factoryId, String outletId, String controlTypeCode); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlService.java new file mode 100644 index 0000000..20163b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISMainDynamicControlService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SMainDynamicControl; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 基本信息-废气、废水排口档案-动态管控信息Service接口 + * + * @author szhpt + * @date 2023-02-02*/ +public interface ISMainDynamicControlService extends IService +{ + /** + * 查询基本信息-废气、废水排口档案-动态管控信息列表 + * + * @param sMainDynamicControl 基本信息-废气、废水排口档案-动态管控信息 + * @return 基本信息-废气、废水排口档案-动态管控信息集合 + */ + public List selectSMainDynamicControlList(SMainDynamicControl sMainDynamicControl); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISRaRealTimeAnalysisRunOneService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISRaRealTimeAnalysisRunOneService.java new file mode 100644 index 0000000..3bbb040 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISRaRealTimeAnalysisRunOneService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service; +import java.util.List; + +import cn.cecep.talroad.vo.query.SRaRealTimeAnalysisRunOneQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据Service接口 + * + * @author szhpt + * @date 2023-05-17*/ +public interface ISRaRealTimeAnalysisRunOneService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据列表 + * + * @param sRaRealTimeAnalysisRunOne 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + * @return 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据集合 + */ + public List selectSRaRealTimeAnalysisRunOneList(SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne); + + List selectAnalysisRunByParams(SRaRealTimeAnalysisRunOne run); + + + IPage selectSRaRealTimeAnalysisRunOneListPage(SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISupermonitorDrainOutletService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISupermonitorDrainOutletService.java new file mode 100644 index 0000000..e530b78 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ISupermonitorDrainOutletService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.SupermonitorDrainOutlet; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 排污口Service接口 + * + * @author szhpt + * @date 2023-01-10*/ +public interface ISupermonitorDrainOutletService extends IService +{ + /** + * 查询排污口列表 + * + * @param supermonitorDrainOutlet 排污口 + * @return 排污口集合 + */ + public List selectSupermonitorDrainOutletList(SupermonitorDrainOutlet supermonitorDrainOutlet); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ITCodStationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ITCodStationService.java new file mode 100644 index 0000000..cdaecb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ITCodStationService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.TCodStation; +import cn.cecep.talroad.vo.TCodStationVo; +import cn.cecep.talroad.vo.query.FindSequenceDataQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 大气环境、水环境站点Service接口 + */ +public interface ITCodStationService extends IService { + + List getStationList(TCodStationVo.SearchVo searchVo); + + TCodStationVo.Air getAirStationDetail(String id); + + TCodStationVo.Water getWaterStationDetail(String id); + + List> findStationPullData(); + + Map findSequenceData(FindSequenceDataQuery findSequenceDataQuery); + + List> stationRank(String factorName, String monitorTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/KeyEmittingIndustryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/KeyEmittingIndustryService.java new file mode 100644 index 0000000..6850d6d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/KeyEmittingIndustryService.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.homepage.HpmEnvironmentOverviewVo; +import cn.cecep.talroad.vo.homepage.HpmMeriRatingOverviewVo; + +import java.util.List; +import java.util.Map; + +/** + * @author changyw + * @date 2023/2/22 + */ +public interface KeyEmittingIndustryService { + IndustryCompanyOverviewVo selectIndustryCompanyOverview(String industry, String regionCode); + + HpmMeriRatingOverviewVo selectMeritRatingOverview(String industry,String regionCode); + + HpmEnvironmentOverviewVo selectOnvironmentOverview(String industry,String regionCode); + + List selectIndustryEmissionTrackingOverviewVo(String emissionType, String industry, String regionCode); + + List selectProductionAndDisposalOfIndustrialHazardousWaste(String industry, String regionCode); + + EChartsVO selectIndustryPollutantDischargeTrends(String pollutantCategory, String industry, String regionCode); + + EChartsVO selectIndustryProductOutputTrends(String industry, String regionCode); + + List selectTop10CompaniesWithPollutantEmissionsInTheIndustry(String pollutantType, String industry, String regionCode); + + EChartsVO selectLawEnforcementStatistics(String industry); + + EChartsVO selectIndustryPollutantTreatmentProcess(String industry); + + List selectLawEnforcementPieStatistics(Map map); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/MAmDoorMonitorAccountFiService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/MAmDoorMonitorAccountFiService.java new file mode 100644 index 0000000..9fe8cec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/MAmDoorMonitorAccountFiService.java @@ -0,0 +1,5 @@ +package cn.cecep.talroad.service; + +public interface MAmDoorMonitorAccountFiService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PcArchivesFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PcArchivesFactoryService.java new file mode 100644 index 0000000..85ca262 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PcArchivesFactoryService.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service; + +import cn.cecep.talroad.domain.PcArchivesFactory; +import cn.cecep.talroad.vo.PcArchivesFactoryVo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface PcArchivesFactoryService extends IService +{ + PcArchivesFactoryVo getByFactoryId(String factoryId); + + void deleteById(String id); + + void revert(String id); + + void follow(String id); + + void cancelFollow(String id); + + void init(String factoryId); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PointIsOfflineService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PointIsOfflineService.java new file mode 100644 index 0000000..0596d58 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/PointIsOfflineService.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.service; + +/** + * @className: PointIsOfflineService + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/15 5:14 PM + * @Company: Copyright© [2023/04/15 5:14 PM] by [Mr.Yanghongtao] + **/ + +public interface PointIsOfflineService { + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 5:37 PM + * @Deseription: 无组织点位,如果连续断了8个小时数据,就更新点位状态为离线 + * @Params: null + * @Return: + * @Throws: + */ + void disorganizationPointIsOffline(); + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 6:25 PM + * @Deseription: 在线监测点位,如果连续断了30分钟的数据,就更新点位状态为离线 + * @Params: null + * @Return: + * @Throws: + */ + void onLineMonitoringPointIsOffline(); + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ProductionScheduledService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ProductionScheduledService.java new file mode 100644 index 0000000..0047c7f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/ProductionScheduledService.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.service; + +/** + * 开发公司:中节能天融科技有限公司 + * + * ProductionScheduledService + * 产治排定时任务 + * @author fzx + * @date 2023-6-6 23:59:04 + */ +public interface ProductionScheduledService { + + /** + * 定时更新 产治排定时更新设施关联关系 + */ + void timingUpdateProduction(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/SRaRealTimeAnalysicComsitStService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/SRaRealTimeAnalysicComsitStService.java new file mode 100644 index 0000000..15c1325 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/SRaRealTimeAnalysicComsitStService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; + +/** + *

+ * 服务类 + *

+ * + * @author ccc + * @since 2023-07-01 + */ +public interface SRaRealTimeAnalysicComsitStService extends IService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/STaskYieldTrendService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/STaskYieldTrendService.java new file mode 100644 index 0000000..d0dc1d8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/STaskYieldTrendService.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.service; + + +import cn.cecep.talroad.domain.STaskYieldTrend; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface STaskYieldTrendService extends IService { + + void triggerYieldTrendSynchro(String factoryId); + + void analyseDayTaskYieldTrendData(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/TradeMonitorService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/TradeMonitorService.java new file mode 100644 index 0000000..6a4a9fe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/TradeMonitorService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service; + + +/** + * @className: TradeMonitorService + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:23 PM + * @Company: Copyright© [2023/03/30 5:23 PM] by [Mr.Yanghongtao] + **/ +public interface TradeMonitorService { + + void doUnitPollutantGasWarn(); + + void doUnitPollutantWaterWarn(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanInfoService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanInfoService.java new file mode 100644 index 0000000..d8eabe5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanInfoService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.BCoDischargePlanInfo; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BCoDischargePlanInfoService extends IService{ + + + int batchInsert(List list); + + List selectAllDeviceService(String factoryId, Integer planId); + + Boolean updatePlanInfo(List infos,Integer planId); +} + + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanService.java new file mode 100644 index 0000000..46ce569 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BCoDischargePlanService.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + + +public interface BCoDischargePlanService extends IService{ + + + int batchInsert(List list); + + + BCoDischargePlan newPlan(String factoryId); + + IPage selectCoAllInfoService(CoPlanAllInfo info); + + List selectCoAllInfoServiceList(CoPlanAllInfo info); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanInfoService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanInfoService.java new file mode 100644 index 0000000..214f843 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanInfoService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.BMaintenancePlanInfo; +import java.util.List; + +import cn.cecep.talroad.vo.AmProblemFiRatioVo; +import cn.cecep.talroad.vo.query.AmProblemFiRatioQuery; +import cn.cecep.talroad.vo.query.analysis.BMaintenancePlanQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BMaintenancePlanInfoService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + Boolean updatePlanInfo(List infos,Integer planId); + + List selectAllDeviceService(String factoryId,Integer planId); + + List infoPageList(Page page, String factoryId, BMaintenancePlanQuery bMaintenancePlanQuery); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanService.java new file mode 100644 index 0000000..20cb7a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BMaintenancePlanService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.BMaintenancePlan; +import cn.cecep.talroad.vo.analysis.MaintenancePlanAllInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +public interface BMaintenancePlanService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + IPage selectCoAllInfoService(MaintenancePlanAllInfo info); + + List selectCoAllInfoServiceList(MaintenancePlanAllInfo info); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamAnalyseService.java new file mode 100644 index 0000000..ca8916c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamAnalyseService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BasDeviceParamAnalyseService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamService.java new file mode 100644 index 0000000..bcc2b85 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasDeviceParamService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.BasDeviceParam; +import java.util.List; + +import cn.cecep.talroad.vo.query.analysis.BasDeviceParamQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BasDeviceParamService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + IPage pageService(BasDeviceParamQuery param); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasThresholdConfigService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasThresholdConfigService.java new file mode 100644 index 0000000..e294581 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/BasThresholdConfigService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.BasThresholdConfig; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BasThresholdConfigService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IBasDeviceStatusService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IBasDeviceStatusService.java new file mode 100644 index 0000000..7f83759 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IBasDeviceStatusService.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; + +/** + * 设备停限产状态及产量统计Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface IBasDeviceStatusService { + + /** + * 任务调度定时更新企业设备设施状态 + * @param industry + * @param dviceType + */ + void doCheckDeviceStatus(String industry, String dviceType); + + /** + * 任务调度设备产量计算 + * @param industry + * @param deviceType + */ + void doCheckCount(String industry, String deviceType); + + /** + * 任务调度设备产量计算 + * @param industry + * @param deviceType + */ + void doCheckCountTemp(String factoryId,String industry, String deviceType, String startTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IConcentrationMathService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IConcentrationMathService.java new file mode 100644 index 0000000..733127b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IConcentrationMathService.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.vo.analysis.OutletPermitPollutantVO; +import cn.cecep.talroad.vo.analysis.PcOutletPermitPollutantVO; + +import java.lang.reflect.InvocationTargetException; +import java.math.BigDecimal; +import java.text.ParseException; + +/** + * 浓度计算服务类 + */ +public interface IConcentrationMathService { + /** + * 大气浓度超标 + */ + void doGasPollutantHourConcentration(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 水浓度超标 + */ + void doWaterPollutantDayConcentration(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 大气浓度预警 + */ + void doGasPollutantHourConcentrationAlarm(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + /** + * 水浓度预警 + */ + void doWaterPollutantDayConcentrationAlarm(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + + /** + * 无组织大气浓度预警、超标报警 + * @param flag + */ + void doGasOverStandAlarmAndWarn(boolean flag); + + void checkExceedingTheStandard(PcOutlet pcOutlet, + OutletPermitPollutantVO outletPermitPollutantVO, + BigDecimal mathEmissions, + String alarmDate, + String outletType, + String problemCode) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + /** + * 废气浓度超标计算器 + * @param pcOutlet + * @param outletPermitPollutantVO + * @param mathEmissions + * @param alarmDate + * @param outletType + */ + void checkExceedingTheStandard(PcOutlet pcOutlet, + OutletPermitPollutantVO outletPermitPollutantVO, + BigDecimal mathEmissions, + String alarmDate, + String outletType, + String problemCode, + String message) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + + + void insertBatch(); + + /** + * 大气数据浓度超标 AI检出异常数据复核计算 + * @param mathDate + */ + void doGasPollutantHourConcentrationAIReview(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDataLogicAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDataLogicAnalysisService.java new file mode 100644 index 0000000..2c85015 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDataLogicAnalysisService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service.analysis; + +public interface IDataLogicAnalysisService { + + /** + * 关联分析-预警预报问题 - 分表计电-数据逻辑异常 + */ + void analysisElecRealDataLogic(); + + /** + * 关联分析-预警预报问题 - 网格化精准监测-数据逻辑异常 + */ + void analysisMeshingDataLogic(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDisPermitService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDisPermitService.java new file mode 100644 index 0000000..9e23b95 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDisPermitService.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.service.analysis; + +/** + * + */ +public interface IDisPermitService { + + /** + * 排污许可延续提醒定时任务 + */ + public void doDisPermitWarn(); + + + /** + * 排污许可整改超期定时任务 + */ + public void doDisPermitExceed(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDischargeMathService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDischargeMathService.java new file mode 100644 index 0000000..4140bea --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IDischargeMathService.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.service.analysis; + +import java.lang.reflect.InvocationTargetException; +import java.text.ParseException; + +/** + * 排放量计算服务类 + * @author liuzhiwei + */ +public interface IDischargeMathService { + /** + * 大气污染物在线小时排放量 + */ + void doGasPollutantHourDischarge(String mathDate) throws ParseException, NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + + /** + * 水污染物在线日排放量 + */ + void doWaterPollutantDayDischarge(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + + /** + * 水污染物在线排放量统计值 + */ + void doWaterPollutantDayDischargeTotal(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + + /** + * 水污染物在线排放量统计值 + */ + void doGasPollutantHourDischargeTotal(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException; + + + /** + * 废气手工月排放量 + */ + void doGasHandiworkMonthDischarge(); + + /** + * 废水手工月排放量 + */ + void doWaterHandiworkMonthDischarge(); + + + /** + * 废气排放量超标 + */ + void doGasDischargeExceeded() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 废水排放量超标 + */ + void doWaterDischargeExceeded() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 废气排放量预警 + */ + void doGasDischargeAlarm() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 废水排放量预警 + */ + void doWaterDischargeAlarm() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + /** + * 大气污染物小时排放量,状态标记 + */ + void doProcessGasStationDataFlag(); + + /** + * 水污染物日排放量,状态标记 + */ + void doProcessWaterStationDataFlag(); + + /** + * 污染物小时均值连续8H处于标准值的20 + */ + void doProcessHourPollutantConcentration(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IFacilityAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IFacilityAnalysisService.java new file mode 100644 index 0000000..dd07653 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IFacilityAnalysisService.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service.analysis; + +/** + * @Auther: cjh + * @Date: 2023-06-02 09:43 + * @Class: IFacilityAnalysisService + * @Deseription: 治理设施分析服务 + * @Version V1.0 + */ +public interface IFacilityAnalysisService { + + + /** + * 分析PH是否在合理范围内 + */ + public void analysisPhData(); + + /** + * 脱硫浆液循环泵运行异常分析 + */ + public void analysisPumpStateData(); + + /** + * 氧化风机运行异常分析 + */ + public void analysisOxFanStateData(); + + /** + * 脱硝SCR工艺反应器入口烟气温度 + */ + public void analysisScrTemp(); + + /** + * 脱硝出入口压差过高分析 + */ + public void analysisPressOverStand(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IMonitoringAnalyseService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IMonitoringAnalyseService.java new file mode 100644 index 0000000..a29dfdd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IMonitoringAnalyseService.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.service.analysis; + +/** + * 门禁统计服务 + */ +public interface IMonitoringAnalyseService { + + /** + * 统计分析每小时车辆进出厂次数 + */ + void doAnalyseHourCarEnterAndOut(); + + /** + * 统计分析每天不同排放阶段车辆进出厂次数 + */ + void doAnalyseDayCarEnterAndOut(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPcRaProblemTypeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPcRaProblemTypeService.java new file mode 100644 index 0000000..4e0e097 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPcRaProblemTypeService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.vo.analysis.PcRaProblemTypeVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 问题分类Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface IPcRaProblemTypeService extends IService +{ + List selectPcRaProblemTypeList(PcRaProblemType pcRaProblemType); + + List> cascader(); + + List selectProblemTypeVoList(); + + String getPathName(String problemType); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPollWaterAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPollWaterAnalysisService.java new file mode 100644 index 0000000..87dbbd8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/IPollWaterAnalysisService.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.service.analysis; + +public interface IPollWaterAnalysisService { + + /** + * 关联分析-本年是否有废水污染物总量超标情况 + */ + void emissionPollutionWaterLabelTask(); + + /** + * 1月内是否有废水污染物排放浓度情况 + */ + void envWaterMonDayLabelTask(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisCarService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisCarService.java new file mode 100644 index 0000000..09b6e5e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisCarService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 管控期车辆异常分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaAbNalysisCarService extends IService +{ + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisCar 管控期车辆异常分析 + * @return 管控期车辆异常分析集合 + */ + public List selectSRaAbNalysisCarList(SRaAbNalysisCar sRaAbNalysisCar); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisLowCarService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisLowCarService.java new file mode 100644 index 0000000..653962e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAbNalysisLowCarService.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaAbNalysisLowCarQuery; +import com.baomidou.mybatisplus.extension.service.IService; +import freemarker.template.TemplateException; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * 管控期车辆异常分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaAbNalysisLowCarService extends IService +{ + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisLowCar 管控期车辆异常分析 + * @return 管控期车辆异常分析集合 + */ + List selectSRaAbNalysisLowCarList(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar); + + EChartsVO chartData(List list, SRaAbNalysisLowCarQuery sRaAbNalysisLowCar); + + EChartsVO parkChartData(List list ); + + /** + * 车辆出入异常报告word导出 + * @param response + * @param sRaAbNalysisLowCar + */ + void exportWordReport(HttpServletResponse response, SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) throws TemplateException, IOException; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualEmissionsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualEmissionsService.java new file mode 100644 index 0000000..37661f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualEmissionsService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 执行报告实际排放情况Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaActionReportsActualEmissionsService extends IService +{ + /** + * 查询执行报告实际排放情况列表 + * + * @param lambdaQueryWrapper 执行报告实际排放情况 + * @return 执行报告实际排放情况集合 + */ + public List selectSRaActionReportsActualEmissionsList(QueryWrapper lambdaQueryWrapper); + + IPage selectSRaActionReportsActualEmissionsPage(Page page, QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualYieldService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualYieldService.java new file mode 100644 index 0000000..fbfc168 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsActualYieldService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 执行报告实际产量情况Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaActionReportsActualYieldService extends IService +{ + /** + * 查询执行报告实际产量情况列表 + * + * @param sRaActionReportsActualYield 执行报告实际产量情况 + * @return 执行报告实际产量情况集合 + */ + public List selectSRaActionReportsActualYieldList(QueryWrapper lambdaQueryWrapper); + + IPage selectSRaActionReportsActualYieldPage(Page page, QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditRecordService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditRecordService.java new file mode 100644 index 0000000..a073eb2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditRecordService.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.core.web.page.PageData; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.domain.dto.AuditRecordDTO; +import cn.cecep.talroad.domain.dto.RecordListDTO; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 执行报告规范性审核记录Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaActionReportsAuditRecordService extends IService +{ + /** + * 查询执行报告规范性审核记录列表 + * + * @param sRaActionReportsAuditRecord 执行报告规范性审核记录 + * @return 执行报告规范性审核记录集合 + */ + public List selectSRaActionReportsAuditRecordList(SRaActionReportsAuditRecord sRaActionReportsAuditRecord); + + /** + * 新建审核记录查询未审核企业列表 + * @param recordListDTO + * @return + */ + AjaxResults> recordList(RecordListDTO recordListDTO); + + + /** + * 新增审核记录 + * @param auditRecordDTO + * @return + */ + AjaxResults saveRecord(AuditRecordDTO auditRecordDTO); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditResultService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditResultService.java new file mode 100644 index 0000000..bccb01c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditResultService.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import freemarker.template.TemplateException; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * 执行报告规范性审核结果Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaActionReportsAuditResultService extends IService +{ + /** + * 查询执行报告规范性审核结果列表 + * + * @param sRaActionReportsAuditResult 执行报告规范性审核结果 + * @return 执行报告规范性审核结果集合 + */ + public List selectSRaActionReportsAuditResultList(SRaActionReportsAuditResult sRaActionReportsAuditResult); + + IPage resultList(Page page, QueryWrapper orderByDesc); + + /** + * 审核结果企业详情word表格导出 + * @param id + * @param response + */ + void getResultFactoryDetailWord(String id, HttpServletResponse response) throws IOException, TemplateException, IllegalAccessException; + + + /** + * 发送问题企业给报警表 + * @param id + * @return + */ + AjaxResults sendQuestion(String id); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditService.java new file mode 100644 index 0000000..e83e14e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaActionReportsAuditService.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 执行报告规范性审核Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaActionReportsAuditService extends IService +{ + /** + * 查询执行报告规范性审核列表 + * + * @param sRaActionReportsAudit 执行报告规范性审核 + * @return 执行报告规范性审核集合 + */ + public List selectSRaActionReportsAuditList(SRaActionReportsAudit sRaActionReportsAudit); + + /** + * 下载未提交审核的企业清单 + * @param reportId + */ + void reportDownload(String reportId, HttpServletResponse response); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaRegulatoryIssuesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaRegulatoryIssuesService.java new file mode 100644 index 0000000..6db6eef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaRegulatoryIssuesService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 区域证后监管问题总表Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaAreaRegulatoryIssuesService extends IService +{ + /** + * 查询区域证后监管问题总表列表 + * + * @param sRaAreaRegulatoryIssues 区域证后监管问题总表 + * @return 区域证后监管问题总表集合 + */ + public List selectSRaAreaRegulatoryIssuesList(SRaAreaRegulatoryIssues sRaAreaRegulatoryIssues); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaTransferRateAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaTransferRateAnalysisService.java new file mode 100644 index 0000000..122a25b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaAreaTransferRateAnalysisService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 区域传输率分析Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaAreaTransferRateAnalysisService extends IService +{ + /** + * 查询区域传输率分析列表 + * + * @param sRaAreaTransferRateAnalysis 区域传输率分析 + * @return 区域传输率分析集合 + */ + public List selectSRaAreaTransferRateAnalysisList(SRaAreaTransferRateAnalysis sRaAreaTransferRateAnalysis); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaControlSchemeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaControlSchemeService.java new file mode 100644 index 0000000..94f43b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaControlSchemeService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaControlScheme; + +/** + * 关联分析系统-减排方案管理-管控时间段信息Service接口 + * + * @author szhpt + * @date 2023-04-02*/ +public interface ISRaControlSchemeService extends IService +{ + /** + * 查询关联分析系统-减排方案管理-管控时间段信息列表 + * + * @param sRaControlScheme 关联分析系统-减排方案管理-管控时间段信息 + * @return 关联分析系统-减排方案管理-管控时间段信息集合 + */ + public List selectSRaControlSchemeList(SRaControlScheme sRaControlScheme); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsDiffService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsDiffService.java new file mode 100644 index 0000000..c43b4b8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsDiffService.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsDiff; +import cn.cecep.talroad.vo.analysis.SRaEmissionsDiffVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsDiffQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放量差异分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaEmissionsDiffService extends IService +{ + public List selectEmissionsDiffList(Page page, SRaEmissionsDiffQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsMonitoringVarianceService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsMonitoringVarianceService.java new file mode 100644 index 0000000..9031e2f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsMonitoringVarianceService.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; + +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.vo.analysis.SRaEmissionsMonitoringVarianceVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsMonitoringVarianceQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; + +/** + * 企业异常行为分析-企业排放分析-监测差异分析Service接口 + * + * @author szhpt + * @date 2023-06-27*/ +public interface ISRaEmissionsMonitoringVarianceService extends IService +{ + /** + * 查询企业异常行为分析-企业排放分析-监测差异分析列表 + * + * @param sRaEmissionsMonitoringVariance 企业异常行为分析-企业排放分析-监测差异分析 + * @return 企业异常行为分析-企业排放分析-监测差异分析集合 + */ + public List selectSRaEmissionsMonitoringVarianceList(SRaEmissionsMonitoringVariance sRaEmissionsMonitoringVariance); + + public List selectList(Page page, SRaEmissionsMonitoringVarianceQuery query); + + List pollList(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverFactoryService.java new file mode 100644 index 0000000..83afee4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverFactoryService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsOverFactory; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverFactoryVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverFactoryQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业排放量超标分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaEmissionsOverFactoryService extends IService +{ + List selectEmissionsOverFactory(Page page, SRaEmissionsOverFactoryQuery query); + + List getStatScopeList(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverService.java new file mode 100644 index 0000000..a8a4842 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsOverService.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsOver; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 区域、行业排放量超标分析Service接口 + */ +public interface ISRaEmissionsOverService extends IService +{ + List getRegionEmissions(Page page, SRaEmissionsOverQuery query); + + List getIndustryEmissions(Page page, SRaEmissionsOverQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsStandardService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsStandardService.java new file mode 100644 index 0000000..c22164d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaEmissionsStandardService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsStandard; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsStandardQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 企业排放水平分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaEmissionsStandardService extends IService +{ + /** + * 查询企业排放水平分析列表 + * + * @param sRaEmissionsStandard 企业排放水平分析 + * @return 企业排放水平分析集合 + */ + public List selectSRaEmissionsStandardList(SRaEmissionsStandardQuery sRaEmissionsStandard); + + /** + * 参数名称options + * @return options + */ + List> pullPollutantOptions(); + + /** + * 排放规模options + * @return options + */ + List> pullEmissionScaleOptions(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryRegulatoryIssuesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryRegulatoryIssuesService.java new file mode 100644 index 0000000..00633ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryRegulatoryIssuesService.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaFactoryRegulatoryIssues; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 企业证后监管问题总表表Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaFactoryRegulatoryIssuesService extends IService +{ + /** + * 查询企业证后监管问题总表表列表 + * + * @param sRaFactoryRegulatoryIssuess 企业证后监管问题总表表 + * @return 企业证后监管问题总表集合 + */ + public List selectSRaFactoryRegulatoryIssuesList(QueryWrapper lambdaQueryWrapper); + + IPage selectSRaFactoryRegulatoryIssuesPage(Page page, QueryWrapper lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryTransferRateAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryTransferRateAnalysisService.java new file mode 100644 index 0000000..450b555 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaFactoryTransferRateAnalysisService.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.time.LocalDate; +import java.util.List; + +/** + * 企业传输率分析Service接口 + * + * @author szhpt + * @date 2023-03-28*/ +public interface ISRaFactoryTransferRateAnalysisService extends IService +{ + /** + * 查询企业传输率分析列表 + * + * @param sRaFactoryTransferRateAnalysis 企业传输率分析 + * @return 企业传输率分析集合 + */ + public List selectSRaFactoryTransferRateAnalysisList(SRaFactoryTransferRateAnalysis sRaFactoryTransferRateAnalysis); + + /** + * 生成日数据 + * 逻辑说明:根据排口维度,查询数据进行封装 + * @param statisticsDate + */ + public void generateFactoryDayRecord2(LocalDate statisticsDate); + /** + * 生成企业月度报表 + * 逻辑如下,查询该月下所有的日数据,根据企业+outletCode为维度,进行数据求和组装 + * @param statisticsDate yyyyMM + */ + public void generateFactoryMonthRecord(String statisticsDate); + + /** + * 生成企业季度报表 + * 逻辑如下,查询该季度下所有的月数据,根据企业+outletCode为维度,进行数据求和组装 + * @param year + */ + public void generateFactorySeasonRecord(String year); + + /** + * 生成企业年报表 + * 逻辑如下,查询该年所有的季度数据,根据企业+outletCode为维度,进行数据求和组装 + * @param year + */ + public void generateFactoryYearRecord(String year); + + /** + * 定时任务先跑完企业的数据,之后,根据企业的传输率分析来汇总区域的。 + * @param statisticsDate + */ + public void generateAreaDayRecord(LocalDate statisticsDate); + + /** + * 生成企业月度报表 + * 逻辑如下,查询该月下所有的日数据,根据区域编码维度,进行数据求和组装 + * @param statisticsDate yyyyMM + */ + public void generateAreaMonthRecord(String statisticsDate); + + /** + * 生成区域季度报表 + * 逻辑如下,查询该季度下所有的月数据,根据区域编码维度,进行数据求和组装 + * @param year + */ + public void generateAreaSeasonRecord(String year); + + /** + * 生成企业年度报表 + * 逻辑如下,查询该年所有的季度 数据,根据区域编码维度,进行数据求和组装 + * @param year + */ + public void generateAreaYearRecord(String year); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasFlagService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasFlagService.java new file mode 100644 index 0000000..0846d41 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasFlagService.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaGasFlag; +import cn.cecep.talroad.vo.analysis.SRaGasFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasFlagQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废气在线监测标记汇总Service接口 + */ +public interface ISRaGasFlagService extends IService { + + List getGasFlagList(Page page, SRaGasFlagQuery query); + + List getGasFlagDetailList(Page page, SRaGasFlagQuery query); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedEmissionsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedEmissionsService.java new file mode 100644 index 0000000..f4d01d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedEmissionsService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 许可排放量废气明细Service接口 + * + * @author szhpt + * @date 2023-06-02*/ +public interface ISRaGasPermittedEmissionsService extends IService +{ + /** + * 查询许可排放量废气明细列表 + * + * @param sRaGasPermittedEmissions 许可排放量废气明细 + * @return 许可排放量废气明细集合 + */ + public List selectSRaGasPermittedEmissionsList(SRaGasPermittedEmissionsQuery sRaGasPermittedEmissions); + + IPage selectSRaGasPermittedEmissionsListBy(SRaGasPermittedEmissionsQuery lambdaQueryWrapper); + + List> pullMonitorNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedOnlineService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedOnlineService.java new file mode 100644 index 0000000..a9568bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaGasPermittedOnlineService.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedOnlineQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 在线排放量废气明细Service接口 + * + * @author szhpt + * @date 2023-06-02*/ +public interface ISRaGasPermittedOnlineService extends IService +{ + /** + * 查询在线排放量废气明细列表 + * + * @param sRaGasPermittedOnline 在线排放量废气明细 + * @return 在线排放量废气明细集合 + */ + public List selectSRaGasPermittedOnlineList(SRaWaterPermittedOnlineQuery sRaGasPermittedOnline); + + IPage selectSRaGasPermittedOnlineListBy(SRaWaterPermittedOnlineQuery sRaGasPermittedOnline); + + List> pullMonitorNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsGasService.java new file mode 100644 index 0000000..8c05e4d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsGasService.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsGasQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 手工监测排放监控-气污染要素Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaHandworkEmissionsGasService extends IService +{ + /** + * 查询手工监测排放监控-气污染要素列表 + * + * @param sRaHandworkEmissionsGas 手工监测排放监控-气污染要素 + * @return 手工监测排放监控-气污染要素集合 + */ + public List selectSRaHandworkEmissionsGasList(SRaHandworkEmissionsGasQuery sRaHandworkEmissionsGas); + + /** + * 查询监测点位名称options + * @return options + */ + List> pullPointOptions(); + + /** + * 查询污染物options + * @return options + */ + List> pullPollutantOptions(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsWaterService.java new file mode 100644 index 0000000..e70f1eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaHandworkEmissionsWaterService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsWaterQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 手工监测排放监控-水污染要素Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaHandworkEmissionsWaterService extends IService +{ + /** + * 查询手工监测排放监控-水污染要素列表 + * + * @param sRaHandworkEmissionsWater 手工监测排放监控-水污染要素 + * @return 手工监测排放监控-水污染要素集合 + */ + public List selectSRaHandworkEmissionsWaterList(SRaHandworkEmissionsWaterQuery sRaHandworkEmissionsWater); + + /** + * 查询监测点位名称options + * @return options + */ + List> pullPointOptions(); + + /** + * 查询污染物options + * @return options + */ + List> pullPollutantOptions(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaMultiSourceService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaMultiSourceService.java new file mode 100644 index 0000000..f376bd9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaMultiSourceService.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.query.analysis.SRaMultiSourceQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 多源排放量汇总Service接口 + * + * @author szhpt + * @date 2023-06-03*/ +public interface ISRaMultiSourceService extends IService +{ + /** + * 查询多源排放量汇总列表 + * + * @param sRaMultiSource 多源排放量汇总 + * @return 多源排放量汇总集合 + */ + public List selectSRaMultiSourceList(SRaWaterPermittedOnlineQuery sRaMultiSource); + + IPage selectSRaMultiSourceListBy(SRaWaterPermittedOnlineQuery sRaMultiSource); + + IPage selectSRaMultiSourceListDetailsBy(SRaMultiSourceQuery sRaMultiSource); + + List selectSRaMultiSourceListDetails(SRaMultiSourceQuery sRaMultiSource); + + String pullMonitorNameOptions(SRaMultiSourceQuery lambdaQueryWrapper); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsGasService.java new file mode 100644 index 0000000..8ba3947 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsGasService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsGasQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 在线监测排放监控-气污染要素Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaOnlineEmissionsGasService extends IService +{ + /** + * 查询在线监测排放监控-气污染要素列表 + * + * @param sRaOnlineEmissionsGas 在线监测排放监控-气污染要素 + * @return 在线监测排放监控-气污染要素集合 + */ + List selectSRaOnlineEmissionsGasList(SRaOnlineEmissionsGas sRaOnlineEmissionsGas); + + EChartsVO getChartData(SRaOnlineEmissionsGasQuery.CharDataSearchVo searchVo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsWaterService.java new file mode 100644 index 0000000..97ad476 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOnlineEmissionsWaterService.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsWaterQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 在线监测排放监控-水污染要素Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaOnlineEmissionsWaterService extends IService +{ + /** + * 查询在线监测排放监控-水污染要素列表 + * + * @param sRaOnlineEmissionsWater 在线监测排放监控-水污染要素 + * @return 在线监测排放监控-水污染要素集合 + */ + List selectSRaOnlineEmissionsWaterList(SRaOnlineEmissionsWater sRaOnlineEmissionsWater); + + EChartsVO getChartData(SRaOnlineEmissionsWaterQuery.CharDataSearchVo searchVo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateGasService.java new file mode 100644 index 0000000..c22204d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateGasService.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverRateGas; +import cn.cecep.talroad.enums.StatisticsTypeEnum; +import cn.cecep.talroad.vo.analysis.SRaOverRateGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateGasQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +public interface ISRaOverRateGasService extends IService +{ + List selectOverRateGasPage(Page page, SRaOverRateGasQuery query); + + Boolean periodTask(StatisticsTypeEnum statisticsTypeEnum, String statisticsTime, Date startTime, Date endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateWaterService.java new file mode 100644 index 0000000..f6d3fe5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaOverRateWaterService.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.cecep.talroad.enums.StatisticsTypeEnum; +import cn.cecep.talroad.vo.analysis.SRaOverRateWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateWaterQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + * 超标率分析-水污染要素Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaOverRateWaterService extends IService +{ + + List selectOverRateWaterPage(Page page, SRaOverRateWaterQuery query); + + List selectWaterDataByMonth(List monthList); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitMonitorService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitMonitorService.java new file mode 100644 index 0000000..5d993ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitMonitorService.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsitMonitor; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位Service接口 + * + * @author szhpt + * @date 2023-07-14*/ +public interface ISRaRealTimeAnalysicComsitMonitorService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位列表 + * + * @param sRaRealTimeAnalysicComsitMonitor 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位集合 + */ + public List selectSRaRealTimeAnalysicComsitMonitorList(SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor); + + AjaxResults addComsitMonitor(SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitService.java new file mode 100644 index 0000000..fc18838 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysicComsitService.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsit; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组Service接口 + * + * @author szhpt + * @date 2023-07-14*/ +public interface ISRaRealTimeAnalysicComsitService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组列表 + * + * @param sRaRealTimeAnalysicComsit 关联分析系统-企业生产过程分析-监测点位对比分析-分组 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组集合 + */ + public List selectSRaRealTimeAnalysicComsitList(SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit); + + IPage selectSRaRealTimeAnalysicComsitListBy(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + IPage selectSRaRealTimeAnalysicComsitListBys(SRaRealTimeAnalysicComsitQuery sRaRealTimeAnalysicComsit); + + List> pullParam(); + + IPage abnormalList(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + List abnormalExport(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + EChartsVO.DiagramVo abnormalEcharts(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + + List> editListDropdown(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCementService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCementService.java new file mode 100644 index 0000000..eac35d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCementService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCementQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析Service接口 + * + * @author szhpt + * @date 2023-04-02*/ +public interface ISRaRealTimeAnalysisCementService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-水泥熟料产量分析列表 + * + * @param sRaRealTimeAnalysisCement 关联分析系统-企业生产过程分析-水泥熟料产量分析 + * @return 关联分析系统-企业生产过程分析-水泥熟料产量分析集合 + */ + public List selectSRaRealTimeAnalysisCementList(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + + IPage statisticsList(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + + List statisticsExport(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement); + + EChartsVO resultCurve(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoService.java new file mode 100644 index 0000000..a248056 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoService.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import freemarker.template.TemplateException; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.util.List; +import java.util.Map; + +/** + * co放散分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisCoService extends IService +{ + /** + * 查询co放散分析列表 + * + * @param sRaRealTimeAnalysisCo co放散分析 + * @return co放散分析集合 + */ + public List selectSRaRealTimeAnalysisCoList(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + /** + * 工序options + * @param industryCategoryCode + * @return + */ + List> pullWorkingProcedureOptions(String industryCategoryCode); + + IPage selectSRaRealTimeAnalysisCoListPage(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo); + + EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime); + + String analysisCurveEndTime(String deviceId, String monitoringStartTime, String monitoringEndTime); + + /** + * 导出CO放散数据为word文档 + * @param sRaRealTimeAnalysisCo 查询条件 + * @param response 响应对象 + */ + void exportCoDataToWord(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo, HttpServletResponse response) throws IOException, TemplateException, NoSuchMethodException, InvocationTargetException, IllegalAccessException; + + EChartsVO coalEmissionsChart(String deviceId, String monitoringStartTime, String monitoringEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoalService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoalService.java new file mode 100644 index 0000000..d1dbfda --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCoalService.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoalQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 装煤推焦次数分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisCoalService extends IService +{ + /** + * 查询装煤推焦次数分析列表 + * + * @param sRaRealTimeAnalysisCoal 装煤推焦次数分析 + * @return 装煤推焦次数分析集合 + */ + public List selectSRaRealTimeAnalysisCoalList(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + + /** + * 设备名称options + * @param factoryName + * @return + */ + List> pullDeviceNameOptions(String factoryName); + + IPage statisticsList(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + + List statisticsExport(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal); + + EChartsVO resultCurve(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoa); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCokeService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCokeService.java new file mode 100644 index 0000000..37b709d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisCokeService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析Service接口 + * + * @author szhpt + * @date 2023-04-03*/ +public interface ISRaRealTimeAnalysisCokeService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-焦炭产量分析列表 + * + * @param sRaRealTimeAnalysisCoke 关联分析系统-企业生产过程分析-焦炭产量分析 + * @return 关联分析系统-企业生产过程分析-焦炭产量分析集合 + */ + public List selectSRaRealTimeAnalysisCokeList(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + + IPage statisticsList(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + + List statisticsExport(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke); + + EChartsVO resultCurve(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisConverterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisConverterService.java new file mode 100644 index 0000000..dfded70 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisConverterService.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 转炉产量分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisConverterService extends IService +{ + /** + * 查询转炉产量分析列表 + * + * @param sRaRealTimeAnalysisConverter 转炉产量分析 + * @return 转炉产量分析集合 + */ + public List selectSRaRealTimeAnalysisConverterList(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter); + + /** + * 设备名称options + * @param factoryName + * @return + */ + List> pullDeviceNameOptions(String factoryName); + + IPage statisticsList(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter); + + List statisticsExport(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter); + + EChartsVO resultCurve(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoa); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisFurnaceService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisFurnaceService.java new file mode 100644 index 0000000..1afae1a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisFurnaceService.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisFurnaceQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 高炉产量分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisFurnaceService extends IService +{ + /** + * 查询高炉产量分析列表 + * + * @param sRaRealTimeAnalysisFurnace 高炉产量分析 + * @return 高炉产量分析集合 + */ + public List selectSRaRealTimeAnalysisFurnaceList(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + + IPage statisticsList(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + + List statisticsExport(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace); + + EChartsVO resultCurve(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisGlassService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisGlassService.java new file mode 100644 index 0000000..239636d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisGlassService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析Service接口 + * + * @author szhpt + * @date 2023-04-02*/ +public interface ISRaRealTimeAnalysisGlassService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-玻璃产量分析列表 + * + * @param sRaRealTimeAnalysisGlass 关联分析系统-企业生产过程分析-玻璃产量分析 + * @return 关联分析系统-企业生产过程分析-玻璃产量分析集合 + */ + public List selectSRaRealTimeAnalysisGlassList(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + + IPage statisticsList(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + + List statisticsExport(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass); + + EChartsVO resultCurve(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisKwhService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisKwhService.java new file mode 100644 index 0000000..435137f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisKwhService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisKwh; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisKwhQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 企业用电水平分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisKwhService extends IService +{ + /** + * 查询企业用电水平分析列表 + * + * @param sRaRealTimeAnalysisKwh 企业用电水平分析 + * @return 企业用电水平分析集合 + */ + public List selectSRaRealTimeAnalysisKwhList(SRaRealTimeAnalysisKwhQuery sRaRealTimeAnalysisKwh); + + List> pullPollutantOptions(); + + List> pullEmissionScaleOptions(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisPowerService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisPowerService.java new file mode 100644 index 0000000..bcf3d6e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisPowerService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析Service接口 + * + * @author szhpt + * @date 2023-04-02*/ +public interface ISRaRealTimeAnalysisPowerService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-机组负荷分析列表 + * + * @param sRaRealTimeAnalysisPower 关联分析系统-企业生产过程分析-机组负荷分析 + * @return 关联分析系统-企业生产过程分析-机组负荷分析集合 + */ + public List selectSRaRealTimeAnalysisPowerList(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + + IPage statisticsList(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + + List statisticsExport(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower); + + EChartsVO resultCurve(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRubbishService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRubbishService.java new file mode 100644 index 0000000..974b635 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRubbishService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRubbishQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析Service接口 + * + * @author szhpt + * @date 2023-04-03*/ +public interface ISRaRealTimeAnalysisRubbishService extends IService +{ + /** + * 查询关联分析系统-企业生产过程分析-垃圾处理量分析列表 + * + * @param sRaRealTimeAnalysisRubbish 关联分析系统-企业生产过程分析-垃圾处理量分析 + * @return 关联分析系统-企业生产过程分析-垃圾处理量分析集合 + */ + public List selectSRaRealTimeAnalysisRubbishList(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + + IPage statisticsList(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + + List statisticsExport(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish); + + EChartsVO resultCurve(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisCoa); + + List> pullDeviceNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRunService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRunService.java new file mode 100644 index 0000000..9e757d6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisRunService.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRunQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 企业装备运行情况实时分析Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisRunService extends IService +{ + /** + * 查询企业装备运行情况实时分析列表 + * + * @param sRaRealTimeAnalysisRun 企业装备运行情况实时分析 + * @return 企业装备运行情况实时分析集合 + */ + public List selectSRaRealTimeAnalysisRunList(SRaRealTimeAnalysisRunQuery sRaRealTimeAnalysisRun); + + /** + * 运行状态options + * @return + */ + List> pullStatusOptions(); + + /** + * 设备名称options + * @return + */ + List> pullDeviceNameOptions(String factoryName); + + List selectAnalysisRunByParams(SRaRealTimeAnalysisRun oldBasDevice); + + EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime); + + List analysisCurve(String deviceId, String monitoringStartTime, String monitoringEndTime, String judgementBasis); + + String analysisCurveEndTime(String deviceId, String monitoringStartTime, String monitoringEndTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisStopService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisStopService.java new file mode 100644 index 0000000..afd1aa5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaRealTimeAnalysisStopService.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisStop; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisStopQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import freemarker.template.TemplateException; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * 企业装备停限产分析报(DCS)Service接口 + * + * @author szhpt + * @date 2023-03-24*/ +public interface ISRaRealTimeAnalysisStopService extends IService +{ + /** + * 查询企业装备停限产分析报(DCS)列表 + * + * @param sRaRealTimeAnalysisStop 企业装备停限产分析报(DCS) + * @return 企业装备停限产分析报(DCS)集合 + */ + public List selectSRaRealTimeAnalysisStopList(SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop); + + /** + * 工序options + * @param industryCategoryCode + * @return + */ + List> pullWorkingProcedureOptions(String industryCategoryCode); + + IPage selectSRaRealTimeAnalysisStopListPage(SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop); + + EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime); + + /** + * 企业装备停限产分析报告导出 + * @param response + * @param sRaRealTimeAnalysisStop + */ + void exportWordReport(HttpServletResponse response, SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) throws TemplateException, IOException; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaSelfMonitoringDataService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaSelfMonitoringDataService.java new file mode 100644 index 0000000..c677b6a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaSelfMonitoringDataService.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.vo.query.analysis.SRaSelfMonitoringDataQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * 关联分析系统-企业自行监测数据Service接口 + * + * @author szhpt + * @date 2023-06-27*/ +public interface ISRaSelfMonitoringDataService extends IService +{ + /** + * 查询关联分析系统-企业自行监测数据列表 + * + * @param sRaSelfMonitoringData 关联分析系统-企业自行监测数据 + * @return 关联分析系统-企业自行监测数据集合 + */ + public List selectSRaSelfMonitoringDataList(SRaSelfMonitoringDataQuery sRaSelfMonitoringData); + + List> pullPollutantNameOptions(String name); + + void doProcessHandleData(DateTime lastDayBegin, DateTime lastDayEnd); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterFlagService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterFlagService.java new file mode 100644 index 0000000..965b8c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterFlagService.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaWaterFlag; +import cn.cecep.talroad.vo.analysis.SRaWaterFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterFlagQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废水在线监测标记汇总Service接口 + */ +public interface ISRaWaterFlagService extends IService +{ + + List getWaterFlagList(Page page, SRaWaterFlagQuery query); + + List getWaterFlagDetailList(Page page, SRaWaterFlagQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedEmissionsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedEmissionsService.java new file mode 100644 index 0000000..d3ced34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedEmissionsService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedEmissions; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 许可排放量废水明细Service接口 + * + * @author szhpt + * @date 2023-06-02*/ +public interface ISRaWaterPermittedEmissionsService extends IService +{ + /** + * 查询许可排放量废水明细列表 + * + * @param sRaWaterPermittedEmissions 许可排放量废水明细 + * @return 许可排放量废水明细集合 + */ + public List selectSRaWaterPermittedEmissionsList(SRaWaterPermittedEmissionsQuery sRaWaterPermittedEmissions); + + IPage selectSRaWaterPermittedEmissionsListBy(SRaWaterPermittedEmissionsQuery sRaWaterPermittedEmissions); + + List> pullMonitorNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedOnlineService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedOnlineService.java new file mode 100644 index 0000000..cc96b30 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/ISRaWaterPermittedOnlineService.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service.analysis; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 许可排放量废水明细Service接口 + * + * @author szhpt + * @date 2023-06-02*/ +public interface ISRaWaterPermittedOnlineService extends IService +{ + /** + * 查询许可排放量废水明细列表 + * + * @param sRaWaterPermittedOnline 许可排放量废水明细 + * @return 许可排放量废水明细集合 + */ + public List selectSRaWaterPermittedOnlineList(SRaWaterPermittedOnlineQuery sRaWaterPermittedOnline); + + IPage selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery sRaWaterPermittedOnline); + + List> pullMonitorNameOptions(String factoryName); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaAreaTransferRateAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaAreaTransferRateAnalysisService.java new file mode 100644 index 0000000..1938359 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaAreaTransferRateAnalysisService.java @@ -0,0 +1,8 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import com.baomidou.mybatisplus.extension.service.IService; +public interface SRaAreaTransferRateAnalysisService extends IService{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaEmissionsStatisticsService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaEmissionsStatisticsService.java new file mode 100644 index 0000000..67ad4a3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaEmissionsStatisticsService.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStatistics; +import cn.cecep.talroad.domain.leader.vo.ProblemGroupCountVO; +import cn.cecep.talroad.vo.analysis.FactoryTop10ProblemCountVO; +import cn.cecep.talroad.vo.query.analysis.SREStatisticsQuery; +import cn.cecep.talroad.vo.EChartsVO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface SRaEmissionsStatisticsService extends IService{ + + + AjaxResults selectChartData(SREStatisticsQuery query); + + List selectChartDataTop(SREStatisticsQuery query); + + EChartsVO selectChartDataIndustry(SREStatisticsQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaFactoryTransferRateAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaFactoryTransferRateAnalysisService.java new file mode 100644 index 0000000..0d8a847 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaFactoryTransferRateAnalysisService.java @@ -0,0 +1,8 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import com.baomidou.mybatisplus.extension.service.IService; +public interface SRaFactoryTransferRateAnalysisService extends IService{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringGasService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringGasService.java new file mode 100644 index 0000000..6a209e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringGasService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringGas; +import com.baomidou.mybatisplus.extension.service.IService; +public interface SRaLowMonitoringGasService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringOtherService.java new file mode 100644 index 0000000..7e2cc4f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringOtherService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringOther; +import com.baomidou.mybatisplus.extension.service.IService; +public interface SRaLowMonitoringOtherService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringWaterService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringWaterService.java new file mode 100644 index 0000000..761d017 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaLowMonitoringWaterService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.analysis; + +import java.util.List; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringWater; +import com.baomidou.mybatisplus.extension.service.IService; +public interface SRaLowMonitoringWaterService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaOverWaterPollutionTraceabilityService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaOverWaterPollutionTraceabilityService.java new file mode 100644 index 0000000..acff942 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/analysis/SRaOverWaterPollutionTraceabilityService.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.service.analysis; + +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +public interface SRaOverWaterPollutionTraceabilityService extends IService{ + + + Map workWithMapData(List list); + + EChartsVO chartData(List records, String pollName, Date startTime ,Date endTime); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/BasTargetService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/BasTargetService.java new file mode 100644 index 0000000..67cb3fe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/BasTargetService.java @@ -0,0 +1,186 @@ +package cn.cecep.talroad.service.effective; + + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +public interface BasTargetService { + + + /* *//** + * 计算今年目标值 + * + * @param currentYearValues 当前年各月均值 + * @param lastYearValues 去年各月均值 + * @param avgPercents 月度同比变化率均值 + * @param control 因子最大月度控制量 + * @param controlMonth 控制月份数量 + * @return + *//* + public BigDecimal[] calcTarget(BigDecimal[] currentYearValues, BigDecimal[] lastYearValues, BigDecimal[] avgPercents, int control, int controlMonth, BigDecimal targetValue) throws BussinessException; + + + + *//** + * 查询四因子计算配置 + * + * @param regionCode 区域编号 + * @param factor 银子名称 + * @return + *//* + int[] findTargetConfig(String regionCode, String factor); + + *//** + * 四因子目标计算 PM25,PM10,SO2,NO2 + * + * @param regionCode 区域编号 + * @param factor 因子名称 + * @param target 因子目标值 + * @return + *//* + Map fourFactorTargets(String regionCode, String factor, BigDecimal target) throws BussinessException; + + *//** + * 二因子目标计算 CO O38h + * + * @param regionCode 区域编号 + * @param factor 因子名称 + * @param target 因子目标值 + * @param year 年份 + * @return + *//* + Map twoFactorTargets(int year, String regionCode, String factor, BigDecimal target); + + *//** + * 重污染天目标计算 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param factor 因子名称 + * @return + *//* + Map heavyDaysTargets(int year, String regionCode, String factor); + + *//** + * 优良天目标计算 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param factor 因子名称 + * @param target 优良天目标值 + * @return + *//* + Map goodDaysTargets(int year, String regionCode, String factor, BigDecimal target); + + *//** + * co超标天数目标计算 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param target 目标值 + * @param factor 因子名称 + * @return + *//* + Map coOverDayTarget(int year, String regionCode, String factor, BigDecimal target); + + *//** + * o38h超标天数目标计算 + * + * @param year 年份 + * @param regionCode 区域编号 + * @param target 目标值 + * @param factor 因子名称 + * @return + *//* + Map o3OverDayTarget(int year, String regionCode, String factor, BigDecimal target); + + *//** + * 保存年度目标 + * + * @param year 年份 + * @param target 目标值 + * @param regionCode 区域编号 + * @param factor 因子名称 + *//* + void saveYearTarget(int year, BigDecimal target, String regionCode, String factor); + + *//** + * 保存月度目标 + * + * @param year 年份 + * @param target 目标值数组 + * @param actual 累计值数组 + * @param regionCode 区域编号 + * @param factor 因子名称 + *//* + void saveMonthTarget(int year, BigDecimal[] target, BigDecimal[] actual, String regionCode, String factor); + + *//** + * 保存秋/冬/总计/目标值 + * + * @param year 年份 + * @param target 目标值 + * @param type 类型 4:秋防 5:冬防 + * @param regionCode 区域编号 + * @param factor 因子名称 + *//* + void saveAutumnWinterTarget(int year, BigDecimal target, int type, String regionCode, String factor); + + *//** + * 确认 + * + * @param basTargetDto 初始目标值dto + * @param userRegionCode 用户区域编号 + *//* + boolean saveAllTarget(BasTargetDto basTargetDto, String userRegionCode); + + + *//** + * 根据区域查询年度目标值 + * + * @param regionCode 区域编号 + * @return + *//* + BasYearTargetVo findYearTarget(String regionCode); + + + List findReachabilityAnalysis(ReachabilityDto reachabilityDto); + + + List findStandardMonitoring(String userRegionCode, String type); + + *//** + * 根据区域查询月度目标值 + * + * @param regionCode 区域编号 + * @return + *//* + Map findMonthTarget(String regionCode); + + *//** + * 根据区域查询秋冬防值 + * + * @return + *//* + List> findAutumnWinterTarget(String regionCode); + + + *//** + * 查询区域 年 月 秋冬防目标值 + * + * @param regionCode 区域编号 + * @return + *//* + Map regionTarget(String regionCode); + + *//** + * 计算冬防 目标值 + * + * @param regionCode 区域code + * @param basTargetDto 参数 + *//* + void calcWinterTarget(String regionCode, BasTargetDto basTargetDto); +*/ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationExceedService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationExceedService.java new file mode 100644 index 0000000..85c99d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationExceedService.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.domain.effective.ERmStationExceed; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.effective.ERmStationInfo; +import cn.cecep.talroad.vo.effective.SEnvGasMonValueVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +public interface ERmStationExceedService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + IPage selectListInfo(ERmStationInfo entity); + + EChartsVO changingTrends(List stationIds, String contaminant, Date start, Date end); + + EChartsVO entChangingTrends(List entIds, String contaminant, Date start, Date end); + + List selectGasAndHaveData(Integer pageNum, Integer pageSize); + + EChartsVO selectEntPollution(String entId, Date start, Date end); + + List summaryOfCorporateEmissions(String entId, Date start, Date end); + + IPage selectStationList(ERmStationInfo entity); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationHourService.java new file mode 100644 index 0000000..eab6bfa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ERmStationHourService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.domain.effective.ERmStationHour; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +public interface ERmStationHourService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ForecastAccuracyService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ForecastAccuracyService.java new file mode 100644 index 0000000..5d8f2c5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ForecastAccuracyService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.vo.effective.ForecastAccuracyInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.Date; +import java.util.List; + +public interface ForecastAccuracyService { + IPage getList(String problemType, Date startTime, Date endTime, Integer pageNum, Integer pageSize); + + List getProblemListService(); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IPCodAreaInfoService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IPCodAreaInfoService.java new file mode 100644 index 0000000..357aefb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IPCodAreaInfoService.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.domain.PCodeAreaInfo; +//import cn.cecep.talroad.domain.PCodeRegion; +import cn.cecep.talroad.domain.effective.PCodeRegion; +import cn.cecep.talroad.domain.vo.*; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.service + * @ClassName: IPCodAreaInfoService + * @Author: wyg + * @Description: 监测地图-公共查询-数据查询 + * @Date: 2023/6/13 09:57 + * @Version: 1.0 + */ +public interface IPCodAreaInfoService extends IService { + + + List findStationPullDataList(); + + List> findJurisdictionData(); + + List> selectBySixApiParam(String type,String property); + + Map findTimeDataList(String startTime, String endTime,String type,String factorCode,String regionCode); + + List> findCoverageData(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IRectificationEffectEvaluationService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IRectificationEffectEvaluationService.java new file mode 100644 index 0000000..b27aa4f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/IRectificationEffectEvaluationService.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.effective.RectificationEffectQueryDTO; +import cn.cecep.talroad.vo.effective.FactoryRectificationEffectCountVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + + +public interface IRectificationEffectEvaluationService { + + AjaxResults> list(RectificationEffectQueryDTO rectificationEffectQueryDTO); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MAiControlDelayAssessmentService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MAiControlDelayAssessmentService.java new file mode 100644 index 0000000..080ca3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MAiControlDelayAssessmentService.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.domain.effective.MAiControlDelayAssessment; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.vo.query.effective.MAiControlDelayAssessmentQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.IService; +public interface MAiControlDelayAssessmentService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + Map getMapService(MAiControlDelayAssessmentQuery query); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFacilitiesService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFacilitiesService.java new file mode 100644 index 0000000..63f075a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFacilitiesService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.effective; + +import java.util.List; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFacilities; +import com.baomidou.mybatisplus.extension.service.IService; +public interface MGovernanceTechnologyEstimateFacilitiesService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFactoryService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFactoryService.java new file mode 100644 index 0000000..4f35298 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateFactoryService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.effective; + +import java.util.List; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFactory; +import com.baomidou.mybatisplus.extension.service.IService; +public interface MGovernanceTechnologyEstimateFactoryService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + List selectNameByAnalyzeLatitude(Integer analyzeLatitude, String name,String value); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateProcedureService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateProcedureService.java new file mode 100644 index 0000000..dc78773 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/MGovernanceTechnologyEstimateProcedureService.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.service.effective; + +import java.util.List; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateProcedure; +import com.baomidou.mybatisplus.extension.service.IService; +public interface MGovernanceTechnologyEstimateProcedureService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingHourService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingHourService.java new file mode 100644 index 0000000..a99d3f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingHourService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.effective; + +import java.util.List; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingHour; +import com.baomidou.mybatisplus.extension.service.IService; +public interface PcNationalCityRankingHourService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + void doProcessCityRankHour(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingOtherService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingOtherService.java new file mode 100644 index 0000000..234504e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PcNationalCityRankingOtherService.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.effective; + +import java.util.List; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingOther; +import com.baomidou.mybatisplus.extension.service.IService; +public interface PcNationalCityRankingOtherService extends IService{ + + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + + void doProcessCityRankDay(); + + void doProcessCityRankMonth(); + + void doProcessCityRankYear(); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PollutionCharacterAnalysisService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PollutionCharacterAnalysisService.java new file mode 100644 index 0000000..8272129 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/PollutionCharacterAnalysisService.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.domain.dto.PollutantCharacterAnalysisDto; + +import java.util.List; +import java.util.Map; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.service + * @ClassName: PollutionCharacterAnalysisService + * @Author: wyg + * @Description:污染特征分析 + * @Date: 2023/6/13 15:11 + * @Version: 1.0 + */ +public interface PollutionCharacterAnalysisService { + /** + * 特征比值 + * + * @param analysisDto 参数dto + * @return + */ + List> ratioOf(PollutantCharacterAnalysisDto analysisDto); + + /** + * 计算皮尔逊相关系数 + * + * @return + */ + public double[][] plxValue(PollutantCharacterAnalysisDto analysisDto); + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReductionEmissionService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReductionEmissionService.java new file mode 100644 index 0000000..c9bd003 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReductionEmissionService.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.service.effective; + +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.effective.PcNationalCityRanking; +import cn.cecep.talroad.vo.effective.PcNationalCountyRanking; +import cn.cecep.talroad.vo.export.PcNationalCityRankingExport; +import cn.cecep.talroad.vo.export.PcNationalCountyRankingExport; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; +import java.util.Map; + +public interface ReductionEmissionService { + + /** + * 获取地区的实时监控数据 + * + * @param regionCode 地区code + * @return PcNationalCityRanking + */ + PcNationalCityRanking realTimeMonitoringService(String regionCode); + + /** + * @Method cityRankingService + * @Exception 168 377 省内 + * @Date 2023/6/16 17:03 + */ + Map cityRankingService(String regionCode); + + /** + * @Method countyRankingService + * @Exception 省区县 + * @Date 2023/6/16 17:03 + */ + Map countyRankingService(String regionCode); + + /** + * 获取排名详情 + */ + IPage list(String dateType, String type, String date, Integer pageNum, Integer pageSize,String cityName); + + + IPage provinceCounty(String dateType, String type, String date, Integer pageNum, Integer pageSize,String countyName); + + + Map getMapCountyService(String[] countryCode); + + List export(PcNationalCityRankingExport pcNationalCityRankingExport); + + List countyExport(PcNationalCountyRankingExport pcNationalCityRankingExport); + + + Map getMapService(String type); + + EChartsVO getCountryMapService(List names); + + List countryNameList(String name,String type); + + List cityNameList(String name); + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReportManageService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReportManageService.java new file mode 100644 index 0000000..298b4a5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/effective/ReportManageService.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.service.effective; + + +/** + * @author zhangshiji + * @date 2022/8/26 + */ +public interface ReportManageService { + +/* + //被达标监测日推算引用 + public AirQualityData cumulativeAirData(String regionCode); + + //被达标监测日推算引用 去年数据 + public AirQualityData cumulativeAirLastData(String regionCode);*/ +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmDoorMonitorAccountFiServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmDoorMonitorAccountFiServiceImpl.java new file mode 100644 index 0000000..702f508 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmDoorMonitorAccountFiServiceImpl.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.AmDoorMonitorAccountFi; +import cn.cecep.talroad.mapper.AmDoorMonitorAccountFiMapper; +import cn.cecep.talroad.service.IAmDoorMonitorAccountFiService; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 门禁监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class AmDoorMonitorAccountFiServiceImpl extends ServiceImpl implements IAmDoorMonitorAccountFiService +{ + @Autowired + private AmDoorMonitorAccountFiMapper amDoorMonitorAccountFiMapper; + + /** + * 查询门禁监控列表 + * + * @param amDoorMonitorAccountFi 门禁监控 + * @return 门禁监控 + */ + @Override + public List selectAmDoorMonitorAccountFiList(AmDoorMonitorAccountFi amDoorMonitorAccountFi) + { + return amDoorMonitorAccountFiMapper.selectAmDoorMonitorAccountFiList(amDoorMonitorAccountFi); + } + + @Override + public List selectLabelAccount(String lastDayBegin, String lastDayEnd) { + return amDoorMonitorAccountFiMapper.selectLabelAccount(lastDayBegin,lastDayEnd); + } + + @Override + public List selectCarEntryCount(String controlStartTime, String controlEndTime, String lastHourBegin, String lastHourEnd) { + return amDoorMonitorAccountFiMapper.selectCarEntryCount(controlStartTime,controlEndTime,lastHourBegin,lastHourEnd); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiProcessServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiProcessServiceImpl.java new file mode 100644 index 0000000..b755d22 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiProcessServiceImpl.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.AmProblemFiProcess; +import cn.cecep.talroad.mapper.AmProblemFiProcessMapper; +import cn.cecep.talroad.service.IAmProblemFiProcessService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author liyongbing + * @since 2023-06-17 + */ +@Service +public class AmProblemFiProcessServiceImpl extends ServiceImpl implements IAmProblemFiProcessService { + + @Override + public AmProblemFiProcess selectByProblemId(String problemId) { + QueryWrapper query= Wrappers.query(); + query.eq("problem_id",problemId); + query.orderByDesc("create_time"); + query.last("limit 1"); + return baseMapper.selectOne(query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiRatioServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiRatioServiceImpl.java new file mode 100644 index 0000000..5f0800b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiRatioServiceImpl.java @@ -0,0 +1,202 @@ +package cn.cecep.talroad.service.impl; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.bean.BeanUtil; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.vo.AmProblemFiRatioImportVo; +import cn.cecep.talroad.vo.AmProblemFiRatioVo; +import cn.cecep.talroad.vo.PcPollutantVo; +import cn.cecep.talroad.vo.query.AmProblemFiRatioQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.AmProblemFiRatio; +import cn.cecep.talroad.mapper.AmProblemFiRatioMapper; +import cn.cecep.talroad.service.IAmProblemFiRatioService; + + + + +/** + * 预警报警信息-预警比例定制Service业务层处理 + * + * @author szhpt + * @date 2023-06-27*/ +@Service +public class AmProblemFiRatioServiceImpl extends ServiceImpl implements IAmProblemFiRatioService +{ + @Autowired + private AmProblemFiRatioMapper amProblemFiRatioMapper; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + @Autowired + private PcPollutantMapper pcPollutantMapper; + /** + * 查询预警报警信息-预警比例定制列表 + * + * @param amProblemFiRatio 预警报警信息-预警比例定制 + * @return 预警报警信息-预警比例定制 + */ + @Override + public List selectAmProblemFiRatioList(AmProblemFiRatioQuery amProblemFiRatio) + { + return amProblemFiRatioMapper.selectAmProblemFiRatioList(amProblemFiRatio); + } + + @Override + public List pageList(Page page,AmProblemFiRatioQuery amProblemFiRatio) { + List list = new ArrayList<>(); + if(page != null){ + list = amProblemFiRatioMapper.pageList(page,amProblemFiRatio); + page.setRecords(list); + } + return list; + } + + @Override + public List pcPollutantList() { + return amProblemFiRatioMapper.pcPollutantList(); + } + + @Override + public String importAmProblemFiRatioList(List amProblemFiRatioList) { + if (CollectionUtil.isEmpty(amProblemFiRatioList)) { + throw new ServiceException("导入数据不能为空"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + QueryWrapper factoryQueryWrapper = new QueryWrapper<>(); + QueryWrapper pcOutletQueryWrapper = new QueryWrapper<>(); + QueryWrapper pcPollutantQueryWrapper = new QueryWrapper<>(); + QueryWrapper amProblemFiRatioQueryWrapper = new QueryWrapper<>(); + for (AmProblemFiRatioImportVo amProblemFiRatioVo : amProblemFiRatioList) { + String factoryName = amProblemFiRatioVo.getFactoryName(); + String monitoringPointName = amProblemFiRatioVo.getMonitoringPointName(); + String pollName = amProblemFiRatioVo.getPollName(); + String problemRatio = amProblemFiRatioVo.getProblemRatio(); + try{ + if(StringUtils.isEmpty(factoryName)){ + failureNum++; + failureMsg.append("
" + failureNum + "、企业名称不能为空"); + continue; + } + if(StringUtils.isEmpty(monitoringPointName)){ + failureNum++; + failureMsg.append("
" + failureNum + "、监测点位名称不能为空"); + continue; + } + if(StringUtils.isEmpty(pollName)){ + failureNum++; + failureMsg.append("
" + failureNum + "、污染物名称不能为空"); + continue; + } + if(StringUtils.isEmpty(problemRatio)){ + failureNum++; + failureMsg.append("
" + failureNum + "、预警比例不能为空"); + continue; + } + + //判断企业是否存在 + factoryQueryWrapper.clear(); + factoryQueryWrapper.eq("factory_name",factoryName).last("limit 1"); + PcFactory pcFactory = pcFactoryMapper.selectOne(factoryQueryWrapper); + if(ObjectUtil.isNull(pcFactory)){ + failureNum++; + failureMsg.append("
" + failureNum + "、企业名称:"+factoryName+"不存在"); + continue; + }else{ + amProblemFiRatioVo.setFactoryId(pcFactory.getId()); + } + + //判断监测点位名称是否存在 + pcOutletQueryWrapper.clear(); + pcOutletQueryWrapper.eq("monitoring_point_name",monitoringPointName).last("limit 1"); + PcOutlet pcOutlet = pcOutletMapper.selectOne(pcOutletQueryWrapper); + if(ObjectUtil.isNull(pcOutlet)){ + failureNum++; + failureMsg.append("
" + failureNum + "、监测点位名称:"+monitoringPointName+"不存在"); + continue; + }else{ + amProblemFiRatioVo.setStationId(pcOutlet.getId()); + } + + //判断污染物名称是否存在 + pcPollutantQueryWrapper.clear(); + pcPollutantQueryWrapper.eq("poll_name",pollName).last("limit 1"); + PcPollutant pcPollutant = pcPollutantMapper.selectOne(pcPollutantQueryWrapper); + if(ObjectUtil.isNull(pcPollutant)){ + failureNum++; + failureMsg.append("
" + failureNum + "、污染物名称:"+pollName+"不存在"); + continue; + }else{ + amProblemFiRatioVo.setPollId(pcPollutant.getId()); + } + + //判断数据是否存在 + amProblemFiRatioQueryWrapper.clear(); + amProblemFiRatioQueryWrapper.eq("factory_id",pcFactory.getId()) + .eq("station_id",pcOutlet.getId()) + .eq("poll_id",pcPollutant.getId()).last("limit 1"); + AmProblemFiRatio amProblemFiRatio = amProblemFiRatioMapper.selectOne(amProblemFiRatioQueryWrapper); + if(ObjectUtil.isNotNull(amProblemFiRatio)){ + failureNum++; + failureMsg.append("
" + failureNum + "、该条数据已经存在"); + continue; + }else{ + amProblemFiRatioVo.setPollId(pcPollutant.getId()); + } + //插入 + AmProblemFiRatio amProblemFiRatioBean = new AmProblemFiRatio(); + BeanUtil.copyProperties(amProblemFiRatioVo,amProblemFiRatioBean); + amProblemFiRatioBean.setCreateTime(new Date()); + amProblemFiRatioBean.setUpdateTime(new Date()); + this.save(amProblemFiRatioBean); + successNum++; + successMsg.append("
" + successNum + "、预警比例定制导入成功"); + }catch (Exception e){ + failureNum++; + String msg = "
" + failureNum + "、预警比例定制导入失败:"; + failureMsg.append(msg).append(e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) + { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString() + successMsg.insert(0,"
导入成功!共 " + successNum + " 条,数据如下:").toString() ); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + + @Override + public AmProblemFiRatioVo selectAmProblemFiRatio(Long id) { + return baseMapper.selectAmProblemFiRatio(id); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiServiceImpl.java new file mode 100644 index 0000000..806c503 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmProblemFiServiceImpl.java @@ -0,0 +1,1351 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.constant.HttpStatus; +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.exception.BussinessException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.enums.AmProblemAuditResultEnum; +import cn.cecep.talroad.enums.AmProblemAuditTypeEnum; +import cn.cecep.talroad.enums.AmProblemProcessTypeEnum; +import cn.cecep.talroad.enums.AmProblemStatusEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.service.analysis.IPcRaProblemTypeService; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsGasService; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsWaterService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.analysis.PcRaProblemTypeVo; +import cn.cecep.talroad.vo.query.AmProblemFiQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsGasQuery; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsWaterQuery; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateRange; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.alibaba.nacos.common.utils.UuidUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; + +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.stream.Collectors; +import java.util.stream.Stream; + + +@Service +@Slf4j +public class AmProblemFiServiceImpl extends ServiceImpl implements IAmProblemFiService { + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Autowired + private IPcRaProblemTypeService problemTypeService; + + @Autowired + private IProductionManageService productionManageService; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private BasDeviceMapper basDeviceMapper; + + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Autowired + private ISRaOnlineEmissionsGasService onlineEmissionsGasService; + + @Autowired + private ISRaOnlineEmissionsWaterService onlineEmissionsWaterService; + + @Autowired + private ISEnvWaterMonRealService envWaterMonRealService; + + @Autowired + private ISEnvGasMonRealService envGasMonRealService; + + @Autowired + private PcFactoryMapper factoryMapper; + + @Autowired + private IAmProblemFiProcessService amProblemFiProcessService; + + @Autowired + private IMonElecRealService monElecRealService; + + @Value("${amproblem.zf.url}") + private String zfUrl; + + private ExecutorService executorService= Executors.newFixedThreadPool(10); + + + public static List> removeFalseHave0(List> myList) { + List> filteredList = new ArrayList<>(); + for (Map item : myList) { + boolean have0 = (boolean) item.get("have0"); + if (have0) { + Map filteredItem = new HashMap<>(); + filteredItem.put("have0", true); + filteredItem.put("value", item.get("value")); + filteredItem.put("label", item.get("label")); + filteredItem.put("parentId", item.get("parentId")); + if (item.containsKey("children")) { + List> children = (List>) item.get("children"); + List> filteredChildren = removeFalseHave0(children); + if (!filteredChildren.isEmpty()) { + filteredItem.put("children", filteredChildren); + } + } + filteredList.add(filteredItem); + } + } + return filteredList; + } + + @Override + public List getChartData(AmProblemFiQuery.ChartDataParam param, String regionCode) { + List regionCodes = new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if (r.getCode() == 200) { + regionCodes = r.getData(); + } + // 补全结束日期格式,解决查询结果不包含结束日期 + param.setEndTime(getEndTime(param.getDateType(), param.getEndTime())); + + // 按照问题类型分组,统计数量 + List> data = amProblemFiMapper.selectChartData(param, regionCodes); + + if (data.isEmpty()) { + return new ArrayList<>(); + } + + // 所有问题分类节点map,key为问题分类id + Map sunburstMap = new HashMap<>(); + + List problemTypeVos = problemTypeService.selectProblemTypeVoList(); + + // 问题总数 + long sum = data.stream().mapToLong(o -> (Long) o.get("count")).sum(); + + // 遍历查询到的问题分类,将问题分类本身以及父分类封装到sunburstMap中,并计算问题数量、所占百分比 + for (Map map : data) { + String problemType = (String) map.get("problemType"); + Long count = (Long) map.get("count"); + + PcRaProblemTypeVo typeVo = problemTypeVos.stream().filter(o -> o.getId().equals(problemType)).findFirst().orElse(null); + + if (typeVo == null) { + throw new RuntimeException("预警报警信息表中存在未知的的问题类型【id=" + problemType + "】"); + } + + /* + 遍历问题分类的路径,放入到sunburstMap中,由于不同的子级问题分类可能属于同一父级,因此需要先判断sunburstMap是否已存在 + */ + for (PcRaProblemType type : typeVo.getPath()) { + EChartsVO.Sunburst sunburst = sunburstMap.get(type.getId()); + + // sunburstMap中不存在 + if (sunburst == null) { + BigDecimal divide = BigDecimal.valueOf(count * 100).divide(BigDecimal.valueOf(sum), 2, BigDecimal.ROUND_HALF_UP); + + sunburst = new EChartsVO.Sunburst(); + sunburst.setValue(count); + sunburst.setId(type.getId()); + sunburst.setParentId(type.getParentId()); + sunburst.setName(type.getName() + "\n" + divide.stripTrailingZeros().toPlainString() + "%"); + + sunburst.setChildren(new ArrayList<>()); + + sunburstMap.put(type.getId(), sunburst); + } else { + // 已存在,累加问题数量,并重新计算百分比 + sunburst.setValue(sunburst.getValue() + count); + + BigDecimal divide = BigDecimal.valueOf(sunburst.getValue() * 100).divide(BigDecimal.valueOf(sum), 2, BigDecimal.ROUND_HALF_UP); + sunburst.setName(type.getName() + "\n" + divide.stripTrailingZeros().toPlainString() + "%"); + } + } + } + + // 构建树,遍历所有问题分类,添加到父级分类的children属性中 + for (EChartsVO.Sunburst sunburst : sunburstMap.values()) { + EChartsVO.Sunburst parent = sunburstMap.get(sunburst.getParentId()); + if (parent != null) { + parent.getChildren().add(sunburst); + } + } + + // 返回所有的顶级节点 + return sunburstMap.values().stream().filter(o -> o.getParentId() == null).collect(Collectors.toList()); + } + + /** + * 根据日期类型,获取指定日期的结束时间 + */ + private String getEndTime(String dateType, String time) { + if (StringUtils.isEmpty(time)) { + return time; + } + Date date = DateUtils.parseDate(time); + + DateTime dateTime; + if (dateType.equals("D")) { + dateTime = DateUtil.endOfDay(date); + } else { + dateTime = DateUtil.endOfMonth(date); + } + return DateUtil.format(dateTime, "yyyy-MM-dd HH:mm:ss"); + } + + @Override + public EChartsVO getTrendData(AmProblemFiQuery.ChartDataParam param) { + // 补全结束日期格式,解决查询结果不包含结束日期 + param.setEndTime(getEndTime(param.getDateType(), param.getEndTime())); + + // 按日期分组,统计数量 + List> trendData = baseMapper.selectTrendData(param); + + List xdata = DateUtils.getRangeTimes("D".equals(param.getDateType()) ? "D" : "N", param.getStartTime(), param.getEndTime()); + + // 遍历x轴,保证系列值与x轴数据一一对应 + List values = xdata.stream().map(time -> { + Map map = trendData.stream().filter(o -> time.equals(o.get("analyseTime"))).findFirst().orElse(null); + return map == null ? null : map.get("count"); + }).collect(Collectors.toList()); + + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setValues(values); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setSeries(Arrays.asList(ser)); + chartsVO.setXData(xdata); + return chartsVO; + } + + @Override + public List selectList(Page page, AmProblemFiQuery query) { + + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode()) && !query.getNoRegion()) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + + List problemDataVos; + if (page == null) { + problemDataVos = baseMapper.selectProblemFiList(query); + } else { + problemDataVos = baseMapper.selectProblemFiPage(page, query); + page.setRecords(problemDataVos); + } + if (problemDataVos.isEmpty()) { + return problemDataVos; + } + List problemTypeVos = problemTypeService.selectProblemTypeVoList(); + + for (AmProblemFiVo vo : problemDataVos) { + PcRaProblemTypeVo typeVo = problemTypeVos.stream().filter(o -> o.getId().equals(vo.getProblemType())).findFirst().orElse(null); + if (typeVo != null) { + String problemTypeName = typeVo.getPath().stream().map(PcRaProblemType::getName).collect(Collectors.joining("-")); + vo.setProblemTypeName(problemTypeName); + vo.setRoute(typeVo.getRoute()); + } + } + return problemDataVos; + } + + @Override + public AmProblemFiVo.Detail getInfo(String id) { + AmProblemFi problemFi = getById(id); + AmProblemFiVo.Detail vo = new AmProblemFiVo.Detail(); + BeanUtils.copyProperties(problemFi, vo); + + /* + 设置污染要素 + */ + if ("1".equals(problemFi.getPollutantSourceAi())) { + vo.setPollutionTypeName("气污染要素"); + } else if ("2".equals(problemFi.getPollutantSourceAi())) { + vo.setPollutionTypeName("水污染要素"); + } + + /* + 设置问题监控视频、截图 + */ + List> videoList = baseMapper.selectAmProblemFiVideo(id); + Map>> videoTypeMap = videoList.stream().collect(Collectors.groupingBy(o -> (String) o.get("videoType"))); + List> pictures = videoTypeMap.get("1"); + List> videos = videoTypeMap.get("2"); + vo.setVideos(videos == null ? new ArrayList<>() : videos); + vo.setVideoPictures(pictures == null ? new ArrayList<>() : pictures); + + /* + 设置问题状态 + */ + PcRaProblemType problemType = problemTypeService.getById(problemFi.getProblemType()); + // 若问题类型的路由是“IssuesInfoPage”表示需要验证,若反馈人为空,表示该问题未验证 + if (problemType != null && "IssuesInfoPage".equals(problemType.getRoute()) && problemFi.getModelValidPerson() == null) { + vo.setStatus("2"); + } else { + vo.setStatus("1"); + } + + /* + 设置问题所属企业名称 + */ + PcFactory factory = factoryMapper.selectById(problemFi.getFactoryId()); + if (factory != null) { + vo.setFactoryName(factory.getFactoryName()); + vo.setRegionName(factory.getCountryName()); + } + + /* + 设置问题类型名称 + */ + vo.setProblemTypeName(problemTypeService.getPathName(problemFi.getProblemType())); + + /* + 设置问题描述 + */ + try { + if (StringUtils.isNotBlank(problemFi.getExtraCzp())) { + Map extraCzp = JSON.parseObject(problemFi.getExtraCzp(), new TypeReference>() {}); + String problemDetailsCzp = (String) extraCzp.get("problemDetailsCzp"); + + if (StringUtils.isNotBlank(problemDetailsCzp)) { + if (StringUtils.isBlank(vo.getProblemDetails())) { + vo.setProblemDetails(problemDetailsCzp); + } else { + vo.setProblemDetails(vo.getProblemDetails() + problemDetailsCzp); + } + } + } + } catch (Exception e) { + log.info("解析extraCzp异常 问题id={}", id, e); + } + return vo; + } + + @Override + public void updateModelValid(AmProblemFiVo.ModelValidForm form) { + update(new UpdateWrapper() + .set("model_valid_db", form.getModelValidDb()) + .set("model_valid_video", form.getModelValidVideo()) + .set("model_valid_details", form.getModelValidDetails()) + .set("model_valid_person", form.getModelValidPerson()) + .set("model_valid_time", new Date()) + .eq("id", form.getId())); + } + + @Override + public IProductionManageService.FrameDataVo logicExceptionData(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + AmProblemFi problemFi = getById(id); + + IProductionManageService.SearchVo searchVo = new IProductionManageService.SearchVo(startTime, endTime, pageNum, pageSize); + searchVo.setDataType(problemFi.getDataType()); + + Map extra = null; + try { + extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + } catch (Exception e) { + log.info("解析extra异常 问题id={}", id, e); + } + + /* + 设置在线监测点位 + */ + PcOutlet outlet = outletMapper.selectById(problemFi.getStationId()); + if (outlet != null) { + // 在线监测点位展示的污染物 + List pollutantVos = new ArrayList<>(); + + // 关联分析监测点的主要污染物 + if (StringUtils.isNotEmpty(problemFi.getParamProperty())) { + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(problemFi.getParamProperty()); + + // 设置主要监测物的标记区域 + pollutantVo.setMarkArea(getMarkArea(problemFi)); + + // 设置主要监测物的标记线 + pollutantVo.setMarkLine(getMarkLine(problemFi)); + + // 设置主要监测物的上下限数据 + pollutantVo.setPollutantLimitMap(getPollutantLimitMap(problemFi, startTime, endTime)); + + pollutantVo.setProblemParam(true); + + pollutantVos.add(pollutantVo); + } + + try { + List onlineParams = (List) extra.get("onlineParams"); + + // 监测点其它参数 + if (onlineParams != null) { + for (String onlineParam : onlineParams) { + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(onlineParam); + pollutantVos.add(pollutantVo); + } + } + } catch (Exception e) { + log.info("解析extra.onlineParams异常 问题id={}", id, e); + } + + PcOutletVo.SimpleVo outletSimpleVo = new PcOutletVo.SimpleVo(); + BeanUtils.copyProperties(outlet, outletSimpleVo); + outletSimpleVo.setPollutantVos(pollutantVos); + + searchVo.setOutletSimpleVo(Arrays.asList(outletSimpleVo)); + } + + /* + 设置关联的dcs点位 + */ + searchVo.setDeviceSimpleVo(getDeviceSimpleVo(problemFi)); + + /* + 设置关联的分表计电点位 + */ + searchVo.setDeviceSiteSimpleVo(getDeviceSiteSimpleVo(problemFi)); + + searchVo.setDeviceSimpleStatusVos(getDeviceSimpleStatusVos(problemFi)); + + /* + dcs && online + */ + searchVo.setDcsOnlineVos(getDcsOnlineVos(problemFi)); + + return productionManageService.getFrameData(searchVo); + } + + /** + * 获取问题时间标记区域 + * @param problemFi + * @return + */ + private EChartsVO.MarkArea getMarkArea(AmProblemFi problemFi) { + // “长期区间范围不变”不需要标记区域 + if ("001009002".equals(problemFi.getProblemType())) { + return null; + } + + if (StringUtils.isNotEmpty(problemFi.getDataType()) && + StringUtils.isNotEmpty(problemFi.getProblemStartTime()) && + StringUtils.isNotEmpty(problemFi.getProblemEndTime())) { + EChartsVO.MarkArea markArea = new EChartsVO.MarkArea(new ArrayList<>()); + + Map map1 = new HashMap<>(); + map1.put("xAxis", DateUtils.format(problemFi.getDataType(), problemFi.getProblemStartTime())); + Map map2 = new HashMap<>(); + map2.put("xAxis", DateUtils.format(problemFi.getDataType(), problemFi.getProblemEndTime())); + + markArea.getData().add(Arrays.asList(map1, map2)); + return markArea; + } + return null; + } + + /** + * 获取问题时间标记区域 + */ + private EChartsVO.MarkArea getMarkArea(List> rangeList) { + if (rangeList == null || rangeList.isEmpty()) { + return null; + } + EChartsVO.MarkArea markArea = new EChartsVO.MarkArea(new ArrayList<>()); + + for (List list : rangeList) { + if (list == null || list.size() < 2) { + continue; + } + Map map1 = new HashMap<>(); + map1.put("xAxis", DateUtils.format("M", list.get(0))); + Map map2 = new HashMap<>(); + map2.put("xAxis", DateUtils.format("M", list.get(1))); + markArea.getData().add(Arrays.asList(map1, map2)); + } + return markArea; + } + + private EChartsVO.MarkLine getMarkLine(AmProblemFi problemFi) { + EChartsVO.MarkLine markLine = new EChartsVO.MarkLine(new ArrayList<>()); + + // “长期区间范围不变”的标记线特殊处理 + if ("001009002".equals(problemFi.getProblemType())) { + Map labelMap = new HashMap<>(); + labelMap.put("formatter", "{b}: {c}"); + try { + markLine.getData().add( + new HashMap() {{ + put("name", "下限"); + put("yAxis", new BigDecimal(problemFi.getPredictLowerLimit()).setScale(6, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); + put("label", labelMap); + }} + ); + } catch (Exception e) { + } + try { + markLine.getData().add( + new HashMap() {{ + put("name", "上限"); + put("yAxis", new BigDecimal(problemFi.getPredictUpperLimit()).setScale(6, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); + put("label", labelMap); + }} + ); + } catch (Exception e) { + } + try { + markLine.getData().add( + new HashMap() {{ + put("xAxis", DateUtils.format(problemFi.getDataType(), problemFi.getProblemStartTime())); + }} + ); + } catch (Exception e) { + } + } else { + String markLineName = "001001003".equals(problemFi.getProblemType()) ? "方差" : "均值"; + + // 前均值/前方差 + if (problemFi.getMeanBefore() != null && + StringUtils.isNotEmpty(problemFi.getInputStartTime()) && StringUtils.isNotEmpty(problemFi.getProblemStartTime())) { + String value = problemFi.getMeanBefore().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString(); + + Map map1 = new HashMap<>(); + map1.put("name", markLineName + value); + map1.put("coord", new String[]{DateUtils.format(problemFi.getDataType(), problemFi.getInputStartTime()), value}); + Map map2 = new HashMap<>(); + map2.put("coord", new String[]{DateUtils.format(problemFi.getDataType(), problemFi.getProblemStartTime()), value}); + markLine.getData().add(Arrays.asList(map1, map2)); + } + // 后均值/后方差 + if (problemFi.getMeanAfter() != null && + StringUtils.isNotEmpty(problemFi.getProblemStartTime()) && StringUtils.isNotEmpty(problemFi.getInputEndTime())) { + String value = problemFi.getMeanAfter().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString(); + + Map map1 = new HashMap<>(); + map1.put("name", markLineName + value); + map1.put("coord", new String[]{DateUtils.format(problemFi.getDataType(), problemFi.getProblemStartTime()), value}); + Map map2 = new HashMap<>(); + map2.put("coord", new String[]{DateUtils.format(problemFi.getDataType(), problemFi.getInputEndTime()), value}); + markLine.getData().add(Arrays.asList(map1, map2)); + } + } + return markLine; + } + + /** + * 获取污染物上下限的数据 + */ + private Map getPollutantLimitMap(AmProblemFi problemFi, String startTime, String endTime) { + List lowerLimits = null; + List upperLimits = null; + try { + lowerLimits = JSON.parseArray(problemFi.getPredictLowerLimit(), String.class); + upperLimits = JSON.parseArray(problemFi.getPredictUpperLimit(), String.class); + } catch (Exception e) { + log.info("解析上下限异常 问题id={}", problemFi.getId(), e); + } + + // 上下限存在并且ai分析时间存在 + if ((lowerLimits != null || upperLimits != null) && + StringUtils.isNotEmpty(problemFi.getInputStartTime()) && + StringUtils.isNotEmpty(problemFi.getInputEndTime())) { + Date st = DateUtils.parseDate(startTime); + Date et = DateUtils.parseDate(endTime); + Date ist = DateUtils.parseDate(problemFi.getInputStartTime()); + Date iet = DateUtils.parseDate(problemFi.getInputEndTime()); + + // 页面传入的时间范围与ai分析时间范围有交集 + if ((ist.compareTo(st) >= 0 && ist.compareTo(et) <= 0) || (iet.compareTo(st) >= 0 && iet.compareTo(et) <= 0)) { + DateField dateField = null; + String format = null; + + switch (problemFi.getDataType()) { + case "M": + dateField = DateField.MINUTE; + format = "yyyy-MM-dd HH:mm"; + break; + case "H": + dateField = DateField.HOUR_OF_DAY; + format = "yyyy-MM-dd HH"; + break; + case "D": + dateField = DateField.DAY_OF_YEAR; + format = "yyyy-MM-dd"; + break; + } + + // 主要污染物上下限数据 + Map pollutantLimitMap = new HashMap<>(); + int index = 0; + + DateRange range = DateUtil.range(ist, iet, dateField); + + for (DateTime dateTime : range) { + AmProblemFiVo.PollutantLimitVo limitVo = new AmProblemFiVo.PollutantLimitVo(); + limitVo.setLowerLimit(lowerLimits != null && lowerLimits.size() > index ? lowerLimits.get(index) : null); + limitVo.setUpperLimit(upperLimits != null && upperLimits.size() > index ? upperLimits.get(index) : null); + + // 由于前端上下限系列是叠加展示的,上限的系列值=上限-下限 + if (StringUtils.isNotEmpty(limitVo.getLowerLimit()) && StringUtils.isNotEmpty(limitVo.getUpperLimit())) { + limitVo.setUpperLimit(new BigDecimal(limitVo.getUpperLimit()).subtract(new BigDecimal(limitVo.getLowerLimit())).stripTrailingZeros().toPlainString()); + } + pollutantLimitMap.put(dateTime.toString(format), limitVo); + index++; + } + return pollutantLimitMap; + } + } + return null; + } + + private List getDeviceSimpleStatusVos(AmProblemFi problemFi) { + List deviceIdList = null; + try { + Map extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + deviceIdList = (List) extra.get("real_time_analysis_run"); + } catch (Exception e) { + log.info("解析extra.dcsDeviceList异常 问题id={}", problemFi.getId(), e); + } + if (deviceIdList != null && deviceIdList.size() > 0) { + List basDevices = basDeviceMapper.selectList(new QueryWrapper().in("device_id", deviceIdList).orderByAsc("industry", "device_id")); + return basDevices.stream().map(o -> { + BasDeviceVo.SimpleStatusVo simpleVo = new BasDeviceVo.SimpleStatusVo(); + BeanUtils.copyProperties(o, simpleVo); + return simpleVo; + }).collect(Collectors.toList()); + } + return null; + } + + /** + * 获取问题关联的dcs设备vo + * @param problemFi + * @return + */ + private List getDeviceSimpleVo(AmProblemFi problemFi) { + Map> dcsDeviceMap = null; + try { + Map extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + List> dcsDeviceList = (List>) extra.get("dcsDeviceList"); + if (dcsDeviceList == null) { + return null; + } + dcsDeviceMap = dcsDeviceList.stream().collect(Collectors.toMap(o -> (String) o.get("deviceId"), o -> o)); + } catch (Exception e) { + log.info("解析extra.dcsDeviceList异常 问题id={}", problemFi.getId(), e); + } + if (dcsDeviceMap != null && dcsDeviceMap.size() > 0) { + List basDevices = basDeviceMapper.selectList(new QueryWrapper().in("device_id", dcsDeviceMap.keySet()).orderByAsc("industry", "device_id")); + Map> finalDcsDeviceMap = dcsDeviceMap; + + return basDevices.stream().map(o -> { + BasDeviceVo.SimpleVo simpleVo = new BasDeviceVo.SimpleVo(); + BeanUtils.copyProperties(o, simpleVo); + try { + Map map = finalDcsDeviceMap.get(o.getDeviceId()); + List params = (List) map.get("params"); + simpleVo.setPollutantVos( + params.stream().map(paramCode -> { + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(paramCode); + + // 设置标记区域 + if (StringUtils.isNotEmpty(problemFi.getProblemStartTime()) && + StringUtils.isNotEmpty(problemFi.getProblemEndTime())) { + EChartsVO.MarkArea markArea = new EChartsVO.MarkArea(new ArrayList<>()); + + Map map1 = new HashMap<>(); + map1.put("xAxis", DateUtils.format("R", problemFi.getProblemStartTime())); + Map map2 = new HashMap<>(); + map2.put("xAxis", DateUtils.format("R", problemFi.getProblemEndTime())); + + markArea.getData().add(Arrays.asList(map1, map2)); + pollutantVo.setMarkArea(markArea); + } + return pollutantVo; + }).collect(Collectors.toList()) + ); + } catch (Exception e) { + simpleVo.setPollutantVos(new ArrayList<>()); + } + return simpleVo; + }).collect(Collectors.toList()); + } + return null; + } + + /** + * 获取问题关联的dcs设备与在线监测的vo + */ + private List getDcsOnlineVos(AmProblemFi problemFi) { + if (StringUtils.isBlank(problemFi.getExtraCzp())) { + return null; + } + + PcOutlet outlet = outletMapper.selectById(problemFi.getStationId()); + if (outlet == null) { + return null; + } + + Map> dcsDeviceMap = null; + try { + Map extraCzp = JSON.parseObject(problemFi.getExtraCzp(), new TypeReference>() {}); + List> dcsDeviceList = (List>) extraCzp.get("dcsOnlineList"); + if (dcsDeviceList == null) { + return null; + } + dcsDeviceMap = dcsDeviceList.stream().collect(Collectors.toMap(o -> (String) o.get("deviceId"), o -> o)); + } catch (Exception e) { + log.info("解析extraCzp.dcsOnlineList异常 问题id={}", problemFi.getId(), e); + } + if (dcsDeviceMap == null || dcsDeviceMap.isEmpty()) { + return null; + } + + List basDevices = basDeviceMapper.selectList(new QueryWrapper() + .in("device_id", dcsDeviceMap.keySet()).orderByAsc("industry", "device_id") + ); + Map> finalDcsDeviceMap = dcsDeviceMap; + + return basDevices.stream().map(basDevice -> { + BasDeviceVo.SimpleVo simpleVo = new BasDeviceVo.SimpleVo(); + simpleVo.setDeviceId(basDevice.getDeviceId()); + simpleVo.setName(basDevice.getName()); + simpleVo.setPollutantVos(new ArrayList<>()); + try { + Map map = finalDcsDeviceMap.get(basDevice.getDeviceId()); + List dcsParams = (List) map.get("dcsParams"); + + List dcsPollutantVos = dcsParams.stream().map(paramCode -> { + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(paramCode); + return pollutantVo; + }).collect(Collectors.toList()); + simpleVo.setPollutantVos(dcsPollutantVos); + } catch (Exception e) { + log.info("解析extraCzp dcsParams异常 问题id={}", problemFi.getId(), e); + } + + + PcOutletVo.SimpleVo outletSimpleVo = new PcOutletVo.SimpleVo(); + BeanUtils.copyProperties(outlet, outletSimpleVo); + outletSimpleVo.setPollutantVos(new ArrayList<>()); + try { + Map map = finalDcsDeviceMap.get(basDevice.getDeviceId()); + List> onlineInfo = (List>) map.get("onlineInfo"); + + List pollutantVos = onlineInfo.stream().map(onlineMap -> { + String onlineParam = (String) onlineMap.get("onlineParam"); + List> start_end_time = (List>) onlineMap.get("problem_start_end_time"); + + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(onlineParam); + + // 设置主要监测物的标记区域 + pollutantVo.setMarkArea(getMarkArea(start_end_time)); + + // 设置主要监测物的标记线 + pollutantVo.setMarkLine(getMarkLine(problemFi)); + + pollutantVo.setProblemParam(true); + + return pollutantVo; + }).collect(Collectors.toList()); + + outletSimpleVo.setPollutantVos(pollutantVos); + } catch (Exception e) { + log.info("解析extraCzp.dcsOnlineList异常 问题id={}", problemFi.getId(), e); + } + + BasDeviceVo.DcsOnlineVo dcsOnlineVo = new BasDeviceVo.DcsOnlineVo(); + dcsOnlineVo.setDcsSimpleVo(simpleVo); + dcsOnlineVo.setOnlineSimpleVo(outletSimpleVo); + return dcsOnlineVo; + }).collect(Collectors.toList()); + } + + /** + * 获取问题关联的分表计电点位vo + * @param problemFi + * @return + */ + private List getDeviceSiteSimpleVo(AmProblemFi problemFi) { + Map> elecDeviceSiteMap = null; + try { + Map extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + List> elecDeviceSiteList = (List>) extra.get("elecDeviceSiteList"); + if (elecDeviceSiteList == null) { + return null; + } + elecDeviceSiteMap = elecDeviceSiteList.stream().collect(Collectors.toMap(o -> (String) o.get("deviceSiteId"), o -> o)); + } catch (Exception e) { + log.info("解析extra.elecDeviceSiteList异常 问题id={}", problemFi.getId(), e); + } + if (elecDeviceSiteMap != null && elecDeviceSiteMap.size() > 0) { + List sites = basDeviceSiteMapper.selectList(new QueryWrapper().in("id", elecDeviceSiteMap.keySet()).orderByAsc("device_id", "id")); + Map> finalElecDeviceSiteMap = elecDeviceSiteMap; + + return sites.stream().map(o -> { + BasDeviceSiteVo.SimpleVo simpleVo = new BasDeviceSiteVo.SimpleVo(); + BeanUtils.copyProperties(o, simpleVo); + try { + Map map = finalElecDeviceSiteMap.get(o.getId()); + List params = (List) map.get("params"); + simpleVo.setPollutantVos( + params.stream().map(paramCode -> { + AmProblemFiVo.PollutantVo pollutantVo = new AmProblemFiVo.PollutantVo(); + pollutantVo.setProp(paramCode); + // 设置标记区域 + if (StringUtils.isNotEmpty(problemFi.getProblemStartTime()) && + StringUtils.isNotEmpty(problemFi.getProblemEndTime())) { + EChartsVO.MarkArea markArea = new EChartsVO.MarkArea(new ArrayList<>()); + + Map map1 = new HashMap<>(); + map1.put("xAxis", DateUtils.format("QH", problemFi.getProblemStartTime())); + Map map2 = new HashMap<>(); + map2.put("xAxis", DateUtils.format("QH", problemFi.getProblemEndTime())); + + markArea.getData().add(Arrays.asList(map1, map2)); + pollutantVo.setMarkArea(markArea); + } + return pollutantVo; + }).collect(Collectors.toList()) + ); + } catch (Exception e) { + simpleVo.setPollutantVos(new ArrayList<>()); + } + return simpleVo; + }).collect(Collectors.toList()); + } + return null; + } + + @Override + public IProductionManageService.FrameDataVo detail002(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + AmProblemFi problemFi = getById(id); + + IProductionManageService.SearchVo searchVo = new IProductionManageService.SearchVo(startTime, endTime, pageNum, pageSize); + + // 设置关联的dcs点位 + searchVo.setDeviceSimpleVo(getDeviceSimpleVo(problemFi)); + + return productionManageService.getFrameData(searchVo); + } + + @Override + public EChartsVO detail003004(String id, String startTime, String endTime) { + AmProblemFi problemFi = getById(id); + + if (problemFi == null) { + throw new BussinessException("关联分析问题不存在,id=" + id); + } + + Map extra = null; + try { + extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + } catch (Exception e) { + log.info("解析extra异常 问题id={}", id, e); + } + + EChartsVO vo = new EChartsVO(); + vo.setXData(new ArrayList<>()); + vo.setSeries(new ArrayList<>()); + + if (extra != null) { + String type = (String) extra.get("type"); + String pollutantCode = (String) extra.get("pollutantCode"); + String allowableValue = (String) extra.get("allowableValue"); + String factoryId = problemFi.getFactoryId(); + + if ("water".equals(type)) { + SRaOnlineEmissionsWaterQuery.CharDataSearchVo searchVo = new SRaOnlineEmissionsWaterQuery.CharDataSearchVo(factoryId, startTime, endTime, pollutantCode, allowableValue); + vo = onlineEmissionsWaterService.getChartData(searchVo); + } else if ("gas".equals(type)) { + SRaOnlineEmissionsGasQuery.CharDataSearchVo searchVo = new SRaOnlineEmissionsGasQuery.CharDataSearchVo(factoryId, startTime, endTime, pollutantCode, allowableValue); + vo = onlineEmissionsGasService.getChartData(searchVo); + } + } + return vo; + } + + @Override + public EChartsVO detail003002(String id, String startTime, String endTime) { + AmProblemFi problemFi = getById(id); + if (problemFi == null) { + throw new BussinessException("关联分析问题不存在,id=" + id); + } + EChartsVO vo = new EChartsVO(); + vo.setXData(new ArrayList<>()); + vo.setSeries(new ArrayList<>()); + + PcOutlet onlinePoint = outletMapper.selectById(problemFi.getStationId()); + + // 监测点不存在返回空数据 + if (onlinePoint == null) { + return vo; + } + + Map extra = null; + try { + extra = JSON.parseObject(problemFi.getExtra(), new TypeReference>() { + }); + } catch (Exception e) { + log.info("解析extra异常 问题id={}", id, e); + } + String pollutantCode = extra != null ? (String) extra.get("pollutantCode") : null; + Object allowableValue = extra != null ? extra.get("allowableValue") : null; + + // 设置标准值标记线 + EChartsVO.MarkLine markLine = new EChartsVO.MarkLine(new ArrayList<>()); + if (allowableValue != null && StringUtils.isNotEmpty(allowableValue.toString())) { + + Map labelMap = new HashMap<>(); + labelMap.put("formatter", "{b}: {c}"); + + markLine.getData().add( + new HashMap() {{ + put("name", "标准值"); + put("yAxis", new BigDecimal(allowableValue.toString()).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); + put("label", labelMap); + }} + ); + } + + // 废气监测点 + if ("4".equals(onlinePoint.getPollutantType()) && "1".equals(onlinePoint.getPollutantOutletType())) { + SEnvGasMonRealQuery query = new SEnvGasMonRealQuery(); + query.setDataType("003002".equals(problemFi.getProblemType()) ? "H" : "M"); + query.setOutletId(onlinePoint.getId()); + query.setMonitoringStartTime(startTime); + query.setMonitoringEndTime(endTime); + + // 根据污染物code获取在线监测的参数 + SEnvGasMonRealServiceImpl.PollutantEnum pollutantEnum = SEnvGasMonRealServiceImpl.PollutantEnum.getByCode(pollutantCode); + if (pollutantEnum == null) { + return vo; + } else { + AmProblemFiVo.PollutantVo pvo = new AmProblemFiVo.PollutantVo(); + pvo.setProp(pollutantEnum.prop + "Convert"); // 查询折算值的曲线图数据 + pvo.setMarkLine(markLine); + + query.setPollutantVos(Arrays.asList(pvo)); + } + vo = envGasMonRealService.getCharData(query); + } else if ("4".equals(onlinePoint.getPollutantType()) && "2".equals(onlinePoint.getPollutantOutletType())) { // 废水监测点 + SEnvWaterMonRealQuery query = new SEnvWaterMonRealQuery(); + query.setDataType("003002".equals(problemFi.getProblemType()) ? "H" : "M"); + query.setOutletId(onlinePoint.getId()); + query.setMonitoringStartTime(startTime); + query.setMonitoringEndTime(endTime); + + // 根据污染物code获取在线监测的参数 + SEnvWaterMonRealServiceImpl.PollutantEnum pollutantEnum = SEnvWaterMonRealServiceImpl.PollutantEnum.getByCode(pollutantCode); + if (pollutantEnum == null) { + return vo; + } else { + AmProblemFiVo.PollutantVo pvo = new AmProblemFiVo.PollutantVo(); + pvo.setProp(pollutantEnum.prop); + pvo.setMarkLine(markLine); + query.setPollutantVos(Arrays.asList(pvo)); + } + vo = envWaterMonRealService.getCharData(query); + } + return vo; + } + + @Override + public IProductionManageService.FrameDataVo dcsElec(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + AmProblemFi problemFi = getById(id); + + IProductionManageService.SearchVo searchVo = new IProductionManageService.SearchVo(startTime, endTime, pageNum, pageSize); + + // 设置关联的dcs点位 + searchVo.setDeviceSimpleVo(getDeviceSimpleVo(problemFi)); + + // 设置关联的分表计电点位 + searchVo.setDeviceSiteSimpleVo(getDeviceSiteSimpleVo(problemFi)); + return productionManageService.getFrameData(searchVo); + } + + @Override + public List getProblemTypeCount(String problemType) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() != R.SUCCESS) { + return new ArrayList<>(); + } + + AmProblemFiQuery.ChartDataParam param = new AmProblemFiQuery.ChartDataParam(); + param.setProblemTypeStartWith(problemType); + + // 按照问题类型分组,统计数量 + List> data = amProblemFiMapper.selectChartData(param, r.getData()); + + return data.stream().map(o -> { + AmProblemFiVo.CountVo countVo = new AmProblemFiVo.CountVo(); + countVo.setCount((Long) o.get("count")); + countVo.setName((String) o.get("problemTypeName")); + return countVo; + }).collect(Collectors.toList()); + } + + /** + * 根据问题类型和时间段返回数据 + * + * @param problemType + * @param dateStr + * @param dateStrEnd + * @return + */ + @Override + public List getProblemByTypeAndTime(String problemType, String dateStr, String dateStrEnd) { + return amProblemFiMapper.getProblemByTypeAndTime(problemType, dateStr, dateStrEnd); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void rectifyRequired(AmProblemFiProcess param) { + Assert.hasText(param.getProblemId(), "问题ID必填"); + Assert.hasText(param.getProcessUserName(), "处理人必填"); + Assert.notNull(param.getRectifyLimitStartTime(), "整改期限必填"); + Assert.notNull(param.getRectifyLimitEndTime(), "整改期限必填"); + Assert.notNull(param.getProblemAuditType(), "问题审核人类型必填"); + Assert.notNull(param.getFlownodeId(), "问题流程ID必填"); + final AmProblemFi problemFi = getById(param.getProblemId()); + Assert.notNull(problemFi, "问题不存在"); + problemFi.setProblemStatus(AmProblemStatusEnum.WAIT_RECTIFY.getValue()); + problemFi.setProblemAuditType(AmProblemAuditTypeEnum.valueOfByValue(param.getProblemAuditType()).getValue()); + problemFi.setRectifyLimitStartTime(param.getRectifyLimitStartTime()); + problemFi.setRectifyLimitEndTime(param.getRectifyLimitEndTime()); + problemFi.setFlownodeId(param.getFlownodeId()); + problemFi.setIsShow("1"); + problemFi.setType(1); + updateById(problemFi); + param.setProcessType(AmProblemProcessTypeEnum.V1.getValue()); + param.setProcessTypeDesc(AmProblemProcessTypeEnum.V1.getDesc()); + param.setCreateTime(new Date()); + param.setUpdateTime(new Date()); + amProblemFiProcessService.save(param); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void rectifySave(AmProblemFiProcess param) { + Assert.hasText(param.getProblemId(), "问题ID必填"); + Assert.hasText(param.getProcessUserName(), "处理人必填"); + Assert.notNull(param.getRectifyTime(), "整改完成时间必填"); + Assert.notNull(param.getRectifyRemark(), "整改描述必填"); + Assert.notNull(param.getRectifyFile(), "整改文件必填"); + AmProblemFi problemFi = getById(param.getProblemId()); + Assert.notNull(problemFi, "问题不存在"); + problemFi.setProblemStatus(AmProblemStatusEnum.WAIT_AUDIT.getValue()); + problemFi.setRectifyTime(param.getRectifyTime()); + System.out.println("执法推送企业报警数据保存======"+problemFi); + updateById(problemFi); + AmProblemFiProcess amProblemFiProcess = amProblemFiProcessService.selectByProblemId(param.getProblemId()); + if(amProblemFiProcess!=null&&amProblemFiProcess.getProcessType().equals(AmProblemProcessTypeEnum.V1.getValue())){ + param.setFlownodeId(amProblemFiProcess.getFlownodeId()); + }else { + throw new RuntimeException("请先进行整改期限"); + } + param.setProcessType(AmProblemProcessTypeEnum.V2.getValue()); + param.setProcessTypeDesc(AmProblemProcessTypeEnum.V2.getDesc()); + param.setCreateTime(new Date()); + param.setProblemId(param.getProblemId()); + param.setId(UUID.randomUUID().toString().replace("-", "")); + amProblemFiProcessService.save(param); + sendExtZg(problemFi,param); + } + + private void sendExtZg(AmProblemFi problemFi, AmProblemFiProcess param) { + Map params = new HashMap<>(); + params.put("flownodeId", param.getFlownodeId()); + params.put("problemId", param.getProblemId()); + params.put("rectCompleteTime", DateUtil.formatDate(param.getRectifyTime())); + params.put("rectInfo", param.getRectifyRemark()); + params.put("rectifyLimitStartTime", DateUtil.formatDate(param.getRectifyLimitStartTime())); + params.put("rectifyLimitEndTime", DateUtil.formatDate(param.getRectifyLimitEndTime())); + params.put("rectifyLimitSum", param.getRectifyLimitSum()); + final String rectifyFile = param.getRectifyFile(); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(rectifyFile)) { + final String names = Stream.of(rectifyFile.split(",")).map(e -> e.substring(e.lastIndexOf("/")+1)).collect(Collectors.joining(",")); + params.put("fileName", names); + params.put("fileUrl", rectifyFile); + } + params.put("processUserId", param.getProcessUserId()); + params.put("processUserName", param.getProcessUserName()); +// params.put("auditResult", param.getAuditResult()); +// params.put("failReason", param.getFailReason()); +// params.put("auditRemark", param.getAuditRemark()); + String body = JSON.toJSONString(params); + log.info("sync zg zf : {}", body); + String result = HttpUtil.createPost(zfUrl) + .auth(SecurityUtils.getToken()) + .body(body) + .execute() + .body(); + log.info("sync 响应 : {}", result); + JSONObject json = JSON.parseObject(result); + Integer code = json.getInteger(AjaxResult.CODE_TAG); + if (HttpStatus.SUCCESS != code) { + throw new BussinessException("远程调用整改同步执法系统异常 !" + zfUrl + " ," + "远程调用整改同步执法系统异常:" + result); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void auditResult(AmProblemFiProcess param) { + Assert.hasText(param.getProblemId(), "问题ID必填"); + Assert.hasText(param.getProcessUserName(), "处理人必填"); + Assert.notNull(param.getAuditResult(), "审核结果必填"); + if (AmProblemAuditResultEnum.UN_PASS.getValue().equals(param.getAuditResult())) { +// Assert.notNull(param.getFailReason(), "审核不通过原因必填"); + param.setFailReason(param.getAuditRemark()); + } + final AmProblemFi problemFi = getById(param.getProblemId()); + Assert.notNull(problemFi, "问题不存在"); + if (AmProblemAuditResultEnum.PASS.getValue().equals(param.getAuditResult())) { + problemFi.setProblemStatus(AmProblemStatusEnum.PASS.getValue()); + } else if (AmProblemAuditResultEnum.UN_PASS.getValue().equals(param.getAuditResult())) { + problemFi.setProblemStatus(AmProblemStatusEnum.UN_PASS.getValue()); + } else { + throw new IllegalArgumentException("未知的审核结果:" + param.getAuditResult()); + } + updateById(problemFi); + AmProblemFiProcess amProblemFiProcess = amProblemFiProcessService.selectByProblemId(param.getProblemId()); + //当是市局审核且上一次是分局审核的时候为true + boolean b = amProblemFiProcess != null && param.getProblemAuditType().equals(AmProblemAuditTypeEnum.SJ.getValue()) + && AmProblemAuditTypeEnum.FJ.getValue().equals(amProblemFiProcess.getProblemAuditType()); + //当上面判断为true,或者上一条为待审核时,放行 + if(amProblemFiProcess!=null&&(amProblemFiProcess.getProcessType().equals(AmProblemProcessTypeEnum.V2.getValue())||b)){ + param.setFlownodeId(amProblemFiProcess.getFlownodeId()); + }else { + throw new RuntimeException("先进行整改信息填写或已经被市局审核通过了"); + + } + param.setProcessType(AmProblemProcessTypeEnum.V3.getValue()); + param.setProcessTypeDesc(AmProblemProcessTypeEnum.V3.getDesc()); + param.setCreateTime(new Date()); + param.setUpdateTime(new Date()); + amProblemFiProcessService.save(param); +// if (AmProblemAuditTypeEnum.ZS.getValue().equals(problemFi.getProblemAuditType())) { +// sendExt(problemFi,param); +// } + } + + private void sendExt(AmProblemFi problemFi, AmProblemFiProcess param) { + final AmProblemFiProcess lastZg = amProblemFiProcessService.getOne(Wrappers.lambdaQuery() + .eq(AmProblemFiProcess::getProblemId, param.getProblemId()) + .eq(AmProblemFiProcess::getProcessType, AmProblemProcessTypeEnum.V2.getValue()) + .orderByDesc(AmProblemFiProcess::getCreateTime) + .last(" LIMIT 1 ") + ); + if (lastZg == null) { + throw new BussinessException("上次整改信息未找到"); + } + Map params = new HashMap<>(); + params.put("flownodeId", problemFi.getFlownodeId()); + params.put("problemId", param.getProblemId()); + params.put("rectCompleteTime", DateUtil.formatDate(lastZg.getRectifyTime())); + params.put("rectInfo", lastZg.getRectifyRemark()); + final String rectifyFile = lastZg.getRectifyFile(); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(rectifyFile)) { + final String names = Stream.of(rectifyFile.split(",")).map(e -> e.substring(e.lastIndexOf("/")+1)).collect(Collectors.joining(",")); + params.put("fileName", names); + params.put("fileUrl", rectifyFile); + } + params.put("processUserId", param.getProcessUserId()); + params.put("processUserName", param.getProcessUserName()); + params.put("auditResult", param.getAuditResult()); + params.put("failReason", param.getFailReason()); + params.put("auditRemark", param.getAuditRemark()); + String body = JSON.toJSONString(params); + log.info("sync zf : {}", body); + final String result = HttpUtil.createPost(zfUrl) + .auth(SecurityUtils.getToken()) + .body(body) + .execute() + .body(); + JSONObject json = JSON.parseObject(result); + Integer code = json.getInteger(AjaxResult.CODE_TAG); + if (HttpStatus.SUCCESS != code) { + throw new BussinessException("同步执法系统异常:" + result); + } + + + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void yjSign(AmProblemFiProcess param) { + Assert.hasText(param.getProblemId(), "问题ID必填"); + final AmProblemFi problemFi = getById(param.getProblemId()); + Assert.notNull(problemFi, "问题不存在"); + problemFi.setProblemStatus(AmProblemStatusEnum.PASS.getValue()); + problemFi.setSignTime(new Date()); + updateById(problemFi); + } + + @Override + public Integer countByFactoryId(String factoryId, Integer type){ + Assert.notNull(factoryId, "企业ID不存在"); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("factory_id", factoryId); + wrapper.eq("type", type); + wrapper.and(QueryWrapper -> QueryWrapper.isNull("is_show").or().like("is_show", "1")); + if(1==type){ + wrapper.isNotNull("rectify_limit_start_time"); + wrapper.isNotNull("rectify_limit_end_time"); + } + return amProblemFiMapper.selectCount(wrapper); + } + + @Override + public EChartsVO elecMerge(String id, String startTime, String endTime) { + AmProblemFi problemFi = getById(id); + + List deviceSiteSimpleVo = getDeviceSiteSimpleVo(problemFi); + + return monElecRealService.getCharData(deviceSiteSimpleVo, startTime, endTime); + } + + @Override + public Object addCause(AmProblemFi param) { + AmProblemFi byId = getById(param.getId()); + if (!AmProblemStatusEnum.PASS.getValue().equals(byId.getProblemStatus())) { + throw new BussinessException("问题状态不是签收状态"); + } + if(byId.getProblemCause() != null){ + throw new BussinessException("问题已添加原因"); + } + byId.setProblemCause(param.getProblemCause()); + byId.setProblemCauseTime(param.getProblemCauseTime()); + byId.setProblemCauseFile(param.getProblemCauseFile()); + return updateById(byId); + } + + @Override + public List> getAListOfAlerts() { + QueryWrapper sort = new QueryWrapper().orderByAsc("sort"); + sort.ne("problem_type","1"); + sort.eq("is_status","1"); + List problemTypes = problemTypeService.list(sort); + + // 转为map列表 + List> mapList = problemTypes.stream().map(o -> { + Map map = new HashMap<>(); + map.put("value", o.getId()); + map.put("label", o.getName()); + map.put("parentId", o.getParentId()); + map.put("have0", ("0").equals(o.getProblemType())); + return map; + }).collect(Collectors.toList()); + + // 以问题id为key, 转为map + Map> keyMap = mapList.stream().collect(Collectors.toMap(o -> (String) o.get("value"), o -> o)); + // 添加到父节点children属性下 + for (Map map : mapList) { + Map parent = keyMap.get((String) map.get("parentId")); + boolean b; + if (parent != null) { + List> children = (List>) parent.get("children"); + if (children == null) { + children = new ArrayList<>(); + } + b = children.stream().anyMatch(c ->(c.get("have0")!=null&&(boolean)c.get("have0"))); + children.add(map); + parent.put("children", children); + parent.put("have0",b); + } + + } + + // 返回所有顶级节点 + List> parentId = mapList.stream().filter(o -> o.get("parentId") == null).collect(Collectors.toList()); + //只保留全是预警的。去掉只有全部的级联关系的数据 + parentId = removeFalseHave0(parentId); + return parentId; + } + + @Override + public List selectStatisDataByMonth(Date startTime, Date endTime) { + return amProblemFiMapper.selectStatisDataByMonth(startTime,endTime); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean rectifyUpdate(AmProblemFiVo param) { + AmProblemFi amProblemFi=new AmProblemFi(); + BeanUtils.copyProperties(param, amProblemFi); + amProblemFi.setProblemStatus(AmProblemStatusEnum.WAIT_RECTIFY.getValue()); + baseMapper.updateById(amProblemFi); + AmProblemFiProcess process = new AmProblemFiProcess(); + process.setId(UuidUtils.generateUuid()); + process.setProblemId(param.getId()); + process.setProcessType(AmProblemProcessTypeEnum.V1.getValue()); + process.setProcessTypeDesc(AmProblemProcessTypeEnum.V1.getDesc()); + process.setProcessUserId(SecurityUtils.getLoginUser().getSysUser().getUserId().toString()); + process.setProcessUserName(SecurityUtils.getLoginUser().getSysUser().getNickName()); + process.setRectifyLimitStartTime(param.getRectifyLimitStartTime()); + process.setRectifyLimitEndTime(param.getRectifyLimitEndTime()); + process.setRectifyLimitSum(param.getRectifyLimitSum()); + process.setCreateTime(new Date()); + process.setFlownodeId(UuidUtils.generateUuid()); +// executorService.submit(() -> { + // 在新线程中调用 method2 方法 + sendExtZg(amProblemFi,process); +// }); + return amProblemFiProcessService.save(process); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmVideoDevFiServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmVideoDevFiServiceImpl.java new file mode 100644 index 0000000..97feb38 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AmVideoDevFiServiceImpl.java @@ -0,0 +1,386 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.AmVideoDevFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.MAmVideoInfoOperationLog; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.AmVideoDevFiMapper; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.mapper.MAmVideoInfoOperationLogMapper; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.system.api.domain.SysUser; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.export.AmVideoDevFiExport; +import cn.cecep.talroad.vo.homepage.OverviewVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.ProportionVideoMonitorsVo; +import cn.cecep.talroad.vo.homepage.VideoMonitoringIssuesVo; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.math.RoundingMode; +import java.sql.Timestamp; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 视频监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +@Slf4j +public class AmVideoDevFiServiceImpl extends ServiceImpl implements IAmVideoDevFiService +{ + @Autowired + private AmVideoDevFiMapper amVideoDevFiMapper; + + @Autowired + private BasDeviceMapper basDeviceMapper; + + + /** + * 查询视频监控列表 + * + * @param amVideoDevFi 视频监控 + * @return 视频监控 + */ + @Override + public List selectAmVideoDevFiList(AmVideoDevFi amVideoDevFi) + { + return amVideoDevFiMapper.selectAmVideoDevFiList(amVideoDevFi); + } + @Override + public List selectAmVideoDevFiExportList(AmVideoDevFi amVideoDevFi) + { + return amVideoDevFiMapper.selectAmVideoDevFiExportList(amVideoDevFi); + } + + @Override + public List selectAmVideoDevFiSelectList(@Param("ew") QueryWrapper queryWrapper) + { + return amVideoDevFiMapper.selectAmVideoDevFiSelectList(queryWrapper); + } + + @Override + public List selectAmVideoDevFiSelectXkList(@Param("ew") QueryWrapper queryWrapper) + { + return amVideoDevFiMapper.selectAmVideoDevFiSelectXkList(queryWrapper); + } + + @Autowired + private MAmVideoInfoOperationLogMapper mAmVideoInfoOperationLogMapper; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 2023年4月30日12:15:46 + * 郝庆玉 + * @param amVideoDevFi + * @return 视频设备修改排污许可设备信息记录日志 + */ + @Override + public IPage getMAmVideoInfoOperationLogList(AmVideoDevFiQuery amVideoDevFi) + { + Page page = new Page<>(amVideoDevFi.getPageNum(), amVideoDevFi.getPageSize()); + List list = mAmVideoInfoOperationLogMapper.selectListByParam(page, amVideoDevFi, + org.apache.commons.lang3.StringUtils.isEmpty(amVideoDevFi.getStartTime()) ? null : Timestamp.valueOf(amVideoDevFi.getStartTime()), + org.apache.commons.lang3.StringUtils.isEmpty(amVideoDevFi.getEndTime()) ? null : Timestamp.valueOf(amVideoDevFi.getEndTime())); + page.setRecords(list); + return page; + } + + + @Override + public IPage selectDeviceNameById(Page page, @Param("ew") QueryWrapper queryWrapper){ + return amVideoDevFiMapper.selectDeviceNameById(page,queryWrapper); + } + + @Override + public List getGroupList(AmVideoDevFiQuery amVideoDevFi) { + List videoDevFis = list(AmVideoDevFiQuery.createLambdaQueryWrapper(amVideoDevFi)) + .stream().map(o -> { + AmVideoDevFiVo vo = new AmVideoDevFiVo(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + if (videoDevFis.isEmpty()) { + return new ArrayList<>(); + } + return group(videoDevFis); + } + + @Override + public List getGroupList(String factoryId, String outletId, List deviceIds) { + // 根据产治排的设备,找到关联的排污许可设备 + List xkDeviceIds = null; + + if (CollectionUtils.isNotEmpty(deviceIds)) { + List basDevices = basDeviceMapper.selectBatchIds(deviceIds); + if (basDevices.size() > 0) { + Set pollutantCodes = new HashSet<>(); + for (BasDevice basDevice : basDevices) { + if (basDevice.getElecdcsPollutantRelations() != null) { + String[] split = basDevice.getElecdcsPollutantRelations().split(","); + for (String s : split) { + if (StringUtils.isNotBlank(s)) { + pollutantCodes.add(s); + } + } + } + } + List xvDevList = basDeviceMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).in("pollutant_code", pollutantCodes)); + xkDeviceIds = xvDevList.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + } + } + if (StringUtils.isBlank(outletId) && CollectionUtils.isEmpty(xkDeviceIds)) { + return new ArrayList<>(); + } + List videoDevFis = amVideoDevFiMapper.selectByOutletAndDeviceIds(outletId, xkDeviceIds); + return group(videoDevFis); + } + + private List group(List videoDevFis) { + // 视频分组 + return videoDevFis.stream() + .collect(Collectors.groupingBy(o -> StringUtils.isBlank(o.getDevType()) ? "默认分组" : o.getDevType(), LinkedHashMap::new, Collectors.toList())) + .entrySet().stream().map(o -> { + AmVideoDevFiVo.DevTypeGroup group = new AmVideoDevFiVo.DevTypeGroup(); + group.setName(o.getKey()); + group.setVideoDevFiVos(o.getValue()); + return group; + }).collect(Collectors.toList()); + } + + @Override + public AmVideoDevFiVo getInfo(Long id) { + AmVideoDevFi source = getById(id); + AmVideoDevFiVo vo = new AmVideoDevFiVo(); + BeanUtils.copyProperties(source, vo); + return vo; + } + + /** + * 2023年4月30日12:10:16 + * @Auth hqy + * 视频绑定排污许可设备日志信息 + * @param aeList + * @param adList + */ + @Override + public void saveLog(List aeList, List adList) { + List list = new ArrayList<>(); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + Date date = new Date(); + for(int i =0;i regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + OverviewVideoMonitorsVo monitorsVo=new OverviewVideoMonitorsVo(); + monitorsVo.setVideoEnterprise(amVideoDevFiMapper.overviewVideoMonitors("1",regionCodes)); + monitorsVo.setVideoNumber(amVideoDevFiMapper.overviewVideoMonitors("2", regionCodes)); + monitorsVo.setAccessControlEnterprise(amVideoDevFiMapper.overviewVideoMonitors("3", regionCodes)); + monitorsVo.setAccessControlNumber(amVideoDevFiMapper.overviewVideoMonitors("4", regionCodes)); + return monitorsVo; + } + + @Override + public EChartsVO proportionExitTypes(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + query.setRegionCodes(regionCodes); + ProportionVideoMonitorsVo monitorsVo=amVideoDevFiMapper.proportionExitTypes(query); + BigDecimal total = monitorsVo.getVideoNumber().add(monitorsVo.getVideoEnterprise()).add(monitorsVo.getAccessControlEnterprise()).add(monitorsVo.getAccessControlNumber()); + EChartsVO eChartsVO=new EChartsVO(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("新能源"); + ser.setValues(new ArrayList<>()); + if(total.compareTo(BigDecimal.ZERO)>0){ + ser.setUnit(monitorsVo.getVideoEnterprise().divide(total,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%"); + }else { + ser.setUnit("0%"); + } + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("国六"); + ser1.setValues(new ArrayList<>()); + if(total.compareTo(BigDecimal.ZERO)>0) { + ser1.setUnit(monitorsVo.getVideoNumber().divide(total, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString() + "%"); + }else { + ser1.setUnit("0%"); + } + items.add(ser1); + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("国五"); + ser2.setValues(new ArrayList<>()); + if(total.compareTo(BigDecimal.ZERO)>0) { + ser2.setUnit(monitorsVo.getAccessControlEnterprise().divide(total, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString() + "%"); + }else { + ser2.setUnit("0%"); + } + items.add(ser2); + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("国四及以下"); + ser3.setValues(new ArrayList<>()); + if(total.compareTo(BigDecimal.ZERO)>0) { + ser3.setUnit(monitorsVo.getAccessControlNumber().divide(total, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString() + "%"); + }else { + ser3.setUnit("0%"); + } + items.add(ser3); + items.get(0).getValues().add(monitorsVo.getVideoEnterprise()); + items.get(1).getValues().add(monitorsVo.getVideoNumber()); + items.get(2).getValues().add(monitorsVo.getAccessControlEnterprise()); + items.get(3).getValues().add(monitorsVo.getAccessControlNumber()); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public EChartsVO trendsVehicleEmissionTypes(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + query.setRegionCodes(regionCodes); + List monitorsVo=amVideoDevFiMapper.trendsVehicleEmissionTypes(query); + EChartsVO eChartsVO=new EChartsVO(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("新能源"); + ser.setUnit("辆"); + ser.setValues(new ArrayList<>()); + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("国六"); + ser1.setUnit("辆"); + ser1.setValues(new ArrayList<>()); + items.add(ser1); + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("国五"); + ser2.setUnit("辆"); + ser2.setValues(new ArrayList<>()); + items.add(ser2); + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("国四及以下"); + ser3.setUnit("辆"); + ser3.setValues(new ArrayList<>()); + items.add(ser3); + List list=new ArrayList<>(); + monitorsVo.forEach(item->{ + list.add(DateUtil.format(item.getEaTime(), DatePattern.NORM_DATE_PATTERN)); + items.get(0).getValues().add(item.getVideoEnterprise()); + items.get(1).getValues().add(item.getVideoNumber()); + items.get(2).getValues().add(item.getAccessControlEnterprise()); + items.get(3).getValues().add(item.getAccessControlNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List videoMonitoringIssues() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + return amVideoDevFiMapper.videoMonitoringIssues(regionCodes); + } + + @Override + public List otherEnterpriseMonitoringVideos() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + return amVideoDevFiMapper.otherEnterpriseMonitoringVideos(regionCodes); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AppVersionAddressManagementServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AppVersionAddressManagementServiceImpl.java new file mode 100644 index 0000000..83c4b96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/AppVersionAddressManagementServiceImpl.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AppVersionAddressManagement; +import cn.cecep.talroad.mapper.AppVersionAddressManagementMapper; +import cn.cecep.talroad.service.IAppVersionAddressManagementService; +import cn.cecep.talroad.util.QrCodeUtils; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +@Service +public class AppVersionAddressManagementServiceImpl extends ServiceImpl implements IAppVersionAddressManagementService { + + + /** + * 展示 base64格式的图片 所需前缀 + */ + private String BASE64_CODE_PREFIX = "data:image/jpg;base64,"; + + + /** + * 是否生产 0: 测试 1: 生产 默认为生产 + */ + private Integer isDebugThis = 1; + + @Override + public AppVersionAddressManagement findUpToDateVersionAddress(Integer isDebug) { + return baseMapper.findUpToDateVersionAddress(isDebug); + } + + @Override + public Object generateAppAddressQrCode(String url, String logUrl, Integer isDebug, String ipOrigin) throws Exception { + if (isDebug != null) { + isDebugThis = isDebug; + } + //查询最新apk地址 + AppVersionAddressManagement versionAddress = baseMapper.findUpToDateVersionAddress(isDebugThis); + if (ObjectUtil.isNull(versionAddress)) { + return "没有生产的任何版本的apk"; + } + + //是否指定链接 默认为apk的链接 + if (StringUtils.isEmpty(url) && StringUtils.isEmpty(ipOrigin) ) { + url = versionAddress.getDownloadUrl(); + } + + // TODO 暂无 内嵌log图片 没有访问的图片 默认不加 + if (StringUtils.isEmpty(logUrl)) { + logUrl = versionAddress.getLogImgUrl(); + } + + String encode = QrCodeUtils.createQrCodeBase64Encode(url, StrUtil.isNotEmpty(logUrl)? FileUtil.file(logUrl): null, true); + return BASE64_CODE_PREFIX + encode; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrBusinessAlertsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrBusinessAlertsServiceImpl.java new file mode 100644 index 0000000..ba979df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrBusinessAlertsServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseIrBusinessAlerts; +import cn.cecep.talroad.mapper.BEnterpriseIrBusinessAlertsMapper; +import cn.cecep.talroad.service.IBEnterpriseIrBusinessAlertsService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.List; +import java.util.Map; + + + + +/** + * 通知提醒-业务提醒Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrBusinessAlertsServiceImpl extends ServiceImpl implements IBEnterpriseIrBusinessAlertsService +{ + @Autowired + private BEnterpriseIrBusinessAlertsMapper bEnterpriseIrBusinessAlertsMapper; + + /** + * 查询通知提醒-业务提醒列表 + * + * @param bEnterpriseIrBusinessAlerts 通知提醒-业务提醒 + * @return 通知提醒-业务提醒 + */ + @Override + public List selectBEnterpriseIrBusinessAlertsList(BEnterpriseIrBusinessAlerts bEnterpriseIrBusinessAlerts) + { + bEnterpriseIrBusinessAlerts.setDelFlag("0"); + return bEnterpriseIrBusinessAlertsMapper.selectBEnterpriseIrBusinessAlertsList(bEnterpriseIrBusinessAlerts); + } + + @Override + public List> selectOptions(String factoryId) { + return bEnterpriseIrBusinessAlertsMapper.selectOptions(factoryId); + } + + @Override + public Integer countByFactoryId(String factoryId){ + Assert.notNull(factoryId, "企业ID不存在"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("factory_id", factoryId); + return bEnterpriseIrBusinessAlertsMapper.selectCount(wrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesServiceImpl.java new file mode 100644 index 0000000..83acac7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseIrEes; +import cn.cecep.talroad.mapper.BEnterpriseIrEesMapper; +import cn.cecep.talroad.service.IBEnterpriseIrEesService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 知识库-生态环境标准Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrEesServiceImpl extends ServiceImpl implements IBEnterpriseIrEesService +{ + @Autowired + private BEnterpriseIrEesMapper bEnterpriseIrEesMapper; + + /** + * 查询知识库-生态环境标准列表 + * + * @param bEnterpriseIrEes 知识库-生态环境标准 + * @return 知识库-生态环境标准 + */ + @Override + public List selectBEnterpriseIrEesList(BEnterpriseIrEes bEnterpriseIrEes) + { + return bEnterpriseIrEesMapper.selectBEnterpriseIrEesList(bEnterpriseIrEes); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesTypeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesTypeServiceImpl.java new file mode 100644 index 0000000..03ce6c4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrEesTypeServiceImpl.java @@ -0,0 +1,128 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrEesType; +import cn.cecep.talroad.mapper.BEnterpriseIrEesTypeMapper; +import cn.cecep.talroad.service.IBEnterpriseIrEesTypeService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 知识库-生态环境标准-分类Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrEesTypeServiceImpl extends ServiceImpl implements IBEnterpriseIrEesTypeService +{ + @Autowired + private BEnterpriseIrEesTypeMapper bEnterpriseIrEesTypeMapper; + + /** + * 查询知识库-生态环境标准-分类列表 + * + * @param bEnterpriseIrEesType 知识库-生态环境标准-分类 + * @return 知识库-生态环境标准-分类 + */ + @Override + public List selectBEnterpriseIrEesTypeList(BEnterpriseIrEesType bEnterpriseIrEesType) + { + return bEnterpriseIrEesTypeMapper.selectBEnterpriseIrEesTypeList(bEnterpriseIrEesType); + } + + @Override + public List selectTreeList(String eesClassify) { + List bEnterpriseIrEesTypes = bEnterpriseIrEesTypeMapper.selectList(new QueryWrapper<>()); + return StringUtils.isNotEmpty(eesClassify) ? getChildPerms(bEnterpriseIrEesTypes, eesClassify) : buildIrEesTree(bEnterpriseIrEesTypes); + } + + /** + * 根据父节点的ID获取所有子节点 + * + * @param list 分类表 + * @param parentId 传入的父节点ID + * @return String + */ + public List getChildPerms(List list, String parentId) + { + List returnList = new ArrayList(); + for (Iterator iterator = list.iterator(); iterator.hasNext();) + { + BEnterpriseIrEesType t = (BEnterpriseIrEesType) iterator.next(); + // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 + if (StringUtils.equals(t.getEesTitle(), parentId)) + { + recursionFn(list, t); + returnList.add(t); + } + } + return returnList; + } + + /** + * 构建前端所需要树结构 + * + * @param irEesList 列表 + * @return 树结构列表 + */ + public List buildIrEesTree(List irEesList) + { + List returnList = new ArrayList<>(); + List tempList = irEesList.stream().map(BEnterpriseIrEesType::getEesClassify).collect(Collectors.toList()); + + for (BEnterpriseIrEesType irEesType : irEesList) { + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(irEesType.getEesTitle())) { + recursionFn(irEesList, irEesType); + returnList.add(irEesType); + } + } + + if (returnList.isEmpty()) { + returnList = irEesList; + } + return returnList; + } + + /** + * 递归列表 + */ + private void recursionFn(List list, BEnterpriseIrEesType t) + { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (BEnterpriseIrEesType tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, BEnterpriseIrEesType t) { + List tlist = new ArrayList<>(); + for (BEnterpriseIrEesType n : list) { + if (StringUtils.isNotNull(n.getEesTitle()) && StringUtils.equals(n.getEesTitle(), t.getEesClassify())) { + tlist.add(n); + } + } + return tlist; + } + + private boolean hasChild(List list, BEnterpriseIrEesType t) { + return getChildList(list, t).size() > 0; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrLegalServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrLegalServiceImpl.java new file mode 100644 index 0000000..ad7208b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrLegalServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseIrLegal; +import cn.cecep.talroad.mapper.BEnterpriseIrLegalMapper; +import cn.cecep.talroad.service.IBEnterpriseIrLegalService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 知识库-法律法规Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrLegalServiceImpl extends ServiceImpl implements IBEnterpriseIrLegalService +{ + @Autowired + private BEnterpriseIrLegalMapper bEnterpriseIrLegalMapper; + + /** + * 查询知识库-法律法规列表 + * + * @param bEnterpriseIrLegal 知识库-法律法规 + * @return 知识库-法律法规 + */ + @Override + public List selectBEnterpriseIrLegalList(BEnterpriseIrLegal bEnterpriseIrLegal) + { + return bEnterpriseIrLegalMapper.selectBEnterpriseIrLegalList(bEnterpriseIrLegal); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrNotifierproNoticeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrNotifierproNoticeServiceImpl.java new file mode 100644 index 0000000..f9e6b8e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrNotifierproNoticeServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import cn.cecep.talroad.mapper.BEnterpriseIrNotifierproNoticeMapper; +import cn.cecep.talroad.service.IBEnterpriseIrNotifierproNoticeService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.List; +import java.util.Map; + + + + +/** + * 通知提醒-通知公告Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrNotifierproNoticeServiceImpl extends ServiceImpl implements IBEnterpriseIrNotifierproNoticeService +{ + @Autowired + private BEnterpriseIrNotifierproNoticeMapper bEnterpriseIrNotifierproNoticeMapper; + + /** + * 查询通知提醒-通知公告列表 + * + * @param bEnterpriseIrNotifierproNotice 通知提醒-通知公告 + * @return 通知提醒-通知公告 + */ + @Override + public List selectBEnterpriseIrNotifierproNoticeList(BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice) + { + bEnterpriseIrNotifierproNotice.setDelFlag("1"); + return bEnterpriseIrNotifierproNoticeMapper.selectBEnterpriseIrNotifierproNoticeList(bEnterpriseIrNotifierproNotice); + } + + @Override + public List> selectOptions(String factoryId) { + return bEnterpriseIrNotifierproNoticeMapper.selectOptions(factoryId); + } + + @Override + public Integer countByFactoryId(String factoryId){ + Assert.notNull(factoryId, "企业ID不存在"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("factory_id", factoryId); + return bEnterpriseIrNotifierproNoticeMapper.selectCount(wrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrSdoeptServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrSdoeptServiceImpl.java new file mode 100644 index 0000000..81c4702 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseIrSdoeptServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseIrSdoept; +import cn.cecep.talroad.mapper.BEnterpriseIrSdoeptMapper; +import cn.cecep.talroad.service.IBEnterpriseIrSdoeptService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 知识库-排污治理科普库Service业务层处理 + * + * @author szhpt + * @date 2023-03-14*/ +@Service +public class BEnterpriseIrSdoeptServiceImpl extends ServiceImpl implements IBEnterpriseIrSdoeptService +{ + @Autowired + private BEnterpriseIrSdoeptMapper bEnterpriseIrSdoeptMapper; + + /** + * 查询知识库-排污治理科普库列表 + * + * @param bEnterpriseIrSdoept 知识库-排污治理科普库 + * @return 知识库-排污治理科普库 + */ + @Override + public List selectBEnterpriseIrSdoeptList(BEnterpriseIrSdoept bEnterpriseIrSdoept) + { + return bEnterpriseIrSdoeptMapper.selectBEnterpriseIrSdoeptList(bEnterpriseIrSdoept); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseRiskAssessmentServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseRiskAssessmentServiceImpl.java new file mode 100644 index 0000000..e2e2b11 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BEnterpriseRiskAssessmentServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BEnterpriseRiskAssessment; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessmentLast; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.mapper.BEnterpriseRiskAssessmentLastMapper; +import cn.cecep.talroad.mapper.BEnterpriseRiskAssessmentMapper; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.service.BEnterpriseRiskAssessmentService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +@Service +public class BEnterpriseRiskAssessmentServiceImpl implements BEnterpriseRiskAssessmentService { + + @Autowired + private BEnterpriseRiskAssessmentMapper bEnterpriseRiskAssessmentMapper; + + @Autowired + private BEnterpriseRiskAssessmentLastMapper bEnterpriseRiskAssessmentLastMapper; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Override + public Map getLastInfo(String factoryId) { + Map map = new HashMap<>(); + List list = bEnterpriseRiskAssessmentLastMapper.selectListByFactoryId(factoryId); + map.put("list",list); + map.put("score", Optional.ofNullable(pcFactoryMapper.selectOne(new LambdaQueryWrapper().eq(PcFactory::getId,factoryId))).orElse(new PcFactory()).getScore()); + if (CollectionUtils.isEmpty(list) && map.get("score") == null) { + map.put("score",100); + } + return map; + } + + @Override + public BEnterpriseRiskAssessment getInfo(String factoryId) { + return bEnterpriseRiskAssessmentMapper.selectOne(new QueryWrapper().eq("factory_id", factoryId).orderByDesc("create_time").last("limit 1")); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainActionReportsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainActionReportsServiceImpl.java new file mode 100644 index 0000000..89b8b8a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainActionReportsServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainActionReports; +import cn.cecep.talroad.mapper.BMainActionReportsMapper; +import cn.cecep.talroad.service.IBMainActionReportsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 执行报告Service业务层处理 + * + * @author szhpt + * @date 2023-01-11*/ +@Service +public class BMainActionReportsServiceImpl extends ServiceImpl implements IBMainActionReportsService +{ + @Autowired + private BMainActionReportsMapper bMainActionReportsMapper; + + /** + * 查询执行报告列表 + * + * @param bMainActionReports 执行报告 + * @return 执行报告 + */ + @Override + public List selectBMainActionReportsList(BMainActionReports bMainActionReports) + { + return bMainActionReportsMapper.selectBMainActionReportsList(bMainActionReports); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionAirServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionAirServiceImpl.java new file mode 100644 index 0000000..374bd31 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionAirServiceImpl.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import cn.cecep.talroad.mapper.BMainAllowablePollutionAirMapper; +import cn.cecep.talroad.service.IBMainAllowablePollutionAirService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 总许可量-大气排放总许可量要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainAllowablePollutionAirServiceImpl extends ServiceImpl implements IBMainAllowablePollutionAirService +{ + @Autowired + private BMainAllowablePollutionAirMapper bMainAllowablePollutionAirMapper; + + /** + * 查询总许可量-大气排放总许可量要求列表 + * + * @param bMainAllowablePollutionAir 总许可量-大气排放总许可量要求 + * @return 总许可量-大气排放总许可量要求 + */ + @Override + public List selectBMainAllowablePollutionAirList(BMainAllowablePollutionAir bMainAllowablePollutionAir) + { + return bMainAllowablePollutionAirMapper.selectBMainAllowablePollutionAirList(bMainAllowablePollutionAir); + } + + @Override + public IPage selectBMainAllowablePollutionAirPageList(Page page, QueryWrapper lambdaQueryWrapper) { + return bMainAllowablePollutionAirMapper.selectBMainAllowablePollutionAirPageList(page, lambdaQueryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionWaterServiceImpl.java new file mode 100644 index 0000000..ed0ecbf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainAllowablePollutionWaterServiceImpl.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import cn.cecep.talroad.mapper.BMainAllowablePollutionWaterMapper; +import cn.cecep.talroad.service.IBMainAllowablePollutionWaterService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 总许可量- 废水排放总许可量要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainAllowablePollutionWaterServiceImpl extends ServiceImpl implements IBMainAllowablePollutionWaterService +{ + @Autowired + private BMainAllowablePollutionWaterMapper bMainAllowablePollutionWaterMapper; + + /** + * 查询总许可量- 废水排放总许可量要求列表 + * + * @param bMainAllowablePollutionWater 总许可量- 废水排放总许可量要求 + * @return 总许可量- 废水排放总许可量要求 + */ + @Override + public List selectBMainAllowablePollutionWaterList(BMainAllowablePollutionWater bMainAllowablePollutionWater) + { + return bMainAllowablePollutionWaterMapper.selectBMainAllowablePollutionWaterList(bMainAllowablePollutionWater); + } + + @Override + public IPage selectBMainAllowablePollutionWaterPageList(Page page, QueryWrapper lambdaQueryWrapper) { + return bMainAllowablePollutionWaterMapper.selectBMainAllowablePollutionWaterPageList(page, lambdaQueryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonAirServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonAirServiceImpl.java new file mode 100644 index 0000000..e1341ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonAirServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonAir; +import cn.cecep.talroad.mapper.BMainEmissionOnlineMonAirMapper; +import cn.cecep.talroad.service.IBMainEmissionOnlineMonAirService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业排放信息-在线监测排放趋势-废气Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionOnlineMonAirServiceImpl extends ServiceImpl implements IBMainEmissionOnlineMonAirService +{ + @Autowired + private BMainEmissionOnlineMonAirMapper bMainEmissionOnlineMonAirMapper; + + /** + * 查询企业排放信息-在线监测排放趋势-废气列表 + * + * @param bMainEmissionOnlineMonAir 企业排放信息-在线监测排放趋势-废气 + * @return 企业排放信息-在线监测排放趋势-废气 + */ + @Override + public List selectBMainEmissionOnlineMonAirList(BMainEmissionOnlineMonAir bMainEmissionOnlineMonAir) + { + return bMainEmissionOnlineMonAirMapper.selectBMainEmissionOnlineMonAirList(bMainEmissionOnlineMonAir); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonWaterServiceImpl.java new file mode 100644 index 0000000..664dee3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionOnlineMonWaterServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import cn.cecep.talroad.mapper.BMainEmissionOnlineMonWaterMapper; +import cn.cecep.talroad.service.IBMainEmissionOnlineMonWaterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业排放信息-在线监测排放趋势-废水Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionOnlineMonWaterServiceImpl extends ServiceImpl implements IBMainEmissionOnlineMonWaterService +{ + @Autowired + private BMainEmissionOnlineMonWaterMapper bMainEmissionOnlineMonWaterMapper; + + /** + * 查询企业排放信息-在线监测排放趋势-废水列表 + * + * @param bMainEmissionOnlineMonWater 企业排放信息-在线监测排放趋势-废水 + * @return 企业排放信息-在线监测排放趋势-废水 + */ + @Override + public List selectBMainEmissionOnlineMonWaterList(BMainEmissionOnlineMonWater bMainEmissionOnlineMonWater) + { + return bMainEmissionOnlineMonWaterMapper.selectBMainEmissionOnlineMonWaterList(bMainEmissionOnlineMonWater); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionAirServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionAirServiceImpl.java new file mode 100644 index 0000000..01e69ab --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionAirServiceImpl.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import cn.cecep.talroad.mapper.BMainEmissionPollutionAirMapper; +import cn.cecep.talroad.service.IBMainEmissionPollutionAirService; +import cn.cecep.talroad.service.IBMainEmissionSourceAirService; +import cn.hutool.core.collection.ListUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.ArrayList; +import java.util.UUID; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废气Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionPollutionAirServiceImpl extends ServiceImpl implements IBMainEmissionPollutionAirService +{ + @Autowired + private BMainEmissionPollutionAirMapper bMainEmissionPollutionAirMapper; + @Autowired + private IBMainEmissionSourceAirService ibMainEmissionSourceAirService; + + /** + * 查询企业排放信息-不同污染物年度排放趋势-废气列表 + * + * @param bMainEmissionPollutionAir 企业排放信息-不同污染物年度排放趋势-废气 + * @return 企业排放信息-不同污染物年度排放趋势-废气 + */ + @Override + public List selectBMainEmissionPollutionAirList(BMainEmissionPollutionAir bMainEmissionPollutionAir) + { + return bMainEmissionPollutionAirMapper.selectBMainEmissionPollutionAirList(bMainEmissionPollutionAir); + } + + /** + * 查询 废气 年统计排放趋势数据 + * @param dataSource 数据类型: 系统核算/执行报告 + * @param factoryId 企业id + * @param year 年份 + * @param groupByField 对其他字段进行分组 + * @param groupByIndustry 是否对行业进行分组 + * @return 排放趋势数据列表 + */ + @Override + public List selectEmissionDataList(String dataSource, String factoryId, String industry, String year, String groupByField, boolean groupByIndustry) { + return bMainEmissionPollutionAirMapper.selectEmissionDataList(dataSource, factoryId, year, industry, groupByField, groupByIndustry, null); + } + + @Override + public void doProcessEmissionDataByYear(String lastYear) { + List resultList = new ArrayList<>(); + List list = bMainEmissionPollutionAirMapper.selectEmissioinDataByYear(lastYear); + if(list!=null&&list.size()>0){ + list.forEach(p->{ + BMainEmissionSourceAir airSo2 = new BMainEmissionSourceAir(); + airSo2.setId(UUID.randomUUID().toString()); + airSo2.setFactoryId(p.getFactoryId()); + airSo2.setPollutionCategory("SO₂"); + airSo2.setPollYear(lastYear); + airSo2.setSystematicAccountingSo2(p.getActuallyEmittingSo2()); + airSo2.setPermissionSo2(p.getAllowableEmissionSo2()); + resultList.add(airSo2); + BMainEmissionSourceAir airNox = new BMainEmissionSourceAir(); + airNox.setId(UUID.randomUUID().toString()); + airNox.setFactoryId(p.getFactoryId()); + airNox.setPollutionCategory("NOₓ"); + airNox.setPollYear(lastYear); + airNox.setSystematicAccountingSo2(p.getActuallyEmittingNox()); + airNox.setPermissionSo2(p.getAllowableEmissionNox()); + resultList.add(airNox); + BMainEmissionSourceAir airPm = new BMainEmissionSourceAir(); + airPm.setId(UUID.randomUUID().toString()); + airPm.setFactoryId(p.getFactoryId()); + airPm.setPollutionCategory("颗粒物"); + airPm.setPollYear(lastYear); + airPm.setSystematicAccountingSo2(p.getActuallyEmittingPm()); + airPm.setPermissionSo2(p.getAllowableEmissionPm()); + resultList.add(airPm); + BMainEmissionSourceAir airVocs = new BMainEmissionSourceAir(); + airVocs.setId(UUID.randomUUID().toString()); + airVocs.setFactoryId(p.getFactoryId()); + airVocs.setPollutionCategory("VOCs"); + airVocs.setPollYear(lastYear); + airVocs.setSystematicAccountingSo2(p.getActuallyEmittingVocs()); + airVocs.setPermissionSo2(p.getAllowableEmissionVocs()); + resultList.add(airVocs); + }); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("poll_year",lastYear); + int count = ibMainEmissionSourceAirService.count(queryWrapper); + if(count==0){ + List> part = ListUtil.partition(resultList,2000); + part.forEach(i->{ + ibMainEmissionSourceAirService.saveBatch(i); + }); + }else{ + resultList.forEach(data->{ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("factory_id",data.getFactoryId()); + updateWrapper.eq("poll_year",data.getPollYear()); + updateWrapper.eq("pollution_category",data.getPollutionCategory()); + updateWrapper.set("systematic_accounting_so2",data.getSystematicAccountingSo2()); + updateWrapper.set("permission_so2",data.getPermissionSo2()); + ibMainEmissionSourceAirService.update(updateWrapper); + }); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionSolidWasteServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionSolidWasteServiceImpl.java new file mode 100644 index 0000000..1c54d90 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionSolidWasteServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import cn.cecep.talroad.mapper.BMainEmissionPollutionSolidWasteMapper; +import cn.cecep.talroad.service.IBMainEmissionPollutionSolidWasteService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业排放信息-不同污染物年度排放趋势-固废Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionPollutionSolidWasteServiceImpl extends ServiceImpl implements IBMainEmissionPollutionSolidWasteService +{ + @Autowired + private BMainEmissionPollutionSolidWasteMapper bMainEmissionPollutionSolidWasteMapper; + + /** + * 查询企业排放信息-不同污染物年度排放趋势-固废列表 + * + * @param bMainEmissionPollutionSolidWaste 企业排放信息-不同污染物年度排放趋势-固废 + * @return 企业排放信息-不同污染物年度排放趋势-固废 + */ + @Override + public List selectBMainEmissionPollutionSolidWasteList(BMainEmissionPollutionSolidWaste bMainEmissionPollutionSolidWaste) + { + return bMainEmissionPollutionSolidWasteMapper.selectBMainEmissionPollutionSolidWasteList(bMainEmissionPollutionSolidWaste); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionWaterServiceImpl.java new file mode 100644 index 0000000..3d363bc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionPollutionWaterServiceImpl.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import cn.cecep.talroad.mapper.BMainEmissionPollutionWaterMapper; +import cn.cecep.talroad.service.IBMainEmissionPollutionWaterService; +import cn.cecep.talroad.service.IBMainEmissionSourceWaterService; +import cn.hutool.core.collection.ListUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 企业排放信息-不同污染物年度排放趋势-废水Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionPollutionWaterServiceImpl extends ServiceImpl implements IBMainEmissionPollutionWaterService +{ + @Autowired + private BMainEmissionPollutionWaterMapper bMainEmissionPollutionWaterMapper; + @Autowired + private IBMainEmissionSourceWaterService ibMainEmissionSourceWaterService; + /** + * 查询企业排放信息-不同污染物年度排放趋势-废水列表 + * + * @param bMainEmissionPollutionWater 企业排放信息-不同污染物年度排放趋势-废水 + * @return 企业排放信息-不同污染物年度排放趋势-废水 + */ + @Override + public List selectBMainEmissionPollutionWaterList(BMainEmissionPollutionWater bMainEmissionPollutionWater) + { + return bMainEmissionPollutionWaterMapper.selectBMainEmissionPollutionWaterList(bMainEmissionPollutionWater); + } + + /** + * 查询 废水 年统计排放趋势数据 + * @param dataSource 数据类型: 系统核算/执行报告 + * @param factoryId 企业id + * @param year 年份 + * @param groupByField 对其他字段进行分组 + * @param groupByIndustry 是否对行业进行分组 + * @return 排放趋势数据列表 + */ + @Override + public List selectEmissionDataList(String dataSource, String factoryId, String industry, String year, String groupByField, boolean groupByIndustry) { + + return bMainEmissionPollutionWaterMapper.selectEmissionDataList(dataSource, factoryId, year, industry, groupByField, groupByIndustry, null); + } + + @Override + public void doProcessEmissionDataByYear(String lastYear) { + List resultList = new ArrayList<>(); + List list = bMainEmissionPollutionWaterMapper.selectEmissioinDataByYear(lastYear); + if(list!=null&&list.size()>0){ + list.forEach(p->{ + BMainEmissionSourceWater cod= new BMainEmissionSourceWater(); + cod.setId(UUID.randomUUID().toString()); + cod.setFactoryId(p.getFactoryId()); + cod.setPollutionCategory("COD"); + cod.setPollYear(lastYear); + cod.setSystematicAccountingCod(p.getActuallyEmittingCod()); + cod.setPermissionCod(p.getAllowableEmissionCod()); + resultList.add(cod); + BMainEmissionSourceWater zd = new BMainEmissionSourceWater(); + zd.setId(UUID.randomUUID().toString()); + zd.setFactoryId(p.getFactoryId()); + zd.setPollutionCategory("总氮"); + zd.setPollYear(lastYear); + zd.setSystematicAccountingCod(p.getActuallyEmittingTn()); + zd.setPermissionCod(p.getAllowableEmissionTn()); + resultList.add(zd); + BMainEmissionSourceWater zl = new BMainEmissionSourceWater(); + zl.setId(UUID.randomUUID().toString()); + zl.setFactoryId(p.getFactoryId()); + zl.setPollutionCategory("总磷"); + zl.setPollYear(lastYear); + zl.setSystematicAccountingCod(p.getActuallyEmittingTp()); + zl.setPermissionCod(p.getAllowableEmissionTp()); + resultList.add(zl); + BMainEmissionSourceWater nhn = new BMainEmissionSourceWater(); + nhn.setId(UUID.randomUUID().toString()); + nhn.setFactoryId(p.getFactoryId()); + nhn.setPollutionCategory("氨氮"); + nhn.setPollYear(lastYear); + nhn.setSystematicAccountingCod(p.getActuallyEmittingNhn()); + nhn.setPermissionCod(p.getAllowableEmissionNhn()); + resultList.add(nhn); + }); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("poll_year",lastYear); + int count = ibMainEmissionSourceWaterService.count(queryWrapper); + if(count==0){ + List> part = ListUtil.partition(resultList,2000); + part.forEach(i->{ + ibMainEmissionSourceWaterService.saveBatch(i); + }); + }else{ + resultList.forEach(data->{ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("factory_id",data.getFactoryId()); + updateWrapper.eq("poll_year",data.getPollYear()); + updateWrapper.eq("pollution_category",data.getPollutionCategory()); + updateWrapper.set("systematic_accounting_cod",data.getSystematicAccountingCod()); + updateWrapper.set("permission_cod",data.getPermissionCod()); + ibMainEmissionSourceWaterService.update(updateWrapper); + }); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceAirServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceAirServiceImpl.java new file mode 100644 index 0000000..91358da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceAirServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import cn.cecep.talroad.mapper.BMainEmissionSourceAirMapper; +import cn.cecep.talroad.service.IBMainEmissionSourceAirService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业排放信息-多来源排放量对比-废气Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionSourceAirServiceImpl extends ServiceImpl implements IBMainEmissionSourceAirService +{ + @Autowired + private BMainEmissionSourceAirMapper bMainEmissionSourceAirMapper; + + /** + * 查询企业排放信息-多来源排放量对比-废气列表 + * + * @param bMainEmissionSourceAir 企业排放信息-多来源排放量对比-废气 + * @return 企业排放信息-多来源排放量对比-废气 + */ + @Override + public List selectBMainEmissionSourceAirList(BMainEmissionSourceAir bMainEmissionSourceAir) + { + return bMainEmissionSourceAirMapper.selectBMainEmissionSourceAirList(bMainEmissionSourceAir); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceWaterServiceImpl.java new file mode 100644 index 0000000..b0edd39 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainEmissionSourceWaterServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import cn.cecep.talroad.mapper.BMainEmissionSourceWaterMapper; +import cn.cecep.talroad.service.IBMainEmissionSourceWaterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业排放信息-多来源排放量对比-废水Service业务层处理 + * + * @author szhpt + * @date 2023-01-31*/ +@Service +public class BMainEmissionSourceWaterServiceImpl extends ServiceImpl implements IBMainEmissionSourceWaterService +{ + @Autowired + private BMainEmissionSourceWaterMapper bMainEmissionSourceWaterMapper; + + /** + * 查询企业排放信息-多来源排放量对比-废水列表 + * + * @param bMainEmissionSourceWater 企业排放信息-多来源排放量对比-废水 + * @return 企业排放信息-多来源排放量对比-废水 + */ + @Override + public List selectBMainEmissionSourceWaterList(BMainEmissionSourceWater bMainEmissionSourceWater) + { + return bMainEmissionSourceWaterMapper.selectBMainEmissionSourceWaterList(bMainEmissionSourceWater); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckServiceImpl.java new file mode 100644 index 0000000..fd965a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckServiceImpl.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainExceptionTaskCheck; +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.mapper.BMainExceptionTaskCheckMapper; +import cn.cecep.talroad.mapper.BMainExceptionTaskCheckStepMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.IBMainExceptionTaskCheckService; +import cn.cecep.talroad.vo.BMainExceptionTaskCheckVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + + +/** + * 移动执法信息-异常任务核查Service业务层处理 + */ +@Service +public class BMainExceptionTaskCheckServiceImpl extends ServiceImpl implements IBMainExceptionTaskCheckService +{ + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private BMainExceptionTaskCheckStepMapper exceptionTaskCheckStepMapper; + + @Override + public BMainExceptionTaskCheckVo.DetailVo getInfo(String id) { + BMainExceptionTaskCheck taskCheck = getById(id); + BMainExceptionTaskCheckVo.DetailVo detailVo = new BMainExceptionTaskCheckVo.DetailVo(); + BeanUtils.copyProperties(taskCheck, detailVo); + + List outlets = new ArrayList<>(); + if (StringUtils.isNotEmpty(detailVo.getOutletIds())) { + outlets = outletMapper.selectBatchIds(Arrays.asList(detailVo.getOutletIds().split(","))); + } + detailVo.setOutlets(outlets); + + if (StringUtils.isNotEmpty(detailVo.getExceptionTime())) { + Date date = DateUtils.parseDate(detailVo.getExceptionTime()); + + detailVo.setExceptionTimeStart(DateUtils.parseDateToStr("yyyy-MM-dd HH", DateUtils.addHours(date, -12))); + detailVo.setExceptionTimeEnd(DateUtils.parseDateToStr("yyyy-MM-dd HH", DateUtils.addHours(date, 11))); + } + + // 固定的三个步骤 + List steps = new ArrayList<>(); + steps.add(new BMainExceptionTaskCheckStep("生成")); + steps.add(new BMainExceptionTaskCheckStep("签收")); + steps.add(new BMainExceptionTaskCheckStep("办理")); + + // 查询已经过的步骤 + List checkSteps = exceptionTaskCheckStepMapper.selectList( + new QueryWrapper() + .eq("exception_task_check_id", detailVo.getId()) + ); + + // 步骤号从0开始(表示一步都没完成) + int stepNum = 0; + + for (int i = 0; i < steps.size(); i++) { + BMainExceptionTaskCheckStep step = steps.get(i); + checkSteps.stream().filter(o -> step.getStepName().equals(o.getStepName())).findFirst() + .ifPresent(temp -> BeanUtils.copyProperties(temp, step)); + + // 若操作时间不为空,表示该步骤已完成 + if (StringUtils.isNotEmpty(step.getOperateTime())) { + stepNum = i + 1; // 步骤号=下标加1 + } + } + detailVo.setSteps(steps); + detailVo.setStepNum(stepNum); + return detailVo; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckStepServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckStepServiceImpl.java new file mode 100644 index 0000000..5f446c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainExceptionTaskCheckStepServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; +import cn.cecep.talroad.mapper.BMainExceptionTaskCheckStepMapper; +import cn.cecep.talroad.service.IBMainExceptionTaskCheckStepService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + + +/** + * 移动执法信息-异常任务核查-流程步骤Service业务层处理 + * + * @author szhpt + * @date 2023-03-29*/ +@Service +public class BMainExceptionTaskCheckStepServiceImpl extends ServiceImpl implements IBMainExceptionTaskCheckStepService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFactoryVerificationServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFactoryVerificationServiceImpl.java new file mode 100644 index 0000000..d09b442 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFactoryVerificationServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BMainFactoryVerification; +import cn.cecep.talroad.mapper.BMainFactoryVerificationMapper; +import cn.cecep.talroad.service.IBMainFactoryVerificationService; +import cn.cecep.talroad.mapper.BMainFactoryVerificationMapper; +import cn.cecep.talroad.domain.BMainFactoryVerification; +import cn.cecep.talroad.service.IBMainFactoryVerificationService; + + + + +/** + * 移动执法信息-企业核查Service业务层处理 + * + * @author szhpt + * @date 2023-03-30*/ +@Service +public class BMainFactoryVerificationServiceImpl extends ServiceImpl implements IBMainFactoryVerificationService +{ + @Autowired + private BMainFactoryVerificationMapper bMainFactoryVerificationMapper; + + /** + * 查询移动执法信息-企业核查列表 + * + * @param bMainFactoryVerification 移动执法信息-企业核查 + * @return 移动执法信息-企业核查 + */ + @Override + public List selectBMainFactoryVerificationList(BMainFactoryVerification bMainFactoryVerification) + { + return bMainFactoryVerificationMapper.selectBMainFactoryVerificationList(bMainFactoryVerification); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFileServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFileServiceImpl.java new file mode 100644 index 0000000..c486ffc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainFileServiceImpl.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainFile; +import cn.cecep.talroad.mapper.BMainFileMapper; +import cn.cecep.talroad.service.IBMainFileService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + + +/** + * 系统附件。Service业务层处理 + */ +@Service +public class BMainFileServiceImpl extends ServiceImpl implements IBMainFileService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteCrServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteCrServiceImpl.java new file mode 100644 index 0000000..5cd696a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteCrServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteCr; +import cn.cecep.talroad.mapper.BMainHazardousSolidWasteCrMapper; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteCrService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 固体废物环境管理要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-11*/ +@Service +public class BMainHazardousSolidWasteCrServiceImpl extends ServiceImpl implements IBMainHazardousSolidWasteCrService +{ + @Autowired + private BMainHazardousSolidWasteCrMapper bMainHazardousSolidWasteCrMapper; + + /** + * 查询固体废物环境管理要求列表 + * + * @param bMainHazardousSolidWasteCr 固体废物环境管理要求 + * @return 固体废物环境管理要求 + */ + @Override + public List selectBMainHazardousSolidWasteCrList(BMainHazardousSolidWasteCr bMainHazardousSolidWasteCr) + { + return bMainHazardousSolidWasteCrMapper.selectBMainHazardousSolidWasteCrList(bMainHazardousSolidWasteCr); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteFaServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteFaServiceImpl.java new file mode 100644 index 0000000..016f68d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteFaServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteFa; +import cn.cecep.talroad.mapper.BMainHazardousSolidWasteFaMapper; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteFaService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 自行贮存和自行利用处置设施信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainHazardousSolidWasteFaServiceImpl extends ServiceImpl implements IBMainHazardousSolidWasteFaService +{ + @Autowired + private BMainHazardousSolidWasteFaMapper bMainHazardousSolidWasteFaMapper; + + /** + * 查询自行贮存和自行利用处置设施信息列表 + * + * @param bMainHazardousSolidWasteFa 自行贮存和自行利用处置设施信息 + * @return 自行贮存和自行利用处置设施信息 + */ + @Override + public List selectBMainHazardousSolidWasteFaList(BMainHazardousSolidWasteFa bMainHazardousSolidWasteFa) + { + return bMainHazardousSolidWasteFaMapper.selectBMainHazardousSolidWasteFaList(bMainHazardousSolidWasteFa); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteLeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteLeServiceImpl.java new file mode 100644 index 0000000..ce639d6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteLeServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainHazardousSolidWasteLe; +import cn.cecep.talroad.mapper.BMainHazardousSolidWasteLeMapper; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteLeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 固体废物排放信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainHazardousSolidWasteLeServiceImpl extends ServiceImpl implements IBMainHazardousSolidWasteLeService +{ + @Autowired + private BMainHazardousSolidWasteLeMapper bMainHazardousSolidWasteLeMapper; + + /** + * 查询固体废物排放信息列表 + * + * @param bMainHazardousSolidWasteLe 固体废物排放信息 + * @return 固体废物排放信息 + */ + @Override + public List selectBMainHazardousSolidWasteLeList(BMainHazardousSolidWasteLe bMainHazardousSolidWasteLe) + { + return bMainHazardousSolidWasteLeMapper.selectBMainHazardousSolidWasteLeList(bMainHazardousSolidWasteLe); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteServiceImpl.java new file mode 100644 index 0000000..011b102 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousSolidWasteServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainHazardousSolidWaste; +import cn.cecep.talroad.mapper.BMainHazardousSolidWasteMapper; +import cn.cecep.talroad.service.IBMainHazardousSolidWasteService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 固体废物基础信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainHazardousSolidWasteServiceImpl extends ServiceImpl implements IBMainHazardousSolidWasteService +{ + @Autowired + private BMainHazardousSolidWasteMapper bMainHazardousSolidWasteMapper; + + /** + * 查询固体废物基础信息列表 + * + * @param bMainHazardousSolidWaste 固体废物基础信息 + * @return 固体废物基础信息 + */ + @Override + public List selectBMainHazardousSolidWasteList(BMainHazardousSolidWaste bMainHazardousSolidWaste) + { + return bMainHazardousSolidWasteMapper.selectBMainHazardousSolidWasteList(bMainHazardousSolidWaste); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousWasteOutputServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousWasteOutputServiceImpl.java new file mode 100644 index 0000000..76c044f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainHazardousWasteOutputServiceImpl.java @@ -0,0 +1,159 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainHazardousWasteOutput; +import cn.cecep.talroad.mapper.BMainHazardousWasteOutputMapper; +import cn.cecep.talroad.service.IBMainHazardousWasteOutputService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainHazardousWasteOutputQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 危废产生与处理Service业务层处理 + * + * @author szhpt + * @date 2023-01-10 + */ +@Service +public class BMainHazardousWasteOutputServiceImpl extends ServiceImpl implements IBMainHazardousWasteOutputService { + @Autowired + private BMainHazardousWasteOutputMapper bMainHazardousWasteOutputMapper; + + /** + * 查询危废产生与处理列表 + * + * @param bMainHazardousWasteOutput 危废产生与处理 + * @return 危废产生与处理 + */ + @Override + public List selectBMainHazardousWasteOutputList(BMainHazardousWasteOutput bMainHazardousWasteOutput) { + return bMainHazardousWasteOutputMapper.selectBMainHazardousWasteOutputList(bMainHazardousWasteOutput); + } + + @Override + public EChartsVO getCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + List bMainHazardousWasteOutputs = bMainHazardousWasteOutputMapper.selectList(BMainHazardousWasteOutputQuery.createLambdaQueryWrapper(bMainHazardousWasteOutput)); + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "上月贮存量"); + put("prop", "materialsLastMonth"); + }}); + items.add(new HashMap() {{ + put("name", "产生量"); + put("prop", "materialsOutput"); + }}); + items.add(new HashMap() {{ + put("name", "修正量"); + put("prop", "materialsAllowance"); + }}); + items.add(new HashMap() {{ + put("name", "转移量"); + put("prop", "materialsAsFollows"); + }}); + items.add(new HashMap() {{ + put("name", "利用处置量"); + put("prop", "materialsUse"); + }}); + items.add(new HashMap() {{ + put("name", "期末库存"); + put("prop", "materialsRepertory"); + }}); + items.add(new HashMap() {{ + put("name", "期末超一年库存"); + put("prop", "materialsRepertoryYear"); + }}); + + List timeRange = DateUtil.rangeToList(DateUtil.parseDate(bMainHazardousWasteOutput.getStartDate()+"-01"), DateUtil.parseDate(bMainHazardousWasteOutput.getEndDate()+"-01"), DateField.MONTH); + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setUnit(bMainHazardousWasteOutputs.stream().map(BMainHazardousWasteOutput::getUnit).findFirst().orElse("吨")); + Object[] values = new Object[timeRange.size()]; + bMainHazardousWasteOutputs.forEach(x -> { + Object value = BeanUtil.getProperty(x, item.get("prop")); + DateTime dateTime = DateUtil.parse(x.getParticularYear() + (x.getParticularMonth().length() > 1 ? "" : "0") + x.getParticularMonth(), "yyyyMM"); + values[CollUtil.indexOf(timeRange, y -> DateUtil.compare(y, dateTime, "yyyyMM") == 0)] = value; + }); + ser.setValues(Arrays.asList(values)); + return ser; + }).collect(Collectors.toList()); + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, "yyyy-MM"), true)); + chartsVO.setSeries(series); + return chartsVO; + } + + @Override + public EChartsVO getAppCharData(BMainHazardousWasteOutputQuery bMainHazardousWasteOutput) { + List bMainHazardousWasteOutputs = bMainHazardousWasteOutputMapper.selectList(BMainHazardousWasteOutputQuery.createLambdaQueryWrapper(bMainHazardousWasteOutput)); + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "上月贮存量"); + put("prop", "materialsLastMonth"); + }}); + items.add(new HashMap() {{ + put("name", "产生量"); + put("prop", "materialsOutput"); + }}); + items.add(new HashMap() {{ + put("name", "修正量"); + put("prop", "materialsAllowance"); + }}); + items.add(new HashMap() {{ + put("name", "转移量"); + put("prop", "materialsAsFollows"); + }}); + items.add(new HashMap() {{ + put("name", "利用处置量"); + put("prop", "materialsUse"); + }}); + items.add(new HashMap() {{ + put("name", "期末库存"); + put("prop", "materialsRepertory"); + }}); + items.add(new HashMap() {{ + put("name", "期末超一年库存"); + put("prop", "materialsRepertoryYear"); + }}); + List timeRange = DateUtil.rangeToList(DateUtil.parseDate(bMainHazardousWasteOutput.getStartDate()+"-01"), DateUtil.parseDate(bMainHazardousWasteOutput.getEndDate()+"-01"), DateField.MONTH); + List materialsSeries = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(bMainHazardousWasteOutputs)){ + for (BMainHazardousWasteOutput mainHazardousWasteOutput : bMainHazardousWasteOutputs) { + EChartsVO.MaterialsSeriesObj materialsSeriesObj = new EChartsVO.MaterialsSeriesObj(); + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setUnit(StringUtils.isEmpty(mainHazardousWasteOutput.getUnit()) ? "吨" : mainHazardousWasteOutput.getUnit()); + Object[] values = new Object[timeRange.size()]; + Object value = BeanUtil.getProperty(mainHazardousWasteOutput, item.get("prop")); + DateTime dateTime = DateUtil.parse(mainHazardousWasteOutput.getParticularYear() + (mainHazardousWasteOutput.getParticularMonth().length() > 1 ? "" : "0") + mainHazardousWasteOutput.getParticularMonth(), "yyyyMM"); + values[CollUtil.indexOf(timeRange, y -> DateUtil.compare(y, dateTime, "yyyyMM") == 0)] = value; + ser.setValue(Arrays.asList(values)); + return ser; + }).collect(Collectors.toList()); + materialsSeriesObj.setName(mainHazardousWasteOutput.getMaterialsName()); + materialsSeriesObj.setUnit(mainHazardousWasteOutput.getUnit()); + materialsSeriesObj.setSeries(series); + materialsSeries.add(materialsSeriesObj); + } + } + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, "yyyy-MM"), true)); + chartsVO.setMaterialsSeries(materialsSeries); + return chartsVO; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainMobileEnforcementServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainMobileEnforcementServiceImpl.java new file mode 100644 index 0000000..ec06e47 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainMobileEnforcementServiceImpl.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainMobileEnforcement; +import cn.cecep.talroad.mapper.BMainMobileEnforcementMapper; +import cn.cecep.talroad.service.IBMainMobileEnforcementService; +import cn.cecep.talroad.vo.query.BMainMobileEnforcementQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 移动执法信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainMobileEnforcementServiceImpl extends ServiceImpl implements IBMainMobileEnforcementService +{ + @Autowired + private BMainMobileEnforcementMapper bMainMobileEnforcementMapper; + + /** + * 查询移动执法信息列表 + * + * @param bMainMobileEnforcement 移动执法信息 + * @return 移动执法信息 + */ + @Override + public List selectBMainMobileEnforcementList(BMainMobileEnforcement bMainMobileEnforcement) + { + return bMainMobileEnforcementMapper.selectBMainMobileEnforcementList(bMainMobileEnforcement); + } + + @Override + public IPage pullPage(BMainMobileEnforcementQuery bMainMobileEnforcement) { + Page page = new Page<>(bMainMobileEnforcement.getPageNum(), bMainMobileEnforcement.getPageSize()); + IPage list = bMainMobileEnforcementMapper.selectPage(page, BMainMobileEnforcementQuery.createLambdaQueryWrapper(bMainMobileEnforcement)); + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainNoiseEmissionsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainNoiseEmissionsServiceImpl.java new file mode 100644 index 0000000..5dd38ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainNoiseEmissionsServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainNoiseEmissions; +import cn.cecep.talroad.mapper.BMainNoiseEmissionsMapper; +import cn.cecep.talroad.service.IBMainNoiseEmissionsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 噪声排放信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainNoiseEmissionsServiceImpl extends ServiceImpl implements IBMainNoiseEmissionsService +{ + @Autowired + private BMainNoiseEmissionsMapper bMainNoiseEmissionsMapper; + + /** + * 查询噪声排放信息列表 + * + * @param bMainNoiseEmissions 噪声排放信息 + * @return 噪声排放信息 + */ + @Override + public List selectBMainNoiseEmissionsList(BMainNoiseEmissions bMainNoiseEmissions) + { + return bMainNoiseEmissionsMapper.selectBMainNoiseEmissionsList(bMainNoiseEmissions); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEmlRecordServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEmlRecordServiceImpl.java new file mode 100644 index 0000000..f0f0527 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEmlRecordServiceImpl.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisEmlRecord; +import cn.cecep.talroad.mapper.BMainPollDisEmlRecordMapper; +import cn.cecep.talroad.service.IBMainPollDisEmlRecordService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可环境管理台账Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisEmlRecordServiceImpl extends ServiceImpl implements IBMainPollDisEmlRecordService +{ + @Autowired + private BMainPollDisEmlRecordMapper bMainPollDisEmlRecordMapper; + + /** + * 查询排污许可环境管理台账列表 + * + * @param bMainPollDisEmlRecord 排污许可环境管理台账 + * @return 排污许可环境管理台账 + */ + @Override + public List selectBMainPollDisEmlRecordList(BMainPollDisEmlRecord bMainPollDisEmlRecord) + { + return bMainPollDisEmlRecordMapper.selectBMainPollDisEmlRecordList(bMainPollDisEmlRecord); + } + + @Override + public List pullBookRecord(String xkzId) { + return bMainPollDisEmlRecordMapper.selectList(new QueryWrapper().eq("poll_dis_id", xkzId)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEnforcementServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEnforcementServiceImpl.java new file mode 100644 index 0000000..c8f3387 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisEnforcementServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import cn.cecep.talroad.mapper.BMainPollDisEnforcementMapper; +import cn.cecep.talroad.service.IBMainPollDisEnforcementService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 排污许可执行守法报告Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisEnforcementServiceImpl extends ServiceImpl implements IBMainPollDisEnforcementService +{ + @Autowired + private BMainPollDisEnforcementMapper bMainPollDisEnforcementMapper; + + /** + * 查询排污许可执行守法报告列表 + * + * @param bMainPollDisEnforcement 排污许可执行守法报告 + * @return 排污许可执行守法报告 + */ + @Override + public List selectBMainPollDisEnforcementList(BMainPollDisEnforcement bMainPollDisEnforcement) + { + return bMainPollDisEnforcementMapper.selectBMainPollDisEnforcementList(bMainPollDisEnforcement); + } + + @Override + public List pullImplementReport(String xkzId) { + return bMainPollDisEnforcementMapper.selectList(new QueryWrapper().eq("poll_dis_id", xkzId)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisFileServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisFileServiceImpl.java new file mode 100644 index 0000000..38c6774 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisFileServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisFile; +import cn.cecep.talroad.mapper.BMainPollDisFileMapper; +import cn.cecep.talroad.service.IBMainPollDisFileService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可附件信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisFileServiceImpl extends ServiceImpl implements IBMainPollDisFileService +{ + @Autowired + private BMainPollDisFileMapper bMainPollDisFileMapper; + + /** + * 查询排污许可附件信息列表 + * + * @param bMainPollDisFile 排污许可附件信息 + * @return 排污许可附件信息 + */ + @Override + public List selectBMainPollDisFileList(BMainPollDisFile bMainPollDisFile) + { + return bMainPollDisFileMapper.selectBMainPollDisFileList(bMainPollDisFile); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasMoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasMoutServiceImpl.java new file mode 100644 index 0000000..4fa3e3e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasMoutServiceImpl.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasMout; +import cn.cecep.talroad.mapper.BMainPollDisGasMoutMapper; +import cn.cecep.talroad.service.IBMainPollDisGasMoutService; +import cn.cecep.talroad.vo.query.BMainPollDisGasMoutQuery; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + + + + +/** + * 排污许可大气主排放口Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisGasMoutServiceImpl extends ServiceImpl implements IBMainPollDisGasMoutService +{ + @Autowired + private BMainPollDisGasMoutMapper bMainPollDisGasMoutMapper; + + /** + * 查询排污许可大气主排放口列表 + * + * @param bMainPollDisGasMout 排污许可大气主排放口 + * @return 排污许可大气主排放口 + */ + @Override + public List selectBMainPollDisGasMoutList(BMainPollDisGasMout bMainPollDisGasMout) + { + return bMainPollDisGasMoutMapper.selectBMainPollDisGasMoutList(bMainPollDisGasMout); + } + + @Override + public IPage pullPage(BMainPollDisGasMoutQuery bMainPollDisGasMout) { + Page page = new Page<>(bMainPollDisGasMout.getPageNum(), bMainPollDisGasMout.getPageSize()); + IPage list = bMainPollDisGasMoutMapper.selectPage(page, BMainPollDisGasMoutQuery.createLambdaQueryWrapper(bMainPollDisGasMout)); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + List mainDrain = records.stream().filter(item -> item.getOutletUseTotal().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setPollutantsMgRate(item.getPollutantsType()); + item.setPollutantsType(""); + item.setVent("主要排放口合计"); + }); + } + List drain = records.stream().filter(item -> item.getOutletUseTotal().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.sort(Comparator.comparing(BMainPollDisGasMout::getOutletCode, Comparator.naturalOrder())); + } + ArrayList res = Lists.newArrayList(); + res.addAll(drain); + res.addAll(mainDrain); + list.setRecords(res); + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasOoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasOoutServiceImpl.java new file mode 100644 index 0000000..773321e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasOoutServiceImpl.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasOout; +import cn.cecep.talroad.mapper.BMainPollDisGasOoutMapper; +import cn.cecep.talroad.service.IBMainPollDisGasOoutService; +import cn.cecep.talroad.vo.query.BMainPollDisGasOoutQuery; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + + + + +/** + * 排污许可大气一般排放口Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisGasOoutServiceImpl extends ServiceImpl implements IBMainPollDisGasOoutService +{ + @Autowired + private BMainPollDisGasOoutMapper bMainPollDisGasOoutMapper; + + /** + * 查询排污许可大气一般排放口列表 + * + * @param bMainPollDisGasOout 排污许可大气一般排放口 + * @return 排污许可大气一般排放口 + */ + @Override + public List selectBMainPollDisGasOoutList(BMainPollDisGasOout bMainPollDisGasOout) + { + return bMainPollDisGasOoutMapper.selectBMainPollDisGasOoutList(bMainPollDisGasOout); + } + + @Override + public IPage pullPage(BMainPollDisGasOoutQuery bMainPollDisGasOout) { + Page page = new Page<>(bMainPollDisGasOout.getPageNum(), bMainPollDisGasOout.getPageSize()); + IPage list = bMainPollDisGasOoutMapper.selectPage(page, BMainPollDisGasOoutQuery.createLambdaQueryWrapper(bMainPollDisGasOout)); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + List mainDrain = records.stream().filter(item -> item.getOutletUseTotal().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setPollutantsMgRate(item.getPollutantsType()); + item.setPollutantsType(""); + item.setVent("一般排放口合计"); + }); + } + List drain = records.stream().filter(item -> item.getOutletUseTotal().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.sort(Comparator.comparing(BMainPollDisGasOout::getOutletCode, Comparator.naturalOrder())); + } + ArrayList res = Lists.newArrayList(); + res.addAll(drain); + res.addAll(mainDrain); + list.setRecords(res); + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasPollServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasPollServiceImpl.java new file mode 100644 index 0000000..05a25e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasPollServiceImpl.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasPoll; +import cn.cecep.talroad.mapper.BMainPollDisGasPollMapper; +import cn.cecep.talroad.service.BMainPollDisGasPollService; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.alibaba.csp.sentinel.util.StringUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class BMainPollDisGasPollServiceImpl implements BMainPollDisGasPollService { + + @Resource + private BMainPollDisGasPollMapper bMainPollDisGasPollMapper; + + @Override + public IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout) { + return bMainPollDisGasPollMapper.selectPage(new Page<>(bMainPollDisGasTout.getPageNum(), bMainPollDisGasTout.getPageSize()), new QueryWrapper().eq(StringUtil.isNotEmpty(bMainPollDisGasTout.getFactoryId()),"factory_id", bMainPollDisGasTout.getFactoryId()).eq("poll_dis_id", bMainPollDisGasTout.getPollDisId())); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasSoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasSoutServiceImpl.java new file mode 100644 index 0000000..d6b3a6e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasSoutServiceImpl.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasSout; +import cn.cecep.talroad.mapper.BMainPollDisGasSoutMapper; +import cn.cecep.talroad.service.IBMainPollDisGasSoutService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 排污许可大气特殊情况Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisGasSoutServiceImpl extends ServiceImpl implements IBMainPollDisGasSoutService +{ + @Autowired + private BMainPollDisGasSoutMapper bMainPollDisGasSoutMapper; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasToutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasToutServiceImpl.java new file mode 100644 index 0000000..bf81871 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasToutServiceImpl.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import cn.cecep.talroad.mapper.BMainPollDisGasToutMapper; +import cn.cecep.talroad.service.IBMainPollDisGasToutService; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可大气排放总计Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisGasToutServiceImpl extends ServiceImpl implements IBMainPollDisGasToutService +{ + @Autowired + private BMainPollDisGasToutMapper bMainPollDisGasToutMapper; + + /** + * 查询排污许可大气排放总计列表 + * + * @param bMainPollDisGasTout 排污许可大气排放总计 + * @return 排污许可大气排放总计 + */ + @Override + public List selectBMainPollDisGasToutList(BMainPollDisGasTout bMainPollDisGasTout) + { + return bMainPollDisGasToutMapper.selectBMainPollDisGasToutList(bMainPollDisGasTout); + } + + @Override + public IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout) { + Page page = new Page<>(bMainPollDisGasTout.getPageNum(), bMainPollDisGasTout.getPageSize()); + IPage list = bMainPollDisGasToutMapper.selectPage(page, BMainPollDisGasToutQuery.createLambdaQueryWrapper(bMainPollDisGasTout)); + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasWzzToutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasWzzToutServiceImpl.java new file mode 100644 index 0000000..3fecd3a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisGasWzzToutServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisGasWzzTout; +import cn.cecep.talroad.mapper.BMainPollDisGasWzzToutMapper; +import cn.cecep.talroad.service.BMainPollDisGasWzzToutService; +import cn.cecep.talroad.vo.query.BMainPollDisGasToutQuery; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.compress.utils.Lists; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class BMainPollDisGasWzzToutServiceImpl implements BMainPollDisGasWzzToutService { + + @Resource + private BMainPollDisGasWzzToutMapper bMainPollDisGasWzzToutMapper; + + @Override + public IPage pullPage(BMainPollDisGasToutQuery bMainPollDisGasTout) { + Page list = bMainPollDisGasWzzToutMapper.selectPage(new Page<>(bMainPollDisGasTout.getPageNum(), bMainPollDisGasTout.getPageSize()), new QueryWrapper().eq("factory_id", bMainPollDisGasTout.getFactoryId()).eq("poll_dis_id", bMainPollDisGasTout.getPollDisId())); + List records = list.getRecords(); + if(CollectionUtils.isNotEmpty(records)){ + List mainDrain = records.stream().filter(item -> item.getOutletUseTotal().equals("1")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(mainDrain)){ + mainDrain.forEach(item->{ + item.setPollutantsMgDay(item.getPollutantsType()); + item.setPollutantsType(""); + item.setVent("全厂无组织排放总计"); + }); + } + List drain = records.stream().filter(item -> item.getOutletUseTotal().equals("0")).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(drain)){ + drain.sort(Comparator.comparing(BMainPollDisGasWzzTout::getOutletCode, Comparator.naturalOrder())); + } + ArrayList res = Lists.newArrayList(); + res.addAll(drain); + res.addAll(mainDrain); + list.setRecords(res); + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisInformationServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisInformationServiceImpl.java new file mode 100644 index 0000000..b9640e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisInformationServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisInformation; +import cn.cecep.talroad.mapper.BMainPollDisInformationMapper; +import cn.cecep.talroad.service.IBMainPollDisInformationService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可信息公开Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisInformationServiceImpl extends ServiceImpl implements IBMainPollDisInformationService +{ + @Autowired + private BMainPollDisInformationMapper bMainPollDisInformationMapper; + + /** + * 查询排污许可信息公开列表 + * + * @param bMainPollDisInformation 排污许可信息公开 + * @return 排污许可信息公开 + */ + @Override + public List selectBMainPollDisInformationList(BMainPollDisInformation bMainPollDisInformation) + { + return bMainPollDisInformationMapper.selectBMainPollDisInformationList(bMainPollDisInformation); + } + + @Override + public BMainPollDisInformation pullInformationDisclosure(String xkzId) { + return bMainPollDisInformationMapper.selectOne(new QueryWrapper().eq("poll_dis_id", xkzId)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRegulationServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRegulationServiceImpl.java new file mode 100644 index 0000000..35a7b87 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRegulationServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRegulation; +import cn.cecep.talroad.mapper.BMainPollDisNoiseRegulationMapper; +import cn.cecep.talroad.service.IBMainPollDisNoiseRegulationService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可其他许可改正规定Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisNoiseRegulationServiceImpl extends ServiceImpl implements IBMainPollDisNoiseRegulationService +{ + @Autowired + private BMainPollDisNoiseRegulationMapper bMainPollDisNoiseRegulationMapper; + + /** + * 查询排污许可其他许可改正规定列表 + * + * @param bMainPollDisNoiseRegulation 排污许可其他许可改正规定 + * @return 排污许可其他许可改正规定 + */ + @Override + public List selectBMainPollDisNoiseRegulationList(BMainPollDisNoiseRegulation bMainPollDisNoiseRegulation) + { + return bMainPollDisNoiseRegulationMapper.selectBMainPollDisNoiseRegulationList(bMainPollDisNoiseRegulation); + } + + @Override + public List pullOtherXkAskRectifyAndReform(String xkzId) { + return bMainPollDisNoiseRegulationMapper.selectList(new QueryWrapper().eq("poll_dis_id", xkzId)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRequireServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRequireServiceImpl.java new file mode 100644 index 0000000..1605091 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseRequireServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisNoiseRequire; +import cn.cecep.talroad.mapper.BMainPollDisNoiseRequireMapper; +import cn.cecep.talroad.service.IBMainPollDisNoiseRequireService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可环境管理要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisNoiseRequireServiceImpl extends ServiceImpl implements IBMainPollDisNoiseRequireService +{ + @Autowired + private BMainPollDisNoiseRequireMapper bMainPollDisNoiseRequireMapper; + + /** + * 查询排污许可环境管理要求列表 + * + * @param bMainPollDisNoiseRequire 排污许可环境管理要求 + * @return 排污许可环境管理要求 + */ + @Override + public List selectBMainPollDisNoiseRequireList(BMainPollDisNoiseRequire bMainPollDisNoiseRequire) + { + return bMainPollDisNoiseRequireMapper.selectBMainPollDisNoiseRequireList(bMainPollDisNoiseRequire); + } + + @Override + public BMainPollDisNoiseRequire pullOtherXkAskManage(String xkzId) { + return bMainPollDisNoiseRequireMapper.selectOne(new QueryWrapper().eq("poll_dis_id", xkzId).last("limit 1")); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseServiceImpl.java new file mode 100644 index 0000000..53032bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisNoiseServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisNoise; +import cn.cecep.talroad.mapper.BMainPollDisNoiseMapper; +import cn.cecep.talroad.service.IBMainPollDisNoiseService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可其他许可噪声排放Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisNoiseServiceImpl extends ServiceImpl implements IBMainPollDisNoiseService +{ + @Autowired + private BMainPollDisNoiseMapper bMainPollDisNoiseMapper; + + /** + * 查询排污许可其他许可噪声排放列表 + * + * @param bMainPollDisNoise 排污许可其他许可噪声排放 + * @return 排污许可其他许可噪声排放 + */ + @Override + public List selectBMainPollDisNoiseList(BMainPollDisNoise bMainPollDisNoise) + { + return bMainPollDisNoiseMapper.selectBMainPollDisNoiseList(bMainPollDisNoise); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonOtherServiceImpl.java new file mode 100644 index 0000000..09e6a49 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonOtherServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisSelfMonOther; +import cn.cecep.talroad.mapper.BMainPollDisSelfMonOtherMapper; +import cn.cecep.talroad.service.IBMainPollDisSelfMonOtherService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可自行监测记录Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisSelfMonOtherServiceImpl extends ServiceImpl implements IBMainPollDisSelfMonOtherService +{ + @Autowired + private BMainPollDisSelfMonOtherMapper bMainPollDisSelfMonOtherMapper; + + /** + * 查询排污许可自行监测记录列表 + * + * @param bMainPollDisSelfMonOther 排污许可自行监测记录 + * @return 排污许可自行监测记录 + */ + @Override + public List selectBMainPollDisSelfMonOtherList(BMainPollDisSelfMonOther bMainPollDisSelfMonOther) + { + return bMainPollDisSelfMonOtherMapper.selectBMainPollDisSelfMonOtherList(bMainPollDisSelfMonOther); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonServiceImpl.java new file mode 100644 index 0000000..8356a9c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisSelfMonServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import cn.cecep.talroad.mapper.BMainPollDisSelfMonMapper; +import cn.cecep.talroad.service.IBMainPollDisSelfMonService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可自行监测要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisSelfMonServiceImpl extends ServiceImpl implements IBMainPollDisSelfMonService +{ + @Autowired + private BMainPollDisSelfMonMapper bMainPollDisSelfMonMapper; + + /** + * 查询排污许可自行监测要求列表 + * + * @param bMainPollDisSelfMon 排污许可自行监测要求 + * @return 排污许可自行监测要求 + */ + @Override + public List selectBMainPollDisSelfMonList(BMainPollDisSelfMon bMainPollDisSelfMon) + { + return bMainPollDisSelfMonMapper.selectBMainPollDisSelfMonList(bMainPollDisSelfMon); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisServiceImpl.java new file mode 100644 index 0000000..2ca25f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisServiceImpl.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDis; +import cn.cecep.talroad.mapper.BMainPollDisMapper; +import cn.cecep.talroad.service.IBMainPollDisService; +import cn.cecep.talroad.util.ConvertNumber; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + + + + +/** + * 排污许可Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisServiceImpl extends ServiceImpl implements IBMainPollDisService +{ + @Autowired + private BMainPollDisMapper bMainPollDisMapper; + + /** + * 查询排污许可列表 + * + * @param bMainPollDis 排污许可 + * @return 排污许可 + */ + @Override + public List selectBMainPollDisList(BMainPollDis bMainPollDis) + { + return bMainPollDisMapper.selectBMainPollDisList(bMainPollDis); + } + + @Override + public List pullXkzList(String factoryId) { + List bMainPollDis = bMainPollDisMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).orderByDesc("completion_time")); + if(!CollectionUtils.isEmpty(bMainPollDis)){ + bMainPollDis.forEach(item->{ + item.setBusinessType(BMainPollDis.PwxkzType.getByCode(item.getBusinessType()).desc); + item.setEditionCode(ConvertNumber.chineseNumToArabicNum(item.getEditionCode().replaceAll("第","").replaceAll("版","")).toString()); + }); + } + return bMainPollDis; + } + + @Override + public List selectDisPermitData(String businessType,String currDay, String deadLineDay) { + return bMainPollDisMapper.selectDisPermitData(businessType,currDay,deadLineDay); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterMoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterMoutServiceImpl.java new file mode 100644 index 0000000..b0beabd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterMoutServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisWaterMout; +import cn.cecep.talroad.mapper.BMainPollDisWaterMoutMapper; +import cn.cecep.talroad.service.IBMainPollDisWaterMoutService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可水污染物主排放口Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisWaterMoutServiceImpl extends ServiceImpl implements IBMainPollDisWaterMoutService +{ + @Autowired + private BMainPollDisWaterMoutMapper bMainPollDisWaterMoutMapper; + + /** + * 查询排污许可水污染物主排放口列表 + * + * @param bMainPollDisWaterMout 排污许可水污染物主排放口 + * @return 排污许可水污染物主排放口 + */ + @Override + public List selectBMainPollDisWaterMoutList(BMainPollDisWaterMout bMainPollDisWaterMout) + { + return bMainPollDisWaterMoutMapper.selectBMainPollDisWaterMoutList(bMainPollDisWaterMout); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterOoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterOoutServiceImpl.java new file mode 100644 index 0000000..5d213e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterOoutServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisWaterOout; +import cn.cecep.talroad.mapper.BMainPollDisWaterOoutMapper; +import cn.cecep.talroad.service.IBMainPollDisWaterOoutService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可水污染物一般排放口Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisWaterOoutServiceImpl extends ServiceImpl implements IBMainPollDisWaterOoutService +{ + @Autowired + private BMainPollDisWaterOoutMapper bMainPollDisWaterOoutMapper; + + /** + * 查询排污许可水污染物一般排放口列表 + * + * @param bMainPollDisWaterOout 排污许可水污染物一般排放口 + * @return 排污许可水污染物一般排放口 + */ + @Override + public List selectBMainPollDisWaterOoutList(BMainPollDisWaterOout bMainPollDisWaterOout) + { + return bMainPollDisWaterOoutMapper.selectBMainPollDisWaterOoutList(bMainPollDisWaterOout); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterSoutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterSoutServiceImpl.java new file mode 100644 index 0000000..d77e494 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterSoutServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisWaterSout; +import cn.cecep.talroad.mapper.BMainPollDisWaterSoutMapper; +import cn.cecep.talroad.service.IBMainPollDisWaterSoutService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可水污染物特殊情况Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisWaterSoutServiceImpl extends ServiceImpl implements IBMainPollDisWaterSoutService +{ + @Autowired + private BMainPollDisWaterSoutMapper bMainPollDisWaterSoutMapper; + + /** + * 查询排污许可水污染物特殊情况列表 + * + * @param bMainPollDisWaterSout 排污许可水污染物特殊情况 + * @return 排污许可水污染物特殊情况 + */ + @Override + public List selectBMainPollDisWaterSoutList(BMainPollDisWaterSout bMainPollDisWaterSout) + { + return bMainPollDisWaterSoutMapper.selectBMainPollDisWaterSoutList(bMainPollDisWaterSout); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterToutServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterToutServiceImpl.java new file mode 100644 index 0000000..182dca3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainPollDisWaterToutServiceImpl.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import cn.cecep.talroad.mapper.BMainPollDisWaterToutMapper; +import cn.cecep.talroad.service.IBMainPollDisWaterToutService; +import cn.cecep.talroad.vo.query.BMainPollDisWaterToutQuery; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污许可水污染物排放总计Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainPollDisWaterToutServiceImpl extends ServiceImpl implements IBMainPollDisWaterToutService +{ + @Autowired + private BMainPollDisWaterToutMapper bMainPollDisWaterToutMapper; + + /** + * 查询排污许可水污染物排放总计列表 + * + * @param bMainPollDisWaterTout 排污许可水污染物排放总计 + * @return 排污许可水污染物排放总计 + */ + @Override + public List selectBMainPollDisWaterToutList(BMainPollDisWaterTout bMainPollDisWaterTout) + { + return bMainPollDisWaterToutMapper.selectBMainPollDisWaterToutList(bMainPollDisWaterTout); + } + + @Override + public IPage pullPage(BMainPollDisWaterToutQuery bMainPollDisWaterTout) { + Page page = new Page<>(bMainPollDisWaterTout.getPageNum(), bMainPollDisWaterTout.getPageSize()); + IPage list = bMainPollDisWaterToutMapper.selectPage(page, BMainPollDisWaterToutQuery.createLambdaQueryWrapper(bMainPollDisWaterTout)); + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionInorgGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionInorgGasServiceImpl.java new file mode 100644 index 0000000..566ae99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionInorgGasServiceImpl.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionInorgGas; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.mapper.BMainProductionInorgGasMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.service.IBMainProductionInorgGasService; +import cn.cecep.talroad.service.IProductionManageService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +/** + * 废气无组织排放产治排信息Service业务层处理 + * + * @author szhpt + * @date 2023-02-08*/ +@Service +public class BMainProductionInorgGasServiceImpl extends ServiceImpl implements IBMainProductionInorgGasService +{ + @Autowired + private BMainProductionInorgGasMapper bMainProductionInorgGasMapper; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private IProductionManageService productionManageService; + + @Autowired + private IAmVideoDevFiService videoDevFiService; + + /** + * 查询废气无组织排放产治排信息列表 + * + * @param bMainProductionInorgGas 废气无组织排放产治排信息 + * @return 废气无组织排放产治排信息 + */ + @Override + public List selectBMainProductionInorgGasList(BMainProductionInorgGas bMainProductionInorgGas) + { + return bMainProductionInorgGasMapper.selectBMainProductionInorgGasList(bMainProductionInorgGas); + } + + @Override + public IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + BMainProductionInorgGas inorgGas = getById(id); + + List outlets = outletMapper.selectList(new QueryWrapper() + .eq("outlet_code", inorgGas.getOutletCode()) + .eq("factory_id", inorgGas.getFactoryId()) + .in("pollutant_type", "1", "2") + ); + String outletId = outlets.isEmpty() ? null : outlets.get(0).getId(); + + // 排口关联的工况设备/分表计电设备id列表 + List deviceIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(inorgGas.getCorrespondingProductionId())) { + deviceIds.addAll(Arrays.asList(inorgGas.getCorrespondingProductionId().split(","))); + } + IProductionManageService.SearchVo searchVo = productionManageService.getSearchVo(outletId, deviceIds); + searchVo.setStartTime(startTime); + searchVo.setEndTime(endTime); + searchVo.setPageNum(pageNum); + searchVo.setPageSize(pageSize); + + IProductionManageService.FrameDataVo frameData = productionManageService.getFrameData(searchVo); + frameData.setVideoDevFiVos(videoDevFiService.getGroupList(inorgGas.getFactoryId(), outletId, deviceIds)); + return frameData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionOrganizGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionOrganizGasServiceImpl.java new file mode 100644 index 0000000..4a0462d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionOrganizGasServiceImpl.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionOrganizGas; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.mapper.BMainProductionOrganizGasMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.service.IBMainProductionOrganizGasService; +import cn.cecep.talroad.service.IProductionManageService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +/** + * 废气有组织排放产治排信息Service业务层处理 + * + * @author szhpt + * @date 2023-02-08*/ +@Service +public class BMainProductionOrganizGasServiceImpl extends ServiceImpl implements IBMainProductionOrganizGasService +{ + @Autowired + private BMainProductionOrganizGasMapper bMainProductionOrganizGasMapper; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private IProductionManageService productionManageService; + + @Autowired + private IAmVideoDevFiService videoDevFiService; + + /** + * 查询废气有组织排放产治排信息列表 + * + * @param bMainProductionOrganizGas 废气有组织排放产治排信息 + * @return 废气有组织排放产治排信息 + */ + @Override + public List selectBMainProductionOrganizGasList(BMainProductionOrganizGas bMainProductionOrganizGas) + { + return bMainProductionOrganizGasMapper.selectBMainProductionOrganizGasList(bMainProductionOrganizGas); + } + + @Override + public IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + BMainProductionOrganizGas organizGas = getById(Long.valueOf(id)); + + List outlets = outletMapper.selectList(new QueryWrapper() + .eq("outlet_code", organizGas.getOutletCode()) + .eq("factory_id", organizGas.getFactoryId()) + .in("pollutant_type", "1", "2") + ); + + String outletId = outlets.isEmpty() ? null : outlets.get(0).getId(); + + // 排口关联的工况设备/分表计电设备id列表 + List deviceIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(organizGas.getCepFacilityId())) { + deviceIds.addAll(Arrays.asList(organizGas.getCepFacilityId().split(","))); + } + if (StringUtils.isNotEmpty(organizGas.getProFacilityId())) { + deviceIds.addAll(Arrays.asList(organizGas.getProFacilityId().split(","))); + } + IProductionManageService.SearchVo searchVo = productionManageService.getSearchVo(outletId, deviceIds); + searchVo.setStartTime(startTime); + searchVo.setEndTime(endTime); + searchVo.setPageNum(pageNum); + searchVo.setPageSize(pageSize); + + IProductionManageService.FrameDataVo frameData = productionManageService.getFrameData(searchVo); + frameData.setVideoDevFiVos(videoDevFiService.getGroupList(organizGas.getFactoryId(), outletId, deviceIds)); + return frameData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionWaterServiceImpl.java new file mode 100644 index 0000000..22390ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainProductionWaterServiceImpl.java @@ -0,0 +1,81 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionWater; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.mapper.BMainProductionWaterMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.IAmVideoDevFiService; +import cn.cecep.talroad.service.IBMainProductionWaterService; +import cn.cecep.talroad.service.IProductionManageService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +/** + * 废水排放产治排信息Service业务层处理 + * + * @author szhpt + * @date 2023-02-08*/ +@Service +public class BMainProductionWaterServiceImpl extends ServiceImpl implements IBMainProductionWaterService +{ + @Autowired + private BMainProductionWaterMapper bMainProductionWaterMapper; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private IProductionManageService productionManageService; + + @Autowired + private IAmVideoDevFiService videoDevFiService; + + /** + * 查询废水排放产治排信息列表 + * + * @param bMainProductionWater 废水排放产治排信息 + * @return 废水排放产治排信息 + */ + @Override + public List selectBMainProductionWaterList(BMainProductionWater bMainProductionWater) + { + return bMainProductionWaterMapper.selectBMainProductionWaterList(bMainProductionWater); + } + + @Override + public IProductionManageService.FrameDataVo getFrameData(String id, String startTime, String endTime, Long pageNum, Long pageSize) { + BMainProductionWater productionWater = getById(Long.valueOf(id)); + + List outlets = outletMapper.selectList(new QueryWrapper() + .eq("outlet_code", productionWater.getOutletCode()) + .eq("factory_id", productionWater.getFactoryId()) + .in("pollutant_type", "1", "2") + ); + + String outletId = outlets.isEmpty() ? null : outlets.get(0).getId(); + + // 排口关联的工况设备/分表计电设备id列表 + List deviceIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(productionWater.getCepFacilityId())) { + deviceIds.addAll(Arrays.asList(productionWater.getCepFacilityId().split(","))); + } + IProductionManageService.SearchVo searchVo = productionManageService.getSearchVo(outletId, deviceIds); + searchVo.setStartTime(startTime); + searchVo.setEndTime(endTime); + searchVo.setPageNum(pageNum); + searchVo.setPageSize(pageSize); + + IProductionManageService.FrameDataVo frameData = productionManageService.getFrameData(searchVo); + frameData.setVideoDevFiVos(videoDevFiService.getGroupList(productionWater.getFactoryId(), outletId, deviceIds)); + return frameData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidHazardousServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidHazardousServiceImpl.java new file mode 100644 index 0000000..8e1129d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidHazardousServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainSolidHazardous; +import cn.cecep.talroad.mapper.BMainSolidHazardousMapper; +import cn.cecep.talroad.service.IBMainSolidHazardousService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 固危废贮存信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-18*/ +@Service +public class BMainSolidHazardousServiceImpl extends ServiceImpl implements IBMainSolidHazardousService +{ + @Autowired + private BMainSolidHazardousMapper bMainSolidHazardousMapper; + + /** + * 查询固危废贮存信息列表 + * + * @param bMainSolidHazardous 固危废贮存信息 + * @return 固危废贮存信息 + */ + @Override + public List selectBMainSolidHazardousList(BMainSolidHazardous bMainSolidHazardous) + { + return bMainSolidHazardousMapper.selectBMainSolidHazardousList(bMainSolidHazardous); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidWasteOutputServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidWasteOutputServiceImpl.java new file mode 100644 index 0000000..0ee4343 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSolidWasteOutputServiceImpl.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainSolidWasteOutput; +import cn.cecep.talroad.mapper.BMainSolidWasteOutputMapper; +import cn.cecep.talroad.service.IBMainSolidWasteOutputService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.BMainSolidWasteOutputQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 固废产生与处理Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BMainSolidWasteOutputServiceImpl extends ServiceImpl implements IBMainSolidWasteOutputService +{ + @Autowired + private BMainSolidWasteOutputMapper bMainSolidWasteOutputMapper; + + /** + * 查询固废产生与处理列表 + * + * @param bMainSolidWasteOutput 固废产生与处理 + * @return 固废产生与处理 + */ + @Override + public List selectBMainSolidWasteOutputList(BMainSolidWasteOutput bMainSolidWasteOutput) + { + return bMainSolidWasteOutputMapper.selectBMainSolidWasteOutputList(bMainSolidWasteOutput); + } + + @Override + public EChartsVO getCharData(BMainSolidWasteOutputQuery bMainSolidWasteOutput) { + List bMainSolidWasteOutputs = bMainSolidWasteOutputMapper.selectList(BMainSolidWasteOutputQuery.createLambdaQueryWrapper(bMainSolidWasteOutput)); + + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "产生量"); + put("prop", "materialsOutput"); + }}); + items.add(new HashMap() {{ + put("name", "期初贮存量"); + put("prop", "materialsPreliminaryStage"); + }}); + items.add(new HashMap() {{ + put("name", "累计贮存量"); + put("prop", "materialsAccumulated"); + }}); + items.add(new HashMap() {{ + put("name", "自行利用数量"); + put("prop", "materialsUse"); + }}); + items.add(new HashMap() {{ + put("name", "自行处置数量"); + put("prop", "materialsDispose"); + }}); + items.add(new HashMap() {{ + put("name", "委托利用数量"); + put("prop", "materialsEntrustUse"); + }}); + items.add(new HashMap() {{ + put("name", "委托处置数量"); + put("prop", "materialsEntrustDispose"); + }}); + + List timeRange = DateUtil.rangeToList(DateUtil.parseDate(bMainSolidWasteOutput.getStartDate()), DateUtil.parseDate(bMainSolidWasteOutput.getEndDate()), DateField.MONTH); + + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setUnit("吨"); + + Object[] values = new Object[timeRange.size()]; + bMainSolidWasteOutputs.forEach(x -> { + Object value = BeanUtil.getProperty(x, item.get("prop")); + DateTime dateTime = DateUtil.parse(x.getParticularYear() + (x.getParticularMonth().length() > 1 ? "" : "0") + x.getParticularMonth(), "yyyyMM"); + + values[CollUtil.indexOf(timeRange, y -> DateUtil.compare(y, dateTime, "yyyyMM") == 0)] = value; + }); + +// List values = bMainSolidWasteOutputs.stream().map(o -> BeanUtil.getProperty(o, item.get("prop"))).collect(Collectors.toList()); + ser.setValues(Arrays.asList(values)); + return ser; + }).collect(Collectors.toList()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, "yyyy-MM"), true)); + chartsVO.setSeries(series); + return chartsVO; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSysFeedbackServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSysFeedbackServiceImpl.java new file mode 100644 index 0000000..abecdb6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainSysFeedbackServiceImpl.java @@ -0,0 +1,91 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BMainFile; +import cn.cecep.talroad.domain.BMainSysFeedback; +import cn.cecep.talroad.enums.FileConstant; +import cn.cecep.talroad.mapper.BMainSysFeedbackMapper; +import cn.cecep.talroad.service.IBMainFileService; +import cn.cecep.talroad.service.IBMainSysFeedbackService; +import cn.cecep.talroad.system.api.model.LoginUser; +import cn.cecep.talroad.vo.BMainFileVo; +import cn.cecep.talroad.vo.BMainSysFeedbackVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * 系统使用反馈Service业务层处理 + */ +@Service +public class BMainSysFeedbackServiceImpl extends ServiceImpl implements IBMainSysFeedbackService { + + @Autowired + private IBMainFileService fileService; + + @Override + @Transactional + public void add(BMainSysFeedbackVo.AddForm addForm) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + + BMainSysFeedback entity = new BMainSysFeedback(); + BeanUtils.copyProperties(addForm, entity); + entity.setStatus("1"); // 默认未读 + entity.setCreateBy(loginUser.getUserid().toString()); + entity.setCreateByName(loginUser.getUsername()); + entity.setCreateTime(new Date()); + + save(entity); + + // 保存反馈关联的附件 + if (addForm.getFiles() != null && !addForm.getFiles().isEmpty()) { + List collect = addForm.getFiles().stream().map(o -> { + BMainFile file = new BMainFile(); + file.setFilePath(o.getFilePath()); + file.setFileName(o.getFileName()); + file.setBusinessId(entity.getId()); + file.setBusinessSource(FileConstant.Source.SysFeedback.getCode()); + file.setCreateTime(entity.getCreateTime()); + file.setCreateBy(entity.getCreateBy()); + return file; + }).collect(Collectors.toList()); + + fileService.saveBatch(collect); + } + } + + @Override + public List selectSysFeedbackList(Page page, BMainSysFeedbackVo.SearchVo searchVo) { + List list = baseMapper.selectSysFeedbackList(page, searchVo); + page.setRecords(list); + return list; + } + + @Override + public BMainSysFeedbackVo getInfo(String id) { + BMainSysFeedback byId = getById(id); + BMainSysFeedbackVo vo = new BMainSysFeedbackVo(); + BeanUtils.copyProperties(byId, vo); + + List mainFiles = fileService.list(new QueryWrapper().eq("business_id", id)); + + vo.setFiles(mainFiles.stream().map(o -> { + BMainFileVo.FormVo formVo = new BMainFileVo.FormVo(); + formVo.setFileName(o.getFileName()); + formVo.setFilePath(o.getFilePath()); + return formVo; + }).collect(Collectors.toList())); + + return vo; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcRecordServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcRecordServiceImpl.java new file mode 100644 index 0000000..8cdae00 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcRecordServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import cn.cecep.talroad.mapper.BMainThreeSupervisionEnforcRecordMapper; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcRecordService; +import cn.cecep.talroad.mapper.BMainThreeSupervisionEnforcRecordMapper; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcRecordService; + + + + +/** + * 三监联动执法信息记录Service业务层处理 + * + * @author szhpt + * @date 2023-03-29*/ +@Service +public class BMainThreeSupervisionEnforcRecordServiceImpl extends ServiceImpl implements IBMainThreeSupervisionEnforcRecordService +{ + @Autowired + private BMainThreeSupervisionEnforcRecordMapper bMainThreeSupervisionEnforcRecordMapper; + + /** + * 查询三监联动执法信息记录列表 + * + * @param bMainThreeSupervisionEnforcRecord 三监联动执法信息记录 + * @return 三监联动执法信息记录 + */ + @Override + public List selectBMainThreeSupervisionEnforcRecordList(BMainThreeSupervisionEnforcRecord bMainThreeSupervisionEnforcRecord) + { + return bMainThreeSupervisionEnforcRecordMapper.selectBMainThreeSupervisionEnforcRecordList(bMainThreeSupervisionEnforcRecord); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcServiceImpl.java new file mode 100644 index 0000000..f8ec121 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainThreeSupervisionEnforcServiceImpl.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import cn.cecep.talroad.mapper.BMainThreeSupervisionEnforcMapper; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcService; +import cn.cecep.talroad.util.HttpUtils; +import cn.cecep.talroad.vo.BMainThreeSupervisionEnforcVo; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + + + + +/** + * 三监联动执法信息Service业务层处理 + * + * @author szhpt + * @date 2023-03-29*/ +@Service +public class BMainThreeSupervisionEnforcServiceImpl extends ServiceImpl implements IBMainThreeSupervisionEnforcService +{ + @Autowired + private BMainThreeSupervisionEnforcMapper bMainThreeSupervisionEnforcMapper; + + @Value("${url.threeSupervision}") + private String url; + + /** + * 查询三监联动执法信息列表 + * + * @param bMainThreeSupervisionEnforc 三监联动执法信息 + * @return 三监联动执法信息 + */ + @Override + public List selectBMainThreeSupervisionEnforcList(BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc) + { + return bMainThreeSupervisionEnforcMapper.selectBMainThreeSupervisionEnforcList(bMainThreeSupervisionEnforc); + } + + @Override + public BMainThreeSupervisionEnforcVo selectById(String taskId) { + BMainThreeSupervisionEnforcVo supervisionEnforcVo = bMainThreeSupervisionEnforcMapper.selectTaskById(taskId); + + List recordList = supervisionEnforcVo.getRecordList(); + + Set receivingDeptNames = new HashSet<>(); + + List distinctRecordList = recordList.stream() + .filter(x -> receivingDeptNames.add(x.getHandleDeptName())) + .collect(Collectors.toList()); + supervisionEnforcVo.setReceivingDeptList(distinctRecordList); + + return supervisionEnforcVo; + } + + @Override + public Object xianheGet(Map data,String token) { + return HttpUtils.post("https://air.aepic.net:12015/qyzhgk/sjldTask/GetTaskAccountPage", data,token); + + } + + @Override + public Object xianheGetInfo(String taskId, String authorization) { + return HttpUtils.get("https://air.aepic.net:12015/qyzhgk/sjldTask/GetTaskInfo?taskId="+taskId, authorization); + } + + public Object xianheGetTaskAccount(Map data,String token) { + return HttpUtils.post("https://air.aepic.net:12015/qyzhgk/jgzfDataTask/taskAccount", data,token); + + } + + @Override + public Object xianheGetTaskInfo(String taskId, String authorization) { + return HttpUtils.get("https://air.aepic.net:12015/qyzhgk/jgzfDataTask/getTaskInfo?taskId="+taskId, authorization); + } + @Override + public Object xianheGetCityCodeList(String pid, String authorization) { + return HttpUtils.get("https://air.aepic.net:12015/qyzhgk/syscitycode/GetCityCodeList?pid="+pid, authorization); + } + + @Override + public Object xianheGetCheckTaskAccount(Map data, String authorization) { + return HttpUtils.post("https://air.aepic.net:12015/qyzhgk/jgzfDataTask/checkTaskAccount", data,authorization); + } + + @Override + public Object xianheGetAllUrl(String url, String method, String param, String authorization) { + if("get".equals(method)){ + log.warn("url:"+this.url+url); + log.warn("urlAll:"+this.url+url+(param==null?"":param)); + ResponseEntity stringResponseEntity = HttpUtils.get(this.url + url + (param == null ? "" : param), authorization); + log.warn("结果:"+stringResponseEntity); + return stringResponseEntity; + } + else if("post".equals(method)){ + log.warn("url:"+this.url+url); + log.warn("urlAll:"+this.url+url+"??param:"+(param==null?"":param)); + Map map = JSON.parseObject(param, Map.class); + String stringResponseEntity =HttpUtils.post(this.url+url,map, authorization); + log.warn("结果:"+stringResponseEntity); + return stringResponseEntity; + } + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskServiceImpl.java new file mode 100644 index 0000000..ceac1f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainTwoRandomTask; +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; +import cn.cecep.talroad.mapper.BMainTwoRandomTaskMapper; +import cn.cecep.talroad.mapper.BMainTwoRandomTaskStepMapper; +import cn.cecep.talroad.service.IBMainTwoRandomTaskService; +import cn.cecep.talroad.vo.BMainTwoRandomTaskVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 移动执法信息-双随机任务Service业务层处理 + * + * @author szhpt + * @date 2023-03-29*/ +@Service +public class BMainTwoRandomTaskServiceImpl extends ServiceImpl implements IBMainTwoRandomTaskService +{ + @Autowired + private BMainTwoRandomTaskStepMapper twoRandomTaskStepMapper; + + @Override + public BMainTwoRandomTaskVo getInfo(String id) { + BMainTwoRandomTask byId = getById(id); + BMainTwoRandomTaskVo vo = new BMainTwoRandomTaskVo(); + BeanUtils.copyProperties(byId, vo); + + List steps = twoRandomTaskStepMapper.selectList(new QueryWrapper() + .eq("two_random_task_id", id).orderByAsc("operate_time")); + vo.setSteps(steps); + + // 步骤号从0开始(表示一步都没完成) + int stepNum = 0; + + for (int i = 0; i < steps.size(); i++) { + BMainTwoRandomTaskStep step = steps.get(i); + + // 若操作时间不为空,表示该步骤已完成 + if (StringUtils.isNotEmpty(step.getOperateTime())) { + stepNum = i + 1; // 步骤号=下标加1 + } + } + vo.setStepNum(stepNum); + return vo; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskStepServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskStepServiceImpl.java new file mode 100644 index 0000000..351aa0b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BMainTwoRandomTaskStepServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; +import cn.cecep.talroad.mapper.BMainTwoRandomTaskStepMapper; +import cn.cecep.talroad.service.IBMainTwoRandomTaskStepService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + + +/** + * 移动执法信息-双随机任务-流程步骤Service业务层处理 + * + * @author szhpt + * @date 2023-03-29*/ +@Service +public class BMainTwoRandomTaskStepServiceImpl extends ServiceImpl implements IBMainTwoRandomTaskStepService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTablePwxkWaterAndOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTablePwxkWaterAndOtherServiceImpl.java new file mode 100644 index 0000000..60c5fd1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTablePwxkWaterAndOtherServiceImpl.java @@ -0,0 +1,212 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BStatTableQueryInfo; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.BStatTablePwxkWaterAndOtherService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Collections; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; + + +@Service +public class BStatTablePwxkWaterAndOtherServiceImpl implements BStatTablePwxkWaterAndOtherService { + + @Autowired + private PcFactoryServiceImpl pcFactoryService; + + @Autowired + private BStatTablePwxkWaterTreatmentLineMapper lineMapper; + @Autowired + private BStatTablePwxkWaterLifeInMapper lifeInMapper; + @Autowired + private BStatTablePwxkWaterTreatmentInAskMapper askMapper; + @Autowired + private BStatTablePwxkWaterIndustryInMapper industryInMapper; + @Autowired + private BStatTablePwxkWaterIndustryInTotalMapper industryInTotalMapper; + @Autowired + private BMainHazardousSolidWasteMapper solidWasteMapper; + @Autowired + private BMainHazardousSolidWasteFaMapper solidWasteFaMapper; + @Autowired + private BMainPollDisEnforcementMapper enforcementMapper; + @Autowired + private BMainPollDisInformationMapper informationMapper; + @Autowired + private BMainPollDisEmlRecordMapper emlRecordMapper; + @Autowired + private BMainPollDisNoiseRegulationMapper disNoiseRegulationMapper; + @Autowired + private BStatTablePwxkProductsMapper pwxkProductsMapper; + @Autowired + private BStatTableQueryInfoMapper queryInfoMapper; + @Autowired + private BStatTablePwxkProductionFacilitiesMapper productionFacilitiesMapper; + @Override + public AjaxResults> selectProductLine(BStatTablepPwxkWaterQuery query) { + + return selectData(lineMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectLifeIn(BStatTablepPwxkWaterQuery query) { + + return selectData(lifeInMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectIndustryIn(BStatTablepPwxkWaterQuery query) { + + return selectData(industryInMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectTreatmentInAsk(BStatTablepPwxkWaterQuery query) { + + return selectData(askMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectIndustryInTotal(BStatTablepPwxkWaterQuery query) { + + return selectData(industryInTotalMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectHazardousSolidWaste(BStatTablepPwxkWaterQuery query) { + + return selectData(solidWasteMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectHazardousSolidWasteFa(BStatTablepPwxkWaterQuery query) { + return selectData(solidWasteFaMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectEnforceComplianceReportingRequirements(BStatTablepPwxkWaterQuery query) { + return selectData(enforcementMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectPollDisInformation(BStatTablepPwxkWaterQuery query) { + return selectData(informationMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectBMainPollDisEmlRecord(BStatTablepPwxkWaterQuery query) { + return selectData(emlRecordMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectBMainPollDisNoiseRegulation(BStatTablepPwxkWaterQuery query) { + return selectData(disNoiseRegulationMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults> selectProducts(BStatTablepPwxkWaterQuery query) { + return selectData(pwxkProductsMapper::selectListAndFactory,query); + } + + @Override + public AjaxResults saveQueryContent(BStatTableQueryInfo query) { + query.setQueryUserId(SecurityUtils.getLoginUser().getSysUser().getUserId().toString()); + query.setTableStatus("0"); + return AjaxResults.success(queryInfoMapper.insert(query)); + } + + @Override + public AjaxResults> selectProductionFacilities(BStatTablepPwxkWaterQuery query) { + return selectData(productionFacilitiesMapper::selectListAndFactory,query); + } + + /** + * 获取企业id + * @param query 高级查询查询条件 + * @return 企业id + */ + public IPage getFactoryIdList(BStatTablepPwxkWaterQuery query){ + /* Map> map = new HashMap<>(); + for (Map.Entry entry : query.getLabelMap().entrySet()) { + Object value = entry.getValue(); + if (value instanceof String){ + List stringList =new ArrayList<>(); + stringList.add((String)value); + map.put(entry.getKey(),stringList); + }else { + map.put(entry.getKey(),(List) value); + } + + } + long l = System.currentTimeMillis(); + Page page = new Page<>(query.getPageNum(),query.getPageSize()); + List stringList = mapper.selectId(page, map, query.getFactoryName()); + long l1 = System.currentTimeMillis(); + System.out.println((l1-l)+"毫秒"); + page.setRecords(stringList); + return page ;*/ + Page page; + Page result=new Page<>(); + if(query.getPageNum()!=null){ + page = new Page<>(query.getPageNum(),query.getPageSize()); + }else { + page = new Page<>(1,Integer.MAX_VALUE); + } + if(StringUtils.isBlank(query.getFactoryName()) && Collections.isEmpty(query.getLabelMap())&&query.getExportOperate()){ + BeanUtils.copyProperties(page, result); + return result; + + } + PcFactoryQuery.SearchVo searchVo=new PcFactoryQuery.SearchVo(); + BeanUtils.copyProperties(query,searchVo); + + List search = pcFactoryService.search(page, searchVo, null, SecurityUtils.getLoginUser().getSysUser().getRegionCode()); + + BeanUtils.copyProperties(page, result); + + result.setRecords(search.stream().map(PcFactoryVo::getId).collect(Collectors.toList())); + return result; + } + + + public AjaxResults> selectData(Function,List> selectListFunction, + BStatTablepPwxkWaterQuery query) { + Page page = new Page<>(); + IPage factoryIdList = getFactoryIdList(query); + BeanUtils.copyProperties(factoryIdList, page); + if (factoryIdList.getRecords().size() < 1&&!query.getExportOperate()) { + return AjaxResults.success(page); + } + List result = selectListFunction.apply(factoryIdList.getRecords()); + page.setRecords(result); + return AjaxResults.success(page); + } + public AjaxResults> selectDataByQuery(Function> selectListFunction, + BStatTablepPwxkWaterQuery query) { + Page page = new Page<>(); + IPage factoryIdList = getFactoryIdList(query); + BeanUtils.copyProperties(factoryIdList, page); + if (factoryIdList.getRecords().size() < 1&&!query.getExportOperate()) { + return AjaxResults.success(page); + } + query.setFactoryIdList(factoryIdList.getRecords()); + List result = selectListFunction.apply(query); + page.setRecords(result); + return AjaxResults.success(page); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgJbxxInfoServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgJbxxInfoServiceImpl.java new file mode 100644 index 0000000..2429ceb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgJbxxInfoServiceImpl.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import cn.cecep.talroad.mapper.BStatTableZxbgJbxxInfoMapper; +import cn.cecep.talroad.service.IBStatTableZxbgJbxxInfoService; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 固定源产排治--执行报告--企业基本信息Service业务层处理 + * + * @author szhpt + * @date 2023-07-27*/ +@Service +public class BStatTableZxbgJbxxInfoServiceImpl extends ServiceImpl implements IBStatTableZxbgJbxxInfoService +{ + @Autowired + private BStatTableZxbgJbxxInfoMapper bStatTableZxbgJbxxInfoMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTableWaterService; + /** + * 查询固定源产排治--执行报告--企业基本信息列表 + * + * @param bStatTableZxbgJbxxInfo 固定源产排治--执行报告--企业基本信息 + * @return 固定源产排治--执行报告--企业基本信息 + */ + @Override + public List selectBStatTableZxbgJbxxInfoList(BStatTableZxbgJbxxInfo bStatTableZxbgJbxxInfo) + { + return bStatTableZxbgJbxxInfoMapper.selectBStatTableZxbgJbxxInfoList(bStatTableZxbgJbxxInfo); + } + + @Override + public AjaxResults> selectBStatTableZxbgJbxxInfoListBy(BStatTablepPwxkWaterQuery query) { + return bStatTableWaterService.selectDataByQuery(bStatTableZxbgJbxxInfoMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOtherServiceImpl.java new file mode 100644 index 0000000..f30af40 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOtherServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirOtherMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOtherService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirOtherMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOtherService; + + + + +/** + * 固定源产排治--执行报告--废气其他排放总计Service业务层处理 + * + * @author szhpt + * @date 2023-07-27*/ +@Service +public class BStatTableZxbgPflAirOtherServiceImpl extends ServiceImpl implements IBStatTableZxbgPflAirOtherService +{ + @Autowired + private BStatTableZxbgPflAirOtherMapper bStatTableZxbgPflAirOtherMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废气其他排放总计列表 + * + * @param bStatTableZxbgPflAirOther 固定源产排治--执行报告--废气其他排放总计 + * @return 固定源产排治--执行报告--废气其他排放总计 + */ + @Override + public List selectBStatTableZxbgPflAirOtherList(BStatTableZxbgPflAirOther bStatTableZxbgPflAirOther) + { + return bStatTableZxbgPflAirOtherMapper.selectBStatTableZxbgPflAirOtherList(bStatTableZxbgPflAirOther); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflAirOtherListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflAirOtherMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOverproofServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOverproofServiceImpl.java new file mode 100644 index 0000000..2735f9c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirOverproofServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirOverproofMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOverproofService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirOverproofMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirOverproofService; + + + + +/** + * 固定源产排治--执行报告--废气超标排放信息Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPflAirOverproofServiceImpl extends ServiceImpl implements IBStatTableZxbgPflAirOverproofService +{ + @Autowired + private BStatTableZxbgPflAirOverproofMapper bStatTableZxbgPflAirOverproofMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废气超标排放信息列表 + * + * @param bStatTableZxbgPflAirOverproof 固定源产排治--执行报告--废气超标排放信息 + * @return 固定源产排治--执行报告--废气超标排放信息 + */ + @Override + public List selectBStatTableZxbgPflAirOverproofList(BStatTableZxbgPflAirOverproof bStatTableZxbgPflAirOverproof) + { + return bStatTableZxbgPflAirOverproofMapper.selectBStatTableZxbgPflAirOverproofList(bStatTableZxbgPflAirOverproof); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflAirOverproofListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflAirOverproofMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirServiceImpl.java new file mode 100644 index 0000000..ed2591a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirServiceImpl.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.BStatTablePwxkWaterAndOtherService; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirService; + + + + +/** + * 固定源产排治--执行报告--废气实际排放量Service业务层处理 + * + * @author szhpt + * @date 2023-07-27*/ +@Service +public class BStatTableZxbgPflAirServiceImpl extends ServiceImpl implements IBStatTableZxbgPflAirService +{ + @Autowired + private BStatTableZxbgPflAirMapper bStatTableZxbgPflAirMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废气实际排放量列表 + * + * @param bStatTableZxbgPflAir 固定源产排治--执行报告--废气实际排放量 + * @return 固定源产排治--执行报告--废气实际排放量 + */ + @Override + public List selectBStatTableZxbgPflAirList(BStatTableZxbgPflAir bStatTableZxbgPflAir) + { + return bStatTableZxbgPflAirMapper.selectBStatTableZxbgPflAirList(bStatTableZxbgPflAir); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflAirListBy(BStatTablepPwxkWaterQuery query) { + + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflAirMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirSpecialServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirSpecialServiceImpl.java new file mode 100644 index 0000000..f9c5930 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirSpecialServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirSpecialMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirSpecialService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirSpecialMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirSpecialService; + + + + +/** + * 固定源产排治--执行报告--特殊时段废气排放量Service业务层处理 + * + * @author szhpt + * @date 2023-07-31*/ +@Service +public class BStatTableZxbgPflAirSpecialServiceImpl extends ServiceImpl implements IBStatTableZxbgPflAirSpecialService +{ + @Autowired + private BStatTableZxbgPflAirSpecialMapper bStatTableZxbgPflAirSpecialMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--特殊时段废气排放量列表 + * + * @param bStatTableZxbgPflAirSpecial 固定源产排治--执行报告--特殊时段废气排放量 + * @return 固定源产排治--执行报告--特殊时段废气排放量 + */ + @Override + public List selectBStatTableZxbgPflAirSpecialList(BStatTableZxbgPflAirSpecial bStatTableZxbgPflAirSpecial) + { + return bStatTableZxbgPflAirSpecialMapper.selectBStatTableZxbgPflAirSpecialList(bStatTableZxbgPflAirSpecial); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflAirSpecialListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflAirSpecialMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirStatServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirStatServiceImpl.java new file mode 100644 index 0000000..10d2937 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflAirStatServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirStatMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirStatService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflAirStatMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; +import cn.cecep.talroad.service.IBStatTableZxbgPflAirStatService; + + + + +/** + * 固定源产排治--执行报告--总计废气实际排放量Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPflAirStatServiceImpl extends ServiceImpl implements IBStatTableZxbgPflAirStatService +{ + @Autowired + private BStatTableZxbgPflAirStatMapper bStatTableZxbgPflAirStatMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--总计废气实际排放量列表 + * + * @param bStatTableZxbgPflAirStat 固定源产排治--执行报告--总计废气实际排放量 + * @return 固定源产排治--执行报告--总计废气实际排放量 + */ + @Override + public List selectBStatTableZxbgPflAirStatList(BStatTableZxbgPflAirStat bStatTableZxbgPflAirStat) + { + return bStatTableZxbgPflAirStatMapper.selectBStatTableZxbgPflAirStatList(bStatTableZxbgPflAirStat); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflAirStatListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflAirStatMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterServiceImpl.java new file mode 100644 index 0000000..ce51c35 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; +import cn.cecep.talroad.mapper.BStatTableZxbgPflWaterMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflWaterMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterService; + + + + +/** + * 固定源产排治--执行报告--废水实际排放量Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPflWaterServiceImpl extends ServiceImpl implements IBStatTableZxbgPflWaterService +{ + @Autowired + private BStatTableZxbgPflWaterMapper bStatTableZxbgPflWaterMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废水实际排放量列表 + * + * @param bStatTableZxbgPflWater 固定源产排治--执行报告--废水实际排放量 + * @return 固定源产排治--执行报告--废水实际排放量 + */ + @Override + public List selectBStatTableZxbgPflWaterList(BStatTableZxbgPflWater bStatTableZxbgPflWater) + { + return bStatTableZxbgPflWaterMapper.selectBStatTableZxbgPflWaterList(bStatTableZxbgPflWater); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflWaterListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflWaterMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterVoerproofServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterVoerproofServiceImpl.java new file mode 100644 index 0000000..4519a69 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflWaterVoerproofServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; +import cn.cecep.talroad.mapper.BStatTableZxbgPflWaterVoerproofMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterVoerproofService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflWaterVoerproofMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; +import cn.cecep.talroad.service.IBStatTableZxbgPflWaterVoerproofService; + + + + +/** + * 固定源产排治--执行报告--废水超标排放信息Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPflWaterVoerproofServiceImpl extends ServiceImpl implements IBStatTableZxbgPflWaterVoerproofService +{ + @Autowired + private BStatTableZxbgPflWaterVoerproofMapper bStatTableZxbgPflWaterVoerproofMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废水超标排放信息列表 + * + * @param bStatTableZxbgPflWaterVoerproof 固定源产排治--执行报告--废水超标排放信息 + * @return 固定源产排治--执行报告--废水超标排放信息 + */ + @Override + public List selectBStatTableZxbgPflWaterVoerproofList(BStatTableZxbgPflWaterVoerproof bStatTableZxbgPflWaterVoerproof) + { + return bStatTableZxbgPflWaterVoerproofMapper.selectBStatTableZxbgPflWaterVoerproofList(bStatTableZxbgPflWaterVoerproof); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflWaterVoerproofListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflWaterVoerproofMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflallWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflallWaterServiceImpl.java new file mode 100644 index 0000000..27ad0ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPflallWaterServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; +import cn.cecep.talroad.mapper.BStatTableZxbgPflallWaterMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPflallWaterService; +import cn.cecep.talroad.mapper.BStatTableZxbgPflallWaterMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; +import cn.cecep.talroad.service.IBStatTableZxbgPflallWaterService; + + + + +/** + * 固定源产排治--执行报告--总计废水实际排放量Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPflallWaterServiceImpl extends ServiceImpl implements IBStatTableZxbgPflallWaterService +{ + @Autowired + private BStatTableZxbgPflallWaterMapper bStatTableZxbgPflallWaterMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--总计废水实际排放量列表 + * + * @param bStatTableZxbgPflallWater 固定源产排治--执行报告--总计废水实际排放量 + * @return 固定源产排治--执行报告--总计废水实际排放量 + */ + @Override + public List selectBStatTableZxbgPflallWaterList(BStatTableZxbgPflallWater bStatTableZxbgPflallWater) + { + return bStatTableZxbgPflallWaterMapper.selectBStatTableZxbgPflallWaterList(bStatTableZxbgPflallWater); + } + + @Override + public AjaxResults> selectBStatTableZxbgPflallWaterListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPflallWaterMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPfltotalWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPfltotalWaterServiceImpl.java new file mode 100644 index 0000000..e259673 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgPfltotalWaterServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; +import cn.cecep.talroad.mapper.BStatTableZxbgPfltotalWaterMapper; +import cn.cecep.talroad.service.IBStatTableZxbgPfltotalWaterService; +import cn.cecep.talroad.mapper.BStatTableZxbgPfltotalWaterMapper; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; +import cn.cecep.talroad.service.IBStatTableZxbgPfltotalWaterService; + + + + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)Service业务层处理 + * + * @author szhpt + * @date 2023-07-28*/ +@Service +public class BStatTableZxbgPfltotalWaterServiceImpl extends ServiceImpl implements IBStatTableZxbgPfltotalWaterService +{ + @Autowired + private BStatTableZxbgPfltotalWaterMapper bStatTableZxbgPfltotalWaterMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--废水正常排放总计(一般排放口)列表 + * + * @param bStatTableZxbgPfltotalWater 固定源产排治--执行报告--废水正常排放总计(一般排放口) + * @return 固定源产排治--执行报告--废水正常排放总计(一般排放口) + */ + @Override + public List selectBStatTableZxbgPfltotalWaterList(BStatTableZxbgPfltotalWater bStatTableZxbgPfltotalWater) + { + return bStatTableZxbgPfltotalWaterMapper.selectBStatTableZxbgPfltotalWaterList(bStatTableZxbgPfltotalWater); + } + + @Override + public AjaxResults> selectBStatTableZxbgPfltotalWaterListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgPfltotalWaterMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlAbnormalitiesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlAbnormalitiesServiceImpl.java new file mode 100644 index 0000000..d4f00ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlAbnormalitiesServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlAbnormalitiesMapper; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlAbnormalitiesService; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlAbnormalitiesMapper; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlAbnormalitiesService; + + + + +/** + * 固定源产排治--执行报告--污染治理设施异常情况Service业务层处理 + * + * @author szhpt + * @date 2023-07-31*/ +@Service +public class BStatTableZxbgWrzlAbnormalitiesServiceImpl extends ServiceImpl implements IBStatTableZxbgWrzlAbnormalitiesService +{ + @Autowired + private BStatTableZxbgWrzlAbnormalitiesMapper bStatTableZxbgWrzlAbnormalitiesMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--污染治理设施异常情况列表 + * + * @param bStatTableZxbgWrzlAbnormalities 固定源产排治--执行报告--污染治理设施异常情况 + * @return 固定源产排治--执行报告--污染治理设施异常情况 + */ + @Override + public List selectBStatTableZxbgWrzlAbnormalitiesList(BStatTableZxbgWrzlAbnormalities bStatTableZxbgWrzlAbnormalities) + { + return bStatTableZxbgWrzlAbnormalitiesMapper.selectBStatTableZxbgWrzlAbnormalitiesList(bStatTableZxbgWrzlAbnormalities); + } + + @Override + public AjaxResults> selectBStatTableZxbgWrzlAbnormalitiesListBy(BStatTablepPwxkWaterQuery query) { + + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgWrzlAbnormalitiesMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlTotalServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlTotalServiceImpl.java new file mode 100644 index 0000000..5649a39 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BStatTableZxbgWrzlTotalServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.vo.query.BStatTablepPwxkWaterQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlTotalMapper; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlTotalService; +import cn.cecep.talroad.mapper.BStatTableZxbgWrzlTotalMapper; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.service.IBStatTableZxbgWrzlTotalService; + + + + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总Service业务层处理 + * + * @author szhpt + * @date 2023-07-31*/ +@Service +public class BStatTableZxbgWrzlTotalServiceImpl extends ServiceImpl implements IBStatTableZxbgWrzlTotalService +{ + @Autowired + private BStatTableZxbgWrzlTotalMapper bStatTableZxbgWrzlTotalMapper; + @Autowired + private BStatTablePwxkWaterAndOtherServiceImpl bStatTablePwxkWaterAndOtherService; + /** + * 查询固定源产排治--执行报告--污染治理设施正常情况汇总列表 + * + * @param bStatTableZxbgWrzlTotal 固定源产排治--执行报告--污染治理设施正常情况汇总 + * @return 固定源产排治--执行报告--污染治理设施正常情况汇总 + */ + @Override + public List selectBStatTableZxbgWrzlTotalList(BStatTableZxbgWrzlTotal bStatTableZxbgWrzlTotal) + { + return bStatTableZxbgWrzlTotalMapper.selectBStatTableZxbgWrzlTotalList(bStatTableZxbgWrzlTotal); + } + + @Override + public AjaxResults> selectBStatTableZxbgWrzlTotalListBy(BStatTablepPwxkWaterQuery query) { + return bStatTablePwxkWaterAndOtherService.selectDataByQuery(bStatTableZxbgWrzlTotalMapper::selectListAndFactory,query); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasControlValueServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasControlValueServiceImpl.java new file mode 100644 index 0000000..3cb0201 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasControlValueServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.redis.service.RedisService; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.mapper.BasControlValueMapper; +import cn.cecep.talroad.domain.BasControlValue; +import cn.cecep.talroad.service.IBasControlValueService; + +/** + * basControlValueService业务层处理 + * + * @author admin + * @date 2023-06-27 + */ +@Service +public class BasControlValueServiceImpl extends ServiceImpl implements IBasControlValueService +{ + @Autowired + private BasControlValueMapper basControlValueMapper; + @Autowired + private RedisService redisService; + /** + * 查询basControlValue列表 + * + * @param basControlValue basControlValue + * @return basControlValue + */ + @Override + public List selectBasControlValueList(BasControlValue basControlValue) + { + return basControlValueMapper.selectBasControlValueList(basControlValue); + } + + @Override + public BasControlValue selectByFactoryId(String factoryId, String industry, String deviceType) { + String key = "bas_control_value_"+factoryId+industry+deviceType; + BasControlValue basControlValue = redisService.getCacheObject(key); + if(basControlValue==null){ + basControlValue = basControlValueMapper.selectByFactoryId(factoryId,industry,deviceType); + redisService.setCacheObject(key,basControlValue,1L, TimeUnit.DAYS); + } + + return basControlValue; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDcsOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDcsOperationLogServiceImpl.java new file mode 100644 index 0000000..ad8d5c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDcsOperationLogServiceImpl.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasDcsOperationLog; +import cn.cecep.talroad.mapper.BasDcsOperationLogMapper; +import cn.cecep.talroad.service.IBasDcsOperationLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +/** + * 视频监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +@Slf4j +public class BasDcsOperationLogServiceImpl extends ServiceImpl implements IBasDcsOperationLogService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDevToElecServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDevToElecServiceImpl.java new file mode 100644 index 0000000..d8f22dc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDevToElecServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasDevToElec; +import cn.cecep.talroad.mapper.BasDevToElecMapper; +import cn.cecep.talroad.service.IBasDevToElecService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 有组织-分表计电设备对应Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BasDevToElecServiceImpl extends ServiceImpl implements IBasDevToElecService +{ + @Autowired + private BasDevToElecMapper basDevToElecMapper; + + /** + * 查询有组织-分表计电设备对应列表 + * + * @param basDevToElec 有组织-分表计电设备对应 + * @return 有组织-分表计电设备对应 + */ + @Override + public List selectBasDevToElecList(BasDevToElec basDevToElec) + { + return basDevToElecMapper.selectBasDevToElecList(basDevToElec); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceConfigServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceConfigServiceImpl.java new file mode 100644 index 0000000..d90161c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceConfigServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.mapper.BasDeviceConfigMapper; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.mapper.BasDeviceConfigMapper; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.service.IBasDeviceConfigService; + + + + +/** + * 企业设备参数配置Service业务层处理 + * + * @author szhpt + * @date 2023-04-05*/ +@Service +public class BasDeviceConfigServiceImpl extends ServiceImpl implements IBasDeviceConfigService +{ + @Autowired + private BasDeviceConfigMapper basDeviceConfigMapper; + + /** + * 查询企业设备参数配置列表 + * + * @param basDeviceConfig 企业设备参数配置 + * @return 企业设备参数配置 + */ + @Override + public List selectBasDeviceConfigList(BasDeviceConfig basDeviceConfig) + { + return basDeviceConfigMapper.selectBasDeviceConfigList(basDeviceConfig); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceParamServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceParamServiceImpl.java new file mode 100644 index 0000000..23de6bd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceParamServiceImpl.java @@ -0,0 +1,170 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BasDcsOperationLog; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.mapper.BasDeviceParamMapper; +import cn.cecep.talroad.service.IBasDcsOperationLogService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.vo.*; +import cn.hutool.core.bean.BeanUtil; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.seata.common.util.CollectionUtils; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.LongStream; + + + + +/** + * 各设备的监测参数属性Service业务层处理 + * + * @author szhpt + * @date 2023-01-10 + */ +@Service +public class BasDeviceParamServiceImpl extends ServiceImpl implements IBasDeviceParamService { + @Autowired + private BasDeviceParamMapper basDeviceParamMapper; + @Autowired + private IBasDcsOperationLogService basDcsOperationLogService; + @Autowired + private IBasDeviceService basDeviceService; + + /** + * 查询各设备的监测参数属性列表 + * + * @param basDeviceParam 各设备的监测参数属性 + * @return 各设备的监测参数属性 + */ + @Override + public List selectBasDeviceParamList(BasDeviceParam basDeviceParam) { + return basDeviceParamMapper.selectBasDeviceParamList(basDeviceParam); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void editBatch(BasDeviceParamVo[] basDeviceParamVoArr) { + List basDeviceParamVoList = Arrays.asList(basDeviceParamVoArr); + //赋值 + List basDeviceParamList = new ArrayList<>(); + basDeviceParamVoList.forEach(e -> { + BasDeviceParam basDeviceParam = new BasDeviceParam(); + BeanUtil.copyProperties(e, basDeviceParam); + basDeviceParamList.add(basDeviceParam); + }); + + //记录操作日志 + List basDcsOperationLogList = new ArrayList<>(); + basDeviceParamList.forEach(e -> { + boolean isInsert = false; + BasDeviceParam basDeviceParam = this.getById(e.getId()); + BasDevice basDevice = basDeviceService.getById(basDeviceParam.getDeviceId()); + + BasDcsOperationLog basDcsOperationLog = new BasDcsOperationLog(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + basDcsOperationLog.setLogId(uuid); + basDcsOperationLog.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + basDcsOperationLog.setDeviceId(basDeviceParam.getDeviceId()); + basDcsOperationLog.setWorkProcedure(basDevice.getWorkStep()); + basDcsOperationLog.setDeviceName(basDevice.getName()); + basDcsOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); +// basDcsOperationLog.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + basDcsOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + basDcsOperationLog.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + basDcsOperationLog.setParamName(e.getParamName()); + if ((e.getParamUnit() != null && !e.getParamUnit().equals(basDeviceParam.getParamUnit())) + || (basDeviceParam.getParamUnit() != null && !basDeviceParam.getParamUnit().equals(e.getParamUnit()))) { + basDcsOperationLog.setBeforeModifyParamUnit(basDeviceParam.getParamUnit()); + basDcsOperationLog.setAfterModifyParamUnit(e.getParamUnit()); + isInsert = true; + } + if ((e.getMaxValue() != null && !e.getMaxValue().equals(basDeviceParam.getMaxValue())) + || (basDeviceParam.getMaxValue() != null && !basDeviceParam.getMaxValue().equals(e.getMaxValue()))) { + basDcsOperationLog.setBeforeModifyMaxValue(basDeviceParam.getMaxValue()); + basDcsOperationLog.setAfterModifyMaxValue(e.getMaxValue()); + isInsert = true; + + } + + if ((e.getMinValue() != null && !e.getMinValue().equals(basDeviceParam.getMinValue())) + || (basDeviceParam.getMinValue() != null && !basDeviceParam.getMinValue().equals(e.getMinValue()))) { + basDcsOperationLog.setBeforeModifyMinValue(basDeviceParam.getMinValue()); + basDcsOperationLog.setAfterModifyMinValue(e.getMinValue()); + isInsert = true; + + } + + if ((e.getNormalValue() != null && !e.getNormalValue().equals(basDeviceParam.getNormalValue())) + || (basDeviceParam.getNormalValue() != null && !basDeviceParam.getNormalValue().equals(e.getNormalValue()))) { + basDcsOperationLog.setBeforeModifyNormalValue(basDeviceParam.getNormalValue()); + basDcsOperationLog.setAfterModifyNormalValue(e.getNormalValue()); + isInsert = true; + + } + if (isInsert) { + basDcsOperationLogList.add(basDcsOperationLog); + } + }); + basDeviceParamMapper.updateValue(basDeviceParamVoList); + if (CollectionUtils.isNotEmpty(basDcsOperationLogList)) { + basDcsOperationLogService.saveBatch(basDcsOperationLogList); + } + } + + @Override + public int setParamInfo() { + PrimitiveIterator.OfLong iterator = LongStream.iterate(1L, k -> k + 1L).iterator(); + List setParamInfoVoList = basDeviceParamMapper.queryNeedUpdateParamInfo(); + + for (BasDeviceParam basDeviceParam : setParamInfoVoList) { + basDeviceParam.setId(iterator.next()); + basDeviceParam.setFacilityType(""); + basDeviceParam.setIsOnline(1L); + basDeviceParam.setStandbyNum(1L); + basDeviceParam.setMultiNum(1L); + } + for (int i = 0; i < setParamInfoVoList.size(); i += 1000) { + int start = i; + int end = Math.min(i + 1000, setParamInfoVoList.size()); + List subList = setParamInfoVoList.subList(start, end); + basDeviceParamMapper.batchInsert(subList); + } + + return 1; + } + + + @Override + public List selectBasDeviceParamByCondition(String deviceId, List asList) { + + return basDeviceParamMapper.selectBasDeviceParamByCondition(deviceId,asList); + } + + @Override + public List queryByDeviceIdListAndIndustry(List deviceIdList, String industry, String paramName) { + return basDeviceParamMapper.queryByDeviceIdListAndIndustry(deviceIdList,industry, paramName); + } + + @Override + public List selectBasDeviceParamByAnalyse(String deviceId,String dataType, List codeList) { + return basDeviceParamMapper.selectBasDeviceParamByAnalyse(deviceId,dataType,codeList); + } + + @Override + public List getParamCodeSvcByDeviceParamIds(List list){ + if(CollectionUtils.isEmpty(list)){ + return new ArrayList<>(); + } + return basDeviceParamMapper.getParamCodeSvcByDeviceParamIds(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSalAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSalAnalysisServiceImpl.java new file mode 100644 index 0000000..584e6f8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSalAnalysisServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.mapper.BasDeviceSalAnalysisMapper; +import cn.cecep.talroad.service.IBasDeviceSalAnalysisService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-29 10:50 + * @Class: BasDeviceSalAnalysisServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Service +public class BasDeviceSalAnalysisServiceImpl extends ServiceImpl implements IBasDeviceSalAnalysisService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceServiceImpl.java new file mode 100644 index 0000000..c9abca7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceServiceImpl.java @@ -0,0 +1,1010 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCoMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisConverterService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.EnStatTimeType; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.util.VoToString; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.CoDeviceTypeCountVO; +import cn.cecep.talroad.vo.query.BasDeviceDCSSystemParamQuery; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.stream.CollectorUtil; +import cn.hutool.core.util.ArrayUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Maps; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 设备信息(有组织)Service业务层处理 + * + * @author szhpt + * @date 2023-01-10 + */ +@Service +public class BasDeviceServiceImpl extends ServiceImpl implements IBasDeviceService { + @Autowired + private BasDeviceMapper basDeviceMapper; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasProductionDeviceOperationLogService basProductionDeviceOperationLogService; + @Autowired + private IMonDevRealService monDevRealService; + @Autowired + private IMonDevHourService monDevHourService; + @Autowired + private IMonDevOtherService monDevOtherService; + @Autowired + private IMonDevJhRealService monDevJhRealService; + @Autowired + private IMonDevJhHourService monDevJhHourService; + @Autowired + private IMonDevJhOtherService monDevJhOtherService; + @Autowired + private IMonDevSnRealService monDevSnRealService; + @Autowired + private IMonDevSnHourService monDevSnHourService; + @Autowired + private IMonDevSnOtherService monDevSnOtherService; + @Autowired + private IMonDevBlRealService monDevBlRealService; + @Autowired + private IMonDevBlHourService monDevBlHourService; + @Autowired + private IMonDevBlOtherService monDevBlOtherService; + @Autowired + private IMonDevDlRealService monDevDlRealService; + @Autowired + private IMonDevDlHourService monDevDlHourService; + @Autowired + private IMonDevDlOtherService monDevDlOtherService; + @Autowired + private IMonDevFsRealService monDevFsRealService; + @Autowired + private IMonDevFsHourService monDevFsHourService; + @Autowired + private IMonDevFsOtherService monDevFsOtherService; + + @Autowired + private IBasDeviceParamService deviceParamService; + + @Autowired + private IBasParamService paramService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Autowired + private IBasDeviceZlConfigService basDeviceZlConfigService; + + @Autowired + private SRaRealTimeAnalysisCoMapper sRaRealTimeAnalysisCoMapper; + + + /** + * 查询设备信息(有组织)列表 + * + * @param basDevice 设备信息(有组织) + * @return 设备信息(有组织) + */ + @Override + public List selectBasDeviceList(BasDevice basDevice) { + return basDeviceMapper.selectBasDeviceList(basDevice); + } + + /** + * 该段代码拷贝自唐山市企业精准减排与管控平台 + * 项目地址:http://10.0.206.25/local_projects/he_bei/tangshan/jian-pai-guan-kong/new-tangshan/gkpt-service.git + * 类与方法:bw.gkpt.svc.web.main.controller.MonitorController.getDeviceDataByType + */ + @Override + public void getDeviceDataByType(String timeType, String industry, String factoryId, String deviceId, String deviceType, String startTime, String endTime, String orderField, String orderType, Page page) { + EnIndustry enIndustry = EnIndustry.getEnumById(industry); + if (enIndustry == null) { + throw new RuntimeException("非法的行业参数:" + industry); + } + + EnStatTimeType enStatTimeType = EnStatTimeType.getEnumById(timeType); + if (enStatTimeType == null) { + enStatTimeType = EnStatTimeType.REAL; + } + if (StringUtils.isBlank(orderField)) { + orderField = "data_time"; + } + + List deviceIds; + if (StringUtils.isNotBlank(deviceId)) { + deviceIds = new ArrayList<>(Arrays.asList(deviceId.split(","))); + } else { + deviceIds = list(new QueryWrapper() + .eq("factory_id", factoryId) + .eq("industry", industry) + .eq("type", deviceType) + .gt("status", 0) + ).stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + } + if (CollectionUtils.isEmpty(deviceIds)) { + return; + } + + // 日期格式统一设置为yyyy-MM-dd HH:mm:ss + startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateUtils.parseDate(startTime)); + endTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateUtils.parseDate(endTime)); + + try { + VoToString.paramThreadLocal.set(paramService.list(new QueryWrapper().eq("status", 1).orderByAsc("show_order"))); + VoToString.deviceThreadLocal.set(listByIds(deviceIds)); + VoToString.deviceParamThreadLocal.set(deviceParamService.list(new QueryWrapper().in("device_id", deviceIds))); + + if (EnIndustry.GT == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_GT(list, deviceType, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_GT(list, deviceType, true); + page.setRecords(vos); + } else { + List list = monDevOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_GT(list, deviceType, true); + page.setRecords(vos); + } + } else if (EnIndustry.JH == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevJhRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_JH(list, deviceType, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevJhHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_JH(list, deviceType, true); + page.setRecords(vos); + } else { + List list = monDevJhOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_JH(list, deviceType, true); + page.setRecords(vos); + } + } else if (EnIndustry.SN == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevSnRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_SN(list, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevSnHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_SN(list, true); + page.setRecords(vos); + } else { + List list = monDevSnOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_SN(list, true); + page.setRecords(vos); + } + } else if (EnIndustry.BL == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevBlRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_BL(list, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevBlHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_BL(list, true); + page.setRecords(vos); + } else { + List list = monDevBlOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_BL(list, true); + page.setRecords(vos); + } + } else if (EnIndustry.DL == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevDlRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_DL(list, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevDlHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_DL(list, true); + page.setRecords(vos); + } else { + List list = monDevDlOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_DL(list, true); + page.setRecords(vos); + } + } else if (EnIndustry.FS == enIndustry) { + if (enStatTimeType == EnStatTimeType.REAL) { + List list = monDevFsRealService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringReal_FS(list, true); + page.setRecords(vos); + } else if (enStatTimeType == EnStatTimeType.HOUR) { + List list = monDevFsHourService.getDataPage(factoryId, deviceIds, startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_FS(list, true); + page.setRecords(vos); + } else { + List list = monDevFsOtherService.getDataPage(factoryId, deviceIds, enStatTimeType.id(), startTime, endTime, orderField, orderType, page); + List vos = VoToString.voToStringOther_FS(list, true); + page.setRecords(vos); + } + } + } catch (Exception e) { + throw new RuntimeException(e.getMessage(), e); + } finally { + VoToString.paramThreadLocal.remove(); + VoToString.deviceThreadLocal.remove(); + VoToString.deviceParamThreadLocal.remove(); + } + } + + @Override + public EChartsVO getDeviceChart(String deviceId, String startTime, String endTime, String timeType) { + return getDeviceChart(deviceId, startTime, endTime, timeType, null); + } + @Override + public ChartVo getDeviceChart3(String deviceId, String startTime, String endTime, String timeType) { + BasDevice device = getById(deviceId); + EChartsVO deviceChart = getDeviceChart(deviceId, startTime, endTime, timeType, pullWorkingProcedureOptions(device.getIndustry(),device.getType())); + ChartVo chartVo = new ChartVo(); + if(deviceChart != null){ + chartVo.setLegendData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getLegendData()) ? new Object[]{} : deviceChart.getLegendData().stream().toArray()); + chartVo.setXsxisData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData()) ? new Object[]{} : deviceChart.getXData().stream().toArray()); + if(!org.springframework.util.CollectionUtils.isEmpty(deviceChart.getSeries())){ + if(ArrayUtil.isEmpty(chartVo.getLegendData())){ + chartVo.setLegendData(deviceChart.getSeries().stream().map(EChartsVO.SeriesObj::getName).collect(Collectors.toList()).stream().toArray()); + } + List> seriesData = Lists.newArrayList(); + List> yaxisData = Lists.newArrayList(); + deviceChart.getSeries().stream().forEach(item->{ + Map map = Maps.newHashMap(); + map.put("name", item.getName()); + map.put("unit", item.getUnit()); + map.put("data", item.getValues()); + seriesData.add(map); + Map ymap = Maps.newHashMap(); + ymap.put("name", item.getName()); + ymap.put("unit", item.getUnit()); + List data = Lists.newArrayList(); + if(!org.springframework.util.CollectionUtils.isEmpty(item.getValues()) && !org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData())){ + for (int i = 0; i < item.getValues().size(); i++) { + data.add(item.getValues().get(i)!=null?new BigDecimal(item.getValues().get(i).toString()) : BigDecimal.ZERO); + } + ymap.put("interval", toInterval(data.stream().max((x1, x2) -> x1.compareTo(x2)).get(), deviceChart.getXData().size())); + ymap.put("min", 0); + ymap.put("max", data.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + } else { + ymap.put("interval", ""); + ymap.put("min", 0); + ymap.put("max", ""); + } + ymap.put("axisLabelUnit", ""); + yaxisData.add(ymap); + }); + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(yaxisData); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + return chartVo; + } + @Override + public ChartVo getDeviceChart5(String deviceId, String startTime, String endTime, String timeType) { + BasDevice device = getById(deviceId); + EChartsVO deviceChart = getDeviceChart(deviceId, startTime, endTime, timeType, pullWorkingProcedureOptionsCo(device.getIndustry(),device.getType())); + ChartVo chartVo = new ChartVo(); + if(deviceChart != null){ + chartVo.setLegendData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getLegendData()) ? new Object[]{} : deviceChart.getLegendData().stream().toArray()); + chartVo.setXsxisData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData()) ? new Object[]{} : deviceChart.getXData().stream().toArray()); + if(!org.springframework.util.CollectionUtils.isEmpty(deviceChart.getSeries())){ + if(ArrayUtil.isEmpty(chartVo.getLegendData())){ + chartVo.setLegendData(deviceChart.getSeries().stream().map(EChartsVO.SeriesObj::getName).collect(Collectors.toList()).stream().toArray()); + } + List> seriesData = Lists.newArrayList(); + List> yaxisData = Lists.newArrayList(); + deviceChart.getSeries().stream().forEach(item->{ + Map map = Maps.newHashMap(); + map.put("name", item.getName()); + map.put("unit", item.getUnit()); + map.put("data", item.getValues()); + seriesData.add(map); + Map ymap = Maps.newHashMap(); + ymap.put("name", item.getName()); + ymap.put("unit", item.getUnit()); + List data = Lists.newArrayList(); + if(!org.springframework.util.CollectionUtils.isEmpty(item.getValues()) && !org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData())){ + for (int i = 0; i < item.getValues().size(); i++) { + data.add(item.getValues().get(i)!=null?new BigDecimal(item.getValues().get(i).toString()) : BigDecimal.ZERO); + } + ymap.put("interval", toInterval(data.stream().max((x1, x2) -> x1.compareTo(x2)).get(), deviceChart.getXData().size())); + ymap.put("min", 0); + ymap.put("max", data.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + } else { + ymap.put("interval", ""); + ymap.put("min", 0); + ymap.put("max", ""); + } + ymap.put("axisLabelUnit", ""); + yaxisData.add(ymap); + }); + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(yaxisData); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + return chartVo; + } + @Override + public ChartVo getDeviceChart6(String deviceId, String startTime, String endTime, String timeType) { + BasDevice device = getById(deviceId); + EChartsVO deviceChart = getDeviceChartGT(deviceId, startTime, endTime, timeType, pullWorkingProcedureOptionsCo6(device.getIndustry(),"煤气放散火炬")); + ChartVo chartVo = new ChartVo(); + if(deviceChart != null){ + chartVo.setLegendData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getLegendData()) ? new Object[]{} : deviceChart.getLegendData().stream().toArray()); + chartVo.setXsxisData(org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData()) ? new Object[]{} : deviceChart.getXData().stream().toArray()); + if(!org.springframework.util.CollectionUtils.isEmpty(deviceChart.getSeries())){ + if(ArrayUtil.isEmpty(chartVo.getLegendData())){ + chartVo.setLegendData(deviceChart.getSeries().stream().map(EChartsVO.SeriesObj::getName).collect(Collectors.toList()).stream().toArray()); + } + List> seriesData = Lists.newArrayList(); + List> yaxisData = Lists.newArrayList(); + deviceChart.getSeries().stream().forEach(item->{ + Map map = Maps.newHashMap(); + map.put("name", item.getName()); + map.put("unit", item.getUnit()); + map.put("data", item.getValues()); + seriesData.add(map); + Map ymap = Maps.newHashMap(); + ymap.put("name", item.getName()); + ymap.put("unit", item.getUnit()); + List data = Lists.newArrayList(); + if(!org.springframework.util.CollectionUtils.isEmpty(item.getValues()) && !org.springframework.util.CollectionUtils.isEmpty(deviceChart.getXData())){ + for (int i = 0; i < item.getValues().size(); i++) { + data.add(item.getValues().get(i)!=null?new BigDecimal(item.getValues().get(i).toString()) : BigDecimal.ZERO); + } + ymap.put("interval", toInterval(data.stream().max((x1, x2) -> x1.compareTo(x2)).get(), deviceChart.getXData().size())); + ymap.put("min", 0); + ymap.put("max", data.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + } else { + ymap.put("interval", ""); + ymap.put("min", 0); + ymap.put("max", ""); + } + ymap.put("axisLabelUnit", ""); + yaxisData.add(ymap); + }); + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(yaxisData); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + return chartVo; + } + + @Override + public List getCoalDiffuseList(String deviceName, String status) { + return basDeviceMapper.selectCoalDiffuseList(deviceName, status, null); + } + + /** + * 装备启停分析参数 + * @param industryCategoryCode + * @param workingProcedure + * @return + */ + public List pullWorkingProcedureOptions(String industryCategoryCode,String workingProcedure) { + List map=new ArrayList<>(); + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("SL")){ + List numbers = Arrays.asList("p1", "p2", "g604","g921", "o2Out"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("GL")){ + List numbers = Arrays.asList("p1","p2", "p4", "g930","g932"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("SJJ")){ + List numbers = Arrays.asList("p1","p2","p3","g604","g912","g914","g917","o2Out"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("LY")){ + List numbers = Arrays.asList("p1", "p2", "o2Out"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("FDJZ")){ + List numbers = Arrays.asList("p1", "p3", "g942", "o2Out"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } +// if(industryCategoryCode.equals("GT")&&workingProcedure.equals("焦炉")){ +// List numbers = Arrays.asList("球团", "炼铁", "烧结","白灰窑","发电","焦炉"); +// numbers.forEach(item->{ +// Map objectMap=new HashMap<>(); +// objectMap.put("label",item); +// objectMap.put("value",item); +// map.add(objectMap); +// }); +// } +// if(industryCategoryCode.equals("JH")&&workingProcedure.equals("焦炉")){ +// List numbers = Arrays.asList("焦炉"); +// numbers.forEach(item->{ +// Map objectMap=new HashMap<>(); +// objectMap.put("label",item); +// objectMap.put("value",item); +// map.add(objectMap); +// }); +// } + if(industryCategoryCode.equals("SN")&&workingProcedure.equals("SNY")){ + List numbers = Arrays.asList("ss100"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("BL")&&workingProcedure.equals("SCX")){ + List numbers = Arrays.asList("bs102","bs107"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("FS")&&workingProcedure.equals("FSL")){ + List numbers = Arrays.asList("fs100","gc19","gc21","fs101","gc30"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("DL")&&workingProcedure.equals("GUL")){ + List numbers = Arrays.asList("g903","hs101","g905"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + return map; + } + + /** + * co分析参数 + * @param industryCategoryCode + * @param workingProcedure + * @return + */ + public List pullWorkingProcedureOptionsCo(String industryCategoryCode,String workingProcedure) { + List map=new ArrayList<>(); + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("GLMQ")){ + List numbers = Arrays.asList("mq1","mq4","mq5","mq3", "mq6"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("MQGW")){ + List numbers = Arrays.asList("g979", "js202","js201","g980"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("JH")&&workingProcedure.equals("MQGW")){ + List numbers = Arrays.asList("g979", "js202","js201","g980"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("ZL")){ + List numbers = Arrays.asList("p1","p2"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("GLMQG")){ + List numbers = Arrays.asList("b806"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + return map; + } + /** + * co分析参数 + * @param industryCategoryCode + * @param workingProcedure + * @return + */ + public List pullWorkingProcedureOptionsCo6(String industryCategoryCode,String workingProcedure) { + List map=new ArrayList<>(); + if(industryCategoryCode.equals("GT")&&workingProcedure.equals("煤气放散火炬")){ + List numbers = Arrays.asList("mq5"); + numbers.forEach(item->{ + AmProblemFiVo.PollutantVo objectMap=new AmProblemFiVo.PollutantVo(); + objectMap.setProp(item); + map.add(objectMap); + }); + } + return map; + } + + @Override + public EChartsVO getDeviceChart(String deviceId, String startTime, String endTime, String timeType, List pollutantVos) { + BasDevice device = getById(deviceId); + + if (device == null) { + throw new RuntimeException("获取设备图表异常,设备不存在(id = " + deviceId + ")"); + } + Page page = new Page(1, 14400); + getDeviceDataByType( + timeType, + device.getIndustry(), + device.getFactoryId(), + device.getDeviceId(), device.getType(), startTime, endTime, null, "asc", page); + + // 分页数据返回类型不确定,通过格式化为json后,统一转为map列表 + String json = JSON.toJSONString(page.getRecords()); + List> mapList = JSON.parseObject(json, new TypeReference>>() { + }.getType()); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(timeType, startTime, endTime); + + // 以时间为key 转为map,日期格式要保证与x轴格式一样 + Map> dataMap = mapList.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.get("dataTime")); + if (timeType.equals("R")) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (timeType.equals(TimeTypeEnum.HOUR.getCode())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + List basParams = paramService.list(new QueryWrapper() + .eq("status", 1) + .eq("industry", device.getIndustry()) + .eq("device_type", device.getType()) + .eq("data_type_java", "Double") // 曲线图展示只查数字类型参数 + .isNotNull("param_code_svc") + .orderByAsc("show_order")); + Map basParamMap = basParams.stream().collect(Collectors.toMap(BasParam::getParamCodeSvc, o -> o, (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + List series = new ArrayList<>(); + + // 若pollutantVos不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (pollutantVos != null) { + for (AmProblemFiVo.PollutantVo pollutantVo : pollutantVos) { + BasParam param = basParamMap.get(pollutantVo.getProp()); + if (param == null) { + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(param.getFacilityName() + "-" + param.getName()); + ser.setUnit(param.getUnitReal() == null ? "" : param.getUnitReal()); + ser.setOther(param.getFacilityType()); + ser.setProp(param.getParamCodeSvc()); + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + Map map = dataMap.get(o); + if (map == null) { + return null; + } + Object value = map.get(param.getParamCodeSvc()); + if ("(共用)".equals(value)) { + return null; + } + return value; + }).collect(Collectors.toList()); + ser.setValues(values); + + series.add(ser); + } + } else { // 未指定监测参数,默认展示所有的 + + for (BasParam param : basParams) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(param.getFacilityName() + "-" + param.getName()); + ser.setUnit(param.getUnitReal() == null ? "" : param.getUnitReal()); + ser.setOther(param.getFacilityType()); + ser.setProp(param.getParamCodeSvc()); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + Map map = dataMap.get(o); + if (map == null) { + return null; + } + Object value = map.get(param.getParamCodeSvc()); + if ("(共用)".equals(value)) { + return null; + } + return value; + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + + } + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + /** + * 展示钢铁转炉对应的多个设备煤气放散火炬 + * @param deviceId + * @param startTime + * @param endTime + * @param timeType + * @param pollutantVos + * @return + */ + public EChartsVO getDeviceChartGT(String deviceId, String startTime, String endTime, String timeType, List pollutantVos) { + BasDevice device = getById(deviceId); + List deviceIds = basDeviceZlConfigService.list(new QueryWrapper().eq("device_id", deviceId)); + if(CollectionUtils.isEmpty(deviceIds)){ + return null; + } + String collect = deviceIds.stream().map(d -> d.getFsDeviceId()).collect(Collectors.joining(",")); + if (device == null) { + throw new RuntimeException("获取设备图表异常,设备不存在(id = " + deviceId + ")"); + } + Page page = new Page(1, 14400); + getDeviceDataByType( + timeType, + device.getIndustry(), + device.getFactoryId(), + collect, "ZLMQ", startTime, endTime, null, "asc", page); + + // 分页数据返回类型不确定,通过格式化为json后,统一转为map列表 + String json = JSON.toJSONString(page.getRecords()); + List> mapList = JSON.parseObject(json, new TypeReference>>() { + }.getType()); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(timeType, startTime, endTime); + Map>> listMap = + mapList.stream().collect( + Collectors.groupingBy(item -> item.get("name").toString()) + ); + // 以时间为key 转为map,日期格式要保证与x轴格式一样 + List basParams = paramService.list(new QueryWrapper() + .eq("status", 1) + .eq("industry", device.getIndustry()) + .eq("device_type", device.getType()) + .eq("data_type_java", "Double") // 曲线图展示只查数字类型参数 + .isNotNull("param_code_svc") + .orderByAsc("show_order")); + Map basParamMap = basParams.stream().collect(Collectors.toMap(BasParam::getParamCodeSvc, o -> o, (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + List series = new ArrayList<>(); + + // 若pollutantVos不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + listMap.forEach((key,value)->{ + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(key + "-" + "放散口温度"); + ser.setUnit("℃"); + ser.setOther("MQ"); + ser.setProp("mq5"); + Map> dataMap = value.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.get("dataTime")); + if (timeType.equals("R")) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (timeType.equals(TimeTypeEnum.HOUR.getCode())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + Map map = dataMap.get(o); + if (map == null) { + return null; + } + return map.get("mq5"); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + }); + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void editBatch(BasDeviceVo[] basDeviceVoArr) { + List basDeviceSiteVoList = Arrays.asList(basDeviceVoArr); + //赋值 + List basDeviceList = new ArrayList<>(); + basDeviceSiteVoList.forEach(e -> { + BasDevice basDevice = new BasDevice(); + BeanUtil.copyProperties(e, basDevice); + basDeviceList.add(basDevice); + }); + + + //记录操作日志 + List basProductionDeviceOperationLogList = new ArrayList<>(); + basDeviceList.forEach(e -> { + BasProductionDeviceOperationLog basProductionDeviceOperationLog = new BasProductionDeviceOperationLog(); + + BasDevice basDevice = this.getById(e.getDeviceId()); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + basProductionDeviceOperationLog.setLogId(uuid); + basProductionDeviceOperationLog.setFactoryId(basDevice.getFactoryId()); + basProductionDeviceOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + basProductionDeviceOperationLog.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + basProductionDeviceOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + basProductionDeviceOperationLog.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + + basProductionDeviceOperationLog.setBeforeModifyLag(basDevice.getLatMap()); + basProductionDeviceOperationLog.setBeforeModifyLng(basDevice.getLonMap()); + basProductionDeviceOperationLog.setAfterModifyLag(e.getLatMap()); + basProductionDeviceOperationLog.setAfterModifyLng(e.getLonMap()); + basProductionDeviceOperationLog.setDeviceName(basDevice.getName()); + basProductionDeviceOperationLog.setWorkProcedure(basDevice.getWorkStep()); + basProductionDeviceOperationLogList.add(basProductionDeviceOperationLog); + + }); + basDeviceMapper.updateBatchCoordinate(basDeviceSiteVoList); + basProductionDeviceOperationLogService.saveBatch(basProductionDeviceOperationLogList); + } + + + @Override + public List groupByWorkStepSelect(String factoryId, String industryCategory) { + return basDeviceMapper.groupByWorkStepSelect(factoryId, industryCategory); + } + + @Override + public IPage listDCSSystemParam(BasDeviceDCSSystemParamQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage basDeviceDCSSystemParamVoIPage = basDeviceMapper.listDCSSystemParam(page, query); + List records = basDeviceDCSSystemParamVoIPage.getRecords(); + if (CollectionUtils.isNotEmpty(records)) { + List deviceIdList = records.stream().map(BasDeviceDCSSystemParamVo::getDeviceId).collect(Collectors.toList()); +// List basDeviceParamList = basDeviceParamService.list(wrapper); + List basDeviceParamList = basDeviceParamService.queryByDeviceIdListAndIndustry(deviceIdList,query.getIndustry(), query.getParamName()); + Map> deviceIdListMap = basDeviceParamList.stream().collect(Collectors.groupingBy(BasDeviceParamListVo::getDeviceId)); + records.forEach(e -> { + e.setBasDeviceParamList(deviceIdListMap.get(e.getDeviceId())); + }); + + } + return basDeviceDCSSystemParamVoIPage; + } + + @Override + public List exportDCSSystemParam(BasDeviceDCSSystemParamQuery query) { + List basDeviceDCSSystemParamVoIPage = basDeviceMapper.exportDCSSystemParam(query); + return basDeviceDCSSystemParamVoIPage; + } + + @Override + public List groupByParamNameSelect(String factoryId, String industryCategory) { + return basDeviceMapper.groupByParamNameSelect(factoryId, industryCategory); + } + + @Override + public FactoryDeviceVo selectFactoryDeviceVoByDeviceId(String deviceId) { + + return basDeviceMapper.selectFactoryDeviceVoByDeviceId(deviceId); + } + + @Override + public EChartsVO getDeviceStatusChart(BasDeviceVo.SimpleStatusVo deviceVo, String startTime, String endTime) { + List> list = basDeviceMapper.selectDeviceStatusChart(deviceVo.getDeviceId(), startTime, endTime); + + Map timeStatusMap = list.stream().collect( + Collectors.toMap( + o -> DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", (Date) o.get("time")), + o -> (String) o.get("status"), + (o1, o2) -> o1) + ); + + // 若是dcs设备(行业不是El,则认为是dcs),10分钟分析一次,把这10分钟的都当做这个状态来判断 + if (!"EL".equals(deviceVo.getIndustry())) { + for (Map map : list) { + Date d = (Date) map.get("time"); + String status = (String) map.get("status"); + + for (int i = 1; i <= 9; i++) { + String key = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", DateUtils.addMinutes(d, -i)); + timeStatusMap.putIfAbsent(key, status); + } + } + } + + // x轴数据 + List xdata = DateUtils.getRangeTimes("EL".equals(deviceVo.getIndustry()) ? "QH" : "M", startTime, endTime); + + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("运行"); + ser1.setProp("1"); + ser1.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("停运"); + ser2.setProp("2"); + ser2.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("启停"); + ser3.setProp("3"); + ser3.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser4 = new EChartsVO.SeriesObj(); + ser4.setName("停启"); + ser4.setProp("4"); + ser4.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser5 = new EChartsVO.SeriesObj(); + ser5.setName("数据缺失"); + ser5.setProp("5"); + ser5.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3, ser4, ser5)); + + /* + 填充系列值 + */ + + // 遍历x轴,保证系列值与x轴刻度一一对应 + for (String time : xdata) { + String status = timeStatusMap.get(time); + + for (EChartsVO.SeriesObj ser : chartsVO.getSeries()) { + // 若系列的prop属性与状态码相等,则设置系列值为状态码,否则填充null + if (ser.getProp().equals(status)) { + ser.getValues().add(status); + } else { + ser.getValues().add(null); + } + } + } + return chartsVO; + } + + @Override + public BasDeviceVo.CountOverview getCountOverview() { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return new BasDeviceVo.CountOverview(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() != R.SUCCESS) { + return new BasDeviceVo.CountOverview(); + } + BasDeviceVo.CountOverview countOverview = basDeviceMapper.selectCountOverview(r.getData()); + return countOverview; + } + + @Override + public BasDeviceVo.CoalCountOverview getCoalCountOverview() { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return new BasDeviceVo.CoalCountOverview(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() != R.SUCCESS) { + return new BasDeviceVo.CoalCountOverview(); + } + + BasDeviceVo.CoalCountOverview countOverview = basDeviceMapper.selectCoalCountOverview(r.getData()); + + String ymd = DateUtils.parseDateToStr("yyyy-MM-dd", new Date()); + SRaRealTimeAnalysisCoQuery coQuery = new SRaRealTimeAnalysisCoQuery(); + coQuery.setAnalyseStartTime(ymd + " 00:00"); + coQuery.setAnalyseEndTime(ymd + " 23:59"); + coQuery.setIndustryCategoryCode("GT"); + CoDeviceTypeCountVO gtCountVO = sRaRealTimeAnalysisCoMapper.selectDeviceTypeCount(coQuery); + + if (gtCountVO != null) { + countOverview.setGtGLMQCount(gtCountVO.getGLMQCount()); + countOverview.setGtGLMQGCount(gtCountVO.getGLMQGCount()); + countOverview.setGtZLCount(gtCountVO.getZLCount()); + countOverview.setGtMQGWCount(gtCountVO.getMQGWCount()); + } + + coQuery.setIndustryCategoryCode("JH"); + CoDeviceTypeCountVO jhCountVO = sRaRealTimeAnalysisCoMapper.selectDeviceTypeCount(coQuery); + if (jhCountVO != null) { + countOverview.setJhMQGWCount(jhCountVO.getMQGWCount()); + } + return countOverview; + } + + @Override + public EChartsVO getDeviceChart(String deviceId, String startTime, String endTime) { + return getDeviceChart(deviceId, startTime, endTime, "R"); + } + + private BigDecimal toInterval(BigDecimal max, Integer size){ + return max.divide(new BigDecimal(size),1,BigDecimal.ROUND_HALF_UP); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSiteServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSiteServiceImpl.java new file mode 100644 index 0000000..f6436a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceSiteServiceImpl.java @@ -0,0 +1,209 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.BasDeviceSiteCoordinateOperationLogMapper; +import cn.cecep.talroad.mapper.BasDeviceSiteMapper; +import cn.cecep.talroad.service.IBasDeviceSiteService; +import cn.cecep.talroad.service.IMonElecOperationLogService; +import cn.cecep.talroad.system.api.domain.SysUser; +import cn.cecep.talroad.vo.BasDeviceSiteExcelVo; +import cn.cecep.talroad.vo.BasDeviceSiteVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.MAmVideoDevFiVo; +import cn.cecep.talroad.vo.export.BasDeviceSiteExport; +import cn.cecep.talroad.vo.query.BasDeviceSiteQuery; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.sql.Timestamp; +import java.util.*; +import java.util.stream.Collectors; + + +@Service +public class BasDeviceSiteServiceImpl extends ServiceImpl implements IBasDeviceSiteService { + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + + @Autowired + private IMonElecOperationLogService monElecOperationLogService; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Override + public List selectExportBasDeviceList(BasDeviceSite basDeviceSite) { + return basDeviceSiteMapper.selectExportBasDeviceList(basDeviceSite); + } + + + @Override + @Transactional + public void editBatch(BasDeviceSiteVo[] basDeviceSiteVoArr) { + List basDeviceSiteVoList = Arrays.asList(basDeviceSiteVoArr); + //赋值 + List basDeviceSiteList = new ArrayList<>(); + basDeviceSiteVoList.forEach(e -> { + BasDeviceSite basDeviceSite = new BasDeviceSite(); + BeanUtil.copyProperties(e, basDeviceSite); + basDeviceSiteList.add(basDeviceSite); + }); + + //记录操作日志 + List mAmVideoCoordinateOperationLogList = new ArrayList<>(); + basDeviceSiteList.forEach(e -> { + MonElecOperationLog monElecOperationLog = new MonElecOperationLog(); + + BasDeviceSite basDeviceSite = this.getById(e.getId()); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + monElecOperationLog.setLogId(uuid); + monElecOperationLog.setFactoryId(basDeviceSite.getFactoryId()); + monElecOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); +// monElecOperationLog.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + monElecOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + monElecOperationLog.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + monElecOperationLog.setElecStationName(basDeviceSite.getName()); + monElecOperationLog.setDeviceName(basDeviceSite.getEquipName()); + monElecOperationLog.setBeforeModifyNormal(basDeviceSite.getNormalValue()); + monElecOperationLog.setAfterModifyNormal(e.getNormalValue()); + mAmVideoCoordinateOperationLogList.add(monElecOperationLog); + + }); + this.updateBatchById(basDeviceSiteList); + monElecOperationLogService.saveBatch(mAmVideoCoordinateOperationLogList); + } + + @Override + public BasDeviceSiteVo.CountOverview getCountOverview() { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new BasDeviceSiteVo.CountOverview(); + } + + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + BasDeviceSiteVo.CountOverview countOverview = basDeviceSiteMapper.selectCountOverview(r.getData()); + return countOverview; + } else { + return new BasDeviceSiteVo.CountOverview(); + } + } + + @Override + public EChartsVO getScatterChart(String type) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("分表计电点位分布"); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setSeries(Arrays.asList(ser)); + + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return chartsVO; + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() != R.SUCCESS) { + return chartsVO; + } + List> dataList = basDeviceSiteMapper.selectScatterChart(type, r.getData()); + ser.setValues(dataList.stream().map(o -> o.get("count")).collect(Collectors.toList())); + chartsVO.setXData(dataList.stream().map(o -> (String) o.get("name")).collect(Collectors.toList())); + return chartsVO; + } + + @Autowired + BasDeviceSiteCoordinateOperationLogMapper basDeviceSiteCoordinateOperationLogMapper; + + @Override + public IPage selectDeviceNameById(Page page, QueryWrapper queryWrapper) { + return basDeviceSiteMapper.selectDeviceNameById(page, queryWrapper); + } + + @Override + public List selectBasDeviceSiteExportList(QueryWrapper queryWrapper) { + return basDeviceSiteMapper.selectBasDeviceSiteExportList(queryWrapper); + } + @Override + public List selectBasDeviceSiteExportListT(QueryWrapper queryWrapper) { + return basDeviceSiteMapper.selectBasDeviceSiteExportListT(queryWrapper); + } + @Override + public List selectBasDeviceList(QueryWrapper queryWrapper) { + return basDeviceSiteMapper.selectBasDeviceList(queryWrapper); + } + + @Override + public BasDeviceSiteExport getByExport(String id) { + return basDeviceSiteMapper.getByExport(id); + } + + @Override + public void saveLog(List basDeviceSiteVo, List saveExportList) { + List list = new ArrayList<>(); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + Date date = new Date(); + for (int i = 0; i < saveExportList.size(); i++) { + BasDeviceSiteCoordinateOperationLog maioLog = new BasDeviceSiteCoordinateOperationLog(); + maioLog.setLogId(UUID.randomUUID().toString().trim().replaceAll("-", "")); + maioLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", date)); + //旧数据 + maioLog.setElecStationName(saveExportList.get(i).getName()); + maioLog.setDeviceName(saveExportList.get(i).getDeviceName()); + if (saveExportList.get(i).getDeviceType() == null) { + maioLog.setType("生产设施"); + } else { + maioLog.setType(saveExportList.get(i).getDeviceType()); + } + maioLog.setBeforeModifyLng(saveExportList.get(i).getPointLng()); + maioLog.setBeforeModifyLag(saveExportList.get(i).getPointLat()); + + String sta = ""; + if(!org.apache.commons.lang3.StringUtils.isEmpty(saveExportList.get(i).getDeviceId()) && !org.apache.commons.lang3.StringUtils.isEmpty(basDeviceSiteVo.get(i).getDeviceId())){ + sta = OperationTypeEnum.UPDATE_OPERATION.getName(); + }else if(!org.apache.commons.lang3.StringUtils.isEmpty(saveExportList.get(i).getDeviceId()) && org.apache.commons.lang3.StringUtils.isEmpty(basDeviceSiteVo.get(i).getDeviceId())){ + sta = OperationTypeEnum.DELETE_OPERATION.getName(); + }else{ + sta = OperationTypeEnum.INSERT_OPERATION.getName(); + } + // 操作状态 + maioLog.setOperationStatus(sta); + // 修改后对应许可证生产设施编号 + maioLog.setAfterModifyLng(basDeviceSiteVo.get(i).getPointLng()); + // 修改后对应许可证生产设施名称 + maioLog.setAfterModifyLag(basDeviceSiteVo.get(i).getPointLat()); + // 操作人 + maioLog.setOperator(sysUser.getNickName()); + // 操作人ID + maioLog.setOperatorId(String.valueOf(sysUser.getUserId())); + // 企业ID + maioLog.setFactoryId(saveExportList.get(i).getFactoryId()); + list.add(maioLog); + } + basDeviceSiteCoordinateOperationLogMapper.batchInsert(list); + } + + @Override + public IPage getBasDeviceSiteCoordinateOperationLogList(BasDeviceSiteQuery basDeviceSite) { + Page page = new Page<>(basDeviceSite.getPageNum(), basDeviceSite.getPageSize()); + List list = basDeviceSiteCoordinateOperationLogMapper.selectListByParam(page, basDeviceSite, + org.apache.commons.lang3.StringUtils.isEmpty(basDeviceSite.getStartTime()) ? null : Timestamp.valueOf(basDeviceSite.getStartTime()), + org.apache.commons.lang3.StringUtils.isEmpty(basDeviceSite.getEndTime()) ? null : Timestamp.valueOf(basDeviceSite.getEndTime())); + page.setRecords(list); + return page; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceZlConfigServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceZlConfigServiceImpl.java new file mode 100644 index 0000000..b099250 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasDeviceZlConfigServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.BasDeviceZlConfig; +import cn.cecep.talroad.mapper.BasDeviceZlConfigMapper; +import cn.cecep.talroad.service.IBasDeviceZlConfigService; +import cn.cecep.talroad.mapper.BasDeviceZlConfigMapper; +import cn.cecep.talroad.domain.BasDeviceZlConfig; +import cn.cecep.talroad.service.IBasDeviceZlConfigService; + + + + +/** + * 转炉设备与转炉煤气放散设备映射关系Service业务层处理 + * + * @author szhpt + * @date 2023-06-30*/ +@Service +public class BasDeviceZlConfigServiceImpl extends ServiceImpl implements IBasDeviceZlConfigService +{ + @Autowired + private BasDeviceZlConfigMapper basDeviceZlConfigMapper; + + /** + * 查询转炉设备与转炉煤气放散设备映射关系列表 + * + * @param basDeviceZlConfig 转炉设备与转炉煤气放散设备映射关系 + * @return 转炉设备与转炉煤气放散设备映射关系 + */ + @Override + public List selectBasDeviceZlConfigList(BasDeviceZlConfig basDeviceZlConfig) + { + return basDeviceZlConfigMapper.selectBasDeviceZlConfigList(basDeviceZlConfig); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasElecDeviceServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasElecDeviceServiceImpl.java new file mode 100644 index 0000000..0a87748 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasElecDeviceServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasElecDevice; +import cn.cecep.talroad.mapper.BasElecDeviceMapper; +import cn.cecep.talroad.service.IBasElecDeviceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 分表计电设备信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BasElecDeviceServiceImpl extends ServiceImpl implements IBasElecDeviceService +{ + @Autowired + private BasElecDeviceMapper basElecDeviceMapper; + + /** + * 查询分表计电设备信息列表 + * + * @param basElecDevice 分表计电设备信息 + * @return 分表计电设备信息 + */ + @Override + public List selectBasElecDeviceList(BasElecDevice basElecDevice) + { + return basElecDeviceMapper.selectBasElecDeviceList(basElecDevice); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasParamServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasParamServiceImpl.java new file mode 100644 index 0000000..2059829 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasParamServiceImpl.java @@ -0,0 +1,137 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.mapper.BasParamMapper; +import cn.cecep.talroad.service.IBasParamService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 监测参数汇总(有组织)Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class BasParamServiceImpl extends ServiceImpl implements IBasParamService +{ + @Autowired + private BasParamMapper basParamMapper; + + /** + * 查询监测参数汇总(有组织)列表 + * + * @param basParam 监测参数汇总(有组织) + * @return 监测参数汇总(有组织) + */ + @Override + public List selectBasParamList(BasParam basParam) + { + return basParamMapper.selectBasParamList(basParam); + } + + @Override + public Map getMonitroingParam() { + Map result = new HashMap<>(); + + //查询行业类别 + List basParams = baseMapper.selectList(new QueryWrapper().eq("status", 1).orderByAsc("show_order")); + + Map> data = basParams.stream().collect(Collectors.groupingBy(item -> item.getIndustry() + "_" + item.getDeviceType())); + for (String key : data.keySet()) { + List list = data.get(key); + List monitoringParamVoList = Lists.newArrayList(); + Map> collect = list.stream().collect(Collectors.groupingBy(BasParam::getFacilityType)); + + for (String facilityType : collect.keySet()) { + List facilityTypeList = collect.get(facilityType); + MonitoringParamVo monitoringParamVo = new MonitoringParamVo(); + monitoringParamVo.setId(facilityType); + monitoringParamVo.setLabel(facilityTypeList.get(0).getFacilityName()); + monitoringParamVo.setOrder(facilityTypeList.get(0).getShowOrder()); + List seriesObjList = Lists.newArrayList(); + for (BasParam basParamPO : facilityTypeList) { + SeriesObj seriesObj = new SeriesObj(); + seriesObj.setId(UUID.randomUUID().toString()); + seriesObj.setParamId(underscoreName(basParamPO.getParamCodeSvc())); + seriesObj.setLabel(basParamPO.getName()); + seriesObj.setValue(basParamPO.getParamCodeSvc()); + seriesObj.setUnit(basParamPO.getUnitReal()); + seriesObj.setMinWidth(basParamPO.getMinWidth().toString()); + seriesObjList.add(seriesObj); + } + monitoringParamVo.setChildren(seriesObjList); + monitoringParamVoList.add(monitoringParamVo); + } + // 排序 + monitoringParamVoList = monitoringParamVoList.stream().sorted(Comparator.comparing(MonitoringParamVo::getOrder)).collect(Collectors.toList()); + result.put(key, monitoringParamVoList); + } + + return result; + + } + + public static String underscoreName(String name) { + StringBuilder result = new StringBuilder(); + if (name != null && name.length() > 0) { + // 将第一个字符处理成小写 + result.append(name.substring(0, 1).toLowerCase()); + // 循环处理其余字符 + for (int i = 1; i < name.length(); i++) { + String s = name.substring(i, i + 1); + // 在大写字母前添加下划线 + if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) { + result.append("_"); + } + // 其他字符直接转成小写 + result.append(s.toLowerCase()); + } + } + return result.toString(); + } + + @Data + public static class MonitoringParamVo { + @ApiModelProperty("facility_type") + private String id; + @ApiModelProperty("facility_name") + private String label; + @ApiModelProperty("参数") + private List children; + + /** + * 用于排序设施 + */ + private Integer order; + } + + @Data + public static class SeriesObj { + @ApiModelProperty("id") + private String id; + @ApiModelProperty("param_code_svc") + private String value; + @ApiModelProperty("name") + private String label; + @ApiModelProperty("unit_real") + private String unit; + @ApiModelProperty("param_id") + private String paramId; + @ApiModelProperty("min_width") + private String minWidth; + + public void setId(String id) { + this.id = id.replaceAll("-",""); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasProductionDeviceOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasProductionDeviceOperationLogServiceImpl.java new file mode 100644 index 0000000..d11b159 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasProductionDeviceOperationLogServiceImpl.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.BasProductionDeviceOperationLog; +import cn.cecep.talroad.mapper.BasProductionDeviceOperationLogMapper; +import cn.cecep.talroad.service.IBasProductionDeviceOperationLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +/** + * 视频监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +@Slf4j +public class BasProductionDeviceOperationLogServiceImpl extends ServiceImpl implements IBasProductionDeviceOperationLogService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasThresholdConfigServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasThresholdConfigServiceImpl.java new file mode 100644 index 0000000..ce62e2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BasThresholdConfigServiceImpl.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.mapper.BasThresholdConfigMapper; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析-阈值设置Service业务层处理 + * + * @author szhpt + * @date 2023-05-18*/ +@Service +public class BasThresholdConfigServiceImpl extends ServiceImpl implements IBasThresholdConfigService +{ + @Autowired + private BasThresholdConfigMapper basThresholdConfigMapper; + @Autowired + private RedisService redisService; + + /** + * 查询关联分析-阈值设置列表 + * + * @param basThresholdConfig 关联分析-阈值设置 + * @return 关联分析-阈值设置 + */ + @Override + public List selectBasThresholdConfigList(BasThresholdConfig basThresholdConfig) + { + return basThresholdConfigMapper.selectBasThresholdConfigList(basThresholdConfig); + } + + @Override + public BasThresholdConfig selectByParamCode(String paramCode) { + BasThresholdConfig config = redisService.getCacheObject(BasThresholdConfig.tableKey+paramCode); + if(config==null){ + config = basThresholdConfigMapper.selectByParamCode(paramCode); + redisService.setCacheObject(BasThresholdConfig.tableKey+paramCode,config,1L, TimeUnit.DAYS); + } + return config; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseControlConcentStandardsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseControlConcentStandardsServiceImpl.java new file mode 100644 index 0000000..451ac0f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseControlConcentStandardsServiceImpl.java @@ -0,0 +1,213 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseControlConcentStandards; +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.domain.PcFactoryPollutant; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.mapper.BaseControlConcentStandardsMapper; +import cn.cecep.talroad.mapper.PcFactoryPollutantMapper; +import cn.cecep.talroad.mapper.SEnvGasMonRealMapper; +import cn.cecep.talroad.service.BaseControlConcentStandardsService; +import cn.cecep.talroad.service.BaseRegionalControlObjectivesService; +import cn.cecep.talroad.vo.BaseControlConcentStandardsVo; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.query.BaseControlConcentStandardsQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.ListUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Collections; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Service +public class BaseControlConcentStandardsServiceImpl implements BaseControlConcentStandardsService{ + + @Resource + private BaseControlConcentStandardsMapper baseControlConcentStandardsMapper; + + @Autowired + private SEnvGasMonRealMapper gasMonRealMapper; + + @Autowired + private BaseRegionalControlObjectivesService baseRegionalControlObjectivesService; + @Autowired + private PcFactoryPollutantMapper pcFactoryPollutantMapper; + + @Override + public AjaxResults> selectList(BaseControlConcentStandardsQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage result = baseControlConcentStandardsMapper.selectListPage(page, query); + return AjaxResults.success(result); + } + + @Override + public int insert(BaseControlConcentStandards record) { + return baseControlConcentStandardsMapper.insert(record); + } + + @Override + public int insertSelective(BaseControlConcentStandards record) { + return baseControlConcentStandardsMapper.insertSelective(record); + } + + @Override + public BaseControlConcentStandards selectByPrimaryKey(String id) { + return baseControlConcentStandardsMapper.selectByPrimaryKey(id); + } + + @Override + public int updateByPrimaryKeySelective(BaseControlConcentStandards record) { + return baseControlConcentStandardsMapper.updateByPrimaryKeySelective(record); + } + + @Override + public int updateByPrimaryKey(BaseControlConcentStandards record) { + return baseControlConcentStandardsMapper.updateByPrimaryKey(record); + } + + @Override + public int updateBatchSelective(List list) { + return baseControlConcentStandardsMapper.updateBatchSelective(list); + } + + @Override + public int batchInsert(List list) { + return baseControlConcentStandardsMapper.batchInsert(list); + } + + /** + * 更新建议排放量小时均值 + */ + public void updateAdviceEmissionAvg() { + // 查询纳入计算的数据 + List standards = baseControlConcentStandardsMapper.selectList(new QueryWrapper() + .eq("include_calculations", "1")); + if (standards.isEmpty()) { + return; + } + Date date = new Date(); + String endTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateUtils.addHours(date, -1)); + String startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH", DateUtils.addHours(date, -720)); + + /* + 获取前30天指定监测点废气小时排放量的均值 + 需要去掉在线监测系统白名单表里的ps_whitelist_reason字段和停产表的dcstype时段的排放量算均值 + */ + Set outletIds = standards.stream().map(o -> o.getOutletId()).collect(Collectors.toSet()); + List emissionVoList = gasMonRealMapper.selectEmissionAvg(startTime, endTime, outletIds); + Map outletEmissionAvgMap = emissionVoList.stream().collect(Collectors.toMap(o -> o.getOutletId(), o -> o)); + + for (BaseControlConcentStandards standard : standards) { + // 监测点前720小时的平均值,去掉了白名单和停产记录后算的均值 + SEnvGasMonRealVo.OxygenEmissionAvg beforeAvgHourData = outletEmissionAvgMap.get(standard.getOutletId()); + + /* + 设置建议目标排放量,需求如下: + 用前30天废气小时排放量的均值作为要用的废气小时排放量 + 需要去掉在线监测系统白名单表里的ps_whitelist_reason字段和停产表的dcstype时段的排放量算均值 + 目标排放量=管控浓度设置模块设置的浓度乘以刚才算出的废气小时排放量均值除以1000000 + */ + if (beforeAvgHourData != null && beforeAvgHourData.getOxygenEmissionAvg() != null && standard.getControlStandard() != null) { + standard.setAdviceEmissionAvg(standard.getControlStandard().multiply(beforeAvgHourData.getOxygenEmissionAvg()) + .divide(BigDecimal.valueOf(1000000), 6, BigDecimal.ROUND_HALF_UP)); + } + } + + List> partition = ListUtil.partition(standards, 2000); + for (List list : partition) { + baseControlConcentStandardsMapper.updateAdviceEmissionAvg(list); + } + + // 插入或更新区域管控目标,并根据监测点管控浓度建议排放量更新区域的建议排放量 + baseRegionalControlObjectivesService.saveOrUpdate(); + + } + + @Override + @Transactional + public void importData(List datas) { + if(Collections.isEmpty(datas)){ + return; + } + int quantityPerTime=2500; + int limit=(datas.size()+quantityPerTime-1)/quantityPerTime; + //分组 + List> dataList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> + datas.stream().skip(a * quantityPerTime).limit(quantityPerTime).parallel().collect(Collectors.toList())).collect(Collectors.toList()); + //每组 quantityPerTime 条批次 + for (List data : dataList) { + List factoryIds =new ArrayList<>(); + List outletIds =new ArrayList<>(); + List pollutantCodes =new ArrayList<>(); + data.forEach(d->{ + if(!StringUtils.isAnyEmpty(d.getFactoryId(),d.getOutletId(),d.getPollutantType())){ + d.setFactoryId(d.getFactoryId().replace("\t","")); + factoryIds.add(d.getFactoryId()); + outletIds.add(d.getOutletId()); + pollutantCodes.add(d.getPollutantType()); + } + } + ); + QueryWrapper wrapper= Wrappers.query(); + wrapper.in("factory_id",factoryIds); + wrapper.in("outlet_id",outletIds); + wrapper.in("pollutant_type",pollutantCodes); + List baseControlConcentStandards = baseControlConcentStandardsMapper.selectList(wrapper); + Map map = baseControlConcentStandards.stream().collect(Collectors.toMap(bcs -> + (bcs.getFactoryId() + bcs.getOutletId()+bcs.getPollutantType()), bcs -> bcs)); + List updates=new ArrayList<>(); + List addlist=new ArrayList<>(); + data.forEach(d->{ + if(map.containsKey(d.getFactoryId()+d.getOutletId()+d.getPollutantType())){ + BaseControlConcentStandards baseControlConcentStandards1 = map.get(d.getFactoryId() + d.getOutletId() + d.getPollutantType()); + d.setId(baseControlConcentStandards1.getId()); + updates.add(d); + }else { + d.setId(UUID.randomUUID().toString()); + List collect = addlist.stream().filter(a -> + d.getFactoryId().equals(a.getFactoryId()) && d.getOutletId().equals(a.getOutletId()) && d.getPollutantType().equals(a.getPollutantType())).collect(Collectors.toList()); + addlist.removeAll(collect); + addlist.add(d); + } + }); + if(!Collections.isEmpty(updates)){ + baseControlConcentStandardsMapper.updateBatchSelective(updates); + } + if(!Collections.isEmpty(addlist)){ + baseControlConcentStandardsMapper.batchInsert(addlist); + } + } + + } + + @Override + public Integer addPollutant(String code, Integer type) { + baseControlConcentStandardsMapper.deletePollutant(code,type); + List maps= baseControlConcentStandardsMapper.addPollutant(code,type); + maps.forEach(item->{ + item.setId(UUID.randomUUID().toString().replace("-", "")); + item.setPollutantId(code); + item.setIsStatus("1"); + }); + if(CollectionUtil.isNotEmpty(maps)){ + List> partition = ListUtil.partition(maps, 2000); + partition.forEach(i->{ + pcFactoryPollutantMapper.batchUpdateValue(i); + }); + } + return null; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseRegionalControlObjectivesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseRegionalControlObjectivesServiceImpl.java new file mode 100644 index 0000000..1ae5e05 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/BaseRegionalControlObjectivesServiceImpl.java @@ -0,0 +1,146 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.domain.PcLabelValue; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.mapper.BaseRegionalControlObjectivesMapper; +import cn.cecep.talroad.mapper.PcLabelValueMapper; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.service.BaseRegionalControlObjectivesService; +import cn.cecep.talroad.vo.BaseRegionalControlObjectivesVo; +import cn.cecep.talroad.vo.query.BaseRegionalControlObjectivesQuery; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.jsonwebtoken.lang.Collections; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class BaseRegionalControlObjectivesServiceImpl implements BaseRegionalControlObjectivesService { + + @Resource + private BaseRegionalControlObjectivesMapper baseRegionalControlObjectivesMapper; + + @Autowired + private PcLabelValueMapper pcLabelValueMapper; + + @Autowired + private PcPollutantMapper pollutantMapper; + + @Override + public AjaxResults> selectList(BaseRegionalControlObjectivesQuery query) { + Page page = new Page<>(query.getPageNum(), query.getPageSize()); + IPage result = baseRegionalControlObjectivesMapper.selectListPage(page, query); + return AjaxResults.success(result); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResults save(List data) { + Wrapper wrapper=Wrappers.query(); + List baseRegionalControlObjectives = + baseRegionalControlObjectivesMapper.selectList(wrapper); + List updataList=new ArrayList<>(); + List addList=new ArrayList<>(); + data.forEach(d->{ + String id = d.getId(); + boolean b = baseRegionalControlObjectives.stream().anyMatch(brco -> brco.getId().equals(id)); + if(b){ + d.setUpdateTime(new Date()); + updataList.add(d); + }else { + addList.add(d); + } + }); + if(!Collections.isEmpty(updataList)){ + baseRegionalControlObjectivesMapper.updateBatchSelective(updataList); + } + if(!Collections.isEmpty(addList)){ + baseRegionalControlObjectivesMapper.batchInsert(addList); + } + return AjaxResults.success(true); + } + + + public int updateByPrimaryKeySelective(BaseRegionalControlObjectives record) { + return baseRegionalControlObjectivesMapper.updateByPrimaryKeySelective(record); + } + + /** + * 插入或更新区域管控目标,并根据监测点管控浓度建议排放量更新区域的建议排放量 + */ + @Override + public void saveOrUpdate() { + // 查询所有大气管控污染物 + List pollutants = pollutantMapper.selectList(new QueryWrapper().eq("is_gas_type", "1")); + if (pollutants.isEmpty()) { + return; + } + + // 查询所有区县 + List regionList = pcLabelValueMapper.selectList(new QueryWrapper().eq("label_id", "5")); + if (regionList.isEmpty()) { + return; + } + + // 查询区域的小时建议排放量 + List regionAdviseEmissionsList = baseRegionalControlObjectivesMapper.selectRegionAdviseEmissions(); + Map regionAdviseEmissionsMap = regionAdviseEmissionsList.stream() + .collect(Collectors.toMap(o -> o.getCountryCode() + "_" + o.getPollutantType(), o -> o)); + + // 查询已存在的区域管控数据 + List regionPollutantList = baseRegionalControlObjectivesMapper.selectList(new QueryWrapper<>()); + Map regionPollMap = regionPollutantList.stream() + .collect(Collectors.toMap(o -> o.getCountryCode() + "_" + o.getPollutantType(), o -> o)); + + List updataList = new ArrayList<>(); + List addList = new ArrayList<>(); + + for (PcPollutant pollutant : pollutants) { + for (PcLabelValue region : regionList) { + BaseRegionalControlObjectives objectives = regionPollMap.get(region.getArgumentsCode() + "_" + pollutant.getPollCode()); + + BaseRegionalControlObjectives regionAdviseEmissions = regionAdviseEmissionsMap.get(region.getArgumentsCode() + "_" + pollutant.getPollCode()); + + BigDecimal suggestedEmissions = null; + if (regionAdviseEmissions != null) { + suggestedEmissions = regionAdviseEmissions.getSuggestedEmissions(); + } + + if (objectives == null) { + objectives = new BaseRegionalControlObjectives(); + objectives.setId(UUID.randomUUID().toString()); + objectives.setCountryCode(region.getArgumentsCode()); + objectives.setPollutantType(pollutant.getPollCode()); + objectives.setSuggestedEmissions(suggestedEmissions); + objectives.setCreateTime(new Date()); + addList.add(objectives); + } else { + // 排放量不一致时才添加到更新列表中,这里不关心其余字段 + if (!ObjectUtil.equals(objectives.getSuggestedEmissions(), suggestedEmissions)) { + objectives.setSuggestedEmissions(suggestedEmissions); + objectives.setUpdateTime(new Date()); + updataList.add(objectives); + } + } + } + } + if (!Collections.isEmpty(updataList)) { + baseRegionalControlObjectivesMapper.updateBatchSuggestedEmissions(updataList); + } + if (!Collections.isEmpty(addList)) { + baseRegionalControlObjectivesMapper.batchInsert(addList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EarlyWarningServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EarlyWarningServiceImpl.java new file mode 100644 index 0000000..c0518b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EarlyWarningServiceImpl.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.service.impl; + +import java.util.Date; +import java.util.List; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.vo.query.EarlyWarningQuery; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.mapper.EarlyWarningMapper; +import cn.cecep.talroad.service.IEarlyWarningService; +import cn.cecep.talroad.mapper.EarlyWarningMapper; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.service.IEarlyWarningService; + + + + +/** + * 管控浓度超标预警Service业务层处理 + * + * @author szhpt + * @date 2023-04-24*/ +@Service +public class EarlyWarningServiceImpl extends ServiceImpl implements IEarlyWarningService +{ + @Autowired + private EarlyWarningMapper earlyWarningMapper; + + /** + * 查询管控浓度超标预警列表 + * + * @param earlyWarning 管控浓度超标预警 + * @return 管控浓度超标预警 + */ + @Override + public List selectEarlyWarningList(EarlyWarningQuery earlyWarning) + { + DateTime startTime = DateUtil.parse(earlyWarning.getStartWarningTime(), "yyyy-MM-dd HH:mm:ss"); + DateTime endTime = DateUtil.parse(earlyWarning.getEndWarningTime(), "yyyy-MM-dd HH:mm:ss"); + return earlyWarningMapper.selectEarlyWarningList(new Page(1,999999), earlyWarning, new QueryWrapper().orderByDesc("warning_time"),startTime,endTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ElectricityMeterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ElectricityMeterServiceImpl.java new file mode 100644 index 0000000..2a8e6c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ElectricityMeterServiceImpl.java @@ -0,0 +1,916 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.domain.vo.MonElecRealVO; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisRunMapper; +import cn.cecep.talroad.service.ElectricityMeterService; +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.text.ParseException; +import java.util.*; +import java.util.concurrent.Future; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; + +import com.alibaba.fastjson.JSON; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +/** + * @className: ElectricityMeterServiceImpl + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/03/30 5:26 PM + * @Company: Copyright© [2023/03/30 5:26 PM] by [Mr.Yanghongtao] + **/ +@Service +@Slf4j +public class ElectricityMeterServiceImpl implements ElectricityMeterService { + @Autowired + private ElectricityMeterMapper electricityMeterMapper; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private SRaRealTimeAnalysisRunMapper sRaRealTimeAnalysisRunMapper; + + @Autowired + private SRaDayMonTimeFbjdMapper sRaDayMonTimeFbjdMapper; + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Autowired + private OdsElectricityElecPsEquipRelationTsAMapper odsElectricityElecPsEquipRelationTsAMapper; + + @Autowired + private MonElecHourMapper monElecHourMapper; + + @Autowired + private MonElecOtherMapper monElecOtherMapper; + + @Autowired + private SRaRealTimeAnalysisRunOneMapper sRaRealTimeAnalysisRunOneMapper; + + @Autowired + private RedisTemplate redisTemplate; + + ThreadPoolExecutor controlTasksExecutor = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024), + new ThreadFactoryBuilder().setNameFormat("Thread-ControlTasks-pool%d").build(), new ThreadPoolExecutor.AbortPolicy()); + + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/30 5:26 PM + * @Deseription: 统计设备运行状态 + * 按照规则,15分钟执行一次,但是数据接入可能会慢一些,所以定时任务执行时间往后延长2分钟 02 17 32 47 执行, + * @Params: time 参数为 yyyy-MM-dd HH:mm:ss 时间为定时任务执行时间往前推一个小时 + * @Params: deviceType 参数为 0-生产设施,1-治理设施 + * @Params: cepAndProIds 参数为 治理设施和生产设施对应关系 + * @Return: + * @Throws: + */ + @Override + public void statisticsDeviceRunningState(String time, String deviceType, Map> cepAndProIds) throws ParseException { + Date updateTime = new Date(); + BigDecimal sixty = new BigDecimal(60); +// log.info("统计设备运行状态,当前时间为:{},传入时间为:{},传入参数为:{}",updateTime,time,deviceType); + if (StringUtils.isEmpty(time) || time.length() < 19) { + return; + } else { + Date date = DateUtils.parseDate(time); + if ("02".equals(time.substring(14, 16))) { + // 更新日期 + updateTime = DateUtils.parseDate( + DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", date) + ); + } else if ("17".equals(time.substring(14, 16))) { + updateTime = DateUtils.parseDate( + DateUtils.parseDateToStr("yyyy-MM-dd HH:15:00", date) + ); + } else if ("32".equals(time.substring(14, 16))) { + updateTime = DateUtils.parseDate( + DateUtils.parseDateToStr("yyyy-MM-dd HH:30:00", date) + ); + } else if ("47".equals(time.substring(14, 16))) { + updateTime = DateUtils.parseDate( + DateUtils.parseDateToStr("yyyy-MM-dd HH:45:00", date) + ); + } else { + log.info("统计设备运行状态,传入参数错误,本次任务已终止"); + return; + } + } + // 02查询的数据为上个小时45分至当前小时02分的数据 + String startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateUtils.addDateMinutes(DateUtils.parseDate(time), -17)); + List monElecRealVOS = electricityMeterMapper.selectDeviceSiteList(Timestamp.valueOf(startTime),Timestamp.valueOf(time), Integer.valueOf(deviceType)); + // 转成map ,key为设备ID,value为监测点(额定功率和数值) + Map> collect = monElecRealVOS.stream().collect(Collectors.groupingBy(MonElecRealVO::getDeviceId)); + Date finalUpdateTime = updateTime; + + // 查询15分钟前企业装备运行情况实时分析的数据 + Date date = DateUtils.addDateMinutes(finalUpdateTime, -15); + // 从Redis里查询上个15分钟前企业装备运行情况实时分析的数据 + String beforeReidsKey = "FBJD:FBJD_" + deviceType +"_" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", date); + List beforeList = new ArrayList<>(); + if (redisTemplate.hasKey(beforeReidsKey)) { + beforeList = redisTemplate.opsForList().range(beforeReidsKey, 0,-1); + } + Map beforeCollect = beforeList.stream().collect(Collectors.toMap(SRaRealTimeAnalysisRun::getDeviceId, Function.identity(), (oldValue, newValue) -> oldValue)); + + // 查询所有企业信息 + List pcFactories = pcFactoryMapper.selectPcFactory(); + Map collectPcFactories = pcFactories.stream().collect(Collectors.toMap(PcFactory::getId, Function.identity(), (oldValue, newValue) -> oldValue)); + // key为设备ID,value为SRaRealTimeAnalysisRun + Map deviceStatusMap = new HashMap<>(); + // key为设备ID,value为监测点ID + Map> basDeviceSiteMap = new HashMap<>(); + + List sRaRealTimeAnalysisRunOneListInsert = new ArrayList<>(); + List sRaRealTimeAnalysisRunOneListUpdate = new ArrayList<>(); + List sRaRealTimeAnalysisRunOneDeviceIds = sRaRealTimeAnalysisRunOneMapper.selectAllDeviceId(deviceType); + collect.forEach((k, v) -> { + List list = v; + List basDeviceSiteIds = list.stream().map(MonElecRealVO::getDeviceSiteId).collect(Collectors.toList()); + basDeviceSiteMap.put(k,basDeviceSiteIds); + // 通过设备ID查询企业信息 + PcFactory pcFactory = collectPcFactories.get(list.get(0).getFactoryId()); + // 封装企业装备运行情况实时分析 + SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun = new SRaRealTimeAnalysisRun(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + sRaRealTimeAnalysisRun.setDataId(uuid); + sRaRealTimeAnalysisRun.setFactoryId(pcFactory.getId()); + sRaRealTimeAnalysisRun.setFactoryName(pcFactory.getFactoryName()); + sRaRealTimeAnalysisRun.setIndustryCategoryCode(pcFactory.getIndustryCategory()); + sRaRealTimeAnalysisRun.setIndustryCategoryName(pcFactory.getIndusName()); + sRaRealTimeAnalysisRun.setDistrictCode(pcFactory.getCountryCode()); + sRaRealTimeAnalysisRun.setDistrictName(pcFactory.getCountryName()); + sRaRealTimeAnalysisRun.setPerformanceLevel(pcFactory.getPreConLevel()); + sRaRealTimeAnalysisRun.setDeviceId(k); + sRaRealTimeAnalysisRun.setDeviceName(list.get(0).getDeviceName()); + // 设备类型(生产设备/治理设备) 1-生产,2-治理 + sRaRealTimeAnalysisRun.setDeviceType(deviceType); + // [运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失)] + sRaRealTimeAnalysisRun.setOperationStatus("1"); + if (beforeCollect.containsKey(k)) { + sRaRealTimeAnalysisRun.setRunEtc(beforeCollect.get(k).getUpdateTime() + "-" + finalUpdateTime + "运行"); + } + // 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) + sRaRealTimeAnalysisRun.setJudgementBasis("2"); + // 计算本次监测点一共用电量 + long count = list.stream().filter(x -> x.getActivePowerQuantity() != null).count(); + if (count == 0) { + // 无有效数据 + // 本次15分钟用电量数据设置为NULL + sRaRealTimeAnalysisRun.setActivePowerQuantity(null); + sRaRealTimeAnalysisRun.setActivePowerQuantityTmp(null); + } else { + BigDecimal activePowerCount = list.stream().filter(x -> x.getActivePowerQuantity() != null).map(x -> new BigDecimal(x.getActivePowerQuantity())).reduce(BigDecimal.ZERO, BigDecimal::add); + sRaRealTimeAnalysisRun.setActivePowerQuantityTmp(activePowerCount.toString()); + if (beforeCollect != null && beforeCollect.containsKey(k) && StringUtils.isNotBlank(beforeCollect.get(k).getActivePowerQuantityTmp())) { + // 本次设备用电总和 - 上次用电设备总和 + BigDecimal beforeActivePowerCount = new BigDecimal(beforeCollect.get(k).getActivePowerQuantityTmp()); + BigDecimal l = activePowerCount.subtract(beforeActivePowerCount); + sRaRealTimeAnalysisRun.setActivePowerQuantity(l.toString()); + } else { + // 如果上个15分钟没有用电总和,那就用本次15分钟监测点用电总和 + sRaRealTimeAnalysisRun.setActivePowerQuantity(activePowerCount.toString()); + } + } + sRaRealTimeAnalysisRun.setCreateTime(new Date()); + sRaRealTimeAnalysisRun.setUpdateTime(finalUpdateTime); + // 取出停运的数量 + BigDecimal isStopRunCount = new BigDecimal(list.stream().filter(x -> !x.getIsRun()).count()); + // 取出监测点的总数 + BigDecimal isCount = new BigDecimal(list.stream().count()); + // 求出停运监测点占比 + BigDecimal proportion = isStopRunCount.divide(isCount, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); + // 停运监测点占比大于百分之60,认定这个设备就是停运状态 + if (proportion.compareTo(sixty) == 1) { + // 入库,该设备当前时间处于停运状态 [运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失)] + sRaRealTimeAnalysisRun.setOperationStatus("2"); + if (beforeCollect.containsKey(k)) { + sRaRealTimeAnalysisRun.setRunEtc(beforeCollect.get(k).getUpdateTime() + "-" + finalUpdateTime + "停运"); + } + } + + // 2023年04月07日10:10:40 新增规则, 如果监测点百分之60的数据是无效数据(activePower是null 或者设备没有额定功率),那这个设备就算做数据缺失 + BigDecimal activePowerIsNullCount = new BigDecimal(list.stream().filter(x -> StringUtils.isEmpty(x.getActivePower()) || StringUtils.isEmpty(x.getPowerRating())).count()); + BigDecimal isValid = activePowerIsNullCount.divide(isCount,2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); + if (isValid.compareTo(sixty) == 1 || isValid.compareTo(sixty) == 0) { + sRaRealTimeAnalysisRun.setOperationStatus("5"); + if (beforeCollect.containsKey(k)) { + sRaRealTimeAnalysisRun.setRunEtc(beforeCollect.get(k).getUpdateTime() + "-" + finalUpdateTime + "数据缺失"); + } + } + // 设置使用的监测点ID + sRaRealTimeAnalysisRun.setBasDeviceSiteIds(basDeviceSiteIds); + + deviceStatusMap.put(k, sRaRealTimeAnalysisRun); + + SRaRealTimeAnalysisRunOne sRaRealTimeAnalysisRunOne = new SRaRealTimeAnalysisRunOne(); + sRaRealTimeAnalysisRunOne.setDataId(uuid); + sRaRealTimeAnalysisRunOne.setFactoryId(pcFactory.getId()); + sRaRealTimeAnalysisRunOne.setFactoryName(pcFactory.getFactoryName()); + sRaRealTimeAnalysisRunOne.setIndustryCategoryCode(pcFactory.getIndustryCategory()); + sRaRealTimeAnalysisRunOne.setIndustryCategoryName(pcFactory.getIndusName()); + sRaRealTimeAnalysisRunOne.setIndustryPermissionName(pcFactory.getIndustryPermissionName()); + sRaRealTimeAnalysisRunOne.setDistrictCode(pcFactory.getCityCode()); + sRaRealTimeAnalysisRunOne.setDistrictName(pcFactory.getCityName()); + sRaRealTimeAnalysisRunOne.setPerformanceLevel(pcFactory.getPreConLevel()); + sRaRealTimeAnalysisRunOne.setDeviceId(k); + sRaRealTimeAnalysisRunOne.setDeviceName(list.get(0).getDeviceName()); + sRaRealTimeAnalysisRunOne.setDeviceType(deviceType); + sRaRealTimeAnalysisRunOne.setOperationStatus(sRaRealTimeAnalysisRun.getOperationStatus()); + sRaRealTimeAnalysisRunOne.setJudgementBasis(sRaRealTimeAnalysisRun.getJudgementBasis()); + sRaRealTimeAnalysisRunOne.setActivePowerQuantityTmp(sRaRealTimeAnalysisRun.getActivePowerQuantityTmp()); + sRaRealTimeAnalysisRunOne.setActivePowerQuantity(sRaRealTimeAnalysisRun.getActivePowerQuantity()); + sRaRealTimeAnalysisRunOne.setCreateTime(new Date()); + sRaRealTimeAnalysisRunOne.setUpdateTime(finalUpdateTime); + sRaRealTimeAnalysisRunOne.setRunEtc(sRaRealTimeAnalysisRun.getRunEtc()); + if (sRaRealTimeAnalysisRunOneDeviceIds.indexOf(k) != -1) { + sRaRealTimeAnalysisRunOneListUpdate.add(sRaRealTimeAnalysisRunOne); + } else { + sRaRealTimeAnalysisRunOneListInsert.add(sRaRealTimeAnalysisRunOne); + } + }); + + // 存入Redis, key为 flag+时间 DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime) + List redisDeviceStatusMap = deviceStatusMap.values().stream().map(x->x).collect(Collectors.toList()); + String redisKey = "FBJD:FBJD_" + deviceType +"_" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime); + if (!CollectionUtils.isEmpty(redisDeviceStatusMap)) { + redisTemplate.opsForList().leftPushAll(redisKey, redisDeviceStatusMap); + redisTemplate.expire(redisKey, 1000 * 60 * 60, TimeUnit.MILLISECONDS); + + // 批量插入数据库 + List> dataList = subList(redisDeviceStatusMap, 1000); + for (int i = 0; i < dataList.size(); i++) { + sRaRealTimeAnalysisRunMapper.insertSRaRealTimeAnalysisRuns(dataList.get(i)); + } + + List> dataList1 = subList(sRaRealTimeAnalysisRunOneListInsert, 1000); + for (int i = 0; i < dataList1.size(); i++) { + sRaRealTimeAnalysisRunOneMapper.batchInsert(dataList1.get(i)); + } + + List> dataList2 = subList(sRaRealTimeAnalysisRunOneListUpdate, 1000); + for (int i = 0; i < dataList2.size(); i++) { + sRaRealTimeAnalysisRunOneMapper.updateBatchSelective(dataList2.get(i)); + } + + } + + // 更新监测点的运行状态 + if (CollectionUtils.isNotEmpty(monElecRealVOS)) { + for (List list : subList(monElecRealVOS, 1000)) { + electricityMeterMapper.updateBatchStatus(list); + } + } + + + // 生产设施的启停状态 + if ("0".equals(deviceType)) { + // 查询生产设施上个15分钟的状态 + // 设备从生产到停产算启停,从停产到生产算停启 date = 15分钟前的时间 + List insertAmProblemFis = new ArrayList<>(); + for (SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun : beforeList) { + // 当前状态 + String status = deviceStatusMap.get(sRaRealTimeAnalysisRun.getDeviceId()).getOperationStatus(); + // 当前状态处于 数据缺失的话,不在判断启停行为 + if ("5".equals(status) || "5".equals(sRaRealTimeAnalysisRun.getOperationStatus()) ) { + break; + } + + // 15分钟前分析的状态 // 两次状态不相等,代表发生了 启停或者停起 + if (!status.equals(sRaRealTimeAnalysisRun.getOperationStatus())) { + String message = "企业:" + sRaRealTimeAnalysisRun.getFactoryName() + "," + + "生产设施:" + sRaRealTimeAnalysisRun.getDeviceName() + "," + + "于" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime); + // 判断15分钟前的数据为运行还是停止 1-启动 ,2 -停止 + if ("1".equals(sRaRealTimeAnalysisRun.getOperationStatus())) { + // 插入报警表, 发生了启停 “企业名称”“设施名称”于“启停/停启发现时间”存在启停行为,请注意。 + message += "存在启停行为,请注意!"; + } else { + // 插入报警表, 发生了停启 + message += "存在停启行为,请注意!"; + } + // 插入报警表 + AmProblemFi amProblemFi = new AmProblemFi(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + amProblemFi.setFactoryId(sRaRealTimeAnalysisRun.getFactoryId()); + // 问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统 + amProblemFi.setProblemSources("1"); + // 新增一条,代表企业生产设施运行分析 + amProblemFi.setProblemType("002002"); + amProblemFi.setProblemDetails(message); + amProblemFi.setStationName(sRaRealTimeAnalysisRun.getDeviceName()); + amProblemFi.setProblemStartTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setProblemEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setAnalyseTime(finalUpdateTime); + amProblemFi.setAnalyseTimeEnd(finalUpdateTime); + + // 循环该治理设施下所有点位ID + List basDeviceSiteIds = Optional.ofNullable(basDeviceSiteMap.get(sRaRealTimeAnalysisRun.getDeviceId())).orElse(new ArrayList<>()); + Map map = new HashMap<>(basDeviceSiteIds.size()); + List> elecDeviceSiteList = new ArrayList<>(basDeviceSiteIds.size()); + for (String basDeviceSiteId : basDeviceSiteIds) { + Map m = new HashMap(basDeviceSiteIds.size()); + m.put("deviceSiteId",basDeviceSiteId); + m.put("params",Arrays.asList(new String[]{"activePower"})); + elecDeviceSiteList.add(m); + } + map.put("elecDeviceSiteList",elecDeviceSiteList); + amProblemFi.setExtra(JSON.toJSONString(map).toString()); + // 处理状态(1待处理 、2 已处理) + amProblemFi.setProblemTreatmentState("1"); + // 类型 0-预警,1-报警 + amProblemFi.setType(0); + insertAmProblemFis.add(amProblemFi); + } + } + + // 批量插入数据库 + List> dataList = subList(insertAmProblemFis, 1000); + for (int i = 0; i < dataList.size(); i++) { + amProblemFiMapper.insertAmProblemFis(dataList.get(i)); + } + } + + + // 治理设施未有效运行 + if ("1".equals(deviceType)) { + + // 从Redis里查询当前时间 "生产设备" 企业装备运行情况实时分析的数据 + String reidsKeyProd = "FBJD:FBJD_0_" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime); + List sRaRealTimeAnalysisRunProds = new ArrayList<>(); + if (redisTemplate.hasKey(reidsKeyProd)) { + sRaRealTimeAnalysisRunProds = redisTemplate.opsForList().range(reidsKeyProd, 0,-1); + } + // 如果当前时间 "生产设备" 没有数据 直接跳出 + if (CollectionUtils.isEmpty(sRaRealTimeAnalysisRunProds)) { + return; + } + List insertAmProblemFis = new ArrayList<>(); + // key为生产设施ID + Map collect1 = sRaRealTimeAnalysisRunProds.stream().collect(Collectors.toMap(SRaRealTimeAnalysisRun::getDeviceId, Function.identity(), (oldValue, newValue) -> oldValue)); + // 首先过滤出本次定时任务执行完,治理设施为"停运"的数据 + redisDeviceStatusMap.stream().filter(x-> "2".equals(x.getOperationStatus())).forEach(x->{ + // 查询它对应的生产设施IDs + List proIds = cepAndProIds.containsKey(x.getDeviceId()) ? cepAndProIds.get(x.getDeviceId()) : new ArrayList<>(); + proIds.forEach(p->{ + SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun = collect1.get(p); + if (sRaRealTimeAnalysisRun!= null && "1".equals(sRaRealTimeAnalysisRun.getOperationStatus())) { + String message = "企业:" + x.getFactoryName() + "," + + "治理设施:" + x.getDeviceName() + "," + + "于" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime) + "处于停运状态,对应生产设施:" + + sRaRealTimeAnalysisRun.getDeviceName() + "正常运行,存在生产治理未同步运行的情况。"; + // 插入报警表 + AmProblemFi amProblemFi = new AmProblemFi(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + amProblemFi.setFactoryId(x.getFactoryId()); + // 问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统 + amProblemFi.setProblemSources("1"); + // 新增一条,代表企业生产设施运行分析 + amProblemFi.setProblemType("004001001"); + amProblemFi.setProblemDetails(message); + amProblemFi.setStationName("生产设施:" + sRaRealTimeAnalysisRun.getDeviceName() + ",治理设施" + x.getDeviceName()); + amProblemFi.setProblemStartTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setProblemEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setAnalyseTime(finalUpdateTime); + amProblemFi.setAnalyseTimeEnd(finalUpdateTime); + Map map = new HashMap<>(); + // 循环该治理设施下所有点位ID + List> l = new ArrayList<>(); + List governanceBasDeviceSiteIds = Optional.ofNullable(basDeviceSiteMap.get(x.getDeviceId())).orElse(new ArrayList<>()); + // 生产设施所使用的监测点ID + List productionBasDeviceSiteIds = sRaRealTimeAnalysisRun.getBasDeviceSiteIds(); + governanceBasDeviceSiteIds.addAll(productionBasDeviceSiteIds); + for (String basDeviceSiteId : governanceBasDeviceSiteIds) { + Map m = new HashMap(); + m.put("deviceSiteId",basDeviceSiteId); + m.put("params",Arrays.asList(new String[]{"activePower"})); + l.add(m); + } + map.put("elecDeviceSiteList",l); + amProblemFi.setExtra(JSON.toJSONString(map).toString()); + // 处理状态(1待处理 、2 已处理) + amProblemFi.setProblemTreatmentState("1"); + // 类型 0-预警,1-报警 + amProblemFi.setType(0); + amProblemFi.setCreateTime(new Date()); +// amProblemFiMapper.insert(amProblemFi); + insertAmProblemFis.add(amProblemFi); + } + }); + }); + + /* + List sRaRealTimeAnalysisRuns = beforeListNew.stream().filter(x -> "2".equals(deviceStatusMap.get(x.getDeviceId()).getOperationStatus())).collect(Collectors.toList()); + for (SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun : sRaRealTimeAnalysisRuns) { + // 治理设施当前状态 getDeviceId SQL查询的是治理设施的ID + String status = deviceStatusMap.get(sRaRealTimeAnalysisRun.getDeviceId()).getOperationStatus(); + // 当前状态处于 数据缺失的话,不在判断启停行为 + if ("5".equals(status) || "5".equals(sRaRealTimeAnalysisRun.getOperationStatus()) ) { + continue; + } + // 判断治理设施当前状态与对应的生产设施状态是否一致,不一致就代表治理设施停止运行,但是生产设施是运行状态 + if (!status.equals(sRaRealTimeAnalysisRun.getOperationStatus())) { + String message = "企业:" + sRaRealTimeAnalysisRun.getFactoryName() + "," + + "治理设施:" + deviceStatusMap.get(sRaRealTimeAnalysisRun.getDeviceId()).getDeviceName() + "," + + "于" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime) + "处于停运状态,对应生产设施:" + + sRaRealTimeAnalysisRun.getDeviceName() + "正常运行,存在生产治理未同步运行的情况。"; + // 插入报警表 + AmProblemFi amProblemFi = new AmProblemFi(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + amProblemFi.setId(uuid); + amProblemFi.setFactoryId(sRaRealTimeAnalysisRun.getFactoryId()); + // 问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统 + amProblemFi.setProblemSources("1"); + // 新增一条,代表企业生产设施运行分析 + amProblemFi.setProblemType("004001001"); + amProblemFi.setProblemDetails(message); + amProblemFi.setStationName("生产设施:" + sRaRealTimeAnalysisRun.getDeviceName() + ",治理设施" + deviceStatusMap.get(sRaRealTimeAnalysisRun.getDeviceId()).getDeviceName()); + amProblemFi.setProblemStartTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setProblemEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", finalUpdateTime)); + amProblemFi.setAnalyseTime(finalUpdateTime); + amProblemFi.setAnalyseTimeEnd(finalUpdateTime); + Map map = new HashMap<>(); + // 循环该治理设施下所有点位ID + List> l = new ArrayList<>(); + List basDeviceSiteIds = Optional.ofNullable(basDeviceSiteMap.get(sRaRealTimeAnalysisRun.getDeviceId())).orElse(new ArrayList<>()); + for (String basDeviceSiteId : basDeviceSiteIds) { + Map m = new HashMap(); + m.put("deviceSiteId",basDeviceSiteId); + m.put("params",Arrays.asList(new String[]{"activePower"})); + l.add(m); + } + map.put("elecDeviceSiteList",l); + amProblemFi.setExtra(JSON.toJSONString(map).toString()); + // 处理状态(1待处理 、2 已处理) + amProblemFi.setProblemTreatmentState("1"); + // 类型 0-预警,1-报警 + amProblemFi.setType(0); + amProblemFi.setCreateTime(new Date()); +// amProblemFiMapper.insert(amProblemFi); + insertAmProblemFis.add(amProblemFi); + } + } + */ + // 批量插入数据库 + List> dataList = subList(insertAmProblemFis, 1000); + for (int i = 0; i < dataList.size(); i++) { + amProblemFiMapper.insertAmProblemFis(dataList.get(i)); + } + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 2:56 PM + * @Deseription: 统计设备运行时间 每日0点10分执行,统计昨日数据 + * @Params: null + * @Return: + * @Throws: + */ + public void statisticsDeviceRunningTime(String startTime,String endTime) throws Exception { + // 获取昨日日期 + Date beforeDate = DateUtils.addDateDays(new Date(), -1); + if (StringUtils.isNotEmpty(startTime)) { + beforeDate = DateUtils.parseDate(startTime); + } + startTime = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", beforeDate); + endTime = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", DateUtils.addDateDays(beforeDate, 1)); + + List insertSRaDayMonTimeFbjd = new ArrayList<>(); + + // 一天的数据大约有277万条,所以改成线程查询,24个线程,每个线程查询一个小时的数据 + List>> threadDataList = new ArrayList<>(); + List resultList = new ArrayList<>(); + // 获取日期封装 + List dateList = getDateList(startTime, endTime); + + for (String[] strings : dateList) { + Future> submit = controlTasksExecutor.submit(new ThreadQuerySRaRealTimeAnalysisRunData(strings[0], strings[1])); + threadDataList.add(submit); + } + Long st = System.currentTimeMillis() + (1000 * 60 * 20); + // 保证获取到全部的线程查询结果 + while (true){ + // 一条数据都查询不出来就跳出循环 或者 循环时间大于20分钟 + if (threadDataList.isEmpty() || System.currentTimeMillis() > st) { + break; + } + // 循环获取 + for (int i = 0; i < threadDataList.size(); i++) { + if (threadDataList.get(i).isDone()) { + resultList.addAll(threadDataList.get(i).get()); + threadDataList.remove(i--); + } + } + // 每隔0.5秒 检测一次 + TimeUnit.MILLISECONDS.sleep(500); + } + + + // 查询昨日设备运行状态+时间,倒序查询 +// List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisRunMapper.selectListByDate(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), null); + // 根据设备进行分组 key为设备ID + Map> collect = resultList.stream().collect(Collectors.groupingBy(SRaRealTimeAnalysisRun::getDeviceId)); + Date finalBeforeDate = beforeDate; + collect.forEach((k, v) -> { + // 取出本设备昨日的运行状态+时间 + List list = v; + // 根据更新日期正序 + Collections.sort(list, Comparator.comparing(BaseEntity::getUpdateTime)); + + SRaDayMonTimeFbjd sRaDayMonTimeFbjd = new SRaDayMonTimeFbjd(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + sRaDayMonTimeFbjd.setDataId(uuid); + sRaDayMonTimeFbjd.setFactoryId(list.get(0).getFactoryId()); + sRaDayMonTimeFbjd.setDeviceId(k); + sRaDayMonTimeFbjd.setTimeType(TimeTypeEnum.DAY.getCode()); + sRaDayMonTimeFbjd.setDataTime(DateUtils.parseDateToStr("yyyy-MM-dd", finalBeforeDate)); + sRaDayMonTimeFbjd.setCreateTime(new Date()); + sRaDayMonTimeFbjd.setRunTime("0"); + + // 删除无效数据 + list.removeIf(x->"5".equals(x.getOperationStatus())); + // 使用迭代器,循环删除停运状态数据,直至数据是运行状态 + Iterator it = list.iterator(); + while (it.hasNext()) { + SRaRealTimeAnalysisRun next = it.next(); + if (!"1".equals(next.getOperationStatus())) { + it.remove(); + } else { + break; + } + } + + // 判读List大小, 如果为0 ,则代表一天都是停运状态 + if (list.size() == 0) { + // 入库 当前设备昨日运行时间为0小时 +// sRaDayMonTimeFbjdMapper.insert(sRaDayMonTimeFbjd); + insertSRaDayMonTimeFbjd.add(sRaDayMonTimeFbjd); + return; + } + + // 首条数据状态 一定为运行状态 + boolean firstFlag = true; + // 首条数据时间 + Date firstTime = list.get(0).getUpdateTime(); + // 设备运行总时间 + double countTime = 0; + + for (int i = 0; i < list.size(); i++) { + // status = true 代表运行 + boolean status = "1".equals(list.get(i).getOperationStatus()) ? true : false; + // 判断数据状态与flag是否一致 + if (status != firstFlag) { + if (firstFlag) { + // 本条数据是停运状态 , 计算本次启停时间 + double runTime = (double) (list.get(i).getUpdateTime().getTime() - firstTime.getTime()) / 1000 / (60 * 60); + countTime += runTime; + } + firstFlag = status; + + // 如果数据变为启动状态,则更新时间 + if (status) { + firstTime = list.get(i).getUpdateTime(); + } + } else { + // 第一条为运行状态,第二条依然为运行状态,要把这两条时间加起来,得是运行状态 + if (i != 0 && firstFlag) { + double runTime = (double) (list.get(i).getUpdateTime().getTime() - firstTime.getTime()) / 1000 / (60 * 60); + countTime += runTime; + firstTime = list.get(i).getUpdateTime(); + } + } + // 一般最后一条数据为23:45:00 。 判断此条数据运行状态是否为运行,运行的话,给countTime在加15分钟的时间 + if ("23:45:00".equals(DateUtils.parseDateToStr("HH:mm:ss", list.get(i).getUpdateTime()))) { + if (status) { + countTime += 0.25; + } + } + // 1条数据,代表当天只有一条启动状态的数据,按照新规则,代表这条数据至晚上23点59分59秒都是运行状态 + if (list.size() == 1) { + // 获取本条数据当天时间 + Date toDay = DateUtils.parseFormatDate("yyyy-MM-dd 23:59:59", list.get(i).getUpdateTime()); + double runTime = (toDay.getTime() - list.get(i).getUpdateTime().getTime()) / 1000 / (60 * 60); + countTime += runTime; + } + } + + sRaDayMonTimeFbjd.setRunTime(String.valueOf(countTime)); + insertSRaDayMonTimeFbjd.add(sRaDayMonTimeFbjd); + }); + + // 批量插入数据库 + List> dataList = subList(insertSRaDayMonTimeFbjd, 1000); + for (int i = 0; i < dataList.size(); i++) { + sRaDayMonTimeFbjdMapper.insertinsertSRaDayMonTimeFbjds(dataList.get(i)); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/3/31 5:03 PM + * @Deseription: 统计设备运行时间 每月1日执行,统计上个月数据 + * @Params: null + * @Return: + * @Throws: + */ + public void statisticsDeviceRunningTimeByMonth(String startTime,String endTime) throws Exception { + // 查询上个月数据 + if (StringUtils.isEmpty(startTime)) { + startTime = DateUtils.getLastMonthBegin(); + } + if (StringUtils.isEmpty(endTime)) { + endTime = DateUtils.getLastMonthEnd(); + } + List insertSRaDayMonTimeFbjd = new ArrayList<>(); + + List>> threadDataList = new ArrayList<>(); + List resultList = new ArrayList<>(); + // 一个月数据大概有90万条数据,分成10天查询一次 + List dateListMonth = getDateListMonth(startTime, endTime); + for (String[] strings : dateListMonth) { + Future> submit = controlTasksExecutor.submit(new ThreadQuerySRaDayMonTimeFbjdData(strings[0], strings[1])); + threadDataList.add(submit); + } + + Long st = System.currentTimeMillis() + (1000 * 60 * 20); + // 保证获取到全部的线程查询结果 + while (true){ + // 一条数据都查询不出来就跳出循环 或者 循环时间大于20分钟 + if (threadDataList.isEmpty() || System.currentTimeMillis() > st) { + break; + } + // 循环获取 + for (int i = 0; i < threadDataList.size(); i++) { + if (threadDataList.get(i).isDone()) { + resultList.addAll(threadDataList.get(i).get()); + threadDataList.remove(i--); + } + } + // 每隔0.5秒 检测一次 + TimeUnit.MILLISECONDS.sleep(500); + } + +// List sRaDayMonTimeFbjds = sRaDayMonTimeFbjdMapper.selectListByDate(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime)); + // 根据设备进行分组 + Map> collect = resultList.stream().collect(Collectors.groupingBy(SRaDayMonTimeFbjd::getDeviceId)); + String finalStartTime = startTime; + collect.forEach((k, v) -> { + // 统计总运行时间 + double sum = v.stream().mapToDouble((x) -> Double.valueOf(x.getRunTime())).summaryStatistics().getSum(); + SRaDayMonTimeFbjd sRaDayMonTimeFbjd = new SRaDayMonTimeFbjd(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + sRaDayMonTimeFbjd.setDataId(uuid); + sRaDayMonTimeFbjd.setFactoryId(v.get(0).getFactoryId()); + sRaDayMonTimeFbjd.setDeviceId(k); + sRaDayMonTimeFbjd.setTimeType(TimeTypeEnum.MONTH.getCode()); + sRaDayMonTimeFbjd.setDataTime(finalStartTime.substring(0, 7)); + sRaDayMonTimeFbjd.setCreateTime(new Date()); + sRaDayMonTimeFbjd.setRunTime(String.valueOf(sum)); + insertSRaDayMonTimeFbjd.add(sRaDayMonTimeFbjd); + }); + + // 批量插入数据库 + List> dataList = subList(insertSRaDayMonTimeFbjd, 1000); + for (int i = 0; i < dataList.size(); i++) { + sRaDayMonTimeFbjdMapper.insertinsertSRaDayMonTimeFbjds(dataList.get(i)); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/1 7:05 PM + * @Deseription: 统计设备用电数据,一个小时一次 + * 每小时统计上一个小时的用电量,监测时间设置为上一个小时 + * @Params: null + * @Return: + * @Throws: + */ + public void statisticsDeviceUsePowerCount(String startTime, String endTime) { + // 每个小时运行一次,统计上个小时的设备用电数据 + // 获取上个小时的时间 + if (StringUtils.isEmpty(startTime)) { + startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", DateUtils.addDateHours(new Date(), -1)); + } + if (StringUtils.isEmpty(endTime)) { + endTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:59:59", DateUtils.addDateHours(new Date(), -1)); + } + List insertMonElecHours = new ArrayList<>(); + + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisRunMapper.selectListByDate(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), null); + // 根据设备进行分组 + Map> collect = sRaRealTimeAnalysisRuns.stream().collect(Collectors.groupingBy(SRaRealTimeAnalysisRun::getDeviceId)); + String finalStartTime = startTime; + collect.forEach((k, v) -> { + // 统计该设备下上一个小时的用电数据 + BigDecimal count = v.stream().filter(x -> x.getActivePowerQuantity() != null).map(x -> new BigDecimal(x.getActivePowerQuantity())).reduce(BigDecimal.ZERO, BigDecimal::add); + // 存入某个表 + MonElecHour monElecHour = new MonElecHour(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + monElecHour.setDataId(uuid); + monElecHour.setDeviceId(k); + monElecHour.setTimeType(TimeTypeEnum.HOUR.getCode()); + monElecHour.setDataTime(DateUtils.parseDate(finalStartTime)); + monElecHour.setCreateTime(new Date()); + monElecHour.setActivePowerQuantity(count.toString()); + insertMonElecHours.add(monElecHour); + }); + // 批量插入数据库 + List> dataList = subList(insertMonElecHours, 1000); + for (int i = 0; i < dataList.size(); i++) { + monElecHourMapper.insertMonElecHours(dataList.get(i)); + } + } + + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/1 7:05 PM + * @Deseription: 统计设备用电数据,每日统计一次 + * @Params: null + * @Return: + * @Throws: + */ + public void statisticsDeviceUsePowerCountByDay(String startTime, String endTime) throws Exception { + // 每日统计一次,统计昨日小时的设备用电数据 + if (StringUtils.isEmpty(startTime)) { + startTime = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", DateUtils.addDateDays(new Date(), -1)); + } + if (StringUtils.isEmpty(endTime)) { + endTime = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", new Date()); + } + // 一天的数据大约有277万条,所以改成线程查询,24个线程,每个线程查询一个小时的数据 + List>> threadDataList = new ArrayList<>(); + List resultList = new ArrayList<>(); + // 获取日期封装 + List dateList = getDateList(startTime, endTime); + + for (String[] strings : dateList) { + Future> submit = controlTasksExecutor.submit(new ThreadQuerySRaRealTimeAnalysisRunData(strings[0], strings[1])); + threadDataList.add(submit); + } + Long st = System.currentTimeMillis() + (1000 * 60 * 20); + // 保证获取到全部的线程查询结果 + while (true){ + // 一条数据都查询不出来就跳出循环 或者 循环时间大于20分钟 + if (threadDataList.isEmpty() || System.currentTimeMillis() > st) { + break; + } + // 循环获取 + for (int i = 0; i < threadDataList.size(); i++) { + if (threadDataList.get(i).isDone()) { + resultList.addAll(threadDataList.get(i).get()); + threadDataList.remove(i--); + } + } + // 每隔0.5秒 检测一次 + TimeUnit.MILLISECONDS.sleep(500); + } + List insertMonElecOther = new ArrayList<>(); + + // 根据设备进行分组 + Map> collect = resultList.stream().collect(Collectors.groupingBy(SRaRealTimeAnalysisRun::getDeviceId)); + String finalStartTime = startTime; + collect.forEach((k, v) -> { + // 统计该设备下上一个小时的用电数据 + BigDecimal count = v.stream().filter(x -> x.getActivePowerQuantity() != null).map(x -> new BigDecimal(x.getActivePowerQuantity())).reduce(BigDecimal.ZERO, BigDecimal::add); + // 存入某个表 + MonElecOther monElecOther = new MonElecOther(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + monElecOther.setDataId(uuid); + monElecOther.setDeviceId(k); + monElecOther.setTimeType(TimeTypeEnum.DAY.getCode()); + monElecOther.setDataTime(DateUtils.parseDate(finalStartTime)); + monElecOther.setActivePowerQuantity(count.toString()); + monElecOther.setCreateTime(new Date()); + insertMonElecOther.add(monElecOther); + }); + + // 批量插入数据库 + List> dataList = subList(insertMonElecOther, 1000); + for (int i = 0; i < dataList.size(); i++) { + monElecOtherMapper.insertMonElecOther(dataList.get(i)); + } + } + + + /** + * 截取List + * @param tList + * @param subNum + * @param + * @return + */ + public static List> subList(List tList, Integer subNum) { + // 新的截取到的list集合 + List> tNewList = new ArrayList>(); + // 要截取的下标上限 + Integer priIndex = 0; + // 要截取的下标下限 + Integer lastIndex = 0; + // 每次插入list的数量 + // Integer subNum = 500; + // 查询出来list的总数目 + Integer totalNum = tList.size(); + // 总共需要插入的次数 + Integer insertTimes = totalNum / subNum; + List subNewList = new ArrayList(); + for (int i = 0; i <= insertTimes; i++) { + // [0--20) [20 --40) [40---60) [60---80) [80---100) + priIndex = subNum * i; + lastIndex = priIndex + subNum; + // 判断是否是最后一次 + if (i == insertTimes) { + //logger.info("最后一次截取:"+priIndex + "," + lastIndex); + subNewList = tList.subList(priIndex, tList.size()); + } else { + // 非最后一次 + subNewList = tList.subList(priIndex, lastIndex); + } + if (subNewList.size() > 0) { + //logger.info("开始将截取的list放入新的list中"); + tNewList.add(subNewList); + } + } + return tNewList; + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/24 11:01 + * @Deseription: 获取24条数据 [yyyy-MM-dd 00:00:00,yyyy-MM-dd 01:00:00] ... [yyyy-MM-dd 23:00:00,yyyy-MM-dd+1 00:00:00] + * @Params: null + * @Return: + * @Throws: + */ + private List getDateList(String startTime, String endTime) { + List list = new ArrayList<>(); + for (int i = 0; i < 24; i++) { + String[] dateArr = new String[2]; + dateArr[0] = startTime.substring(0,11) + (i < 10 ? "0" + i : String.valueOf(i)) + ":00:00"; + if (i == 23) { + dateArr[1] = endTime; + } else { + dateArr[1] = startTime.substring(0,11) + ((i + 1) < 10 ? "0" + (i + 1) : String.valueOf((i + 1))) + ":00:00"; + } + list.add(dateArr); + } + return list; + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/24 12:42 + * @Deseription: 传入月初和月末,每5天分隔一条 + * @Params: null + * @Return: + * @Throws: + */ + private List getDateListMonth(String startTime, String endTime) { + List list = new ArrayList<>(); + for (int i = 5; i < 31; i+=5) { + String[] dateArr = new String[2]; + if (i == 5) { + dateArr[0] = startTime; + dateArr[1] = DateUtils.getLastMonth() + "-" + (i < 10 ? "0" + i : i) + " 00:00:00"; + list.add(dateArr); + } else if (i == 30) { + dateArr[0] = DateUtils.getLastMonth() + "-" + ((i - 5) < 10 ? "0" + (i - 5) : (i - 5)) + " 00:00:00"; + dateArr[1] = endTime;; + list.add(dateArr); + } else { + dateArr[0] = DateUtils.getLastMonth() + "-" + ((i - 5) < 10 ? "0" + (i - 5) : (i - 5)) + " 00:00:00"; + dateArr[1] = DateUtils.getLastMonth() + "-" + (i < 10 ? "0" + i : i) + " 00:00:00"; + list.add(dateArr); + } + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EmissionsStatServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EmissionsStatServiceImpl.java new file mode 100644 index 0000000..c85073c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EmissionsStatServiceImpl.java @@ -0,0 +1,510 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.mapper.BaseRegionalControlObjectivesMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.mapper.SEnvGasMonRealMapper; +import cn.cecep.talroad.service.EmissionsStatService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.EmissionsStatVo; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class EmissionsStatServiceImpl implements EmissionsStatService { + @Autowired + private PcPollutantMapper pollutantMapper; + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private SEnvGasMonRealMapper gasMonRealMapper; + + @Autowired + private BaseRegionalControlObjectivesMapper regionalControlObjectivesMapper; + + @Override + public List getPointList(IPage page, EmissionsStatVo.PointSearch search) { + + if (StringUtils.isNotEmpty(search.getStartTime()) &&StringUtils.isNotEmpty(search.getEndTime())) { + int days = DateUtils.daysBetween(search.getStartTime(), search.getEndTime()); + if (days > 31) { + throw new RuntimeException("查询时间范围大于一个月"); + } + } + + /* + 查询出所有纳入计算的监测点管控浓度标准 + */ + List rows = outletMapper.selectEmissionsStatPointList(search); + + if (rows.isEmpty()) { + return rows; + } + + // 查询大气监管污染物,并且设置了gas_mon_real_property字段的 + List pollutants = pollutantMapper.selectList(new QueryWrapper() + .eq("is_gas_type", "1") + .isNotNull("gas_mon_real_property")); + Map pollutantMap = pollutants.stream().collect(Collectors.toMap(o -> o.getPollCode(), o -> o)); + + // >> 计算指定时间范围内监测点排放量相关字段 + if (StringUtils.isNotEmpty(search.getStartTime()) && StringUtils.isNotEmpty(search.getEndTime())) { + + // 汇总监测点位id + Set outletIds = rows.stream().map(o -> o.getPointId()).collect(Collectors.toSet()); + + // 查询指定时间范围内的监测点监测数据 + List gasMonReals1 = gasMonRealMapper.selectEmissionStat(search.getStartTime(), search.getEndTime(), outletIds); + Map outletEmissionMap1 = gasMonReals1.stream().collect(Collectors.toMap(o -> o.getOutletId(), o -> o)); + + for (EmissionsStatVo.PointRow row : rows) { + SEnvGasMonRealVo.EmissionSumVo emissionVo = outletEmissionMap1.get(row.getPointId()); + PcPollutant pcPollutant = pollutantMap.get(row.getPollutantCode()); + + // 当前监测点的监测数据存在 + if (emissionVo != null) { + /* + 设置实际排放量,需求如下: + 实际排放量 = 在线监测系统对应小时排放量数据 + TODO 当排放量大于上限值时用前720小时最大排放量进行替换,该功能待确定如何实现 + */ + if (pcPollutant != null) { + // 获取污染物的排放量 + BigDecimal sum = BeanUtil.getProperty(emissionVo, pcPollutant.getGasMonRealProperty() + "Sum"); + row.setRealEmissions(sum); + } + + /* + 设置管控浓度排放量,需求如下: + 管控浓度排放量=管控浓度设置模块设置的浓度乘以废气小时排放量除以1000000 + TODO 当排放量大于上限值时用前720小时管控浓度排放量的最大排放量进行替换,该功能待确定如何实现 + */ + if (row.getControlStandard() != null && emissionVo.getOxygenEmissionSum() != null) { + BigDecimal manageEmissions = row.getControlStandard().multiply(emissionVo.getOxygenEmissionSum()) + .divide(BigDecimal.valueOf(1000000), 6, BigDecimal.ROUND_HALF_UP); + row.setManageEmissions(manageEmissions); + } + + row.setHourDataCount(emissionVo.getHourDataCount()); + } + + /* + 管控浓度排放量与实际排放量差值 = 管控浓度排放量-实际排放量 + */ + if (row.getManageEmissions() != null && row.getRealEmissions() != null) { + row.setManageRealDiff(row.getManageEmissions().subtract(row.getRealEmissions())); + } + + /* + 管控浓度排放量与实际排放量差值小于0时,是超标 + */ + if (row.getManageRealDiff() != null) { + row.setOver(row.getManageRealDiff().compareTo(BigDecimal.valueOf(0)) < 0 ? "是" : "否"); + } + } + } + + /* + 由于是否超标只有计算后才能得到,因此页面上要根据是否超标进行查询,只能查询出所有的数据计算完成后才能过滤、分页 + */ + // 根据是否超标过滤 + if (StringUtils.isNotEmpty(search.getOver())) { + String over = search.getOver().equals("1") ? "是" : "否"; + rows = rows.stream().filter(o -> over.equals(o.getOver())).collect(Collectors.toList()); + } + + // 分页 + if (page != null) { + page.setTotal(rows.size()); + rows = rows.stream() + .skip((page.getCurrent() - 1) * page.getSize()) + .limit(page.getSize()) + .collect(Collectors.toList()); + } + return rows; + } + + @Override + public List getFactoryList(IPage page, EmissionsStatVo.FactorySearch search) { + EmissionsStatVo.PointSearch pointSearch = new EmissionsStatVo.PointSearch(); + BeanUtils.copyProperties(search, pointSearch, "over"); // 不拷贝是否超标,企业的是否超标需要根据监测点的数据重新计算 + + // 不分页获取所有监测点数据 + List pointList = getPointList(null, pointSearch); + + if (pointList.isEmpty()) { + return new ArrayList<>(); + } + + // 按照企业和污染物分组,计算排放量相关字段 + Map> collect = pointList.stream() + .collect(Collectors.groupingBy(o -> o.getFactoryId() + "_" + o.getPollutantCode(), + // 用LinkedHashMap,保证分组顺序和查询顺序一样 + LinkedHashMap::new, Collectors.toList())); + + List rows = collect.entrySet().stream().map(entry -> { + EmissionsStatVo.PointRow pointRow = entry.getValue().get(0); + + EmissionsStatVo.FactoryRow row = new EmissionsStatVo.FactoryRow(); + row.setFactoryName(pointRow.getFactoryName()); + row.setRegionName(pointRow.getRegionName()); + row.setIndustryName(pointRow.getIndustryName()); + row.setPollutantName(pointRow.getPollutantName()); + row.setRegionCode(pointRow.getRegionCode()); + row.setFactoryId(pointRow.getFactoryId()); + + BigDecimal manageEmissions = entry.getValue().stream().filter(o -> o.getManageEmissions() != null) + .map(EmissionsStatVo.BaseRow::getManageEmissions) + .reduce(BigDecimal::add).orElse(null); + row.setManageEmissions(manageEmissions); + + BigDecimal realEmissions = entry.getValue().stream().filter(o -> o.getRealEmissions() != null) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + row.setRealEmissions(realEmissions); + + BigDecimal nonKeyRealEmissions = entry.getValue().stream() + // 找到非重点的并且实际排放量不为null的 + .filter(o -> o.getRealEmissions() != null && "0".equals(o.getControlPoints())) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + row.setNonKeyRealEmissions(nonKeyRealEmissions); + + /* + 基准排放量=管控浓度排放量+非重点管控点位实际排放量 + */ + if (row.getManageEmissions() != null || row.getNonKeyRealEmissions() != null) { + BigDecimal basisEmissions = new BigDecimal(0); + if (row.getManageEmissions() != null) { + basisEmissions = basisEmissions.add(row.getManageEmissions()); + } + if (row.getNonKeyRealEmissions() != null) { + basisEmissions = basisEmissions.add(row.getNonKeyRealEmissions()); + } + row.setBasisEmissions(basisEmissions); + } + + /* + 基准排放量与实际排放量差值 + */ + if (row.getBasisEmissions() != null && row.getRealEmissions() != null) { + row.setBasisRealDiff(row.getBasisEmissions().subtract(row.getRealEmissions())); + } + + /* + 基准排放量与实际排放量差值小于0时,是超标 + */ + if (row.getBasisRealDiff() != null) { + row.setOver(row.getBasisRealDiff().compareTo(BigDecimal.valueOf(0)) < 0 ? "是" : "否"); + } + return row; + }).collect(Collectors.toList()); + + // 根据是否超标过滤 + if (StringUtils.isNotEmpty(search.getOver())) { + String over = search.getOver().equals("1") ? "是" : "否"; + rows = rows.stream().filter(o -> over.equals(o.getOver())).collect(Collectors.toList()); + } + + // 分页 + if (page != null) { + page.setTotal(rows.size()); + rows = rows.stream() + .skip((page.getCurrent() - 1) * page.getSize()) + .limit(page.getSize()) + .collect(Collectors.toList()); + } + return rows; + } + + @Override + public EmissionsStatVo.Region getRegionStat(EmissionsStatVo.RegionSearch search) { + if (StringUtils.isEmpty(search.getPollutantCode())) { + throw new RuntimeException("请指定一个污染物种类"); + } + + EChartsVO.SeriesObj manageTargetSer = new EChartsVO.SeriesObj(); + manageTargetSer.setName("管控目标排放量"); + manageTargetSer.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj basisSer = new EChartsVO.SeriesObj(); + basisSer.setName("基准排放量"); + basisSer.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj realSer = new EChartsVO.SeriesObj(); + realSer.setName("实际排放量"); + realSer.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(new ArrayList<>()); + chartsVO.setSeries(Arrays.asList(manageTargetSer, basisSer, realSer)); + + EmissionsStatVo.Region responseData = new EmissionsStatVo.Region(); + responseData.setRows(new ArrayList<>()); + responseData.setChartsVO(chartsVO); + + EmissionsStatVo.PointSearch pointSearch = new EmissionsStatVo.PointSearch(); + BeanUtils.copyProperties(search, pointSearch, "over"); // 不拷贝是否超标,区域的是否超标需要根据监测点的数据重新计算 + + // 不分页获取所有监测点数据 + List pointList = getPointList(null, pointSearch); + if (pointList.isEmpty()) { + return responseData; + } + + // 查询区县管控目标设置 + List regionalControlObjectives = regionalControlObjectivesMapper.selectList(new QueryWrapper<>()); + + /* + 准备表格数据 + */ + // 若未选择行业,则将行业名称属性改完全部 + if (StringUtils.isEmpty(search.getIndustryCode())) { + pointList.forEach(o -> o.setIndustryName("全部")); + } + + // 按照区域、行业和污染物种类分组,计算排放量相关字段 + Map> collect = pointList.stream() + .collect(Collectors.groupingBy(o -> o.getRegionCode() + "_" + o.getIndustryName() + "_" + o.getPollutantCode(), + // 用LinkedHashMap,保证分组顺序和查询顺序一样 + LinkedHashMap::new, Collectors.toList())); + + List rows = collect.entrySet().stream().map(entry -> { + EmissionsStatVo.PointRow pointRow = entry.getValue().get(0); + + EmissionsStatVo.RegionRow row = new EmissionsStatVo.RegionRow(); + row.setRegionName(pointRow.getRegionName()); + row.setIndustryName(pointRow.getIndustryName()); + row.setPollutantName(pointRow.getPollutantName()); + row.setRegionCode(pointRow.getRegionCode()); + row.setPollutantCode(pointRow.getPollutantCode()); + + BigDecimal manageEmissions = entry.getValue().stream().filter(o -> o.getManageEmissions() != null) + .map(EmissionsStatVo.BaseRow::getManageEmissions) + .reduce(BigDecimal::add).orElse(null); + if (manageEmissions != null) { + row.setManageEmissions(manageEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + BigDecimal realEmissions = entry.getValue().stream().filter(o -> o.getRealEmissions() != null) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + if (realEmissions != null) { + row.setRealEmissions(realEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + BigDecimal nonKeyRealEmissions = entry.getValue().stream() + // 找到非重点的并且实际排放量不为null的 + .filter(o -> o.getRealEmissions() != null && "0".equals(o.getControlPoints())) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + if (nonKeyRealEmissions != null) { + row.setNonKeyRealEmissions(nonKeyRealEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + /* + 基准排放量=管控浓度排放量+非重点管控点位实际排放量 + */ + if (row.getManageEmissions() != null || row.getNonKeyRealEmissions() != null) { + BigDecimal basisEmissions = new BigDecimal(0); + if (row.getManageEmissions() != null) { + basisEmissions = basisEmissions.add(row.getManageEmissions()); + } + if (row.getNonKeyRealEmissions() != null) { + basisEmissions = basisEmissions.add(row.getNonKeyRealEmissions()); + } + row.setBasisEmissions(basisEmissions); + } + + /* + 基准排放量与实际排放量差值 + */ + if (row.getBasisEmissions() != null && row.getRealEmissions() != null) { + row.setBasisRealDiff(row.getBasisEmissions().subtract(row.getRealEmissions())); + } + + /* + 设置管控目标排放量,需求: + 1、若选择了行业,直接取基准排放量; + 2、若未选择行业,从区域管控目标那里取值,要是空的话默认基准排放量 + */ + if (StringUtils.isEmpty(search.getIndustryCode())) { + // 区域污染物的管控浓度配置 + BaseRegionalControlObjectives regionPollutantConfig = regionalControlObjectives.stream() + .filter(o -> o.getCountryCode().equals(pointRow.getRegionCode()) && o.getPollutantType().equals(pointRow.getPollutantCode())) + .findFirst().orElse(null); + if (regionPollutantConfig != null && regionPollutantConfig.getControlEmissions() != null) { + // 获取监测点小时数据数量最多的 + OptionalLong optionalLong = entry.getValue().stream().filter(o -> o.getHourDataCount() != null) + .mapToLong(EmissionsStatVo.PointRow::getHourDataCount).max(); + if (optionalLong.isPresent()) { + row.setCtrlTargetEmissions(regionPollutantConfig.getControlEmissions().multiply(BigDecimal.valueOf(optionalLong.getAsLong()))); + } + } else { + row.setCtrlTargetEmissions(row.getBasisEmissions()); + } + } else { + row.setCtrlTargetEmissions(row.getBasisEmissions()); + } + + // 管控目标排放量取整 + if (row.getCtrlTargetEmissions() != null) { + row.setCtrlTargetEmissions(row.getCtrlTargetEmissions().setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + + /* + 管控目标与实际排放量差值 = 管控目标排放量-实际排放量 + */ + if (row.getCtrlTargetEmissions() != null && row.getRealEmissions() != null) { + row.setCtrlTargetRealDiff(row.getCtrlTargetEmissions().subtract(row.getRealEmissions())); + } + + /* + 管控目标与实际排放量差值小于0时,是超标 + */ + if (row.getCtrlTargetRealDiff() != null) { + row.setOver(row.getCtrlTargetRealDiff().compareTo(BigDecimal.valueOf(0)) < 0 ? "是" : "否"); + } + + return row; + }).collect(Collectors.toList()); + + // 根据是否超标过滤 + if (StringUtils.isNotEmpty(search.getOver())) { + String over = search.getOver().equals("1") ? "是" : "否"; + rows = rows.stream().filter(o -> over.equals(o.getOver())).collect(Collectors.toList()); + } + + // 表格数据 + responseData.setRows(rows); + + // ======================================== + + /* + 准备图表数据 + */ + // 按照区域分组,计算每个区域排放量相关字段 + Map> regionMap = pointList.stream() + .collect(Collectors.groupingBy(o -> o.getRegionCode(), + // 用LinkedHashMap,保证分组顺序和查询顺序一样 + LinkedHashMap::new, Collectors.toList())); + + List regionRows = regionMap.entrySet().stream().map(entry -> { + EmissionsStatVo.PointRow pointRow = entry.getValue().get(0); + + EmissionsStatVo.RegionRow row = new EmissionsStatVo.RegionRow(); + row.setRegionName(pointRow.getRegionName()); + row.setRegionCode(pointRow.getRegionCode()); + + BigDecimal manageEmissions = entry.getValue().stream().filter(o -> o.getManageEmissions() != null) + .map(EmissionsStatVo.BaseRow::getManageEmissions) + .reduce(BigDecimal::add).orElse(null); + if (manageEmissions != null) { + row.setManageEmissions(manageEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + BigDecimal realEmissions = entry.getValue().stream().filter(o -> o.getRealEmissions() != null) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + if (realEmissions != null) { + row.setRealEmissions(realEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + BigDecimal nonKeyRealEmissions = entry.getValue().stream() + // 找到非重点的并且实际排放量不为null的 + .filter(o -> o.getRealEmissions() != null && "0".equals(o.getControlPoints())) + .map(EmissionsStatVo.BaseRow::getRealEmissions) + .reduce(BigDecimal::add).orElse(null); + if (nonKeyRealEmissions != null) { + row.setNonKeyRealEmissions(nonKeyRealEmissions.setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + /* + 基准排放量=管控浓度排放量+非重点管控点位实际排放量 + */ + if (row.getManageEmissions() != null || row.getNonKeyRealEmissions() != null) { + BigDecimal basisEmissions = new BigDecimal(0); + if (row.getManageEmissions() != null) { + basisEmissions = basisEmissions.add(row.getManageEmissions()); + } + if (row.getNonKeyRealEmissions() != null) { + basisEmissions = basisEmissions.add(row.getNonKeyRealEmissions()); + } + row.setBasisEmissions(basisEmissions); + } + + /* + 基准排放量与实际排放量差值 + */ + if (row.getBasisEmissions() != null && row.getRealEmissions() != null) { + row.setBasisRealDiff(row.getBasisEmissions().subtract(row.getRealEmissions())); + } + + /* + 设置管控目标排放量,需求:从区域管控目标那里取值,要是空的话默认基准排放量 + */ + // 区域污染物的管控浓度配置 + BaseRegionalControlObjectives regionPollutantConfig = regionalControlObjectives.stream() + .filter(o -> o.getCountryCode().equals(pointRow.getRegionCode()) && o.getPollutantType().equals(search.getPollutantCode())) + .findFirst().orElse(null); + if (regionPollutantConfig != null && regionPollutantConfig.getControlEmissions() != null) { + OptionalLong optionalLong = entry.getValue().stream().filter(o -> o.getHourDataCount() != null) + .mapToLong(EmissionsStatVo.PointRow::getHourDataCount).max(); + if (optionalLong.isPresent()) { + row.setCtrlTargetEmissions(regionPollutantConfig.getControlEmissions().multiply(BigDecimal.valueOf(optionalLong.getAsLong()))); + } + } else { + row.setCtrlTargetEmissions(row.getBasisEmissions()); + } + // 管控目标排放量取整 + if (row.getCtrlTargetEmissions() != null) { + row.setCtrlTargetEmissions(row.getCtrlTargetEmissions().setScale(0, BigDecimal.ROUND_HALF_UP)); + } + + /* + 管控目标与实际排放量差值 = 管控目标排放量-实际排放量 + */ + if (row.getCtrlTargetEmissions() != null && row.getRealEmissions() != null) { + row.setCtrlTargetRealDiff(row.getCtrlTargetEmissions().subtract(row.getRealEmissions())); + } + + /* + 管控目标与实际排放量差值小于0时,是超标 + */ + if (row.getCtrlTargetRealDiff() != null) { + row.setOver(row.getCtrlTargetRealDiff().compareTo(BigDecimal.valueOf(0)) < 0 ? "是" : "否"); + } + + return row; + }).collect(Collectors.toList()); + + // 根据是否超标过滤 + if (StringUtils.isNotEmpty(search.getOver())) { + String over = search.getOver().equals("1") ? "是" : "否"; + regionRows = regionRows.stream().filter(o -> over.equals(o.getOver())).collect(Collectors.toList()); + } + + chartsVO.setXData(regionRows.stream().map(o -> o.getRegionName()).collect(Collectors.toList())); + manageTargetSer.setValues(regionRows.stream().map(o -> o.getCtrlTargetEmissions() == null ? null : o.getCtrlTargetEmissions().stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + basisSer.setValues(regionRows.stream().map(o -> o.getBasisEmissions() == null ? null : o.getBasisEmissions().stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + realSer.setValues(regionRows.stream().map(o -> o.getRealEmissions() == null ? null : o.getRealEmissions().stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + return responseData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EnvironmentalCodingServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EnvironmentalCodingServiceImpl.java new file mode 100644 index 0000000..54c8f96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/EnvironmentalCodingServiceImpl.java @@ -0,0 +1,510 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.constant.TokenConstants; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BEnterpriseRiskAssessmentLast; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.enums.EnvironmentalCodingGradeEnum; +import cn.cecep.talroad.mapper.BEnterpriseRiskAssessmentLastMapper; +import cn.cecep.talroad.mapper.EnvironmentalCodingMapper; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.service.EnvironmentalCodingService; +import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcService; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @className: EnvironmentalCodingServiceImpl + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/08 1:16 PM + * @Company: Copyright© [2023/04/08 1:16 PM] by [Mr.Yanghongtao] + **/ +@Service +public class EnvironmentalCodingServiceImpl implements EnvironmentalCodingService { + + + @Autowired + private EnvironmentalCodingMapper environmentalCodingMapper; + + @Autowired + private BEnterpriseRiskAssessmentLastMapper bEnterpriseRiskAssessmentLastMapper; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private IBMainThreeSupervisionEnforcService ibMainThreeSupervisionEnforcServiceImpl; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/8 1:43 PM + * @Deseription: + * @Params: dateTime yyyy-MM-dd + * @Return: void + * @Throws: + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void scanYesterdayDeductionPoints(String dateTime) { + Date nowTime = DateUtils.parseDate(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", new Date())); + String startTime = DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", nowTime); + String endTime = DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", nowTime); + String time = DateUtils.parseDateToStr("yyyy-MM-dd", nowTime); + // 取出昨日日期 + if (StringUtils.isNotEmpty(dateTime)) { + startTime = dateTime + " 00:00:00"; + endTime = dateTime + " 23:59:59"; + time = dateTime; + } + + List toDaylist = new ArrayList<>(); + List tmpAnalysis = new ArrayList<>(); + // 查询"三级联动"不多次扣分的 + List sjldIsGradeFalse = environmentalCodingMapper.selectListByTime(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), EnvironmentalCodingGradeEnum.getNameListByType("SJLD", false)); + sjldIsGradeFalse.forEach(x -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(x.getFactoryId()); + // 类型 + last.setProblemExist(x.getTaskName()); + // 是否多次扣分,0-不多次扣分,1-多次扣分 + last.setIsRepeatedGrade(0); + // 存业务ID + last.setBusinessId(x.getTaskId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getTaskName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + + // 查询"三级联动"多次扣分的 + List sjldIsGradeTrue = environmentalCodingMapper.selectListByTime(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), EnvironmentalCodingGradeEnum.getNameListByType("SJLD", true)); + sjldIsGradeTrue.forEach(x -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(x.getFactoryId()); + // 类型 + last.setProblemExist(x.getTaskName()); + // 是否多次扣分,0-不多次扣分,1-多次扣分 + last.setIsRepeatedGrade(1); + // 存业务ID + last.setBusinessId(x.getTaskId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getTaskName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + + // 查询"关联分析系统" 不多次扣分的 + List glfxList = EnvironmentalCodingGradeEnum.getListByCode("GLFXXT", null); + String finalStartTime = startTime; + String finalEndTime = endTime; + String finalTime = time; + glfxList.forEach(x -> { + if ("GLFXXT_01".equals(x.getCode())) { + // 查询 排污单位自行监测数据超标 + List amProblemFisSjzl = environmentalCodingMapper.selectSRaSelfMonitoringDataList(Timestamp.valueOf(finalStartTime), Timestamp.valueOf(finalEndTime)); + amProblemFisSjzl.forEach(y -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(y.getFactoryId()); + // 类型 + last.setProblemExist(x.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(x.getIsGrade() ? 1 : 0); + // 存业务ID + last.setBusinessId(y.getDataId() + "," + y.getFactoryId() + "," + y.getMonitorId()); + // 存扣分项 + last.setRemark(y.getPollutantsCode()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + } else if ("GLFXXT_02".equals(x.getCode())) { + // 查询数据质量异常 + List amProblemFisSjzl = environmentalCodingMapper.selectMamProblemFiListNew(Timestamp.valueOf(finalStartTime), Timestamp.valueOf(finalEndTime), Arrays.asList(new String[]{"006001", "006002", "006003", "006004"}), "1"); + amProblemFisSjzl.forEach(y -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(y.getFactoryId()); + // 类型 + last.setProblemExist(x.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(x.getIsGrade() ? 1 : 0); + // 存业务ID + last.setBusinessId(y.getId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + } else if ("GLFXXT_03".equals(x.getCode())) { + // 查询每日数据传输率低于75%的问题 + List sRaFactoryTransferRateAnalyses = environmentalCodingMapper.selectSRaFactoryTransferRateAnalysisList(finalTime); + sRaFactoryTransferRateAnalyses.forEach(y -> { + // 判断 分表计电-传输率 + if (y.getElecTransmissionRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "分表计电", toDaylist); + } + // 判断 无组织管控-分钟数据-传输率 + if (y.getUnorganizedTransmissionMinuteRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "无组织管控-分钟数据", toDaylist); + } + // 判断 无组织管控-小时数据-传输率 + if (y.getUnorganizedTransmissionHourRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "无组织管控-小时数据", toDaylist); + } + // 判断 无组织管控-日数据-传输率 + if (y.getUnorganizedTransmissionDayRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "无组织管控-日数据", toDaylist); + } + // 判断 dcs监控数据-传输率 + if (y.getDcsTransmissionRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "dcs监控数据-传输率", toDaylist); + } + // 判断 网格化数据-分钟数据-传输率 + if (y.getGriddedTransmissionMinuteRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "网格化数据-分钟数据", toDaylist); + } + // 判断 网格化数据-小时数据-传输率 + if (y.getGriddedTransmissionHourRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "网格化数据-小时数据", toDaylist); + } + // 判断 网格化数据-日数据-传输率 + if (y.getGriddedTransmissionDayRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "网格化数据-日数据", toDaylist); + } + // 判断 在线监测-分钟数据-传输率 + if (y.getOnlineMonitoringMinuteRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "在线监测-分钟数据", toDaylist); + } + // 判断 在线监测-小时数据-传输率 + if (y.getOnlineMonitoringHourRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "在线监测-小时数据", toDaylist); + } + // 判断 在线监测-日数据-传输率 + if (y.getOnlineMonitoringDayRate().compareTo(new BigDecimal(75)) == -1) { + processSRaFactoryTransferRateAnalysis(x, y, nowTime, "在线监测-日数据", toDaylist); + } + }); + tmpAnalysis.addAll(sRaFactoryTransferRateAnalyses); + } else if ("GLFXXT_04".equals(x.getCode())) { + // 查询启停问题 + List amProblemFis = environmentalCodingMapper.selectMamProblemFiList(Timestamp.valueOf(finalStartTime), Timestamp.valueOf(finalEndTime), "002002", "1"); + amProblemFis.forEach(y -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(y.getFactoryId()); + // 类型 + last.setProblemExist(x.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(x.getIsGrade() ? 1 : 0); + // 存业务ID + last.setBusinessId(y.getId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + } + + + }); + + + // 查询"在线监测系统" + List amProblemFisWry = environmentalCodingMapper.selectMamProblemFiList(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), "003003", "3"); + amProblemFisWry.forEach(x -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(x.getFactoryId()); + // 类型 + last.setProblemExist(EnvironmentalCodingGradeEnum.ZXJCXT_01.getName()); + // 是否多次扣分,0-不多次扣分,1-多次扣分 + last.setIsRepeatedGrade(0); + // 存业务ID + last.setRemark(x.getId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.ZXJCXT_01.getGrade()); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + + // 查询"分表计电系统" 分表计电发生预警问题 治理设施停运 problemType = 004001001 , problemSources = 1 + List amProblemFisElec = environmentalCodingMapper.selectMamProblemFiList(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), "004001001", "1"); + amProblemFisElec.forEach(x -> { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(x.getFactoryId()); + // 类型 + last.setProblemExist(EnvironmentalCodingGradeEnum.FBJDXT_01.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(1); + // 存业务ID + last.setBusinessId(x.getId()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.FBJDXT_01.getGrade()); + last.setCreateTime(nowTime); + toDaylist.add(last); + }); + + + // 处理之前已分析的数据 + List bEnterpriseRiskAssessmentLasts = processYesterdayGrade(tmpAnalysis, startTime, endTime); + // 查询 执法系统 +// getXianheGetTaskAccount(bEnterpriseRiskAssessmentLasts,nowTime); + // 计算今日的分数 加上昨日未处理的问题 + toDaylist.addAll(bEnterpriseRiskAssessmentLasts); + // 根据企业进行分组 k为企业ID + Map> collect = toDaylist.stream().collect(Collectors.groupingBy(BEnterpriseRiskAssessmentLast::getFactoryId)); + // 查询所有企业 + List pcFactories = pcFactoryMapper.selectList(new LambdaQueryWrapper()); + pcFactories.forEach(x -> { + // 要计算分数的企业里,可能不全,所以要查出所有企业惯里 + if (!collect.containsKey(x.getId())) { + collect.put(x.getId(), new ArrayList<>()); + } + }); + List updatePcFactory = new ArrayList<>(); + collect.forEach((k, v) -> { + // 根据能否重复扣分进行分组 + Map> collect1 = v.stream().collect(Collectors.groupingBy(BEnterpriseRiskAssessmentLast::getIsRepeatedGrade)); + // 获取不可重复扣分的内容 + List bEnterpriseRiskAssessmentLasts1 = Optional.ofNullable(collect1.get(0)).orElse(new ArrayList<>()); + // 根据类型进行分组,重复类型只保留一个进行扣分即可 + Map collect2 = bEnterpriseRiskAssessmentLasts1.stream().collect(Collectors.toMap(BEnterpriseRiskAssessmentLast::getProblemExist, BEnterpriseRiskAssessmentLast::getScore, (oldValue, newValue) -> newValue)); + // 计算不可重复扣分项,今日要扣的分数 + Integer reduce = collect2.values().stream().reduce(Integer::sum).orElse(0); + // 计算重复扣分项,今日要扣的分数 + List bEnterpriseRiskAssessmentLasts2 = Optional.ofNullable(collect1.get(1)).orElse(new ArrayList<>()); + Integer integer = bEnterpriseRiskAssessmentLasts2.stream().map(x -> x.getScore()).reduce(Integer::sum).orElse(0); + ; + int grade = 100 - reduce - integer; + PcFactory tmpFactory = new PcFactory(); + tmpFactory.setId(k); + tmpFactory.setScore(grade); + // 更新企业的分数 + updatePcFactory.add(tmpFactory); + }); + // 要存入的问题企业问题 批量插入 + List> dataList = subList(toDaylist, 1000); + for (int i = 0; i < dataList.size(); i++) { + bEnterpriseRiskAssessmentLastMapper.insertBEnterpriseRiskAssessmentLasts(dataList.get(i)); + } + + // 更新企业的分数 批量插入数据库 + List> dataList1 = subList(updatePcFactory, 1000); + for (int i = 0; i < dataList1.size(); i++) { + pcFactoryMapper.updateScoreBatch(dataList1.get(i)); + } + } + + private void processSRaFactoryTransferRateAnalysis(EnvironmentalCodingGradeEnum x, SRaFactoryTransferRateAnalysis y, Date nowTime, String remark, List toDaylist) { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(y.getFactoryId()); + // 类型 + last.setProblemExist(x.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(x.getIsGrade() ? 1 : 0); + // 存业务ID + last.setBusinessId(y.getId() + "," + y.getFactoryId()); + // 存具体扣分项 + last.setRemark(remark); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.getGradeByName(x.getName())); + last.setCreateTime(nowTime); + toDaylist.add(last); + } + + private List processYesterdayGrade(List tmpAnalsis, String startTime, String endTime) { + String now = startTime.substring(0,10) + " " + DateUtils.parseDateToStr("HH:mm:ss",new Date()); + Date nowTime = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",now); + // 查询昨日的扣分项,循环,查询是否有处理过的问题 (改一下,不能只查询昨日的扣分项,如果昨日的扣分没处理,那第三日的时候就查不到昨日信息了) + List bEnterpriseRiskAssessmentLasts = bEnterpriseRiskAssessmentLastMapper.selectList( + new LambdaQueryWrapper<>()); + List ids = new ArrayList<>(); + // 关联分析系统今日查询的 每日数据传输率低于75 的数据 + List transferFactoryIds = tmpAnalsis.stream().map(SRaFactoryTransferRateAnalysis::getFactoryId).collect(Collectors.toList()); + // 过滤一下 排污单位自行监测数据超标的数据 获取监测点ID + List selfMonitorsIds = bEnterpriseRiskAssessmentLasts.stream().filter(x -> EnvironmentalCodingGradeEnum.GLFXXT_01.getName().equals(x.getProblemExist())).map(x -> x.getRemark().split(",")[2]).collect(Collectors.toList()); + // 通过监测点ID和日期,查询出最新的数据 + List tmpSelfMonitoringDatas = environmentalCodingMapper.selectSRaSelfMonitoringDataListByParams(selfMonitorsIds, Timestamp.valueOf(startTime), Timestamp.valueOf(endTime)); + Map tmpSelfMonitoringDatasMap = tmpSelfMonitoringDatas.stream().collect(Collectors.toMap(x -> { + return x.getFactoryId() + "-" + x.getMonitorId() + "-" + x.getPollutantsCode(); + }, Function.identity(), (oldValue, newValue) -> oldValue)); + + bEnterpriseRiskAssessmentLasts.forEach(x -> { + // 查询 "三监联动系统" 是否已经处理 + if ("SJLD".equals(EnvironmentalCodingGradeEnum.getTypeByName(x.getProblemExist()))) { + BMainThreeSupervisionEnforc bMainThreeSupervisionEnforc = environmentalCodingMapper.selectBMainThreeSupervisionEnforcById(x.getBusinessId()); + // 任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档) + if ("5".equals(bMainThreeSupervisionEnforc.getTaskStatus()) || "9".equals(bMainThreeSupervisionEnforc.getTaskStatus())) { + ids.add(x.getRiskId()); + } + } + // 查询"在线监测系统" 、"分表计电系统" "关联分析系统" 是否已经处理 + List kyes = Arrays.asList(new String[]{"ZXJCXT_01", "FBJDXT_01", "GLFXXT_02", "GLFXXT_04"}); + if (kyes.contains(EnvironmentalCodingGradeEnum.getCodeByName(x.getProblemExist()))) { + AmProblemFi amProblemFi = environmentalCodingMapper.selectMamProblemFiById(x.getBusinessId()); + // 当前时间大于等于结束时间 代表报警已结束 + if (amProblemFi.getAnalyseTimeEnd().getTime() < nowTime.getTime()) { + ids.add(x.getRiskId()); + } + } + // 判断 "关联分析系统-每日数据传输率低于75%" + if ("GLFXXT_03".equals(EnvironmentalCodingGradeEnum.getCodeByName(x.getProblemExist()))) { + if (transferFactoryIds.contains(x.getBusinessId().split(",")[1])) { + ids.add(x.getRiskId()); + } + } + // 判断 "关联分析系统-排污单位自行监测数据超标" + if ("GLFXXT_01".equals(EnvironmentalCodingGradeEnum.getCodeByName(x.getProblemExist()))) { + // key = 企业ID + 监测点ID + 污染物Code + String key = x.getBusinessId().split(",")[1] + x.getBusinessId().split(",")[2] + x.getRemark(); + if (tmpSelfMonitoringDatasMap.containsKey(key)) { + // 查询最新超标的污染类型,如果有数据,就使用新的数据去判定是否超标,老的数据直接删掉 + ids.add(x.getRiskId()); + } + } + + }); + + if (ids.size() > 0) { + bEnterpriseRiskAssessmentLastMapper.deleteBatchIds(ids); + } + + // 使用迭代器删除 bEnterpriseRiskAssessmentLasts + bEnterpriseRiskAssessmentLasts.removeIf(x -> ids.contains(x.getRiskId())); + return bEnterpriseRiskAssessmentLasts; + } + + /** + * 截取List + * + * @param tList + * @param subNum + * @param + * @return + */ + public static List> subList(List tList, Integer subNum) { + // 新的截取到的list集合 + List> tNewList = new ArrayList>(); + // 要截取的下标上限 + Integer priIndex = 0; + // 要截取的下标下限 + Integer lastIndex = 0; + // 每次插入list的数量 + // Integer subNum = 500; + // 查询出来list的总数目 + Integer totalNum = tList.size(); + // 总共需要插入的次数 + Integer insertTimes = totalNum / subNum; + List subNewList = new ArrayList(); + for (int i = 0; i <= insertTimes; i++) { + // [0--20) [20 --40) [40---60) [60---80) [80---100) + priIndex = subNum * i; + lastIndex = priIndex + subNum; + // 判断是否是最后一次 + if (i == insertTimes) { + //logger.info("最后一次截取:"+priIndex + "," + lastIndex); + subNewList = tList.subList(priIndex, tList.size()); + } else { + // 非最后一次 + subNewList = tList.subList(priIndex, lastIndex); + } + if (subNewList.size() > 0) { + //logger.info("开始将截取的list放入新的list中"); + tNewList.add(subNewList); + } + } + return tNewList; + } + + + private Map getXianheGetTaskAccount(List beforeList, Date nowTime) { + List delIds = new ArrayList<>(); + List unDelIds = new ArrayList<>(); + + String token = TokenConstants.AUTHENTICATION + " " + SecurityUtils.getToken(); + Map params = new HashMap(); + params.put("pageIndex", 1); + params.put("pageSize", 100); + Object o = ibMainThreeSupervisionEnforcServiceImpl.xianheGetTaskAccount(params, token); + String jsonString = JSON.toJSONString(o); + JSONObject jsonObject = JSON.parseObject(jsonString); + if ("200".equals(jsonObject.get("code"))) { + JSONArray list = jsonObject.getJSONArray("data"); + // 判断总条数是否大于100条 + if ((Integer) jsonObject.get("count") > 100) { + // 要循环的次数 + int count = Math.floorDiv((Integer) jsonObject.get("count"), 100); + for (int i = 2; i <= count; i++) { + params.put("pageIndex", i); + Object o1 = ibMainThreeSupervisionEnforcServiceImpl.xianheGetTaskAccount(params, token); + JSONArray data = JSON.parseObject(JSON.toJSONString(o1)).getJSONArray("data"); + list.addAll(data); + } + } + // 清理一下之前的数据 + Map jsonObjectMap = list.stream().collect(Collectors.toMap(x -> JSON.parseObject(x.toString()).get("id").toString(), + x -> JSON.parseObject(x.toString()), + (oldValue, newValue) -> oldValue, + HashMap::new)); + List beforeBusinessIds = beforeList.stream().map(BEnterpriseRiskAssessmentLast::getBusinessId).collect(Collectors.toList()); + beforeBusinessIds.forEach(x -> { + if ("1".equals(jsonObjectMap.get(x).get("taskstate"))) { + // 此事件已办结,进入删除状态 + delIds.add(x); + } else { + // 未办结的事件 + unDelIds.add(x); + } + }); + + + // 获取完所有的数据之后,过滤未办结的 + List taskstate = list.stream().filter(x -> "0".equals(JSON.parseObject(x.toString()).get("taskstate"))).map(x -> JSON.parseObject(x.toString())).collect(Collectors.toList()); + List newLast = new ArrayList<>(); + + taskstate.forEach(x -> { + // 判断一下之前数据是否存在,如果存在就不在进行插入 + if (!unDelIds.contains(x.get("id").toString())) { + BEnterpriseRiskAssessmentLast last = new BEnterpriseRiskAssessmentLast(); + last.setFactoryId(x.get("enterpriseid").toString()); + // 类型 + last.setProblemExist(EnvironmentalCodingGradeEnum.ZFXT_02.getName()); + // 是否多次扣分 + last.setIsRepeatedGrade(EnvironmentalCodingGradeEnum.ZFXT_02.getIsGrade() ? 1 : 0); + // 存业务ID + last.setBusinessId(x.get("id").toString()); + // 扣分 + last.setScore(EnvironmentalCodingGradeEnum.ZFXT_02.getGrade()); + last.setCreateTime(nowTime); + newLast.add(last); + } + }); + + Map map = new HashMap(); + map.put("delIds", delIds); + map.put("newLast", newLast); + return map; + } + return null; + } + +} + + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FacilityInformationManagementServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FacilityInformationManagementServiceImpl.java new file mode 100644 index 0000000..8a68673 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FacilityInformationManagementServiceImpl.java @@ -0,0 +1,231 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceInfoOperationLog; +import cn.cecep.talroad.enums.BasDeviceTypeEnum; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.mapper.BasDeviceInfoOperationLogMapper; +import cn.cecep.talroad.mapper.FacilityInformationManagementMapper; +import cn.cecep.talroad.service.FacilityInformationManagementService; +import cn.cecep.talroad.system.api.domain.SysUser; +import cn.cecep.talroad.vo.FacilityInformationManagementVO; +import cn.cecep.talroad.vo.query.FacilityInformationQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.sql.Timestamp; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @className: FacilityInformationManagementServiceImpl + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 11:20 + * @Company: Copyright© [2023/04/28 11:20] by [Mr.Yanghongtao] + **/ +@Service +public class FacilityInformationManagementServiceImpl implements FacilityInformationManagementService { + + @Autowired + private FacilityInformationManagementMapper facilityInformationManagementMapper; + + @Autowired + private BasDeviceInfoOperationLogMapper basDeviceInfoOperationLogMapper; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 12:28 + * @Deseription: 分表计电生产设施匹配列表 + * @Params: dto + * @Return: com.baomidou.mybatisplus.core.metadata.IPage + * @Throws: + */ + @Override + public IPage getProductionDeviceList(FacilityInformationQuery dto) { + Page page = new Page<>(dto.getPageNum(), dto.getPageSize()); + List facilityInformationManagementVOS = facilityInformationManagementMapper.selectFacilityInformationManagementListByParams(page, dto); + page.setRecords(facilityInformationManagementVOS); + return page; + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 12:30 + * @Deseription: 查询排污许可设施列表 + * @Params: factoryId + * @Params: deviceType + * @Return: java.util.List + * @Throws: + */ + @Override + public List getPollutantDeviceList(String factoryId, Integer deviceType) { + return facilityInformationManagementMapper.selectPollutantDeviceList(factoryId, BasDeviceTypeEnum.PW_PWXK.getCode(), deviceType); + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 13:38 + * @Deseription: 保存 + * @Params: dto + * @Return: + * @Throws: + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void modifyDeviceAndPollutantCodeList(SysUser sysUser, List dto, String type) { + dto.forEach(x->x.setPollutantCodeOne(x.getPollutantCode().split(",")[0])); + // 获取本次要修改的所有设施ID + List deviceIds = dto.stream().map(FacilityInformationQuery::getDeviceId).collect(Collectors.toList()); + Map after = dto.stream().collect(Collectors.toMap(FacilityInformationQuery::getDeviceId, Function.identity())); + + // 查询要更改的设施之前的信息 + List facilityInformationManagementVOS = facilityInformationManagementMapper.selectFacilityInformationManagementListByParams(new Page<>(1, Integer.MAX_VALUE), new FacilityInformationQuery(sysUser.getFactoryId(),deviceIds)); + // key为设施ID + Map before = facilityInformationManagementVOS.stream().collect(Collectors.toMap(FacilityInformationManagementVO::getDeviceId, Function.identity())); + Date date = new Date(); + List insertLogs = new ArrayList<>(); + // 查询未更新前的信息,存入操作日志表 + before.forEach((k, v) -> { + BasDeviceInfoOperationLog log = new BasDeviceInfoOperationLog(); + log.setLogId(UUID.randomUUID().toString().trim().replaceAll("-", "")); + log.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss",date)); + // 分表计电设施名称 + log.setElecDeviceName(v.getDeviceName()); + // 修改前对应许可证生产设施名称 + log.setBeforeModifyName(v.getPollutantName()); + // 修改前对应许可证生产设施编号 + log.setBeforeModifyCode(v.getPollutantCode()); + // 操作状态 + log.setOperationStatus(getOperationStatus(v.getPollutantName(),after.get(k).getPollutantName())); + // 修改后对应许可证生产设施编号 + log.setAfterModifyCode(after.get(k).getPollutantCode()); + // 修改后对应许可证生产设施名称 + log.setAfterModifyName(after.get(k).getPollutantName()); + // 操作人 + log.setOperator(sysUser.getNickName()); + // 操作人ID + log.setOperatorId(String.valueOf(sysUser.getUserId())); + // 1-分表计电生产设施匹配|2-分表计电治理设施匹配|3-DCS生产设施点位匹配 + log.setMonitoringPointType(type); + // 企业ID + log.setFactoryId(sysUser.getFactoryId()); + insertLogs.add(log); + }); + // 批量更新bas_device表 + facilityInformationManagementMapper.updateDeviceAndPollutantCodeList(dto); + // 批量插入日志表 + basDeviceInfoOperationLogMapper.batchInsert(insertLogs); + + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/5/5 22:32 + * @Deseription: 获取操作状态 + * @Params: null + * @Return: + * @Throws: + */ + private String getOperationStatus(String before, String after) { + // 之前不存在,本次存在,新增 + if (StringUtils.isEmpty(before)) { + if (StringUtils.isNotEmpty(after)) { + return OperationTypeEnum.INSERT_OPERATION.getName(); + } else { + return "-"; + } + } else { + // 之前存在,本次存在,修改 + if (StringUtils.isNotEmpty(after)) { + return OperationTypeEnum.UPDATE_OPERATION.getName(); + } else { + // 之前存在,本次不存在, 取消对应关系 + return OperationTypeEnum.CANCEL_THE_CORRESPONDENCE.getName(); + } + } + } + + /** + * @param dto + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 15:08 + * @Deseription: 查询日志 + * @Params: null + * @Return: + * @Throws: + */ + @Override + public IPage getBasDeviceInfoOperationLogList(FacilityInformationQuery dto) { + Page page = new Page<>(dto.getPageNum(), dto.getPageSize()); + List list = basDeviceInfoOperationLogMapper.selectListByParam(page, dto, + StringUtils.isEmpty(dto.getStartTime()) ? null : Timestamp.valueOf(dto.getStartTime()), + StringUtils.isEmpty(dto.getEndTime()) ? null : Timestamp.valueOf(dto.getEndTime())); + page.setRecords(list); + return page; + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/28 15:36 + * @Deseription: 取消对应关系 + * @Params: dto + * @Return: + * @Throws: + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void cancelDeviceAndPollutantCodeList(SysUser sysUser, FacilityInformationQuery dto,String type) { + // 更新设备表 + facilityInformationManagementMapper.cancelDeviceAndPollutantCodeList(Arrays.asList(dto)); + + BasDeviceInfoOperationLog log = new BasDeviceInfoOperationLog(); + log.setLogId(UUID.randomUUID().toString().trim().replaceAll("-", "")); + log.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss",new Date())); + // 分表计电设施名称 + log.setElecDeviceName(dto.getDeviceName()); + // 修改前对应许可证生产设施名称 + log.setBeforeModifyName(dto.getPollutantName()); + // 修改前对应许可证生产设施编号 + log.setBeforeModifyCode(dto.getPollutantCode()); + // 操作状态 + log.setOperationStatus(OperationTypeEnum.CANCEL_THE_CORRESPONDENCE.getName()); + // 修改后对应许可证生产设施编号 + log.setAfterModifyCode(null); + // 修改后对应许可证生产设施名称 + log.setAfterModifyName(null); + // 操作人 + log.setOperator(sysUser.getNickName()); + // 操作人ID + log.setOperatorId(String.valueOf(sysUser.getUserId())); + // 1-分表计电生产设施匹配|2-分表计电治理设施匹配|3-DCS生产设施点位匹配 + log.setMonitoringPointType(type); + // 企业ID + log.setFactoryId(dto.getFactoryId()); + basDeviceInfoOperationLogMapper.insertSelective(log); + } + + /** + * @param factoryId + * @param queryType + * @Author: Mr.Yanghongtao + * @data: 2023/4/30 14:51 + * @Deseription: + * @Params: null + * @Return: + * @Throws: + */ + @Override + public List getProductionDeviceSearchList(String factoryId, String queryType) { + List facilityInformationManagementVOS = facilityInformationManagementMapper.selectFacilityInformationManagementSearchListByParams( factoryId,queryType); + return facilityInformationManagementVOS; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingManifestServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingManifestServiceImpl.java new file mode 100644 index 0000000..5d600c8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingManifestServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.FactoryReportingManifest; +import cn.cecep.talroad.mapper.FactoryReportingManifestMapper; +import cn.cecep.talroad.service.IFactoryReportingManifestService; +import cn.cecep.talroad.mapper.FactoryReportingManifestMapper; +import cn.cecep.talroad.domain.FactoryReportingManifest; +import cn.cecep.talroad.service.IFactoryReportingManifestService; + + + + +/** + * 企业信息上报任务清单Service业务层处理 + * + * @author szhpt + * @date 2023-05-09*/ +@Service +public class FactoryReportingManifestServiceImpl extends ServiceImpl implements IFactoryReportingManifestService +{ + @Autowired + private FactoryReportingManifestMapper factoryReportingManifestMapper; + + /** + * 查询企业信息上报任务清单列表 + * + * @param factoryReportingManifest 企业信息上报任务清单 + * @return 企业信息上报任务清单 + */ + @Override + public List selectFactoryReportingManifestList(FactoryReportingManifest factoryReportingManifest) + { + return factoryReportingManifestMapper.selectFactoryReportingManifestList(factoryReportingManifest); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingRemindersServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingRemindersServiceImpl.java new file mode 100644 index 0000000..86919fc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingRemindersServiceImpl.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.service.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.cecep.talroad.mapper.PcFactoryMapper; +import cn.cecep.talroad.vo.FactoryReportingRemindersVo; +import cn.cecep.talroad.vo.query.FactoryReportingRemindersQuery; +import cn.hutool.core.collection.ListUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.xmlbeans.impl.xb.xsdschema.Public; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.FactoryReportingReminders; +import cn.cecep.talroad.mapper.FactoryReportingRemindersMapper; +import cn.cecep.talroad.service.IFactoryReportingRemindersService; + + +/** + * 企业信息上报提交提示Service业务层处理 + * + * @author szhpt + * @date 2023-05-09*/ +@Service +public class FactoryReportingRemindersServiceImpl extends ServiceImpl implements IFactoryReportingRemindersService +{ + @Autowired + private FactoryReportingRemindersMapper factoryReportingRemindersMapper; + @Autowired + private PcFactoryMapper pcFactoryMapper; + /** + * 查询企业信息上报提交提示列表 + * + * @param factoryReportingReminders 企业信息上报提交提示 + * @return 企业信息上报提交提示 + */ + @Override + public List selectFactoryReportingRemindersList(FactoryReportingReminders factoryReportingReminders) + { + return factoryReportingRemindersMapper.selectFactoryReportingRemindersList(factoryReportingReminders); + } + + @Override + public Integer updateReminder(FactoryReportingRemindersVo factoryReportingReminders) { + + return factoryReportingRemindersMapper.updateReminder(factoryReportingReminders); + } + + @Override + public void factoryReportingReminders() { + List pcFactories1 = pcFactoryMapper.selectList(new QueryWrapper<>()); + List reportingReminders=new ArrayList<>(); + pcFactories1.forEach(item->{ + FactoryReportingReminders factoryReportingReminders=new FactoryReportingReminders(); + factoryReportingReminders.setFeId(UUID.randomUUID().toString().replace("-", "")); + factoryReportingReminders.setFactoryId(item.getId()); + factoryReportingReminders.setSubmitStatus("0"); + factoryReportingReminders.setRemindersStatus("1"); + reportingReminders.add(factoryReportingReminders); + }); + List> partition = ListUtil.partition(reportingReminders, 2000); + partition.forEach(i->{ + this.saveBatch(i); + }); + } + + @Override + public List factoryReportingRemindersList(Page page, FactoryReportingRemindersQuery query) { + List vos = baseMapper.factoryReportingRemindersList(page, query); + page.setRecords(vos); + return vos; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingTaskServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingTaskServiceImpl.java new file mode 100644 index 0000000..bc0fb40 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/FactoryReportingTaskServiceImpl.java @@ -0,0 +1,233 @@ +package cn.cecep.talroad.service.impl; + +import java.beans.Transient; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.mapper.*; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.service.IFactoryReportingTaskService; +import cn.cecep.talroad.mapper.FactoryReportingTaskMapper; +import cn.cecep.talroad.domain.FactoryReportingTask; +import cn.cecep.talroad.service.IFactoryReportingTaskService; +import org.springframework.transaction.annotation.Transactional; + + +/** + * 企业信息上报任务Service业务层处理 + * + * @author szhpt + * @date 2023-05-09*/ +@Service +public class FactoryReportingTaskServiceImpl extends ServiceImpl implements IFactoryReportingTaskService +{ + @Autowired + private FactoryReportingTaskMapper factoryReportingTaskMapper; + @Autowired + private PcFactoryMapper pcFactoryMapper; + @Autowired + private FactoryReportingRemindersMapper factoryReportingRemindersMapper; + @Autowired + private FactoryReportingManifestMapper factoryReportingManifestMapper; + @Autowired + private BEnterpriseIrBusinessAlertsMapper enterpriseIrBusinessAlertsMapper; + /** + * 查询企业信息上报任务列表 + * + * @param factoryReportingTask 企业信息上报任务 + * @return 企业信息上报任务 + */ + @Override + public List selectFactoryReportingTaskList(FactoryReportingTask factoryReportingTask) + { + return factoryReportingTaskMapper.selectFactoryReportingTaskList(factoryReportingTask); + } + + @Override + @Transactional + public void informationReporting() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + Map pcLabelsMap = pcFactories.stream().collect(Collectors.toMap(PcFactory::getId, a -> a,(k1, k2)->k1)); + List reportingReminders = factoryReportingRemindersMapper.selectList(new QueryWrapper().eq("submit_status", "0").eq("tatol_status","1")); + List factoryReportingManifests=new ArrayList<>(); + Date createTime=new Date(); + DateTime parse = DateUtil.parse(LocalDateTime.now().format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + ), "yyyy-MM-dd HH:mm:ss"); + List businessAlertsList=new ArrayList<>(); + reportingReminders.forEach(item->{ + if(pcLabelsMap.containsKey(item.getFactoryId())){ + //任务清单 + FactoryReportingManifest factoryReportingManifest=new FactoryReportingManifest(); + PcFactory pcFactory = pcLabelsMap.get(item.getFactoryId()); + factoryReportingManifest.setFactoryName(pcFactory.getFactoryName()); + factoryReportingManifest.setUscCode(pcFactory.getUscCode()); + factoryReportingManifest.setIndustryCategory(pcFactory.getIndustryPermissionName()); + if(StringUtils.isNotBlank(pcFactory.getTechnicalMan())){ + factoryReportingManifest.setContact(pcFactory.getTechnicalMan()); + }else { + factoryReportingManifest.setContact(pcFactory.getPrincipalMan()); + } + if(StringUtils.isNotBlank(pcFactory.getMobileTelephone())){ + factoryReportingManifest.setContactPhone(pcFactory.getMobileTelephone()); + }else { + factoryReportingManifest.setContactPhone(pcFactory.getTel()); + } + factoryReportingManifest.setRegionName(pcFactory.getCountryName()); + factoryReportingManifest.setCreateTime(createTime); + factoryReportingManifest.setFmId(UUID.randomUUID().toString().trim().replaceAll("-", "")); + factoryReportingManifests.add(factoryReportingManifest); + //业务提醒 + BEnterpriseIrBusinessAlerts enterpriseIrBusinessAlerts=new BEnterpriseIrBusinessAlerts(); + enterpriseIrBusinessAlerts.setFactoryId(item.getFactoryId()); + enterpriseIrBusinessAlerts.setBusinessType("信息上报"); + enterpriseIrBusinessAlerts.setBusinessDetails("您好,企业信息上报提交截止时间是2023年5月19日,截止当前贵企业还未进行提交,请尽快完成信息填写并提交。"); + enterpriseIrBusinessAlerts.setBusinessTime(parse); + enterpriseIrBusinessAlerts.setCreateTime(parse); + businessAlertsList.add(enterpriseIrBusinessAlerts); + } + }); + // + Map> groupedMap = factoryReportingManifests.stream() + .collect(Collectors.groupingBy(FactoryReportingManifest::getRegionName)); + // 将分组后的结果按照key进行遍历 + groupedMap.forEach((key, value) -> { + FactoryReportingTask factoryReportingTask=new FactoryReportingTask(); + factoryReportingTask.setTaskTime(createTime); + factoryReportingTask.setTaskName("企业上报任务督办"); + factoryReportingTask.setTaskSource("企业端平台"); + factoryReportingTask.setRegionName(key); + String startTime= LocalDateTime.now().format( + DateTimeFormatter.ofPattern("yyyy年MM月dd日") + ); + //市级数据推送 + factoryReportingTask.setTaskDescription("截止"+startTime+"还有"+value.size()+"家企业未进行企业信息上报,请督办企业尽快完成上报。"); + String frId= UUID.randomUUID().toString().trim().replaceAll("-", ""); + factoryReportingTask.setFrId(frId); + factoryReportingTask.setTaskUser(getTaskUser(key)); + value.forEach(item->{ + item.setFrId(frId); + }); + //新增任务表 + this.save(factoryReportingTask); + //新增任务清单表 + List> partition = ListUtil.partition(value, 2000); + partition.forEach(i->{ + factoryReportingManifestMapper.insertBatch(i); + }); + }); + //新增市级账号推送 + if(CollectionUtil.isNotEmpty(factoryReportingManifests)){ + FactoryReportingTask factoryReportingTask=new FactoryReportingTask(); + factoryReportingTask.setTaskTime(createTime); + factoryReportingTask.setTaskName("企业上报任务督办"); + factoryReportingTask.setTaskSource("企业端平台"); + factoryReportingTask.setRegionName("唐山市"); + String startTime= LocalDateTime.now().format( + DateTimeFormatter.ofPattern("yyyy年MM月dd日") + ); + //市级数据推送 + factoryReportingTask.setTaskDescription("截止"+startTime+"还有"+factoryReportingManifests.size()+"家企业未进行企业信息上报,请督办企业尽快完成上报。"); + String frId= UUID.randomUUID().toString().trim().replaceAll("-", ""); + factoryReportingTask.setFrId(frId); + factoryReportingTask.setTaskUser(getTaskUser("唐山市")); + factoryReportingManifests.forEach(item->{ + item.setFmId(UUID.randomUUID().toString().trim().replaceAll("-", "")); + item.setFrId(frId); + }); + //新增任务表 + this.save(factoryReportingTask); + //新增任务清单表 + List> partition = ListUtil.partition(factoryReportingManifests, 2000); + partition.forEach(i->{ + factoryReportingManifestMapper.insertBatch(i); + }); + } + + //新增企业提醒企业的消息 + List> partition = ListUtil.partition(businessAlertsList, 2000); + partition.forEach(i->{ + enterpriseIrBusinessAlertsMapper.insertBatch(i); + }); + } + public String getTaskUser(String name){ + //19 + String str=""; + if(name.contains("唐山市")){ + str="zfzd"; + } + if(name.contains("丰南区")){ + str="zhglfengnan"; + } + if(name.contains("丰润区")){ + str="zhglfengrun"; + } + if(name.contains("乐亭县")){ + str="zhgllaoting"; + } + if(name.contains("南堡经济开发区")){ + str="zhglnanbao"; + } + if(name.contains("古冶区")){ + str="zhglguzhi"; + } + if(name.contains("开平区")){ + str="zhglkaiping"; + } + if(name.contains("曹妃甸区")){ + str="zhglcaofeidian"; + } + if(name.contains("汉沽管理区")){ + str="zhglhangu"; + } + if(name.contains("海港经济开发区")){ + str="zhglhaigang"; + } + if(name.contains("滦南县")){ + str="zhglluannan"; + } + if(name.contains("滦县")){// + str="zhglluanzhou"; + } + if(name.contains("玉田县")){ + str="zhglyutian"; + } + if(name.contains("芦台经济开发区")){ + str="zhgllutai"; + } + if(name.contains("路北区")){ + str="zhgllubei"; + } + if(name.contains("路南区")){ + str="zhgllunan"; + } + if(name.contains("迁安市")){ + str="zhglqianan"; + } + if(name.contains("迁西县")){ + str="zhglqianxi"; + } + if(name.contains("遵化市")){ + str="zhglzunhua"; + } + if(name.contains("高新技术产业开发区")){ + str="zhglgaoxin"; + } + if(name.contains("旅游岛")){ + str="zhgllvyoudao"; + } + return str; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/HomePageMapServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/HomePageMapServiceImpl.java new file mode 100644 index 0000000..5e2f448 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/HomePageMapServiceImpl.java @@ -0,0 +1,1452 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.BasDeviceParamAnalyseMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsWaterMapper; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.service.IPcAdslFactoryService; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.util.EmissionsConstants; +import cn.cecep.talroad.util.RedisUtils; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.homepage.*; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.cecep.talroad.vo.query.analysis.MonitoringPointWarningDetailsQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; + + +/** + * 企业基本信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-11 + */ +@Slf4j +@Service +public class HomePageMapServiceImpl implements HomePageMapService { + @Autowired + public RedisTemplate redisTemplate; + + @Autowired + private IPcFactoryService pcFactoryService; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private BMainPollDisSelfMonMapper bMainPollDisSelfMonMapper; + + @Autowired + private PcYieldTrendMapper pcYieldTrendMapper; + + @Autowired + private STaskYieldTrendMapper sTaskYieldTrendMapper; + + @Autowired + private SRaOnlineEmissionsGasMapper sRaOnlineEmissionsGasMapper; + + @Autowired + private SRaOnlineEmissionsWaterMapper sRaOnlineEmissionsWaterMapper; + + @Autowired + private BMainEmissionPollutionAirMapper bMainEmissionPollutionAirMapper; + + @Autowired + private BMainEmissionPollutionWaterMapper bMainEmissionPollutionWaterMapper; + + @Autowired + private EmissionsConstants emissionsConstants; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Autowired + private RedisService redisService; + + @Override + @Cacheable(cacheNames = "CompanyOverview", key = "(#industry ?: 'ALL')+(#region ?:'ALL')", sync = true) + public HpmCompanyOverviewVo selectCompanyOverview(String industry,String region) { + List regionArr=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(region); + if(r.getCode()==200){ + regionArr=r.getData(); + } + HpmCompanyOverviewVo selectCompanyOverview = pcFactoryMapper.selectCompanyOverview(industry,regionArr); + HpmCompanyOverviewVo selectOutletOverview = pcFactoryMapper.selectOutletOverview(industry,regionArr); + + selectCompanyOverview.setWaterEnterprise(selectOutletOverview.getWaterEnterprise()); + selectCompanyOverview.setWaterMainOutlet(selectOutletOverview.getWaterMainOutlet()); + selectCompanyOverview.setWaterOrdinaryOutlet(selectOutletOverview.getWaterOrdinaryOutlet()); + + selectCompanyOverview.setAirEnterprise(selectOutletOverview.getAirEnterprise()); + selectCompanyOverview.setAirMainOutlet(selectOutletOverview.getAirMainOutlet()); + selectCompanyOverview.setAirOrdinaryOutlet(selectOutletOverview.getAirOrdinaryOutlet()); + + selectCompanyOverview.setAirInorganization(selectOutletOverview.getAirInorganization()); + + // 查询雨水排口数量 + HpmCompanyOverviewVo vo3 = pcFactoryMapper.selectWaterRainwaterOutlet(industry,regionArr); + selectCompanyOverview.setWaterRainwaterOutlet(vo3.getWaterRainwaterOutlet()); + + return selectCompanyOverview; + } + + @Override + @Cacheable(cacheNames = "MeritRatingOverview", key = "(#industry ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public HpmMeriRatingOverviewVo selectMeritRatingOverview(String industry,String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + HpmMeriRatingOverviewVo hpmMeriRatingOverviewVo = Optional.ofNullable( + pcFactoryMapper.selectMeritRatingOverview(industry,regionCodes)).orElse(new HpmMeriRatingOverviewVo()); + int num = hpmMeriRatingOverviewVo.getCompleteRatingNum() + hpmMeriRatingOverviewVo.getIncompleteRatingNum(); + + hpmMeriRatingOverviewVo.setCompleteRatingProp(new BigDecimal(hpmMeriRatingOverviewVo.getCompleteRatingNum() == 0 ? 0 : hpmMeriRatingOverviewVo.getCompleteRatingNum() / num).setScale(4, RoundingMode.HALF_UP)); + hpmMeriRatingOverviewVo.setIncompleteRatingProp(new BigDecimal(hpmMeriRatingOverviewVo.getIncompleteRatingNum() == 0 ? 0 : hpmMeriRatingOverviewVo.getCompleteRatingNum() / num).setScale(4, RoundingMode.HALF_UP)); + + return hpmMeriRatingOverviewVo; + } + + @Override + public HpmEnvironmentOverviewVo selectOnvironmentOverview(String industry,String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + return pcFactoryMapper.selectOnvironmentOverview(industry,regionCodes); + } + + @Override + @Cacheable(cacheNames = "EmissionTrackingOverview", key = "(#emissionType ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public HpmEmissionTrackingOverviewVo selectEmissionTrackingOverview(String emissionType,String regionCode) { + emissionType = StringUtils.equals(emissionType, "1") ? "执行报告" : "系统核算"; + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + HpmEmissionTrackingOverviewVo hpmEmissionTrackingOverviewVo = pcFactoryMapper.selectGasEmissionTrackingOverview(emissionType,regionCodes); + HpmEmissionTrackingOverviewVo waterEmissionTrackingOverview = pcFactoryMapper.selectWaterEmissionTrackingOverview(emissionType,regionCodes); + if (Objects.isNull(hpmEmissionTrackingOverviewVo)) { + return new HpmEmissionTrackingOverviewVo(); + } + + hpmEmissionTrackingOverviewVo.setActualDischargeCod(waterEmissionTrackingOverview.getActualDischargeCod()); + hpmEmissionTrackingOverviewVo.setPermissibleDischargeCod(waterEmissionTrackingOverview.getPermissibleDischargeCod()); + hpmEmissionTrackingOverviewVo.setActualDischargeTn(waterEmissionTrackingOverview.getActualDischargeTn()); + hpmEmissionTrackingOverviewVo.setPermissibleDischargeTn(waterEmissionTrackingOverview.getPermissibleDischargeTn()); + hpmEmissionTrackingOverviewVo.setActualDischargeTp(waterEmissionTrackingOverview.getActualDischargeTp()); + hpmEmissionTrackingOverviewVo.setPermissibleDischargeTp(waterEmissionTrackingOverview.getPermissibleDischargeTp()); + hpmEmissionTrackingOverviewVo.setActualDischargeNhn(waterEmissionTrackingOverview.getActualDischargeNhn()); + hpmEmissionTrackingOverviewVo.setPermissibleDischargeNhn(waterEmissionTrackingOverview.getPermissibleDischargeNhn()); + + hpmEmissionTrackingOverviewVo.setRatioSo2(hpmEmissionTrackingOverviewVo.getPermissibleDischargeSo2().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeSo2().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeSo2(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioNox(hpmEmissionTrackingOverviewVo.getPermissibleDischargeNox().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeNox().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeNox(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioPm(hpmEmissionTrackingOverviewVo.getPermissibleDischargePm().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargePm().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargePm(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioVocs(hpmEmissionTrackingOverviewVo.getPermissibleDischargeVocs().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeVocs().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeVocs(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + + hpmEmissionTrackingOverviewVo.setRatioCod(hpmEmissionTrackingOverviewVo.getPermissibleDischargeCod().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeCod().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeCod(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioNhn(hpmEmissionTrackingOverviewVo.getPermissibleDischargeNhn().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeNhn().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeNhn(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioTn(hpmEmissionTrackingOverviewVo.getPermissibleDischargeTn().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeTn().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeTn(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + hpmEmissionTrackingOverviewVo.setRatioTp(hpmEmissionTrackingOverviewVo.getPermissibleDischargeTp().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : + hpmEmissionTrackingOverviewVo.getActualDischargeTp().divide(hpmEmissionTrackingOverviewVo.getPermissibleDischargeTp(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100))); + return hpmEmissionTrackingOverviewVo; + } + + @Override + public HpmEmissionRatioOverviewVo selectEmissionRatioOverview(String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + // 污染物名称(污染物名称:SO2、NOx、颗粒物、VOCs、COD、氨氮、总磷、总氮, 如果名称填写So2则不会统计至首页大屏中) + return Optional.ofNullable(bMainPollDisSelfMonMapper.selectCountByPollutantsName(regionCodes)).orElse(new HpmEmissionRatioOverviewVo()); + } + + @Override + @Cacheable(cacheNames = "EnterpriseMapPop", key = "#factoryId ?: 'ALL'", sync = true) + public HpmEnterprisePopVo selectEnterpriseMapPop(String factoryId) { + HpmEnterprisePopVo hpmEnterprisePopVo = new HpmEnterprisePopVo(); + +// PcOutlet pcOutlet = pcOutletMapper.selectOne(new LambdaQueryWrapper().eq(PcOutlet::getId, outletId)); +// if (Objects.isNull(pcOutlet)){ +// throw new ServiceException("排口未找到或者不正确,请稍后重试"); +// } + + PcFactoryQuery query = new PcFactoryQuery(); + query.setId(factoryId); + List pcFactoryVos = pcFactoryMapper.selectPcFactoryVoList(query, null,null); + PcFactoryVo vo = pcFactoryVos.get(0); + + hpmEnterprisePopVo.setFactoryLabelList(pcFactoryService.getLabel(factoryId, true)); + hpmEnterprisePopVo.setFactoryName(vo.getFactoryName()); + hpmEnterprisePopVo.setCityName(vo.getCityName()); + hpmEnterprisePopVo.setCountryName(vo.getCountryName()); + hpmEnterprisePopVo.setWipollunit(vo.getWipollunit()); + hpmEnterprisePopVo.setIndustryCategory(vo.getIndustryCategoryName()); + hpmEnterprisePopVo.setProdBusiOperation(vo.getProdBusiOperation()); + + return hpmEnterprisePopVo; + } + + @Override + public List selectImportPollutionDischarge(String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + return pcFactoryMapper.selectImportPollutionDischarge(regionCodes); + } + + @Override + public EnvironmentCreditPropVo selectProportionOfEcologicalEnvironmentCredit() { + return pcFactoryMapper.selectProportionOfEcologicalEnvironmentCredit(); + } + + @Override + @Cacheable(cacheNames = "RankingStat", key = "(#pollutantType ?: 'ALL')+(#regionCode ?: 'ALL')", sync = true) + public DistributionOfMajorEmittersVo selectRankingStat(String pollutantType,String regionCode) { + DistributionOfMajorEmittersVo distributionOfMajorEmittersVo = new DistributionOfMajorEmittersVo(); + Map gasFieldMap = MapUtil.builder() + .put("NOₓ", "actuallyEmittingNox") + .put("SO₂", "actuallyEmittingSo2") + .put("VOCs", "actuallyEmittingVocs") + .put("颗粒物", "actuallyEmittingPm") + .build(); + Map waterFieldMap = MapUtil.builder() + .put("COD", "actuallyEmittingCod") + .put("总氮", "actuallyEmittingTn") + .put("总磷", "actuallyEmittingTp") + .put("氨氮", "actuallyEmittingNhn") + .build(); + + int thisYear = DateUtil.thisYear(); + + List emissionListByCompany; + List emissionListByCompanyAndIndustry; + final String field; + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + if (gasFieldMap.containsKey(pollutantType)) { + field = gasFieldMap.get(pollutantType); + emissionListByCompany = bMainEmissionPollutionAirMapper.selectEmissionDataList("系统核算", null, + thisYear + "", null, null, false,regionCodes); + emissionListByCompanyAndIndustry = bMainEmissionPollutionAirMapper.selectEmissionDataList("系统核算", null, + thisYear + "", null, null, true,regionCodes); + } else if (waterFieldMap.containsKey(pollutantType)) { + field = waterFieldMap.get(pollutantType); + emissionListByCompany = bMainEmissionPollutionWaterMapper.selectEmissionDataList("系统核算", null, + thisYear + "", null, null, false,regionCodes); + emissionListByCompanyAndIndustry = bMainEmissionPollutionWaterMapper.selectEmissionDataList("系统核算", null, + thisYear + "", null, null, true,regionCodes); + } else { + return distributionOfMajorEmittersVo; + } + + if (Objects.isNull(emissionListByCompany)) { + return distributionOfMajorEmittersVo; + } + + Stream> groupedStream = getGroupedStream(10, field, emissionListByCompany); + if (Objects.nonNull(groupedStream)) { + List xData = groupedStream.map(entry -> entry.getKey() + "-" + entry.getValue()).collect(Collectors.toList()); + List factoryEmissionsCount = getCountGroupByPartitionCount(emissionListByCompany, field, getGroupedStream(10, field, emissionListByCompany)); + + distributionOfMajorEmittersVo.setXData(xData); + distributionOfMajorEmittersVo.setFactoryEmissionsCount(factoryEmissionsCount); + } + // 查询group by行业的排放量 +// List> emissionsByCompanyAndIndustry = pcFactoryMapper.selectEmissionsByCompany(pollutantType, true); + + Map, List> industryCategory = emissionListByCompanyAndIndustry.stream() + .filter(x -> ObjectUtil.isNotEmpty(BeanUtil.getFieldValue(x, "indusName"))) + .collect(Collectors.groupingBy(x -> new AbstractMap.SimpleEntry<>(BeanUtil.getFieldValue(x, "indusName").toString(), + String.valueOf(BeanUtil.getFieldValue(x, "industryCategory"))))); + + List> industryEmissionsCount = industryCategory.keySet() + .stream() + .map(key -> { + List maps = industryCategory.get(key); + Stream> groupedStreamByIndustry = getGroupedStream(20, field, maps); + List factoryEmissionsCountByIndustry = getCountGroupByPartitionCount(maps, field, groupedStreamByIndustry); + return MapUtil.builder() + .put("name", key.getKey()) + .put("code", key.getValue()) + .put("num", CollUtil.isEmpty(factoryEmissionsCountByIndustry) ? 0 : CollUtil.getLast(factoryEmissionsCountByIndustry)) + .build(); + }).collect(Collectors.toList()); + + industryEmissionsCount.add(MapUtil.builder() + .put("name", "企业总数") + .put("code", "factory") + .put("num", industryEmissionsCount.stream() + .mapToLong(x -> Long.parseLong(x.get("num").toString())) + .sum()) + .build()); + + distributionOfMajorEmittersVo.setIndustryEmissionsCount(industryEmissionsCount); + + return distributionOfMajorEmittersVo; + } + + @Override + public EChartsVO enterpriseMapPopEmissionTrends(String factoryId, final String dataType, String startTime, String endTime) { + EChartsVO eChartsVO = new EChartsVO(); + // 定义查询数据,格式化数据的日期类型,每个类型均为不同环境的类型,format是前端传递的类型,dateFormat是返回前端的格式化类型,pgSqlDateFormat是pg数据库类型 + final String format, dateFormat, pgSqlDateFormat; + DateTime monitoringStartTime, monitoringEndTime; + switch (dataType) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + dateFormat = "yyyy-MM-dd HH:mm:ss"; + pgSqlDateFormat = "YYYY-MM-DD HH24:MI:SS"; + monitoringEndTime = DateUtil.parse(endTime, format); + break; + case "Y": + // 年 + format = "yyyy"; + dateFormat = "yyyy-MM-dd"; + pgSqlDateFormat = "YYYY-MM-DD"; + DateTime parseYear = DateUtil.parse(endTime, format); + monitoringEndTime = parseYear.year() == DateUtil.thisYear() ? new DateTime() : DateUtil.endOfYear(parseYear); + break; + case "M": + // 月 + format = "yyyy-MM"; + dateFormat = "yyyy-MM-dd"; + pgSqlDateFormat = "YYYY-MM-DD"; + DateTime parseMonth = DateUtil.parse(endTime, format); + monitoringEndTime = DateUtil.compare(parseMonth, new Date(), format) == 0 ? new DateTime() : DateUtil.endOfMonth(parseMonth); + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + dateFormat = "yyyy-MM-dd HH"; + pgSqlDateFormat = "YYYY-MM-DD HH24"; + DateTime parseDay = DateUtil.parse(endTime, format); + monitoringEndTime = DateUtil.compare(parseDay, new Date(), format) == 0 ? new DateTime() : DateUtil.endOfDay(parseDay); + break; + } + monitoringStartTime = DateUtil.parse(startTime, format); + List timeRange = DateUtil.rangeToList(monitoringStartTime, monitoringEndTime, "D".equals(dataType) ? DateField.HOUR_OF_DAY : DateField.DAY_OF_MONTH); + final String pgSqlFormat = StringUtils.format("to_char(monitor_time, '{}')", pgSqlDateFormat); + + eChartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, dateFormat), false)); + + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "SO₂"); + put("prop", "so2Emissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "NOₓ"); + put("prop", "noxEmissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "颗粒物"); + put("prop", "pmEmissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "VOCs"); + put("prop", "vocsEmissions"); + put("unit", "kg"); + }}); + + // 通过动态sql 获取不同groupby字段的排放量 gas -> "NOX", "SO2", "Vocs", "pm" 这里只获取主要字段 + final String[] gasImportantFields = emissionsConstants.getGasImportantFieldMap().keySet().toArray(new String[0]); + List gasPollEmissionsVos = sRaOnlineEmissionsGasMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), gasImportantFields, null, pgSqlFormat); + + List gasEmissionsSeries = getEmissionsSeries(items, gasPollEmissionsVos, timeRange, dateFormat, "groupByField"); + + if (StringUtils.equals("D", dataType)) { + // 废水没有小时数据,这里判断后不显示 + + items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "COD浓度"); + put("prop", "codConcentration"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "氨氮"); + put("prop", "ammoniaNitrogen"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总氮"); + put("prop", "nitrogenConcentration"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总磷"); + put("prop", "phosphorusConcentration"); + put("unit", "kg"); + }}); + + final String[] waterImportantFields = emissionsConstants.getWaterImportantFieldMap().keySet().toArray(new String[0]); + List waterPollEmissionsVos = sRaOnlineEmissionsWaterMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), waterImportantFields, null, pgSqlFormat); + + List waterEmissionsSeries = getEmissionsSeries(items, waterPollEmissionsVos, timeRange, dateFormat, "groupByField"); + + CollUtil.addAll(gasEmissionsSeries, waterEmissionsSeries); + } + + eChartsVO.setSeries(gasEmissionsSeries); + return eChartsVO; + } + + @Override + public EChartsVO selectEnterpriseMapPopYield(String factoryId, final String dataType, String startTime, String endTime) { + EChartsVO eChartsVO = new EChartsVO(); + final String format, dateFormat; + DateTime monitoringStartTime, monitoringEndTime; + switch (dataType) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + dateFormat = "yyyy-MM-dd HH:mm:ss"; + monitoringEndTime = DateUtil.parse(endTime, format); + break; + case "Y": + // 年 + format = "yyyy"; + dateFormat = "yyyy-MM-dd"; + DateTime parse = DateUtil.parse(endTime, format); + monitoringEndTime = parse.year() == DateUtil.thisYear() ? new DateTime() : DateUtil.endOfYear(parse); + break; + case "M": + // 月 + format = "yyyy-MM"; + dateFormat = "yyyy-MM-dd"; + DateTime parseMonth = DateUtil.parse(endTime, format); + monitoringEndTime = DateUtil.compare(parseMonth, new Date(), format) == 0 ? new DateTime() : DateUtil.endOfMonth(parseMonth); + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + dateFormat = "yyyy-MM-dd HH"; + DateTime parseDay = DateUtil.parse(endTime, format); + monitoringEndTime = DateUtil.compare(parseDay, new Date(), format) == 0 ? new DateTime() : DateUtil.endOfDay(parseDay); + break; + } + + monitoringStartTime = DateUtil.parse(startTime, format); + + List timeRange = DateUtil.rangeToList(monitoringStartTime, monitoringEndTime, "D".equals(dataType) ? DateField.HOUR_OF_DAY : DateField.DAY_OF_MONTH); + + eChartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, dateFormat), false)); + + List pcYieldTrends = pcYieldTrendMapper.selectByFactoryId(factoryId); + + List sTaskYieldTrends = sTaskYieldTrendMapper.selectList(new QueryWrapper() + .select("factory_id","time_type","data_time","dict_code","sum(\"number\") as number") + .eq("factory_id", factoryId) + .eq("time_type", TimeTypeEnum.DAY.getCode().equals(dataType) ? TimeTypeEnum.HOUR.getCode() : TimeTypeEnum.DAY.getCode()) + .between("data_time", monitoringStartTime, monitoringEndTime) + .groupBy("factory_id","time_type","data_time","dict_code") + .orderByAsc("data_time")); + + List collect = pcYieldTrends.stream() + .map(pcYieldTrend -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pcYieldTrend.getSmall()); + ser.setUnit(pcYieldTrend.getUnit()); + List values = new ArrayList<>(); + timeRange.forEach(dataTime ->{ + + Double d = sTaskYieldTrends.stream().filter(sTaskYieldTrend -> StringUtils.equals(sTaskYieldTrend.getDictCode(), pcYieldTrend.getCode())&&DateUtil.compare(dataTime, sTaskYieldTrend.getDataTime(), dateFormat) == 0) + .mapToDouble(sTaskYieldTrend->sTaskYieldTrend.getNumber().doubleValue()).findFirst().orElse(0); + values.add(d); + }); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + eChartsVO.setSeries(collect); + return eChartsVO; + } + + @Override + public EChartsVO emissionTrends(String factoryId, String selectType, String dataType, String startTime, String endTime) { + EChartsVO eChartsVO = new EChartsVO(); + final String format, dateFormat, pgSqlDateFormat; + DateTime monitoringStartTime, monitoringEndTime; + switch (dataType) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + dateFormat = "yyyy-MM-dd HH:mm:ss"; + pgSqlDateFormat = "YYYY-MM-DD HH24:MI:SS"; + monitoringStartTime = StringUtils.isNotEmpty(startTime) ? DateUtil.parse(startTime, format) : DateUtil.beginOfDay(new DateTime()); + monitoringEndTime = StringUtils.isNotEmpty(endTime) ? DateUtil.parse(endTime, format) : new DateTime(); + break; + case "Y": + // 年 + format = "yyyy"; + dateFormat = "yyyy-MM-dd"; + pgSqlDateFormat = "YYYY-MM-DD"; + DateTime parseStart = StringUtils.isNotEmpty(startTime) ? DateUtil.parse(startTime, format) : new DateTime(); + DateTime parseEnd = StringUtils.isNotEmpty(endTime) ? DateUtil.parse(endTime, format) : new DateTime(); + monitoringStartTime = DateUtil.beginOfYear(parseStart); + monitoringEndTime = parseEnd.year() == DateUtil.thisYear() ? new DateTime() : DateUtil.endOfYear(parseEnd); + break; + case "M": + // 月 + format = "yyyy-MM"; + dateFormat = "yyyy-MM-dd"; + pgSqlDateFormat = "YYYY-MM-DD"; + monitoringStartTime = DateUtil.beginOfMonth(StringUtils.isNotEmpty(startTime) ? DateUtil.parse(startTime, format) : new DateTime()); + monitoringEndTime = DateUtil.endOfMonth(StringUtils.isNotEmpty(endTime) ? DateUtil.parse(endTime, format) : new DateTime()); + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + dateFormat = "yyyy-MM-dd HH"; + pgSqlDateFormat = "YYYY-MM-DD HH24"; + monitoringStartTime = DateUtil.beginOfDay(StringUtils.isNotEmpty(startTime) ? DateUtil.parse(startTime, format) : new DateTime()); + monitoringEndTime = DateUtil.endOfDay(StringUtils.isNotEmpty(endTime) ? DateUtil.parse(endTime, format) : new DateTime()); + break; + } + + final String pgSqlFormat = StringUtils.format("to_char(monitor_time, '{}')", pgSqlDateFormat); + + List timeRange = DateUtil.rangeToList(monitoringStartTime, monitoringEndTime, "D".equals(dataType) ? DateField.HOUR_OF_DAY : DateField.DAY_OF_MONTH); + eChartsVO.setXData(CollUtil.map(timeRange, x -> DateUtil.format(x, dateFormat), false)); + + List> items; + switch (selectType) { + case "1": + items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "SO₂"); + put("prop", "so2Emissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "NOₓ"); + put("prop", "noxEmissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "颗粒物"); + put("prop", "pmEmissions"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "VOCs"); + put("prop", "vocsEmissions"); + put("unit", "kg"); + }}); + final String[] gasImportantFields = emissionsConstants.getGasImportantFieldMap().keySet().toArray(new String[0]); + List gasPollEmissionsVos = sRaOnlineEmissionsGasMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), gasImportantFields, null, pgSqlFormat); + + List gasEmissionsSeries = getEmissionsSeries(items, gasPollEmissionsVos, timeRange, dateFormat, "groupByField"); + eChartsVO.setSeries(gasEmissionsSeries); + return eChartsVO; + case "2": + // 废水没有消失数据,这里展示当天的日数据 + if (StringUtils.equals("D", dataType)) { + return emissionTrends(factoryId, selectType, "M", null, null); + + } + items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "COD浓度"); + put("prop", "codConcentration"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "氨氮"); + put("prop", "ammoniaNitrogen"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总氮"); + put("prop", "nitrogenConcentration"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总磷"); + put("prop", "phosphorusConcentration"); + put("unit", "kg"); + }}); + final String[] waterImportantFields = emissionsConstants.getWaterImportantFieldMap().keySet().toArray(new String[0]); + List waterPollEmissionsVos = sRaOnlineEmissionsWaterMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), waterImportantFields, null, pgSqlFormat); + List waterEmissionsSeries = getEmissionsSeries(items, waterPollEmissionsVos, timeRange, dateFormat, "groupByField"); + eChartsVO.setSeries(waterEmissionsSeries); + return eChartsVO; + // 适配 企业档案-在线监控-产品产量 + case "3": + return selectEnterpriseMapPopYield(factoryId, dataType, monitoringStartTime.toString(), monitoringEndTime.toString()); + default: + return emissionTrends(factoryId, "1", dataType, startTime, endTime); + } + } + + /** + * 对列表中的某个字段的数据,分成固定份数 + * + * @param partitionCount 固定份数 + * @param field 字段名称 + * @param emissions 列表数据 + * @return key为起始值,value为结束值,ex:["10-66", "66-122", "122-178", "178-234", "234-290", "290-346", "346-402", "402-458", "458-514",…] + */ + public Stream> getGroupedStream(int partitionCount, String field, List emissions) { + BigDecimal maxEmissions = emissions.stream().map(x -> new BigDecimal(BeanUtil.getFieldValue(x, field).toString())).max(BigDecimal::compareTo).orElse(BigDecimal.ZERO).setScale(0, RoundingMode.UP); + BigDecimal minEmissions = emissions.stream().map(x -> new BigDecimal(BeanUtil.getFieldValue(x, field).toString())).min(BigDecimal::compareTo).orElse(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN); + + BigDecimal range = maxEmissions.subtract(minEmissions); + BigDecimal partitionSize = range.divide(new BigDecimal(partitionCount), 0, RoundingMode.HALF_UP); + + if (range.compareTo(BigDecimal.ZERO) == 0 || partitionSize.compareTo(BigDecimal.ZERO) == 0) { + return null; + } + + return IntStream.range(0, partitionCount) + .mapToObj(i -> { + BigDecimal start = minEmissions.add(partitionSize.multiply(new BigDecimal(i))); + BigDecimal end = start.add(partitionSize); + if (i == partitionCount - 1) { + end = maxEmissions; + } + return new AbstractMap.SimpleEntry<>(start, end); + }); + } + + /** + * 对列表的数据通过区间 获取企业数量 + * + * @param emissions 列表的数据 + * @param field 字段名称 + * @param groupedStream getGroupedStream方法获取的区间Stream + * @return 每个区间的企业数量 ex: [1, 1, 1, 0, 1, 0, 0, 0, 0, 1] + */ + public List getCountGroupByPartitionCount(List emissions, String field, Stream> groupedStream) { + + return groupedStream == null ? Collections.emptyList() : groupedStream + .map(entry -> { + BigDecimal start = entry.getKey(); + BigDecimal end = entry.getValue(); + return emissions.stream() + .map(x -> new BigDecimal(BeanUtil.getFieldValue(x, field).toString())) + .filter(value -> value.compareTo(start) >= 0 && value.compareTo(end) <= 0) + .count(); + }) + .collect(Collectors.toList()); + } + + public List getEmissionsSeries(List> items, List data, List timeRange, String dateFormat, String timeField) { + return items.parallelStream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.getOrDefault("name", "")); + ser.setUnit(item.getOrDefault("unit", "")); +// List values = Lists.newArrayListWithCapacity(timeRange.size()); + Object[] values = new Object[timeRange.size()]; + data.forEach(x -> { + BigDecimal prop = BeanUtil.getProperty(x, item.get("prop")); + Object value = Objects.isNull(prop) ? null : prop.setScale(4, RoundingMode.HALF_UP); + DateTime dateTime = DateUtil.parse(BeanUtil.getProperty(x, timeField), dateFormat); + + values[CollUtil.indexOf(timeRange, y -> DateUtil.compare(y, dateTime, dateFormat) == 0)] = value; + }); + ser.setValues(Arrays.asList(values)); + return ser; + }).collect(Collectors.toList()); + + } + + + /** + * 根据传入的缓存名称删除对应的缓存 + * + * @param redisKey + * @return + */ + @Override + public Boolean cleanRedisByCacheNames(String redisKey) { + //组装模糊删除key所需格式 + String fuzzyRedisKey = redisKey+"::*"; + return RedisUtils.delKeysByPattern(redisTemplate, fuzzyRedisKey); + } + + @Override + public OverviewOnlineMonitorsVo overviewOnlineMonitors() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + return pcFactoryMapper.overviewOnlineMonitors(regionCodes); + } + + @Override + public EChartsVO monitoringPointWarning(String type) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + MonitoringPointWarningVo ma=new MonitoringPointWarningVo(); + if(type.equals("1")){ + ma= pcFactoryMapper.gasMonitoringPointWarning(regionCodes); + }else { + ma= pcFactoryMapper.waterMonitoringPointWarning(regionCodes); + } + EChartsVO eChartsVO=new EChartsVO(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("预警"); + ser.setValues(new ArrayList<>()); + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("报警"); + ser1.setValues(new ArrayList<>()); + items.add(ser1); + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("异常"); + ser2.setValues(new ArrayList<>()); + items.add(ser2); + items.get(0).getValues().add(ma.getGasMonitoringWarning()); + items.get(1).getValues().add(ma.getGasMonitoringExceeding()); + items.get(2).getValues().add(ma.getGasMonitoringAbnormal()); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public IPage monitoringPointWarningDetails(MonitoringPointWarningDetailsQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + Page page=new Page<>(query.getPageNum(),query.getPageSize()); + List list=pcFactoryMapper.monitoringPointWarningDetails(page,regionCodes); + page.setRecords(list); + return page; + } + + @Override + public List exportMonitoringPointWarningDetails(MonitoringPointWarningDetailsQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + Page page=new Page<>(query.getPageNum(),query.getPageSize()); + List list=pcFactoryMapper.monitoringPointWarningDetails(page, regionCodes); + return list; + } + + @Override + public List enterpriseIssuesTop() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + return pcFactoryMapper.enterpriseIssuesTop(regionCodes); + } + + @Override + public EChartsVO effectiveMonitoringRate(EffectiveMonitoringRateQuery query) { + String regionCode = ""; + if(StringUtils.isEmpty(query.getRegionCode())){ + regionCode=SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + }else { + regionCode=query.getRegionCode(); + } + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + query.setRegionCodes(regionCodes); + if(query.getType().equals("1")){ + List allHour = DateUtils.getRangeTimes("H", query.getMonitoringStartTime(), query.getMonitoringEndTime()); + //缓存 + List sEnvGasMonReals=new ArrayList<>(); + AtomicLong atomicLong=new AtomicLong(0); + String finalRegionCode = regionCode; + allHour.forEach(item->{ + atomicLong.set(atomicLong.incrementAndGet()); + query.setMonitoringTime(item+":00:00"); + SEnvGasMonReal cacheObject = redisService.getCacheObject("effectiveMonitoringRateGas::"+ finalRegionCode + item); + if(ObjectUtil.isNull(cacheObject)){ + SEnvGasMonReal sEnvGasMonReal=pcFactoryMapper.gasEffectiveMonitoringRates(query); + redisService.setCacheObject("effectiveMonitoringRateGas::"+ finalRegionCode +item,sEnvGasMonReal,atomicLong.get(), TimeUnit.HOURS); + if(ObjectUtil.isNotNull(sEnvGasMonReal)){ + sEnvGasMonReals.add(sEnvGasMonReal); + } + }else { + if(ObjectUtil.isNotNull(cacheObject)){ + sEnvGasMonReals.add(cacheObject); + } + } + }); +// List sEnvGasMonReals=pcFactoryMapper.gasEffectiveMonitoringRate(query); + // x轴数据 + List xdata = DateUtils.getRangeTimes(query.getDataType(), query.getMonitoringStartTime(), query.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map gasMonRealMap = sEnvGasMonReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + o.setDataType(query.getDataType()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + List series = new ArrayList<>(); + String str = "so2Emission,noxEmission,pmEmission,vocsEmission"; + List list = Arrays.stream(str.split(",")).collect(Collectors.toList()); + for (SEnvGasMonRealServiceImpl.PollutantEnum pollutantEnum : SEnvGasMonRealServiceImpl.PollutantEnum.values()) { + if(list.contains(pollutantEnum.prop)){ + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvGasMonReal monReal = gasMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + } + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + }else { + List allHour = DateUtils.getRangeTimes("H", query.getMonitoringStartTime(), query.getMonitoringEndTime()); + //缓存 + List waterMonReals=new ArrayList<>(); + AtomicLong atomicLong=new AtomicLong(0); + String finalRegionCode1 = regionCode; + allHour.forEach(item->{ + atomicLong.set(atomicLong.incrementAndGet()); + query.setMonitoringTime(item+":00:00"); + SEnvWaterMonReal cacheObject = redisService.getCacheObject("effectiveMonitoringRateWater::"+ finalRegionCode1 +item); + if(ObjectUtil.isNull(cacheObject)){ + SEnvWaterMonReal SEnvWaterMonReal=pcFactoryMapper.effectiveMonitoringRates(query); + redisService.setCacheObject("effectiveMonitoringRateWater::"+ finalRegionCode1 +item,SEnvWaterMonReal,atomicLong.get(), TimeUnit.HOURS); + if(ObjectUtil.isNotNull(SEnvWaterMonReal)){ + waterMonReals.add(SEnvWaterMonReal); + } + }else { + if(ObjectUtil.isNotNull(cacheObject)){ + waterMonReals.add(cacheObject); + } + } + }); + +// List waterMonReals=pcFactoryMapper.effectiveMonitoringRate(query); + // x轴数据 + List xdata = DateUtils.getRangeTimes(query.getDataType(), query.getMonitoringStartTime(), query.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map waterMonRealMap = waterMonReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + o.setDataType(query.getDataType()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + // 系列 + List series = new ArrayList<>(); + String str = "codEmission,ammoniaNitrogenEmission,nitrogenConcentrationEmission,phosphorusConcentrationEmission"; + List list = Arrays.stream(str.split(",")).collect(Collectors.toList()); + for (SEnvWaterMonRealServiceImpl.PollutantEnumEmission pollutantEnum : SEnvWaterMonRealServiceImpl.PollutantEnumEmission.values()) { + if(list.contains(pollutantEnum.prop)) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvWaterMonReal monReal = waterMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + } + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + } + + @Override + public List regionalOnlineMonitoring(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + query.setRegionCodes(regionCodes); + List regionArr=new ArrayList<>(); + R> r = baseRegionService.getRegionList(regionCode); + if(r.getCode()==200){ + regionArr=r.getData(); + } + //封装数据 + List regionalOnlineMonitoringVos=new ArrayList<>(); + regionArr.forEach(item->{ + RegionalOnlineMonitoringVo chil=new RegionalOnlineMonitoringVo(); + chil.setRegionName(item.getRegionName()); + chil.setDistrictCode(item.getRegionCode()); + regionalOnlineMonitoringVos.add(chil); + }); + //监测点位数量 + List numberMonitors= pcFactoryMapper.numberMonitoringPoints(query); + //有效监测率 + List monitoringRates= pcFactoryMapper.monitoringRate(query); + monitoringRates.forEach(item->{ + if ((BigDecimal.ZERO).compareTo(item.getTotal()) != 0 ) { + item.setMonitoringRate(item.getDivisor().divide(item.getTotal(), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString() + "%"); + } + }); + //超标率 + List excessRates= pcFactoryMapper.excessRate(query); + excessRates.forEach(item->{ + if ((BigDecimal.ZERO).compareTo(item.getTotal()) != 0 ) { + item.setExcessRate(item.getDivisor().divide(item.getTotal(),2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%"); + } + }); + Map numberMonitorsMap = numberMonitors.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + Map monitoringRatesMap = monitoringRates.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + Map excessRatesMap = excessRates.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + regionalOnlineMonitoringVos.forEach(item->{ + if(numberMonitorsMap.containsKey(item.getDistrictCode())){ + item.setNumberMonitoringPoints(numberMonitorsMap.get(item.getDistrictCode()).getNumberMonitoringPoints()); + }else { + item.setNumberMonitoringPoints("0"); + } + if(monitoringRatesMap.containsKey(item.getDistrictCode())){ + item.setMonitoringRate(monitoringRatesMap.get(item.getDistrictCode()).getMonitoringRate()); + }else { + item.setMonitoringRate("0%"); + } + if(excessRatesMap.containsKey(item.getDistrictCode())){ + item.setExcessRate(excessRatesMap.get(item.getDistrictCode()).getExcessRate()); + }else { + item.setExcessRate("0%"); + } + }); + return regionalOnlineMonitoringVos; + } + + /** + * 数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据 + * @param paramKeys + * @return + */ + @Transactional + public Boolean initializeBasDeviceParamAll(String[] paramKeys) { + Date startDate = new Date(); + log.info("初始化bas_device_param任务开始++++++++++++++++++++++++++++++++++++++++++="+startDate); + //第一步 获取所有企业 + List factoryList = pcFactoryMapper.selectPcFactory(); + /*ExecutorService taskExecutor = Executors.newCachedThreadPool(); + ExecutorService pool = Executors.newFixedThreadPool(50); + final CountDownLatch latch = new CountDownLatch(factoryList.size());//用于判断所有的线程是否结束*/ + //第二步 循环企业 + //第三步 循环类型 获取 企业是否包含此类型数据 + //第四不 获取各类型数据的参数值 + //第五步 根据获取的参数组装list 存到数据库中,对已有的数据做更新操作,不改变后边设置的值。对位存在的数据做插入操作,对多余的数据做标记操作(修改状态)。 + for (PcFactory pcFactory:factoryList) { + /* Runnable run = new Runnable() { + public void run() { + try {*/ + for(String paramKey:paramKeys){ + switch (paramKey) { + case "2": + findOrInsertEL(pcFactory.getId(),"A002",paramKey); + //分表计电监测设备 + break; + case "3": + findOrInsertOnLine(pcFactory.getId(),"A003",paramKey); + break; + //在线监测设备 + case "4": + //无组织监控数据 + findOrInsertInorganization(pcFactory.getId(),"A004",paramKey); + default: + break; + } + } + /* } finally { + latch.countDown(); //每次调用CountDown(),计数减1 + } + } + }; + taskExecutor.execute(run);*///开启线程执行池中的任务。还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果 + } + +/* try { + //等待所有线程执行完毕 + latch.await();//主程序执行到await()函数会阻塞等待线程的执行,直到计数为0 + } catch (InterruptedException e) { + e.printStackTrace(); + } + taskExecutor.shutdown();//关闭线程池*/ + log.info("初始化bas_device_param任务结束++++++++++++++++++++++++++++++++++++++++++="+((new Date()).getTime()-startDate.getTime())); + return false; + } + @Autowired + private PcAdslFactoryMapper pcAdslFactoryMapper; + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + @Autowired + private BasDeviceParamAnalyseMapper basDeviceParamAnalyseMapper; + @Autowired + private BasDeviceParamMapper basDeviceParamMapper; + @Autowired + private PcOutletMapper pcOutletMapper; + public void findOrInsertEL(String factoryId,String paramKey,String datetype){ + //查询企业是否接入分表计电,如果是 则获取分表计电设备 + PcAdslFactory pc = new PcAdslFactory(); + pc.setFactoryId(factoryId); + pc.setAdslCode(paramKey); + List pcAdslFactory = pcAdslFactoryMapper.selectPcAdslFactoryList(pc); + if(pcAdslFactory.size()>0){ + //获取点位信息 + List bdsList = basDeviceSiteMapper.selectDevicePoints(factoryId); + log.info("分表计电----企业id++++++"+factoryId+":=====返回list"+bdsList); + //获取参数信息 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("data_type", datetype); + List bdpaList = basDeviceParamAnalyseMapper.selectList(queryWrapper); + //组装List + if(bdsList.size()>0){ + List oldbsold = new ArrayList<>(); + List newbdpone = new ArrayList<>(); + for(BasDeviceSite bs:bdsList ){ + //第一步 先将企业所有的参数置为未启用状态 + basDeviceParamMapper.updateValueParam(bs.getDeviceId(),datetype,"EL","0"); + //第二步 处理企业信息 + if(bdpaList.size()>0){ + for(BasDeviceParamAnalyse bdp:bdpaList){ + BasDeviceParam bsold = basDeviceParamMapper.selectBasDeviceParam(datetype,"EL",bdp.getDeviceParamCode()); + if(bsold!=null){ + bsold.setIsStatus(bdp.getIsStatus()); + oldbsold.add(bsold); + basDeviceParamMapper.updateById(bsold); + }else{ + BasDeviceParam bdpone = new BasDeviceParam(); + bdpone.setDataType(datetype); //设置数据类型 + bdpone.setIndustry("EL");//设置行业 + bdpone.setParamId(bdp.getDeviceParamCode());//设置参数编码字段 + bdpone.setParamName(bdp.getDeviceParamName());//设置参数名称 + bdpone.setParamUnit(bdp.getDeviceParamUnit());//设置参数单位 + bdpone.setIsStatus(bdp.getIsStatus());//设置参数是否启用 + bdpone.setDeviceId(bs.getDeviceId());//设置设备id + bdpone.setDeviceSiteId(bs.getId());//设置分表计电监测点id + bdpone.setIsOnline(1L); + bdpone.setCreateTime(new Date()); + bdpone.setDeviceType("1"); + bdpone.setFacilityType("1"); + bdpone.setMultiNum(1L); + bdpone.setStandbyNum(1L); + newbdpone.add(bdpone); + basDeviceParamMapper.insert(bdpone); + } + } + } + } + log.info("分表计电----企业id++++++"+factoryId+":=====修改条数"+oldbsold+":=====新增条数"+newbdpone); + /*if(oldbsold.size()>0){ + basDeviceParamMapper.updateByIdList(oldbsold); + } + if(newbdpone.size()>0){ + basDeviceParamMapper.batchInsert(newbdpone); + }*/ + } + } + } + public void findOrInsertOnLine(String factoryId,String paramKey,String datetype){ + //查询企业是否接入分表计电,如果是 则获取分表计电设备 + PcAdslFactory pc = new PcAdslFactory(); + pc.setFactoryId(factoryId); + pc.setAdslCode(paramKey); + List pcAdslFactory = pcAdslFactoryMapper.selectPcAdslFactoryList(pc); + if(pcAdslFactory.size()>0){ + //获取点位信息 + List bdsList = pcOutletMapper.selectOnLinePoints(factoryId,"4"); + log.info("在线监测----企业id++++++"+factoryId+":=====返回list"+bdsList); + //获取参数信息 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("data_type", datetype); + List bdpaList = basDeviceParamAnalyseMapper.selectList(queryWrapper); + String deviceType = "AIR"; + //组装List + if(bdsList.size()>0){ + List oldbsold = new ArrayList<>(); + List newbdpone = new ArrayList<>(); + for(PcOutlet bs:bdsList ){ + if("2".equals(bs.getPollutantOutletType())){ + deviceType = "WATER"; + } + //第一步 先将企业所有的参数置为未启用状态 + basDeviceParamMapper.updateValueParam(bs.getOutletCode(),datetype,deviceType,"0"); + //第二步 处理企业信息 + if(bdpaList.size()>0){ + for(BasDeviceParamAnalyse bdp:bdpaList){ + BasDeviceParam bsold = basDeviceParamMapper.selectBasDeviceParam(datetype,deviceType,bdp.getDeviceParamCode()); + if(bsold!=null){ + bsold.setIsStatus(bdp.getIsStatus()); + basDeviceParamMapper.updateById(bsold); + oldbsold.add(bsold); + }else{ + BasDeviceParam bdpone = new BasDeviceParam(); + bdpone.setDataType(datetype); //设置数据类型 + bdpone.setIndustry(deviceType);//设置行业 + bdpone.setParamId(bdp.getDeviceParamCode());//设置参数编码字段 + bdpone.setParamName(bdp.getDeviceParamName());//设置参数名称 + bdpone.setParamUnit(bdp.getDeviceParamUnit());//设置参数单位 + bdpone.setIsStatus(bdp.getIsStatus());//设置参数是否启用 + bdpone.setDeviceId(bs.getOutletCode());//设置设备id + bdpone.setDeviceSiteId(bs.getId());//设置分表计电监测点id + bdpone.setIsOnline(1L); + bdpone.setCreateTime(new Date()); + bdpone.setDeviceType("1"); + bdpone.setFacilityType("1"); + bdpone.setMultiNum(1L); + bdpone.setStandbyNum(1L); + basDeviceParamMapper.insert(bdpone); + newbdpone.add(bdpone); + } + } + } + } + log.info("在线监测----企业id++++++"+factoryId+":=====修改条数"+oldbsold+":=====新增条数"+newbdpone); + /* if(oldbsold.size()>0){ + basDeviceParamMapper.updateByIdList(oldbsold); + } + if(newbdpone.size()>0){ + basDeviceParamMapper.batchInsert(newbdpone); + }*/ + } + } + } + public void findOrInsertInorganization(String factoryId,String paramKey,String datetype){ + //查询企业是否接入分表计电,如果是 则获取分表计电设备 + PcAdslFactory pc = new PcAdslFactory(); + pc.setFactoryId(factoryId); + pc.setAdslCode(paramKey); + List pcAdslFactory = pcAdslFactoryMapper.selectPcAdslFactoryList(pc); + if(pcAdslFactory.size()>0){ + //获取点位信息 + List bdsList = pcOutletMapper.selectOnLinePoints(factoryId,"3"); + log.info("无组织----企业id++++++"+factoryId+":=====返回list"+bdsList); + //获取参数信息 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("data_type", datetype); + List bdpaList = basDeviceParamAnalyseMapper.selectList(queryWrapper); + //组装List + if(bdsList.size()>0){ + List oldbsold = new ArrayList<>(); + List newbdpone = new ArrayList<>(); + for(PcOutlet bs:bdsList ){ + //第一步 先将企业所有的参数置为未启用状态 + basDeviceParamMapper.updateValueParam(bs.getOutletCode(),datetype,"INORG","0"); + //第二步 处理企业信息 + if(bdpaList.size()>0){ + for(BasDeviceParamAnalyse bdp:bdpaList){ + BasDeviceParam bsold = basDeviceParamMapper.selectBasDeviceParam(datetype,"INORG",bdp.getDeviceParamCode()); + if(bsold!=null){ + bsold.setIsStatus(bdp.getIsStatus()); + basDeviceParamMapper.updateById(bsold); + oldbsold.add(bsold); + }else{ + BasDeviceParam bdpone = new BasDeviceParam(); + bdpone.setDataType(datetype); //设置数据类型 + bdpone.setIndustry("INORG");//设置行业 + bdpone.setParamId(bdp.getDeviceParamCode());//设置参数编码字段 + bdpone.setParamName(bdp.getDeviceParamName());//设置参数名称 + bdpone.setParamUnit(bdp.getDeviceParamUnit());//设置参数单位 + bdpone.setIsStatus(bdp.getIsStatus());//设置参数是否启用 + bdpone.setDeviceId(bs.getOutletCode());//设置设备id + bdpone.setDeviceSiteId(bs.getId());//设置分表计电监测点id + bdpone.setIsOnline(1L); + bdpone.setCreateTime(new Date()); + bdpone.setDeviceType("1"); + bdpone.setFacilityType("1"); + bdpone.setMultiNum(1L); + bdpone.setStandbyNum(1L); + basDeviceParamMapper.insert(bdpone); + newbdpone.add(bdpone); + } + } + } + } + log.info("无组织---企业id++++++"+factoryId+":=====修改条数"+oldbsold+":=====新增条数"+newbdpone); + /*if(oldbsold.size()>0){ + basDeviceParamMapper.updateByIdList(oldbsold); + } + if(newbdpone.size()>0){ + basDeviceParamMapper.batchInsert(newbdpone); + }*/ + } + } + } + + @Override + public List getEmissionTrackingMon(String factoryId, String monitoringPointId, String startTime, + String endTime) { + List datas = new ArrayList<>(); + HpmEmissionTrackingMonVo hetmv = new HpmEmissionTrackingMonVo(); + final String format, dateFormat, pgSqlDateFormat; + DateTime monitoringStartTime, monitoringEndTime; + // 月 + format = "yyyy-MM"; + dateFormat = "yyyy-MM-dd"; + pgSqlDateFormat = "YYYY-MM"; + DateTime parseMonth = DateUtil.parse(endTime, format); + monitoringEndTime = DateUtil.compare(parseMonth, new Date(), format) == 0 ? new DateTime() : DateUtil.endOfMonth(parseMonth); + + monitoringStartTime = DateUtil.parse(startTime, format); + List timeRange = DateUtil.rangeToList(monitoringStartTime, monitoringEndTime, DateField.DAY_OF_MONTH); + final String pgSqlFormat = StringUtils.format("to_char(monitor_time, '{}')", pgSqlDateFormat); + final String[] waterImportantFields = emissionsConstants.getWaterImportantFieldMap().keySet().toArray(new String[0]); + final String[] gasImportantFields = emissionsConstants.getGasImportantFieldMap().keySet().toArray(new String[0]); + + List gasPollEmissionsVos = new ArrayList<>(); + List waterPollEmissionsVos = new ArrayList<>(); + //判断是否查询全部 + if(StringUtils.isEmpty(monitoringPointId)){ + //查询全部 + gasPollEmissionsVos = sRaOnlineEmissionsGasMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), gasImportantFields, null, pgSqlFormat); + + waterPollEmissionsVos = sRaOnlineEmissionsWaterMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + startTime.toString(), endTime.toString(), waterImportantFields, null, pgSqlFormat); + + } else { + //判断monitoringPointId是gas or water + PcOutlet pcOutlet = pcOutletMapper.selectById(monitoringPointId); + if (PollutantTypeEnum.GAS.getCode().contentEquals(pcOutlet.getPollutantType())) { + //gas + gasPollEmissionsVos = sRaOnlineEmissionsGasMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + monitoringStartTime.toString(), monitoringEndTime.toString(), gasImportantFields, null, pgSqlFormat); + } else { + //water + waterPollEmissionsVos = sRaOnlineEmissionsWaterMapper.selectEmissionDataList(factoryId, pgSqlDateFormat, + startTime.toString(), endTime.toString(), waterImportantFields, null, pgSqlFormat); + } + } + datas = handleDatas(gasPollEmissionsVos ,waterPollEmissionsVos); + + return datas; + } + + @Override + public BMainEmissionAndstatusScaleVo selectEmissionAndstatusScale(String regionCode) { + BMainEmissionAndstatusScaleVo bMainEmissionAndstatusScaleVo = new BMainEmissionAndstatusScaleVo(); + List xData = Arrays.asList("0","0.2","0.4","0.6","0.8","1"); + bMainEmissionAndstatusScaleVo.setXData(xData); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + //计算大气和废水数量 + BMainEmissionAndstatusCountVo bMainEmissionAndstatusCountVo = bMainPollDisSelfMonMapper.selectEmissionAndstatus(regionCodes); + //大气 + BigDecimal atmosphere = bMainEmissionAndstatusCountVo.getAtmosphere(); + if(atmosphere.compareTo(new BigDecimal(0)) == 0){ + bMainEmissionAndstatusScaleVo.setActualDischargeAtmosphereScale(new BigDecimal(0)); + bMainEmissionAndstatusScaleVo.setPermissibleDischargeAtmosphereScale(new BigDecimal(0)); + }else{ + //自动监测大气占比 + BigDecimal actualDischargeAtmosphere = bMainEmissionAndstatusCountVo.getActualDischargeAtmosphere(); + BigDecimal actualDischargeAtmosphereScale = actualDischargeAtmosphere.divide(atmosphere,2,BigDecimal.ROUND_HALF_DOWN); + bMainEmissionAndstatusScaleVo.setActualDischargeAtmosphereScale(actualDischargeAtmosphereScale); + //手动监测大气占比 + BigDecimal permissibleDischargeAtmosphere = bMainEmissionAndstatusCountVo.getPermissibleDischargeAtmosphere(); + BigDecimal permissibleDischargeAtmosphereScale = permissibleDischargeAtmosphere.divide(atmosphere,2,BigDecimal.ROUND_HALF_DOWN); + bMainEmissionAndstatusScaleVo.setPermissibleDischargeAtmosphereScale(permissibleDischargeAtmosphereScale); + } + //废水 + BigDecimal water = bMainEmissionAndstatusCountVo.getWater(); + if(water.compareTo(new BigDecimal(0)) == 0){ + bMainEmissionAndstatusScaleVo.setPermissibleDischargeWaterScale(new BigDecimal(0)); + bMainEmissionAndstatusScaleVo.setActualDischargeWaterScale(new BigDecimal(0)); + }else{ + //自动监测废水占比 + BigDecimal actualDischargeWater = bMainEmissionAndstatusCountVo.getActualDischargeWater(); + BigDecimal actualDischargeWaterScale = actualDischargeWater.divide(water,2,BigDecimal.ROUND_HALF_UP); + bMainEmissionAndstatusScaleVo.setActualDischargeWaterScale(actualDischargeWaterScale); + //手动监测废水占比 + BigDecimal permissibleDischargeWater = bMainEmissionAndstatusCountVo.getPermissibleDischargeWater(); + BigDecimal permissibleDischargeWaterScale = permissibleDischargeWater.divide(water,2,BigDecimal.ROUND_HALF_UP); + bMainEmissionAndstatusScaleVo.setPermissibleDischargeWaterScale(permissibleDischargeWaterScale); + } + return bMainEmissionAndstatusScaleVo; + } + + private List handleDatas(List gasList, List waterList){ + List datas = new ArrayList<>(); + HpmEmissionTrackingMonVo hetmv = new HpmEmissionTrackingMonVo(); + if (!gasList.isEmpty()) { + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("SO₂"); + hetmv.setUnit("kg"); + hetmv.setXData(gasList.stream().map(GasPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(gasList.stream().map(GasPollEmissionsVO::getSo2Emissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("NOx"); + hetmv.setUnit("kg"); + hetmv.setXData(gasList.stream().map(GasPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(gasList.stream().map(GasPollEmissionsVO::getNoxEmissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("PM"); + hetmv.setUnit("kg"); + hetmv.setXData(gasList.stream().map(GasPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(gasList.stream().map(GasPollEmissionsVO::getPmEmissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("VOCs"); + hetmv.setUnit("kg"); + hetmv.setXData(gasList.stream().map(GasPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(gasList.stream().map(GasPollEmissionsVO::getVocsEmissions).collect(Collectors.toList())); + datas.add(hetmv); + } + if (!waterList.isEmpty()) { + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("COD"); + hetmv.setUnit("kg"); + hetmv.setXData(waterList.stream().map(WaterPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(waterList.stream().map(WaterPollEmissionsVO::getCodEmissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("氨氮"); + hetmv.setUnit("kg"); + hetmv.setXData(waterList.stream().map(WaterPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(waterList.stream().map(WaterPollEmissionsVO::getAmmoniaNitrogenEmissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("总氮"); + hetmv.setUnit("kg"); + hetmv.setXData(waterList.stream().map(WaterPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(waterList.stream().map(WaterPollEmissionsVO::getTotalNitrogenEmissions).collect(Collectors.toList())); + datas.add(hetmv); + + hetmv = new HpmEmissionTrackingMonVo(); + hetmv.setName("总磷"); + hetmv.setUnit("kg"); + hetmv.setXData(waterList.stream().map(WaterPollEmissionsVO::getGroupByField).collect(Collectors.toList())); + hetmv.setYData(waterList.stream().map(WaterPollEmissionsVO::getTotalPhosphorusEmissions).collect(Collectors.toList())); + datas.add(hetmv); + } + return datas; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/KeyEmittingIndustryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/KeyEmittingIndustryServiceImpl.java new file mode 100644 index 0000000..cce1c2c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/KeyEmittingIndustryServiceImpl.java @@ -0,0 +1,474 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.HomePageMapService; +import cn.cecep.talroad.service.KeyEmittingIndustryService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.homepage.HpmCompanyOverviewVo; +import cn.cecep.talroad.vo.homepage.HpmEnvironmentOverviewVo; +import cn.cecep.talroad.vo.homepage.HpmMeriRatingOverviewVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author changyw + * @date 2023/2/22 + */ +@Service +public class KeyEmittingIndustryServiceImpl implements KeyEmittingIndustryService { + + @Autowired + private HomePageMapService homePageMapService; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private BMainHazardousWasteOutputMapper wasteOutputMapper; + + @Autowired + private BMainMobileEnforcementMapper mobileEnforcementMapper; + + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Autowired + private SEnvWaterMonRealMapper sEnvWaterMonRealMapper; + + @Autowired + private BMainHazardousWasteOutputMapper hazardousWasteOutputMapper; + + @Autowired + private STaskYieldTrendMapper sTaskYieldTrendMapper; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Override + @Cacheable(cacheNames = "IndustryCompanyOverview", key = "(#industry ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public IndustryCompanyOverviewVo selectIndustryCompanyOverview(String industry, String regionCode) { + IndustryCompanyOverviewVo industryCompanyOverviewVo = new IndustryCompanyOverviewVo(); + HpmCompanyOverviewVo selectCompanyOverview = homePageMapService.selectCompanyOverview(industry,regionCode); + + industryCompanyOverviewVo.setOverviewPollutingUnits(selectCompanyOverview.getOverviewPollutingUnits()); + industryCompanyOverviewVo.setOverviewPollutingEmphasis(selectCompanyOverview.getOverviewPollutingEmphasis()); + industryCompanyOverviewVo.setOverviewUltraLowEmissionsUnit(""); + + industryCompanyOverviewVo.setOverviewKeyManagement(selectCompanyOverview.getOverviewKeyManagement()); + industryCompanyOverviewVo.setOverviewSimplifyManagement(selectCompanyOverview.getOverviewSimplifyManagement()); + industryCompanyOverviewVo.setOverviewRegisterManagement(selectCompanyOverview.getOverviewRegisterManagement()); + + industryCompanyOverviewVo.setWaterMainOutlet(selectCompanyOverview.getWaterMainOutlet()); + industryCompanyOverviewVo.setWaterAutoOutlet(""); + industryCompanyOverviewVo.setAirMainOutlet(selectCompanyOverview.getAirMainOutlet()); + industryCompanyOverviewVo.setAirAutoOutlet(""); + return industryCompanyOverviewVo; + } + + + public HpmMeriRatingOverviewVo selectMeritRatingOverview(String industry,String regionCode) { + return homePageMapService.selectMeritRatingOverview(industry,regionCode); + } + + + public HpmEnvironmentOverviewVo selectOnvironmentOverview(String industry,String regionCode) { + return homePageMapService.selectOnvironmentOverview(industry,regionCode); + } + + @Override + @Cacheable(cacheNames = "IndustryEmissionTrackingOverview", key = "((#industry + ':' + #emissionType) ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public List selectIndustryEmissionTrackingOverviewVo(String emissionType, String industry, String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + + String dataSource = StringUtils.equals(emissionType, "1") ? "执行报告" : "系统核算"; + + // 按行业分组,统计大气监测物的排放量、排名等 + List airIndustryRanks = pcFactoryMapper.selectAirEmissionIndustryRank(dataSource, regionCodes); + + // 按行业分组,统计水的监测物的排放量、排名等 + List waterIndustryRanks = pcFactoryMapper.selectWaterEmissionIndustryRank(dataSource, regionCodes); + + List industryEmissionTrackingOverviewVos = new ArrayList<>(); + + BMainEmissionPollutionAirVo.IndustryRank airRank = airIndustryRanks.stream() + .filter(o -> o.getIndustryCategory().equals(industry)).findFirst().orElse(null); + if (airRank == null) { + airRank = new BMainEmissionPollutionAirVo.IndustryRank(); + } + IndustryEmissionTrackingOverviewVo so2 = new IndustryEmissionTrackingOverviewVo(); + so2.setPollName("SO₂"); + so2.setEmissionsActual(airRank.getSo2Actually()); + so2.setEmissionsPermit(airRank.getSo2Allowable()); + so2.setCalculate(airRank.getSo2Ratio()); + so2.setEmissionsActualRatio(airRank.getSo2Ratio()); + so2.setRank(airRank.getSo2Rank()); + + IndustryEmissionTrackingOverviewVo pm = new IndustryEmissionTrackingOverviewVo(); + pm.setPollName("颗粒物"); + pm.setEmissionsActual(airRank.getPmActually()); + pm.setEmissionsPermit(airRank.getPmAllowable()); + pm.setCalculate(airRank.getPmRatio()); + pm.setEmissionsActualRatio(airRank.getPmRatio()); + pm.setRank(airRank.getPmRank()); + + IndustryEmissionTrackingOverviewVo vocs = new IndustryEmissionTrackingOverviewVo(); + vocs.setPollName("VOCs"); + vocs.setEmissionsActual(airRank.getVocsActually()); + vocs.setEmissionsPermit(airRank.getVocsAllowable()); + vocs.setCalculate(airRank.getVocsRatio()); + vocs.setEmissionsActualRatio(airRank.getVocsRatio()); + vocs.setRank(airRank.getVocsRank()); + + IndustryEmissionTrackingOverviewVo nox = new IndustryEmissionTrackingOverviewVo(); + nox.setPollName("NOₓ"); + nox.setEmissionsActual(airRank.getNoxActually()); + nox.setEmissionsPermit(airRank.getNoxAllowable()); + nox.setCalculate(airRank.getNoxRatio()); + nox.setEmissionsActualRatio(airRank.getNoxRatio()); + nox.setRank(airRank.getNoxRank()); + + industryEmissionTrackingOverviewVos.add(so2); + industryEmissionTrackingOverviewVos.add(pm); + industryEmissionTrackingOverviewVos.add(vocs); + industryEmissionTrackingOverviewVos.add(nox); + + + BMainEmissionPollutionWaterVo.IndustryRank waterRank = waterIndustryRanks.stream() + .filter(o -> o.getIndustryCategory().equals(industry)).findFirst().orElse(null); + if (waterRank == null) { + waterRank = new BMainEmissionPollutionWaterVo.IndustryRank(); + } + IndustryEmissionTrackingOverviewVo cod = new IndustryEmissionTrackingOverviewVo(); + cod.setPollName("COD"); + cod.setEmissionsActual(waterRank.getCodActually()); + cod.setEmissionsPermit(waterRank.getCodAllowable()); + cod.setCalculate(waterRank.getCodRatio()); + cod.setEmissionsActualRatio(waterRank.getCodRatio()); + cod.setRank(waterRank.getCodRank()); + + IndustryEmissionTrackingOverviewVo nhh = new IndustryEmissionTrackingOverviewVo(); + nhh.setPollName("总氮"); + nhh.setEmissionsActual(waterRank.getNhhActually()); + nhh.setEmissionsPermit(waterRank.getNhhAllowable()); + nhh.setCalculate(waterRank.getNhhRatio()); + nhh.setEmissionsActualRatio(waterRank.getNhhRatio()); + nhh.setRank(waterRank.getNhhRank()); + + IndustryEmissionTrackingOverviewVo tp = new IndustryEmissionTrackingOverviewVo(); + tp.setPollName("总磷"); + tp.setEmissionsActual(waterRank.getTpActually()); + tp.setEmissionsPermit(waterRank.getTpAllowable()); + tp.setCalculate(waterRank.getTpRatio()); + tp.setEmissionsActualRatio(waterRank.getTpRatio()); + tp.setRank(waterRank.getTpRank()); + + IndustryEmissionTrackingOverviewVo tn = new IndustryEmissionTrackingOverviewVo(); + tn.setPollName("氨氮"); + tn.setEmissionsActual(waterRank.getTnActually()); + tn.setEmissionsPermit(waterRank.getTnAllowable()); + tn.setCalculate(waterRank.getTnRatio()); + tn.setEmissionsActualRatio(waterRank.getTnRatio()); + tn.setRank(waterRank.getTnRank()); + + industryEmissionTrackingOverviewVos.add(cod); + industryEmissionTrackingOverviewVos.add(nhh); + industryEmissionTrackingOverviewVos.add(tp); + industryEmissionTrackingOverviewVos.add(tn); + + industryEmissionTrackingOverviewVos.parallelStream() + .forEach(industryEmissionTrackingOverviewVo -> { + String pollName = industryEmissionTrackingOverviewVo.getPollName(); + DistributionOfMajorEmittersVo majorEmittersVo = homePageMapService.selectRankingStat(pollName,regionCode); + List> industryEmissionsCount = majorEmittersVo.getIndustryEmissionsCount(); + + String num = industryEmissionsCount.stream() + .filter(x -> StringUtils.equals(String.valueOf(x.get("code")), industry)) + .findFirst() + .orElse(new HashMap<>()) + .getOrDefault("num", 0) + .toString(); + industryEmissionTrackingOverviewVo.setMajorEmittersInTheIndustryNumber(Integer.parseInt(num)); + }); + return industryEmissionTrackingOverviewVos; + } + + @Override + public List selectProductionAndDisposalOfIndustrialHazardousWaste(String industry, String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + List hazardousWasteVos = wasteOutputMapper.selectTop5WasteByIndustry(industry,regionCodes); + + for (IndustrialHazardousWasteVo hazardousWasteVo : hazardousWasteVos) { + DistributionOfMajorEmittersVo distributionOfMajorEmittersVo = homePageMapService.selectRankingStat(hazardousWasteVo.getMaterialsCode(), regionCode); + List> industryEmissionsCount = distributionOfMajorEmittersVo.getIndustryEmissionsCount(); + if(industryEmissionsCount!=null) { + String num = industryEmissionsCount.stream() + .filter(x -> StringUtils.equals(String.valueOf(x.get("code")), industry)) + .findFirst() + .orElse(new HashMap<>()) + .getOrDefault("num", 0) + .toString(); + hazardousWasteVo.setMajorEmittersInTheIndustryNumber(num); + } + } + + return hazardousWasteVos; + } + + @Override + @Cacheable(cacheNames = "IndustryPollutantDischargeTrends", key = "((#industry + ':' + #pollutantCategory) ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public EChartsVO selectIndustryPollutantDischargeTrends(String pollutantCategory, String industry, String regionCode) { + EChartsVO eChartsVO = new EChartsVO(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + DateTime nowDateTime = new DateTime(); + DateTime monitoringStartTime = DateUtil.offsetMonth(nowDateTime, -11); + List dateMonthList = CollUtil.map(DateUtil.rangeToList(monitoringStartTime, nowDateTime, DateField.MONTH), x -> DateUtil.format(x,"yyyy-MM"), true); + eChartsVO.setXData(dateMonthList); + + switch (pollutantCategory) { + case "0": + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "二氧化硫"); + put("prop", "so2Emission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "氮氧化物"); + put("prop", "noxEmission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "颗粒物"); + put("prop", "pmEmission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "VOCs"); + put("prop", "vocsEmission"); + put("unit", "kg"); + }}); + + List sEnvGasMonRealVos = sEnvGasMonRealMapper.selectSEnvGasMonRealListGroupByYear(monitoringStartTime.toString(), nowDateTime.toString(), industry,regionCodes); + + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setUnit(item.get("unit") == null ? "" : item.get("unit")); + List values = sEnvGasMonRealVos.stream().map(o -> BeanUtil.getProperty(o, item.get("prop"))).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + eChartsVO.setSeries(series); + break; + case "1": + items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "化学需氧量"); + put("prop", "codEmission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "氨氮"); + put("prop", "ammoniaNitrogenEmission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总氮"); + put("prop", "nitrogenConcentrationEmission"); + put("unit", "kg"); + }}); + items.add(new HashMap() {{ + put("name", "总磷"); + put("prop", "phosphorusConcentrationEmission"); + put("unit", "kg"); + }}); + + List sEnvWaterMonRealVos = sEnvWaterMonRealMapper.selectSEnvWaterMonRealListGroupByYear(monitoringStartTime.toString(), nowDateTime.toString(), industry,regionCodes); + + series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setUnit(item.get("unit") == null ? "" : item.get("unit")); + List values = sEnvWaterMonRealVos.stream().map(o -> BeanUtil.getProperty(o, item.get("prop"))).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + eChartsVO.setSeries(series); + + break; + case "2": + List industrialHazardousWasteVos = hazardousWasteOutputMapper.selectWasteListGroupByIndustry(monitoringStartTime.year() + "", nowDateTime.year() + "", monitoringStartTime.month() + "", nowDateTime.month() + "", industry,regionCodes); + + series = industrialHazardousWasteVos.stream() + .map(IndustrialHazardousWasteVo::getMaterialsName) + .distinct() + .map(materialsName -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(materialsName); + ser.setUnit("吨"); + + float[] values = new float[dateMonthList.size()]; + + industrialHazardousWasteVos.stream().filter(o -> StringUtils.equals(o.getMaterialsName(), materialsName)) + .forEach(o -> { + int i = dateMonthList.indexOf(o.getParticularYear() + "-" + (o.getParticularMonth().length() == 2 ? o.getParticularMonth() : ("0" + o.getParticularMonth()))); + if (i >= 0) { + values[i] = Float.parseFloat(o.getMaterialsUse()); + } + }); + + ser.setValues(Arrays.asList(values)); + return ser; + }) + .collect(Collectors.toList()); + eChartsVO.setSeries(series); + break; + default: + break; + } + return eChartsVO; + } + + @Override + @Cacheable(cacheNames = "IndustryProductOutputTrends", key = "(#industry ?: 'ALL')+(#regionCode ?:'ALL')", sync = true) + public EChartsVO selectIndustryProductOutputTrends(String industry, String regionCode) { + EChartsVO eChartsVO = new EChartsVO(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + DateTime nowDateTime = new DateTime(); + DateTime monitoringStartTime = DateUtil.offsetMonth(nowDateTime, -11); + String dateFormat = "yyyy-MM"; + List dateMonthList = CollUtil.map(DateUtil.rangeToList(monitoringStartTime, nowDateTime, DateField.MONTH), x -> DateUtil.format(x, dateFormat), true); + eChartsVO.setXData(dateMonthList); + + List sTaskYieldTrends = sTaskYieldTrendMapper.selectMonthListGroupByIndustry(industry, DateUtils.parseFormatDate(dateFormat, monitoringStartTime), DateUtils.parseFormatDate(dateFormat,nowDateTime),regionCodes); + + Map> collect1 = sTaskYieldTrends.stream() + .collect(Collectors.groupingBy(STaskYieldTrendVo::getDictCode, + Collectors.collectingAndThen(Collectors.toList(), + a -> a.stream().sorted(Comparator.comparing(STaskYieldTrendVo::getDataTime)).collect(Collectors.toList())))); + + List collect = collect1.entrySet().stream() + .map(entry -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(CollUtil.getFirst(entry.getValue().iterator()).getSmall()); + ser.setUnit(CollUtil.getFirst(entry.getValue().iterator()).getUnit()); + + List values = dateMonthList.stream() + .map(dataTime -> CollUtil.findOneByField(entry.getValue(), "dataTime", dataTime)) + .map(x -> Objects.isNull(x) ? null : x.getNumber().setScale(4, RoundingMode.HALF_UP)) + .collect(Collectors.toList()); + ser.setValues(values); + return ser; + }) + .collect(Collectors.toList()); + + eChartsVO.setSeries(collect); + return eChartsVO; + } + + @Override + @Cacheable(cacheNames = "Top10CompaniesWithPollutantEmissionsInTheIndustry", key = "((#industry + ':' + #pollutantType) ?: 'ALL')+(#regionCode?:'ALL')", sync = true) + public List selectTop10CompaniesWithPollutantEmissionsInTheIndustry(String pollutantType, String industry, String regionCode) { + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + List emissionsTop10Vos = pcFactoryMapper.selectTop10CompaniesWithPollutantEmissionsInTheIndustry(industry, pollutantType,regionCodes); + + BigDecimal max = emissionsTop10Vos.stream().map(IndustryPollutantEmissionsTop10Vo::getEmissions).reduce(BigDecimal.ZERO, BigDecimal::max); + if (max.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal emissions95 = max.multiply(BigDecimal.valueOf(0.95)).setScale(4, RoundingMode.HALF_UP); + emissionsTop10Vos + .forEach(x -> { + BigDecimal emissions = x.getEmissions(); + if (emissions.compareTo(emissions95) >= 0) { + x.setIsBigEmitter(1); + } + }); + } + + return emissionsTop10Vos; + } + + @Override + public EChartsVO selectLawEnforcementStatistics(String industry) { + EChartsVO eChartsVO = new EChartsVO(); + List dateMonthList = CollUtil.map(DateUtil.rangeToList(DateUtil.offsetMonth(new Date(), -5), new DateTime(), DateField.MONTH), x -> DateUtil.format(x,"yyyy-MM"), true); + eChartsVO.setXData(dateMonthList); + + List items = Lists.newArrayList("双随机", "企业核查", "无问题", "立行立改", "拟立案处罚"); + + List> searchResult = mobileEnforcementMapper.selectLawEnforcementStatistics(industry); + Map>> searchGroup = searchResult.stream() + .collect(Collectors.groupingBy(x -> x.get("monthrange").toString())); + + HashMap defaultValueMap = Maps.newHashMap(); + defaultValueMap.put("count", 0); + + List collect = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item); + List values = dateMonthList.stream().map(dateMonth -> { + List> hashMaps = searchGroup.getOrDefault(dateMonth, Lists.newArrayList()); + Optional> first = hashMaps.stream().filter(hashMap -> hashMap.get("tasktype").equals(item)).findFirst(); + + return first.orElse(defaultValueMap).get("count"); + }).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + eChartsVO.setSeries(collect); + eChartsVO.setName("执法情况统计"); + return eChartsVO; + } + + @Override + public EChartsVO selectIndustryPollutantTreatmentProcess(String industry) { + return new EChartsVO(); + } + + @Override + public List selectLawEnforcementPieStatistics(Map map) { + List data = mobileEnforcementMapper.selectLawEnforcementPieStatistics(map); + return data; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/LeaderCockpitService.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/LeaderCockpitService.java new file mode 100644 index 0000000..7e3db5b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/LeaderCockpitService.java @@ -0,0 +1,190 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingOther; +import cn.cecep.talroad.domain.leader.vo.*; +import cn.cecep.talroad.mapper.LeaderCockpitMapper; +import cn.cecep.talroad.mapper.effective.PcNationalCityRankingOtherMapper; +import cn.cecep.talroad.vo.EChartsVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalUnit; +import java.util.*; +import java.util.concurrent.TimeUnit; + +/** + * 领导驾驶舱服务层 + */ +@Service +@Slf4j +public class LeaderCockpitService { + + @Resource + private LeaderCockpitMapper leaderCockpitMapper; + + @Autowired + private PcNationalCityRankingOtherMapper pcNationalCityRankingOtherMapper; + + /** + * 地图站点类型复选展示 + * @return + */ + public AjaxResults> stationTypeList(){ + return AjaxResults.success(leaderCockpitMapper.selectStationTypeList()); + } + + /** + * 地图上方三个数量展示 + * @return + */ + public AjaxResults MapUpCount(){ + return AjaxResults.success(leaderCockpitMapper.selectMapUpCount()); + } + + /** + * 获取融合数据所有数量的接口 + * @return + */ + public AjaxResults getFusionCountData(){ + FusionCountDataVO fusionCountDataVO = new FusionCountDataVO(); + fusionCountDataVO.setDatabaseDataCount(leaderCockpitMapper.getDatabaseDataCount()); + fusionCountDataVO.setFactoryManTypeCount(leaderCockpitMapper.getFactoryManTypeCount()); + fusionCountDataVO.setFactoryDataTypeCount(leaderCockpitMapper.getFactoryDataTypeCount()); + fusionCountDataVO.setDeviceCount(leaderCockpitMapper.selectDeviceCount()); + fusionCountDataVO.setOutletCount(leaderCockpitMapper.selectOutletCount()); + return AjaxResults.success(fusionCountDataVO); + } + + /** + * 关联分析数据接口 + * @param problemId 二级分类筛选的时候进行查询展示 + * @return + */ + public AjaxResults getProblemDataCount(String problemId) { + ProblemDataCountVO problemDataCountVO = new ProblemDataCountVO(); + problemDataCountVO.setProblemTypeCountVO(leaderCockpitMapper.selectProblemTypeCount()); + problemDataCountVO.setProblemDoingCountVO(leaderCockpitMapper.selectProblemDoingCount()); + problemDataCountVO.setLevelOneGroupCount(leaderCockpitMapper.selectProblemOneLevelGroupCount()); + problemDataCountVO.setLevelTwoGroupCount(leaderCockpitMapper.selectProblemTwoLevelGroupCount(problemId)); + return AjaxResults.success(problemDataCountVO); + } + + /** + * 三屏联动 + * @return + */ + public AjaxResults getThreeMonitorData() { + ThreeMonitorCountVO threeMonitorCountVO = new ThreeMonitorCountVO(); + threeMonitorCountVO.setTaskCountVO(new TaskCountVO(66,"50",22,22,22,33,20,8,5)); + threeMonitorCountVO.setQuestionCountVO(new QuestionCountVO(50,"53.4",90,"28")); + List top10CountVOList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + QuestionTop10CountVO questionTop10CountVO = new QuestionTop10CountVO(); + questionTop10CountVO.setQuestionName("问题"+Math.abs(new Random().nextInt())%100); + questionTop10CountVO.setQuestionCount(Math.abs(new Random().nextInt())%100+(10-i)); + top10CountVOList.add(questionTop10CountVO); + } + threeMonitorCountVO.setQuestionTop10CountVO(top10CountVOList); + return AjaxResults.success(threeMonitorCountVO); + } + + /** + * 监督执法 + * @return + */ + public AjaxResults getMonitorEnforcementData(Integer selectType) { + int rateNum = 100; + if(selectType != null && selectType.compareTo(1) == 0){ + rateNum = 50; + } + MonitorEnforcementCountVO monitorEnforcementCountVO = new MonitorEnforcementCountVO(); + RegulatoryCapacityCountVO regulatoryCapacityCountVO = new RegulatoryCapacityCountVO(); + regulatoryCapacityCountVO.setImplementPersonCount(20); + regulatoryCapacityCountVO.setImplementCarCount(5); + regulatoryCapacityCountVO.setImplementClientCount(15); + EChartsVO eChartsVO = new EChartsVO(); + List strings = Arrays.asList("丰润区", "丰南区", "古冶区", "曹妃甸区", "开平区", "玉田县", "迁安市", "滦州市", "遵化市", "乐亭县"); + List xTypes = Arrays.asList("监管企业", "执法人员", "人均监管"); + eChartsVO.setLegendData(strings); + List seriesObjList = new ArrayList<>(); + for (int i = 0; i < 3; i++) { + EChartsVO.SeriesObj seriesObj = new EChartsVO.SeriesObj(); + List listValue = new ArrayList<>(); + for (int j = 0; j < strings.size(); j++) { + listValue.add(Math.abs(new Random().nextInt())%rateNum); + } + seriesObj.setValues(listValue); + seriesObj.setName(xTypes.get(i)); + seriesObjList.add(seriesObj); + } + eChartsVO.setSeries(seriesObjList); + regulatoryCapacityCountVO.setCountData(eChartsVO); + monitorEnforcementCountVO.setRegulatoryCapacityCountVO(regulatoryCapacityCountVO); + monitorEnforcementCountVO.setMonitorTaskCountVO(new MonitorTaskCountVO(55,37,41,65)); + monitorEnforcementCountVO.setFactoryColorTagCountVO(new FactoryColorTagCountVO(100,20,32,48)); + List list = new ArrayList<>(); + for (int i = 0; i < strings.size(); i++) { + AreaTaskCountVO areaTaskCountVO = new AreaTaskCountVO(); + areaTaskCountVO.setAreaName(strings.get(i)); + areaTaskCountVO.setEnforcementCount(Math.abs(new Random().nextInt())%rateNum); + areaTaskCountVO.setEnforcementPersonCount(Math.abs(new Random().nextInt())%rateNum); + areaTaskCountVO.setQuestionCount(Math.abs(new Random().nextInt())%rateNum); + list.add(areaTaskCountVO); + } + monitorEnforcementCountVO.setAreaTaskCountVO(list); + return AjaxResults.success(monitorEnforcementCountVO); + } + + public AjaxResults getAirData() { + + AirDataVO airDataVO = new AirDataVO(); + AirQualityDataVO cityAirQualityData = leaderCockpitMapper.getCityAirQualityData(); + + // 排名用年数据 + PcNationalCityRankingOther cityRankingOther = pcNationalCityRankingOtherMapper.selectOne(new QueryWrapper() + .select("index_337", "index_168", "index_province_city") + .eq("date_type", "Y") + .eq("\"cityName\"", "唐山市") + .orderByDesc("date_time", "id") + .last("limit 1") + ); + if (cityAirQualityData != null && cityRankingOther != null) { + cityAirQualityData.setIndex337(cityRankingOther.getIndex337()); + cityAirQualityData.setIndex168(cityRankingOther.getIndex168()); + cityAirQualityData.setIndexProvinceCity(cityRankingOther.getIndexProvinceCity()); + } + + airDataVO.setAirQualityDataVO(cityAirQualityData); + List airForecastDataVOList = new ArrayList<>(); + for (int i = 0; i < 3; i++) { + String[] pollutantArray = {"Pm2.5","Pm10","So2","CO","NO","O3"}; + String[] pollutantLevelArray = {"优","良","中","差"}; + String timeFormat = LocalDateTime.now().plus(i, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00")); + AirForecastDataVO airForecastDataVO = new AirForecastDataVO(); + airForecastDataVO.setForecastDate(timeFormat); + airForecastDataVO.setAqiMax(""+(Math.abs(new Random().nextInt())%20+30)); + airForecastDataVO.setAqiMin(""+(Math.abs(new Random().nextInt())%20+10)); + airForecastDataVO.setPrimaryPollutant(pollutantArray[Math.abs(new Random().nextInt())%pollutantArray.length]); + int indexLevel = Math.abs(new Random().nextInt())%pollutantLevelArray.length; + airForecastDataVO.setLevelNameMin(pollutantLevelArray[indexLevel]); + airForecastDataVO.setLevelNameMax(pollutantLevelArray[indexLevel+1>=pollutantLevelArray.length?indexLevel:indexLevel+1]); + airForecastDataVOList.add(airForecastDataVO); + } + airDataVO.setAirForecastData(airForecastDataVOList); + PolluteControlDataVO polluteControlDataVO = new PolluteControlDataVO(); + polluteControlDataVO.setYearEmergencyControlCount(Math.abs(new Random().nextInt())%10); + polluteControlDataVO.setDetectFactoryQuestionCount(Math.abs(new Random().nextInt())%50); + polluteControlDataVO.setQuestionList(Arrays.asList(new DetectFactoryQuestionVO("迁安中化煤化工有限责任公司",Math.abs(new Random().nextInt())%20), + new DetectFactoryQuestionVO("华润电力唐山丰润有限公司",Math.abs(new Random().nextInt())%20), + new DetectFactoryQuestionVO("唐山文丰特钢有限公司",Math.abs(new Random().nextInt())%20))); + airDataVO.setPolluteControlData(polluteControlDataVO); + return AjaxResults.success(airDataVO); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmDoorMonitorAccountFiServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmDoorMonitorAccountFiServiceImpl.java new file mode 100644 index 0000000..f625d01 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmDoorMonitorAccountFiServiceImpl.java @@ -0,0 +1,10 @@ +package cn.cecep.talroad.service.impl; + + +import cn.cecep.talroad.service.MAmDoorMonitorAccountFiService; +import org.springframework.stereotype.Service; + +@Service +public class MAmDoorMonitorAccountFiServiceImpl implements MAmDoorMonitorAccountFiService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoCoordinateOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoCoordinateOperationLogServiceImpl.java new file mode 100644 index 0000000..a419b42 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoCoordinateOperationLogServiceImpl.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.mapper.MAmVideoCoordinateOperationLogMapper; +import cn.cecep.talroad.service.IMAmVideoCoordinateOperationLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +/** + * 视频监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +@Slf4j +public class MAmVideoCoordinateOperationLogServiceImpl extends ServiceImpl implements IMAmVideoCoordinateOperationLogService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoDevFiServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoDevFiServiceImpl.java new file mode 100644 index 0000000..a30a8e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MAmVideoDevFiServiceImpl.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.mapper.MAmVideoDevFiMapper; +import cn.cecep.talroad.service.IMAmVideoCoordinateOperationLogService; +import cn.cecep.talroad.service.IMAmVideoDevFiService; +import cn.cecep.talroad.vo.MAmVideoDevFiVo; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + + +/** + * 基础信息 与 产治排跟踪--视频设施清单Service业务层处理 + * + * @author szhpt + * @date 2023-02-10 + */ +@Service +public class MAmVideoDevFiServiceImpl extends ServiceImpl implements IMAmVideoDevFiService { + @Autowired + private MAmVideoDevFiMapper mAmVideoDevFiMapper; + @Autowired + private IMAmVideoCoordinateOperationLogService imAmVideoCoordinateOperationLogService; + + /** + * 查询基础信息 与 产治排跟踪--视频设施清单列表 + * + * @param mAmVideoDevFi 基础信息 与 产治排跟踪--视频设施清单 + * @return 基础信息 与 产治排跟踪--视频设施清单 + */ + @Override + public List selectMAmVideoDevFiList(MAmVideoDevFi mAmVideoDevFi) { + return mAmVideoDevFiMapper.selectMAmVideoDevFiList(mAmVideoDevFi); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void editBatch(MAmVideoDevFiVo[] mAmVideoDevFiVoArr) { + List mAmVideoDevFiVoList = Arrays.asList(mAmVideoDevFiVoArr); + //赋值 + List mAmVideoDevFiList = new ArrayList<>(); + mAmVideoDevFiVoList.forEach(e -> { + MAmVideoDevFi mAmVideoDevFi = new MAmVideoDevFi(); + BeanUtil.copyProperties(e, mAmVideoDevFi); + mAmVideoDevFiList.add(mAmVideoDevFi); + }); + + + //记录操作日志 + List mAmVideoCoordinateOperationLogList = new ArrayList<>(); + mAmVideoDevFiList.forEach(e -> { + MAmVideoCoordinateOperationLog mAmVideoCoordinateOperationLog = new MAmVideoCoordinateOperationLog(); + + MAmVideoDevFi mAmVideoDevFi = mAmVideoDevFiMapper.selectById(e.getId()); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + mAmVideoCoordinateOperationLog.setLogId(uuid); + mAmVideoCoordinateOperationLog.setFactoryId(mAmVideoDevFi.getFactoryId()); + mAmVideoCoordinateOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + mAmVideoCoordinateOperationLog.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + mAmVideoCoordinateOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + mAmVideoCoordinateOperationLog.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + mAmVideoCoordinateOperationLog.setVideoStationName(mAmVideoDevFi.getDevName()); + mAmVideoCoordinateOperationLog.setBeforeModifyLag(mAmVideoDevFi.getLatMap()); + mAmVideoCoordinateOperationLog.setBeforeModifyLng(mAmVideoDevFi.getLonMap()); + mAmVideoCoordinateOperationLog.setVideoChannel(mAmVideoDevFi.getChannelId()); + mAmVideoCoordinateOperationLog.setAfterModifyLag(e.getLatMap()); + mAmVideoCoordinateOperationLog.setAfterModifyLng(e.getLonMap()); + mAmVideoCoordinateOperationLogList.add(mAmVideoCoordinateOperationLog); + + }); + mAmVideoDevFiMapper.updateBatchCoordinate(mAmVideoDevFiVoList); + imAmVideoCoordinateOperationLogService.saveBatch(mAmVideoCoordinateOperationLogList); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlHourServiceImpl.java new file mode 100644 index 0000000..a3720f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevBlHour; +import cn.cecep.talroad.mapper.MonDevBlHourMapper; +import cn.cecep.talroad.service.IMonDevBlHourService; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-玻璃-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevBlHourServiceImpl extends ServiceImpl implements IMonDevBlHourService +{ + @Autowired + private MonDevBlHourMapper monDevBlHourMapper; + + /** + * 查询设备数据-玻璃-小时 保存设备的小时数据列表 + * + * @param monDevBlHour 设备数据-玻璃-小时 保存设备的小时数据 + * @return 设备数据-玻璃-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevBlHourList(MonDevBlHour monDevBlHour) + { + return monDevBlHourMapper.selectMonDevBlHourList(monDevBlHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlOtherServiceImpl.java new file mode 100644 index 0000000..a43675a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevBlOther; +import cn.cecep.talroad.mapper.MonDevBlOtherMapper; +import cn.cecep.talroad.service.IMonDevBlOtherService; +import cn.cecep.talroad.vo.MonDevBlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevBlOtherServiceImpl extends ServiceImpl implements IMonDevBlOtherService +{ + @Autowired + private MonDevBlOtherMapper monDevBlOtherMapper; + + /** + * 查询设备数据-玻璃-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevBlOther 设备数据-玻璃-其它时间 保存设备的小时以上的数据 + * @return 设备数据-玻璃-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevBlOtherList(MonDevBlOther monDevBlOther) + { + return monDevBlOtherMapper.selectMonDevBlOtherList(monDevBlOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlRealServiceImpl.java new file mode 100644 index 0000000..98a9030 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevBlRealServiceImpl.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.mapper.MonDevBlRealMapper; +import cn.cecep.talroad.service.IMonDevBlRealService; +import cn.cecep.talroad.vo.MonDevBlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; +import java.util.Date; + + + +/** + * 设备数据-玻璃-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevBlRealServiceImpl extends ServiceImpl implements IMonDevBlRealService +{ + @Autowired + private MonDevBlRealMapper monDevBlRealMapper; + + /** + * 查询设备数据-玻璃-实时 保存设备的实时数据列表 + * + * @param monDevBlReal 设备数据-玻璃-实时 保存设备的实时数据 + * @return 设备数据-玻璃-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevBlRealList(MonDevBlReal monDevBlReal) + { + return monDevBlRealMapper.selectMonDevBlRealList(monDevBlReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + + @Override + public List selectLatestByParams(String industry,String deviceType,Date lastDate,Date currDate) { + return monDevBlRealMapper.selectLatestByParams(industry,deviceType,lastDate,currDate); + } + + @Override + public List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd) { + return monDevBlRealMapper.selectAvgPhByParams(lastDayBegin,lastDayEnd); + } + + @Override + public List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevBlRealMapper.selectPumpStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevBlRealMapper.selectAvgTempByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevBlRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlHourServiceImpl.java new file mode 100644 index 0000000..44a9051 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevDlHour; +import cn.cecep.talroad.mapper.MonDevDlHourMapper; +import cn.cecep.talroad.service.IMonDevDlHourService; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-电力-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevDlHourServiceImpl extends ServiceImpl implements IMonDevDlHourService +{ + @Autowired + private MonDevDlHourMapper monDevDlHourMapper; + + /** + * 查询设备数据-电力-小时 保存设备的小时数据列表 + * + * @param monDevDlHour 设备数据-电力-小时 保存设备的小时数据 + * @return 设备数据-电力-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevDlHourList(MonDevDlHour monDevDlHour) + { + return monDevDlHourMapper.selectMonDevDlHourList(monDevDlHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlOtherServiceImpl.java new file mode 100644 index 0000000..44be8f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevDlOther; +import cn.cecep.talroad.mapper.MonDevDlOtherMapper; +import cn.cecep.talroad.service.IMonDevDlOtherService; +import cn.cecep.talroad.vo.MonDevDlVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevDlOtherServiceImpl extends ServiceImpl implements IMonDevDlOtherService +{ + @Autowired + private MonDevDlOtherMapper monDevDlOtherMapper; + + /** + * 查询设备数据-电力-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevDlOther 设备数据-电力-其它时间 保存设备的小时以上的数据 + * @return 设备数据-电力-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevDlOtherList(MonDevDlOther monDevDlOther) + { + return monDevDlOtherMapper.selectMonDevDlOtherList(monDevDlOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlRealServiceImpl.java new file mode 100644 index 0000000..24be0cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevDlRealServiceImpl.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.mapper.MonDevDlRealMapper; +import cn.cecep.talroad.service.IMonDevDlRealService; +import cn.cecep.talroad.vo.MonDevDlRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; +import java.util.Date; + + + + +/** + * 设备数据-电力-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevDlRealServiceImpl extends ServiceImpl implements IMonDevDlRealService +{ + @Autowired + private MonDevDlRealMapper monDevDlRealMapper; + + /** + * 查询设备数据-电力-实时 保存设备的实时数据列表 + * + * @param monDevDlReal 设备数据-电力-实时 保存设备的实时数据 + * @return 设备数据-电力-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevDlRealList(MonDevDlReal monDevDlReal) + { + return monDevDlRealMapper.selectMonDevDlRealList(monDevDlReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + + @Override + public List selectLatestByParams(String industry, String deviceType, Date lastHour,Date currDate) { + return monDevDlRealMapper.selectLatestByParams(industry,deviceType,lastHour,currDate); + } + + @Override + public List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd) { + return monDevDlRealMapper.selectAvgPhByParams(lastDayBegin,lastDayEnd); + } + + @Override + public List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevDlRealMapper.selectPumpStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevDlRealMapper.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevDlRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsHourServiceImpl.java new file mode 100644 index 0000000..4c8d018 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.cecep.talroad.mapper.MonDevFsHourMapper; +import cn.cecep.talroad.service.IMonDevFsHourService; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevFsHourServiceImpl extends ServiceImpl implements IMonDevFsHourService +{ + @Autowired + private MonDevFsHourMapper monDevFsHourMapper; + + /** + * 查询设备数据-垃圾焚烧-小时 保存设备的小时数据列表 + * + * @param monDevFsHour 设备数据-垃圾焚烧-小时 保存设备的小时数据 + * @return 设备数据-垃圾焚烧-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevFsHourList(MonDevFsHour monDevFsHour) + { + return monDevFsHourMapper.selectMonDevFsHourList(monDevFsHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsOtherServiceImpl.java new file mode 100644 index 0000000..41a17d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevFsOther; +import cn.cecep.talroad.mapper.MonDevFsOtherMapper; +import cn.cecep.talroad.service.IMonDevFsOtherService; +import cn.cecep.talroad.vo.MonDevFsVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevFsOtherServiceImpl extends ServiceImpl implements IMonDevFsOtherService +{ + @Autowired + private MonDevFsOtherMapper monDevFsOtherMapper; + + /** + * 查询设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevFsOther 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + * @return 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevFsOtherList(MonDevFsOther monDevFsOther) + { + return monDevFsOtherMapper.selectMonDevFsOtherList(monDevFsOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsRealServiceImpl.java new file mode 100644 index 0000000..bdc16cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevFsRealServiceImpl.java @@ -0,0 +1,93 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.mapper.MonDevFsRealMapper; +import cn.cecep.talroad.service.IMonDevFsRealService; +import cn.cecep.talroad.vo.MonDevFsRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; + + + + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevFsRealServiceImpl extends ServiceImpl implements IMonDevFsRealService +{ + @Autowired + private MonDevFsRealMapper monDevFsRealMapper; + + /** + * 查询设备数据-垃圾焚烧-实时 保存设备的实时数据列表 + * + * @param monDevFsReal 设备数据-垃圾焚烧-实时 保存设备的实时数据 + * @return 设备数据-垃圾焚烧-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevFsRealList(MonDevFsReal monDevFsReal) + { + return monDevFsRealMapper.selectMonDevFsRealList(monDevFsReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + + @Override + public List selectLatestByParams(String industry, String deviceType, Date lastHour,Date currDate) { + return monDevFsRealMapper.selectLatestByParams(industry,deviceType, lastHour,currDate); + } + + @Override + public List selectAvgPhByParams(Date lastDayBegin, Date lastDayEnd) { + return monDevFsRealMapper.selectAvgPhByParams(lastDayBegin,lastDayEnd); + } + + @Override + public List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevFsRealMapper.selectPumpStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevFsRealMapper.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevFsRealMapper.selectAvgTempByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectLatestHourDataByParams(String factoryId, String deviceId, Date lastHour) { + return monDevFsRealMapper.selectLatestHourDataByParams(factoryId,deviceId,lastHour); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevFsRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevHourServiceImpl.java new file mode 100644 index 0000000..07ff268 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevHour; +import cn.cecep.talroad.mapper.MonDevHourMapper; +import cn.cecep.talroad.service.IMonDevHourService; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevHourServiceImpl extends ServiceImpl implements IMonDevHourService +{ + @Autowired + private MonDevHourMapper monDevHourMapper; + + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevHour 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevHourList(MonDevHour monDevHour) + { + return monDevHourMapper.selectMonDevHourList(monDevHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage2(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhHourServiceImpl.java new file mode 100644 index 0000000..2223436 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevJhHour; +import cn.cecep.talroad.mapper.MonDevJhHourMapper; +import cn.cecep.talroad.service.IMonDevJhHourService; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-焦化-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevJhHourServiceImpl extends ServiceImpl implements IMonDevJhHourService +{ + @Autowired + private MonDevJhHourMapper monDevJhHourMapper; + + /** + * 查询设备数据-焦化-小时 保存设备的小时数据列表 + * + * @param monDevJhHour 设备数据-焦化-小时 保存设备的小时数据 + * @return 设备数据-焦化-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevJhHourList(MonDevJhHour monDevJhHour) + { + return monDevJhHourMapper.selectMonDevJhHourList(monDevJhHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhOtherServiceImpl.java new file mode 100644 index 0000000..41ba6a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevJhOther; +import cn.cecep.talroad.mapper.MonDevJhOtherMapper; +import cn.cecep.talroad.service.IMonDevJhOtherService; +import cn.cecep.talroad.vo.MonDevJhVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevJhOtherServiceImpl extends ServiceImpl implements IMonDevJhOtherService +{ + @Autowired + private MonDevJhOtherMapper monDevJhOtherMapper; + + /** + * 查询设备数据-焦化-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevJhOther 设备数据-焦化-其它时间 保存设备的小时以上的数据 + * @return 设备数据-焦化-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevJhOtherList(MonDevJhOther monDevJhOther) + { + return monDevJhOtherMapper.selectMonDevJhOtherList(monDevJhOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhRealServiceImpl.java new file mode 100644 index 0000000..cf8218e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevJhRealServiceImpl.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.mapper.MonDevJhRealMapper; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.vo.MonDevJhRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; + + + + +/** + * 设备数据-焦化-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevJhRealServiceImpl extends ServiceImpl implements IMonDevJhRealService +{ + @Autowired + private MonDevJhRealMapper monDevJhRealMapper; + + /** + * 查询设备数据-焦化-实时 保存设备的实时数据列表 + * + * @param monDevJhReal 设备数据-焦化-实时 保存设备的实时数据 + * @return 设备数据-焦化-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevJhRealList(MonDevJhReal monDevJhReal) + { + return monDevJhRealMapper.selectMonDevJhRealList(monDevJhReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + + @Override + public List selectLastHourData(MonDevJhReal real) { + return monDevJhRealMapper.selectLastHourData(real); + } + + @Override + public List selectLatestByParams(String industry, String deviceType, Date lastHour,Date curr) { + return monDevJhRealMapper.selectLatestByParams(industry, deviceType, lastHour,curr); + } + + @Override + public List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevJhRealMapper.selectAvgTempByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectAvgPressByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevJhRealMapper.selectAvgPressByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectMonDevJhRealListByDataTime(DateTime queryBeginTime, DateTime queryEndTime, String deviceId){ + return monDevJhRealMapper.selectMonDevJhRealListByDataTime(queryBeginTime,queryEndTime,deviceId); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevJhRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevOtherServiceImpl.java new file mode 100644 index 0000000..bc803cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevOther; +import cn.cecep.talroad.mapper.MonDevOtherMapper; +import cn.cecep.talroad.service.IMonDevOtherService; +import cn.cecep.talroad.vo.MonDevGtVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevOtherServiceImpl extends ServiceImpl implements IMonDevOtherService +{ + @Autowired + private MonDevOtherMapper monDevOtherMapper; + + /** + * 查询设备数据(有组织)-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevOther 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + * @return 设备数据(有组织)-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevOtherList(MonDevOther monDevOther) + { + return monDevOtherMapper.selectMonDevOtherList(monDevOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage2(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevRealServiceImpl.java new file mode 100644 index 0000000..273a159 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevRealServiceImpl.java @@ -0,0 +1,97 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.mapper.MonDevRealMapper; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.vo.MonDevGtRealVO; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; + + + + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevRealServiceImpl extends ServiceImpl implements IMonDevRealService +{ + @Autowired + private MonDevRealMapper monDevRealMapper; + + /** + * 查询设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数列表 + * + * @param monDevReal 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + * @return 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数 + */ + @Override + public List selectMonDevRealList(MonDevReal monDevReal) + { + return monDevRealMapper.selectMonDevRealList(monDevReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage2(page, queryWrapper); + } + + public List selectLatestByCondition(String industry,String deviceType, Date startDate,Date currDate) { + return monDevRealMapper.selectLatestByCondition(industry, deviceType, startDate,currDate); + } + + @Override + public List selectLatestByParam(String industry, String deviceType, Date lastHour,Date currDate) { + return monDevRealMapper.selectLatestByParam(industry, deviceType, lastHour,currDate); + } + + + @Override + public List selectLastHourData(MonDevReal real) { + return monDevRealMapper.selectLastHourData(real); + } + + @Override + public List selectLastHourDataOne(MonDevReal real) { + return monDevRealMapper.selectLastHourDataOne(real); + } + + @Override + public List selectAvgTempByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevRealMapper.selectAvgTempByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectAvgPressByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevRealMapper.selectAvgPressByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectLatestMqgwByParam(String industry, String deviceType, Date lastHour, Date curr) { + return monDevRealMapper.selectLatestMqgwByParam(industry, deviceType, lastHour,curr); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnHourServiceImpl.java new file mode 100644 index 0000000..c3ee819 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnHourServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevSnHour; +import cn.cecep.talroad.mapper.MonDevSnHourMapper; +import cn.cecep.talroad.service.IMonDevSnHourService; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-水泥-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevSnHourServiceImpl extends ServiceImpl implements IMonDevSnHourService +{ + @Autowired + private MonDevSnHourMapper monDevSnHourMapper; + + /** + * 查询设备数据-水泥-小时 保存设备的小时数据列表 + * + * @param monDevSnHour 设备数据-水泥-小时 保存设备的小时数据 + * @return 设备数据-水泥-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevSnHourList(MonDevSnHour monDevSnHour) + { + return monDevSnHourMapper.selectMonDevSnHourList(monDevSnHour); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnOtherServiceImpl.java new file mode 100644 index 0000000..7973d37 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnOtherServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevSnOther; +import cn.cecep.talroad.mapper.MonDevSnOtherMapper; +import cn.cecep.talroad.service.IMonDevSnOtherService; +import cn.cecep.talroad.vo.MonDevSnVO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevSnOtherServiceImpl extends ServiceImpl implements IMonDevSnOtherService +{ + @Autowired + private MonDevSnOtherMapper monDevSnOtherMapper; + + /** + * 查询设备数据-水泥-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevSnOther 设备数据-水泥-其它时间 保存设备的小时以上的数据 + * @return 设备数据-水泥-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevSnOtherList(MonDevSnOther monDevSnOther) + { + return monDevSnOtherMapper.selectMonDevSnOtherList(monDevSnOther); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String timeType, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .eq("r.time_type", timeType) + .ge("r.data_time", startTime) + .le("r.data_time", endTime) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnRealServiceImpl.java new file mode 100644 index 0000000..8102727 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevSnRealServiceImpl.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.mapper.MonDevSnRealMapper; +import cn.cecep.talroad.service.IMonDevSnRealService; +import cn.cecep.talroad.vo.MonDevSnRealVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.List; +import java.util.Date; + + + + +/** + * 设备数据-水泥-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevSnRealServiceImpl extends ServiceImpl implements IMonDevSnRealService +{ + @Autowired + private MonDevSnRealMapper monDevSnRealMapper; + + /** + * 查询设备数据-水泥-实时 保存设备的实时数据列表 + * + * @param monDevSnReal 设备数据-水泥-实时 保存设备的实时数据 + * @return 设备数据-水泥-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevSnRealList(MonDevSnReal monDevSnReal) + { + return monDevSnRealMapper.selectMonDevSnRealList(monDevSnReal); + } + + @Override + public List getDataPage(String factoryId, List deviceIds, String startTime, String endTime, String orderField, String orderType, Page page) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq("r.factory_id", factoryId) + .in("r.device_id", deviceIds) + .ge("r.data_time", Timestamp.valueOf(startTime)) + .le("r.data_time", Timestamp.valueOf(endTime)) + .orderBy(StringUtils.isNotEmpty(orderField), "asc".equals(orderType), orderField, "r.data_id"); + return baseMapper.getDataPage(page, queryWrapper); + } + + @Override + public List selectLatestByParams(String industry, String deviceType, Date lastDate,Date currDate) { + return monDevSnRealMapper.selectLatestByParams(industry,deviceType,lastDate,currDate); + } + + @Override + public List selectPumpStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevSnRealMapper.selectPumpStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectOxFanStateByParams(Date lastHourBegin, Date lastHourEnd) { + return monDevSnRealMapper.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return monDevSnRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcHourServiceImpl.java new file mode 100644 index 0000000..91b0f03 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcHourServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevTcHour; +import cn.cecep.talroad.mapper.MonDevTcHourMapper; +import cn.cecep.talroad.service.IMonDevTcHourService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevTcHourServiceImpl extends ServiceImpl implements IMonDevTcHourService +{ + @Autowired + private MonDevTcHourMapper monDevTcHourMapper; + + /** + * 查询设备数据-陶瓷-小时 保存设备的小时数据列表 + * + * @param monDevTcHour 设备数据-陶瓷-小时 保存设备的小时数据 + * @return 设备数据-陶瓷-小时 保存设备的小时数据 + */ + @Override + public List selectMonDevTcHourList(MonDevTcHour monDevTcHour) + { + return monDevTcHourMapper.selectMonDevTcHourList(monDevTcHour); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcOtherServiceImpl.java new file mode 100644 index 0000000..892fa8a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcOtherServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevTcOther; +import cn.cecep.talroad.mapper.MonDevTcOtherMapper; +import cn.cecep.talroad.service.IMonDevTcOtherService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevTcOtherServiceImpl extends ServiceImpl implements IMonDevTcOtherService +{ + @Autowired + private MonDevTcOtherMapper monDevTcOtherMapper; + + /** + * 查询设备数据-陶瓷-其它时间 保存设备的小时以上的数据列表 + * + * @param monDevTcOther 设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + * @return 设备数据-陶瓷-其它时间 保存设备的小时以上的数据 + */ + @Override + public List selectMonDevTcOtherList(MonDevTcOther monDevTcOther) + { + return monDevTcOtherMapper.selectMonDevTcOtherList(monDevTcOther); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcRealServiceImpl.java new file mode 100644 index 0000000..ad49358 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonDevTcRealServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonDevTcReal; +import cn.cecep.talroad.mapper.MonDevTcRealMapper; +import cn.cecep.talroad.service.IMonDevTcRealService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonDevTcRealServiceImpl extends ServiceImpl implements IMonDevTcRealService +{ + @Autowired + private MonDevTcRealMapper monDevTcRealMapper; + + /** + * 查询设备数据-陶瓷-实时 保存设备的实时数据列表 + * + * @param monDevTcReal 设备数据-陶瓷-实时 保存设备的实时数据 + * @return 设备数据-陶瓷-实时 保存设备的实时数据 + */ + @Override + public List selectMonDevTcRealList(MonDevTcReal monDevTcReal) + { + return monDevTcRealMapper.selectMonDevTcRealList(monDevTcReal); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecEventServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecEventServiceImpl.java new file mode 100644 index 0000000..05696a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecEventServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonElecEvent; +import cn.cecep.talroad.mapper.MonElecEventMapper; +import cn.cecep.talroad.service.IMonElecEventService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonElecEventServiceImpl extends ServiceImpl implements IMonElecEventService +{ + @Autowired + private MonElecEventMapper monElecEventMapper; + + /** + * 查询有组织-分表计电设备对应 两类设备为多对多的关系列表 + * + * @param monElecEvent 有组织-分表计电设备对应 两类设备为多对多的关系 + * @return 有组织-分表计电设备对应 两类设备为多对多的关系 + */ + @Override + public List selectMonElecEventList(MonElecEvent monElecEvent) + { + return monElecEventMapper.selectMonElecEventList(monElecEvent); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecOperationLogServiceImpl.java new file mode 100644 index 0000000..d9c4f22 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecOperationLogServiceImpl.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.MonElecOperationLog; +import cn.cecep.talroad.mapper.MonElecOperationLogMapper; +import cn.cecep.talroad.service.IMonElecOperationLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +/** + * 视频监控Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +@Slf4j +public class MonElecOperationLogServiceImpl extends ServiceImpl implements IMonElecOperationLogService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecRealServiceImpl.java new file mode 100644 index 0000000..3967b09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonElecRealServiceImpl.java @@ -0,0 +1,348 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.domain.MonElecReal; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.MonElecRealMapper; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasDeviceSiteService; +import cn.cecep.talroad.service.IMonElecRealService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.query.MonElecRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class MonElecRealServiceImpl extends ServiceImpl implements IMonElecRealService +{ + @Autowired + private IBasDeviceSiteService deviceSiteService; + + @Autowired + private IBasDeviceService deviceService; + @Autowired + private MonElecRealMapper monElecRealMapper; + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + public enum ParamEnum { + activePower("总有功功率", "activePower", "千瓦"), + reactivePower("总无功功率", "reactivePower", "千瓦"), + activePowerQuantity("总有功电量示值", "activePowerQuantity", "安"), + reactivePowerQuantity("总无功电量示值", "reactivePowerQuantity", "安"), + totalPower("总功率因数", "totalPower", ""), + currentAp("A相电流", "currentAp", "安"), + currentBp("B相电流", "currentBp", "安"), + currentCp("C相电流", "currentCp", "安"), + currentSinglePhase("单相电流", "currentSinglePhase", "伏"), + voltageAp("A相电压", "voltageAp", "伏"), + voltageBp("B相电压", "voltageBp", "伏"), + voltageCp("C相电压", "voltageCp", "伏"); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + + ParamEnum(String label, String prop, String unit) { + this.label = label; + this.prop = prop; + this.unit = unit; + } + public static ParamEnum getByProp(String prop) { + for (ParamEnum value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + } + + @Override + public EChartsVO getCharData(MonElecRealQuery monElecReal) { + monElecReal.setTimeSortType("asc"); + + if (StringUtils.isEmpty(monElecReal.getDataTimeStart()) || StringUtils.isEmpty(monElecReal.getDataTimeEnd())) { + throw new RuntimeException("请指定趋势图时间范围"); + } + if (StringUtils.isEmpty(monElecReal.getDeviceSiteId())) { + throw new RuntimeException("请指定设备点位"); + } + + // x轴数据 + List xdata = DateUtils.getRangeTimes("QH", monElecReal.getDataTimeStart(), monElecReal.getDataTimeEnd()); + + QueryWrapper queryWrapper = MonElecRealQuery.createLambdaQueryWrapper(monElecReal); + List elecRealList = list(queryWrapper); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map elecRealMap = elecRealList.stream().collect(Collectors.toMap(o -> DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", o.getDataTime()), o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + List series = new ArrayList<>(); + + // 若monElecReal.getPollutantVos()不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (monElecReal.getPollutantVos() != null) { + for (AmProblemFiVo.PollutantVo pollutantVo : monElecReal.getPollutantVos()) { + ParamEnum paramEnum = ParamEnum.getByProp(pollutantVo.getProp()); + if (paramEnum == null) { + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(paramEnum.label); + ser.setUnit(paramEnum.unit); + ser.setProp(paramEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + MonElecReal monReal = elecRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, paramEnum.prop); + }).collect(Collectors.toList()); + + ser.setValues(values); + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + series.add(ser); + } + } else { // 未指定监测参数,默认展示所有的 + + for (ParamEnum paramEnum : ParamEnum.values()) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(paramEnum.label); + ser.setUnit(paramEnum.unit); + ser.setProp(paramEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + MonElecReal monReal = elecRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, paramEnum.prop); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + } + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + @Override + public List elecRealPage(Page page, MonElecRealQuery monElecReal) { + // 若未指定点位,则按照设备或企业查询点位 + if (StringUtils.isEmpty(monElecReal.getDeviceSiteId()) || CollectionUtils.isEmpty(monElecReal.getDeviceSiteIds())) { + List deviceSites; + + if (StringUtils.isNotEmpty(monElecReal.getDeviceId())) { // 按指定设备查 + deviceSites = deviceSiteService.list(new QueryWrapper().eq("device_id", monElecReal.getDeviceId())); + } else if (StringUtils.isNotEmpty(monElecReal.getFactoryId())) { // 按企业查,查询企业下所有设备点位 + List devices = deviceService.list(new QueryWrapper() + .eq("factory_id", monElecReal.getFactoryId()).eq("industry", "EL") + ); + if (devices.isEmpty()) { + return new ArrayList<>(); + } + List deviceIds = devices.stream().map(BasDevice::getDeviceId).collect(Collectors.toList()); + + deviceSites = deviceSiteService.list(new QueryWrapper().in("device_id", deviceIds)); + } else { + throw new RuntimeException("未指定设备或企业"); + } + if (deviceSites == null || deviceSites.isEmpty()) { + return new ArrayList<>(); + } + monElecReal.setDeviceSiteIds(deviceSites.stream().map(BasDeviceSite::getId).collect(Collectors.toList())); + } + List vos = baseMapper.selectElecRealPage(page, monElecReal); + page.setRecords(vos); + return vos; + } + + @Override + public List selectLatestMonElecRealByParams(String industry,String deviceType,Date lastDate,Date currDate) { + return monElecRealMapper.selectLatestMonElecRealByParams(industry,deviceType , lastDate, currDate); + } + + @Override + public EChartsVO getKwhChartData(String startTime, String endTime) { + // x轴数据 + List xdata = DateUtils.getRangeTimes("QH", startTime, endTime); + + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("用电量"); + ser.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser)); + + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return chartsVO; + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + List> dataList = monElecRealMapper.selectKwhChartData(startTime, endTime, r.getData()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map elecRealMap = dataList.stream().collect(Collectors.toMap(o -> (String) o.get("dataTime"), o -> o.get("activePowerQuantity"))); + + ser.setValues(xdata.stream().map(elecRealMap::get).collect(Collectors.toList())); + } + return chartsVO; + } + + @Override + public List getKwhMonitor(String type, String startTime, String endTime) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + List vos = monElecRealMapper.selectKwhMonitor(type, startTime, endTime, r.getData()); + if (vos.isEmpty()) { + return vos; + } + + // 获取到用电量最大的 + MonElecRealVo.KwhMonitorVo max = vos.stream().max(Comparator.comparing(MonElecRealVo.KwhMonitorVo::getKwh)).get(); + + for (MonElecRealVo.KwhMonitorVo vo : vos) { + // 计算占比 + vo.setPercentage(vo.getKwh().multiply(new BigDecimal(100)).divide(max.getKwh(), 2, BigDecimal.ROUND_HALF_UP) + .stripTrailingZeros().toPlainString()); + } + return vos; + } else { + return new ArrayList<>(); + } + } + + /** + * 获取分表计电点位图表数据,将多个监测点位的参数合并到一个图表上 + */ + @Override + public EChartsVO getCharData(List simpleVos, String startTime, String endTime) { + // x轴数据 + List xdata = DateUtils.getRangeTimes("QH", startTime, endTime); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + + if (simpleVos == null || simpleVos.isEmpty() || StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)) { + return chartsVO; + } + + // 查询指定时间范围内,指定点位的监测数据 + MonElecRealQuery query = new MonElecRealQuery(); + query.setDataTimeStart(startTime); + query.setDataTimeEnd(endTime); + query.setDeviceSiteIds(simpleVos.stream().map(BasDeviceSiteVo.SimpleVo::getId).collect(Collectors.toList())); + + QueryWrapper queryWrapper = MonElecRealQuery.createLambdaQueryWrapper(query); + List elecRealList = list(queryWrapper); + + // 以日期和点位id为key,转为map 日期格式要保证与x轴格式一样 + Map elecRealMap = elecRealList.stream().collect( + Collectors.toMap(o -> o.getDeviceSiteId() + "_" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", o.getDataTime()), o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + // 汇总所有点位的参数 + Set paramSet = new HashSet<>(); + for (BasDeviceSiteVo.SimpleVo simpleVo : simpleVos) { + for (AmProblemFiVo.PollutantVo pollutantVo : simpleVo.getPollutantVos()) { + paramSet.add(pollutantVo.getProp()); + } + } + + List series = new ArrayList<>(); + + for (BasDeviceSiteVo.SimpleVo simpleVo : simpleVos) { + for (AmProblemFiVo.PollutantVo pollutantVo : simpleVo.getPollutantVos()) { + ParamEnum paramEnum = ParamEnum.getByProp(pollutantVo.getProp()); + if (paramEnum == null) { + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setUnit(paramEnum.unit); + ser.setProp(paramEnum.prop); + + // 若只有一个点位,系列名称展示参数名 + if (simpleVos.size() == 1) { + ser.setName(paramEnum.label); + } else if (paramSet.size() == 1) { // 若只有一个参数,系列名称展示点位名称 + ser.setName(simpleVo.getName()); + } else { + ser.setName(simpleVo.getName() + "-" + paramEnum.label); + } + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + MonElecReal monReal = elecRealMap.get(simpleVo.getId() + "_" + o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, paramEnum.prop); + }).collect(Collectors.toList()); + + ser.setValues(values); + series.add(ser); + } + } + chartsVO.setSeries(series); + // 若只有一个点位,图表名称展示点位名称 + if (simpleVos.size() == 1) { + chartsVO.setName(simpleVos.get(0).getName()); + } else if (paramSet.size() == 1) { // 若只有一个参数,系列名称展示参数名称 + ParamEnum paramEnum = ParamEnum.getByProp(paramSet.stream().findAny().get()); + chartsVO.setName(paramEnum != null ? paramEnum.label : null); + } + return chartsVO; + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime,Integer pageSize,Integer startCount) { + return monElecRealMapper.selectLastDayData(queryBeginTime,queryEndTime,pageSize,startCount); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonitoringMapServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonitoringMapServiceImpl.java new file mode 100644 index 0000000..911efb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/MonitoringMapServiceImpl.java @@ -0,0 +1,877 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.exception.ServiceException; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCoMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.util.CustomDateUtil; +import cn.cecep.talroad.vo.AmVideoDevFiVo; +import cn.cecep.talroad.vo.ChartVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.MapPointVo; +import cn.cecep.talroad.vo.query.AmVideoDevFiQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.cecep.talroad.vo.query.SEnvGasRealQuery; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ArrayUtil; +import com.alibaba.csp.sentinel.util.StringUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Maps; +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author: weizhuang + * @Date:2023/2/16 15:39 + * @Version 1.0 + */ +@Service +public class MonitoringMapServiceImpl implements IMonitoringMapService { + + @Autowired + private MAmDoorMonitorAccountFiMapper mAmDoorMonitorAccountFiMapper; + + @Autowired + private PcFactoryAccessControlMapper pcFactoryAccessControlMapper; + + @Autowired + private IAmVideoDevFiService amVideoDevFiService; + + @Autowired + private BasDeviceSiteMapper basDeviceSiteMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + @Autowired + private BasDeviceMapper basDeviceMapper; + + @Autowired + private MonElecRealMapper monElecRealMapper; + + @Autowired + private PcFactoryPollutantMapper pcFactoryPollutantMapper; + + @Autowired + private PcPollutantMapper pcPollutantMapper; + + @Autowired + private ISEnvGasRealService sEnvGasRealService; + + @Autowired + private ISEnvGasMonRealService envGasMonRealService; + + @Autowired + private PcControlRequirementsMapper pcControlRequirementsMapper; + + @Autowired + private ISEnvWaterMonRealService envWaterMonRealService; + + @Autowired + private IBasDeviceService basDeviceService; + + @Autowired + private PcIndustryMapper pcIndustryMapper; + + @Autowired + private IotDeviceTypeMapper iotDeviceTypeMapper; + + @Autowired + private BasDeviceSalAnalysisMapper basDeviceSalAnalysisMapper; + + + @Autowired + private SRaRealTimeAnalysisCoMapper sRaRealTimeAnalysisCoMapper; + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + @Override + public Map pullAccessControlPop(String factoryId, String accessControlCode) { + Map params = Maps.newHashMap(); + params.put("factoryId", factoryId); + params.put("accessControlCode", accessControlCode); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + String now = format.format(date); + // 近七天 + c.setTime(date); + c.add(Calendar.DATE, - 7); + Date d = c.getTime(); + String begin = format.format(d); + params.put("startTime", begin); + params.put("endTime", now); + List> pieChart = mAmDoorMonitorAccountFiMapper.selectByMaps(params); + Map res = Maps.newHashMap(); + res.put("pieChart", CollectionUtils.isEmpty(pieChart) ? Lists.newArrayList() : pieChart); + List records = mAmDoorMonitorAccountFiMapper.selectLists(params); + ChartVo chartVo = new ChartVo(); + if(!CollectionUtils.isEmpty(records)){ + records.stream().forEach(item -> item.setEntryTime(item.getEntryTime().substring(0, 13))); + chartVo.setLegendData(new Object[]{"出厂","进厂"}); + chartVo.setXsxisData(records.stream().map(MAmDoorMonitorAccountFi::getEntryTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + // 0-出厂, 1-进厂 + Map> outRecords = CollectionUtils.isEmpty(records.stream().filter(item->item.getEntryType().equals("0")).collect(Collectors.toList())) ? Maps.newHashMap() : records.stream().filter(item->item.getEntryType().equals("0")).collect(Collectors.toList()).stream().collect(Collectors.groupingBy(MAmDoorMonitorAccountFi::getEntryTime)); + Map> inRecords = CollectionUtils.isEmpty(records.stream().filter(item->item.getEntryType().equals("1")).collect(Collectors.toList())) ? Maps.newHashMap() : records.stream().filter(item->item.getEntryType().equals("1")).collect(Collectors.toList()).stream().collect(Collectors.groupingBy(MAmDoorMonitorAccountFi::getEntryTime)); + List> seriesData = Lists.newArrayList(); + if(!CollectionUtils.isEmpty(outRecords)){ + Map map = Maps.newHashMap(); + map.put("name", "出厂"); + Object[] outData = new Object[chartVo.getXsxisData().length]; + for (int i = 0; i < chartVo.getXsxisData().length; i++) { + if(outRecords.containsKey(chartVo.getXsxisData()[i])){ + outData[i] = outRecords.get(chartVo.getXsxisData()[i]).size(); + } else { + outData[i] = null; + } + } + map.put("data", outData); + seriesData.add(map); + } + if(!CollectionUtils.isEmpty(inRecords)){ + Map map = Maps.newHashMap(); + map.put("name", "进厂"); + Object[] outData = new Object[chartVo.getXsxisData().length]; + for (int i = 0; i < chartVo.getXsxisData().length; i++) { + if(inRecords.containsKey(chartVo.getXsxisData()[i])){ + outData[i] = inRecords.get(chartVo.getXsxisData()[i]).size(); + } else { + outData[i] = null; + } + } + map.put("data", outData); + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + } + res.put("chart", chartVo); + return res; + } + + @Override + public List pullPoints(String factoryId, String pointType) { + // pointType=生产监控、煤气放散监控、在线监测、无组织监控、分表计电、视频监控 + List res = Lists.newArrayList(); + switch (pointType){ + case "门禁": + List accessControls = pcFactoryAccessControlMapper.selectList(new QueryWrapper().eq("factory_id", factoryId)); + if (!CollectionUtils.isEmpty(accessControls)) { + res = accessControls.stream().map(p -> { + MapPointVo vo = new MapPointVo(); + vo.setPointName(p.getAccessControlName()); + vo.setPointCode(p.getAccessControlCode()); + vo.setPointLng(new BigDecimal(p.getAccessControlLng())); + vo.setPointLat(new BigDecimal(p.getAccessControlLat())); + vo.setPointType("门禁"); + return vo; + }).collect(Collectors.toList()); + } + break; + case "生产监控": + // 设备类型(焦化:JL,烧结:SJJ,球团:SL,炼铁:GL,炼钢:ZL,白灰窑:LY,发电:FDJZ。ALL=全部) + List basDeviceList = basDeviceMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).isNotNull("lon").isNotNull("lat")); + if (!CollectionUtils.isEmpty(basDeviceList)) { + List basDeviceSalAnalyses = basDeviceSalAnalysisMapper.selectList(new QueryWrapper().in("device_id", basDeviceList.stream().map(BasDevice::getDeviceId).distinct().collect(Collectors.toList())).eq("factory_id", factoryId)); + Map> analyMaps = CollectionUtils.isEmpty(basDeviceSalAnalyses) ? Maps.newHashMap() : basDeviceSalAnalyses.stream().collect(Collectors.groupingBy(BasDeviceSalAnalysis::getDeviceId)); + res.addAll(basDeviceList.stream().map(p -> { + MapPointVo vo = new MapPointVo(); + vo.setPointName(p.getName()); + vo.setPointCode(p.getDeviceId()); + vo.setPointLng(p.getLon()); + vo.setPointLat(p.getLat()); + vo.setPointType("生产监控"); + // TODO 设备[前端取得是正常](默认)、生产、停产、离线 + vo.setPointStatus(analyMaps.containsKey(p.getDeviceId()) ? analyMaps.get(p.getDeviceId()).get(0).getMonStatus() : "正常"); + return vo; + }).collect(Collectors.toList())); + } + break; + case "煤气放散监控": + // DCS系统,就是钢铁行业高炉、转炉、焦炉,以及焦化行业焦炉的经纬度 + List collect = basDeviceMapper.selectList( + new QueryWrapper().eq("factory_id", factoryId).isNotNull("lon").isNotNull("lat") + .in("industry", "GT", "JH") + .in("type", "GLMQ", "MQGW", "GLMQG", "ZL") + ); + if(!CollectionUtils.isEmpty(collect)){ + List basDeviceSalAnalyses = basDeviceSalAnalysisMapper.selectList(new QueryWrapper().in("device_id", collect.stream().map(BasDevice::getDeviceId).distinct().collect(Collectors.toList())).eq("factory_id", factoryId)); + Map> analyMaps = CollectionUtils.isEmpty(basDeviceSalAnalyses) ? Maps.newHashMap() : basDeviceSalAnalyses.stream().collect(Collectors.groupingBy(BasDeviceSalAnalysis::getDeviceId)); + if(!CollectionUtils.isEmpty(collect)){ + res.addAll(collect.stream().map(p -> { + MapPointVo vo = new MapPointVo(); + vo.setPointName(p.getName()); + vo.setPointCode(p.getDeviceId()); + vo.setPointLng(p.getLon()); + vo.setPointLat(p.getLat()); + vo.setPointType("煤气放散监控"); + // TODO 正常放散、异常放散、未放散、离线/异常(默认) + vo.setPointStatus(analyMaps.containsKey(p.getDeviceId()) && !StringUtils.isEmpty(analyMaps.get(p.getDeviceId()).get(0).getCoalGasStatus()) ? analyMaps.get(p.getDeviceId()).get(0).getCoalGasStatus() : "离线/异常"); + return vo; + }).collect(Collectors.toList())); + } + } + break; + case "在线监测": + List mapAirPointVos = pcOutletMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).isNotNull("monitoring_point_name").isNotNull("outlet_lon").isNotNull("outlet_lat").eq("pollutant_type","4")); + if (!CollectionUtils.isEmpty(mapAirPointVos)) { + res.addAll(mapAirPointVos.stream().map(p -> { + MapPointVo vo = new MapPointVo(); + vo.setPointName(p.getMonitoringPointName()); + vo.setPointCode(p.getId()); + vo.setPointLng(p.getOutletLon()); + vo.setPointLat(p.getOutletLat()); + vo.setPointType("在线监测"); + vo.setPointSubClass("未知"); + // TODO 正常、预警/异常、超标、掉线(默认) + vo.setPointStatus(StringUtils.isEmpty(p.getOutletStatus()) ? "掉线" : p.getOutletStatus()); + + return vo; + }).collect(Collectors.toList())); + } + break; + case "无组织监控": + List wzzs = pcOutletMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).isNotNull("outlet_lon").isNotNull("outlet_lat").isNotNull("monitoring_point_name").eq("pollutant_type", "3")); + if (!CollectionUtils.isEmpty(wzzs)) { + res = wzzs.stream().map(p -> { + MapPointVo vo = new MapPointVo(); + // 2.地图弹框中的无组织点位名称对应监测点位名称; + vo.setPointName(p.getMonitoringPointName()); + vo.setPointCode(p.getId()); + vo.setPointLng(p.getOutletLon()); + vo.setPointLat(p.getOutletLat()); + vo.setPointType("无组织监控"); + vo.setPointSubClass(p.getOutletMonitorName()); + // TODO 正常、报警、离线 + vo.setPointStatus(StringUtils.isEmpty(p.getWzzStatus()) ? "离线" : p.getWzzStatus()); + return vo; + }).collect(Collectors.toList()); + } + break; + case "分表计电": + List fbjds = basDeviceSiteMapper.selectMapPoints(factoryId); + if (!CollectionUtils.isEmpty(fbjds)) { + res = fbjds.stream().map(p -> { + p.setPointType("分表计电"); + // 正常、停运、掉线 + p.setPointStatus(StringUtil.isEmpty(p.getPointStatus()) ? "掉线" : p.getPointStatus()); + return p; + }).collect(Collectors.toList()); + } + break; + case "视频监控": + AmVideoDevFiQuery videoQuery = new AmVideoDevFiQuery(); + videoQuery.setFactoryId(factoryId); + List groupList = amVideoDevFiService.getGroupList(videoQuery); + if (!CollectionUtils.isEmpty(groupList)){ + for (AmVideoDevFiVo.DevTypeGroup devTypeGroup : groupList) { + if(!CollectionUtils.isEmpty(devTypeGroup.getVideoDevFiVos())){ + res.addAll(devTypeGroup.getVideoDevFiVos().stream().map(p -> { + MapPointVo vo = new MapPointVo(); + vo.setPointName(p.getDevName()); + vo.setPointCode(p.getId() == null ? null : p.getId().toString()); + vo.setPointLng(p.getLonMap()); + vo.setPointLat(p.getLatMap()); + vo.setPointLocation(p.getLocation()); + vo.setPointType("视频监控"); + vo.setPointSubClass(devTypeGroup.getName()); + return vo; + }).collect(Collectors.toList())); + } + } + } + break; + } + return res; + } + + @Override + public Map pullFbjdPop(String factoryId, String pointCode) { + BasDeviceSite basDeviceSite = basDeviceSiteMapper.selectOne(new QueryWrapper().eq("id", pointCode).eq("factory_id", factoryId)); + if(basDeviceSite == null){ + throw new ServiceException("无法获取点位信息!"); + } + Map res = Maps.newHashMap(); + ChartVo chartVo = new ChartVo(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + String now = format.format(date); + // 近1天 + c.setTime(date); + c.add(Calendar.DATE, - 1); + Date d = c.getTime(); + String begin = format.format(d); + List monElecReals = monElecRealMapper.selectList(new QueryWrapper().eq("device_site_id", basDeviceSite.getId()).between("data_time", d, date).isNotNull("active_power").orderByAsc("data_time")); + if(!CollectionUtils.isEmpty(monElecReals)){ + monElecReals.forEach(item->{ + item.setDataTimeStr(DateUtils.parseDateToStr(DatePattern.NORM_DATETIME_MINUTE_PATTERN, item.getDataTime())); + }); + chartVo.setLegendData(new Object[]{"功率", "用电量"}); +// monElecReals.stream().forEach(item -> item.setDataTimeStr(item.getDataTimeStr().substring(11, 16))); +// chartVo.setXsxisData(monElecReals.stream().map(MonElecReal::getDataTimeStr).distinct().collect(Collectors.toList()).toArray(new Object[0])); + List qh = null; + chartVo.setXsxisData(qh.toArray()); + Map> hourDataMaps = monElecReals.stream().collect(Collectors.groupingBy(MonElecReal::getDataTimeStr)); + hourDataMaps.forEach((month,data)->{ + data.stream().collect(Collectors.toMap(MonElecReal::getDataTimeStr, a -> a, (o1, o2) -> { + o1.setActivePower(strToBigDecimal(o1.getActivePower()).add(strToBigDecimal(o2.getActivePower())).toString()); + o1.setActivePowerQuantity(strToBigDecimal(o1.getActivePowerQuantity()).add(strToBigDecimal(o2.getActivePowerQuantity())).toString()); + return o1; + })).values(); + }); + + List kwDatas = Lists.newArrayList(); + List wkhDatas = Lists.newArrayList(); + // TODO 分表计电的用电量用总有功电量示值计算,前后两个15分钟的总有功电量示值相减就是这15分钟的用电量 + // 用电量取总有功电量示值, 该字段存的是计算后的用电量. 数据接入程序计算. + for (Object time : chartVo.getXsxisData()) { + if(hourDataMaps.containsKey(time)){ + kwDatas.add(new BigDecimal(hourDataMaps.get(time).get(0).getActivePower())); + wkhDatas.add(new BigDecimal(hourDataMaps.get(time).get(0).getActivePowerQuantity())); + } else { + kwDatas.add(null); + wkhDatas.add(null); + } + } + List> seriesData = Lists.newArrayList(); + //功率是总有功功率 + Map map = Maps.newHashMap(); + map.put("name", chartVo.getLegendData()[0]); + map.put("unit", "kW"); + map.put("data", kwDatas); + seriesData.add(map); + Map wkhMaps = Maps.newHashMap(); + wkhMaps.put("name", chartVo.getLegendData()[1]); + wkhMaps.put("unit", "kW·h"); + wkhMaps.put("data", wkhDatas); + seriesData.add(wkhMaps); + + List> yaxisData = Lists.newArrayList(); + Map ymap = Maps.newHashMap(); + ymap.put("name", "kW"); + List kws = kwDatas.stream().filter(item -> item != null).collect(Collectors.toList()); + ymap.put("interval", toInterval(kws.stream().max((x1, x2) -> x1.compareTo(x2)).get(), chartVo.getXsxisData().length)); + ymap.put("min", 0); + ymap.put("max", kws.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + ymap.put("axisLabelUnit", ""); + yaxisData.add(ymap); + Map ywkhmap = Maps.newHashMap(); + ywkhmap.put("name", "kW·h"); + List wkhs = wkhDatas.stream().filter(item -> item != null).collect(Collectors.toList()); + ywkhmap.put("interval", toInterval(wkhs.stream().max((x1, x2) -> x1.compareTo(x2)).get(), chartVo.getXsxisData().length)); + ywkhmap.put("min", 0); + ywkhmap.put("max", wkhs.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + ywkhmap.put("axisLabelUnit", ""); + yaxisData.add(ywkhmap); + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(yaxisData); + // 分表计电的状态通过功率判断,功率为0是停运,接不到数据是掉线,其他正常 + /*if(CollectionUtils.isEmpty(wkhDatas)){ + pointStatus = "掉线"; + } else { + if(ywkhmap.get("max").equals("0")){ + pointStatus = "停运"; + } + }*/ + } else { + chartVo.setLegendData(new Object[]{"功率", "用电量"}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(CustomDateUtil.getAllHours(d, date, CustomDateUtil.HOUR_PATTERN).stream().toArray()); + } + if(CollectionUtils.isEmpty(chartVo.getSeriesData()) && chartVo.getLegendData().length != 0){ + for (Object legendDatum : chartVo.getLegendData()) { + Map map = Maps.newHashMap(); + map.put("name", legendDatum); + map.put("unit", ""); + List sd = Lists.newArrayList(); + for (int i = 0; i < chartVo.getXsxisData().length; i++) { + sd.add(""); + } + map.put("data", sd); + chartVo.getSeriesData().add(map); + } + } + res.put("chart", chartVo); + // 点位基本信息 + res.put("pointName", basDeviceSite.getName()); + // TODO 这个和上面那个类似,就是说明这个监测点位监测的是生产设施的用电,还是治理设施的用电。如果是生产设施的用电,那就是生产监测点位。对应关系同上 + res.put("pointType", basDeviceSite.getType());// 生产监测点位 + // TODO 对应装备名称 就是分表计电本身对应的治理设施或生产设施名称,分表计电系统有这个对应关系。 + res.put("equipName", basDeviceSite.getEquipName());// 对应装备名称 + res.put("pointStatus", StringUtil.isEmpty(basDeviceSite.getStatus()) ? "掉线" : basDeviceSite.getStatus());// 正常/停运/掉线 + return res; + //静态数据 + //return fbjdStatisData(pointName); + } + + private BigDecimal toInterval(BigDecimal max, Integer size){ + return max.divide(new BigDecimal(size),1,BigDecimal.ROUND_HALF_UP); + } + + private BigDecimal strToBigDecimal(String str){ + if(StringUtil.isEmpty(str)){ + return BigDecimal.ZERO; + } else { + return new BigDecimal(StringUtil.trim(str)); + } + } + + @Override + public Map pullWzzPop(String factoryId, String pointCode) { + // 查询排口信息 + PcOutlet pcOutlet = pcOutletMapper.selectOne(new QueryWrapper().eq("id", pointCode)); + if(pcOutlet == null){ + throw new ServiceException("无法获取点位信息"); + } + LocalDateTime nowTo = LocalDateTime.now(); + String startTime=nowTo.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00") + ); + String endTime= nowTo.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd 23:59:59") + ); + List amProblemFi=amProblemFiMapper.selectByLastTimeAlarm(pointCode,startTime,endTime); + + List pcIndustries = pcIndustryMapper.selectList(new QueryWrapper<>()); + Map> pcIndustriesMaps = CollectionUtils.isEmpty(pcIndustries) ? Maps.newHashMap() : pcIndustries.stream().collect(Collectors.groupingBy(PcIndustry::getIndusCode)); + Map res = Maps.newHashMap(); + // 点位基本信息 + res.put("pointName", pcOutlet.getMonitoringPointName()); + // 设备类型编码转名称 + res.put("pointType", pcIndustriesMaps.containsKey(pcOutlet.getOutletMonitorName()) ? pcIndustriesMaps.get(pcOutlet.getOutletMonitorName()).get(0).getIndusName() : pcOutlet.getOutletMonitorName()); + res.put("wzzVentCode", pcOutlet.getStationId()); + res.put("pointStatus", pcOutlet.getWzzStatus()); + res.put("alarm", String.join(";",amProblemFi)); + ChartVo chartVo = new ChartVo(); + // 查询排口污染物信息 + List factoryPollutants = pcFactoryPollutantMapper.selectList(new QueryWrapper().eq("outlet_id", pcOutlet.getId())); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + String now = format.format(date); + // 近1天 + c.setTime(date); + c.add(Calendar.DATE, - 1); + Date d = c.getTime(); + if(!CollectionUtils.isEmpty(factoryPollutants)){ + SEnvGasRealQuery sEnvGasRealQuery = new SEnvGasRealQuery(); + String begin = format.format(d); + sEnvGasRealQuery.setOutletId(pcOutlet.getId()); + sEnvGasRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvGasRealQuery.setMonitoringStartTime(begin); + sEnvGasRealQuery.setMonitoringEndTime(now); + sEnvGasRealQuery.setAscOrDesc("asc"); + EChartsVO charData = sEnvGasRealService.getCharData(sEnvGasRealQuery); + if(charData != null && !CollectionUtils.isEmpty(charData.getSeries()) && !CollectionUtils.isEmpty(charData.getXData())){ + // 查询污染物信息 + List pcPollutants = pcPollutantMapper.selectList(new QueryWrapper().in("id", factoryPollutants.stream().map(PcFactoryPollutant::getPollutantId).distinct().collect(Collectors.toSet()))); + if(!CollectionUtils.isEmpty(pcPollutants) || "3".equals(pcOutlet.getPollutantType())){ + List polls = pcPollutants.stream().map(PcPollutant::getPollName).distinct().collect(Collectors.toList()); + chartVo.setLegendData(polls.stream().toArray()); + List series = charData.getSeries(); + List xData = charData.getXData(); + List> seriesData = Lists.newArrayList(); + Map> pDatas = series.stream().collect(Collectors.groupingBy(EChartsVO.SeriesObj::getName)); + // 如果是无组织排口类型走以下逻辑 否则走原逻辑(因为排口关联的污染物与企业分类档案里的无组织监控页面的表格,列名,对不上) + if ("3".equals(pcOutlet.getPollutantType())) { + polls = series.stream().map(EChartsVO.SeriesObj::getName).collect(Collectors.toList()); + chartVo.setLegendData(polls.stream().toArray()); + } + for (String poll : polls) { + Map map = Maps.newHashMap(); + if(pDatas.containsKey(poll)){ + EChartsVO.SeriesObj seriesObj = pDatas.get(poll).get(0); + map.put("name", seriesObj.getName()); + map.put("unit", seriesObj.getUnit()); + map.put("data", seriesObj.getValues()); + } else { + map.put("name", poll); + map.put("unit", ""); + map.put("data", Lists.newArrayList()); + } + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(Lists.newArrayList()); + /*xData.stream().forEach(item->item.substring(11, 13)); + for (int i = 0; i < xData.size(); i++) { + xData.set(i, xData.get(i).substring(11, 13)); + }*/ + chartVo.setXsxisData(xData.stream().toArray()); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(CustomDateUtil.getAllHours(d, date, CustomDateUtil.HOUR_PATTERN).stream().toArray()); + } + res.put("chart", chartVo); + return res; + //静态数据 + //return wzzStatisData(pointCode); + } + + @Override + public Map pullOnlinePop(String factoryId, String pointCode) { + // 查询排口信息 + PcOutlet pcOutlet = pcOutletMapper.selectOne(new QueryWrapper().eq("id", pointCode).eq("factory_id", factoryId)); + if(pcOutlet == null){ + throw new ServiceException("无法获取点位信息"); + } + LocalDateTime nowTo = LocalDateTime.now(); + String startTime=nowTo.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00") + ); + String endTime= nowTo.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd 23:59:59") + ); + List amProblemFi=amProblemFiMapper.selectByLastTimeAlarm(pointCode,startTime,endTime); + Map res = Maps.newHashMap(); + // 点位基本信息 + res.put("pointName", pcOutlet.getOutletName()); + res.put("pointCode", pcOutlet.getOutletCode()); + if(pcOutlet.getPollutantType().equals("1")){ + res.put("pointType", pcOutlet.getOutletTypes().equals("1") ? "废气主要排口" : pcOutlet.getOutletTypes().equals("2") ? "废气一般排口" : "未知"); + } else if (pcOutlet.getPollutantType().equals("2")){ + res.put("pointType", pcOutlet.getEmissionsForm().equals("直接排放") ? "废水直接排放口" : pcOutlet.getEmissionsForm().equals("间接排放") ? "废水间接排放口" : "未知"); + } + res.put("monitorName", pcOutlet.getMonitoringPointName());//"监测点位名称" + res.put("pointStatus", StringUtils.isEmpty(pcOutlet.getOutletStatus()) ? "掉线" : pcOutlet.getOutletStatus()); + res.put("alarm", String.join(";",amProblemFi)); + ChartVo chartVo = new ChartVo(); + // 查询排口污染物信息 + List factoryPollutants = pcFactoryPollutantMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).eq("outlet_id", pcOutlet.getId())); + if(CollectionUtils.isEmpty(factoryPollutants)){ + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + res.put("chart", chartVo); + return res; + } + // 查询污染物信息 + List pcPollutants = pcPollutantMapper.selectList(new QueryWrapper().in("id", factoryPollutants.stream().map(PcFactoryPollutant::getPollutantId).distinct().collect(Collectors.toSet()))); + if(CollectionUtils.isEmpty(pcPollutants)){ + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + res.put("chart", chartVo); + return res; + } + Map> pollDatas = pcPollutants.stream().collect(Collectors.groupingBy(PcPollutant::getPollName)); + // 查询管控要求(获取污染物浓度限值) + List pcControlRequirements = pcControlRequirementsMapper.selectList(new QueryWrapper().eq("factory_id", factoryId).eq("outlet_id", pcOutlet.getId())); + Map> controlDatas = CollectionUtils.isEmpty(pcControlRequirements) ? Maps.newHashMap() : pcControlRequirements.stream().collect(Collectors.groupingBy(PcControlRequirements::getPollutantId)); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + String now = format.format(date); + // 近1天 + c.setTime(date); + c.add(Calendar.DATE, - 1); + Date d = c.getTime(); + String begin = format.format(d); + EChartsVO charData = new EChartsVO(); + if(pcOutlet.getPollutantType().equals("1")) { + SEnvGasMonRealQuery sEnvGasMonRealQuery = new SEnvGasMonRealQuery(); + sEnvGasMonRealQuery.setOutletId(pcOutlet.getId()); + sEnvGasMonRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvGasMonRealQuery.setMonitoringStartTime(begin); + sEnvGasMonRealQuery.setMonitoringEndTime(now); + charData = envGasMonRealService.getCharData(sEnvGasMonRealQuery); + } else if (pcOutlet.getPollutantType().equals("2")){ + SEnvWaterMonRealQuery sEnvWaterMonRealQuery = new SEnvWaterMonRealQuery(); + sEnvWaterMonRealQuery.setOutletId(pcOutlet.getId()); + sEnvWaterMonRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvWaterMonRealQuery.setMonitoringStartTime(begin); + sEnvWaterMonRealQuery.setMonitoringEndTime(now); + charData = envWaterMonRealService.getCharData(sEnvWaterMonRealQuery); + } else if (pcOutlet.getPollutantType().equals("3")){ + SEnvWaterMonRealQuery sEnvWaterMonRealQuery = new SEnvWaterMonRealQuery(); + sEnvWaterMonRealQuery.setOutletId(pcOutlet.getId()); + sEnvWaterMonRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvWaterMonRealQuery.setMonitoringStartTime(begin); + sEnvWaterMonRealQuery.setMonitoringEndTime(now); + charData = envWaterMonRealService.getCharData(sEnvWaterMonRealQuery); + } else if (pcOutlet.getPollutantType().equals("4")){ + //在线监测无法区分监测点类型,数据全查 + if(pcOutlet.getPollutantOutletType().equals("1")){ + SEnvGasMonRealQuery sEnvGasMonRealQuery = new SEnvGasMonRealQuery(); + sEnvGasMonRealQuery.setOutletId(pcOutlet.getId()); + sEnvGasMonRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvGasMonRealQuery.setMonitoringStartTime(begin); + sEnvGasMonRealQuery.setMonitoringEndTime(now); + charData = envGasMonRealService.getCharData(sEnvGasMonRealQuery); + }else{ + SEnvWaterMonRealQuery sEnvWaterMonRealQuery = new SEnvWaterMonRealQuery(); + sEnvWaterMonRealQuery.setOutletId(pcOutlet.getId()); + sEnvWaterMonRealQuery.setDataType(TimeTypeEnum.HOUR.getCode()); + sEnvWaterMonRealQuery.setMonitoringStartTime(begin); + sEnvWaterMonRealQuery.setMonitoringEndTime(now); + charData = envWaterMonRealService.getCharData(sEnvWaterMonRealQuery); + } + } + if(charData != null && !CollectionUtils.isEmpty(charData.getSeries()) && !CollectionUtils.isEmpty(charData.getXData())){ + //List polls = pcPollutants.stream().map(PcPollutant::getPollName).distinct().collect(Collectors.toList()); + List series = charData.getSeries(); + List xData = charData.getXData(); + List> seriesData = Lists.newArrayList(); + Map> pDatas = series.stream().collect(Collectors.groupingBy(EChartsVO.SeriesObj::getName)); + List polls = new ArrayList<>(pDatas.keySet()); + chartVo.setLegendData(polls.stream().toArray()); + for (String poll : polls) { + Map map = Maps.newHashMap(); + if(pDatas.containsKey(poll)){ + EChartsVO.SeriesObj seriesObj = pDatas.get(poll).get(0); + map.put("name", seriesObj.getName()); + map.put("unit", seriesObj.getUnit()); + map.put("data", seriesObj.getValues()); + List data = Lists.newArrayList(); + for (int i = 0; i < seriesObj.getValues().size(); i++) { + data.add(seriesObj.getValues().get(i)!=null?new BigDecimal(seriesObj.getValues().get(i).toString()) : BigDecimal.ZERO); + } + BigDecimal dataMax = data.stream().max((x1, x2) -> x1.compareTo(x2)).get(); + BigDecimal limitValue = null; + if(pollDatas.containsKey(seriesObj.getName())){ + if(controlDatas.containsKey(pollDatas.get(seriesObj.getName()).get(0).getId())){ + String permissibleConcentrationLimHour = controlDatas.get(pollDatas.get(seriesObj.getName()).get(0).getId()).get(0).getPermissibleConcentrationLimHour(); + if(!StringUtil.isEmpty(permissibleConcentrationLimHour)){ + limitValue = new BigDecimal(permissibleConcentrationLimHour); + } + } + } + map.put("max", limitValue); + map.put("replacey", limitValue != null && limitValue.compareTo(dataMax) != -1 ? true : false); + } else { + map.put("name", poll); + map.put("unit", ""); + map.put("max", 0); + map.put("replacey", false); + map.put("data", Lists.newArrayList()); + } + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(Lists.newArrayList()); + /*xData.stream().forEach(item->item.substring(11, 16)); + for (int i = 0; i < xData.size(); i++) { + xData.set(i, xData.get(i).substring(11, 16)); + }*/ + chartVo.setXsxisData(xData.stream().toArray()); + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + res.put("chart", chartVo); + return res; + //静态数据 + //return onlineStatisData(pointCode); + } + + @Override + public Map pullProducePop(String factoryId, String pointCode) { + // 查询设备信息 + BasDevice basDevice = basDeviceMapper.selectOne(new QueryWrapper().eq("device_id", pointCode).eq("factory_id", factoryId)); + if(basDevice == null){ + throw new ServiceException("无法获取设备信息"); + } + IotDeviceType iotDeviceType = iotDeviceTypeMapper.selectOne(new QueryWrapper().eq("device_code", basDevice.getType()).eq("industry_code", basDevice.getIndustry()).eq("delete_flag", 0)); + BasDeviceSalAnalysis basDeviceSalAnalysis = basDeviceSalAnalysisMapper.selectOne(new QueryWrapper().eq("device_id", basDevice.getDeviceId()).eq("factory_id", factoryId)); + Map res = Maps.newHashMap(); + // 点位基本信息 + res.put("pointName", basDevice.getName()); + res.put("pointCode", pointCode);// 排污许可设备编号 + res.put("pointType", iotDeviceType != null ? iotDeviceType.getName() : "未知"); + res.put("gycs", basDevice.getCraftParam()); + res.put("pointStatus", basDeviceSalAnalysis != null ? basDeviceSalAnalysis.getMonStatus() : "设备"); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + String now = format.format(date); + // 近1天 + c.setTime(date); + c.add(Calendar.DATE, - 1); + Date d = c.getTime(); + String begin = format.format(d); + EChartsVO deviceChart = basDeviceService.getDeviceChart(basDevice.getDeviceId(), begin, now); + ChartVo chartVo = new ChartVo(); + if(deviceChart != null){ + chartVo.setLegendData(CollectionUtils.isEmpty(deviceChart.getLegendData()) ? new Object[]{} : deviceChart.getLegendData().stream().toArray()); + chartVo.setXsxisData(CollectionUtils.isEmpty(deviceChart.getXData()) ? new Object[]{} : deviceChart.getXData().stream().toArray()); + if(!CollectionUtils.isEmpty(deviceChart.getSeries())){ + if(ArrayUtil.isEmpty(chartVo.getLegendData())){ + chartVo.setLegendData(deviceChart.getSeries().stream().map(EChartsVO.SeriesObj::getName).collect(Collectors.toList()).stream().toArray()); + } + List> seriesData = Lists.newArrayList(); + List> yaxisData = Lists.newArrayList(); + deviceChart.getSeries().stream().forEach(item->{ + Map map = Maps.newHashMap(); + map.put("name", item.getName()); + map.put("unit", item.getUnit()); + map.put("data", item.getValues()); + seriesData.add(map); + Map ymap = Maps.newHashMap(); + ymap.put("name", item.getName()); + ymap.put("unit", item.getUnit()); + List data = Lists.newArrayList(); + if(!CollectionUtils.isEmpty(item.getValues()) && !CollectionUtils.isEmpty(deviceChart.getXData())){ + for (int i = 0; i < item.getValues().size(); i++) { + data.add(item.getValues().get(i)!=null?new BigDecimal(item.getValues().get(i).toString()) : BigDecimal.ZERO); + } + ymap.put("interval", toInterval(data.stream().max((x1, x2) -> x1.compareTo(x2)).get(), deviceChart.getXData().size())); + ymap.put("min", 0); + ymap.put("max", data.stream().max((x1, x2) -> x1.compareTo(x2)).get()); + } else { + ymap.put("interval", ""); + ymap.put("min", 0); + ymap.put("max", ""); + } + ymap.put("axisLabelUnit", ""); + yaxisData.add(ymap); + }); + chartVo.setSeriesData(seriesData); + chartVo.setYaxisData(yaxisData); + } + } else { + chartVo.setLegendData(new Object[]{}); + chartVo.setXsxisData(new Object[]{}); + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setYaxisData(Lists.newArrayList()); + } + res.put("chart", chartVo); + return res; + // 静态数据 + // return produceStatisData(pointCode); + } + + @Override + public Map pullCoalGasPop(String factoryId, String pointCode) { + BasDevice basDevice = basDeviceMapper.selectOne(new QueryWrapper().eq("device_id", pointCode).eq("factory_id", factoryId)); + if(basDevice == null){ + throw new ServiceException("无法获取设备信息!"); + } + BasDeviceSalAnalysis basDeviceSalAnalysis = basDeviceSalAnalysisMapper.selectOne(new QueryWrapper().eq("device_id", basDevice.getDeviceId()).eq("factory_id", factoryId)); + IotDeviceType iotDeviceType = iotDeviceTypeMapper.selectOne(new QueryWrapper().eq("device_code", basDevice.getType()).eq("industry_code", basDevice.getIndustry()).eq("delete_flag", 0)); + Map res = Maps.newHashMap(); + // 点位基本信息 + res.put("pointName", basDevice.getName()); + res.put("pointCode", basDevice.getDeviceId()); + res.put("pointType", iotDeviceType != null ? iotDeviceType.getName() : "未知");// 设备类型 + res.put("pointStatus", basDeviceSalAnalysis != null ? basDeviceSalAnalysis.getCoalGasStatus() : "离线/异常");// 当前运行状态 + + Calendar c = Calendar.getInstance(); + Date date = new Date(); + // 近1天 + c.setTime(date); + c.add(Calendar.DATE, - 1); + Date d = c.getTime(); + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq(cn.cecep.talroad.common.core.utils.StringUtils.isNotEmpty(basDevice.getDeviceId()), "device_id", basDevice.getDeviceId()); + wrapper.ge("analyse_time", d); + wrapper.le("analyse_time", date); + wrapper.orderByAsc("diffuse_end_time"); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCoMapper.selectList(wrapper); + if(CollectionUtil.isNotEmpty(sRaRealTimeAnalysisRuns)){ + res.put("pointStatus", sRaRealTimeAnalysisRuns.get(sRaRealTimeAnalysisRuns.size()-1).getDiffuse()); + } + Map timeStatusMap = sRaRealTimeAnalysisRuns.stream().filter(o->o.getDiffuseStatus()!=null).collect(Collectors.toMap(o -> DateUtil.format(o.getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_FORMATTER), o -> o.getDiffuseStatus(), (o1, o2) -> o1)); + // x轴数据 + List xdata = null; + + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("正常放散"); + ser1.setProp("1"); + ser1.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("异常放散"); + ser2.setProp("2"); + ser2.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("未放散"); + ser3.setProp("3"); + ser3.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser4 = new EChartsVO.SeriesObj(); + ser4.setName("离线"); + ser4.setProp("4"); + ser4.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser5 = new EChartsVO.SeriesObj(); + ser5.setName("异常"); + ser5.setProp("5"); + ser5.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3, ser4,ser5)); + + /* + 填充系列值 + */ + // 遍历x轴,保证系列值与x轴刻度一一对应 + for (String time : xdata) { + String status = timeStatusMap.get(time); + + for (EChartsVO.SeriesObj ser : chartsVO.getSeries()) { + // 若系列的prop属性与状态码相等,则设置系列值为状态码,否则填充null + if (ser.getProp().equals(status)) { + ser.getValues().add(status); + } else { + ser.getValues().add(null); + } + } + } + res.put("chart", chartsVO); + return res; + // 静态数据 + // return coalGasStatisData(pointCode); + } + + @Override + public List coalMapPoints(String name) { + List list = basDeviceMapper.selectCoalMapPoints(name); + return list; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionAqiHourIServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionAqiHourIServiceImpl.java new file mode 100644 index 0000000..a4d42a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionAqiHourIServiceImpl.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.OdsAirRegionAqiHourI; +import cn.cecep.talroad.mapper.OdsAirRegionAqiHourIMapper; +import cn.cecep.talroad.service.IOdsAirRegionAqiHourIService; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-07-21 17:09 + * @Class: OdsAirRegionAqiHourIServiceImpl + * @Deseription: + * @Version V1.0 + */ +@DS("ods") +@Service +public class OdsAirRegionAqiHourIServiceImpl extends ServiceImpl implements IOdsAirRegionAqiHourIService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionHourIServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionHourIServiceImpl.java new file mode 100644 index 0000000..691d33b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsAirRegionHourIServiceImpl.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.BasThresholdConfig; +import com.baomidou.dynamic.datasource.annotation.DS; +import java.math.BigDecimal; +import java.util.List; +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsAirRegionHourI; +import cn.cecep.talroad.mapper.OdsAirRegionHourIMapper; +import cn.cecep.talroad.service.IOdsAirRegionHourIService; +import cn.cecep.talroad.mapper.OdsAirRegionHourIMapper; +import cn.cecep.talroad.domain.OdsAirRegionHourI; +import cn.cecep.talroad.service.IOdsAirRegionHourIService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-27*/ +@DS("ods") +@Service +public class OdsAirRegionHourIServiceImpl extends ServiceImpl implements IOdsAirRegionHourIService +{ + @Autowired + private OdsAirRegionHourIMapper odsAirRegionHourIMapper; + @Autowired + private RedisService redisService; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsAirRegionHourI 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsAirRegionHourIList(OdsAirRegionHourI odsAirRegionHourI) + { + return odsAirRegionHourIMapper.selectOdsAirRegionHourIList(odsAirRegionHourI); + } + + @Override + public BigDecimal selectAvgTemp(String lastHour) { + String key = "ods_air_region_hour_temp_"+lastHour; + BigDecimal avgTemp = redisService.getCacheObject(key); + if(avgTemp==null){ + avgTemp = odsAirRegionHourIMapper.selectAvgTemp(lastHour); + redisService.setCacheObject(key,avgTemp,1L, TimeUnit.HOURS); + } + return avgTemp; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsInorganizationWeiStationHourIServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsInorganizationWeiStationHourIServiceImpl.java new file mode 100644 index 0000000..a77bfc9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsInorganizationWeiStationHourIServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.mapper.OdsInorganizationWeiStationHourIMapper; +import cn.cecep.talroad.service.IOdsInorganizationWeiStationHourIService; +import cn.cecep.talroad.mapper.OdsInorganizationWeiStationHourIMapper; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.service.IOdsInorganizationWeiStationHourIService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@DS("ods") +@Service +public class OdsInorganizationWeiStationHourIServiceImpl extends ServiceImpl implements IOdsInorganizationWeiStationHourIService +{ + @Autowired + private OdsInorganizationWeiStationHourIMapper odsInorganizationWeiStationHourIMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsInorganizationWeiStationHourI 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsInorganizationWeiStationHourIList(OdsInorganizationWeiStationHourI odsInorganizationWeiStationHourI) + { + return odsInorganizationWeiStationHourIMapper.selectOdsInorganizationWeiStationHourIList(odsInorganizationWeiStationHourI); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingShStationHourIServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingShStationHourIServiceImpl.java new file mode 100644 index 0000000..614d389 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingShStationHourIServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.mapper.OdsMeshingShStationHourIMapper; +import cn.cecep.talroad.service.IOdsMeshingShStationHourIService; +import cn.cecep.talroad.mapper.OdsMeshingShStationHourIMapper; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.service.IOdsMeshingShStationHourIService; + + + + +/** + * ods层网格化市控站点小时增量Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@DS("ods") +@Service +public class OdsMeshingShStationHourIServiceImpl extends ServiceImpl implements IOdsMeshingShStationHourIService +{ + @Autowired + private OdsMeshingShStationHourIMapper odsMeshingShStationHourIMapper; + + /** + * 查询ods层网格化市控站点小时增量列表 + * + * @param odsMeshingShStationHourI ods层网格化市控站点小时增量 + * @return ods层网格化市控站点小时增量 + */ + @Override + public List selectOdsMeshingShStationHourIList(OdsMeshingShStationHourI odsMeshingShStationHourI) + { + return odsMeshingShStationHourIMapper.selectOdsMeshingShStationHourIList(odsMeshingShStationHourI); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingWeiStationHourIServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingWeiStationHourIServiceImpl.java new file mode 100644 index 0000000..28e9bd0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsMeshingWeiStationHourIServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.mapper.OdsMeshingWeiStationHourIMapper; +import cn.cecep.talroad.service.IOdsMeshingWeiStationHourIService; +import cn.cecep.talroad.mapper.OdsMeshingWeiStationHourIMapper; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.service.IOdsMeshingWeiStationHourIService; + + + + +/** + * ods层网格化微站站点小时增量Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@DS("ods") +@Service +public class OdsMeshingWeiStationHourIServiceImpl extends ServiceImpl implements IOdsMeshingWeiStationHourIService +{ + @Autowired + private OdsMeshingWeiStationHourIMapper odsMeshingWeiStationHourIMapper; + + /** + * 查询ods层网格化微站站点小时增量列表 + * + * @param odsMeshingWeiStationHourI ods层网格化微站站点小时增量 + * @return ods层网格化微站站点小时增量 + */ + @Override + public List selectOdsMeshingWeiStationHourIList(OdsMeshingWeiStationHourI odsMeshingWeiStationHourI) + { + return odsMeshingWeiStationHourIMapper.selectOdsMeshingWeiStationHourIList(odsMeshingWeiStationHourI); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlDgiinfoAServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlDgiinfoAServiceImpl.java new file mode 100644 index 0000000..258a5ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlDgiinfoAServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; +import cn.cecep.talroad.mapper.OdsOnlineOlDgiinfoAMapper; +import cn.cecep.talroad.service.IOdsOnlineOlDgiinfoAService; +import cn.cecep.talroad.mapper.OdsOnlineOlDgiinfoAMapper; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; +import cn.cecep.talroad.service.IOdsOnlineOlDgiinfoAService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@DS("ods") +@Service +public class OdsOnlineOlDgiinfoAServiceImpl extends ServiceImpl implements IOdsOnlineOlDgiinfoAService +{ + @Autowired + private OdsOnlineOlDgiinfoAMapper odsOnlineOlDgiinfoAMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlDgiinfoA 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsOnlineOlDgiinfoAList(OdsOnlineOlDgiinfoA odsOnlineOlDgiinfoA) + { + return odsOnlineOlDgiinfoAMapper.selectOdsOnlineOlDgiinfoAList(odsOnlineOlDgiinfoA); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPortinfoAServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPortinfoAServiceImpl.java new file mode 100644 index 0000000..1c8b59e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPortinfoAServiceImpl.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; +import cn.cecep.talroad.mapper.OdsOnlineOlPortinfoAMapper; +import cn.cecep.talroad.service.IOdsOnlineOlPortinfoAService; +import cn.cecep.talroad.mapper.OdsOnlineOlPortinfoAMapper; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; +import cn.cecep.talroad.service.IOdsOnlineOlPortinfoAService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@DS("ods") +@Service +public class OdsOnlineOlPortinfoAServiceImpl extends ServiceImpl implements IOdsOnlineOlPortinfoAService +{ + @Autowired + private OdsOnlineOlPortinfoAMapper odsOnlineOlPortinfoAMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPortinfoA 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsOnlineOlPortinfoAList(OdsOnlineOlPortinfoA odsOnlineOlPortinfoA) + { + return odsOnlineOlPortinfoAMapper.selectOdsOnlineOlPortinfoAList(odsOnlineOlPortinfoA); + } + + @Override + public List selectEnableStationInfo(String portTypeId) { + return odsOnlineOlPortinfoAMapper.selectEnableStationInfo(portTypeId); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsWhitelistAServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsWhitelistAServiceImpl.java new file mode 100644 index 0000000..5e060c8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsWhitelistAServiceImpl.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; +import cn.cecep.talroad.mapper.OdsOnlineOlPsWhitelistAMapper; +import cn.cecep.talroad.service.IOdsOnlineOlPsWhitelistAService; +import cn.cecep.talroad.mapper.OdsOnlineOlPsWhitelistAMapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; +import cn.cecep.talroad.service.IOdsOnlineOlPsWhitelistAService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@Service +public class OdsOnlineOlPsWhitelistAServiceImpl extends ServiceImpl implements IOdsOnlineOlPsWhitelistAService +{ + @Autowired + private OdsOnlineOlPsWhitelistAMapper odsOnlineOlPsWhitelistAMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsWhitelistA 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsOnlineOlPsWhitelistAList(OdsOnlineOlPsWhitelistA odsOnlineOlPsWhitelistA) + { + return odsOnlineOlPsWhitelistAMapper.selectOdsOnlineOlPsWhitelistAList(odsOnlineOlPsWhitelistA); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsinfoAServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsinfoAServiceImpl.java new file mode 100644 index 0000000..40171a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlPsinfoAServiceImpl.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; +import cn.cecep.talroad.mapper.OdsOnlineOlPsinfoAMapper; +import cn.cecep.talroad.service.IOdsOnlineOlPsinfoAService; +import cn.cecep.talroad.mapper.OdsOnlineOlPsinfoAMapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; +import cn.cecep.talroad.service.IOdsOnlineOlPsinfoAService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@Service +public class OdsOnlineOlPsinfoAServiceImpl extends ServiceImpl implements IOdsOnlineOlPsinfoAService +{ + @Autowired + private OdsOnlineOlPsinfoAMapper odsOnlineOlPsinfoAMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlPsinfoA 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsOnlineOlPsinfoAList(OdsOnlineOlPsinfoA odsOnlineOlPsinfoA) + { + return odsOnlineOlPsinfoAMapper.selectOdsOnlineOlPsinfoAList(odsOnlineOlPsinfoA); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlStopinfoAServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlStopinfoAServiceImpl.java new file mode 100644 index 0000000..16da304 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/OdsOnlineOlStopinfoAServiceImpl.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; +import cn.cecep.talroad.mapper.OdsOnlineOlStopinfoAMapper; +import cn.cecep.talroad.service.IOdsOnlineOlStopinfoAService; +import cn.cecep.talroad.mapper.OdsOnlineOlStopinfoAMapper; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; +import cn.cecep.talroad.service.IOdsOnlineOlStopinfoAService; + + + + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author szhpt + * @date 2023-06-10*/ +@Service +public class OdsOnlineOlStopinfoAServiceImpl extends ServiceImpl implements IOdsOnlineOlStopinfoAService +{ + @Autowired + private OdsOnlineOlStopinfoAMapper odsOnlineOlStopinfoAMapper; + + /** + * 查询【请填写功能名称】列表 + * + * @param odsOnlineOlStopinfoA 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectOdsOnlineOlStopinfoAList(OdsOnlineOlStopinfoA odsOnlineOlStopinfoA) + { + return odsOnlineOlStopinfoAMapper.selectOdsOnlineOlStopinfoAList(odsOnlineOlStopinfoA); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslFactoryServiceImpl.java new file mode 100644 index 0000000..7d632e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslFactoryServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcAdslFactory; +import cn.cecep.talroad.mapper.PcAdslFactoryMapper; +import cn.cecep.talroad.service.IPcAdslFactoryService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + + + + +/** + * 企业与接入数据类型关联Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class PcAdslFactoryServiceImpl extends ServiceImpl implements IPcAdslFactoryService +{ + @Autowired + private PcAdslFactoryMapper pcAdslFactoryMapper; + + /** + * 查询企业与接入数据类型关联列表 + * + * @param pcAdslFactory 企业与接入数据类型关联 + * @return 企业与接入数据类型关联 + */ + @Override + public List selectPcAdslFactoryList(PcAdslFactory pcAdslFactory) + { + return pcAdslFactoryMapper.selectPcAdslFactoryList(pcAdslFactory); + } + + @Override + public List> selectEntInDatas(String factoryId) { + return pcAdslFactoryMapper.selectEntInDatas(factoryId); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslServiceImpl.java new file mode 100644 index 0000000..4cdd55d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcAdslServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcAdsl; +import cn.cecep.talroad.mapper.PcAdslMapper; +import cn.cecep.talroad.service.IPcAdslService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业接入数据类型Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class PcAdslServiceImpl extends ServiceImpl implements IPcAdslService +{ + @Autowired + private PcAdslMapper pcAdslMapper; + + /** + * 查询企业接入数据类型列表 + * + * @param pcAdsl 企业接入数据类型 + * @return 企业接入数据类型 + */ + @Override + public List selectPcAdslList(PcAdsl pcAdsl) + { + return pcAdslMapper.selectPcAdslList(pcAdsl); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcArchivesFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcArchivesFactoryServiceImpl.java new file mode 100644 index 0000000..c3d9dc0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcArchivesFactoryServiceImpl.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcArchivesFactory; +import cn.cecep.talroad.mapper.PcArchivesFactoryMapper; +import cn.cecep.talroad.service.PcArchivesFactoryService; +import cn.cecep.talroad.vo.PcArchivesFactoryVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class PcArchivesFactoryServiceImpl extends ServiceImpl implements PcArchivesFactoryService { + + @Override + public PcArchivesFactoryVo getByFactoryId(String factoryId) { + List archivesFactories = list(new QueryWrapper() + .eq("factory_id", factoryId) + .orderByAsc("archives_code") + ); + + if (archivesFactories.size() < PcArchivesFactory.Archives.values().length) { + init(factoryId); + + archivesFactories = list(new QueryWrapper() + .eq("factory_id", factoryId) + .orderByAsc("archives_code") + ); + } + + // 重点关注列表 + List followList = archivesFactories.stream() + .filter(o -> o.getFollow().equals("1")) + .map(o -> { + PcArchivesFactory.Archives archivesEnum = PcArchivesFactory.Archives.getByCode(o.getArchivesCode()); + + PcArchivesFactoryVo.Archives archives = new PcArchivesFactoryVo.Archives(); + archives.setPcArchivesFactoryId(o.getId()); + archives.setName(archivesEnum.getLabel()); + archives.setUrl(archivesEnum.getUrl()); + return archives; + }).collect(Collectors.toList()); + + // 非重点关注, 按照类型分组 + Map> typeMap = archivesFactories.stream() + .filter(o -> o.getFollow().equals("0")) + .collect(Collectors.groupingBy(PcArchivesFactory::getType)); + + List typeList = typeMap.entrySet().stream().map(entry -> { + List archives = new ArrayList<>(); + List hideArchives = new ArrayList<>(); + + for (PcArchivesFactory archivesFactory : entry.getValue()) { + PcArchivesFactory.Archives archivesEnum = PcArchivesFactory.Archives.getByCode(archivesFactory.getArchivesCode()); + PcArchivesFactoryVo.Archives vo = new PcArchivesFactoryVo.Archives(); + vo.setPcArchivesFactoryId(archivesFactory.getId()); + vo.setName(archivesEnum.getLabel()); + vo.setUrl(archivesEnum.getUrl()); + + if (archivesFactory.getHide().equals("1")) { + hideArchives.add(vo); + } else { + archives.add(vo); + } + } + PcArchivesFactoryVo.Type type = new PcArchivesFactoryVo.Type(); + type.setName(PcArchivesFactory.Type.getLabelByCode(entry.getKey())); + type.setArchives(archives); + type.setHideArchives(hideArchives); + return type; + }).collect(Collectors.toList()); + + PcArchivesFactoryVo vo = new PcArchivesFactoryVo(); + vo.setFollowList(followList); + vo.setTypeList(typeList); + return vo; + } + + @Override + public void deleteById(String id) { + update(new UpdateWrapper().set("is_hide", "1").eq("id", id)); + } + + @Override + public void revert(String id) { + update(new UpdateWrapper().set("is_hide", "0").eq("id", id)); + } + + @Override + public void follow(String id) { + update(new UpdateWrapper().set("is_follow", "1").eq("id", id)); + } + + @Override + public void cancelFollow(String id) { + update(new UpdateWrapper().set("is_follow", "0").eq("id", id)); + } + + @Override + public void init(String factoryId) { + if (factoryId == null || factoryId.length() == 0) { + throw new RuntimeException("企业id不可以为空"); + } + List archivesFactories = list(new QueryWrapper().eq("factory_id", factoryId)); + + List addList = new ArrayList<>(); + + for (PcArchivesFactory.Archives value : PcArchivesFactory.Archives.values()) { + long count = archivesFactories.stream().filter(o -> o.getArchivesCode().equals(value.getCode())).count(); + if (count == 0) { + PcArchivesFactory af = new PcArchivesFactory(); + af.setFactoryId(factoryId); + af.setType(value.getType().getCode()); + af.setArchivesCode(value.getCode()); + af.setHide("0"); + af.setFollow("0"); + addList.add(af); + } + } + if (!addList.isEmpty()) { + saveBatch(addList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcControlRequirementsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcControlRequirementsServiceImpl.java new file mode 100644 index 0000000..6d45490 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcControlRequirementsServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcControlRequirements; +import cn.cecep.talroad.mapper.PcControlRequirementsMapper; +import cn.cecep.talroad.service.IPcControlRequirementsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 管控要求Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcControlRequirementsServiceImpl extends ServiceImpl implements IPcControlRequirementsService +{ + @Autowired + private PcControlRequirementsMapper pcControlRequirementsMapper; + + /** + * 查询管控要求列表 + * + * @param pcControlRequirements 管控要求 + * @return 管控要求 + */ + @Override + public List selectPcControlRequirementsList(PcControlRequirements pcControlRequirements) + { + return pcControlRequirementsMapper.selectPcControlRequirementsList(pcControlRequirements); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlCoordinateOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlCoordinateOperationLogServiceImpl.java new file mode 100644 index 0000000..c51a0eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlCoordinateOperationLogServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import cn.cecep.talroad.mapper.PcFactoryAccessControlCoordinateOperationLogMapper; +import cn.cecep.talroad.service.IPcFactoryAccessControlCoordinateOperationLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Service +public class PcFactoryAccessControlCoordinateOperationLogServiceImpl extends ServiceImpl implements IPcFactoryAccessControlCoordinateOperationLogService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlServiceImpl.java new file mode 100644 index 0000000..9607267 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryAccessControlServiceImpl.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.mapper.PcFactoryAccessControlMapper; +import cn.cecep.talroad.service.IPcFactoryAccessControlCoordinateOperationLogService; +import cn.cecep.talroad.service.IPcFactoryAccessControlService; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.*; + +/** + * @Description: 企业门禁信息 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Service +public class PcFactoryAccessControlServiceImpl extends ServiceImpl implements IPcFactoryAccessControlService { + @Autowired + private IPcFactoryAccessControlCoordinateOperationLogService pcFactoryAccessControlCoordinateOperationLogService; + @Override + public void editBatch(PcFactoryAccessControl[] pcFactoryAccessControlArr) { + List pcFactoryAccessControlList = Arrays.asList(pcFactoryAccessControlArr); + + //记录操作日志 + List logList = new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + pcFactoryAccessControlList.forEach(e -> { + PcFactoryAccessControlCoordinateOperationLog log = new PcFactoryAccessControlCoordinateOperationLog(); + queryWrapper.clear(); + queryWrapper.eq("factory_id",e.getFactoryId()); + queryWrapper.eq("access_control_code",e.getAccessControlCode()); + PcFactoryAccessControl pcFactoryAccessControl = baseMapper.selectOne(queryWrapper); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + log.setLogId(uuid); + log.setFactoryId(pcFactoryAccessControl.getFactoryId()); + log.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + log.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + log.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + log.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + log.setAccessControlName(pcFactoryAccessControl.getAccessControlName()); + log.setBeforeModifyLag(StrUtil.toStringOrNull(pcFactoryAccessControl.getAccessControlLat())); + log.setBeforeModifyLng(StrUtil.toStringOrNull(pcFactoryAccessControl.getAccessControlLng())); + log.setAccessControlCode(pcFactoryAccessControl.getAccessControlCode()); + log.setAfterModifyLag(StrUtil.toStringOrNull(e.getAccessControlLat())); + log.setAfterModifyLng(StrUtil.toStringOrNull(e.getAccessControlLng())); + logList.add(log); + }); + baseMapper.updateBatchCoordinate(pcFactoryAccessControlList); + pcFactoryAccessControlCoordinateOperationLogService.saveBatch(logList); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryCoordinateOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryCoordinateOperationLogServiceImpl.java new file mode 100644 index 0000000..70d2b15 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryCoordinateOperationLogServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcFactoryCoordinateOperationLog; +import cn.cecep.talroad.mapper.PcFactoryCoordinateOperationLogMapper; +import cn.cecep.talroad.service.IPcFactoryCoordinateOperationLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@Service +public class PcFactoryCoordinateOperationLogServiceImpl extends ServiceImpl implements IPcFactoryCoordinateOperationLogService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantEmissionsRankServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantEmissionsRankServiceImpl.java new file mode 100644 index 0000000..e6f5d87 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantEmissionsRankServiceImpl.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.cecep.talroad.mapper.PcFactoryPollutantEmissionsRankMapper; +import cn.cecep.talroad.service.IPcFactoryPollutantEmissionsRankService; +import cn.cecep.talroad.vo.IndustryEmissionTrackingOverviewVo; +import cn.cecep.talroad.vo.query.PcFactoryPollutantEmissionsRankQuery; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + + +/** + * 污染排放跟踪(实际排放/许可排放)Service业务层处理 + * + * @author szhpt + * @date 2023-02-10*/ +@Service +public class PcFactoryPollutantEmissionsRankServiceImpl extends ServiceImpl implements IPcFactoryPollutantEmissionsRankService +{ + @Autowired + private PcFactoryPollutantEmissionsRankMapper pcFactoryPollutantEmissionsRankMapper; + + /** + * 查询污染排放跟踪(实际排放/许可排放)列表 + * + * @param pcFactoryPollutantEmissionsRank 污染排放跟踪(实际排放/许可排放) + * @return 污染排放跟踪(实际排放/许可排放) + */ + @Override + public List selectPcFactoryPollutantEmissionsRankList(PcFactoryPollutantEmissionsRank pcFactoryPollutantEmissionsRank) + { + return pcFactoryPollutantEmissionsRankMapper.selectPcFactoryPollutantEmissionsRankList(pcFactoryPollutantEmissionsRank); + } + + @Override + public List selectRankList(PcFactoryPollutantEmissionsRankQuery pcFactoryPollutantEmissionsRank) { + String factoryId = pcFactoryPollutantEmissionsRank.getFactoryId(); + String dataSource = pcFactoryPollutantEmissionsRank.getDataSource(); + + List industryEmissionTrackingOverviewVos = pcFactoryPollutantEmissionsRankMapper.selectRankList(factoryId, StringUtils.equals(dataSource, "1") ? "执行报告" : "系统核算"); + return industryEmissionTrackingOverviewVos.stream() + .map(x -> { + PcFactoryPollutantEmissionsRank rank = new PcFactoryPollutantEmissionsRank(); + rank.setFactoryId(factoryId); + rank.setPollName(x.getPollName()); + rank.setEmissionsActual(String.valueOf(Objects.isNull(x.getEmissionsActual()) ? BigDecimal.ZERO : x.getEmissionsActual().setScale(4, RoundingMode.HALF_UP))); + rank.setEmissionsPermit(String.valueOf(Objects.isNull(x.getEmissionsPermit()) ? BigDecimal.ZERO : x.getEmissionsPermit().setScale(4, RoundingMode.HALF_UP))); + rank.setEmissionsRatio(String.valueOf(Objects.isNull(x.getCalculate()) ? BigDecimal.ZERO : x.getCalculate().multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP))); + rank.setEmissionsRank(String.valueOf(x.getRank())); + return rank; + + }) + .collect(Collectors.toList()); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantServiceImpl.java new file mode 100644 index 0000000..0a4e999 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryPollutantServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcFactoryPollutant; +import cn.cecep.talroad.mapper.PcFactoryPollutantMapper; +import cn.cecep.talroad.service.IPcFactoryPollutantService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业与污染物关系Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcFactoryPollutantServiceImpl extends ServiceImpl implements IPcFactoryPollutantService +{ + @Autowired + private PcFactoryPollutantMapper pcFactoryPollutantMapper; + + /** + * 查询企业与污染物关系列表 + * + * @param pcFactoryPollutant 企业与污染物关系 + * @return 企业与污染物关系 + */ + @Override + public List selectPcFactoryPollutantList(PcFactoryPollutant pcFactoryPollutant) + { + return pcFactoryPollutantMapper.selectPcFactoryPollutantList(pcFactoryPollutant); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryServiceImpl.java new file mode 100644 index 0000000..2fd3a64 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryServiceImpl.java @@ -0,0 +1,525 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.IPcAdslFactoryService; +import cn.cecep.talroad.service.IPcFactoryCoordinateOperationLogService; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.analysis.FactoryOutletVo; +import cn.cecep.talroad.vo.query.PcFactoryQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.collections4.ListUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 企业基本信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-11*/ +@Service +public class PcFactoryServiceImpl extends ServiceImpl implements IPcFactoryService +{ + + @Autowired + private BasDeviceMapper deviceMapper; + + @Autowired + private PcLabelFactoryMapper labelFactoryMapper; + + @Autowired + private PcFactoryMapper pcFactoryMapper; + + @Autowired + private IPcAdslFactoryService iPcAdslFactoryService; + + @Autowired + private PcAdslFactoryMapper pcAdslFactoryMapper; + + @Autowired + private PcLabelMapper labelMapper; + + @Autowired + private PcLabelValueMapper labelValueMapper; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + @Autowired + private PcIndustryMapper pcIndustryMapper; + @Autowired + private IPcFactoryCoordinateOperationLogService pcFactoryCoordinateOperationLogService; + + @Override + public List> getDeviceType(String id) { + PcFactory factory = getById(id); + + if (factory == null || StringUtils.isEmpty(factory.getIndustryCategory())) { + return new ArrayList<>(); + } + List> list = deviceMapper.selectDeviceType(factory.getIndustryCategory()); + list.forEach(o -> o.put("industry", factory.getIndustryCategory())); + return list; + } + + /** + * 获取指定企业标签描述 + * @param factoryId + */ + @Override + public List getLabel(String factoryId, Boolean isMain) { + List list = getLabel(Arrays.asList(factoryId), isMain).get(factoryId); + return list == null ? new ArrayList<>() : list; + } + + /** + * 批量获取指定企业标签描述 + * @param factoryIds + */ + @Override + public Map> getLabel(List factoryIds, Boolean isMain) { + Map> factoryMap = new HashMap<>(); + if (factoryIds.isEmpty()) { + return factoryMap; + } + + QueryWrapper wrapper = new QueryWrapper().in("factory_id", factoryIds); + if (isMain != null) { + wrapper.eq("lable_useing", isMain ? "1" : "0"); + } + wrapper.orderByAsc("label_id"); + + // 获取企业与标签中间表的数据 + List labelFactories = labelFactoryMapper.selectList(wrapper); + if (labelFactories.isEmpty()) { + return factoryMap; + } + + // 获取标签本身 + List pcLabels = labelMapper.selectBatchIds(labelFactories.stream().map(PcLabelFactory::getLabelId).collect(Collectors.toSet())); + if (pcLabels.isEmpty()) { + return factoryMap; + } + + // 标签值 + List labelValues = labelValueMapper.selectList( + new QueryWrapper().in("label_id", pcLabels.stream().map(PcLabel::getId).collect(Collectors.toList()))); + + // 按照企业分组 + Map> groupMap = labelFactories.stream().collect(Collectors.groupingBy(PcLabelFactory::getFactoryId)); + + groupMap.forEach((factoryId, labelFactoryList) -> { + List labels = new ArrayList<>(); + + for (PcLabelFactory lf : labelFactoryList) { + PcLabel pcLabel = pcLabels.stream().filter(label -> label.getId().equals(lf.getLabelId())).findFirst().orElse(null); + + // 标签不存在 + if (pcLabel == null) { + continue; + } + + // 标签值不为空 + if (!StringUtils.isEmpty(lf.getLabelValue())) { + List values = Arrays.asList(lf.getLabelValue().split(",")); + + List collect = labelValues.stream() + .filter(lv -> lv.getLabelId().equals(lf.getLabelId()) && values.contains(lv.getArgumentsCode())) + .collect(Collectors.toList()); + + // 标签值无效(pc_label_value表中未记录) + if (collect.isEmpty()) { + // 忽略 + } else { + // 获取有别名的标签值 + List aliasList = collect.stream().filter(o -> StringUtils.isNotEmpty(o.getLabelAlias())).collect(Collectors.toList()); + // 标签值没有别名,展示标签值,否则展示别名 + if (aliasList.isEmpty()) { + labels.add(collect.stream().map(PcLabelValue::getArgumentsName).collect(Collectors.joining(", "))); + } else { + labels.add(aliasList.stream().map(PcLabelValue::getLabelAlias).collect(Collectors.joining(", "))); + } + } + } + } + factoryMap.put(factoryId, labels); + }); + return factoryMap; + } + + @Override + public PcFactoryVo getInfo(String id) { + PcFactoryQuery query = new PcFactoryQuery(); + query.setId(id); + List pcFactoryVos = baseMapper.selectPcFactoryVoList(query, null,null); + if (CollUtil.isEmpty(pcFactoryVos)) return new PcFactoryVo(); + + PcFactoryVo vo = pcFactoryVos.get(0); + vo.setLabels(getLabel(vo.getId(), true)); + vo.setNonMajorLabels(getLabel(vo.getId(), false)); + vo.setLabelStr(String.join( ",", vo.getLabels())); + vo.setRegionStr((vo.getCityName() == null ? "" : vo.getCityName()) + (vo.getCountryName() == null ? "" : vo.getCountryName())); + return vo; + } + + /** + * 若标签关联了企业表字段,则需要生成这些字段的企业标签数据,保证企业表数据与企业标签数据一致 + */ + @Override + public void batchCreateLabel() { + // 找到所有factory_field不为空的记录 + List pcLabels = labelMapper.selectList(new QueryWrapper().isNotNull("factory_field").ne("factory_field", "")); + + if (pcLabels.isEmpty()) { + return; + } + // 所有企业 + List factories = list(); + + // 企业标签表数据 + List labelFactories = labelFactoryMapper.selectList(new QueryWrapper() + .in("label_id", pcLabels.stream().map(PcLabel::getId).collect(Collectors.toList()))); + + // 根据企业和标签的组合分组 + Map labelFactoryMap = labelFactories.stream() + .collect(Collectors.toMap(o -> o.getFactoryId() + "_" + o.getLabelId(), o -> o)); + + List addList = new ArrayList<>(); // 新增的企业标签 + List updateList = new ArrayList<>(); // 修改的企业标签 + + for (PcFactory factory : factories) { + for (PcLabel pcLabel : pcLabels) { + String value = BeanUtil.getProperty(factory, pcLabel.getFactoryField()); + + PcLabelFactory lf = labelFactoryMap.get(factory.getId() + "_" + pcLabel.getId()); + if (lf == null) { + lf = new PcLabelFactory(); + lf.setFactoryId(factory.getId()); + lf.setLabelId(pcLabel.getId()); + lf.setLableUseing("1"); + lf.setLabelValue(value); + lf.setId(UUID.randomUUID().toString()); + addList.add(lf); + } else { + // 企业表字段与标签值数据不一致 + if (!Objects.equals(value, lf.getLabelValue())) { + lf.setLabelValue(value); + updateList.add(lf); + } + } + } + } + if (!addList.isEmpty()) { + List> partition = ListUtils.partition(addList, 2000); + for (List pcLabelFactories : partition) { + labelFactoryMapper.batchSave(pcLabelFactories); + } + } + if (!updateList.isEmpty()) { + List> partition = ListUtils.partition(updateList, 2000); + for (List pcLabelFactories : partition) { + labelFactoryMapper.batchUpdateValue(pcLabelFactories); + } + } + } + + @Override + public void timingUpdateAdslFactory() { + //查询所有企业 1000分页 遍历 + int offset = 0; + int limit = 1000; + + // 清空表 + pcAdslFactoryMapper.truncateAll(); + // 插入各个类型的数据 + pcAdslFactoryMapper.onlineAdsl(); + pcAdslFactoryMapper.elecAdsl(); + pcAdslFactoryMapper.dcsAdsl(); + pcAdslFactoryMapper.inorgAdsl(); + pcAdslFactoryMapper.videoAdsl(); + pcAdslFactoryMapper.dynamicAdsl(); + pcAdslFactoryMapper.doorAdsl(); + +// //删除企业下 所有关系 改为删除所有数据重新录入 +// pcAdslFactoryMapper.delete(null); +// +// List pcFactories = pcFactoryMapper.selectList(Wrappers.lambdaQuery().select(PcFactory::getId).orderByAsc(PcFactory::getId).last("limit "+ limit +" offset " + offset)); +// while (CollectionUtils.isNotEmpty(pcFactories)) { +// ((PcFactoryServiceImpl)AopContext.currentProxy()).disposeAdslFactory(pcFactories); +// +// //循环更新后面的企业 +// offset += limit; +// pcFactories = pcFactoryMapper.selectList(Wrappers.lambdaQuery().select(PcFactory::getId).last("limit "+ limit +" offset " + offset)); +// } + + //1 在线监测 A001 + //2 分表计电 A002 + //3 工况监控 A003 + //4 无组织监控A004 + //5 视频监控 A005 + //6 动态管控 A006 + //7 门禁监控 A007 + + } + + @Override + public PcFactory selectPcFactoryById(String factoryId) { + return pcFactoryMapper.selectPcFactoryById(factoryId); + } + + @Override + public List getWarningRank() { + // TODO 分表计电报警未接数据 + List list = new ArrayList<>(); + list.add(new PcFactoryVo.WarningRank("乐亭渤乐畜禽养殖专业合作社", 98L)); + list.add(new PcFactoryVo.WarningRank("广生建材装饰商店", 67L)); + list.add(new PcFactoryVo.WarningRank("迁西县融丰再生资源有限公司", 65L)); + list.add(new PcFactoryVo.WarningRank("唐山金悦食品有限公司", 42L)); + list.add(new PcFactoryVo.WarningRank("玉田县鸦鸿桥镇国永雨衣加工部", 31L)); + list.add(new PcFactoryVo.WarningRank("遵化市平安城镇建营食用菌种植场", 21L)); + list.add(new PcFactoryVo.WarningRank("曹文坤养殖场", 21L)); + list.add(new PcFactoryVo.WarningRank("唐山市远芳食品厂", 13L)); + list.add(new PcFactoryVo.WarningRank("唐山市丰南区侉子庄富强拉丝厂", 13L)); + list.add(new PcFactoryVo.WarningRank("吴艳涛养猪场", 12L)); + return list; + } + + @Override + public FactoryOutletVo selectByFactoryAndOutletId(String factoryId, String outletId) { + return pcFactoryMapper.selectByFactoryAndOutletId(factoryId,outletId); + } + + @Override + public void editBatch(PcFactory[] pcFactoryArr) { + List pcFactoryList = Arrays.asList(pcFactoryArr); + //记录操作日志 + List logList = new ArrayList<>(); + pcFactoryList.forEach(e -> { + PcFactoryCoordinateOperationLog log = new PcFactoryCoordinateOperationLog(); + PcFactory pcFactory = this.getById(e.getId()); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + log.setLogId(uuid); + log.setFactoryId(pcFactory.getId()); + log.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + log.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + log.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + log.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + log.setFactoryName(pcFactory.getFactoryName()); + log.setBeforeModifyLag(StrUtil.toStringOrNull(pcFactory.getProductionLat())); + log.setBeforeModifyLng(StrUtil.toStringOrNull(pcFactory.getProductionLon())); + log.setAfterModifyLag(StrUtil.toStringOrNull(e.getProductionLat())); + log.setAfterModifyLng(StrUtil.toStringOrNull(e.getProductionLon())); + logList.add(log); + }); + baseMapper.updateBatchCoordinate(pcFactoryList); + pcFactoryCoordinateOperationLogService.saveBatch(logList); + } + + @Override + public PcFactoryLicensingStatusVo licenSingStatusList() { + PcFactoryLicensingStatusVo pcFactoryLicensingStatusVo = pcFactoryMapper.factoryLicensingStatus(); + List pcCountryLicensingStatusVos = pcFactoryMapper.countryLicensingStatus(); + pcFactoryLicensingStatusVo.setPcCountryLicensingStatusVo(pcCountryLicensingStatusVos); + return pcFactoryLicensingStatusVo; + } + + @Override + public PcProfessionLicensingStatusVo professionStatusChart() { + PcProfessionLicensingStatusVo pcProfessionLicensingStatusVo = new PcProfessionLicensingStatusVo(); + List pcIndustries = pcIndustryMapper.selectList(new QueryWrapper().orderByAsc("order_num")); + List dataX = pcIndustries.stream().map(PcIndustry::getIndusName).collect(Collectors.toList()); + pcProfessionLicensingStatusVo.setDataX(dataX); + Map licenseManType = MapUtil.builder() + .put("FOCUS", "重点管理") + .put("SIMPLIFY", "简化管理") + .put("REGISTER", "登记管理") + .build(); + List> seriesList = new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + for (String type : licenseManType.keySet()) { + Map series = new HashMap<>(); + series.put("name",licenseManType.get(type)); + List dataList = new ArrayList<>(); + for (PcIndustry pcIndustry : pcIndustries) { + queryWrapper.clear(); + queryWrapper.eq("license_man_type",type); + queryWrapper.eq("industry_category",pcIndustry.getIndusCode()); + Integer count = pcFactoryMapper.selectCount(queryWrapper); + dataList.add(count); + } + series.put("data",dataList); + seriesList.add(series); + } + pcProfessionLicensingStatusVo.setSeries(seriesList); + return pcProfessionLicensingStatusVo; + } + + // @Transactional(rollbackFor=Exception.class) 数据配置太低 无法支持事务处理方式 暂时去掉 + public void disposeAdslFactory(List pcFactories) { + Set factoryIds = pcFactories.stream().map(x -> { + return x.getId(); + }).collect(Collectors.toSet()); + +// pcFactoryMapper.selectList(Wrappers.lambdaQuery().in(PcFactory::getFactoryName, factoryIds)); + if (CollectionUtils.isNotEmpty(factoryIds)) { + List pcAdslFactories = pcFactoryMapper.selectSourceIsHaveDataByFacIds(factoryIds); + + //更新企业与数据源的关系 + for (PcAdslFactory pcAdslFactory : pcAdslFactories) { + try { + iPcAdslFactoryService.save(pcAdslFactory); + } catch (Exception e) { + log.error("更新企业与数据源的关系失败 : " + e.toString() +"信息" + pcAdslFactory.toString()); + } + } + } + } + + @Override + public List search(Page page, PcFactoryQuery.SearchVo searchVo, String home,String regionCode) { + String factoryName = searchVo.getFactoryName(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + List pcFactoryVos = new ArrayList<>(); + + // 若未指定标签,直接查询企业表 + if (searchVo.getLabelMap() == null || searchVo.getLabelMap().size() == 0) { + PcFactoryQuery query = new PcFactoryQuery(); + query.setFactoryName(factoryName); + + if (page == null) { + pcFactoryVos = baseMapper.selectPcFactoryVoList(query,home,regionCodes); + } else { + pcFactoryVos = baseMapper.selectPcFactoryVoPage(page, query, home,regionCodes); + } + } else { + Map> labelMap = new HashMap<>(); + + // 将Map转换为Map> + searchVo.getLabelMap().forEach((key, value) -> { + List l = new ArrayList<>(); + if (value instanceof Collection) { + Collection c = (Collection) value; + c.forEach(o -> l.add(o.toString())); + } else { + l.add(value.toString()); + } + labelMap.put(key, l); + }); + List labelFactories = labelFactoryMapper.selectLabelFactory(factoryName, labelMap.keySet()); + + // 按照企业分组 + Map> factoryMap = labelFactories.stream().collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, LinkedHashMap::new, Collectors.toList())); + + // 根据标签过滤企业 + List factoryIds = factoryMap.entrySet().stream().filter(entry -> { + // 遍历所有页面传入的标签,判断企业是否都满足 + for (String labelId : labelMap.keySet()) { + PcLabelFactory lf = entry.getValue().stream().filter(o -> o.getLabelId().equals(labelId)).findFirst().orElse(null); + // 企业不存在该标签,不满足条件 + if (lf == null) { + return false; + } + // 标签值为空,不满足条件 + if (StringUtils.isEmpty(lf.getLabelValue())) { + return false; + } + // 企业某项标签值可能有多个,表中存储时会用逗号分隔 + String[] factoryLabelValues = lf.getLabelValue().split(","); + List inputLabelValues = labelMap.get(labelId); + + // 若标签是“包含数据类型”,需要满足并且的关系,其余标签满足或的关系 + if (labelId.equals("105")) { + for (String s : inputLabelValues) { + boolean exists = false; + for (String flv : factoryLabelValues) { + if (s.equals(flv)) { + exists = true; + break; + } + } + if (!exists) { + return false; + } + } + } else { + // 企业的标签值与页面传入的标签值是否存在交集,默认不存在 + boolean exists = false; + + for (String s : inputLabelValues) { + for (String flv : factoryLabelValues) { + if (s.equals(flv)) { + exists = true; + break; + } + } + if (exists) { + break; + } + } + // 标签值不存在交集,不满足条件 + if (!exists) { + return false; + } + } + } + return true; + }).map(Map.Entry::getKey).collect(Collectors.toList()); + + if (page != null) { + page.setTotal(factoryIds.size()); + factoryIds = factoryIds.stream() + // 分页 + .skip((page.getCurrent() - 1) * page.getSize()) + .limit(page.getSize()) + .collect(Collectors.toList()); + } + + if (!factoryIds.isEmpty()) { + PcFactoryQuery query = new PcFactoryQuery(); + query.setIds(factoryIds); + pcFactoryVos = baseMapper.selectPcFactoryVoList(query, home,regionCodes); + } + } + if (page != null) { + page.setRecords(pcFactoryVos); + } + + if (searchVo.getShowMainLable() != null && searchVo.getShowMainLable()) { + // >> 获取指定企业重点标签 + Map> mainLabel = getLabel(pcFactoryVos.stream().map(PcFactoryVo::getId).collect(Collectors.toList()), true); + + pcFactoryVos.forEach(vo -> { + List list = mainLabel.get(vo.getId()); + vo.setLabels(list == null ? new ArrayList<>() : list); + vo.setLabelStr(String.join( ",", vo.getLabels())); + }); + } + pcFactoryVos.forEach(vo -> { + vo.setRegionStr((vo.getCityName() == null ? "" : vo.getCityName()) + (vo.getCountryName() == null ? "" : vo.getCountryName())); + }); + return pcFactoryVos; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryWasteEmissionsRankServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryWasteEmissionsRankServiceImpl.java new file mode 100644 index 0000000..5edbe37 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcFactoryWasteEmissionsRankServiceImpl.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcFactoryWasteEmissionsRank; +import cn.cecep.talroad.mapper.PcFactoryWasteEmissionsRankMapper; +import cn.cecep.talroad.service.IPcFactoryWasteEmissionsRankService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + + +/** + * 污染排放跟踪(实际排放/许可排放)Service业务层处理 + * + * @author szhpt + * @date 2023-02-10*/ +@Service +public class PcFactoryWasteEmissionsRankServiceImpl extends ServiceImpl implements IPcFactoryWasteEmissionsRankService +{ + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcIndustryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcIndustryServiceImpl.java new file mode 100644 index 0000000..9060bae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcIndustryServiceImpl.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcIndustry; +import cn.cecep.talroad.mapper.PcIndustryMapper; +import cn.cecep.talroad.service.IPcIndustryService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 行业Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcIndustryServiceImpl extends ServiceImpl implements IPcIndustryService +{ + @Autowired + private PcIndustryMapper pcIndustryMapper; + + /** + * 查询行业列表 + * + * @param pcIndustry 行业 + * @return 行业 + */ + @Override + public List selectPcIndustryList(PcIndustry pcIndustry) + { + return pcIndustryMapper.selectPcIndustryList(pcIndustry); + } + + @Override + public List industryPermissionList(PcIndustry pcIndustry) { + return pcIndustryMapper.industryPermissionList(pcIndustry); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelFactoryServiceImpl.java new file mode 100644 index 0000000..b7d1e6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelFactoryServiceImpl.java @@ -0,0 +1,1637 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.IPcLabelFactoryService; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import cn.cecep.talroad.vo.FactoryLicenseVo; +import cn.cecep.talroad.vo.PcControlRequirementsVo; +import cn.cecep.talroad.vo.WarningEnvGasMonRealVo; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.reflect.MethodHandleUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; +import org.springframework.transaction.annotation.Transactional; + + +/** + * 特征标签-与企业关系中间Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Slf4j +@Service +public class PcLabelFactoryServiceImpl extends ServiceImpl implements IPcLabelFactoryService +{ + @Autowired + private PcLabelFactoryMapper pcLabelFactoryMapper; + @Autowired + private PcFactoryMapper pcFactoryMapper; + @Autowired + private PcLabelMapper pcLabelMapper; + @Autowired + private PcLabelValueMapper pcLabelValueMapper; + @Autowired + private BMainAllowablePollutionAirMapper bMainAllowablePollutionAirMapper; + @Autowired + private PcControlRequirementsMapper pcControlRequirementsMapper; + @Autowired + private AmDoorMonitorAccountFiMapper amDoorMonitorAccountFiMapper; + @Autowired + private BMainAllowablePollutionWaterMapper bMainAllowablePollutionWaterMapper; + @Autowired + private PcOutletMapper pcOutletMapper; + + @Autowired + private BMainPollDisMapper bMainPollDisMapper; + @Autowired + private PcAdslFactoryMapper pcAdslFactoryMapper; + @Autowired + private MAmVideoDevFiMapper mAmVideoDevFiMapper; + @Autowired + private BaseControlConcentStandardsMapper baseControlConcentStandardsMapper; + @Autowired + private EarlyWarningMapper earlyWarningMapper; + /** + * 查询特征标签-与企业关系中间列表 + * + * @param pcLabelFactory 特征标签-与企业关系中间 + * @return 特征标签-与企业关系中间 + */ + @Override + public List selectPcLabelFactoryList(PcLabelFactory pcLabelFactory) + { + return pcLabelFactoryMapper.selectPcLabelFactoryList(pcLabelFactory); + } + + @Override + public void updateLabelStatus() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + //生产类型 + if (StringUtils.isNotBlank(item.getProductionStatus())) { + pcLabelFactories.add(LabelFactoryEnum.BASE003.pcLabelFactory(item.getId(), pcLabelsMap, item.getProductionStatus(), "0", pcLabelFactory)); + } + //是否重点排污单位 + if (StringUtils.isNotBlank(item.getWipollunit())) { + pcLabelFactories.add(LabelFactoryEnum.BASE004.pcLabelFactory(item.getId(), pcLabelsMap, item.getWipollunit(), "1", pcLabelFactory)); + } + //重点排污单位名录类别 + pcLabelFactories.add(LabelFactoryEnum.BASE005.pcLabelFactory(item.getId(),pcLabelsMap,item.getWipollunitType(),"1",pcLabelFactory)); + //许可管理类别 + if (StringUtils.isNotBlank(item.getLicenseManType())){ + pcLabelFactories.add(LabelFactoryEnum.BASE006.pcLabelFactory(item.getId(),pcLabelsMap,item.getLicenseManType(),"1",pcLabelFactory)); + } + //许可是否整改 + if (StringUtils.isNotBlank(item.getLicenseWabarbeitung())){ + pcLabelFactories.add(LabelFactoryEnum.BASE007.pcLabelFactory(item.getId(),pcLabelsMap,item.getLicenseWabarbeitung(),"1",pcLabelFactory)); + } + //管控级别 + if (StringUtils.isNotBlank(item.getPreConLevel())){ + pcLabelFactories.add(LabelFactoryEnum.BASE008.pcLabelFactory(item.getId(),pcLabelsMap,item.getPreConLevel(),"1",pcLabelFactory)); + } + //生态环境信用级别 + if (StringUtils.isNotBlank(item.getEcoEnvCreditLevel())){ + pcLabelFactories.add(LabelFactoryEnum.BASE009.pcLabelFactory(item.getId(),pcLabelsMap,item.getEcoEnvCreditLevel(),"0",pcLabelFactory)); + } + //所在地是否属于大气重点控制区 + if (StringUtils.isNotBlank(item.getWhetherLocalKeyAri())){ + pcLabelFactories.add(LabelFactoryEnum.BASE011.pcLabelFactory(item.getId(),pcLabelsMap,item.getWhetherLocalKeyAri().equals("是")?"AIR_CONTROL":"NON_AIR_CONTROL","0",pcLabelFactory)); + } + //所在地是否属于总磷控制区 + if (StringUtils.isNotBlank(item.getWhetherLocalKeyPho())){ + pcLabelFactories.add(LabelFactoryEnum.BASE012.pcLabelFactory(item.getId(),pcLabelsMap,item.getWhetherLocalKeyPho().equals("是")?"P_CONTROL":"NON_P_CONTROL","0",pcLabelFactory)); + } + //所在地是否属于总氮控制区 + if (StringUtils.isNotBlank(item.getWhetherLocalKeyNitrogen())){ + pcLabelFactories.add(LabelFactoryEnum.BASE013.pcLabelFactory(item.getId(),pcLabelsMap,item.getWhetherLocalKeyNitrogen().equals("是")?"N_CONTROL":"NON_P_CONTROL","0",pcLabelFactory)); + } + //所在地是否属于重金属污染物特别排放限值实施区域 + if (StringUtils.isNotBlank(item.getWhetherLocalKeyPollArea())){ + pcLabelFactories.add(LabelFactoryEnum.BASE014.pcLabelFactory(item.getId(),pcLabelsMap,item.getWhetherLocalKeyPollArea().equals("是")?"METAL":"NON_METAL","0",pcLabelFactory)); + } + //是否位于工业园区 + if (StringUtils.isNotBlank(item.getWhetherLocalPark())){ + pcLabelFactories.add(LabelFactoryEnum.BASE015.pcLabelFactory(item.getId(),pcLabelsMap,item.getWhetherLocalPark().equals("是")?"IN_PARK":"NOT_IN_PARK","0",pcLabelFactory)); + } + //涉源类型 + if (StringUtils.isNotBlank(item.getMajorPollutantCategories())) { + pcLabelFactories.add(LabelFactoryEnum.PF007.pcLabelFactory(item.getId(), pcLabelsMap, majorCategories(item.getMajorPollutantCategories()), "0", pcLabelFactory)); + } + }); + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); + + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(StringUtils.isNotBlank(stringListMap.get(item.getLabelId()).get(0).getLabelValue())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + + } + private String majorCategories(String value){ + List list=new ArrayList<>(); + if(value.contains("fq")){ + list.add("1020"); + } + if(value.contains("fs")){ + list.add("1019"); + } + if(value.contains("gf")){ + list.add("1021"); + } + if(value.contains("wf")){ + list.add("1022"); + } + return String.join(",", list); + } + + @Override + public void statisticsAirWastewater() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE020.getEnumId())); + PcLabel waterMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE021.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + HashSet airMain = new HashSet(); + HashSet waterMain = new HashSet(); + + pcFactories.forEach(item->{ + //大气主要污染物种类 + if (StringUtils.isNotBlank(item.getAirMainPollutants())) { + pcLabelFactories.add(LabelFactoryEnum.BASE020.pcLabelFactory(item.getId(), pcLabelsMap, item.getAirMainPollutants().replace(",", ","), "0", pcLabelFactory)); + airMain.addAll(Arrays.asList(item.getAirMainPollutants().replace(",", ",").split(","))); + } + //废水主要污染物种类 + if (StringUtils.isNotBlank(item.getWaterMainPollutants())) { + pcLabelFactories.add(LabelFactoryEnum.BASE021.pcLabelFactory(item.getId(), pcLabelsMap, item.getWaterMainPollutants().replace(",", ","), "0", pcLabelFactory)); + waterMain.addAll(Arrays.asList(item.getWaterMainPollutants().replace(",", ",").split(","))); + } + }); + //标签值动态绑定--------------------------------------------------------------------------- + //去重 +// List airMainCollect = airMain.stream().distinct().collect(Collectors.toList()); + AtomicInteger orderNum= new AtomicInteger(); + //先删除大气污染物 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + //每次进行新增 + List pcLabelValueAir=new ArrayList<>(); + airMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(airMainCode.getId()); + pcLabelValue.setArgumentsCode(item); + pcLabelValue.setArgumentsName(item); + pcLabelValue.setOrderNum(orderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueAir.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueAir)){ + List> partition = ListUtil.partition(pcLabelValueAir, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增大气污染物的标签值{}",pcLabelValueAir.size()); + } + //去重 +// List waterMainCollect = waterMain.stream().distinct().collect(Collectors.toList()); + //先删除废水污染物 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",waterMainCode.getId())); + AtomicInteger waterOrderNum= new AtomicInteger(); + //每次进行新增 + List pcLabelValueWater=new ArrayList<>(); + waterMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(waterMainCode.getId()); + pcLabelValue.setArgumentsCode(item); + pcLabelValue.setArgumentsName(item); + pcLabelValue.setOrderNum(waterOrderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueWater.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueWater)){ + List> partition = ListUtil.partition(pcLabelValueWater, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增废水污染物的标签值{}",pcLabelValueWater.size()); + } + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); + //先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",waterMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void statisticsLicensed() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + List bMainAllowablePollutionAirs = bMainAllowablePollutionAirMapper.selectLabelBMainAllowablePollutionAir(); + List bMainAllowablePollutionWater = bMainAllowablePollutionWaterMapper.selectLabelWater(); + bMainAllowablePollutionAirs.addAll(bMainAllowablePollutionWater); + Map> pollutionAir = bMainAllowablePollutionAirs.stream().collect(Collectors.groupingBy( BMainAllowablePollutionAir::getFactoryId)); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE022.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + HashSet> airMain = new HashSet<>(); + pcFactories.forEach(item->{ + //有许可总量要求的污染物 + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + HashSet chilePollutant = new HashSet<>(); + bMainAllowablePollutionAirs1.forEach(childItem->{ + Map stringMap=new HashMap<>(); + stringMap.put("code",childItem.getPollutionCategory()); + stringMap.put("name",childItem.getPollName()); + airMain.add(stringMap); + if(StringUtils.isNotBlank(childItem.getTotalFrist())&&!childItem.getTotalFrist().equals("/")){ + chilePollutant.add(childItem.getPollutionCategory()); + } + }); +// if(CollectionUtil.isNotEmpty(chilePollutant)){ + pcLabelFactories.add(LabelFactoryEnum.BASE022.pcLabelFactory(item.getId(), pcLabelsMap,String.join(",", chilePollutant) , "0", pcLabelFactory)); +// } + + } + }); + //标签值动态绑定--------------------------------------------------------------------------- + AtomicInteger orderNum= new AtomicInteger(); + //先删除有许可总量要求的污染物 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + //每次进行新增 + List pcLabelValueList=new ArrayList<>(); + airMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(airMainCode.getId()); + pcLabelValue.setArgumentsCode(item.get("code")); + pcLabelValue.setArgumentsName(item.get("name")); + pcLabelValue.setOrderNum(orderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueList.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueList)){ + List> partition = ListUtil.partition(pcLabelValueList, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增有许可总量要求的污染物的标签值{}",pcLabelValueList.size()); + } + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void statisticseMissions() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF027.getEnumId())); + List bMainAllowablePollutionAirs = pcControlRequirementsMapper.selectLabelRequirements(); + Map> pollutionAir = bMainAllowablePollutionAirs.stream().collect(Collectors.groupingBy( PcControlRequirementsVo::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + AtomicBoolean bol= new AtomicBoolean(false); + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(StringUtils.isNotBlank(childItem.getCommitmentEmissionLim())&&!childItem.getCommitmentEmissionLim().equals("/")){ + bol.set(true); + } + }); + } + pcLabelFactories.add(LabelFactoryEnum.PF027.pcLabelFactory(item.getId(), pcLabelsMap,bol.get()?"P_CNPFXZ":"NON_P_CNPFXZ" , "0", pcLabelFactory)); + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void transportVehicleType() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.JG010.getEnumId())); + LocalDateTime now = LocalDateTime.now(); + String startTime=now.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + ); + String endTime= now.minusWeeks(1).format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + ); + List amDoorMonitorAccountFis = amDoorMonitorAccountFiMapper.selectLabel(endTime,startTime); + Map> pollutionAir = amDoorMonitorAccountFis.stream().collect(Collectors.groupingBy( AmDoorMonitorAccountFiVo::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + bMainAllowablePollutionAirs1.forEach(childItem->{ + pcLabelFactories.add(LabelFactoryEnum.JG010.pcLabelFactory(item.getId(), pcLabelsMap,childItem.getDischargeStage() , "0", pcLabelFactory)); + }); + } + + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void wastewaterDischarge() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF001.getEnumId())); + List pcOutlets = pcOutletMapper.selectLabelRequirements(); + Map> pollutionAir = pcOutlets.stream().collect(Collectors.groupingBy( PcOutlet::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + List stringList=new ArrayList<>(); + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(StringUtils.isNotBlank(childItem.getEmissionsForm())){ + stringList.add(childItem.getEmissionsForm().equals("直接排放")?"1001":"1002"); + } + }); + } + pcLabelFactories.add(LabelFactoryEnum.PF001.pcLabelFactory(item.getId(), pcLabelsMap,String.join(",",stringList) , "0", pcLabelFactory)); + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void receivingWaterBody() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF003.getEnumId())); + List pcOutlets = pcOutletMapper.selectLabelReceivingWaterObjective(); + Map> pollutionAir = pcOutlets.stream().collect(Collectors.groupingBy( PcOutlet::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + HashSet stringList = new HashSet(); + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(StringUtils.isNotBlank(childItem.getReceivingWaterObjective())){ + stringList.add(receivingWaterObjective(childItem.getReceivingWaterObjective())); + } + }); + } + pcLabelFactories.add(LabelFactoryEnum.PF003.pcLabelFactory(item.getId(), pcLabelsMap,String.join(",",stringList) , "0", pcLabelFactory)); + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + private String receivingWaterObjective(String value){ + String str=""; + if(value.contains("Ⅲ类")){ + str="1008"; + } + if(value.contains("III类")){ + str="1008"; + } + if(value.contains("Ⅱ类")){ + str="1007"; + } + if(value.contains("II类")){ + str="1007"; + } + if(value.contains("劣Ⅴ类")){ + str="1011"; + } + if(value.contains("劣V类")){ + str="1011"; + } + if(value.contains("Ⅰ类")){ + str="1006"; + } + if(value.contains("I类")){ + str="1006"; + } + if(value.contains("Ⅴ类")){ + str="1010"; + } + if(value.contains("V类")){ + str="1010"; + } + if(value.contains("Ⅳ类")){ + str= "1009"; + } + if(value.contains("IV类")){ + str= "1009"; + } + return str; + } + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/9 11:13 PM + * @Deseription: 排污许可证是否在有效期内 + * @Params: type = 1 (排污许可证是否在有效期内) type = 2 (许可证有效期不足1个月) + * @Return: + * @Throws: + */ + @Override + public void efficientlyDischargePollutants(Integer type) { + // 查询所有企业 + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper().ne("factory_source",3)); + // 查询所有企业排污许可证办理所对应的时间(不区分业务类型,只取办结时间最新的那一条数据) + List bMainPollDis = bMainPollDisMapper.selectBMainPollDisListByFactory(); + Date nowDate = new Date(); + // key为企业ID,过滤出在有效期内的企业 + Map collect = bMainPollDis.stream() + .filter(x->StringUtils.isNotBlank(x.getPollDisLicenseDeadline()) && x.getPollDisLicenseDeadline().contains("至") && x.getPollDisLicenseDeadline().length() >= 21) + .collect(Collectors.toMap(BMainPollDis::getFactoryId, x->{ + if (1 == type) { + // 截取开始日期 + Date startTime = DateUtils.parseDate(x.getPollDisLicenseDeadline().split("至")[0] + " 00:00:00"); + Date endTime = DateUtils.parseDate(x.getPollDisLicenseDeadline().split("至")[1] + " 23:59:59"); + // 判断当前日期是否在有效期内 + if (nowDate.getTime() >= startTime.getTime() && nowDate.getTime() <= endTime.getTime()) { + return true; + } + } else { + // 截取结束日期 + Date endTime = DateUtils.parseDate(x.getPollDisLicenseDeadline().split("至")[1] + " 23:59:59"); + // 获取结束时间前一个月的日期 + Date startTime = DateUtils.addDateMonths(endTime,-1); + // 判断当前日期是否在有效期内 + if (nowDate.getTime() >= startTime.getTime() && nowDate.getTime() <= endTime.getTime()) { + return true; + } + } + return false; + }, (oldValue, newValue) -> newValue)); + + + List pcLabelFactories = new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory = null; + pcFactories.forEach(item->{ + if(collect.containsKey(item.getId())){ + if (1 == type) { + pcLabelFactories.add(LabelFactoryEnum.JG001.pcLabelFactory(item.getId(), pcLabelsMap, collect.get(item.getId()) ? "1001" : "", "0", pcLabelFactory)); + } else { + pcLabelFactories.add(LabelFactoryEnum.JG002.pcLabelFactory(item.getId(), pcLabelsMap, collect.get(item.getId()) ? "1001" : "", "0", pcLabelFactory)); + } + }else{ + if (1 == type) { + pcLabelFactories.add(LabelFactoryEnum.JG001.pcLabelFactory(item.getId(), pcLabelsMap, "1002", "0", pcLabelFactory)); + } + } + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory = new ArrayList<>(); + //修改集合 + List updateLabelFactory = new ArrayList<>(); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void acceptNature() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + List pcOutlets = pcOutletMapper.selectLabeRreceivingWaterName(); + Map> pollutionAir = pcOutlets.stream().collect(Collectors.groupingBy( PcOutlet::getFactoryId)); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF002.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + HashSet> airMain = new HashSet<>(); + pcFactories.forEach(item->{ + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + HashSet chilePollutant = new HashSet<>(); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(StringUtils.isNotBlank(childItem.getReceivingWaterName())&&!childItem.getReceivingWaterName().equals("/")){ + Map stringMap=new HashMap<>(); + stringMap.put("code",childItem.getReceivingWaterName()); + stringMap.put("name",childItem.getReceivingWaterName()); + airMain.add(stringMap); + chilePollutant.add(childItem.getReceivingWaterName()); + } + }); +// if(CollectionUtil.isNotEmpty(chilePollutant)){ + pcLabelFactories.add(LabelFactoryEnum.PF002.pcLabelFactory(item.getId(), pcLabelsMap,String.join(",", chilePollutant) , "0", pcLabelFactory)); +// } + + } + }); + //标签值动态绑定--------------------------------------------------------------------------- + AtomicInteger orderNum= new AtomicInteger(); + //先删除有许可总量要求的污染物 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + //每次进行新增 + List pcLabelValueList=new ArrayList<>(); + airMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(airMainCode.getId()); + pcLabelValue.setArgumentsCode(item.get("code")); + pcLabelValue.setArgumentsName(item.get("name")); + pcLabelValue.setOrderNum(orderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueList.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueList)){ + List> partition = ListUtil.partition(pcLabelValueList, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增有许可总量要求的污染物的标签值{}",pcLabelValueList.size()); + } + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + // 直排海企业 + private final String [] zpqy = {"唐山三友化工股份有限公司纯碱分公司","华润电力(唐山曹妃甸)有限公司","首钢京唐钢铁联合有限责任公司","厦门水务乐亭城建投资有限公司" + ,"河北大唐国家王滩发电有限责任公司","曹妃甸中石油京唐液化天然气有限公司"}; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/10 1:25 AM + * @Deseription: 是否为直排海企业 + * @Params: null + * @Return: + * @Throws: + */ + @Override + public void isDirectDischargeEnterprises() { + // 查询所有企业 + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + + List pcLabelFactories = new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory = null; + pcFactories.forEach(item->{ + if (Arrays.asList(zpqy).contains(item.getFactoryName())) { + pcLabelFactories.add(LabelFactoryEnum.PF004.pcLabelFactory(item.getId(), pcLabelsMap, "1012", "0", pcLabelFactory)); + } else { + pcLabelFactories.add(LabelFactoryEnum.PF004.pcLabelFactory(item.getId(), pcLabelsMap, "1013", "0", pcLabelFactory)); + } + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory = new ArrayList<>(); + //修改集合 + List updateLabelFactory = new ArrayList<>(); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void monitoringEquipment() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.JG011.getEnumId())); + List amDoorMonitorAccountFis = pcControlRequirementsMapper.selectLabelOnlineRequirements(); + List onlineOutPoll = pcControlRequirementsMapper.selectLabelOnlineOutPoll(); + Map> pollutionOut = onlineOutPoll.stream().collect(Collectors.groupingBy( v -> v.getId() + "_" + v.getPollutantId())); + Map> pollutionAir = amDoorMonitorAccountFis.stream().collect(Collectors.groupingBy( PcControlRequirementsVo::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + if(pollutionAir.containsKey(item.getId())){ + AtomicBoolean bol= new AtomicBoolean(true); + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(!pollutionOut.containsKey(childItem.getOutletId()+ "_" +childItem.getPollutantId())){ + bol.set(false); + }; + }); + pcLabelFactories.add(LabelFactoryEnum.JG011.pcLabelFactory(item.getId(), pcLabelsMap,bol.get()?"1001":"1002" , "0", pcLabelFactory)); + } + + }); + + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void selectAdslFactory() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE023.getEnumId())); + List pcOutlets = pcAdslFactoryMapper.selectList(new QueryWrapper<>()); + Map> pollutionAir = pcOutlets.stream().collect(Collectors.groupingBy( PcAdslFactory::getFactoryId)); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + pcFactories.forEach(item->{ + if(pollutionAir.containsKey(item.getId())){ + List bMainAllowablePollutionAirs1 = pollutionAir.get(item.getId()); + HashSet chilePollutant = new HashSet<>(); + bMainAllowablePollutionAirs1.forEach(childItem->{ + if(StringUtils.isNotBlank(childItem.getAdslCode())){ + chilePollutant.add(childItem.getAdslCode()); + } + }); + pcLabelFactories.add(LabelFactoryEnum.BASE023.pcLabelFactory(item.getId(), pcLabelsMap,String.join(",", chilePollutant) , "0", pcLabelFactory)); + } + }); + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); + //先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void totalVideo() { + +// List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); +// List mAmVideoDevFis= mAmVideoDevFiMapper.selectList(new QueryWrapper().eq("status","9")); +// Map> pollutionAir = mAmVideoDevFis.stream().collect(Collectors.groupingBy( MAmVideoDevFi::getFactoryId)); +// pcFactories.forEach(item->{ +// if(pollutionAir.containsKey(item.getFactoryName())){ +// List mal=pollutionAir.get(item.getFactoryName()); +// mal.forEach(iteml->{ +// iteml.setFactoryId(item.getId()); +// iteml.setOutletId("9"); +// mAmVideoDevFiMapper.updateById(iteml); +// }); +// } +// }); + List lis=new ArrayList<>(); + List mAmVideoDevFis= mAmVideoDevFiMapper.selectListDel(); + mAmVideoDevFis.forEach(item->{ + List mal= mAmVideoDevFiMapper.selectList(new QueryWrapper().eq("channel_id",item.getDevId())); +// mAmVideoDevFiMapper.deleteById(mal.get(0).getId()); + lis.add(mal.get(0).getId()); + }); + System.out.println(lis.toString()); +// mAmVideoDevFiMapper.updateById() + } + + @Override + public void industryCategory() { + List pcFactories = pcFactoryMapper.selectList(new QueryWrapper<>()); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE001.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + HashSet airMain = new HashSet(); + + pcFactories.forEach(item->{ + if (StringUtils.isNotBlank(item.getIndustryPermissionName())) { + pcLabelFactories.add(LabelFactoryEnum.BASE001.pcLabelFactory(item.getId(), pcLabelsMap, item.getIndustryPermissionName(), "1", pcLabelFactory)); + airMain.add(item.getIndustryPermissionName()); + } + }); + //标签值动态绑定--------------------------------------------------------------------------- + //去重 +// List airMainCollect = airMain.stream().distinct().collect(Collectors.toList()); + AtomicInteger orderNum= new AtomicInteger(); + //先删除 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + //每次进行新增 + List pcLabelValueAir=new ArrayList<>(); + airMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(airMainCode.getId()); + pcLabelValue.setArgumentsCode(item); + pcLabelValue.setArgumentsName(item); + pcLabelValue.setOrderNum(orderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueAir.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueAir)){ + List> partition = ListUtil.partition(pcLabelValueAir, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增行业类别的标签值{}",pcLabelValueAir.size()); + } + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); + //先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + @Override + public void testindustryCategory() { + List pcFactories1 = pcFactoryMapper.selectList(new QueryWrapper<>()); + List pcFactories = pcFactoryMapper.selectRegulateBusinesses(); + Map pcLabelsMaps = pcFactories.stream().collect(Collectors.toMap(PcFactory::getId, a -> a,(k1, k2)->k1)); +// PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE502.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + + pcFactories1.forEach(item->{ + if(pcLabelsMaps.containsKey(item.getId())){ + pcLabelFactories.add(LabelFactoryEnum.BASE502.pcLabelFactory(item.getId(), pcLabelsMap, "1", "0", pcLabelFactory)); + }else { + pcLabelFactories.add(LabelFactoryEnum.BASE502.pcLabelFactory(item.getId(), pcLabelsMap, "0", "0", pcLabelFactory)); + } + }); + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); + + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + @Override + public void testRegulateBusinesses() { + List pcFactories = pcFactoryMapper.selectRegulateBusinesses(); + PcLabel airMainCode = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE501.getEnumId())); + List pcLabelFactories=new ArrayList<>(); + List pcLabels = pcLabelMapper.selectList(new QueryWrapper().isNotNull("label_code")); + Map pcLabelsMap = pcLabels.stream().collect(Collectors.toMap(PcLabel::getLabelCode, a -> a,(k1, k2)->k1)); + PcLabelFactory pcLabelFactory=null; + HashSet> airMain = new HashSet>(); + + pcFactories.forEach(item->{ + //大气主要污染物种类 + if (StringUtils.isNotBlank(item.getIndustryCategory())) { + pcLabelFactories.add(LabelFactoryEnum.BASE501.pcLabelFactory(item.getId(), pcLabelsMap, item.getIndustryCategory(), "0", pcLabelFactory)); + Map map =new HashMap<>(); + map.put("name",item.getIndusName()); + map.put("code",item.getIndustryCategory()); + airMain.add(map); + } + }); + //标签值动态绑定--------------------------------------------------------------------------- + //去重 +// List airMainCollect = airMain.stream().distinct().collect(Collectors.toList()); + AtomicInteger orderNum= new AtomicInteger(); + //先删除大气污染物 + pcLabelValueMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + //每次进行新增 + List pcLabelValueAir=new ArrayList<>(); + airMain.forEach(item->{ + PcLabelValue pcLabelValue=new PcLabelValue(); + pcLabelValue.setLabelId(airMainCode.getId()); + pcLabelValue.setArgumentsCode(item.get("code")); + pcLabelValue.setArgumentsName(item.get("name")); + pcLabelValue.setOrderNum(orderNum.getAndIncrement()); + pcLabelValue.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelValueAir.add(pcLabelValue); + }); + if(CollectionUtil.isNotEmpty(pcLabelValueAir)){ + List> partition = ListUtil.partition(pcLabelValueAir, 2000); + partition.forEach(i->{ + pcLabelValueMapper.batchSave(i); + }); + log.info("新增大气污染物的标签值{}",pcLabelValueAir.size()); + } + //企业标签绑定----------------------------------------------------- + //新增集合 + List insertLabelFactory=new ArrayList<>(); + //修改集合 + List updateLabelFactory=new ArrayList<>(); +//先删除 + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",airMainCode.getId())); + List pcLabelFactories1 = pcLabelFactoryMapper.selectList(new QueryWrapper<>()); + Map>> infoMap = pcLabelFactories1.stream() + .collect(Collectors.groupingBy(PcLabelFactory::getFactoryId, Collectors.groupingBy(PcLabelFactory::getLabelId))); + pcLabelFactories.forEach(item->{ + if(infoMap.containsKey(item.getFactoryId())){ + Map> stringListMap = infoMap.get(item.getFactoryId()); + if(stringListMap.containsKey(item.getLabelId())){ + if(!stringListMap.get(item.getLabelId()).get(0).getLabelValue().equals(item.getLabelValue())){ + //修改 + item.setId(stringListMap.get(item.getLabelId()).get(0).getId()); + updateLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }else { + //新增 + item.setId(UUID.randomUUID().toString().replace("-", "")); + insertLabelFactory.add(item); + } + }); + if(CollectionUtil.isNotEmpty(updateLabelFactory)){ + List> partition = ListUtil.partition(updateLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchUpdateValue(i); + }); + log.info("更新企业标签的数量{}",updateLabelFactory.size()); + } + if(CollectionUtil.isNotEmpty(insertLabelFactory)){ + List> partition = ListUtil.partition(insertLabelFactory, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + log.info("新增企业标签的数量{}",insertLabelFactory.size()); + } + } + + + @Override + public void earlyWarning() { + //每十分钟对监测点位前十分钟的浓度进行一个均值分析 取折算值 数据缺少 动态因子 + List earlyWarnings = baseControlConcentStandardsMapper.selectWarningStandards(); + Map> pollutionAir = earlyWarnings.stream().collect(Collectors.groupingBy( EarlyWarning::getStationId)); + LocalDateTime now = LocalDateTime.now(); + String startTime=now.format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm") + ); + String endTime= now.minusMinutes(10).format( + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm") + ); + List list= pcLabelFactoryMapper.selectWarningReal(startTime,endTime); + List insertAll=new ArrayList<>(); + list.forEach(item->{ + if(pollutionAir.containsKey(item.getOutletId())){ + List earlyWarnings1 = pollutionAir.get(item.getOutletId()); + earlyWarnings1.forEach(child->{ + //氮氧化物 + if(child.getPollCode().equals("A21002")){ + addBatchWarning(child,insertAll,startTime,endTime,item.getNoxConvert()); + } + //二氧化硫 + if(child.getPollCode().equals("A21026")){ + addBatchWarning(child,insertAll,startTime,endTime,item.getSo2Convert()); + } + //烟尘 + if(child.getPollCode().equals("A34013")){ + addBatchWarning(child,insertAll,startTime,endTime,item.getSmokeDustConvert()); + } + }); + } + }); + //报警数据入库 + if(CollectionUtil.isNotEmpty(insertAll)){ + List> partition = ListUtil.partition(insertAll, 2000); + partition.forEach(i->{ + earlyWarningMapper.batchSave(i); + }); + } + log.info("新增报警数据数量{}",insertAll.size()); + } + public void addBatchWarning(EarlyWarning child, List insertAll, String startTime, String endTime, BigDecimal convert ){ + if(ObjectUtil.isNotNull(child.getControlStandard())&&ObjectUtil.isNotNull(convert)){ + if(convert.compareTo(child.getControlStandard()) > 0){ + String content=String.format("\"%s\"\"%s至%s\",\"%s\"\"%s\"浓度均值为%smg/m3(标准值为%smg/m3),超过管控浓度标准。",child.getFactoryName(),startTime,endTime,child.getStationName(),child.getPollName(),convert.stripTrailingZeros().toPlainString(),child.getControlStandard().stripTrailingZeros().toPlainString()); + child.setWarningContent(content); + child.setWarningDate(DateUtil.parse(endTime+":00","yyyy-MM-dd HH:mm:ss")); + child.setEwId(UUID.randomUUID().toString().replace("-", "")); + child.setCreateTime(new Date()); + insertAll.add(child); + } + } + } + + @Override + public void batchDelete(String labelId){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("label_id", labelId); + List pcLabelFactories = pcLabelFactoryMapper.selectList(queryWrapper); + if(!pcLabelFactories.isEmpty()){ + pcLabelFactoryMapper.deleteBatchIds(pcLabelFactories.stream().map(PcLabelFactory::getId).collect(Collectors.toList())); + } + } + + + @Override + public void updateMajorPollutantCategory() { + List pcLabelFactories = new ArrayList<>(); + + PcLabel majorCate = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE017.getEnumId())); + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",majorCate.getId())); + //List values = pcLabelValueMapper.selectList(new QueryWrapper().eq("label_id",majorCate.getId())); + + List factoryList = pcFactoryMapper.selectMajorPollutantCategory(); + if(factoryList!=null&&factoryList.size()>0){ + factoryList.forEach(f ->{ + String codes = f.getMajorPollutantCategories(); + codes = codes.replace("1","AIR"); + codes = codes.replace("2","WATER"); + PcLabelFactory plf = new PcLabelFactory(); + plf.setLabelId(majorCate.getId()); + plf.setFactoryId(f.getId()); + plf.setLableUseing("0"); + plf.setLabelValue(codes); + plf.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelFactories.add(plf); + }); + + pcLabelFactoryMapper.batchSave(pcLabelFactories); + } + } + + @Override + public void pollutantLicenseLabel() { + List pcLabelFactories = new ArrayList<>(); + PcLabel majorCate = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.BASE019.getEnumId())); + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",majorCate.getId())); + List list = pcLabelFactoryMapper.selectPollutantLicenseLabel(); + if(list!=null&&list.size()>0){ + list.forEach(p->{ + PcLabelFactory plf = new PcLabelFactory(); + plf.setLabelId(majorCate.getId()); + plf.setFactoryId(p.getFactoryId()); + plf.setLableUseing("0"); + plf.setLabelValue(p.getLabelValue()); + plf.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelFactories.add(plf); + }); + List> partition = ListUtil.partition(pcLabelFactories, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + } + } + + @Override + public void licenseTypeLabel() { + List pcLabelFactories = new ArrayList<>(); + PcLabel majorCate = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF005.getEnumId())); + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",majorCate.getId())); + List list = pcLabelFactoryMapper.selectLicenseTypeLabel(); + if(list!=null&&list.size()>0){ + list.forEach(p->{ + PcLabelFactory plf = new PcLabelFactory(); + plf.setLabelId(majorCate.getId()); + plf.setFactoryId(p.getFactoryId()); + plf.setLableUseing("0"); + plf.setLabelValue(p.getLabelValue()); + plf.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelFactories.add(plf); + }); + List> partition = ListUtil.partition(pcLabelFactories, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + } + + } + + @Override + public void pollutantTypeLabel() { + List pcLabelFactories = new ArrayList<>(); + PcLabel majorCate = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", LabelFactoryEnum.PF006.getEnumId())); + pcLabelFactoryMapper.delete(new QueryWrapper().eq("label_id",majorCate.getId())); + List list = pcLabelFactoryMapper.selectPollutantTypeLabel(); + if(list!=null&&list.size()>0){ + list.forEach(p->{ + PcLabelFactory plf = new PcLabelFactory(); + plf.setLabelId(majorCate.getId()); + plf.setFactoryId(p.getFactoryId()); + plf.setLableUseing("0"); + plf.setLabelValue(p.getLabelValue()); + plf.setId(UUID.randomUUID().toString().replace("-", "")); + pcLabelFactories.add(plf); + }); + List> partition = ListUtil.partition(pcLabelFactories, 2000); + partition.forEach(i->{ + pcLabelFactoryMapper.batchSave(i); + }); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void isInstallFbjdLabel() { + final List data = baseMapper.isInstallFbjdLabel(); + saveLabelData(LabelFactoryEnum.JG006,"0", data); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void isInstallWzzjkdwLabel() { + final List data = baseMapper.isInstallWzzjkdwLabel(); + saveLabelData(LabelFactoryEnum.JG007,"0",data); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void isZlssExceptionInMonthLabel() { + final List data = baseMapper.isZlssExceptionInMonthLabel(DateUtil.offset(new Date(), DateField.YEAR,-1)); + saveLabelData(LabelFactoryEnum.JG003,"0",data); + + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void isWzzcbpfExceptionInMonthLabel() { + final List data = baseMapper.isWzzcbpfExceptionInMonthLabel(DateUtil.offset(new Date(), DateField.YEAR,-1)); + saveLabelData(LabelFactoryEnum.PF023,"0",data); + } + + private void saveLabelData(LabelFactoryEnum factoryEnum, String useing, List data) { + PcLabel label = pcLabelMapper.selectOne(new QueryWrapper().lambda().eq(PcLabel::getLabelCode, factoryEnum.getEnumId())); + pcLabelFactoryMapper.delete(new QueryWrapper().lambda().eq(PcLabelFactory::getLabelId,label.getId())); + if (CollectionUtils.isNotEmpty(data)) { + for (PcLabelFactory labelFactory : data) { + labelFactory.setId(UUID.randomUUID().toString().replace("-", "")); + labelFactory.setLabelId(label.getId()); + labelFactory.setLableUseing(useing); + } + for (List factoryList : ListUtil.partition(data, 2000)) { + pcLabelFactoryMapper.batchSave(factoryList); + } + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelServiceImpl.java new file mode 100644 index 0000000..a0bc3c3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelServiceImpl.java @@ -0,0 +1,181 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelValue; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.mapper.PcLabelValueMapper; +import cn.cecep.talroad.service.IPcLabelService; +import cn.cecep.talroad.vo.PcLabelValueVo; +import cn.cecep.talroad.vo.PcLabelVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 特征标签Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcLabelServiceImpl extends ServiceImpl implements IPcLabelService +{ + @Autowired + private PcLabelMapper pcLabelMapper; + + @Autowired + private PcLabelValueMapper labelValueMapper; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询特征标签列表 + * + * @param pcLabel 特征标签 + * @return 特征标签 + */ + @Override + public List selectPcLabelList(PcLabel pcLabel) + { + return pcLabelMapper.selectPcLabelList(pcLabel); + } + + @Override + public List tree(String id, String factoryId) { + + return pcLabelMapper.selectTreeList(id, factoryId); + } + + @Override + public List getChildrenLabel(String id) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(id)) { + queryWrapper.eq("label_paramid", id); + } else { + queryWrapper.isNotNull("label_paramid"); + } + queryWrapper.orderByAsc("order_num"); + List labels = list(queryWrapper); + + List values = new ArrayList<>(); + + if (!labels.isEmpty()) { + values = labelValueMapper.selectList(new QueryWrapper() + .in("label_id", labels.stream().map(PcLabel::getId).collect(Collectors.toList())) + .orderByAsc("order_num") + ); + } + Map> valueMap = values.stream().collect(Collectors.groupingBy(PcLabelValue::getLabelId)); + + return labels.stream().map(label -> { + PcLabelVo vo = new PcLabelVo(); + BeanUtils.copyProperties(label, vo); + + List list = valueMap.get(label.getId()); + if("BASE002".equals(label.getLabelCode())){ + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(SecurityUtils.getLoginUser().getSysUser().getRegionCode()); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + List finalRegionCodes = regionCodes; + list = list.stream().filter(l -> finalRegionCodes.stream().anyMatch(f -> f.equals(l.getArgumentsCode()))).collect(Collectors.toList()); + + } + if (list == null) { + vo.setPcLabelValueVos(new ArrayList<>()); + } else { + List collect = list.stream().map(labelValue -> { + PcLabelValueVo valueVo = new PcLabelValueVo(); + BeanUtils.copyProperties(labelValue, valueVo); + return valueVo; + }).collect(Collectors.toList()); + vo.setPcLabelValueVos(collect); + } + return vo; + }).collect(Collectors.toList()); + } + + public List getChildPerms(List list, String parentId) { + List returnList = Lists.newArrayList(); + + for (Iterator iterator = list.iterator(); iterator.hasNext();) + { + PcLabelVo t = iterator.next(); + // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 + if (StringUtils.equals(t.getLabelParamid(), parentId)) { + recursionFn(list, t); + returnList.add(t); + } + } + + return returnList; + } + + /** + * 递归列表 + * + * @param list + * @param t + */ + private void recursionFn(List list, PcLabelVo t) { + // 得到子节点列表 + List childList = getChildList(list, t); +// t.setChildren(childList); + for (PcLabelVo tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, PcLabelVo t) { + List tlist = new ArrayList<>(); + Iterator it = list.iterator(); + while (it.hasNext()) + { + PcLabelVo n = it.next(); + if (StringUtils.equals(n.getLabelParamid(), t.getId())) + { + tlist.add(n); + } + } + return tlist; + } + + /** + * 判断是否有子节点 + */ + private boolean hasChild(List list, PcLabelVo t) + { + return getChildList(list, t).size() > 0; + } + + @Override + public ListgetPcLabelListByLabelCodes(ListcodeList){ + List tlist = new ArrayList<>(); + if(codeList.isEmpty()){ + return tlist; + } + return pcLabelMapper.selectList(new QueryWrapper().in("label_code", codeList)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelValueServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelValueServiceImpl.java new file mode 100644 index 0000000..e1f452e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcLabelValueServiceImpl.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcLabel; +import cn.cecep.talroad.domain.PcLabelValue; +import cn.cecep.talroad.mapper.PcLabelMapper; +import cn.cecep.talroad.mapper.PcLabelValueMapper; +import cn.cecep.talroad.service.IPcLabelValueService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 特征标签-参数值Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class PcLabelValueServiceImpl extends ServiceImpl implements IPcLabelValueService +{ + @Autowired + private PcLabelValueMapper pcLabelValueMapper; + @Autowired + private PcLabelMapper pcLabelMapper; + + /** + * 查询特征标签-参数值列表 + * + * @param pcLabelValue 特征标签-参数值 + * @return 特征标签-参数值 + */ + @Override + public List selectPcLabelValueList(PcLabelValue pcLabelValue) + { + return pcLabelValueMapper.selectPcLabelValueList(pcLabelValue); + } + + @Override + public List manualMonitoringIndustry(String name) { + PcLabel pcLabel = pcLabelMapper.selectOne(new QueryWrapper().eq("label_code", "BASE001")); + QueryWrapper pcLabelValueQueryWrapper = new QueryWrapper<>(); + pcLabelValueQueryWrapper.eq("label_id",pcLabel.getId()); + pcLabelValueQueryWrapper.like(StringUtils.isNotEmpty(name),"arguments_name",name); + List pcLabelValueList = pcLabelValueMapper.selectList(pcLabelValueQueryWrapper); + return pcLabelValueList; + } + + @Override + public List selectListByLabelId(String labelId){ + QueryWrapper pcLabelValueQueryWrapper = new QueryWrapper<>(); + pcLabelValueQueryWrapper.eq("label_id",labelId); + return pcLabelValueMapper.selectList(pcLabelValueQueryWrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcManagementFacilitiesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcManagementFacilitiesServiceImpl.java new file mode 100644 index 0000000..7937a9e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcManagementFacilitiesServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcManagementFacilities; +import cn.cecep.talroad.mapper.PcManagementFacilitiesMapper; +import cn.cecep.talroad.service.IPcManagementFacilitiesService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 治理设施Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcManagementFacilitiesServiceImpl extends ServiceImpl implements IPcManagementFacilitiesService +{ + @Autowired + private PcManagementFacilitiesMapper pcManagementFacilitiesMapper; + + /** + * 查询治理设施列表 + * + * @param pcManagementFacilities 治理设施 + * @return 治理设施 + */ + @Override + public List selectPcManagementFacilitiesList(PcManagementFacilities pcManagementFacilities) + { + return pcManagementFacilitiesMapper.selectPcManagementFacilitiesList(pcManagementFacilities); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuFactoryServiceImpl.java new file mode 100644 index 0000000..9d8fc64 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuFactoryServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcMenuFactory; +import cn.cecep.talroad.mapper.PcMenuFactoryMapper; +import cn.cecep.talroad.service.IPcMenuFactoryService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业档案菜单与企业关联中间Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class PcMenuFactoryServiceImpl extends ServiceImpl implements IPcMenuFactoryService +{ + @Autowired + private PcMenuFactoryMapper pcMenuFactoryMapper; + + /** + * 查询企业档案菜单与企业关联中间列表 + * + * @param pcMenuFactory 企业档案菜单与企业关联中间 + * @return 企业档案菜单与企业关联中间 + */ + @Override + public List selectPcMenuFactoryList(PcMenuFactory pcMenuFactory) + { + return pcMenuFactoryMapper.selectPcMenuFactoryList(pcMenuFactory); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuServiceImpl.java new file mode 100644 index 0000000..f640cec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcMenuServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcMenu; +import cn.cecep.talroad.mapper.PcMenuMapper; +import cn.cecep.talroad.service.IPcMenuService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 企业档案菜单管理Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class PcMenuServiceImpl extends ServiceImpl implements IPcMenuService +{ + @Autowired + private PcMenuMapper pcMenuMapper; + + /** + * 查询企业档案菜单管理列表 + * + * @param pcMenu 企业档案菜单管理 + * @return 企业档案菜单管理 + */ + @Override + public List selectPcMenuList(PcMenu pcMenu) + { + return pcMenuMapper.selectPcMenuList(pcMenu); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcNoiseTypeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcNoiseTypeServiceImpl.java new file mode 100644 index 0000000..36c588e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcNoiseTypeServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcNoiseType; +import cn.cecep.talroad.mapper.PcNoiseTypeMapper; +import cn.cecep.talroad.service.IPcNoiseTypeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 噪声排放类型Service业务层处理 + * + * @author szhpt + * @date 2023-01-11*/ +@Service +public class PcNoiseTypeServiceImpl extends ServiceImpl implements IPcNoiseTypeService +{ + @Autowired + private PcNoiseTypeMapper pcNoiseTypeMapper; + + /** + * 查询噪声排放类型列表 + * + * @param pcNoiseType 噪声排放类型 + * @return 噪声排放类型 + */ + @Override + public List selectPcNoiseTypeList(PcNoiseType pcNoiseType) + { + return pcNoiseTypeMapper.selectPcNoiseTypeList(pcNoiseType); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletCoordinateOperationLogServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletCoordinateOperationLogServiceImpl.java new file mode 100644 index 0000000..5e7518f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletCoordinateOperationLogServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcOutletCoordinateOperationLog; +import cn.cecep.talroad.mapper.PcOutletCoordinateOperationLogMapper; +import cn.cecep.talroad.service.IPcOutletCoordinateOperationLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +@Service +public class PcOutletCoordinateOperationLogServiceImpl extends ServiceImpl implements IPcOutletCoordinateOperationLogService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletServiceImpl.java new file mode 100644 index 0000000..a99aa75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcOutletServiceImpl.java @@ -0,0 +1,529 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.enums.OperationTypeEnum; +import cn.cecep.talroad.enums.OutletTypesEnum; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.enums.WzzStatusEnum; +import cn.cecep.talroad.mapper.BMainMonitorPointOperationLogMapper; +import cn.cecep.talroad.mapper.PcLabelFactoryMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.IPcOutletCoordinateOperationLogService; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.vo.DropDownVO; +import cn.cecep.talroad.vo.GasPEMonitoringPointVO; +import cn.cecep.talroad.vo.OutletNameVO; +import cn.cecep.talroad.vo.PcOutletGasVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.*; +import cn.cecep.talroad.vo.query.analysis.SRaOverWaterPollutionTraceabilityQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.ParseException; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 废气有组织、无组织排口Service业务层处理 + * + * @author szhpt + * @date 2023-01-11 + */ +@Service +public class PcOutletServiceImpl extends ServiceImpl implements IPcOutletService { + @Autowired + private PcOutletMapper pcOutletMapper; + @Autowired + private PcLabelFactoryMapper pcLabelFactoryMapper; + @Autowired + private BMainMonitorPointOperationLogMapper bMainMonitorPointOperationLogMapper; + @Autowired + private IPcOutletCoordinateOperationLogService pcOutletCoordinateOperationLogService; + + /** + * 查询废气有组织、无组织排口列表 + * + * @param pcOutlet 废气有组织、无组织排口 + * @return 废气有组织、无组织排口 + */ + @Override + public List selectPcOutletList(PcOutlet pcOutlet) { + return pcOutletMapper.selectPcOutletList(pcOutlet); + } + + @Override + public List selectPointList(PcOutlet pcOutlet) { + return pcOutletMapper.selectPointList(pcOutlet); + } + + @Override + public List regulatoryEnterprises(String name) { + /*//查询大气管控监管企业 id 固定 + QueryWrapper wrapper = new QueryWrapper().eq("label_id", "502"); + List pcLabelFactories = pcLabelFactoryMapper.selectList(wrapper); + List> partition = ListUtil.partition(pcLabelFactories, 2000);*/ + + List pcOutlets = pcOutletMapper.selectListByOnline(name); + + return pcOutlets; + } + + @Override + public List queryMonitoringPointName(String factoryId, String pollutantType, String pollutantOutletType) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("factory_id", factoryId); + queryWrapper.eq("pollutant_type", pollutantType); + queryWrapper.eq("is_status", "1"); + if (pollutantType.equals(PollutantTypeEnum.ONLINE_MONITORING.getCode())) { + queryWrapper.eq("pollutant_outlet_type", pollutantOutletType); + } + List pointList = new ArrayList<>(); + List pcOutletList = pcOutletMapper.selectList(queryWrapper); + pcOutletList.forEach(e -> { + DropDownVO dropDownVO = new DropDownVO(); + dropDownVO.setId(e.getId()); + dropDownVO.setLabel(e.getMonitoringPointName()); + pointList.add(dropDownVO); + }); + return pointList; + } + + @Override + public List queryOutletName(String factoryId, String pollutantType, String pollutantOutletType) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("factory_id", factoryId); + queryWrapper.eq("pollutant_type", pollutantType); + queryWrapper.eq("is_status", "1"); + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + queryWrapper.eq("pollutant_outlet_type", pollutantOutletType); + } + List pointList = new ArrayList<>(); + List pcOutletList = pcOutletMapper.selectList(queryWrapper); + pcOutletList.forEach(e -> { + DropDownVO dropDownVO = new DropDownVO(); + dropDownVO.setId(e.getOutletCode()); + dropDownVO.setLabel(e.getOutletName()); + pointList.add(dropDownVO); + }); + return pointList; + } + + @Override + public List queryOutletCode(String factoryId, String pollutantType, String pollutantOutletType) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("factory_id", factoryId); + queryWrapper.eq("pollutant_type", pollutantType); + queryWrapper.eq("is_status", "1"); + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + queryWrapper.eq("pollutant_outlet_type", pollutantOutletType); + } + List pointList = new ArrayList<>(); + List pcOutletList = pcOutletMapper.selectList(queryWrapper); + pcOutletList.forEach(e -> { + DropDownVO dropDownVO = new DropDownVO(); + dropDownVO.setId(e.getOutletCode()); + dropDownVO.setLabel(e.getOutletCode()); + pointList.add(dropDownVO); + }); + return pointList; + } + + @Override + public IPage queryPcOutletGasList(PcOutletGasQuery pcOutletGasQuery, String factoryId) { + Page page = new Page<>(pcOutletGasQuery.getPageNum(), pcOutletGasQuery.getPageSize()); + List pollutantOutletTypes = new ArrayList<>(); + if(pcOutletGasQuery.getPollutantOutletType().equals("1")){ + pollutantOutletTypes.add("1"); + pollutantOutletTypes.add("3"); + }else{ + pollutantOutletTypes.add(pcOutletGasQuery.getPollutantOutletType()); + } + List pcOutletGasVOList = pcOutletMapper.queryPcOutletGasList(page, pcOutletGasQuery, factoryId, pollutantOutletTypes); + pcOutletGasVOList.forEach(e -> { + if (StringUtils.isNotEmpty(e.getOutletTypes())) { + e.setOutletTypes(OutletTypesEnum.getName(e.getOutletTypes())); + } + }); + page.setRecords(pcOutletGasVOList); + return page; + } + + @Override + public List outletName(String factoryId, String pollutantType, String pollutantOutletType) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("factory_id", factoryId); + queryWrapper.eq("pollutant_type", pollutantType); + queryWrapper.eq("is_status", "1"); + if (pollutantType.equals(PollutantTypeEnum.GAS.getCode())) { + queryWrapper.eq("pollutant_outlet_type", pollutantOutletType); + } + List pcOutlets = new ArrayList<>(); + List pcOutletList = pcOutletMapper.selectList(queryWrapper); + pcOutletList.forEach(e -> { + OutletNameVO outletNameVO = new OutletNameVO(); + outletNameVO.setId(e.getId()); + outletNameVO.setOutletName(e.getOutletName()); + outletNameVO.setOutletCode(e.getOutletCode()); + outletNameVO.setOutletTypes(OutletTypesEnum.getName(e.getOutletTypes())); + pcOutlets.add(outletNameVO); + }); + return pcOutlets; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResults updateOutletGas(List pcOutletGasUpdateQuery) { + try { + pcOutletGasUpdateQuery.forEach(e -> { + PcOutlet beforePcOutlet = new PcOutlet(); + beforePcOutlet.setId(e.getMonitoringPointId()); + PcOutlet beforePcOutletInfo = pcOutletMapper.selectById(beforePcOutlet); + + PcOutlet pcOutlet = new PcOutlet(); + pcOutlet.setId(e.getMonitoringPointId()); + if (StringUtils.isEmpty(e.getPcOutletGasId())) { + pcOutlet.setParentOutletId(""); + //记录取消日志 + insertOperationLog(beforePcOutletInfo, "", OperationTypeEnum.CANCEL_THE_CORRESPONDENCE.getName(), e.getMonitoringPointType()); + } else { + String operationType = ""; + if (StringUtils.isEmpty(e.getParentOutletId())) { + operationType = OperationTypeEnum.INSERT_OPERATION.getName(); + } else { + operationType = OperationTypeEnum.UPDATE_OPERATION.getName(); + } + //记录编辑日志 + insertOperationLog(beforePcOutletInfo, e.getPcOutletGasId(), operationType, e.getMonitoringPointType()); + pcOutlet.setParentOutletId(e.getPcOutletGasId()); + } + + pcOutletMapper.updateById(pcOutlet); + + }); + return AjaxResults.success("更新成功"); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResults.error("更新失败"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResults cancelRelationship(List pcOutletGasUpdateQueryList) { + try { + pcOutletGasUpdateQueryList.forEach(e -> { + PcOutlet beforePcOutlet = new PcOutlet(); + beforePcOutlet.setId(e.getMonitoringPointId()); + PcOutlet beforePcOutletInfo = pcOutletMapper.selectById(beforePcOutlet); + + PcOutlet pcOutlet = new PcOutlet(); + pcOutlet.setId(e.getMonitoringPointId()); + pcOutlet.setParentOutletId(""); + pcOutletMapper.updateById(pcOutlet); + + //记录日志 + insertOperationLog(beforePcOutletInfo, "", OperationTypeEnum.CANCEL_THE_CORRESPONDENCE.getName(), e.getMonitoringPointType()); + }); + return AjaxResults.success("取消对应关系成功!"); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResults.error("取消对应关系失败!"); + } + } + + @Override + public IPage queryMonitoringPointLog(MonitoringPointLogQuery monitoringPointLogQuery, String factoryId) throws ParseException { + Page page = new Page<>(monitoringPointLogQuery.getPageNum(), monitoringPointLogQuery.getPageSize()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(monitoringPointLogQuery.getMonitoringPointName())) { + queryWrapper.eq("monitoring_point_name", monitoringPointLogQuery.getMonitoringPointName()); + } + if (StringUtils.isNotEmpty(monitoringPointLogQuery.getOutletName())) { + queryWrapper.and( + qw -> qw.eq("after_modify_name", monitoringPointLogQuery.getOutletName()).or().eq("before_modify_name", monitoringPointLogQuery.getOutletName()) + ); + } + if (StringUtils.isNotEmpty(monitoringPointLogQuery.getOutletCode())) { + queryWrapper.and( + qw -> qw.eq("after_modify_code", monitoringPointLogQuery.getOutletCode()).or().eq("before_modify_code", monitoringPointLogQuery.getOutletCode()) + ); + } + if (StringUtils.isNotEmpty(factoryId)) { + queryWrapper.eq("factory_id", factoryId); + } + if (StringUtils.isNotEmpty(monitoringPointLogQuery.getMonitoringPointType())) { + queryWrapper.eq("monitoring_point_type", monitoringPointLogQuery.getMonitoringPointType()); + } + if (StringUtils.isNotEmpty(monitoringPointLogQuery.getOperationTimeStart()) && StringUtils.isNotEmpty(monitoringPointLogQuery.getOperationTimeEnt())) { + queryWrapper.between("operation_time", DateUtils.parseDate(monitoringPointLogQuery.getOperationTimeStart(), DateUtils.YYYY_MM_DD_HH_MM_SS), + DateUtils.parseDate(monitoringPointLogQuery.getOperationTimeEnt(), DateUtils.YYYY_MM_DD_HH_MM_SS)); + } + queryWrapper.orderByDesc("operation_time"); + Page bMainMonitorPointOperationLogPage = bMainMonitorPointOperationLogMapper.selectPage(page, queryWrapper); + return bMainMonitorPointOperationLogPage; + + } + + @Override + public IPage queryGasPEMonitoringPointList(String factoryId, GasPEMonitoringPointQuery gasPEMonitoringPointQuery) { + Page page = new Page<>(gasPEMonitoringPointQuery.getPageNum(), gasPEMonitoringPointQuery.getPageSize()); + Page gasPEMonitoringPointVOPage = pcOutletMapper.queryGasPEMonitoringPointList(page, factoryId, gasPEMonitoringPointQuery); + return gasPEMonitoringPointVOPage; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResults insertOrUpdateGasPEMonitoringPoint(List gasPEMonitoringPointVO) { + try { + gasPEMonitoringPointVO.forEach(e -> { + if (e.getIsManualEntry().equals("1")) { + PcOutlet pcOutlet = pcOutletMapper.selectById(e.getMonitoringPointId()); + //执行删除 + pcOutletMapper.deleteById(e.getMonitoringPointId()); + //操作记录 + insertPEOperationLog(pcOutlet.getMonitoringPointName(), pcOutlet.getOutletCode(), OperationTypeEnum.DELETE_OPERATION.getName(), PollutantTypeEnum.ORGANIZATION.getCode()); + } else { + if (StringUtils.isNotEmpty(e.getMonitoringPointId())) { + updateGasPEMonitoringPoint(e); + } else { + PcOutlet pcOutlet = new PcOutlet(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + pcOutlet.setId(uuid); + pcOutlet.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + pcOutlet.setPollutantType(PollutantTypeEnum.ORGANIZATION.getCode()); + pcOutlet.setMonitoringPointName(e.getMonitoringPointName()); + pcOutlet.setOutletCode(e.getOutletCode()); + pcOutlet.setIsManualEntry("1"); + pcOutlet.setIsStatus("1"); + pcOutlet.setWzzStatus(WzzStatusEnum.OFFLINE.getName()); + pcOutletMapper.insert(pcOutlet); + //操作记录 + insertPEOperationLog(e.getMonitoringPointName(), e.getOutletCode(), OperationTypeEnum.INSERT_OPERATION.getName(), PollutantTypeEnum.ORGANIZATION.getCode()); + } + } + }); + return AjaxResults.success("操作成功!"); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResults.error("操作失败!"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResults deleteGasPEMonitoringPoint(List gasPEMonitoringPointVOList) { + try { + gasPEMonitoringPointVOList.forEach(e -> { + PcOutlet pcOutlet = pcOutletMapper.selectById(e.getMonitoringPointId()); + //执行删除 + pcOutletMapper.deleteById(e.getMonitoringPointId()); + //操作记录 + insertPEOperationLog(pcOutlet.getMonitoringPointName(), pcOutlet.getOutletCode(), OperationTypeEnum.DELETE_OPERATION.getName(), "3"); + }); + return AjaxResults.success("删除成功!"); + } catch (Exception e) { + return AjaxResults.error("删除失败!"); + } + + } + + @Override + public List queryMonitoringPointCode(String pollutantType, String factoryId) { + Long roleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId(); + if(ObjectUtil.equal(roleId,10L)) { + factoryId = SecurityUtils.getLoginUser().getSysUser().getFactoryId(); + } + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("factory_id", factoryId); + queryWrapper.eq("pollutant_type", pollutantType); + queryWrapper.eq("is_status", "1"); + List pointList = new ArrayList<>(); + List pcOutletList = pcOutletMapper.selectList(queryWrapper); + pcOutletList.forEach(e -> { + DropDownVO dropDownVO = new DropDownVO(); + dropDownVO.setId(e.getId()); + dropDownVO.setLabel(e.getOutletCode()); + pointList.add(dropDownVO); + }); + return pointList; + } + + public void updateGasPEMonitoringPoint(GasPEMonitoringPointVO gasPEMonitoringPointVO) { + PcOutlet pcOutlet = new PcOutlet(); + pcOutlet.setId(gasPEMonitoringPointVO.getMonitoringPointId()); + pcOutlet.setMonitoringPointName(gasPEMonitoringPointVO.getMonitoringPointName()); + pcOutlet.setOutletCode(gasPEMonitoringPointVO.getOutletCode()); + pcOutletMapper.updateById(pcOutlet); + //操作记录 + insertPEOperationLog(gasPEMonitoringPointVO.getMonitoringPointName(), gasPEMonitoringPointVO.getOutletCode(), OperationTypeEnum.UPDATE_OPERATION.getName(), "3"); + } + + public void insertOperationLog(PcOutlet beforePcOutletInfo, String pcOutletGasId, String operationStatus, String monitoringPointType) { + BMainMonitorPointOperationLog bMainMonitorPointOperationLog = new BMainMonitorPointOperationLog(); + //修改前的数据 + if (StringUtils.isNotEmpty(beforePcOutletInfo.getParentOutletId())) { + //根据父级ID 查询排口信息 + QueryWrapper queryWrapper = new QueryWrapper<>().eq("id", beforePcOutletInfo.getParentOutletId()); + PcOutlet newBeforePcOutletInfo = pcOutletMapper.selectOne(queryWrapper); + bMainMonitorPointOperationLog.setBeforeModifyName(newBeforePcOutletInfo.getOutletName()); + bMainMonitorPointOperationLog.setBeforeModifyCode(newBeforePcOutletInfo.getOutletCode()); + } + //修改后的数据 因为只传入ID 要交互数据库查询出 排口信息 + if (StringUtils.isNotEmpty(pcOutletGasId) || monitoringPointType.equals(PollutantTypeEnum.ORGANIZATION.getCode())) { + PcOutlet afterPcOutlet = new PcOutlet(); + afterPcOutlet.setId(pcOutletGasId); + PcOutlet afterPcOutletInfo = pcOutletMapper.selectById(afterPcOutlet); + bMainMonitorPointOperationLog.setAfterModifyName(afterPcOutletInfo.getOutletName()); + bMainMonitorPointOperationLog.setAfterModifyCode(afterPcOutletInfo.getOutletCode()); + } + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + bMainMonitorPointOperationLog.setLogId(uuid); + bMainMonitorPointOperationLog.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + bMainMonitorPointOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + bMainMonitorPointOperationLog.setMonitoringPointName(beforePcOutletInfo.getMonitoringPointName()); + bMainMonitorPointOperationLog.setOperationStatus(operationStatus); + bMainMonitorPointOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + bMainMonitorPointOperationLog.setMonitoringPointType(monitoringPointType); + bMainMonitorPointOperationLogMapper.insert(bMainMonitorPointOperationLog); + } + + public void insertPEOperationLog(String afterMonitoringPointName, String afterOutletCode, String operationStatus, String monitoringPointType) { + BMainMonitorPointOperationLog bMainMonitorPointOperationLog = new BMainMonitorPointOperationLog(); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + bMainMonitorPointOperationLog.setLogId(uuid); + bMainMonitorPointOperationLog.setFactoryId(SecurityUtils.getLoginUser().getSysUser().getFactoryId()); + bMainMonitorPointOperationLog.setMonitoringPointName(afterMonitoringPointName); + bMainMonitorPointOperationLog.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + bMainMonitorPointOperationLog.setOperationStatus(operationStatus); + bMainMonitorPointOperationLog.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + bMainMonitorPointOperationLog.setMonitoringPointType(monitoringPointType); + bMainMonitorPointOperationLog.setAfterModifyName(afterMonitoringPointName); + bMainMonitorPointOperationLog.setAfterModifyCode(afterOutletCode); + bMainMonitorPointOperationLogMapper.insert(bMainMonitorPointOperationLog); + } + + @Override + public List manualMonitoring(String pollutantType) { + List pcOutlets = pcOutletMapper.selectList(new QueryWrapper().eq("is_manual_entry", "1").eq("pollutant_type", "4").eq("pollutant_outlet_type", pollutantType)); + return pcOutlets; + } + + @Override + public List manualMonitoringCode(String pollutantType, String code) { + QueryWrapper eq = new QueryWrapper().eq("is_manual_entry", "1").eq("pollutant_type", pollutantType); + if(StringUtils.isNotBlank(code)){ + eq.like("outlet_code",code); + } + List pcOutlets = pcOutletMapper.selectList(eq); + return pcOutlets; + } + + @Override + public IPage pageAndFactory(Page page, SRaOverWaterPollutionTraceabilityQuery query) { + return pcOutletMapper.pageAndFactory(page, query); + } + + @Override + public List> queryPcOutletList(String factoryId, Integer type, String monitorPointName) { + List> outletList = new ArrayList<>(); + if(StringUtils.isNotEmpty(factoryId)){ + if (type.equals(1)){ + //废气 + outletList = pcOutletMapper.queryPcOutletsByPcFactoryId(factoryId,"4","1", monitorPointName); + }else{ + //废水 + outletList = pcOutletMapper.queryPcOutletsByPcFactoryId(factoryId,"4","2", monitorPointName); + } + //废水 + } + return outletList; + } + + @Override + public List selectByDevice(String deviceId){ + return pcOutletMapper.selectByDevice(deviceId); + } + + @Override + public PcOutlet getInfo(String id) { + PcOutlet outlet = getById(id); + if (outlet != null) { + List children = list(new QueryWrapper().eq("parent_outlet_id", id).orderByAsc("monitoring_point_name", "id")); + String names = children.stream() + .map(PcOutlet::getMonitoringPointName) + .filter(Objects::nonNull).collect(Collectors.joining(",")); + outlet.setMonitoringPointName(names); + } + return outlet; + } + + @Override + public List selectByOnlineAndSource(Page page, SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return pcOutletMapper.selectByOnlineAndSource(page,lambdaQueryWrapper); + } + + @Override + public List selectBySource(Page page, SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return pcOutletMapper.selectBySource(page,lambdaQueryWrapper); + } + + @Override + public List> sourceOutlets(String factoryId, String type, String pollutantOutletType, String monitorPointName) { + + return pcOutletMapper.sourceOutlets(factoryId,type,pollutantOutletType,monitorPointName); + } + + @Override + public IPage selectContrastPointList(SRaRealTimeAnalysicComsitMonitorVo pcOutlet) { + Page page = new Page<>(pcOutlet.getPageNum(), pcOutlet.getPageSize()); + List list = pcOutletMapper.selectContrastPointList(page,pcOutlet); + list.forEach(item->{item.setParameterName(pcOutlet.getParameterName());}); + page.setRecords(list); + return page; + } + + @Override + public void editBatchCoordinate(PcOutlet[] pcOutletArr) { + List pcOutletList = Arrays.asList(pcOutletArr); + + //记录操作日志 + List logList = new ArrayList<>(); + pcOutletList.forEach(e -> { + PcOutletCoordinateOperationLog log = new PcOutletCoordinateOperationLog(); + PcOutlet pcOutlet = baseMapper.selectById(e.getId()); + String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); + log.setLogId(uuid); + log.setFactoryId(pcOutlet.getFactoryId()); + log.setOperationTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:ss", new Date())); + log.setOperationStatus(OperationTypeEnum.UPDATE_OPERATION.getName()); + log.setOperator(SecurityUtils.getLoginUser().getSysUser().getUserName()); + log.setOperatorId(SecurityUtils.getLoginUser().getSysUser().getUserId() + ""); + log.setPollutantType(pcOutlet.getPollutantType()); + log.setMonitoringPointName(pcOutlet.getMonitoringPointName()); + log.setBeforeModifyLag(StrUtil.toStringOrNull(pcOutlet.getOutletLat())); + log.setBeforeModifyLng(StrUtil.toStringOrNull(pcOutlet.getOutletLon())); + log.setOutletName(pcOutlet.getOutletName()); + log.setAfterModifyLag(StrUtil.toStringOrNull(e.getOutletLat())); + log.setAfterModifyLng(StrUtil.toStringOrNull(e.getOutletLon())); + logList.add(log); + }); + baseMapper.updateBatchCoordinate(pcOutletList); + pcOutletCoordinateOperationLogService.saveBatch(logList); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcPollutantServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcPollutantServiceImpl.java new file mode 100644 index 0000000..b37fe66 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcPollutantServiceImpl.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.service.IPcPollutantService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 污染物Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcPollutantServiceImpl extends ServiceImpl implements IPcPollutantService +{ + @Autowired + private PcPollutantMapper pcPollutantMapper; + + /** + * 查询污染物列表 + * + * @param pcPollutant 污染物 + * @return 污染物 + */ + @Override + public List selectPcPollutantList(PcPollutant pcPollutant) + { + return pcPollutantMapper.selectPcPollutantList(pcPollutant); + } + + @Override + public List manualMonitoringPollutants(String pollutantType) { + List pollCategory = pcPollutantMapper.selectList(new QueryWrapper().eq("poll_category", pollutantType)); + return pollCategory; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcProductionFacilityServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcProductionFacilityServiceImpl.java new file mode 100644 index 0000000..dc53f1c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcProductionFacilityServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcProductionFacility; +import cn.cecep.talroad.mapper.PcProductionFacilityMapper; +import cn.cecep.talroad.service.IPcProductionFacilityService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 生产设施Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcProductionFacilityServiceImpl extends ServiceImpl implements IPcProductionFacilityService +{ + @Autowired + private PcProductionFacilityMapper pcProductionFacilityMapper; + + /** + * 查询生产设施列表 + * + * @param pcProductionFacility 生产设施 + * @return 生产设施 + */ + @Override + public List selectPcProductionFacilityList(PcProductionFacility pcProductionFacility) + { + return pcProductionFacilityMapper.selectPcProductionFacilityList(pcProductionFacility); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcSolidHazardousTypeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcSolidHazardousTypeServiceImpl.java new file mode 100644 index 0000000..81348db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcSolidHazardousTypeServiceImpl.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcSolidHazardousType; +import cn.cecep.talroad.mapper.PcSolidHazardousTypeMapper; +import cn.cecep.talroad.service.IPcSolidHazardousTypeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + + +/** + * 固危废贮存信息--危险废物名录类型Service业务层处理 + * + * @author szhpt + * @date 2023-03-21*/ +@Service +public class PcSolidHazardousTypeServiceImpl extends ServiceImpl implements IPcSolidHazardousTypeService +{ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingEntranceGuServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingEntranceGuServiceImpl.java new file mode 100644 index 0000000..94c35b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingEntranceGuServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcStationBuildingEntranceGu; +import cn.cecep.talroad.mapper.PcStationBuildingEntranceGuMapper; +import cn.cecep.talroad.service.IPcStationBuildingEntranceGuService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 站房门禁监管信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcStationBuildingEntranceGuServiceImpl extends ServiceImpl implements IPcStationBuildingEntranceGuService +{ + @Autowired + private PcStationBuildingEntranceGuMapper pcStationBuildingEntranceGuMapper; + + /** + * 查询站房门禁监管信息列表 + * + * @param pcStationBuildingEntranceGu 站房门禁监管信息 + * @return 站房门禁监管信息 + */ + @Override + public List selectPcStationBuildingEntranceGuList(PcStationBuildingEntranceGu pcStationBuildingEntranceGu) + { + return pcStationBuildingEntranceGuMapper.selectPcStationBuildingEntranceGuList(pcStationBuildingEntranceGu); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingOpsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingOpsServiceImpl.java new file mode 100644 index 0000000..057c04c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingOpsServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcStationBuildingOps; +import cn.cecep.talroad.mapper.PcStationBuildingOpsMapper; +import cn.cecep.talroad.service.IPcStationBuildingOpsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 站房运维签到信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcStationBuildingOpsServiceImpl extends ServiceImpl implements IPcStationBuildingOpsService +{ + @Autowired + private PcStationBuildingOpsMapper pcStationBuildingOpsMapper; + + /** + * 查询站房运维签到信息列表 + * + * @param pcStationBuildingOps 站房运维签到信息 + * @return 站房运维签到信息 + */ + @Override + public List selectPcStationBuildingOpsList(PcStationBuildingOps pcStationBuildingOps) + { + return pcStationBuildingOpsMapper.selectPcStationBuildingOpsList(pcStationBuildingOps); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingServiceImpl.java new file mode 100644 index 0000000..423977e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.PcStationBuilding; +import cn.cecep.talroad.mapper.PcStationBuildingMapper; +import cn.cecep.talroad.service.IPcStationBuildingService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 站房基本信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class PcStationBuildingServiceImpl extends ServiceImpl implements IPcStationBuildingService +{ + @Autowired + private PcStationBuildingMapper pcStationBuildingMapper; + + /** + * 查询站房基本信息列表 + * + * @param pcStationBuilding 站房基本信息 + * @return 站房基本信息 + */ + @Override + public List selectPcStationBuildingList(PcStationBuilding pcStationBuilding) + { + return pcStationBuildingMapper.selectPcStationBuildingList(pcStationBuilding); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingStatServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingStatServiceImpl.java new file mode 100644 index 0000000..97f3b0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PcStationBuildingStatServiceImpl.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.vo.FactoryReportingRemindersVo; +import cn.cecep.talroad.vo.PcStationBuildingStatVo; +import cn.cecep.talroad.vo.query.PcStationBuildingStatQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import cn.cecep.talroad.mapper.PcStationBuildingStatMapper; +import cn.cecep.talroad.service.IPcStationBuildingStatService; +import cn.cecep.talroad.mapper.PcStationBuildingStatMapper; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import cn.cecep.talroad.service.IPcStationBuildingStatService; + + + + +/** + * 站房信息--站房门禁进出统计分析Service业务层处理 + * + * @author szhpt + * @date 2023-06-27*/ +@Service +public class PcStationBuildingStatServiceImpl extends ServiceImpl implements IPcStationBuildingStatService +{ + @Autowired + private PcStationBuildingStatMapper pcStationBuildingStatMapper; + + @Override + public List selectPage(Page page, PcStationBuildingStatQuery query) { + List vos = pcStationBuildingStatMapper.selectPage(page, query); + page.setRecords(vos); + return vos; + } + + /** + * 查询站房信息--站房门禁进出统计分析列表 + * + * @param pcStationBuildingStat 站房信息--站房门禁进出统计分析 + * @return 站房信息--站房门禁进出统计分析 + */ + @Override + public List selectPcStationBuildingStatList(PcStationBuildingStat pcStationBuildingStat) + { + return pcStationBuildingStatMapper.selectPcStationBuildingStatList(pcStationBuildingStat); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PointIsOfflineServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PointIsOfflineServiceImpl.java new file mode 100644 index 0000000..71f53a3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/PointIsOfflineServiceImpl.java @@ -0,0 +1,191 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.PointIsOfflineMapper; +import cn.cecep.talroad.service.PointIsOfflineService; +import cn.cecep.talroad.vo.PointIsOfflineVO; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @className: PointIsOfflineServiceImpl + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/15 5:16 PM + * @Company: Copyright© [2023/04/15 5:16 PM] by [Mr.Yanghongtao] + **/ +@Service +public class PointIsOfflineServiceImpl implements PointIsOfflineService { + + @Autowired + private PointIsOfflineMapper pointIsOfflineMapper; + + @Autowired + private AmProblemFiMapper amProblemFiMapper; + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 5:37 PM + * @Deseription: 无组织点位,如果连续断了8个小时数据,就更新点位状态为离线 + * @Params: null + * @Return: + * @Throws: + */ + @Override + public void disorganizationPointIsOffline() { + // 无组织监测点位数据是一个小时一条,根据规则我们要查询近8个小时内(包过本小时)是否存在数据 + String startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addDateHours(new Date(),-7)); + String endTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",new Date()); + // 获取上一个小时的时间 + String beforeTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addDateHours(new Date(),-1)); + + List updatePoints = new ArrayList<>(); + + List pointIsOfflineVOS = pointIsOfflineMapper.selectDisorganizationListByDateTime(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime)); + // 根据点位进行分组,每个点位下必须要有一条数据 + Map> collect = pointIsOfflineVOS.stream().collect(Collectors.groupingBy(PointIsOfflineVO::getOutletId)); + collect.forEach((k,v)->{ + List list = v.stream().filter(x->x.getMonitoringTime()!=null).collect(Collectors.toList()); + String status = "离线"; + if (!CollectionUtil.isEmpty(list)) { + AmProblemFi amProblemFi = new AmProblemFi(); + // 关联分析系统 + amProblemFi.setProblemSources("1"); + // 浓度超标报警 + amProblemFi.setProblemType("005001"); + amProblemFi.setAnalyseTime(DateUtils.parseDate(beforeTime)); + amProblemFi.setAnalyseTimeEnd(new Date()); + amProblemFi.setStationId(k); + // 先去查询上一个小时截止当前时间,是否有报警,如果有报警,则不更新状态 + Integer ndcbbj = amProblemFiMapper.selectCountByParams(amProblemFi); + // 浓度超标预警 + amProblemFi.setProblemType("005002"); + Integer ndcbyj = amProblemFiMapper.selectCountByParams(amProblemFi); + if (ndcbyj == 0 && ndcbbj == 0) { + // 上个小时没有超标报警或超标预警,进行状态更新 + status = "正常"; + } + } + PointIsOfflineVO tmpPoint = new PointIsOfflineVO(); + tmpPoint.setOutletId(k); + tmpPoint.setWzzStatus(status); + updatePoints.add(tmpPoint); + + }); + // 更新无组织监测点位 + List> dataList = subList(updatePoints, 1000); + for (int i = 0; i < dataList.size(); i++) { + pointIsOfflineMapper.updatePcOutletStatus(dataList.get(i)); + } + } + + + /** + * @Author: Mr.Yanghongtao + * @data: 2023/4/15 6:25 PM + * @Deseription: 在线监测点位,如果连续断了30分钟的数据,就更新点位状态为离线 + * @Params: null + * @Return: + * @Throws: + */ + @Override + public void onLineMonitoringPointIsOffline() { + // 在线监测点位数据是一分钟一条,根据规则我们要查询近30分钟内(包过本分钟)是否存在数据 + String startTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",DateUtils.addDateMinutes(new Date(),-29)); + String endTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",new Date()); + // 获取上一个小时的时间 + String beforeTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addDateHours(new Date(),-1)); + + List updatePoints = new ArrayList<>(); + + List pointIsOfflineVOS = pointIsOfflineMapper.selectOnLineMonitoringListByDateTime(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime)); + // 根据点位进行分组,每个点位下必须要有一条数据 + Map> collect = pointIsOfflineVOS.stream().collect(Collectors.groupingBy(PointIsOfflineVO::getOutletId)); + collect.forEach((k,v)->{ + List list = v.stream().filter(x->x.getMonitoringTime()!=null).collect(Collectors.toList()); + String status = "掉线"; + if (!CollectionUtil.isEmpty(list)) { + AmProblemFi amProblemFi = new AmProblemFi(); + // 关联分析系统 + amProblemFi.setProblemSources("1"); + // 浓度超标报警 + amProblemFi.setProblemType("003002"); + amProblemFi.setAnalyseTime(DateUtils.parseDate(beforeTime)); + amProblemFi.setAnalyseTimeEnd(new Date()); + amProblemFi.setStationId(k); + // 先去查询上一个小时截止当前时间,是否有报警,如果有报警,则不更新状态 + Integer ndcbbj = amProblemFiMapper.selectCountByParams(amProblemFi); + // 浓度超标预警 + amProblemFi.setProblemType("003003"); + Integer ndcbyj = amProblemFiMapper.selectCountByParams(amProblemFi); + if ( ndcbbj == 0 && ndcbyj == 0) { + // 上个小时没有超标报警或超标预警,进行状态更新 + status = "正常"; + } + } + PointIsOfflineVO tmpPoint = new PointIsOfflineVO(); + tmpPoint.setOutletId(k); + tmpPoint.setOutletStatus(status); + updatePoints.add(tmpPoint); + }); + // 更新在线监测点位 + List> dataList = subList(updatePoints, 1000); + for (int i = 0; i < dataList.size(); i++) { + pointIsOfflineMapper.updatePcOutletStatus(dataList.get(i)); + } + } + + + /** + * 截取List + * @param tList + * @param subNum + * @param + * @return + */ + public static List> subList(List tList, Integer subNum) { + // 新的截取到的list集合 + List> tNewList = new ArrayList>(); + // 要截取的下标上限 + Integer priIndex = 0; + // 要截取的下标下限 + Integer lastIndex = 0; + // 每次插入list的数量 + // Integer subNum = 500; + // 查询出来list的总数目 + Integer totalNum = tList.size(); + // 总共需要插入的次数 + Integer insertTimes = totalNum / subNum; + List subNewList = new ArrayList(); + for (int i = 0; i <= insertTimes; i++) { + // [0--20) [20 --40) [40---60) [60---80) [80---100) + priIndex = subNum * i; + lastIndex = priIndex + subNum; + // 判断是否是最后一次 + if (i == insertTimes) { + //logger.info("最后一次截取:"+priIndex + "," + lastIndex); + subNewList = tList.subList(priIndex, tList.size()); + } else { + // 非最后一次 + subNewList = tList.subList(priIndex, lastIndex); + } + if (subNewList.size() > 0) { + //logger.info("开始将截取的list放入新的list中"); + tNewList.add(subNewList); + } + } + return tNewList; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionManageServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionManageServiceImpl.java new file mode 100644 index 0000000..dd8b8e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionManageServiceImpl.java @@ -0,0 +1,300 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AiDeepModelResult; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.mapper.AiDeepModelResultMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.vo.*; +import cn.cecep.talroad.vo.query.MonElecRealQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.cecep.talroad.vo.query.SEnvGasRealQuery; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 产排治模块base service + */ +@Service +public class ProductionManageServiceImpl implements IProductionManageService { + + @Autowired + private PcOutletMapper outletMapper; + + @Autowired + private ISEnvGasMonRealService envGasMonRealService; + + @Autowired + private ISEnvWaterMonRealService waterMonRealService; + + @Autowired + private ISEnvGasRealService envGasRealService; + + @Autowired + private IBasDeviceService basDeviceService; + + @Autowired + private IBasDeviceSiteService basDeviceSiteService; + + @Autowired + private IMonElecRealService monElecRealService; + + @Autowired + private AiDeepModelResultMapper aiDeepModelResultMapper; + + @Override + public SearchVo getSearchVo(String outletId, List deviceIds) { + SearchVo searchVo = new SearchVo(); + + // 排口在线监测点位 + if (StringUtils.isNotEmpty(outletId)) { + List onlineOutlets = outletMapper.selectList(new QueryWrapper() + .eq("parent_outlet_id", outletId) + .in("pollutant_type", "3", "4") + .orderByAsc("id") + ); + List collect = onlineOutlets.stream().map(o -> { + PcOutletVo.SimpleVo simpleVo = new PcOutletVo.SimpleVo(); + BeanUtils.copyProperties(o, simpleVo); + return simpleVo; + }).collect(Collectors.toList()); + searchVo.setOutletSimpleVo(collect); + } + + if (deviceIds != null && deviceIds.size() > 0) { + List basDevices = basDeviceService.list(new QueryWrapper().in("device_id", deviceIds).orderByAsc("industry", "device_id")); + + List dcsList = new ArrayList<>(); + List elList = new ArrayList<>(); + + // 行业为EL的是分表计电设备,其余的都是工况设备 + for (BasDevice basDevice : basDevices) { + if (EnIndustry.EL.id().equals(basDevice.getIndustry())) { + elList.add(basDevice); + } else { + dcsList.add(basDevice); + } + } + + List dcsSimpleVoList = dcsList.stream().map(o -> { + BasDeviceVo.SimpleVo simpleVo = new BasDeviceVo.SimpleVo(); + BeanUtils.copyProperties(o, simpleVo); + return simpleVo; + }).collect(Collectors.toList()); + searchVo.setDeviceSimpleVo(dcsSimpleVoList); + + if (!elList.isEmpty()) { + List sites = basDeviceSiteService.list(new QueryWrapper() + .in("device_id", elList.stream().map(BasDevice::getDeviceId).collect(Collectors.toList())) + .orderByAsc("device_id", "id")); + List siteSimpleVoList = sites.stream().map(o -> { + BasDeviceSiteVo.SimpleVo simpleVo = new BasDeviceSiteVo.SimpleVo(); + BeanUtils.copyProperties(o, simpleVo); + return simpleVo; + }).collect(Collectors.toList()); + searchVo.setDeviceSiteSimpleVo(siteSimpleVoList); + } + } + return searchVo; + } + + /** + * 获取产排治弹框数据 + * @return + */ + @Override + public FrameDataVo getFrameData(SearchVo searchVo) { + String startTime = searchVo.getStartTime(); + String endTime = searchVo.getEndTime(); + Long pageNum = searchVo.getPageNum(); + Long pageSize = searchVo.getPageSize(); + String dataType = searchVo.getDataType() == null ? "M" : searchVo.getDataType(); + + // 工况设备/分表计电点位/在线监测点位 + List objects = new ArrayList<>(); + + if (searchVo.getOutletSimpleVo() != null) { + objects.addAll(searchVo.getOutletSimpleVo()); + } + if (searchVo.getDeviceSimpleVo() != null) { + objects.addAll(searchVo.getDeviceSimpleVo()); + } + if (searchVo.getDeviceSiteSimpleVo() != null) { + objects.addAll(searchVo.getDeviceSiteSimpleVo()); + } + if (searchVo.getDeviceSimpleStatusVos() != null) { + objects.addAll(searchVo.getDeviceSimpleStatusVos()); + } + if (searchVo.getDcsOnlineVos() != null) { + objects.addAll(searchVo.getDcsOnlineVos()); + } + + // 排口关联的工况设备/分表计电点位/在线监测点位曲线图列表 + List chartsVOS = new ArrayList<>(); + + if (!objects.isEmpty()) { + // 由于工况设备/分表计电点位/在线监测点位相关数据表数据量大,分页获取这些点位的曲线图 + List pageObjects = objects.stream().skip((pageNum - 1) * pageSize) + .limit(pageSize) + .collect(Collectors.toList()); + + for (Object object : pageObjects) { + if (object instanceof PcOutletVo.SimpleVo) { + + EChartsVO onlineChart = getOnlineChart((PcOutletVo.SimpleVo) object, dataType, startTime, endTime); + chartsVOS.add(onlineChart); + + } else if (object instanceof BasDeviceVo.SimpleVo) { + BasDeviceVo.SimpleVo device = (BasDeviceVo.SimpleVo) object; + + EChartsVO cepDeviceChart = basDeviceService.getDeviceChart(device.getDeviceId(), startTime, endTime, "R", device.getPollutantVos()); + cepDeviceChart.setName("DCS监测数据-" + device.getName()); + chartsVOS.add(cepDeviceChart); + } else if (object instanceof BasDeviceSiteVo.SimpleVo) { + BasDeviceSiteVo.SimpleVo site = (BasDeviceSiteVo.SimpleVo) object; + + MonElecRealQuery query = new MonElecRealQuery(); + query.setDeviceSiteId(site.getId()); + query.setDataTimeStart(startTime); + query.setDataTimeEnd(endTime); + query.setPollutantVos(site.getPollutantVos()); + + EChartsVO charData = monElecRealService.getCharData(query); + charData.setName("计电监测数据-" + site.getName()); + chartsVOS.add(charData); + } else if (object instanceof BasDeviceVo.SimpleStatusVo) { + BasDeviceVo.SimpleStatusVo device = (BasDeviceVo.SimpleStatusVo) object; + + EChartsVO chartsVO = basDeviceService.getDeviceStatusChart(device, startTime, endTime); + chartsVO.setName("生产设施状态数据-" + device.getName()); + chartsVO.setRenderFlag("1"); + chartsVOS.add(chartsVO); + } else if (object instanceof BasDeviceVo.DcsOnlineVo) { + BasDeviceVo.DcsOnlineVo dcsOnlineVo = (BasDeviceVo.DcsOnlineVo) object; + + List aiDeepModelResults = aiDeepModelResultMapper.selectList(new QueryWrapper() + .eq("device_id", dcsOnlineVo.getDcsSimpleVo().getDeviceId()) + .eq("outlet_id", dcsOnlineVo.getOnlineSimpleVo().getId()) + .ge("data_time", DateUtils.parseDate(startTime)) + .le("data_time", DateUtils.parseDate(endTime)) + ); + + // 设置监测物的上下限数据 + for (AmProblemFiVo.PollutantVo pollutantVo : dcsOnlineVo.getOnlineSimpleVo().getPollutantVos()) { + Map pollutantLimitVoMap = aiDeepModelResults.stream().collect(Collectors.toMap( + modelResult -> DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", modelResult.getDataTime()), + modelResult -> { + AmProblemFiVo.PollutantLimitVo limitVo = new AmProblemFiVo.PollutantLimitVo(); + limitVo.setLowerLimit(BeanUtil.getProperty(modelResult, pollutantVo.getProp() + "LowLim")); + limitVo.setUpperLimit(BeanUtil.getProperty(modelResult, pollutantVo.getProp() + "UpLim")); + + BigDecimal lowerLimit = null; + BigDecimal upperLimit = null; + + if (StringUtils.isNotEmpty(limitVo.getLowerLimit())) { + lowerLimit = new BigDecimal(limitVo.getLowerLimit()).setScale(2, BigDecimal.ROUND_HALF_UP); + limitVo.setLowerLimit(lowerLimit.stripTrailingZeros().toPlainString()); + } + + if (StringUtils.isNotEmpty(limitVo.getUpperLimit())) { + upperLimit = new BigDecimal(limitVo.getUpperLimit()).setScale(2, BigDecimal.ROUND_HALF_UP); + limitVo.setUpperLimit(upperLimit.stripTrailingZeros().toPlainString()); + } + + // 由于前端上下限系列是叠加展示的,上限的系列值=上限-下限 + if (lowerLimit != null && upperLimit != null) { + String upper = upperLimit.subtract(lowerLimit).stripTrailingZeros().toPlainString(); + limitVo.setUpperLimit(upper); + } + return limitVo; + }, + (o1, o2) -> o1)); + + pollutantVo.setPollutantLimitMap(pollutantLimitVoMap); + } + + EChartsVO onlineChart = getOnlineChart(dcsOnlineVo.getOnlineSimpleVo(), dataType, startTime, endTime); + + EChartsVO cepDeviceChart = basDeviceService.getDeviceChart( + dcsOnlineVo.getDcsSimpleVo().getDeviceId(), startTime, endTime, "R", + dcsOnlineVo.getDcsSimpleVo().getPollutantVos() + ); + cepDeviceChart.setName("DCS监测数据-" + dcsOnlineVo.getDcsSimpleVo().getName()); + cepDeviceChart.getSeries().addAll(0, onlineChart.getSeries()); + + chartsVOS.add(cepDeviceChart); + } else { + throw new RuntimeException("未知的类型(不属于工况设备/分表计电点位/在线监测点位)"); + } + } + } + + FrameDataVo vo = new FrameDataVo(); + vo.setChartsVOS(chartsVOS); + vo.setTotal(objects.size()); + return vo; + } + + private EChartsVO getOnlineChart(PcOutletVo.SimpleVo onlinePoint, String dataType, String startTime, String endTime) { + EChartsVO charData; + + // 废气监测点 + if ("4".equals(onlinePoint.getPollutantType()) && ("1".equals(onlinePoint.getPollutantOutletType()) || "3".equals(onlinePoint.getPollutantOutletType()))) { + SEnvGasMonRealQuery query = new SEnvGasMonRealQuery(); + query.setDataType(dataType); + query.setOutletId(onlinePoint.getId()); + query.setMonitoringStartTime(startTime); + query.setMonitoringEndTime(endTime); + query.setPollutantVos(onlinePoint.getPollutantVos()); + + String s = StringUtils.isEmpty(onlinePoint.getMonitoringPointName()) ? "" : ("-" + onlinePoint.getMonitoringPointName()); + + charData = envGasMonRealService.getCharData(query); + charData.setName("废气在线监测数据" + s); + } else if ("4".equals(onlinePoint.getPollutantType()) && "2".equals(onlinePoint.getPollutantOutletType())) { // 废水监测点 + SEnvWaterMonRealQuery query = new SEnvWaterMonRealQuery(); + query.setDataType(dataType); + query.setOutletId(onlinePoint.getId()); + query.setMonitoringStartTime(startTime); + query.setMonitoringEndTime(endTime); + query.setPollutantVos(onlinePoint.getPollutantVos()); + + String s = StringUtils.isEmpty(onlinePoint.getMonitoringPointName()) ? "" : ("-" + onlinePoint.getMonitoringPointName()); + + charData = waterMonRealService.getCharData(query); + charData.setName("废水在线监测数据" + s); + } else if ("3".equals(onlinePoint.getPollutantType())) { // 无组织 + SEnvGasRealQuery query = new SEnvGasRealQuery(); + query.setDataType(dataType); + query.setOutletId(onlinePoint.getId()); + query.setMonitoringStartTime(startTime); + query.setMonitoringEndTime(endTime); + query.setPollutantVos(onlinePoint.getPollutantVos()); + + String s = StringUtils.isEmpty(onlinePoint.getMonitoringPointName()) ? "" : ("-" + onlinePoint.getMonitoringPointName()); + + charData = envGasRealService.getCharData(query); + charData.setName("无组织在线监测数据" + s); + } else { + throw new RuntimeException(String.format("未知的排口类型(pollutantType=%s, pollutantOutletType=%s)", + onlinePoint.getPollutantType(), onlinePoint.getPollutantOutletType())); + } + return charData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionScheduledServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionScheduledServiceImpl.java new file mode 100644 index 0000000..27caa95 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ProductionScheduledServiceImpl.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.mapper.ProductionScheduledMapper; +import cn.cecep.talroad.service.ProductionScheduledService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 开发公司:中节能天融科技有限公司 + * + * ProductionScheduledServiceImpl + * 定时更新产治排设施关联关系 + * @author fzx + * @date 2023-6-7 00:03:07 + */ +@Service +public class ProductionScheduledServiceImpl implements ProductionScheduledService { + + @Autowired + private ProductionScheduledMapper productionScheduledMapper; + + @Override + public void timingUpdateProduction() { + // 定时更新废气有组织生产设施关联关系 + productionScheduledMapper.updateOrganizProDevice(); + // 定时更新废气有组织治理设施关联关系 + productionScheduledMapper.updateOrganizCepDevice(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonDayServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonDayServiceImpl.java new file mode 100644 index 0000000..d923ef8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonDayServiceImpl.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.mapper.SEnvGasMonDayMapper; +import cn.cecep.talroad.service.ISEnvGasMonDayService; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-06-21 17:15 + * @Class: SEnvGasMonDayServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Service +public class SEnvGasMonDayServiceImpl extends ServiceImpl implements ISEnvGasMonDayService { + + @Autowired + private SEnvGasMonDayMapper sEnvGasMonDayMapper; + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvGasMonDayMapper.selectLastDayData(queryBeginTime,queryEndTime); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonHourServiceImpl.java new file mode 100644 index 0000000..01068b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonHourServiceImpl.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.mapper.SEnvGasMonHourMapper; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import java.util.List; +import java.util.Set; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-06-21 17:15 + * @Class: SEnvGasMonHourServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Service +public class SEnvGasMonHourServiceImpl extends ServiceImpl implements ISEnvGasMonHourService { + + @Autowired + private SEnvGasMonHourMapper sEnvGasMonHourMapper; + + + @Override + public List selectLastHourData(String pollutantOutletType, String lastHour) { + return sEnvGasMonHourMapper.selectLastHourData(pollutantOutletType,lastHour); + } + + @Override + public List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd) { + return sEnvGasMonHourMapper.selectLastDayData(pollutantOutletType,lastDayBegin,lastDayEnd); + } + + @Override + public List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvGasMonHourMapper.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper); + } + + @Override + public List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + + return sEnvGasMonHourMapper.selectSRaWaterSourceListBy(lambdaQueryWrapper); + } + + @Override + public List selectSRaWaterSourceListByPoll(Set lambdaQueryWrapper) { + return sEnvGasMonHourMapper.selectSRaWaterSourceListByPoll(lambdaQueryWrapper); + } + + @Override + public List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvGasMonHourMapper.selectLastDayCountData(queryBeginTime,queryEndTime); + } + + @Override + public List selectHourDataByTime(String factoryId, String monitorId, Date monitorTime) { + return sEnvGasMonHourMapper.selectHourDataByTime(factoryId,monitorId,monitorTime); + } + + @Override + public List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvGasMonHourMapper.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper); + } + + @Override + public List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvGasMonHourMapper.selectManualSRaWaterSourceListBy(lambdaQueryWrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonRealServiceImpl.java new file mode 100644 index 0000000..e9173cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasMonRealServiceImpl.java @@ -0,0 +1,899 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.service.ISEnvGasMonRealService; +import cn.cecep.talroad.util.CustomDateUtil; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.ChartVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvGasMonRealVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.BMainEmissionSourceAirWaterSolidQuery; +import cn.cecep.talroad.vo.query.SEnvGasMonRealQuery; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapBuilder; +import com.alibaba.csp.sentinel.util.StringUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Maps; +import lombok.SneakyThrows; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 废气监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SEnvGasMonRealServiceImpl extends ServiceImpl implements ISEnvGasMonRealService +{ + @Autowired + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + + @Autowired + private SEnvWaterMonRealMapper sEnvWaterMonRealMapper; + + @Autowired + private STaskYieldTrendMapper sTaskYieldTrendMapper; + + @Autowired + private PcYieldTrendMapper pcYieldTrendMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + @Autowired + private HomePageMapServiceImpl homePageMapService; + + @Override + public Map chart(BMainEmissionSourceAirWaterSolidQuery params) { + Map query = Maps.newHashMap(); + query.put("factoryId", params.getFactoryId()); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); + Date date = new Date(); + Date toDate = null; + String now = format.format(date); + List xsxisDatas = Lists.newArrayList(); + // 日、月、年 + switch (params.getDataType()){ + // 近一天 + case "日": + c.setTime(date); + c.add(Calendar.DATE, - 1); + toDate = c.getTime(); + String begin = format.format(toDate); + query.put("monitoringStartTime", begin); + query.put("monitoringEndTime", now); + query.put("dataType", TimeTypeEnum.HOUR.getCode()); + xsxisDatas.addAll(CustomDateUtil.getAllHours(toDate, date, CustomDateUtil.HOUR_PATTERN)); + break; + // 近一月 + case "月": + c.setTime(date); + c.add(Calendar.MONTH, -1); + toDate = c.getTime(); + String mon = format.format(toDate); + query.put("monitoringStartTime", mon); + query.put("monitoringEndTime", now); + query.put("dataType", TimeTypeEnum.DAY.getCode()); + xsxisDatas.addAll(CustomDateUtil.getAllDays(toDate, date, CustomDateUtil.DATE_PATTERN)); + break; + // 近一年 + case "年": + c.setTime(new Date()); + c.add(Calendar.YEAR, -1); + toDate = c.getTime(); + String year = format.format(toDate); + query.put("monitoringStartTime", year); + query.put("monitoringEndTime", now); + query.put("dataType", params.getFacts().equals("行业") ? "M" : TimeTypeEnum.DAY.getCode()); + xsxisDatas.addAll(CustomDateUtil.getAllMonths(toDate, date, CustomDateUtil.DATE_PATTERN_MONTH)); + break; + } + Map res = Maps.newHashMap(); + ChartVo chartVo = new ChartVo(); + switch(params.getFacts()){ + case "废气": + List sEnvGasMonReals = sEnvGasMonRealMapper.selectList(SEnvGasMonRealQuery.createLambdaQueryWrapper(new SEnvGasMonRealQuery( + query.get("factoryId"), query.get("dataType"), query.get("monitoringStartTime"), query.get("monitoringEndTime") + )).orderByAsc("monitoring_time")); + if(!CollectionUtils.isEmpty(sEnvGasMonReals)){ + Map> mergeDataMaps = sEnvGasMonReals.stream().collect(Collectors.groupingBy(SEnvGasMonReal::getMonitoringTime)); + List mergeDatas = Lists.newArrayList(); + mergeDataMaps.forEach((month,data)->{ + List timeData = new ArrayList<>(data.stream().collect(Collectors.toMap(SEnvGasMonReal::getMonitoringTime, a -> a, (o1, o2) -> { + o1.setSo2(strToBigDecimal(o1.getSo2()).add(strToBigDecimal(o2.getSo2())).toString()); + o1.setNox(strToBigDecimal(o1.getNox()).add(strToBigDecimal(o2.getNox())).toString()); + o1.setPm(strToBigDecimal(o1.getPm()).add(strToBigDecimal(o2.getPm())).toString()); + o1.setVocs(strToBigDecimal(o1.getVocs()).add(strToBigDecimal(o2.getVocs())).toString()); + return o1; + })).values()); + mergeDatas.addAll(timeData); + }); + Collections.sort(mergeDatas, new Comparator() { + @SneakyThrows + @Override + public int compare(SEnvGasMonReal o1, SEnvGasMonReal o2) { + Date o1Time = DateUtils.parseDate(o1.getMonitoringTime(), DateUtils.YYYY_MM_DD_HH_MM_SS); + Date o2Time = DateUtils.parseDate(o2.getMonitoringTime(), DateUtils.YYYY_MM_DD_HH_MM_SS); + if(o1Time.getTime() > o2Time.getTime()){ + return 1; + } else if (o1Time.getTime() < o2Time.getTime()) { + return -1; + } + return 0; + } + }); + if ("日".equals(params.getDataType())) { + mergeDatas.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 13))); + } else if ("月".equals(params.getDataType())) { + mergeDatas.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 10))); + } else if ("年".equals(params.getDataType())) { + mergeDatas.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 7))); + } + if("日".equals(params.getDataType()) || "月".equals(params.getDataType())){ + chartVo.setXsxisData(mergeDatas.stream().map(SEnvGasMonReal::getMonitoringTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + chartVo.setLegendData(Arrays.stream(ChartVo.EnvGasMonRealPollutant.values()).distinct().map(ChartVo.EnvGasMonRealPollutant::getDesc).collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (ChartVo.EnvGasMonRealPollutant value : ChartVo.EnvGasMonRealPollutant.values()) { + Map map = Maps.newHashMap(); + map.put("name", value.getDesc()); + map.put("unit", "kg"); + map.put("data", mergeDatas.stream().map(o -> BeanUtil.getProperty(o, value.getColumn())).collect(Collectors.toList())); + seriesData.add(map); + } + res.put("table", mergeDatas); + chartVo.setSeriesData(seriesData); + } else { + Map> mergeYearMonthDataMaps = mergeDatas.stream().collect(Collectors.groupingBy(SEnvGasMonReal::getMonitoringTime)); + List mergeYearMonthDatas = Lists.newArrayList(); + mergeYearMonthDataMaps.forEach((month,data)->{ + List timeData = new ArrayList<>(data.stream().collect(Collectors.toMap(SEnvGasMonReal::getMonitoringTime, a -> a, (o1, o2) -> { + o1.setSo2(strToBigDecimal(o1.getSo2()).add(strToBigDecimal(o2.getSo2())).toString()); + o1.setNox(strToBigDecimal(o1.getNox()).add(strToBigDecimal(o2.getNox())).toString()); + o1.setPm(strToBigDecimal(o1.getPm()).add(strToBigDecimal(o2.getPm())).toString()); + o1.setVocs(strToBigDecimal(o1.getVocs()).add(strToBigDecimal(o2.getVocs())).toString()); + return o1; + })).values()); + mergeYearMonthDatas.addAll(timeData); + }); + Collections.sort(mergeYearMonthDatas, new Comparator() { + @SneakyThrows + @Override + public int compare(SEnvGasMonReal o1, SEnvGasMonReal o2) { + Date o1Time = DateUtils.parseDate(o1.getMonitoringTime(), DateUtils.YYYY_MM); + Date o2Time = DateUtils.parseDate(o2.getMonitoringTime(), DateUtils.YYYY_MM); + if(o1Time.getTime() > o2Time.getTime()){ + return 1; + } else if (o1Time.getTime() < o2Time.getTime()) { + return -1; + } + return 0; + } + }); + chartVo.setXsxisData(mergeYearMonthDatas.stream().map(SEnvGasMonReal::getMonitoringTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + chartVo.setLegendData(Arrays.stream(ChartVo.EnvGasMonRealPollutant.values()).distinct().map(ChartVo.EnvGasMonRealPollutant::getDesc).collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (ChartVo.EnvGasMonRealPollutant value : ChartVo.EnvGasMonRealPollutant.values()) { + Map map = Maps.newHashMap(); + map.put("name", value.getDesc()); + map.put("unit", "kg"); + map.put("data", mergeYearMonthDatas.stream().map(o -> BeanUtil.getProperty(o, value.getColumn())).collect(Collectors.toList())); + seriesData.add(map); + } + res.put("table", mergeYearMonthDatas); + chartVo.setSeriesData(seriesData); + } + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + chartVo.setLegendData(new Object[0]); + res.put("table", Lists.newArrayList()); + } + break; + case "废水": + List sEnvWaterMonReals = sEnvWaterMonRealMapper.selectList(SEnvWaterMonRealQuery.createLambdaQueryWrapper(new SEnvWaterMonRealQuery( + query.get("factoryId"), query.get("dataType"), query.get("monitoringStartTime"), query.get("monitoringEndTime") + )).orderByAsc("monitoring_time")); + if(!CollectionUtils.isEmpty(sEnvWaterMonReals)){ + // 近一年每月 + Map> mergeDataMaps = sEnvWaterMonReals.stream().collect(Collectors.groupingBy(SEnvWaterMonReal::getMonitoringTime)); + List mergeDatas = Lists.newArrayList(); + mergeDataMaps.forEach((month,data)->{ + List monthData = new ArrayList<>(data.stream().collect(Collectors.toMap(SEnvWaterMonReal::getMonitoringTime, a -> a, (o1, o2) -> { + o1.setCodConcentration(strToBigDecimal(o1.getCodConcentration()).add(strToBigDecimal(o2.getCodConcentration())).toString()); + o1.setPhosphorusConcentration(strToBigDecimal(o1.getPhosphorusConcentration()).add(strToBigDecimal(o2.getPhosphorusConcentration())).toString()); + o1.setNitrogenConcentration(strToBigDecimal(o1.getNitrogenConcentration()).add(strToBigDecimal(o2.getNitrogenConcentration())).toString()); + o1.setAmmoniaNitrogen(strToBigDecimal(o1.getAmmoniaNitrogen()).add(strToBigDecimal(o2.getAmmoniaNitrogen())).toString()); + return o1; + })).values()); + mergeDatas.addAll(monthData); + }); + Collections.sort(mergeDatas, new Comparator() { + @SneakyThrows + @Override + public int compare(SEnvWaterMonReal o1, SEnvWaterMonReal o2) { + Date o1Time = DateUtils.parseDate(o1.getMonitoringTime(), DateUtils.YYYY_MM_DD_HH_MM_SS); + Date o2Time = DateUtils.parseDate(o2.getMonitoringTime(), DateUtils.YYYY_MM_DD_HH_MM_SS); + if(o1Time.getTime() > o2Time.getTime()){ + return 1; + } else if (o1Time.getTime() < o2Time.getTime()) { + return -1; + } + return 0; + } + }); + if ("日".equals(params.getDataType())) { + sEnvWaterMonReals.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 13))); + } else if ("月".equals(params.getDataType())) { + sEnvWaterMonReals.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 10))); + } else if ("年".equals(params.getDataType())) { + sEnvWaterMonReals.stream().forEach(item -> item.setMonitoringTime(item.getMonitoringTime().substring(0, 7))); + } + if("日".equals(params.getDataType()) || "月".equals(params.getDataType())) { + chartVo.setXsxisData(mergeDatas.stream().map(SEnvWaterMonReal::getMonitoringTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + chartVo.setLegendData(Arrays.stream(ChartVo.EnvGasWaterRealPollutant.values()).distinct().map(ChartVo.EnvGasWaterRealPollutant::getDesc).collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (ChartVo.EnvGasWaterRealPollutant value : ChartVo.EnvGasWaterRealPollutant.values()) { + Map map = Maps.newHashMap(); + map.put("name", value.getDesc()); + map.put("unit", "kg"); + map.put("data", sEnvWaterMonReals.stream().map(o -> BeanUtil.getProperty(o, value.getColumn())).collect(Collectors.toList())); + seriesData.add(map); + } + res.put("table", sEnvWaterMonReals); + chartVo.setSeriesData(seriesData); + } else { + // 近一年每月 + Map> mergeYearMonthDataMaps = sEnvWaterMonReals.stream().collect(Collectors.groupingBy(SEnvWaterMonReal::getMonitoringTime)); + List mergeYearMonthDatas = Lists.newArrayList(); + mergeYearMonthDataMaps.forEach((month,data)->{ + List monthData = new ArrayList<>(data.stream().collect(Collectors.toMap(SEnvWaterMonReal::getMonitoringTime, a -> a, (o1, o2) -> { + o1.setCodConcentration(strToBigDecimal(o1.getCodConcentration()).add(strToBigDecimal(o2.getCodConcentration())).toString()); + o1.setPhosphorusConcentration(strToBigDecimal(o1.getPhosphorusConcentration()).add(strToBigDecimal(o2.getPhosphorusConcentration())).toString()); + o1.setNitrogenConcentration(strToBigDecimal(o1.getNitrogenConcentration()).add(strToBigDecimal(o2.getNitrogenConcentration())).toString()); + o1.setAmmoniaNitrogen(strToBigDecimal(o1.getAmmoniaNitrogen()).add(strToBigDecimal(o2.getAmmoniaNitrogen())).toString()); + return o1; + })).values()); + mergeYearMonthDatas.addAll(monthData); + }); + Collections.sort(mergeYearMonthDatas, new Comparator() { + @SneakyThrows + @Override + public int compare(SEnvWaterMonReal o1, SEnvWaterMonReal o2) { + Date o1Time = DateUtils.parseDate(o1.getMonitoringTime(), DateUtils.YYYY_MM); + Date o2Time = DateUtils.parseDate(o2.getMonitoringTime(), DateUtils.YYYY_MM); + if(o1Time.getTime() > o2Time.getTime()){ + return 1; + } else if (o1Time.getTime() < o2Time.getTime()) { + return -1; + } + return 0; + } + }); + chartVo.setXsxisData(mergeYearMonthDatas.stream().map(SEnvWaterMonReal::getMonitoringTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + chartVo.setLegendData(Arrays.stream(ChartVo.EnvGasWaterRealPollutant.values()).distinct().map(ChartVo.EnvGasWaterRealPollutant::getDesc).collect(Collectors.toList()).toArray(new Object[0])); + List> seriesData = Lists.newArrayList(); + for (ChartVo.EnvGasWaterRealPollutant value : ChartVo.EnvGasWaterRealPollutant.values()) { + Map map = Maps.newHashMap(); + map.put("name", value.getDesc()); + map.put("unit", "kg"); + map.put("data", mergeYearMonthDatas.stream().map(o -> BeanUtil.getProperty(o, value.getColumn())).collect(Collectors.toList())); + seriesData.add(map); + } + res.put("table", mergeYearMonthDatas); + chartVo.setSeriesData(seriesData); + } + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + chartVo.setLegendData(new Object[0]); + res.put("table", Lists.newArrayList()); + } + break; + case "行业": + /** + * 焦化:装煤次数、推焦次数 + * 转炉:炉数、公称容量、产量、出钢量 + * 高炉:出铁量 + * 水泥:生产端加料量(有)、水泥熟料产量(根据加料量折算出水泥熟料产量) + * 玻璃:退火窑实时车速、额定车速、产量 + * 火电:机组负荷 + * 垃圾焚烧:垃圾处理量(有) + */ + List sTaskYieldTrends = sTaskYieldTrendMapper.selectList(new QueryWrapper().eq("factory_id", query.get("factoryId")).eq("time_type", query.get("dataType")).between("data_time", DateUtils.parseDate(query.get("monitoringStartTime")), DateUtils.parseDate(query.get("monitoringEndTime"))).orderByAsc("data_time")); + if(!CollectionUtils.isEmpty(sTaskYieldTrends)){ + List pcYieldTrends = pcYieldTrendMapper.selectList(new QueryWrapper().eq("open", "1")); + Map> dictMaps = CollectionUtils.isEmpty(pcYieldTrends) ? Maps.newHashMap() : pcYieldTrends.stream().collect(Collectors.groupingBy(PcYieldTrend::getCode)); + if ("日".equals(params.getDataType())) { + sTaskYieldTrends.stream().forEach(item -> item.setDataTime(DateUtils.parseFormatDate("yyyy-MM-dd HH",item.getDataTime()))); + } else if ("月".equals(params.getDataType())) { + sTaskYieldTrends.stream().forEach(item -> item.setDataTime(DateUtils.parseFormatDate("yyyy-MM-dd",item.getDataTime()))); + } else if ("年".equals(params.getDataType())) { + sTaskYieldTrends.stream().forEach(item -> item.setDataTime(DateUtils.parseFormatDate("yyyy-MM",item.getDataTime()))); + } + chartVo.setXsxisData(sTaskYieldTrends.stream().map(STaskYieldTrend::getDataTime).distinct().collect(Collectors.toList()).toArray(new Object[0])); + chartVo.setLegendData(sTaskYieldTrends.stream().map(STaskYieldTrend::getDictCode).distinct().collect(Collectors.toList()).toArray(new Object[0])); + Map dbDataMap = sTaskYieldTrends.stream().collect(Collectors.toMap(o -> o.getDeviceId() +o.getDictCode() + o.getDataTime(), o -> o)); + List> seriesData = Lists.newArrayList(); + for (int i = 0; i < chartVo.getLegendData().length; i++) { + Object legendDatum = chartVo.getLegendData()[i]; + Map map = Maps.newHashMap(); + map.put("name", dictMaps.containsKey(legendDatum) ? dictMaps.get(legendDatum).get(0).getSmall() : legendDatum); + map.put("unit", dictMaps.containsKey(legendDatum) ? dictMaps.get(legendDatum).get(0).getUnit() : "--"); + List data = Lists.newArrayList(); + for (Object xsxisDatum : chartVo.getXsxisData()) { + data.add(dbDataMap.containsKey(legendDatum.toString() + xsxisDatum.toString()) ? dbDataMap.get(legendDatum.toString() + xsxisDatum.toString()).getNumber() : ""); + } + chartVo.getLegendData()[i] = dictMaps.containsKey(legendDatum) ? dictMaps.get(legendDatum).get(0).getSmall() : legendDatum; + map.put("data", data); + seriesData.add(map); + } + chartVo.setSeriesData(seriesData); + } else { + chartVo.setSeriesData(Lists.newArrayList()); + chartVo.setXsxisData(new Object[0]); + chartVo.setLegendData(new Object[0]); + res.put("table", Lists.newArrayList()); + } + break; + } + // 无数据默认补全x轴 + if(chartVo.getXsxisData().length == 0){ + chartVo.setXsxisData(xsxisDatas.stream().toArray()); + } + // 数据缺失, 补全x轴及对应数据 + if(chartVo.getXsxisData().length != xsxisDatas.size()){ + CustomDateUtil.packEcharts(chartVo, xsxisDatas); + } + res.put("chart", chartVo); + return res; + } + + private BigDecimal strToBigDecimal(String str){ + if(StringUtil.isEmpty(str)){ + return BigDecimal.ZERO; + } else { + return new BigDecimal(StringUtil.trim(str)); + } + } + + /** + * 查询废气监测数据列表 + * + * @param sEnvGasMonReal 废气监测数据 + * @return 废气监测数据 + */ + @Override + public List selectSEnvGasMonRealList(SEnvGasMonRealQuery sEnvGasMonReal) + { + String format; + switch (sEnvGasMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + DateTime monitoringStartTime = DateUtil.parse(sEnvGasMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvGasMonReal.getMonitoringEndTime(), format); + sEnvGasMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvGasMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + + return sEnvGasMonRealMapper.selectSEnvGasMonRealList(null, sEnvGasMonReal, new QueryWrapper().orderByDesc("monitoring_time"," pf.factory_name,polet.outlet_code,po.monitoring_point_name")); + } + + @Override + public IPage selectSEnvGasMonRealPage(SEnvGasMonRealQuery sEnvGasMonReal) { + Page page = new Page<>(sEnvGasMonReal.getPageNum(), sEnvGasMonReal.getPageSize()); + + String format; + switch (sEnvGasMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + + DateTime monitoringStartTime = DateUtil.parse(sEnvGasMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvGasMonReal.getMonitoringEndTime(), format); + sEnvGasMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvGasMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + List sEnvGasMonRealVos = sEnvGasMonRealMapper.selectSEnvGasMonRealList(page, sEnvGasMonReal, new QueryWrapper().orderByDesc("monitoring_time"," pf.factory_name,polet.outlet_code,po.monitoring_point_name")); + for (SEnvGasMonRealVo gasMonRealVo : sEnvGasMonRealVos) { + // 拼接监测物标记 + gasMonRealVo.setSo2(joinFlag(gasMonRealVo.getSo2(), gasMonRealVo.getSo2Flag())); + gasMonRealVo.setNox(joinFlag(gasMonRealVo.getNox(), gasMonRealVo.getNoxFlag())); + gasMonRealVo.setNo(joinFlag(gasMonRealVo.getNo(), gasMonRealVo.getNoFlag())); + gasMonRealVo.setNo2(joinFlag(gasMonRealVo.getNo2(), gasMonRealVo.getNo2Flag())); + gasMonRealVo.setSmokeDust(joinFlag(gasMonRealVo.getSmokeDust(), gasMonRealVo.getSmokeDustFlag())); + gasMonRealVo.setPm(joinFlag(gasMonRealVo.getPm(), gasMonRealVo.getPmFlag())); + gasMonRealVo.setVocs(joinFlag(gasMonRealVo.getVocs(), gasMonRealVo.getVocsFlag())); + gasMonRealVo.setO3(joinFlag(gasMonRealVo.getO3(), gasMonRealVo.getO3Flag())); + gasMonRealVo.setOxygen(joinFlag(gasMonRealVo.getOxygen(), gasMonRealVo.getOxygenFlag())); + gasMonRealVo.setSmokeDustTem(joinFlag(gasMonRealVo.getSmokeDustTem(), gasMonRealVo.getSmokeDustTemFlag())); + gasMonRealVo.setSmokeDustPressure(joinFlag(gasMonRealVo.getSmokeDustPressure(), gasMonRealVo.getSmokeDustPressureFlag())); + gasMonRealVo.setSmokeDustFlowVelocity(joinFlag(gasMonRealVo.getSmokeDustFlowVelocity(), gasMonRealVo.getSmokeDustFlowVelocityFlag())); + gasMonRealVo.setSmokeDustHumidity(joinFlag(gasMonRealVo.getSmokeDustHumidity(), gasMonRealVo.getSmokeDustHumidityFlag())); + } + page.setRecords(sEnvGasMonRealVos); + return page; + } + + private String joinFlag(String value, String flag) { + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(flag); + if (value == null && paramFlagEnum == null) { + return null; + } + if (value == null) { + value = ""; + } + if (paramFlagEnum == null) { + flag = ""; + } else { + flag = "(" + paramFlagEnum.label + ")"; + } + return value + flag; + } + + /** + * 废气有组织在线监测所有污染物 + */ + public enum PollutantEnum { + so2("SO₂实测", "so2", "mg/m³", "A21026", "so2Flag"), + so2Convert("SO₂折算", "so2Convert", "mg/m³", null, "so2Flag"), + so2Emission("SO₂排放量", "so2Emission", "kg", null, "so2Flag"), + + nox("NOₓ实测", "nox", "mg/m³", "A21002", "noxFlag"), + noxConvert("NOₓ折算", "noxConvert", "mg/m³", null, "noxFlag"), + noxEmission("NOₓ排放量", "noxEmission", "kg", null, "noxFlag"), + + pm("颗粒物实测", "pm", "mg/m³", "A99911", "pmFlag"), + pmConvert("颗粒物折算", "pmConvert", "mg/m³", null, "pmFlag"), + pmEmission("颗粒物排放量", "pmEmission", "kg", null, "pmFlag"), + + vocs("VOCs实测", "vocs", "mg/m³", "A99907", "vocsFlag"), + vocsConvert("VOCs折算", "vocsConvert", "mg/m³", null, "vocsFlag"), + vocsEmission("VOCs排放量", "vocsEmission", "kg", null, "vocsFlag"), + + o3("氧气含量", "o3", "%", null, "o3Flag"), + + oxygen("废气流量", "oxygen", "m³/s", null, "oxygenFlag"), + oxygenEmission("废气排放量", "oxygenEmission", "m³", null, "oxygenFlag"), + + smokeDust("烟尘", "smokeDust", "mg/m³", "A34013", "smokeDustFlag"), + smokeDustConvert("烟尘折算", "smokeDustConvert", "mg/m³", null, "smokeDustFlag"), + smokeDustEmission("烟尘排放量", "smokeDustEmission", "kg", null, "smokeDustFlag"), + smokeDustTem("烟气温度", "smokeDustTem", "℃", null, "smokeDustTemFlag"), + smokeDustPressure("烟气压力", "smokeDustPressure", "kPa", null, "smokeDustPressureFlag"), + smokeDustFlowVelocity("烟气流速", "smokeDustFlowVelocity", "m/s", null, "smokeDustFlowVelocityFlag"), + smokeDustHumidity("烟气湿度", "smokeDustHumidity", "%", null, "smokeDustHumidityFlag"), + + no("NO", "no", "mg/m³", "A21003", "noFlag"), + noConvert("NO折算", "noConvert", "mg/m³", null, "noFlag"), + noEmission("NO排放量", "noEmission", "kg", null, "noFlag"), + + no2("NO₂", "no2", "mg/m³", "A21004", "no2Flag"), + no2Convert("NO₂折算", "no2Convert", "mg/m³", null, "no2Flag"), + no2Emission("NO₂排放量", "no2Emission", "kg", null, "no2Flag"), + ; + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + public final String code; // 编码 + public final String flag; // 标记字段对应属性名 + + PollutantEnum(String label, String prop, String unit, String code, String flag) { + this.label = label; + this.prop = prop; + this.unit = unit; + this.code = code; + this.flag = flag; + } + + public String getLabel() { + return label; + } + + public String getProp() { + return prop; + } + + public String getUnit() { + return unit; + } + + public String getCode() { + return code; + } + + public String getFlag() { + return flag; + } + + public static PollutantEnum getByProp(String prop) { + for (PollutantEnum value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + public static PollutantEnum getByCode(String code) { + for (PollutantEnum value : values()) { + if (value.code != null && value.code.equals(code)) { + return value; + } + } + return null; + } + } + + @Override + public EChartsVO getCharData(SEnvGasMonRealQuery query) { + // 结束日期格式补全,解决查询出的数据不包含结束日期的情况 + if (StringUtils.isNotEmpty(query.getMonitoringEndTime())) { + Date date = DateUtils.parseDate(query.getMonitoringEndTime()); + query.setMonitoringEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", date)); + } +// List sEnvGasMonReals = sEnvGasMonRealMapper.selectList(SEnvGasMonRealQuery.createLambdaQueryWrapper(query).orderByAsc("monitoring_time")); + + List sEnvGasMonReals = sEnvGasMonRealMapper.selectSEnvGasMonRealListEchart(query); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(query.getDataType(), query.getMonitoringStartTime(), query.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map gasMonRealMap = sEnvGasMonReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + List series = new ArrayList<>(); + + // 若query.getPollutantVos()不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (query.getPollutantVos() != null) { + // 去除掉prop属性为空的,并且通过map去重 + LinkedHashMap pollutantVoLinkedHashMap = query.getPollutantVos().stream() + .filter(o -> o.getProp() != null) + .collect(Collectors.toMap(o -> o.getProp(), o -> o, + // 保留第一个 + (o1, o2) -> o1, + // 保持顺序不变 + LinkedHashMap::new)); + query.setPollutantVos(new ArrayList<>(pollutantVoLinkedHashMap.values())); + + for (AmProblemFiVo.PollutantVo pollutantVo : query.getPollutantVos()) { + PollutantEnum pollutantEnum = PollutantEnum.getByProp(pollutantVo.getProp()); + if (pollutantEnum == null) { // 无效的污染物,忽略 + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvGasMonReal monReal = gasMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + + series.add(ser); + + List limitSeries = getLimitSeriesObj(pollutantVo, pollutantEnum, xdata); + if (limitSeries != null) { + // 由于当前遍历的监测参数存在上下限系列,设置系列类型为“problem”,前端会通过该属性特殊渲染 + ser.setSeriesType("problem"); + series.addAll(limitSeries); + } + + List flagSeriesObj = getFlagSeriesObj(pollutantVo, xdata, gasMonRealMap, pollutantEnum); + if (flagSeriesObj != null) { + series.addAll(flagSeriesObj); + } + } + } else { // 未指定监测参数,默认展示所有的 + for (PollutantEnum pollutantEnum : PollutantEnum.values()) { + + // 颗粒物与烟尘重复,此处排除颗粒物相关参数 + if (pollutantEnum.equals(PollutantEnum.pm) || pollutantEnum.equals(PollutantEnum.pmConvert) || pollutantEnum.equals(PollutantEnum.pmEmission)) { + continue; + } + + // 排除no + if (pollutantEnum.equals(PollutantEnum.no) || pollutantEnum.equals(PollutantEnum.noConvert) || pollutantEnum.equals(PollutantEnum.noEmission)) { + continue; + } + + // 排除no2 + if (pollutantEnum.equals(PollutantEnum.no2) || pollutantEnum.equals(PollutantEnum.no2Convert) || pollutantEnum.equals(PollutantEnum.no2Emission)) { + continue; + } + + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvGasMonReal monReal = gasMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + } + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + /** + * 若监测物是问题参数,需要生成状态标记相关系列 + */ + private List getFlagSeriesObj( + AmProblemFiVo.PollutantVo pollutantVo, + List xdata, + Map gasMonRealMap, + PollutantEnum pollutantEnum + ) { + if (pollutantVo.getProblemParam() == null || !pollutantVo.getProblemParam()) { + return null; + } + Map dataFlagSerMap = new HashMap<>(); + Map paramFlagSerMap = new HashMap<>(); + + // 计算x轴时间范围内有多少种dataFlag标记和有多少参数标记,并创建对应的系列对象 + for (String time : xdata) { + SEnvGasMonReal real = gasMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + // 若参数标记与dataFlag标记同时存在,优先取dataFlag标记 + if (dataFlagEnum != null) { + if (!dataFlagSerMap.containsKey(dataFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(dataFlagEnum.label + "(标记)"); + ser.setProp(dataFlagEnum.name()); + ser.setValues(new ArrayList<>()); + dataFlagSerMap.put(dataFlagEnum.name(), ser); + } + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + if (!paramFlagSerMap.containsKey(paramFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(paramFlagEnum.label + "(标记)"); + ser.setProp(paramFlagEnum.name()); + ser.setValues(new ArrayList<>()); + paramFlagSerMap.put(paramFlagEnum.name(), ser); + } + } + } + } + + // 所有的状态标记系列值保持一样 + final String Flag_Value = "1"; + + // 填充系列值 + if (dataFlagSerMap.isEmpty() && paramFlagSerMap.isEmpty()) { + return null; + } + + // 遍历x轴,保证系列值与x轴一一对应 + for (int i = 0; i < xdata.size(); i++) { + String time = xdata.get(i); + + // 默认所有系列填充null值 + for (EChartsVO.SeriesObj ser : dataFlagSerMap.values()) { + ser.getValues().add(null); + } + for (EChartsVO.SeriesObj ser : paramFlagSerMap.values()) { + ser.getValues().add(null); + } + + SEnvGasMonReal real = gasMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + if (dataFlagEnum != null) { + dataFlagSerMap.get(dataFlagEnum.name()).getValues().set(i, Flag_Value); + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + paramFlagSerMap.get(paramFlagEnum.name()).getValues().set(i, Flag_Value); + } + } + } + List serList = new ArrayList<>(); + serList.addAll(new ArrayList<>(dataFlagSerMap.values())); + serList.addAll(new ArrayList<>(paramFlagSerMap.values())); + return serList; + } + + /** + * 若监测物指定了上下限,还需要生成上下限的曲线图 + */ + private List getLimitSeriesObj(AmProblemFiVo.PollutantVo pollutantVo, PollutantEnum pollutantEnum, List xdata) { + if (pollutantVo.getPollutantLimitMap() == null) { + return null; + } + EChartsVO.SeriesObj lowerLimit = new EChartsVO.SeriesObj(); + lowerLimit.setName(pollutantEnum.label + "下限"); + lowerLimit.setUnit(pollutantEnum.unit); + lowerLimit.setProp("lowerLimit"); + lowerLimit.setSeriesType("lowerLimit"); + + EChartsVO.SeriesObj upperLimit = new EChartsVO.SeriesObj(); + upperLimit.setName(pollutantEnum.label + "上限"); + upperLimit.setUnit(pollutantEnum.unit); + upperLimit.setProp("upperLimit"); + upperLimit.setSeriesType("upperLimit"); + + List seriesObjs = Arrays.asList(lowerLimit, upperLimit); + + for (EChartsVO.SeriesObj seriesObj : seriesObjs) { + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values2 = xdata.stream().map(o -> { + AmProblemFiVo.PollutantLimitVo pollutantLimitVo = pollutantVo.getPollutantLimitMap().get(o); + if (pollutantLimitVo == null) { + return null; + } + return BeanUtil.getProperty(pollutantLimitVo, seriesObj.getProp()); + }).collect(Collectors.toList()); + seriesObj.setValues(values2); + } + return seriesObjs; + } + + @Override + public List getCharDataList(SEnvGasMonRealQuery query) { + List children = pcOutletMapper.selectList(new QueryWrapper() + .eq("parent_outlet_id", query.getOutletId()) + .eq("pollutant_type", "4") + ); + + return children.stream().map(child -> { + query.setOutletId(child.getId()); + EChartsVO vo = getCharData(query); + vo.setName(child.getMonitoringPointName()); + return vo; + }).collect(Collectors.toList()); + } + + @Override + public Map chartNew(BMainEmissionSourceAirWaterSolidQuery query) { + // 接口适配关系对应map + Map selectCorrespondenceMap = MapBuilder.create() + .put("废气", "1") + .put("废水", "2") + .put("行业", "3") + .build(); + final String selectType = selectCorrespondenceMap.getOrDefault(query.getFacts(), ""); + Map dateCorrespondenceMap = MapBuilder.create() + .put("年", "Y") + .put("月", "M") + .put("日", "D") + .build(); + final String datatype = dateCorrespondenceMap.getOrDefault(query.getDataType(), "D"); + + EChartsVO eChartsVO = null; + if (StringUtils.isNotEmpty(selectType)) { + eChartsVO = homePageMapService.emissionTrends(query.getFactoryId(), selectType, datatype, null, null); + } + + if (Objects.isNull(eChartsVO)) { + eChartsVO = new EChartsVO(); + } + + List series = eChartsVO.getSeries(); + + Map chartData = MapBuilder.create() + .put("legendData", eChartsVO.getLegendData()) + .put("xsxisData", eChartsVO.getXData()) + .put("yaxisData", null) + .put("seriesData", series.stream() + .map(x -> MapBuilder.create() + .put("name", x.getName()) + .put("unit", x.getUnit()) + .put("data", x.getValues()) + .build()) + .collect(Collectors.toList())) + .build(); + return MapBuilder.create() + .put("chart", chartData) + .put("table", Lists.newArrayList()) + .build(); + } + + @Override + public List selectLastHourData(String pollutantOutletType,Date lastHour) { + return sEnvGasMonRealMapper.selectLastHourData(pollutantOutletType,lastHour); + } + + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvGasMonRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasRealServiceImpl.java new file mode 100644 index 0000000..f21cb37 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasRealServiceImpl.java @@ -0,0 +1,389 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.SEnvGasReal; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.SEnvGasRealMapper; +import cn.cecep.talroad.service.ISEnvGasRealService; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SysBasRegion; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.homepage.MonitoringPointWarningVo; +import cn.cecep.talroad.vo.homepage.OverviewUnorganizedMonitorsVo; +import cn.cecep.talroad.vo.homepage.RegionalOnlineMonitoringVo; +import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery; +import cn.cecep.talroad.vo.query.SEnvGasRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 无组织监控数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SEnvGasRealServiceImpl extends ServiceImpl implements ISEnvGasRealService +{ + @Autowired + private SEnvGasRealMapper sEnvGasRealMapper; + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + /** + * 查询无组织监控数据列表 + * + * @param sEnvGasReal 无组织监控数据 + * @return 无组织监控数据 + */ + @Override + public List selectSEnvGasRealList(SEnvGasReal sEnvGasReal) + { + return sEnvGasRealMapper.selectSEnvGasRealList(sEnvGasReal); + } + + @Override + public EChartsVO getCharData(SEnvGasRealQuery sEnvGasReal) { + // 结束日期格式补全,解决查询出的数据不包含结束日期的情况 + if (StringUtils.isNotEmpty(sEnvGasReal.getMonitoringEndTime())) { + Date date = DateUtils.parseDate(sEnvGasReal.getMonitoringEndTime()); + sEnvGasReal.setMonitoringEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", date)); + } + List sEnvGasReals = sEnvGasRealMapper.selectList(SEnvGasRealQuery.createLambdaQueryWrapper(sEnvGasReal)); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(sEnvGasReal.getDataType(), sEnvGasReal.getMonitoringStartTime(), sEnvGasReal.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map gasRealMap = sEnvGasReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + // 系列 + List series = new ArrayList<>(); + + // 若query.getPollutantVos()不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (sEnvGasReal.getPollutantVos() != null) { + // 去除掉prop属性为空的,并且通过map去重 + LinkedHashMap pollutantVoLinkedHashMap = sEnvGasReal.getPollutantVos().stream() + .filter(o -> o.getProp() != null) + .collect(Collectors.toMap(o -> o.getProp(), o -> o, + // 保留第一个 + (o1, o2) -> o1, + // 保持顺序不变 + LinkedHashMap::new)); + sEnvGasReal.setPollutantVos(new ArrayList<>(pollutantVoLinkedHashMap.values())); + + for (AmProblemFiVo.PollutantVo pollutantVo : sEnvGasReal.getPollutantVos()) { + PollutantEnum pollutantEnum = PollutantEnum.getByProp(pollutantVo.getProp()); + if (pollutantEnum == null) { // 无效的污染物,忽略 + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvGasReal gasReal = gasRealMap.get(o); + if (gasReal == null) { + return null; + } + return BeanUtil.getProperty(gasReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + + series.add(ser); + + /* + 若污染物指定了上下限,还需要生成上下限的曲线图 + */ + if (pollutantVo.getPollutantLimitMap() != null) { + EChartsVO.SeriesObj lowerLimit = new EChartsVO.SeriesObj(); + lowerLimit.setName(pollutantEnum.label + "下限"); + lowerLimit.setUnit(pollutantEnum.unit); + lowerLimit.setProp("lowerLimit"); + lowerLimit.setSeriesType("lowerLimit"); + + EChartsVO.SeriesObj upperLimit = new EChartsVO.SeriesObj(); + upperLimit.setName(pollutantEnum.label + "上限"); + upperLimit.setUnit(pollutantEnum.unit); + upperLimit.setProp("upperLimit"); + upperLimit.setSeriesType("upperLimit"); + + for (EChartsVO.SeriesObj seriesObj : Arrays.asList(lowerLimit, upperLimit)) { + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values2 = xdata.stream().map(o -> { + AmProblemFiVo.PollutantLimitVo pollutantLimitVo = pollutantVo.getPollutantLimitMap().get(o); + if (pollutantLimitVo == null) { + return null; + } + return BeanUtil.getProperty(pollutantLimitVo, seriesObj.getProp()); + }).collect(Collectors.toList()); + seriesObj.setValues(values2); + + series.add(seriesObj); + } + + // 由于当前遍历的监测参数存在上下限系列,设置系列类型为“problem”,前端会通过该属性特殊渲染 + ser.setSeriesType("problem"); + } + } + } else { // 未指定监测参数,默认展示所有的 + + for (PollutantEnum pollutantEnum : PollutantEnum.values()) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvGasReal gasReal = gasRealMap.get(o); + if (gasReal == null) { + return null; + } + return BeanUtil.getProperty(gasReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + series.add(ser); + } + + } + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + @Override + public OverviewUnorganizedMonitorsVo overviewUnorganizedMonitors() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + return sEnvGasRealMapper.overviewUnorganizedMonitors(regionCodes); + } + + @Override + public EChartsVO monitoringPointWarning(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> r = baseRegionService.getRegionCodeListChild(regionCode); + if(r.getCode()==200){ + regionCodes=r.getData(); + } + query.setRegionCodes(regionCodes); + MonitoringPointWarningVo monitorsVo=sEnvGasRealMapper.monitoringPointWarning(query); + EChartsVO eChartsVO=new EChartsVO(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("报警"); + ser.setValues(new ArrayList<>()); + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("预警"); + ser1.setValues(new ArrayList<>()); + items.add(ser1); + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("异常"); + ser2.setValues(new ArrayList<>()); + items.add(ser2); + items.get(0).getValues().add(monitorsVo.getGasMonitoringExceeding()); + items.get(1).getValues().add(monitorsVo.getGasMonitoringWarning()); + items.get(2).getValues().add(monitorsVo.getGasMonitoringAbnormal()); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List regionalOnlineMonitoring(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + query.setRegionCodes(regionCodes); + List regionArr=new ArrayList<>(); + R> r = baseRegionService.getRegionList(regionCode); + if(r.getCode()==200){ + regionArr=r.getData(); + } + //封装数据 + List regionalOnlineMonitoringVos=new ArrayList<>(); + regionArr.forEach(item->{ + RegionalOnlineMonitoringVo chil=new RegionalOnlineMonitoringVo(); + chil.setRegionName(item.getRegionName()); + chil.setDistrictCode(item.getRegionCode()); + regionalOnlineMonitoringVos.add(chil); + }); + //监测点位数量 + List numberMonitors= sEnvGasRealMapper.numberMonitoringPoints(query); + //有效监测率 + List monitoringRates= sEnvGasRealMapper.monitoringRate(query); + monitoringRates.forEach(item->{ + if((BigDecimal.ZERO).compareTo(item.getTotal()) != 0 ){ + item.setMonitoringRate(item.getDivisor().divide(item.getTotal(),2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%"); + } + }); + Map monitoringRatesMap = monitoringRates.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + //超标率 + List excessRates= sEnvGasRealMapper.excessRate(query); + excessRates.forEach(item->{ + if(monitoringRatesMap.containsKey(item.getDistrictCode())){ + BigDecimal total = monitoringRatesMap.get(item.getDistrictCode()).getTotal(); + if((BigDecimal.ZERO).compareTo(total) != 0 ){ + item.setExcessRate(item.getDivisor().divide(total,2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()+"%"); + } + }else { + item.setExcessRate("0%"); + } + + }); + Map numberMonitorsMap = numberMonitors.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + Map excessRatesMap = excessRates.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + regionalOnlineMonitoringVos.forEach(item->{ + if(numberMonitorsMap.containsKey(item.getDistrictCode())){ + item.setNumberMonitoringPoints(numberMonitorsMap.get(item.getDistrictCode()).getNumberMonitoringPoints()); + }else { + item.setNumberMonitoringPoints("0"); + } + if(monitoringRatesMap.containsKey(item.getDistrictCode())){ + item.setMonitoringRate(monitoringRatesMap.get(item.getDistrictCode()).getMonitoringRate()); + }else { + item.setMonitoringRate("0%"); + } + if(excessRatesMap.containsKey(item.getDistrictCode())){ + item.setExcessRate(excessRatesMap.get(item.getDistrictCode()).getExcessRate()); + }else { + item.setExcessRate("0%"); + } + }); + return regionalOnlineMonitoringVos; + } + + @Override + public List exceedingStandardPoints(EffectiveMonitoringRateQuery query) { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + query.setRegionCodes(regionCodes); + List regionArr=new ArrayList<>(); + R> r = baseRegionService.getRegionList(regionCode); + if(r.getCode()==200){ + regionArr=r.getData(); + } + //封装数据 + List regionalOnlineMonitoringVos=new ArrayList<>(); + regionArr.forEach(item->{ + RegionalOnlineMonitoringVo chil=new RegionalOnlineMonitoringVo(); + chil.setRegionName(item.getRegionName()); + chil.setDistrictCode(item.getRegionCode()); + regionalOnlineMonitoringVos.add(chil); + }); + List list= sEnvGasRealMapper.exceedingStandardPoints(query); + Map excessRatesMap = list.stream().collect(Collectors.toMap(RegionalOnlineMonitoringVo::getDistrictCode, a -> a,(k1, k2)->k1)); + regionalOnlineMonitoringVos.forEach(item->{ + if(excessRatesMap.containsKey(item.getDistrictCode())){ + item.setTotal(excessRatesMap.get(item.getDistrictCode()).getTotal()); + }else { + item.setTotal(BigDecimal.valueOf(0)); + } + }); + regionalOnlineMonitoringVos.sort(Comparator.comparing(RegionalOnlineMonitoringVo::getTotal).reversed()); + return regionalOnlineMonitoringVos; + } + + @Override + public List exceedingIndustryPoints(EffectiveMonitoringRateQuery query) { + //WXXYEL + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List regionCodes=new ArrayList<>(); + R> rs = baseRegionService.getRegionCodeListChild(regionCode); + if(rs.getCode()==200){ + regionCodes=rs.getData(); + } + query.setRegionCodes(regionCodes); + List list= sEnvGasRealMapper.exceedingIndustryPoints(query); + return list; + } + + @Override + public List selectLastDayData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvGasRealMapper.selectLastDayData(queryBeginTime,queryEndTime); + } + + /** + * 废气无组织在线监测所有污染物 + */ + public enum PollutantEnum { + pm10("PM10", "pm10", "μg/m³"), + pm25("PM2.5", "pm25", "μg/m³"), + tsp("TSP", "tsp", "μg/m³"), + nmhc("NMHC", "nmhc", "μg/m³"), + ch4("甲烷", "ch4", "μg/m³"), + hydrocarbon("总烃", "hydrocarbon", "μg/m³"), + benzene("苯", "benzene", "μg/m³"), + methylbenzene("甲苯", "methylbenzene", "μg/m³"), + temperature("温度", "temperature", "℃"), + humidity("湿度", "humidity", "%RH"), + windDirection("风向", "windDirection", "度"), + windSpeed("风速", "windSpeed", "m/s"), + barometricPressure("大气压", "barometricPressure", "hPa"); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + + PollutantEnum(String label, String prop, String unit) { + this.label = label; + this.prop = prop; + this.unit = unit; + } + public static PollutantEnum getByProp(String prop) { + for (PollutantEnum value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasSelfDayServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasSelfDayServiceImpl.java new file mode 100644 index 0000000..aa124d4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvGasSelfDayServiceImpl.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.SEnvGasSelfDay; +import cn.cecep.talroad.mapper.SEnvGasSelfDayMapper; +import cn.cecep.talroad.service.ISEnvGasSelfDayService; +import cn.cecep.talroad.mapper.SEnvGasSelfDayMapper; +import cn.cecep.talroad.domain.SEnvGasSelfDay; +import cn.cecep.talroad.service.ISEnvGasSelfDayService; + + + + +/** + * 多源排放量汇总分析-废气-手工监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-07-26*/ +@Service +public class SEnvGasSelfDayServiceImpl extends ServiceImpl implements ISEnvGasSelfDayService +{ + @Autowired + private SEnvGasSelfDayMapper sEnvGasSelfDayMapper; + + /** + * 查询多源排放量汇总分析-废气-手工监测数据列表 + * + * @param sEnvGasSelfDay 多源排放量汇总分析-废气-手工监测数据 + * @return 多源排放量汇总分析-废气-手工监测数据 + */ + @Override + public List selectSEnvGasSelfDayList(SEnvGasSelfDay sEnvGasSelfDay) + { + return sEnvGasSelfDayMapper.selectSEnvGasSelfDayList(sEnvGasSelfDay); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonDayServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonDayServiceImpl.java new file mode 100644 index 0000000..8706de5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonDayServiceImpl.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonDayMapper; +import cn.cecep.talroad.service.ISEnvWaterMonDayService; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonDayVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonDayQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 废水监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SEnvWaterMonDayServiceImpl extends ServiceImpl implements ISEnvWaterMonDayService +{ + @Autowired + private SEnvWaterMonDayMapper sEnvWaterMonDayMapper; + + @Override + public List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvWaterMonDayMapper.selectLastDayCountData(queryBeginTime,queryEndTime); + } + + @Override + public List selectHourDataByTime(String factoryId, String monitorId, Date monitorTime) { + return sEnvWaterMonDayMapper.selectHourDataByTime(factoryId,monitorId,monitorTime); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonHourServiceImpl.java new file mode 100644 index 0000000..d1482a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonHourServiceImpl.java @@ -0,0 +1,492 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonHourMapper; +import cn.cecep.talroad.service.ISEnvWaterMonHourService; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonHourVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonHourQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.*; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 废水监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SEnvWaterMonHourServiceImpl extends ServiceImpl implements ISEnvWaterMonHourService +{ + @Autowired + private SEnvWaterMonHourMapper sEnvWaterMonHourMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据 + */ + @Override + public List selectSEnvWaterMonHourList(SEnvWaterMonHourQuery sEnvWaterMonReal) + { + String format; + switch (sEnvWaterMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + DateTime monitoringStartTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringEndTime(), format); + sEnvWaterMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvWaterMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + return sEnvWaterMonHourMapper.selectSEnvWaterMonHourList(null, sEnvWaterMonReal, new QueryWrapper().orderByDesc("monitoring_time")); + } + + /** + * 查询废水监测数据分页数据 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据 + */ + @Override + public IPage selectSEnvWaterMonHourPage(SEnvWaterMonHourQuery sEnvWaterMonReal) { + Page page = new Page<>(sEnvWaterMonReal.getPageNum(), sEnvWaterMonReal.getPageSize()); + + String format; + switch (sEnvWaterMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + DateTime monitoringStartTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringEndTime(), format); + sEnvWaterMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvWaterMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + List sEnvWaterMonReals = sEnvWaterMonHourMapper.selectSEnvWaterMonHourList(page, sEnvWaterMonReal, new QueryWrapper().orderByDesc("monitoring_time")); + page.setRecords(sEnvWaterMonReals); + return page; + } + + /** + * 废水在线监测所有污染物 + */ + public enum PollutantEnum { + codConcentration("COD浓度", "codConcentration", "mg/L", "W01018", "codFlag"), + ammoniaNitrogen("氨氮浓度", "ammoniaNitrogen", "mg/m³", "W21003", "ammoniaNitrogenFlag"), + nitrogenConcentration("总氮浓度", "nitrogenConcentration", "mg/m³", "W21001", "nitrogenConcentrationFlag"), + phosphorusConcentration("总磷浓度", "phosphorusConcentration", "mg/m³", "W21011", "phosphorusConcentrationFlag"), + phValue("PH值", "phValue", "", "W01001", "phValueFlag"), + wastewaterFlow("废水流量", "wastewaterFlow", "m³/s", null, null); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + public final String code; // 编码 + public final String flag; // 标记字段对应属性名 + + PollutantEnum(String label, String prop, String unit, String code, String flag) { + this.label = label; + this.prop = prop; + this.unit = unit; + this.code = code; + this.flag = flag; + } + public static PollutantEnum getByProp(String prop) { + for (PollutantEnum value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + public static PollutantEnum getByCode(String code) { + for (PollutantEnum value : values()) { + if (value != null && value.prop.equals(code)) { + return value; + } + } + return null; + } + } + /** + * 废水在线监测所有污染物 + */ + public enum PollutantEnumEmission { + codEmission("化学需氧量排放量", "codEmission", "m³", "W01018"), + ammoniaNitrogenEmission("氨氮排放量", "ammoniaNitrogenEmission", "m³", "W21003"), + nitrogenConcentrationEmission("总氮排放量", "nitrogenConcentrationEmission", "m³", "W21001"), + phosphorusConcentrationEmission("总磷排放量", "phosphorusConcentrationEmission", "m³", "W21011"), + sewageEmission("污水排放量", "sewageEmission", "m³", null); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + public final String code; // 编码 + + PollutantEnumEmission(String label, String prop, String unit, String code) { + this.label = label; + this.prop = prop; + this.unit = unit; + this.code = code; + } + public static PollutantEnumEmission getByProp(String prop) { + for (PollutantEnumEmission value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + public static PollutantEnumEmission getByCode(String code) { + for (PollutantEnumEmission value : values()) { + if (value != null && value.prop.equals(code)) { + return value; + } + } + return null; + } + } + + @Override + public EChartsVO getCharData(SEnvWaterMonHourQuery query) { + // 结束日期格式补全,解决查询出的数据不包含结束日期的情况 + if (StringUtils.isNotEmpty(query.getMonitoringEndTime())) { + Date date = DateUtils.parseDate(query.getMonitoringEndTime()); + query.setMonitoringEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", date)); + } + + List waterMonReals = sEnvWaterMonHourMapper.selectList(SEnvWaterMonHourQuery.createLambdaQueryWrapper(query).orderByAsc("monitoring_time")); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(query.getDataType(), query.getMonitoringStartTime(), query.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map waterMonRealMap = waterMonReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + // 系列 + List series = new ArrayList<>(); + + // 若query.getPollutantVos()不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (query.getPollutantVos() != null) { + // 去除掉prop属性为空的,并且通过map去重 + LinkedHashMap pollutantVoLinkedHashMap = query.getPollutantVos().stream() + .filter(o -> o.getProp() != null) + .collect(Collectors.toMap(o -> o.getProp(), o -> o, + // 保留第一个 + (o1, o2) -> o1, + // 保持顺序不变 + LinkedHashMap::new)); + query.setPollutantVos(new ArrayList<>(pollutantVoLinkedHashMap.values())); + + for (AmProblemFiVo.PollutantVo pollutantVo : query.getPollutantVos()) { + PollutantEnum pollutantEnum = PollutantEnum.getByProp(pollutantVo.getProp()); + if (pollutantEnum == null) { // 无效的污染物,忽略 + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvWaterMonHour monReal = waterMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + + series.add(ser); + + List limitSeries = getLimitSeriesObj(pollutantVo, pollutantEnum, xdata); + if (limitSeries != null) { + // 由于当前遍历的监测参数存在上下限系列,设置系列类型为“problem”,前端会通过该属性特殊渲染 + ser.setSeriesType("problem"); + series.addAll(limitSeries); + } + + List flagSeriesObj = getFlagSeriesObj(pollutantVo, xdata, waterMonRealMap, pollutantEnum); + if (flagSeriesObj != null) { + series.addAll(flagSeriesObj); + } + } + } else { // 未指定监测参数,默认展示所有的 + + for (PollutantEnum pollutantEnum : PollutantEnum.values()) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvWaterMonHour monReal = waterMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + series.add(ser); + } + + } + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + /** + * 若监测物是问题参数,需要生成状态标记相关系列 + */ + private List getFlagSeriesObj( + AmProblemFiVo.PollutantVo pollutantVo, + List xdata, + Map waterMonRealMap, + PollutantEnum pollutantEnum + ) { + if (pollutantVo.getProblemParam() == null || !pollutantVo.getProblemParam()) { + return null; + } + Map dataFlagSerMap = new HashMap<>(); + Map paramFlagSerMap = new HashMap<>(); + + // 计算x轴时间范围内有多少种dataFlag标记和有多少参数标记,并创建对应的系列对象 + for (String time : xdata) { + SEnvWaterMonHour real = waterMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + // 若参数标记与dataFlag标记同时存在,优先取dataFlag标记 + if (dataFlagEnum != null) { + if (!dataFlagSerMap.containsKey(dataFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(dataFlagEnum.label + "(标记)"); + ser.setProp(dataFlagEnum.name()); + ser.setValues(new ArrayList<>()); + dataFlagSerMap.put(dataFlagEnum.name(), ser); + } + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + if (!paramFlagSerMap.containsKey(paramFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(paramFlagEnum.label + "(标记)"); + ser.setProp(paramFlagEnum.name()); + ser.setValues(new ArrayList<>()); + paramFlagSerMap.put(paramFlagEnum.name(), ser); + } + } + } + } + + // 所有的状态标记系列值保持一样 + final String Flag_Value = "1"; + + // 填充系列值 + if (dataFlagSerMap.isEmpty() && paramFlagSerMap.isEmpty()) { + return null; + } + + // 遍历x轴,保证系列值与x轴一一对应 + for (int i = 0; i < xdata.size(); i++) { + String time = xdata.get(i); + + // 默认所有系列填充null值 + for (EChartsVO.SeriesObj ser : dataFlagSerMap.values()) { + ser.getValues().add(null); + } + for (EChartsVO.SeriesObj ser : paramFlagSerMap.values()) { + ser.getValues().add(null); + } + + SEnvWaterMonHour real = waterMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + if (dataFlagEnum != null) { + dataFlagSerMap.get(dataFlagEnum.name()).getValues().set(i, Flag_Value); + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + paramFlagSerMap.get(paramFlagEnum.name()).getValues().set(i, Flag_Value); + } + } + } + List serList = new ArrayList<>(); + serList.addAll(new ArrayList<>(dataFlagSerMap.values())); + serList.addAll(new ArrayList<>(paramFlagSerMap.values())); + return serList; + } + + /** + * 若监测物指定了上下限,还需要生成上下限的曲线图 + */ + private List getLimitSeriesObj(AmProblemFiVo.PollutantVo pollutantVo, PollutantEnum pollutantEnum, List xdata) { + if (pollutantVo.getPollutantLimitMap() == null) { + return null; + } + EChartsVO.SeriesObj lowerLimit = new EChartsVO.SeriesObj(); + lowerLimit.setName(pollutantEnum.label + "下限"); + lowerLimit.setUnit(pollutantEnum.unit); + lowerLimit.setProp("lowerLimit"); + lowerLimit.setSeriesType("lowerLimit"); + + EChartsVO.SeriesObj upperLimit = new EChartsVO.SeriesObj(); + upperLimit.setName(pollutantEnum.label + "上限"); + upperLimit.setUnit(pollutantEnum.unit); + upperLimit.setProp("upperLimit"); + upperLimit.setSeriesType("upperLimit"); + + List seriesObjs = Arrays.asList(lowerLimit, upperLimit); + + for (EChartsVO.SeriesObj seriesObj : seriesObjs) { + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values2 = xdata.stream().map(o -> { + AmProblemFiVo.PollutantLimitVo pollutantLimitVo = pollutantVo.getPollutantLimitMap().get(o); + if (pollutantLimitVo == null) { + return null; + } + return BeanUtil.getProperty(pollutantLimitVo, seriesObj.getProp()); + }).collect(Collectors.toList()); + seriesObj.setValues(values2); + } + return seriesObjs; + } + + @Override + public List getCharDataList(SEnvWaterMonHourQuery sEnvWaterMonReal) { + List children = pcOutletMapper.selectList(new QueryWrapper() + .eq("parent_outlet_id", sEnvWaterMonReal.getOutletId()) + .eq("pollutant_type", "4") + ); + + return children.stream().map(child -> { + sEnvWaterMonReal.setOutletId(child.getId()); + + EChartsVO vo = getCharData(sEnvWaterMonReal); + vo.setName(child.getMonitoringPointName()); + return vo; + }).collect(Collectors.toList()); + } + + @Override + public List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd) { + return sEnvWaterMonHourMapper.selectLastDayData(pollutantOutletType,lastDayBegin,lastDayEnd); + } + + @Override + public List selectAvgDataForDay(String dateStr) { + return sEnvWaterMonHourMapper.selectAvgDataForDay(dateStr); + } + + @Override + public List selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvWaterMonHourMapper.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper); + } + + @Override + public List selectSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvWaterMonHourMapper.selectSRaWaterSourceListBy(lambdaQueryWrapper); + } + + @Override + public List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvWaterMonHourMapper.selectLastDayCountData(queryBeginTime,queryEndTime); + } + + @Override + public List selectManualSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvWaterMonHourMapper.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper); + } + + @Override + public List selectManualSRaWaterSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + return sEnvWaterMonHourMapper.selectManualSRaWaterSourceListBy(lambdaQueryWrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonRealServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonRealServiceImpl.java new file mode 100644 index 0000000..9fe4f9e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterMonRealServiceImpl.java @@ -0,0 +1,481 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonRealMapper; +import cn.cecep.talroad.service.ISEnvWaterMonRealService; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.query.SEnvWaterMonRealQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 废水监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SEnvWaterMonRealServiceImpl extends ServiceImpl implements ISEnvWaterMonRealService +{ + @Autowired + private SEnvWaterMonRealMapper sEnvWaterMonRealMapper; + + @Autowired + private PcOutletMapper pcOutletMapper; + + /** + * 查询废水监测数据列表 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据 + */ + @Override + public List selectSEnvWaterMonRealList(SEnvWaterMonRealQuery sEnvWaterMonReal) + { + String format; + switch (sEnvWaterMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + DateTime monitoringStartTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringEndTime(), format); + sEnvWaterMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvWaterMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + return sEnvWaterMonRealMapper.selectSEnvWaterMonRealList(null, sEnvWaterMonReal, new QueryWrapper().orderByDesc("monitoring_time")); + } + + /** + * 查询废水监测数据分页数据 + * + * @param sEnvWaterMonReal 废水监测数据 + * @return 废水监测数据 + */ + @Override + public IPage selectSEnvWaterMonRealPage(SEnvWaterMonRealQuery sEnvWaterMonReal) { + Page page = new Page<>(sEnvWaterMonReal.getPageNum(), sEnvWaterMonReal.getPageSize()); + + String format; + switch (sEnvWaterMonReal.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + DateTime monitoringStartTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(sEnvWaterMonReal.getMonitoringEndTime(), format); + sEnvWaterMonReal.setMonitoringStartTime(monitoringStartTime.toString()); + sEnvWaterMonReal.setMonitoringEndTime(monitoringEndTime.toString()); + + List sEnvWaterMonReals = sEnvWaterMonRealMapper.selectSEnvWaterMonRealList(page, sEnvWaterMonReal, new QueryWrapper().orderByDesc("monitoring_time")); + page.setRecords(sEnvWaterMonReals); + return page; + } + + /** + * 废水在线监测所有污染物 + */ + public enum PollutantEnum { + codConcentration("COD浓度", "codConcentration", "mg/L", "W01018", "codFlag"), + ammoniaNitrogen("氨氮浓度", "ammoniaNitrogen", "mg/m³", "W21003", "ammoniaNitrogenFlag"), + nitrogenConcentration("总氮浓度", "nitrogenConcentration", "mg/m³", "W21001", "nitrogenConcentrationFlag"), + phosphorusConcentration("总磷浓度", "phosphorusConcentration", "mg/m³", "W21011", "phosphorusConcentrationFlag"), + phValue("PH值", "phValue", "", "W01001", "phValueFlag"), + wastewaterFlow("废水流量", "wastewaterFlow", "m³/s", null, null), + + sewage("污水", "sewage", "", null, null), + sewageEmission("污水排放量", "sewageEmission", "", null, null), + cod("化学需氧量", "cod", "", null, "codFlag"), + codEmission("化学需氧量排放", "codEmission", "", null, "codFlag"), + ammoniaNitrogenEmission("氨氮排放量", "ammoniaNitrogenEmission", "", null, "ammoniaNitrogenFlag"), + nitrogenConcentrationEmission("总氮排放量", "nitrogenConcentrationEmission", "", null, "nitrogenConcentrationFlag"), + phosphorusConcentrationEmission("总磷排放量", "phosphorusConcentrationEmission", "", null, "phosphorusConcentrationFlag"), + ; + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + public final String code; // 编码 + public final String flag; // 标记字段对应属性名 + + PollutantEnum(String label, String prop, String unit, String code, String flag) { + this.label = label; + this.prop = prop; + this.unit = unit; + this.code = code; + this.flag = flag; + } + public static PollutantEnum getByProp(String prop) { + for (PollutantEnum value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + public static PollutantEnum getByCode(String code) { + for (PollutantEnum value : values()) { + if (value.code != null && value.code.equals(code)) { + return value; + } + } + return null; + } + } + /** + * 废水在线监测所有污染物 + */ + public enum PollutantEnumEmission { + codEmission("化学需氧量排放量", "codEmission", "m³", "W01018"), + ammoniaNitrogenEmission("氨氮排放量", "ammoniaNitrogenEmission", "m³", "W21003"), + nitrogenConcentrationEmission("总氮排放量", "nitrogenConcentrationEmission", "m³", "W21001"), + phosphorusConcentrationEmission("总磷排放量", "phosphorusConcentrationEmission", "m³", "W21011"), + sewageEmission("污水排放量", "sewageEmission", "m³", null); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + public final String code; // 编码 + + PollutantEnumEmission(String label, String prop, String unit, String code) { + this.label = label; + this.prop = prop; + this.unit = unit; + this.code = code; + } + public static PollutantEnumEmission getByProp(String prop) { + for (PollutantEnumEmission value : values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + public static PollutantEnumEmission getByCode(String code) { + for (PollutantEnumEmission value : values()) { + if (value != null && value.prop.equals(code)) { + return value; + } + } + return null; + } + } + + @Override + public EChartsVO getCharData(SEnvWaterMonRealQuery query) { + // 结束日期格式补全,解决查询出的数据不包含结束日期的情况 + if (StringUtils.isNotEmpty(query.getMonitoringEndTime())) { + Date date = DateUtils.parseDate(query.getMonitoringEndTime()); + query.setMonitoringEndTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", date)); + } + + List waterMonReals = sEnvWaterMonRealMapper.selectList(SEnvWaterMonRealQuery.createLambdaQueryWrapper(query).orderByAsc("monitoring_time")); + + // x轴数据 + List xdata = DateUtils.getRangeTimes(query.getDataType(), query.getMonitoringStartTime(), query.getMonitoringEndTime()); + + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map waterMonRealMap = waterMonReals.stream().collect(Collectors.toMap(o -> { + Date date = DateUtils.parseDate(o.getMonitoringTime()); + if (TimeTypeEnum.MONTH.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", date); + } else if (TimeTypeEnum.HOUR.getCode().equals(o.getDataType())) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH", date); + } else { + return DateUtils.parseDateToStr("yyyy-MM-dd", date); + } + }, o -> o, + // TODO 数据问题导致存在key相同的,暂取第一条 + (o1, o2) -> o1)); + + /* + 将查询到的监测数据转为曲线图要求的格式 + */ + // 系列 + List series = new ArrayList<>(); + + // 若query.getPollutantVos()不为null,则只展示指定的监测参数。(若指定的参数集合是空的,则返回空数据) + if (query.getPollutantVos() != null) { + // 去除掉prop属性为空的,并且通过map去重 + LinkedHashMap pollutantVoLinkedHashMap = query.getPollutantVos().stream() + .filter(o -> o.getProp() != null) + .collect(Collectors.toMap(o -> o.getProp(), o -> o, + // 保留第一个 + (o1, o2) -> o1, + // 保持顺序不变 + LinkedHashMap::new)); + query.setPollutantVos(new ArrayList<>(pollutantVoLinkedHashMap.values())); + + for (AmProblemFiVo.PollutantVo pollutantVo : query.getPollutantVos()) { + PollutantEnum pollutantEnum = PollutantEnum.getByProp(pollutantVo.getProp()); + if (pollutantEnum == null) { // 无效的污染物,忽略 + continue; + } + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvWaterMonReal monReal = waterMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + ser.setMarkLine(pollutantVo.getMarkLine()); + ser.setMarkArea(pollutantVo.getMarkArea()); + + series.add(ser); + + List limitSeries = getLimitSeriesObj(pollutantVo, pollutantEnum, xdata); + if (limitSeries != null) { + // 由于当前遍历的监测参数存在上下限系列,设置系列类型为“problem”,前端会通过该属性特殊渲染 + ser.setSeriesType("problem"); + series.addAll(limitSeries); + } + + List flagSeriesObj = getFlagSeriesObj(pollutantVo, xdata, waterMonRealMap, pollutantEnum); + if (flagSeriesObj != null) { + series.addAll(flagSeriesObj); + } + } + } else { + // 未指定监测参数,默认以下监测物 + List pollutantEnums = Arrays.asList( + PollutantEnum.codConcentration, + PollutantEnum.ammoniaNitrogen, + PollutantEnum.nitrogenConcentration, + PollutantEnum.phosphorusConcentration, + PollutantEnum.phValue, + PollutantEnum.wastewaterFlow + ); + for (PollutantEnum pollutantEnum : pollutantEnums) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + SEnvWaterMonReal monReal = waterMonRealMap.get(o); + if (monReal == null) { + return null; + } + return BeanUtil.getProperty(monReal, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + + series.add(ser); + } + } + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + /** + * 若监测物是问题参数,需要生成状态标记相关系列 + */ + private List getFlagSeriesObj( + AmProblemFiVo.PollutantVo pollutantVo, + List xdata, + Map waterMonRealMap, + PollutantEnum pollutantEnum + ) { + if (pollutantVo.getProblemParam() == null || !pollutantVo.getProblemParam()) { + return null; + } + Map dataFlagSerMap = new HashMap<>(); + Map paramFlagSerMap = new HashMap<>(); + + // 计算x轴时间范围内有多少种dataFlag标记和有多少参数标记,并创建对应的系列对象 + for (String time : xdata) { + SEnvWaterMonReal real = waterMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + // 若参数标记与dataFlag标记同时存在,优先取dataFlag标记 + if (dataFlagEnum != null) { + if (!dataFlagSerMap.containsKey(dataFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(dataFlagEnum.label + "(标记)"); + ser.setProp(dataFlagEnum.name()); + ser.setValues(new ArrayList<>()); + dataFlagSerMap.put(dataFlagEnum.name(), ser); + } + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + if (!paramFlagSerMap.containsKey(paramFlagEnum.name())) { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(paramFlagEnum.label + "(标记)"); + ser.setProp(paramFlagEnum.name()); + ser.setValues(new ArrayList<>()); + paramFlagSerMap.put(paramFlagEnum.name(), ser); + } + } + } + } + + // 所有的状态标记系列值保持一样 + final String Flag_Value = "1"; + + // 填充系列值 + if (dataFlagSerMap.isEmpty() && paramFlagSerMap.isEmpty()) { + return null; + } + + // 遍历x轴,保证系列值与x轴一一对应 + for (int i = 0; i < xdata.size(); i++) { + String time = xdata.get(i); + + // 默认所有系列填充null值 + for (EChartsVO.SeriesObj ser : dataFlagSerMap.values()) { + ser.getValues().add(null); + } + for (EChartsVO.SeriesObj ser : paramFlagSerMap.values()) { + ser.getValues().add(null); + } + + SEnvWaterMonReal real = waterMonRealMap.get(time); + if (real == null) { + continue; + } + SEnvGasMonReal.DataFlagEnum dataFlagEnum = SEnvGasMonReal.DataFlagEnum.getByEnumName(real.getDataFlag()); + + if (dataFlagEnum != null) { + dataFlagSerMap.get(dataFlagEnum.name()).getValues().set(i, Flag_Value); + } else { + // 获取参数标记 + String propflag = BeanUtil.getProperty(real, pollutantEnum.flag); + SEnvGasMonReal.ParamFlagEnum paramFlagEnum = SEnvGasMonReal.ParamFlagEnum.getByEnumName(propflag); + + if (paramFlagEnum != null && paramFlagEnum.show) { + paramFlagSerMap.get(paramFlagEnum.name()).getValues().set(i, Flag_Value); + } + } + } + List serList = new ArrayList<>(); + serList.addAll(new ArrayList<>(dataFlagSerMap.values())); + serList.addAll(new ArrayList<>(paramFlagSerMap.values())); + return serList; + } + + /** + * 若监测物指定了上下限,还需要生成上下限的曲线图 + */ + private List getLimitSeriesObj(AmProblemFiVo.PollutantVo pollutantVo, PollutantEnum pollutantEnum, List xdata) { + if (pollutantVo.getPollutantLimitMap() == null) { + return null; + } + EChartsVO.SeriesObj lowerLimit = new EChartsVO.SeriesObj(); + lowerLimit.setName(pollutantEnum.label + "下限"); + lowerLimit.setUnit(pollutantEnum.unit); + lowerLimit.setProp("lowerLimit"); + lowerLimit.setSeriesType("lowerLimit"); + + EChartsVO.SeriesObj upperLimit = new EChartsVO.SeriesObj(); + upperLimit.setName(pollutantEnum.label + "上限"); + upperLimit.setUnit(pollutantEnum.unit); + upperLimit.setProp("upperLimit"); + upperLimit.setSeriesType("upperLimit"); + + List seriesObjs = Arrays.asList(lowerLimit, upperLimit); + + for (EChartsVO.SeriesObj seriesObj : seriesObjs) { + // 填充曲线图系列值。遍历x轴数据,保证x轴与系列数据一一对应 + List values2 = xdata.stream().map(o -> { + AmProblemFiVo.PollutantLimitVo pollutantLimitVo = pollutantVo.getPollutantLimitMap().get(o); + if (pollutantLimitVo == null) { + return null; + } + return BeanUtil.getProperty(pollutantLimitVo, seriesObj.getProp()); + }).collect(Collectors.toList()); + seriesObj.setValues(values2); + } + return seriesObjs; + } + + @Override + public List getCharDataList(SEnvWaterMonRealQuery sEnvWaterMonReal) { + List children = pcOutletMapper.selectList(new QueryWrapper() + .eq("parent_outlet_id", sEnvWaterMonReal.getOutletId()) + .eq("pollutant_type", "4") + ); + + return children.stream().map(child -> { + sEnvWaterMonReal.setOutletId(child.getId()); + + EChartsVO vo = getCharData(sEnvWaterMonReal); + vo.setName(child.getMonitoringPointName()); + return vo; + }).collect(Collectors.toList()); + } + + @Override + public List selectLastDayData(String pollutantOutletType, Date lastDayBegin, Date lastDayEnd) { + return sEnvWaterMonRealMapper.selectLastDayData(pollutantOutletType,lastDayBegin,lastDayEnd); + } + + @Override + public List selectLastDayCountData(DateTime queryBeginTime, DateTime queryEndTime) { + return sEnvWaterMonRealMapper.selectLastDayCountData(queryBeginTime,queryEndTime); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterSelfDayServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterSelfDayServiceImpl.java new file mode 100644 index 0000000..7d51c0e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SEnvWaterSelfDayServiceImpl.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; +import cn.cecep.talroad.mapper.SEnvWaterSelfDayMapper; +import cn.cecep.talroad.service.ISEnvWaterSelfDayService; +import cn.cecep.talroad.mapper.SEnvWaterSelfDayMapper; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; +import cn.cecep.talroad.service.ISEnvWaterSelfDayService; + + + + +/** + * 多源排放量汇总分析-废水-手工监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-07-26*/ +@Service +public class SEnvWaterSelfDayServiceImpl extends ServiceImpl implements ISEnvWaterSelfDayService +{ + @Autowired + private SEnvWaterSelfDayMapper sEnvWaterSelfDayMapper; + + /** + * 查询多源排放量汇总分析-废水-手工监测数据列表 + * + * @param sEnvWaterSelfDay 多源排放量汇总分析-废水-手工监测数据 + * @return 多源排放量汇总分析-废水-手工监测数据 + */ + @Override + public List selectSEnvWaterSelfDayList(SEnvWaterSelfDay sEnvWaterSelfDay) + { + return sEnvWaterSelfDayMapper.selectSEnvWaterSelfDayList(sEnvWaterSelfDay); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SIntegratedRoutineInspectionServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SIntegratedRoutineInspectionServiceImpl.java new file mode 100644 index 0000000..ac461ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SIntegratedRoutineInspectionServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SIntegratedRoutineInspection; +import cn.cecep.talroad.mapper.SIntegratedRoutineInspectionMapper; +import cn.cecep.talroad.service.ISIntegratedRoutineInspectionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 日常检查信息Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SIntegratedRoutineInspectionServiceImpl extends ServiceImpl implements ISIntegratedRoutineInspectionService +{ + @Autowired + private SIntegratedRoutineInspectionMapper sIntegratedRoutineInspectionMapper; + + /** + * 查询日常检查信息列表 + * + * @param sIntegratedRoutineInspection 日常检查信息 + * @return 日常检查信息 + */ + @Override + public List selectSIntegratedRoutineInspectionList(SIntegratedRoutineInspection sIntegratedRoutineInspection) + { + return sIntegratedRoutineInspectionMapper.selectSIntegratedRoutineInspectionList(sIntegratedRoutineInspection); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlFactoryServiceImpl.java new file mode 100644 index 0000000..f5b7f74 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlFactoryServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import cn.cecep.talroad.mapper.SMainDynamicControlFactoryMapper; +import cn.cecep.talroad.service.ISMainDynamicControlFactoryService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class SMainDynamicControlFactoryServiceImpl extends ServiceImpl implements ISMainDynamicControlFactoryService +{ + @Autowired + private SMainDynamicControlFactoryMapper sMainDynamicControlFactoryMapper; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联列表 + * + * @param sMainDynamicControlFactory 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联 + */ + @Override + public List selectSMainDynamicControlFactoryList(SMainDynamicControlFactory sMainDynamicControlFactory) + { + return sMainDynamicControlFactoryMapper.selectSMainDynamicControlFactoryList(sMainDynamicControlFactory); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlParamServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlParamServiceImpl.java new file mode 100644 index 0000000..ac6f6fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlParamServiceImpl.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SMainDynamicControlParam; +import cn.cecep.talroad.mapper.SMainDynamicControlParamMapper; +import cn.cecep.talroad.service.ISMainDynamicControlParamService; +import cn.cecep.talroad.vo.SMainDynamicControlParamVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class SMainDynamicControlParamServiceImpl extends ServiceImpl implements ISMainDynamicControlParamService +{ + @Autowired + private SMainDynamicControlParamMapper sMainDynamicControlParamMapper; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息调整 -参数列表 + * + * @param sMainDynamicControlParam 基本信息-废气、废水排口档案-动态管控信息调整 -参数 + * @return 基本信息-废气、废水排口档案-动态管控信息调整 -参数 + */ + @Override + public List selectSMainDynamicControlParamList(SMainDynamicControlParam sMainDynamicControlParam) + { + return sMainDynamicControlParamMapper.selectSMainDynamicControlParamList(sMainDynamicControlParam); + } + + @Override + public SMainDynamicControlParamVo.Table getParamTableData(String factoryId, String outletId, String controlTypeCode) { + List> data = sMainDynamicControlParamMapper.selectParamTableData(factoryId, outletId, controlTypeCode); + + // >> 将查询出来的纵向数据转为横向数据 + // 表头,即所有的参数 + List> paramHeaders = new ArrayList<>(); + // 第一行数据,即所有参数的实测值 + Map row1 = new HashMap<>(); + // 第二行数据,即所有参数的验收标准值 + Map row2 = new HashMap<>(); + + for (int i = 0; i < data.size(); i++) { + String prop = "prop" + i; + + Map column = new HashMap<>(); + column.put("prop", prop); + column.put("label", data.get(i).get("argumentsName")); + paramHeaders.add(column); + + row1.put(prop, data.get(i).get("measuredValue")); + row2.put(prop, data.get(i).get("standardValue")); + } + + String prop = "valueType"; + Map column = new HashMap<>(); + column.put("prop", prop); + column.put("label", "参数名称"); + + paramHeaders.add(0, column); + row1.put(prop, "实测值"); + row2.put(prop, "验收标准值"); + + List> paramData = new ArrayList<>(); + paramData.add(row1); + paramData.add(row2); + + SMainDynamicControlParamVo.Table table = new SMainDynamicControlParamVo.Table(); + table.setParamHeaders(paramHeaders); + table.setParamData(paramData); + return table; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlServiceImpl.java new file mode 100644 index 0000000..63d1f0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SMainDynamicControlServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SMainDynamicControl; +import cn.cecep.talroad.mapper.SMainDynamicControlMapper; +import cn.cecep.talroad.service.ISMainDynamicControlService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 基本信息-废气、废水排口档案-动态管控信息Service业务层处理 + * + * @author szhpt + * @date 2023-02-02*/ +@Service +public class SMainDynamicControlServiceImpl extends ServiceImpl implements ISMainDynamicControlService +{ + @Autowired + private SMainDynamicControlMapper sMainDynamicControlMapper; + + /** + * 查询基本信息-废气、废水排口档案-动态管控信息列表 + * + * @param sMainDynamicControl 基本信息-废气、废水排口档案-动态管控信息 + * @return 基本信息-废气、废水排口档案-动态管控信息 + */ + @Override + public List selectSMainDynamicControlList(SMainDynamicControl sMainDynamicControl) + { + return sMainDynamicControlMapper.selectSMainDynamicControlList(sMainDynamicControl); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysicComsitStServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysicComsitStServiceImpl.java new file mode 100644 index 0000000..0d2f3d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysicComsitStServiceImpl.java @@ -0,0 +1,20 @@ +package cn.cecep.talroad.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import cn.cecep.talroad.mapper.SRaRealTimeAnalysicComsitStMapper; +import cn.cecep.talroad.service.SRaRealTimeAnalysicComsitStService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author ccc + * @since 2023-07-01 + */ +@Service +public class SRaRealTimeAnalysicComsitStServiceImpl extends ServiceImpl implements SRaRealTimeAnalysicComsitStService { + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysisRunOneServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysisRunOneServiceImpl.java new file mode 100644 index 0000000..bef894c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SRaRealTimeAnalysisRunOneServiceImpl.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.service.impl; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.vo.query.SRaRealTimeAnalysisRunOneQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.mapper.SRaRealTimeAnalysisRunOneMapper; +import cn.cecep.talroad.service.ISRaRealTimeAnalysisRunOneService; +import cn.cecep.talroad.mapper.SRaRealTimeAnalysisRunOneMapper; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.service.ISRaRealTimeAnalysisRunOneService; + + + + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据Service业务层处理 + * + * @author szhpt + * @date 2023-05-17*/ +@Service +public class SRaRealTimeAnalysisRunOneServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisRunOneService +{ + @Autowired + private SRaRealTimeAnalysisRunOneMapper sRaRealTimeAnalysisRunOneMapper; + + /** + * 查询关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据列表 + * + * @param sRaRealTimeAnalysisRunOne 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + * @return 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据 + */ + @Override + public List selectSRaRealTimeAnalysisRunOneList(SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne) + { + Page page = new Page<>(1, 999999); + return sRaRealTimeAnalysisRunOneMapper.selectSRaRealTimeAnalysisRunOneList(page,sRaRealTimeAnalysisRunOne); + } + + + @Override + public IPage selectSRaRealTimeAnalysisRunOneListPage(SRaRealTimeAnalysisRunOneQuery sRaRealTimeAnalysisRunOne) { + Page page = new Page<>(sRaRealTimeAnalysisRunOne.getPageNum(), sRaRealTimeAnalysisRunOne.getPageSize()); + List sRaRealTimeAnalysisRunOnes= sRaRealTimeAnalysisRunOneMapper.selectSRaRealTimeAnalysisRunOneList(page,sRaRealTimeAnalysisRunOne); + page.setRecords(sRaRealTimeAnalysisRunOnes); + return page; + } + + @Override + public List selectAnalysisRunByParams(SRaRealTimeAnalysisRunOne run) { + return sRaRealTimeAnalysisRunOneMapper.selectAnalysisRunByParams(run); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/STaskYieldTrendServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/STaskYieldTrendServiceImpl.java new file mode 100644 index 0000000..49530f0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/STaskYieldTrendServiceImpl.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.STaskYieldTrendMapper; +import cn.cecep.talroad.service.STaskYieldTrendService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; + +@Service +public class STaskYieldTrendServiceImpl extends ServiceImpl implements STaskYieldTrendService { + + @Resource + private STaskYieldTrendMapper sTaskYieldTrendMapper; + + @Override + public void triggerYieldTrendSynchro(String factoryId) { + + } + + @Override + public void analyseDayTaskYieldTrendData() { + Date curr = new Date(); + Date lastDay = DateUtils.addDateDays(curr,-1); + String dayTime = DateUtils.parseDateToStr("yyyy-MM-dd",lastDay); + List list = sTaskYieldTrendMapper.analyseDayTaskYieldTrendData(dayTime); + list.forEach(t ->{ + t.setTimeType(TimeTypeEnum.DAY.getCode()); + t.setDataTime(DateUtils.dateTime("yyyy-MM-dd",dayTime)); + sTaskYieldTrendMapper.insert(t); + }); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SupermonitorDrainOutletServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SupermonitorDrainOutletServiceImpl.java new file mode 100644 index 0000000..8530474 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/SupermonitorDrainOutletServiceImpl.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SupermonitorDrainOutlet; +import cn.cecep.talroad.mapper.SupermonitorDrainOutletMapper; +import cn.cecep.talroad.service.ISupermonitorDrainOutletService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + + + +/** + * 排污口Service业务层处理 + * + * @author szhpt + * @date 2023-01-10*/ +@Service +public class SupermonitorDrainOutletServiceImpl extends ServiceImpl implements ISupermonitorDrainOutletService +{ + @Autowired + private SupermonitorDrainOutletMapper supermonitorDrainOutletMapper; + + /** + * 查询排污口列表 + * + * @param supermonitorDrainOutlet 排污口 + * @return 排污口 + */ + @Override + public List selectSupermonitorDrainOutletList(SupermonitorDrainOutlet supermonitorDrainOutlet) + { + return supermonitorDrainOutletMapper.selectSupermonitorDrainOutletList(supermonitorDrainOutlet); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TCodStationServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TCodStationServiceImpl.java new file mode 100644 index 0000000..34ce9dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TCodStationServiceImpl.java @@ -0,0 +1,362 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SStationTypeDict; +import cn.cecep.talroad.domain.TCodStation; +import cn.cecep.talroad.domain.TCodStationDataAir; +import cn.cecep.talroad.domain.TCodStationDataWater; +import cn.cecep.talroad.mapper.SStationTypeDictMapper; +import cn.cecep.talroad.mapper.TCodStationDataAirMapper; +import cn.cecep.talroad.mapper.TCodStationDataWaterMapper; +import cn.cecep.talroad.mapper.TCodStationMapper; +import cn.cecep.talroad.service.ITCodStationService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.TCodStationVo; +import cn.cecep.talroad.vo.query.FindSequenceDataQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +@Service +public class TCodStationServiceImpl extends ServiceImpl implements ITCodStationService { + + @Autowired + private TCodStationDataAirMapper stationDataAirMapper; + + @Autowired + private TCodStationDataWaterMapper stationDataWaterMapper; + + @Autowired + private SStationTypeDictMapper stationTypeDictMapper; + + /** + * 大气站点监测参数 + */ + public enum AirPollutantEnum { + aqi("AQI", "aqi", ""), + pm25("PM₂.₅", "pm25", "ug/m³"), + pm10("PM₁₀", "pm10", "ug/m³"), + so2("SO₂", "so2", "ug/m³"), + no2("NO₂", "no2", "ug/m³"), + o3("O₃", "o3", "ug/m³"), + co("CO", "co", "mg/m³"), + tvoc("TVOC", "tvoc", "ppb"), + tsp("TSP", "tsp", "ug/m³"), + ; + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + + AirPollutantEnum(String label, String prop, String unit) { + this.label = label; + this.prop = prop; + this.unit = unit; + } + + public static AirPollutantEnum getByProp(String prop) { + for (AirPollutantEnum value : AirPollutantEnum.values()) { + if (value.prop.equals(prop)) { + return value; + } + } + return null; + } + } + + /** + * 水环境站点监测参数 + */ + public enum WaterPollutantEnum { + cod("COD", "cod", ""), + ammoniaNitrogen("氨氮", "ammoniaNitrogen", ""), + totalNitrogen("总氮", "totalNitrogen", ""), + totalPhosphorus("总磷", "totalPhosphorus", ""); + + public final String label; // 名称 + public final String prop; // 取值属性名 + public final String unit; // 单位 + + WaterPollutantEnum(String label, String prop, String unit) { + this.label = label; + this.prop = prop; + this.unit = unit; + } + } + + @Override + public List getStationList(TCodStationVo.SearchVo searchVo) { + if (searchVo.getStationTypeDictIds() == null || searchVo.getStationTypeDictIds().isEmpty()) { + return new ArrayList<>(); + } + + // 查询指定类型的字典类型,按照数据源分组 + List typeList = stationTypeDictMapper.selectBatchIds(searchVo.getStationTypeDictIds()); + Map> typeMap = typeList.stream() + .filter(o -> o.getDataSource() != null) + .collect(Collectors.groupingBy(SStationTypeDict::getDataSource)); + + List result = new ArrayList<>(); + + if (typeMap.containsKey("1")) { // 大气 + searchVo.setStationTypeDictIds(typeMap.get("1").stream().map(o -> o.getDataId().intValue()).collect(Collectors.toList())); + List list = baseMapper.selectAirStationList(searchVo); + result.addAll(list); + } + if (typeMap.containsKey("2")) { // 水 + searchVo.setStationTypeDictIds(typeMap.get("2").stream().map(o -> o.getDataId().intValue()).collect(Collectors.toList())); + List list = baseMapper.selectWaterStationList(searchVo); + result.addAll(list); + } + return result; + } + + public EChartsVO getAirChartData(TCodStation station, Date startTime, Date endTime) { + // x轴数据 + List xdata = null; + + List dataList = stationDataAirMapper.selectList(new QueryWrapper() + .eq("station_id", station.getId()) + .eq("data_type", "H") + .ge("monitor_time", startTime) + .le("monitor_time", endTime) + ); + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map dataMap = dataList.stream() + .collect(Collectors.toMap(o -> DateUtils.parseDateToStr("yyyy-MM-dd HH", o.getMonitorTime()), o -> o, (o1, o2) -> o1)); + + SStationTypeDict stationTypeDict = stationTypeDictMapper.selectById(station.getStationTypeDictId()); + + List pollutantEnums = Arrays.stream(AirPollutantEnum.values()).collect(Collectors.toList()); + + if (StringUtils.isNotEmpty(stationTypeDict.getChartPollutant())) { + String[] split = stationTypeDict.getChartPollutant().split(","); + pollutantEnums = Arrays.stream(split).map(AirPollutantEnum::getByProp).filter(Objects::nonNull).collect(Collectors.toList()); + } + + List series = pollutantEnums.stream().map(pollutantEnum -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + TCodStationDataAir dataAir = dataMap.get(o); + if (dataAir == null) { + return null; + } + Object property = BeanUtil.getProperty(dataAir, ser.getProp()); + return property != null ? property.toString() : null; + }).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + public EChartsVO getWaterChartData(String id, Date startTime, Date endTime) { + // x轴数据 + List xdata = null; + + List dataList = stationDataWaterMapper.selectList(new QueryWrapper() + .eq("station_id", id) + .eq("data_type", "H") + .ge("monitor_time", startTime) + .le("monitor_time", endTime) + ); + // 以日期为key,转为map 日期格式要保证与x轴格式一样 + Map dataMap = dataList.stream() + .collect(Collectors.toMap(o -> DateUtils.parseDateToStr("yyyy-MM-dd HH", o.getMonitorTime()), o -> o, (o1, o2) -> o1)); + + List series = Arrays.stream(WaterPollutantEnum.values()).map(pollutantEnum -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pollutantEnum.label); + ser.setUnit(pollutantEnum.unit); + ser.setProp(pollutantEnum.prop); + + // 遍历x轴数据,保证x轴与系列数据一一对应 + List values = xdata.stream().map(o -> { + TCodStationDataWater dataWater = dataMap.get(o); + if (dataWater == null) { + return null; + } + return BeanUtil.getProperty(dataWater, ser.getProp()); + }).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(series); + return chartsVO; + } + + @Override + public TCodStationVo.Air getAirStationDetail(String id) { + TCodStation station = getById(id); + + TCodStationVo.Air result = new TCodStationVo.Air(); + result.setStationName(station.getStationName()); + + TCodStationDataAir realData = stationDataAirMapper.selectReal(id, "H"); + result.setRealData(realData); + + // 当前时间,忽略分钟,秒 + Date now = DateUtils.parseDate(DateUtils.parseDateToStr("yyyy-MM-dd HH", new Date())); + + result.setChartsVO(getAirChartData(station, DateUtils.addDateHours(now, -24), DateUtils.addDateHours(now, -1))); + return result; + } + + @Override + public TCodStationVo.Water getWaterStationDetail(String id) { + TCodStation station = getById(id); + + TCodStationVo.Water result = new TCodStationVo.Water(); + result.setStationName(station.getStationName()); + + TCodStationDataWater realData = stationDataWaterMapper.selectReal(id, "H"); + result.setRealData(realData); + + // 当前时间,忽略分钟,秒 + Date now = DateUtils.parseDate(DateUtils.parseDateToStr("yyyy-MM-dd HH", new Date())); + + result.setChartsVO(getWaterChartData(id, DateUtils.addDateHours(now, -24), DateUtils.addDateHours(now, -1))); + return result; + } + + @Override + public List> findStationPullData() { + QueryWrapper sStationTypeDictQuery = new QueryWrapper<>(); + List typeCodes = new ArrayList<>(); + typeCodes.add(1);typeCodes.add(2);typeCodes.add(10); + typeCodes.add(4); + typeCodes.add(11); + sStationTypeDictQuery.eq("status",0); + sStationTypeDictQuery.eq("station_type",1); + sStationTypeDictQuery.in("type_code",typeCodes); + sStationTypeDictQuery.orderByAsc("sort"); + List sStationTypeDicts = stationTypeDictMapper.selectList(sStationTypeDictQuery); + QueryWrapper queryWrapper = new QueryWrapper<>(); + List> resultList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(sStationTypeDicts)){ + for (SStationTypeDict sStationTypeDict : sStationTypeDicts) { + Map map = new HashMap<>(); + map.put("label",sStationTypeDict.getTypeName()); + queryWrapper.clear(); + queryWrapper.eq("station_type_dict_id",sStationTypeDict.getDataId()).orderByAsc("station_name", "id"); + List tCodStations = baseMapper.selectList(queryWrapper); + if(CollectionUtil.isNotEmpty(tCodStations)){ + List> childrenList = new ArrayList<>(); + for (TCodStation tCodStation : tCodStations) { + Map childrenMap = new HashMap<>(); + childrenMap.put("label",tCodStation.getStationName()); + childrenMap.put("value",tCodStation.getId()); + childrenList.add(childrenMap); + } + map.put("children",childrenList); + } + resultList.add(map); + } + } + return resultList; + } + + @Override + public Map findSequenceData(FindSequenceDataQuery findSequenceDataQuery) { + Map resultMap = new HashMap<>(); + String startTime = findSequenceDataQuery.getStartTime(); + String endTime = findSequenceDataQuery.getEndTime(); + String stationId = findSequenceDataQuery.getStationId(); + List stationIds = null; + if(StringUtils.isNotEmpty(stationId)){ + stationIds = Arrays.asList(stationId.split(",")); + } + //放入时间列表 + List timeList = DateUtils.getRangeTimes("H", startTime, endTime); + resultMap.put("timeList",timeList); + + //放入站点列表 + List data = new ArrayList<>(); + List pointNameList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(stationIds)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",stationIds); + queryWrapper.orderByAsc("station_name", "id"); + List tCodStations = baseMapper.selectList(queryWrapper); + for (TCodStation tCodStation : tCodStations) { + pointNameList.add(tCodStation.getStationName()); + data.add(tCodStation); + } + } + resultMap.put("pointName",pointNameList); + + // + List> dataList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(data)){ + QueryWrapper tCodStationDataAirWrapper = new QueryWrapper<>(); + tCodStationDataAirWrapper.eq("data_type","H"); + tCodStationDataAirWrapper.ge("monitor_time", DateUtil.parse(startTime, "yyyy-MM-dd HH")); + tCodStationDataAirWrapper.le("monitor_time", DateUtil.parse(endTime, "yyyy-MM-dd HH")); + tCodStationDataAirWrapper.in("station_id", data.stream().map(TCodStation::getId).collect(Collectors.toList())); + + List tCodStationDataAirs = stationDataAirMapper.selectList(tCodStationDataAirWrapper); + + // 以站点和时间为key,转为map,日期格式要与x轴一致 + Map stationDataAirMap = tCodStationDataAirs.stream().collect( + Collectors.toMap(o -> o.getStationId() + "_" + DateUtils.parseDateToStr("yyyy-MM-dd HH", o.getMonitorTime()), o -> o, + // 若有重复数据取第一条 + (o1, o2) -> o1) + ); + for (TCodStation tCodStation : data) { + // 遍历时间轴,保证系列值与日期轴一一对应 + List coList = timeList.stream().map(time -> { + TCodStationDataAir dataAir = stationDataAirMap.get(tCodStation.getId() + "_" + time); + if (dataAir == null) { + return null; + } + return dataAir.getCo() != null ? dataAir.getCo().toString() : null; + }).collect(Collectors.toList()); + + Map dataMap = new HashMap<>(); + dataMap.put("pointName",tCodStation.getStationName()); + dataMap.put("dataList",coList); + dataList.add(dataMap); + } + } + resultMap.put("dataList",dataList); + return resultMap; + } + + @Override + public List> stationRank(String factorName, String monitorTime) { + if (factorName == null) { + return new ArrayList<>(); + } + if (!Arrays.asList("aqi", "pm25", "pm10", "o3", "so2", "no2", "co").contains(factorName)) { + return new ArrayList<>(); + } + if (StringUtils.isEmpty(monitorTime)) { + // 获取上一个小时 + monitorTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", DateUtils.addHours(new Date(), -1)); + } + List> rankList = baseMapper.selectStationRank(factorName, monitorTime); + return rankList; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaDayMonTimeFbjdData.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaDayMonTimeFbjdData.java new file mode 100644 index 0000000..b68d45b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaDayMonTimeFbjdData.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.SRaDayMonTimeFbjd; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.mapper.SRaDayMonTimeFbjdMapper; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisRunMapper; +import cn.cecep.talroad.util.BeanContext; +import lombok.extern.slf4j.Slf4j; + +import java.sql.Timestamp; +import java.util.List; +import java.util.concurrent.Callable; + +/** + * @className: ThreadQueryData + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/24 09:39 + * @Company: Copyright© [2023/04/24 09:39] by [Mr.Yanghongtao] + **/ +@Slf4j +public class ThreadQuerySRaDayMonTimeFbjdData implements Callable> { + + private String startTime; + private String endTime; + + private SRaDayMonTimeFbjdMapper sRaDayMonTimeFbjdMapper; + + + public ThreadQuerySRaDayMonTimeFbjdData(String startTime, String endTime) { + this.startTime = startTime; + this.endTime = endTime; + } + + /** + * When an object implementing interface Runnable is used + * to create a thread, starting the thread causes the object's + * run method to be called in that separately executing + * thread. + *

+ * The general contract of the method run is that it may + * take any action whatsoever. + * + * @see Thread#run() + */ + @Override + public List call() { +// log.info("线程池:" + Thread.currentThread().getName() + ";" + "startTime:" + startTime + "," + "endTime:" + endTime + ";"); + this.sRaDayMonTimeFbjdMapper = BeanContext.getApplicationContext().getBean(SRaDayMonTimeFbjdMapper.class); + return sRaDayMonTimeFbjdMapper.selectListByDate(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaRealTimeAnalysisRunData.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaRealTimeAnalysisRunData.java new file mode 100644 index 0000000..0ceb47b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/ThreadQuerySRaRealTimeAnalysisRunData.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisRunMapper; +import cn.cecep.talroad.util.BeanContext; +import lombok.extern.slf4j.Slf4j; + +import java.sql.Timestamp; +import java.util.List; +import java.util.concurrent.Callable; + +/** + * @className: ThreadQueryData + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/24 09:39 + * @Company: Copyright© [2023/04/24 09:39] by [Mr.Yanghongtao] + **/ +@Slf4j +public class ThreadQuerySRaRealTimeAnalysisRunData implements Callable> { + + private String startTime; + private String endTime; + + private SRaRealTimeAnalysisRunMapper sRaRealTimeAnalysisRunMapper; + + + public ThreadQuerySRaRealTimeAnalysisRunData(String startTime, String endTime) { + this.startTime = startTime; + this.endTime = endTime; + } + + /** + * When an object implementing interface Runnable is used + * to create a thread, starting the thread causes the object's + * run method to be called in that separately executing + * thread. + *

+ * The general contract of the method run is that it may + * take any action whatsoever. + * + * @see Thread#run() + */ + @Override + public List call() { +// log.info("线程池:" + Thread.currentThread().getName() + ";" + "startTime:" + startTime + "," + "endTime:" + endTime + ";"); + this.sRaRealTimeAnalysisRunMapper = BeanContext.getApplicationContext().getBean(SRaRealTimeAnalysisRunMapper.class); + return sRaRealTimeAnalysisRunMapper.threadSelectListByDate(Timestamp.valueOf(startTime), Timestamp.valueOf(endTime), null); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TradeMonitorServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TradeMonitorServiceImpl.java new file mode 100644 index 0000000..f0fe9b9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/TradeMonitorServiceImpl.java @@ -0,0 +1,196 @@ +package cn.cecep.talroad.service.impl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.domain.dto.BMainPollMonDTO; +import cn.cecep.talroad.enums.PollutantTypeEnum; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.BMainPollDisGasMoutMapper; +import cn.cecep.talroad.mapper.BMainPollDisSelfMonMapper; +import cn.cecep.talroad.mapper.BMainPollDisWaterMoutMapper; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.service.TradeMonitorService; +import cn.cecep.talroad.vo.analysis.OutletPollutantVO; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 排污单位在线监测缺少污染物排放因子 + * @author szhpt + * @date 2023-01-10 + */ +@Service +public class TradeMonitorServiceImpl implements TradeMonitorService { + @Autowired + private BMainPollDisSelfMonMapper mainPollDisSelfMonMapper; + @Autowired + private AmProblemFiMapper amProblemFiMapper; + @Autowired + private SRaFactoryTransferRateAnalysisMapper sRaFactoryTransferRateAnalysisMapper; + @Autowired + private BMainPollDisGasMoutMapper bMainPollDisGasMoutMapper; + @Autowired + private BMainPollDisWaterMoutMapper bMainPollDisWaterMoutMapper; + + @Override + public void doUnitPollutantGasWarn() { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + DateTime endTime = DateUtil.endOfMonth(lastMonth); + DateTime startTime = DateUtil.beginOfMonth(lastMonth); + List list = mainPollDisSelfMonMapper.selectBMainPollDisMonList(startTime,endTime, PollutantTypeEnum.GAS.getName()); + List batchInsertLists = new ArrayList<>(); +// Map outletNames = getOutletNameMap(list); + //判断是否在线,不在线直接报警,在线查询排口速率小于50 + List listNotOnline = list.stream().filter(e->null==e.getIsOnline()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(listNotOnline)){ + List outletCodes =listNotOnline.stream().map(e->e.getOutletCode()).collect(Collectors.toList()); + List factoryIds =listNotOnline.stream().map(e->e.getFactoryId()).collect(Collectors.toList()); + List pollutantVOS = bMainPollDisGasMoutMapper.selectGasOnlineOutletPollutant(factoryIds,outletCodes); + if(CollectionUtils.isNotEmpty(pollutantVOS)){ + this.batchInsertList(pollutantVOS,endTime, startTime,batchInsertLists,PollutantTypeEnum.GAS.getCode()); + } + } + List listOnline = list.stream().filter(e->e.getIsOnline()!=null && 1==e.getIsOnline()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(listOnline)) { + List outletCodes = listOnline.stream().map(e -> e.getOutletCode()).collect(Collectors.toList()); + List factoryIds = listOnline.stream().map(e -> e.getFactoryId()).collect(Collectors.toList()); + List analysisLists = sRaFactoryTransferRateAnalysisMapper.selectDayRateOutletLt50List(factoryIds, outletCodes, startTime, endTime); + if (CollectionUtils.isNotEmpty(analysisLists)) { + List lt50OutletCodes = analysisLists.stream().map(e -> e.getOutletCode()).collect(Collectors.toList()); + List lt50FactoryIds = analysisLists.stream().map(e -> e.getFactoryId()).collect(Collectors.toList()); + List pollutantVOS = bMainPollDisGasMoutMapper.selectGasOnlineOutletPollutant(lt50FactoryIds, lt50OutletCodes); + if (CollectionUtils.isNotEmpty(pollutantVOS)) { + this.batchInsertList(pollutantVOS,endTime, startTime,batchInsertLists,PollutantTypeEnum.GAS.getCode()); + } + } + } + if(CollectionUtils.isNotEmpty(batchInsertLists)){ + amProblemFiMapper.insertAmProblemFis(batchInsertLists); + } + } + + @Override + public void doUnitPollutantWaterWarn() { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + DateTime endTime = DateUtil.endOfMonth(lastMonth); + DateTime startTime = DateUtil.beginOfMonth(lastMonth); + List list = mainPollDisSelfMonMapper.selectBMainPollDisMonList(startTime,endTime, PollutantTypeEnum.WASTEWATER.getName()); + List batchInsertLists = new ArrayList<>(); +// Map outletNames = getOutletNameMap(list); + //判断是否在线,不在线直接报警,在线查询排口速率小于50 + List listNotOnline = list.stream().filter(e->null==e.getIsOnline()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(listNotOnline)){ + List outletCodes =listNotOnline.stream().map(e->e.getOutletCode()).collect(Collectors.toList()); + List factoryIds =listNotOnline.stream().map(e->e.getFactoryId()).collect(Collectors.toList()); + List pollutantVOS = bMainPollDisWaterMoutMapper.selectWaterOnlineOutletPollutant(factoryIds,outletCodes); + if(CollectionUtils.isNotEmpty(pollutantVOS)) { + this.batchInsertList(pollutantVOS,endTime, startTime,batchInsertLists,PollutantTypeEnum.WASTEWATER.getCode()); + } + } + List listOnline = list.stream().filter(e->e.getIsOnline()!=null && 1==e.getIsOnline()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(listOnline)) { + List outletCodes = listOnline.stream().map(e -> e.getOutletCode()).collect(Collectors.toList()); + List factoryIds = listOnline.stream().map(e -> e.getFactoryId()).collect(Collectors.toList()); + List analysisLists = sRaFactoryTransferRateAnalysisMapper.selectDayRateOutletLt50List(factoryIds, outletCodes, startTime, endTime); + if (CollectionUtils.isNotEmpty(analysisLists)) { + List lt50OutletCodes = analysisLists.stream().map(e -> e.getOutletCode()).collect(Collectors.toList()); + List lt50FactoryIds = analysisLists.stream().map(e -> e.getFactoryId()).collect(Collectors.toList()); + List pollutantVOS = bMainPollDisWaterMoutMapper.selectWaterOnlineOutletPollutant(lt50FactoryIds, lt50OutletCodes); + if (CollectionUtils.isNotEmpty(pollutantVOS)) { + this.batchInsertList(pollutantVOS,endTime, startTime,batchInsertLists,PollutantTypeEnum.WASTEWATER.getCode()); + } + } + } + if(CollectionUtils.isNotEmpty(batchInsertLists)){ + amProblemFiMapper.insertAmProblemFis(batchInsertLists); + } + } + + //排口名称 + private Map getOutletNameMap(List lists){ + return lists.stream().collect(Collectors.toMap(k->k.getOutletCode(),v->v.getOutletName())); + } + + private Map> factoryListToMapPollutant(List lists){ + Map> map = new HashMap<>(); + for (OutletPollutantVO e: lists) { + if(map.containsKey(e.getFactoryId())){ + List l = map.get(e.getFactoryId()); + l.add(e); + map.put(e.getFactoryId(),l); + }else{ + List l = new ArrayList<>(); + l.add(e); + map.put(e.getFactoryId(),l); + } + } + return map; + } + + private Map> outletListToMapPollutant(List pollutantVOS){ + Map> map = new HashMap<>(); + for (OutletPollutantVO e: pollutantVOS) { + if(map.containsKey(e.getOutletCode())){ + List l = map.get(e.getOutletCode()); + l.add(e); + map.put(e.getOutletCode(),l); + }else{ + List l = new ArrayList<>(); + l.add(e); + map.put(e.getOutletCode(),l); + } + } + return map; + } + + private List batchInsertList(List pollutantVOS,DateTime endTime,DateTime startTime,List batchInsertLists,String code){ + //企业ID转换成map + Map> map = factoryListToMapPollutant(pollutantVOS); + map.forEach((k, v) -> { + AmProblemFi amProblemFi = getAmProblemFi(v, code); + amProblemFi.setProblemStartTime(startTime.toDateStr()); + amProblemFi.setProblemEndTime(endTime.toDateStr()); + amProblemFi.setAnalyseTime(startTime.toJdkDate()); + amProblemFi.setAnalyseTimeEnd(endTime.toJdkDate()); + batchInsertLists.add(amProblemFi); + }); + return batchInsertLists; + } + + /** + * 合并污染因子报警信息 + * type 1废气、2废水 + */ + private AmProblemFi getAmProblemFi(List pollutantVOS,String type){ + AmProblemFi fi = new AmProblemFi(); + fi.setFactoryId(pollutantVOS.get(0).getFactoryId()); + fi.setProblemSources("1"); + fi.setProblemType("003003"); + fi.setType(1); + fi.setCreateTime(DateUtils.getNowDate()); + fi.setPollutantSourceAi(type); + StringBuilder result = new StringBuilder(pollutantVOS.get(0).getFactoryName()).append("-"); + Map> map=outletListToMapPollutant(pollutantVOS); + map.forEach((k,v)->{ + result.append(v.get(0).getOutletName()).append("-在线监测缺少"); + v.stream().forEach(e->{ + result.append(e.getPollutantsType()).append(","); + }); + }); + result.append("监测因子"); + fi.setProblemDetails(result.toString()); + return fi; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanInfoServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanInfoServiceImpl.java new file mode 100644 index 0000000..5e67cf4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanInfoServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlanInfo; +import cn.cecep.talroad.mapper.analysis.BCoDischargePlanInfoMapper; +import cn.cecep.talroad.service.analysis.BCoDischargePlanInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.seata.common.util.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +@Service +public class BCoDischargePlanInfoServiceImpl extends ServiceImpl implements BCoDischargePlanInfoService{ + + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public List selectAllDeviceService(String factoryId, Integer planId) { + return baseMapper.selectAllDevice(factoryId,planId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updatePlanInfo(List infos,Integer planId) { + List collect = infos.stream().filter(info -> + (info.getPlanEndTime() == null || info.getPlanStartTime() == null)).collect(Collectors.toList()); + if(collect.size()>0) { + if(collect.stream().anyMatch(info -> info.getId() != null)) { + baseMapper.deleteBatchIds(collect.stream().map(BCoDischargePlanInfo::getId).filter(Objects::nonNull).collect(Collectors.toList())); + } + } + infos.removeAll(collect); + if(CollectionUtils.isNotEmpty(infos)) { + infos.forEach(i->{ + if(i.getId()==null){ + i.setPlanId(planId); + } + }); + return saveOrUpdateBatch(infos); + }else { + return true; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanServiceImpl.java new file mode 100644 index 0000000..10ef0c8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BCoDischargePlanServiceImpl.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.cecep.talroad.mapper.analysis.BCoDischargePlanMapper; +import cn.cecep.talroad.service.analysis.BCoDischargePlanService; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; +@Service +public class BCoDischargePlanServiceImpl extends ServiceImpl implements BCoDischargePlanService{ + + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public BCoDischargePlan newPlan(String factoryId) { + return baseMapper.newPlanName(factoryId); + } + + @Override + public IPage selectCoAllInfoService(CoPlanAllInfo info) { + Page p=new Page<>(info.getPageNum(),info.getPageSize()); + if(info.getStatus()!=null){ + String number = info.getStatus().equals("离线/异常") ? "0" : "1"; + info.setStatus(number); + } + IPage coAndMaintenancePlanAllInfoIPage = baseMapper.selectCoAllInfo(p, info); + coAndMaintenancePlanAllInfoIPage.getRecords().forEach(c->{ + //0是离线,0代表空值 + if(!"0".equals(c.getStatusSourceMQ())){ + c.setStatus(c.getStatusSourceMQ()); + }else { + c.setStatus("离线/异常"); + } + }); + return coAndMaintenancePlanAllInfoIPage; + } + + @Override + public List selectCoAllInfoServiceList(CoPlanAllInfo info) { + if(info.getStatus()!=null){ + String number = info.getStatus().equals("离线/异常") ? "0" : "1"; + info.setStatus(number); + + } + List records = baseMapper.selectCoAllInfo(new Page<>(0,Integer.MAX_VALUE), info).getRecords(); + records.forEach(c->{ + if(!"0".equals(c.getStatusSourceMQ())){ + c.setStatus(c.getStatusSourceMQ()); + }else { + c.setStatus("离线/异常"); + } + }); + return records; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanInfoServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanInfoServiceImpl.java new file mode 100644 index 0000000..e1ad777 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanInfoServiceImpl.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.BMaintenancePlanInfo; +import cn.cecep.talroad.mapper.analysis.BMaintenancePlanInfoMapper; +import cn.cecep.talroad.service.analysis.BMaintenancePlanInfoService; +import cn.cecep.talroad.vo.query.analysis.BMaintenancePlanQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.seata.common.util.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +@Service +public class BMaintenancePlanInfoServiceImpl extends ServiceImpl implements BMaintenancePlanInfoService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updatePlanInfo(List infos,Integer planId) { + List collect = infos.stream().filter(info -> + (info.getPlanEndTime() == null || info.getPlanStartTime() == null)).collect(Collectors.toList()); + if(collect.size()>0) { + if(collect.stream().anyMatch(c -> c.getId() != null)) { + baseMapper.deleteBatchIds(collect.stream().map(BMaintenancePlanInfo::getId).filter(Objects::nonNull).collect(Collectors.toList())); + } + } + infos.removeAll(collect); + if(CollectionUtils.isNotEmpty(infos)) { + infos.forEach(i->{ + if(i.getId()==null){ + i.setPlanId(planId); + } + }); + return saveOrUpdateBatch(infos); + }else { + return true; + } + } + + @Override + public List selectAllDeviceService(String factoryId,Integer planId) { + + return baseMapper.selectAllDevice(factoryId,planId); + } + + @Override + public List infoPageList(Page page, String factoryId, BMaintenancePlanQuery bMaintenancePlanQuery) { + List list = new ArrayList<>(); + if(page != null){ + list = baseMapper.infoPageList(page,factoryId,bMaintenancePlanQuery.getPlanId(),bMaintenancePlanQuery.getDeviceType(),bMaintenancePlanQuery.getDeviceName()); + page.setRecords(list); + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanServiceImpl.java new file mode 100644 index 0000000..4ee506a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BMaintenancePlanServiceImpl.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.BMaintenancePlan; +import cn.cecep.talroad.mapper.analysis.BMaintenancePlanMapper; +import cn.cecep.talroad.service.analysis.BMaintenancePlanService; +import cn.cecep.talroad.vo.analysis.CoPlanAllInfo; +import cn.cecep.talroad.vo.analysis.MaintenancePlanAllInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; +@Service +public class BMaintenancePlanServiceImpl extends ServiceImpl implements BMaintenancePlanService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public IPage selectCoAllInfoService(MaintenancePlanAllInfo info) { + Page p=new Page<>(info.getPageNum(),info.getPageSize()); + IPage coAndMaintenancePlanAllInfoIPage = baseMapper.selectCoAllInfo(p, info); + coAndMaintenancePlanAllInfoIPage.getRecords().forEach(c->{ + if(!"正常".equals(c.getStatusSource())){ + c.setStatus("停产"); + }else { + c.setStatus("生产"); + } + }); + return coAndMaintenancePlanAllInfoIPage; + } + + @Override + public List selectCoAllInfoServiceList(MaintenancePlanAllInfo info) { + List records = baseMapper.selectCoAllInfo(new Page<>(0,Integer.MAX_VALUE), info).getRecords(); + records.forEach(c->{ + if(!"正常".equals(c.getStatusSource())){ + c.setStatus("停产"); + }else { + c.setStatus("生产"); + } + }); + return records; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamAnalyseServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamAnalyseServiceImpl.java new file mode 100644 index 0000000..4f3c13d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamAnalyseServiceImpl.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.service.impl.analysis; + +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.mapper.analysis.BasDeviceParamAnalyseMapper; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.cecep.talroad.service.analysis.BasDeviceParamAnalyseService; +import org.springframework.transaction.annotation.Transactional; + +@Service("basDeviceParamAnalyseNewService") +public class BasDeviceParamAnalyseServiceImpl extends ServiceImpl implements BasDeviceParamAnalyseService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + @Transactional(rollbackFor = Exception.class) + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamServiceImpl.java new file mode 100644 index 0000000..585b5fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceParamServiceImpl.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.vo.query.analysis.BasDeviceParamQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.analysis.BasDeviceParam; +import cn.cecep.talroad.mapper.analysis.BasDeviceParamMapper; +import cn.cecep.talroad.service.analysis.BasDeviceParamService; +import org.springframework.transaction.annotation.Transactional; + +@Service("basDeviceParamNewService") +public class BasDeviceParamServiceImpl extends ServiceImpl implements BasDeviceParamService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public IPage pageService(BasDeviceParamQuery param) { + Page page = new Page<>(param.getPageNum(), param.getPageSize()); + return baseMapper.pageDao(page,param); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceStatusServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceStatusServiceImpl.java new file mode 100644 index 0000000..85279d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasDeviceStatusServiceImpl.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.text.UUID; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.service.analysis.IBasDeviceStatusService; +import cn.cecep.talroad.service.strategy.StrategyFactory; +import cn.cecep.talroad.util.MsgProducer; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.util.Date; +import java.util.List; + +/** + * @Auther: cjh + * @Date: 2023-03-31 16:10 + * @Class: BasDeviceStatusServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service +public class BasDeviceStatusServiceImpl implements IBasDeviceStatusService { + + @Autowired + private BasDeviceMapper deviceMapper; + @Autowired + private StrategyFactory strategyFactory; + @Autowired + private MsgProducer msgProducer; + + @Override + public void doCheckDeviceStatus(String industry, String deviceType) { + long start = System.currentTimeMillis(); + Date curr = DateUtils.addMinutes(new Date(),-10); + String strategyName = StringUtils.upperCase(industry + deviceType); + strategyFactory.getByName(strategyName).doCheckProcess(industry,deviceType,curr); + long end = System.currentTimeMillis(); + log.info("行业:"+industry+",设备类型:"+deviceType+",耗时:"+(end-start)+"毫秒"); + } + + @Override + public void doCheckCount(String industry, String deviceType) { + // 查询未停用设备 + QueryWrapper deviceQueryWrapper = new QueryWrapper<>(); + deviceQueryWrapper.select("device_id"); + deviceQueryWrapper.eq("industry", industry); + deviceQueryWrapper.eq("type", deviceType); + deviceQueryWrapper.eq("is_status", "1"); + List deviceList = deviceMapper.selectList(deviceQueryWrapper); + if (deviceList != null && deviceList.size() > 0) { + // 查询设备类型的参数配置 + deviceList.forEach(d -> { + msgProducer.sendYieldStatisticMsg(UUID.randomUUID().toString(),d.getDeviceId()); + }); + } + } + + @Override + public void doCheckCountTemp(String factoryId, String industry, String deviceType,String startTime) { + + //拼接策略服务名称 + String strategyName = StringUtils.upperCase(industry + deviceType + deviceType); + String begin = ""; + String end = ""; + + if (startTime.contains("#")) { + String[] arr = startTime.split("#"); + begin = arr[0]; + end = arr[1]; + + List hourList = DateUtils.getRangeTimes("H", begin, end); + hourList.forEach(h -> { + try { + //执行策略,处理设备状态 + strategyFactory.getByName(strategyName).doCheckProcessTemp(factoryId,industry,deviceType,DateUtils.parseDate(h, "yyyy-MM-dd HH")); + } catch (ParseException e) { + log.error("日期转换异常"); + } + }); + } + + if (startTime.contains("&")) { + String stName = StringUtils.upperCase(industry + deviceType); + String[] arr = startTime.split("&"); + begin = arr[0]; + end = arr[1]; + +// List hourList = DateUtils.getRangeTenTimes(begin, end); + List hourList = null; + hourList.forEach(h -> { + try { + log.info("时间:"+h+"策略名称:"+stName); + //执行策略,处理设备状态 + strategyFactory.getByName(stName).doCheckProcess(industry,deviceType,DateUtils.parseDate(h, "yyyy-MM-dd HH:mm")); + } catch (ParseException e) { + log.error("日期转换异常"); + } + }); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasThresholdConfigServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasThresholdConfigServiceImpl.java new file mode 100644 index 0000000..6f3f7ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/BasThresholdConfigServiceImpl.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.impl.analysis; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.mapper.analysis.BasThresholdConfigMapper; +import cn.cecep.talroad.domain.analysis.BasThresholdConfig; +import cn.cecep.talroad.service.analysis.BasThresholdConfigService; +import org.springframework.transaction.annotation.Transactional; + +@Service("basThresholdConfigNewService") +public class BasThresholdConfigServiceImpl extends ServiceImpl implements BasThresholdConfigService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + @Transactional(rollbackFor = Exception.class) + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/ConcentrationMathServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/ConcentrationMathServiceImpl.java new file mode 100644 index 0000000..eb0975d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/ConcentrationMathServiceImpl.java @@ -0,0 +1,866 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsWaterMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsWaterMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.service.analysis.IConcentrationMathService; +import cn.cecep.talroad.util.ConcentrationConstants; +import cn.cecep.talroad.util.EmissionsConstants; +import cn.cecep.talroad.util.EmissionsUtils; +import cn.cecep.talroad.vo.analysis.*; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.text.ParseException; +import java.time.ZoneId; +import java.util.*; + + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalUnit; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; + + +/** + * 浓度计算实现类 + */ +@Service +@Slf4j +public class ConcentrationMathServiceImpl implements IConcentrationMathService { + @Resource + private PcFactoryMapper factoryMapper; + @Resource + private PcOutletMapper pcOutletMapper; + @Resource + private BMainPollDisGasMoutMapper mainPollDisGasMoutMapper; + @Resource + private BMainPollDisGasOoutMapper mainPollDisGasOoutMapper; + @Resource + private SRaOnlineEmissionsGasMapper sRaOnlineEmissionsGasMapper; + @Resource + private SEnvGasMonRealMapper sEnvGasMonRealMapper; + @Resource + private ISEnvGasMonHourService isEnvGasMonHourService; + @Resource + private ISEnvWaterMonDayService isEnvWaterMonDayService; + @Resource + private SRaHandworkEmissionsGasMapper handworkEmissionsGasMapper; + @Resource + private ISEnvWaterMonHourService isEnvWaterMonHourSerice; + @Resource + private IAmProblemFiService amProblemFiService; + @Resource + private BMainPollDisWaterMoutMapper mainPollDisWaterMoutMapper; + @Resource + private BMainPollDisWaterOoutMapper mainPollDisWaterOoutMapper; + @Autowired + private ISEnvGasRealService envGasRealService; + @Autowired + private IPcFactoryPollutantService pcFactoryPollutantService; + @Autowired + private IPcPollutantService pcPollutantService; + @Autowired + private IBMainProductionInorgGasService ibMainProductionInorgGasService; + + @Autowired + private ConcentrationConstants concentrationConstants; + + @Autowired + private ThreadPoolTaskExecutor threadPoolTaskExecutor; + + + @Autowired + private IPcOutletService pcOutletService; + /** + * 全局的报警信息数据集合 + * 当一次排放量小时计算完毕后,就批量将该数组内的数据更新进去; + * 分钟的浓度预警计算完毕后 也会使用该数组进行批量更新; + */ + List batchDataList = new CopyOnWriteArrayList(); + + Map outletStatusMap = new ConcurrentHashMap<>(); + + /** + * 大气浓度超标 + */ + @Override + @Deprecated + public void doGasPollutantHourConcentration(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List gasRealList; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + List ListOutlet = pcOutletMapper.selectPermitOutletList("1","1"); + if(ListOutlet == null && ListOutlet.size() == 0){ + log.info("没有查询到排口,终止任务"); + } + //只有排污许可企业下的排口才会被统计 + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutlet); + } + } + //查询最新小时数据 + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.HOURS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00"); + String dateStr = date.format(dateTimeFormatter); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("monitoring_time",dateStr); + queryWrapper.eq("data_type",TimeTypeEnum.HOUR.getCode()); + queryWrapper.and(wp->{ + wp.isNull("data_flag").or().notIn("data_flag",Arrays.asList("C","M","D","MD","K","P","Vgd","VGD","TD","ST","SD","B","STA","F","FA")); + }); + gasRealList = isEnvGasMonHourService.list(queryWrapper); + + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setProblemType("005002"); + amProblemFi.setType(1); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + amProblemFi.setCreateTime(new Date()); + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletList = pcOutletMap.get(factoryId); + if(pcOutletList != null && pcOutletList.size()>0){ + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutlet pcOutlet : pcOutletList) { + if (StringUtils.isNotBlank(pcOutlet.getMark())) { + //获取排口的排污许可排放量 + if(pcOutlet.getMark().equalsIgnoreCase("N")){ + SEnvGasMonHour sEnvGasMonRealIndex =null; + for (SEnvGasMonHour sEnvGasMonReal : gasRealList) { + if (sEnvGasMonReal.getOutletId().equalsIgnoreCase(pcOutlet.getId()) + &&sEnvGasMonReal.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId())) { + sEnvGasMonRealIndex = sEnvGasMonReal; + break; + } + } + if(sEnvGasMonRealIndex != null){ + List pollDisPollutantGroupVOList=null; + //从主要排口表中获取浓度限值 + if(pcOutlet.getOutletTypes().equalsIgnoreCase("1")){ + mainPollDisGasMoutMapper.selectGasOutletPermitPollutant(); + pollDisPollutantGroupVOList = mainPollDisGasMoutMapper.selectPollutantGroupList(permitEmissionsFactoryVO.getFactoryId(),permitEmissionsFactoryVO.getLicenseId(),pcOutlet.getOutletCode()); + //从一般排口获取浓度限值 + }else if (pcOutlet.getOutletTypes().equalsIgnoreCase("2")){ + pollDisPollutantGroupVOList = mainPollDisGasOoutMapper.selectPollutantGroupList(permitEmissionsFactoryVO.getFactoryId(),permitEmissionsFactoryVO.getLicenseId(),pcOutlet.getOutletCode()); + } + if(pollDisPollutantGroupVOList != null && pollDisPollutantGroupVOList.size()> 0){ + for (PollDisPollutantGroupVO pollDisPollutantGroupVO : pollDisPollutantGroupVOList) { + String methodName = concentrationConstants.getGasPollutants().get(pollDisPollutantGroupVO.getPollutantType()); + if(StringUtils.isBlank(methodName)){ + continue; + } + Class sEnvGasMonRealClass = SEnvGasMonHour.class; + Method methodGet = sEnvGasMonRealClass.getMethod("get" + methodName); + String result = (String)methodGet.invoke(sEnvGasMonRealIndex); + BigDecimal hourValue = new BigDecimal(pollDisPollutantGroupVO.getPollutantsMgHour()); + if(hourValue.compareTo(new BigDecimal(0)) <=0 || StringUtils.isBlank(result)){ + //监测值为空或者限值小于等于0,放弃计算 + continue; + } + if (new BigDecimal(result).compareTo(hourValue) >0) { + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+"的 "+pcOutlet.getOutletName()+" 排口(排口编号:"+pcOutlet.getOutletCode()+") 发生超标报警,报警因子:"+methodName+","+"排口许可浓度为:"+hourValue+",实际浓度为:"+result); + //amProblemFi.setProblemDetails(pcOutlet.getOutletName()+"于"+sEnvGasMonRealIndex.getMonitoringTime()+" "+methodName+" "+"浓度超标预警,目前累计均值超过标准值"+hourValue+"hg/m³ 90%, 可能引起"+methodName+"浓度超标"); + batchDataList.add(amProblemFi); + } + } + } + } + } + } + } + } + } + if(batchDataList.size()>0){ + amProblemFiService.saveBatch(batchDataList); + } + } + + /** + * 废气/废水 浓度超标报警 + * @param pcOutlet + * @param outletPermitPollutantVO + * @param mathEmissions + * @param alarmDate + * @param outletType + */ + @Override + public void checkExceedingTheStandard(PcOutlet pcOutlet, + OutletPermitPollutantVO outletPermitPollutantVO, + BigDecimal mathEmissions, + String alarmDate, + String outletType, + String problemCode + ) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + checkExceedingTheStandard(pcOutlet,outletPermitPollutantVO,mathEmissions,alarmDate,outletType,problemCode,null); + } + + /** + * 废气/废水 浓度超标报警 + * @param pcOutlet + * @param outletPermitPollutantVO + * @param mathEmissions + * @param alarmDate + * @param outletType + */ + @Override + public void checkExceedingTheStandard(PcOutlet pcOutlet, + OutletPermitPollutantVO outletPermitPollutantVO, + BigDecimal mathEmissions, + String alarmDate, + String outletType, + String problemCode, + String message) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + Method method = OutletPermitPollutantVO.class.getMethod("get" + outletType); + String result = (String)method.invoke(outletPermitPollutantVO); + if(StringUtils.isBlank(result) || result.equalsIgnoreCase("/")){ + //忽略空值 0值与/值 + return; + } + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(pcOutlet.getFactoryId()); + amProblemFi.setProblemSources("1"); + amProblemFi.setProblemType(problemCode); + // 监测点/排口名称 + amProblemFi.setStationName(pcOutlet.getMonitoringPointName()); + amProblemFi.setParamName(outletPermitPollutantVO.getPollutantsType()); + amProblemFi.setType(1); + amProblemFi.setStationId(pcOutlet.getId()); + amProblemFi.setAnalyseTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(alarmDate)); + if (mathEmissions.compareTo(new BigDecimal(result)) >0) { + amProblemFi.setProblemDetails(outletPermitPollutantVO.getFactoryName()+" 的 "+(StringUtils.isBlank(pcOutlet.getOutletName())?"排口":pcOutlet.getOutletName())+"(排口编号:"+pcOutlet.getOutletCode()+"),"+(StringUtils.isBlank(pcOutlet.getMonitoringPointName())?"点位":pcOutlet.getMonitoringPointName())+" 发生超标报警,报警因子:"+outletPermitPollutantVO.getPollutantsType()+","+"排口许可浓度为:"+outletPermitPollutantVO.getPollutantsMgHour()+",实际浓度为:"+mathEmissions); + if(StringUtils.isNotBlank(message)){ + amProblemFi.setProblemDetails(message); + } + Map extra = new HashMap<>(); + extra.put("pollutantCode", outletPermitPollutantVO.getPollutantCode()); // 污染因子编码 + extra.put("allowableValue", result); // 限值 + amProblemFi.setExtra(JSON.toJSONString(extra)); + amProblemFi.setParamProperty(outletPermitPollutantVO.getPollutantCode()); + + batchDataList.add(amProblemFi); + PcOutlet pcOutletAlarm = new PcOutlet(); + BeanUtils.copyProperties(pcOutlet,pcOutletAlarm); + pcOutletAlarm.setOutletStatus("报警"); + outletStatusMap.put(pcOutlet.getId(),pcOutletAlarm); + } + } + + /** + * 大气数据浓度超标 AI检出异常数据复核计算 + * @param mathDate + */ + @Override + public void doGasPollutantHourConcentrationAIReview(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取报警信息表中的AI复核数据 + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.HOURS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00"); + String dateStr = date.format(dateTimeFormatter); + String dateStrEnd = date.plus(1, ChronoUnit.HOURS).format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + dateStrEnd = LocalDateTime.parse(mathDate,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).plus(1,ChronoUnit.HOURS).format(dateTimeFormatter); + } + List list = amProblemFiService.getProblemByTypeAndTime("001006001",dateStr,dateStrEnd); + //循环处理 获取接口与排污许可 传递给超标进行计算 + for (AmProblemFi amProblemFi : list) { + String factoryId = amProblemFi.getFactoryId(); + PcFactory factory = factoryMapper.selectById(factoryId); + if(factory == null ){ + continue; + } + String stationId = amProblemFi.getStationId(); + PcOutlet outlet = pcOutletMapper.getOutletByPoint(stationId); + if(outlet == null ){ + continue; + } + List bMainPollDisGasMouts = mainPollDisGasMoutMapper.selectList(new LambdaQueryWrapper() + .eq(BMainPollDisGasMout::getFactoryId, factoryId) + .eq(BMainPollDisGasMout::getOutletCode, outlet.getOutletCode())); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",factoryId); + queryWrapper.eq("outlet_id",stationId); + queryWrapper.ge("monitoring_time",amProblemFi.getProblemStartTime()); + queryWrapper.lt("monitoring_time",amProblemFi.getProblemEndTime()); + queryWrapper.eq("data_type",TimeTypeEnum.HOUR.getCode()); + queryWrapper.and(wp->{ + wp.isNull("data_flag").or().notIn("data_flag",Arrays.asList("C","M","D","MD","K","P","Vgd","VGD","TD","ST","SD","B","STA","F","FA")); + }); + + //获取监测数据 + List realList = isEnvGasMonHourService.list(queryWrapper); + //筛选监测数据是否有该排口数据 + for (SEnvGasMonHour sEnvGasMonReal : realList) { + SEnvGasMonHour sEnvGasMonRealIndex = null; + if (StringUtils.isNotBlank(sEnvGasMonReal.getOutletId()) + && sEnvGasMonReal.getOutletId().equalsIgnoreCase(stationId) + && sEnvGasMonReal.getFactoryId().equalsIgnoreCase(factoryId)) { + sEnvGasMonRealIndex = sEnvGasMonReal; + } + if (sEnvGasMonRealIndex == null) { + //没有监测数据直接跳过,进行下一个排口检查 + continue; + } + for (Map.Entry stringStringEntry : concentrationConstants.getGasPollutants().entrySet()) { + //检查是否需要计算排放量,根据排污许可的污染因子比对 + ThreadLocal threadLocal = new ThreadLocal<>(); + for (BMainPollDisGasMout bMainPollDisGasMout : bMainPollDisGasMouts) { + if (stringStringEntry.getKey().equalsIgnoreCase(bMainPollDisGasMout.getPollutantCode())) { + OutletPermitPollutantVO outletPermitPollutantVO = new OutletPermitPollutantVO(); + BeanUtils.copyProperties(bMainPollDisGasMout, outletPermitPollutantVO); + threadLocal.set(outletPermitPollutantVO); + break; + } + } + OutletPermitPollutantVO outletPermitPollutantVO = threadLocal.get(); + if (outletPermitPollutantVO == null) { + //排污许可无该因子的限值,跳过 + continue; + } + //获取因子浓度 + Method methodConcentration = SEnvGasMonReal.class.getMethod("get" + stringStringEntry.getValue() + "Convert"); + String concentrationValue = (String) methodConcentration.invoke(sEnvGasMonRealIndex); + final String monitoringTime = sEnvGasMonRealIndex.getMonitoringTime(); + final String message = factory.getFactoryName()+"于"+amProblemFi.getProblemStartTime()+"-"+amProblemFi.getProblemEndTime()+"进行了停产标记," + + "此阶段"+(StringUtils.isBlank(outlet.getOutletName())?"排口":outlet.getOutletName())+"的"+threadLocal.get().getPollutantsType()+"于"+ + monitoringTime+"出现浓度超标(排口许可浓度值为"+threadLocal.get().getPollutantsMgHour()+",实际值:"+concentrationValue+")"; + if (StringUtils.isNotBlank(concentrationValue)) { + //把数据给到超标计算器,检查是否超标(仅在线数据会被监测) + threadPoolTaskExecutor.execute(() -> { + try { + checkExceedingTheStandard(outlet, outletPermitPollutantVO, new BigDecimal(concentrationValue), monitoringTime, "PollutantsMgHour", "003006", message); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); + } + } + } + } + insertBatch(); + } + + /** + * 执行存储,执行完毕晴空缓存 + */ + @Override + public synchronized void insertBatch(){ + if(batchDataList.size()>0){ + amProblemFiService.saveBatch(batchDataList); + batchDataList.clear(); + } + if(outletStatusMap.size() > 0){ + pcOutletService.updateBatchById(outletStatusMap.values()); + outletStatusMap.clear(); + } + } + + /** + * 水浓度超标 + */ + @Override + @Deprecated + public void doWaterPollutantDayConcentration(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List waterRealList; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + List ListOutlet = pcOutletMapper.selectPermitOutletList("2","1"); + if(ListOutlet == null && ListOutlet.size() == 0){ + log.info("没有查询到排口,终止任务"); + } + //只有排污许可企业下的排口才会被统计 + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutlet); + } + } + //查询最新日数据 + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.DAYS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"); + String dateStr = date.format(dateTimeFormatter); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("monitoring_time",dateStr); + queryWrapper.eq("data_type",TimeTypeEnum.DAY.getCode()); + queryWrapper.and(wp->{ + wp.isNull("data_flag").or().notIn("data_flag",Arrays.asList("C","M","D","MD","K","P","Vgd","VGD","TD","ST","SD","B","STA","F","FA")); + }); + + waterRealList = isEnvWaterMonDayService.list(queryWrapper); + + List batchDataList = new CopyOnWriteArrayList(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setType(1); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setProblemType("005002"); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletList = pcOutletMap.get(factoryId); + if(pcOutletList != null && pcOutletList.size()>0){ + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutlet pcOutlet : pcOutletList) { + if (StringUtils.isNotBlank(pcOutlet.getMark())) { + //获取排口的排污许可排放量 + if(pcOutlet.getMark().equalsIgnoreCase("N")){ + SEnvWaterMonDay sEnvWaterMonRealIndex =null; + for (SEnvWaterMonDay sEnvWaterMonReal : waterRealList) { + if (sEnvWaterMonReal.getOutletId().equalsIgnoreCase(pcOutlet.getId()) + &&sEnvWaterMonReal.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId())) { + sEnvWaterMonRealIndex = sEnvWaterMonReal; + break; + } + } + if(sEnvWaterMonRealIndex != null){ + List pollDisPollutantGroupVOList=null; + //从主要排口表中获取浓度限值 + if(pcOutlet.getOutletTypes().equalsIgnoreCase("1")){ + pollDisPollutantGroupVOList = mainPollDisWaterMoutMapper.selectPollutantGroupList(permitEmissionsFactoryVO.getFactoryId(),permitEmissionsFactoryVO.getLicenseId(),pcOutlet.getOutletCode()); + //从一般排口获取浓度限值 + }else if (pcOutlet.getOutletTypes().equalsIgnoreCase("2")){ + pollDisPollutantGroupVOList = mainPollDisWaterOoutMapper.selectPollutantGroupList(permitEmissionsFactoryVO.getFactoryId(),permitEmissionsFactoryVO.getLicenseId(),pcOutlet.getOutletCode()); + } + if(pollDisPollutantGroupVOList != null && pollDisPollutantGroupVOList.size()> 0){ + for (PollDisPollutantGroupVO pollDisPollutantGroupVO : pollDisPollutantGroupVOList) { + String methodName = concentrationConstants.getWaterPollutants().get(pollDisPollutantGroupVO.getPollutantType()); + if(StringUtils.isBlank(methodName)){ + continue; + } + Class sEnvWaterMonRealClass = SEnvWaterMonDay.class; + Method methodGet = sEnvWaterMonRealClass.getMethod("get" + methodName); + String result = (String)methodGet.invoke(sEnvWaterMonRealIndex); + BigDecimal mgRate = new BigDecimal(pollDisPollutantGroupVO.getPollutantsMgRate()); + if(mgRate.compareTo(new BigDecimal(0)) <=0 || StringUtils.isBlank(result)){ + //监测值为空或者限值小于等于0 跳过计算 + continue; + } + if (new BigDecimal(result).compareTo(mgRate) >0) { + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+"的 "+pcOutlet.getOutletName()+" 排口(排口编号:"+pcOutlet.getOutletCode()+") 发生超标报警,报警因子:"+methodName+","+"排口许可浓度为:"+mgRate+",实际浓度为:"+result); + batchDataList.add(amProblemFi); + } + } + } + } + } + } + } + } + } + if(batchDataList.size()>0){ + amProblemFiService.saveBatch(batchDataList); + } + } + /** + * 大气浓度预警 + */ + @Override + public void doGasPollutantHourConcentrationAlarm(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List gasRealList; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null || permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + return; + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + List ListOutlet = pcOutletMapper.selectPermitOutletList("1","1"); + List outletStatusList = new ArrayList<>(); + if(ListOutlet == null || ListOutlet.size() == 0){ + log.info("没有查询到排口,终止任务"); + return; + } + //只有排污许可企业下的排口监测点位才会被统计 + //从排口表中获取浓度限值 + List outletPermitPollutantVOS = mainPollDisGasMoutMapper.selectGasOutletPermitPollutant(); + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + //初始化排口污染因子复合实体 + PcOutletPermitPollutantVO pcOutletPermitPollutantVO = new PcOutletPermitPollutantVO(pcOutlet.getOutletCode(), pcOutlet.getFactoryId(), pcOutlet, new HashMap<>()); + for (OutletPermitPollutantVO outletPermitPollutantVO : outletPermitPollutantVOS) { + if (outletPermitPollutantVO.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId()) + && outletPermitPollutantVO.getOutletCode().equalsIgnoreCase(pcOutlet.getOutletCode())) { + pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().put(outletPermitPollutantVO.getPollutantCode(),outletPermitPollutantVO); + } + } + //装载实体 + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutletPermitPollutantVO); + } + } + //查询当前小时的所有分钟数据,做平均值后返回 + LocalDateTime date = LocalDateTime.now().minus(10,ChronoUnit.MINUTES); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:00"); + String dateStr = date.format(dateTimeFormatter); + String dateStrEnd = LocalDateTime.now().format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + dateStrEnd = LocalDateTime.parse(mathDate,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).plus(10,ChronoUnit.MINUTES).format(dateTimeFormatter); + } + gasRealList = sEnvGasMonRealMapper.selectAvgDataForHour(dateStr,dateStrEnd); + List batchDataList = new CopyOnWriteArrayList(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletPermitPollutantVOS = pcOutletMap.get(factoryId); + if(pcOutletPermitPollutantVOS != null && pcOutletPermitPollutantVOS.size()>0){ + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutletPermitPollutantVO pcOutletPermitPollutantVO : pcOutletPermitPollutantVOS) { + boolean isAlarm = false; + //获取排口的排污许可排放量 + SEnvGasMonReal sEnvGasMonRealIndex =null; + for (SEnvGasMonReal sEnvGasMonReal : gasRealList) { + if (sEnvGasMonReal.getOutletId().equalsIgnoreCase(pcOutletPermitPollutantVO.getPcOutlet().getId()) + &&sEnvGasMonReal.getFactoryId().equalsIgnoreCase(pcOutletPermitPollutantVO.getFactoryId())) { + sEnvGasMonRealIndex = sEnvGasMonReal; + break; + } + } + if(sEnvGasMonRealIndex != null){ + for (Map.Entry stringStringEntry : concentrationConstants.getGasPollutants().entrySet()) { + OutletPermitPollutantVO outletPermitPollutantVO = pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().get(stringStringEntry.getKey()); + if(outletPermitPollutantVO == null){ + continue; + } + if(StringUtils.isBlank(outletPermitPollutantVO.getPollutantsMgHour()) || outletPermitPollutantVO.getPollutantsMgHour().equalsIgnoreCase("/")){ + continue; + } + Class sEnvGasMonRealClass = SEnvGasMonReal.class; + Method methodGet = sEnvGasMonRealClass.getMethod("get" + stringStringEntry.getValue()+"Convert"); + String result = (String)methodGet.invoke(sEnvGasMonRealIndex); + //浓度限值 + BigDecimal hourConvert = new BigDecimal(StringUtils.isBlank(result)?"0":result); + BigDecimal hourValue = new BigDecimal(StringUtils.isBlank(outletPermitPollutantVO.getPollutantsMgHour())?"0":outletPermitPollutantVO.getPollutantsMgHour()); + if(hourConvert.compareTo(hourValue)>0){ + //超标不计算 + continue; + } + if(hourValue.compareTo(new BigDecimal(0)) <=0 || StringUtils.isBlank(result)){ + //监测值为空或者限值小于等于0停止计算 + continue; + } + if (hourConvert + .divide(hourValue,2, RoundingMode.HALF_DOWN) + .multiply(BigDecimal.valueOf(100)).compareTo(new BigDecimal(90)) >=0) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("1"); + // 监测点/排口名称 + amProblemFi.setStationName(pcOutletPermitPollutantVO.getPcOutlet().getStationName()); + amProblemFi.setParamName(outletPermitPollutantVO.getPollutantsType()); + amProblemFi.setProblemType("003003"); + amProblemFi.setType(0); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setStationId(pcOutletPermitPollutantVO.getPcOutlet().getId()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + amProblemFi.setAnalyseTime(simpleDateFormat.parse(dateStr)); + amProblemFi.setAnalyseTimeEnd(simpleDateFormat.parse(dateStrEnd)); + amProblemFi.setProblemStartTime(dateStr); + amProblemFi.setProblemEndTime(dateStrEnd); + amProblemFi.setParamProperty(outletPermitPollutantVO.getPollutantCode()); + //amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+"的 "+(StringUtils.isBlank(pcOutletPermitPollutantVO.getPcOutlet().getOutletName())?"":pcOutletPermitPollutantVO.getPcOutlet().getOutletName())+" 排口(排口编号:"+(StringUtils.isBlank(pcOutletPermitPollutantVO.getOutletCode())?"":pcOutletPermitPollutantVO.getOutletCode())+") 发生浓度预警,报警因子:"+outletPermitPollutantVO.getPollutantsType()+","+"排口许可小时限值为:"+hourValue+",当前小时平均浓度为:"+result); + amProblemFi.setProblemDetails((StringUtils.isBlank(pcOutletPermitPollutantVO.getPcOutlet().getOutletName())?"":pcOutletPermitPollutantVO.getPcOutlet().getOutletName())+"于"+dateStr+" "+outletPermitPollutantVO.getPollutantsType()+" "+"浓度超标预警,目前累计均值超过标准值"+hourValue+"mg/m³ 90%, 可能引起"+outletPermitPollutantVO.getPollutantsType()+"浓度超标"); + amProblemFi.setPollutantSourceAi("1"); + Map extra = new HashMap<>(); + extra.put("pollutantCode", outletPermitPollutantVO.getPollutantCode()); // 污染因子编码 + extra.put("allowableValue", hourValue); // 限值 + amProblemFi.setExtra(JSON.toJSONString(extra)); + + batchDataList.add(amProblemFi); + isAlarm = true; + } + } + } + //排口状态修改 + if(isAlarm){ + PcOutlet pcOutlet = new PcOutlet(); + BeanUtils.copyProperties(pcOutletPermitPollutantVO.getPcOutlet(),pcOutlet); + pcOutlet.setOutletStatus("报警"); + outletStatusList.add(pcOutlet); + } + } + } + } + if(batchDataList.size()>0){ + amProblemFiService.saveBatch(batchDataList); + } + if(outletStatusList.size() >0){ + pcOutletService.updateBatchById(outletStatusList); + } + } + /** + * 水浓度预警 + */ + @Override + public void doWaterPollutantDayConcentrationAlarm(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List gasRealList; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + List ListOutlet = pcOutletMapper.selectPermitOutletList("2","1"); + List outletStatusList = new ArrayList<>(); + List outletPermitPollutantVOS = mainPollDisWaterMoutMapper.selectWaterOutletPermitPollutant(); + if(outletPermitPollutantVOS == null && outletPermitPollutantVOS.size() == 0){ + log.info("没有查询到排口,终止任务"); + } + //只有排污许可企业下的排口才会被统计 + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + //初始化排口污染因子复合实体 + PcOutletPermitPollutantVO pcOutletPermitPollutantVO = new PcOutletPermitPollutantVO(pcOutlet.getOutletCode(), pcOutlet.getFactoryId(), pcOutlet, new HashMap<>()); + for (OutletPermitPollutantVO outletPermitPollutantVO : outletPermitPollutantVOS) { + if (outletPermitPollutantVO.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId()) + && outletPermitPollutantVO.getOutletCode().equalsIgnoreCase(pcOutlet.getOutletCode())) { + pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().put(outletPermitPollutantVO.getPollutantCode(),outletPermitPollutantVO); + } + } + //装载实体 + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutletPermitPollutantVO); + } + } + //查询 + LocalDateTime date = LocalDateTime.now(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"); + String dateStr = date.format(dateTimeFormatter); + gasRealList = isEnvWaterMonHourSerice.selectAvgDataForDay(dateStr); + List batchDataList = new CopyOnWriteArrayList(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletPermitPollutantVOS = pcOutletMap.get(factoryId); + if(pcOutletPermitPollutantVOS != null && pcOutletPermitPollutantVOS.size()>0) { + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutletPermitPollutantVO pcOutletPermitPollutantVO : pcOutletPermitPollutantVOS) { + boolean isAlarm = false; + SEnvWaterMonHour sEnvWaterMonRealIndex =null; + for (SEnvWaterMonHour sEnvWaterMonReal : gasRealList) { + if (sEnvWaterMonReal.getOutletId().equalsIgnoreCase(pcOutletPermitPollutantVO.getPcOutlet().getId()) + &&sEnvWaterMonReal.getFactoryId().equalsIgnoreCase(factoryId)) { + sEnvWaterMonRealIndex = sEnvWaterMonReal; + break; + } + } + if(sEnvWaterMonRealIndex != null){ + //从主要排口表中获取浓度限值 + for (Map.Entry stringStringEntry : concentrationConstants.getWaterPollutants().entrySet()) { + OutletPermitPollutantVO outletPermitPollutantVO = pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().get(stringStringEntry.getKey()); + if(outletPermitPollutantVO == null){ + continue; + } + if(StringUtils.isBlank(outletPermitPollutantVO.getPollutantsMgHour()) || outletPermitPollutantVO.getPollutantsMgHour().equalsIgnoreCase("/")){ + continue; + } + String methodName = stringStringEntry.getValue(); + Class sEnvWaterMonRealClass = SEnvWaterMonHour.class; + Method methodGet = sEnvWaterMonRealClass.getMethod("get" + methodName); + String result = (String)methodGet.invoke(sEnvWaterMonRealIndex); + //浓度限值 + BigDecimal mgRate = new BigDecimal(outletPermitPollutantVO.getPollutantsMgRate() == null?"0":outletPermitPollutantVO.getPollutantsMgRate()); + if(mgRate.compareTo(new BigDecimal(0)) <=0 || StringUtils.isBlank(result)){ + //监测值为空或者限值小于等于0停止计算 + continue; + } + if(new BigDecimal(result).compareTo(mgRate)>0){ + //超标不计算 + continue; + } + if (new BigDecimal(result) + .divide(mgRate,2, RoundingMode.HALF_DOWN) + .multiply(BigDecimal.valueOf(100)).compareTo(new BigDecimal(80)) >=0) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("1"); + amProblemFi.setProblemType("003003"); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setType(0); + amProblemFi.setAnalyseTime(Date.from(date.atZone(ZoneId.systemDefault()).toInstant())); + amProblemFi.setProblemStartTime(dateStr); + amProblemFi.setProblemEndTime(dateStr); + amProblemFi.setParamProperty(stringStringEntry.getKey()); + amProblemFi.setPollutantSourceAi("2"); + //amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+"的 "+pcOutletPermitPollutantVO.getPcOutlet().getOutletName()+" 排口(排口编号:"+pcOutletPermitPollutantVO.getOutletCode()+") 发生排放预警,报警因子:"+methodName+","+"排口许可限值为:"+mgRate+",当前小时平均速率为:"+result); + amProblemFi.setProblemDetails((StringUtils.isBlank(pcOutletPermitPollutantVO.getPcOutlet().getOutletName())?"":pcOutletPermitPollutantVO.getPcOutlet().getOutletName())+"于"+dateStr+" "+outletPermitPollutantVO.getPollutantsType()+" "+"浓度超标预警,目前累计均值超过标准值"+mgRate+"mg/L 80%, 可能引起"+outletPermitPollutantVO.getPollutantsType()+"浓度超标"); + amProblemFi.setStationId(pcOutletPermitPollutantVO.getPcOutlet().getId()); + amProblemFi.setStationName(pcOutletPermitPollutantVO.getPcOutlet().getOutletName()); + Map extra = new HashMap<>(); + extra.put("pollutantCode", stringStringEntry.getKey()); // 污染因子编码 + extra.put("allowableValue", mgRate); // 限值 + amProblemFi.setExtra(JSON.toJSONString(extra)); + + batchDataList.add(amProblemFi); + } + } + } + //排口状态修改 + if(isAlarm){ + PcOutlet pcOutletAlarm = new PcOutlet(); + BeanUtils.copyProperties(pcOutletPermitPollutantVO.getPcOutlet(),pcOutletAlarm); + pcOutletAlarm.setOutletStatus("报警"); + outletStatusList.add(pcOutletAlarm); + } + } + } + } + if(batchDataList.size()>0){ + amProblemFiService.saveBatch(batchDataList); + } + } + + + @Override + public void doGasOverStandAlarmAndWarn(boolean flag) { + // 查询的表及逻辑不对,暂不处理,后续开发 + // 查询所有无组织排放排口 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("pollutant_type","3"); + queryWrapper.eq("pollutant_outlet_type","3"); + List list = pcOutletMapper.selectList(queryWrapper); + list.forEach(p ->{ + Date curr = new Date(); + Date lastHour = DateUtils.addHours(curr,-1); + String lastHourBegin = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",lastHour); + QueryWrapper gasQueryWrapper = new QueryWrapper<>(); + gasQueryWrapper.eq("outlet_id",p.getId()); + gasQueryWrapper.eq("data_type",TimeTypeEnum.HOUR.getCode()); + gasQueryWrapper.eq("monitoring_time",lastHourBegin); + SEnvGasReal hourData = envGasRealService.getOne(gasQueryWrapper); + + // 根据企业id,排口id查询,该排口企业污染物 + QueryWrapper pollutantQueryWrapper = new QueryWrapper<>(); + pollutantQueryWrapper.eq("factory_id",p.getFactoryId()); + pollutantQueryWrapper.eq("outlet_id",p.getId()); + List pList = pcFactoryPollutantService.list(pollutantQueryWrapper); + pList.forEach(pollutant ->{ + PcPollutant pcPollutant = pcPollutantService.getById(pollutant.getPollutantId()); + if(flag){ + doGasOverStandAlarm(pollutant.getFactoryId(),hourData,pcPollutant); + }else{ + doGasStandWarn(pollutant.getFactoryId(),hourData,pcPollutant); + } + }); + }); + } + + + + /** + * + * @param factoryId + * @param hourData + * @param pcPollutant + */ + private void doGasOverStandAlarm(String factoryId,SEnvGasReal hourData, PcPollutant pcPollutant) { + + if(hourData!=null&& pcPollutant!=null){ + // 甲烷 + if("A05002".equalsIgnoreCase(pcPollutant.getPollCode())){ + //ch4 + if(Double.valueOf(hourData.getCh4())>Double.valueOf(pcPollutant.getExecutiveStandard())){ + //甲烷超标,保存报警数据 + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setFactoryId(factoryId); + problemFi.setStationId(hourData.getOutletId()); + problemFi.setStationName(hourData.getStationName()); + problemFi.setProblemSources("1"); + problemFi.setProblemType(ProblemTypeEnum.OVER_STAND.getCode()); + problemFi.setCreateTime(new Date()); + amProblemFiService.save(problemFi); + } + } + //A25003 甲苯 + if("A25003".equalsIgnoreCase(pcPollutant.getPollCode())){ + + } + //A25002 苯 + if("A25002".equalsIgnoreCase(pcPollutant.getPollCode())){ + + } + //总烃?? + if("A99918".equalsIgnoreCase(pcPollutant.getPollCode())){ + + } + //tsp ?? + //NMHC ?? + //A34001 pm10 ?? + //A34002 pm2.5 ?? + + } + } + + public void doGasStandWarn(String factoryId,SEnvGasReal hourData, PcPollutant pcPollutant) { + + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DataLogicAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DataLogicAnalysisServiceImpl.java new file mode 100644 index 0000000..80b069a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DataLogicAnalysisServiceImpl.java @@ -0,0 +1,367 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.service.analysis.IDataLogicAnalysisService; +import cn.cecep.talroad.utils.ThrFunction; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.SimpleCache; +import cn.hutool.core.util.ReflectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import io.micrometer.core.instrument.util.StringUtils; +import lombok.Builder; +import lombok.Getter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Service +public class DataLogicAnalysisServiceImpl implements IDataLogicAnalysisService { + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IMonElecRealService monElecRealService; + @Autowired + private IBasDeviceSiteService basDeviceSiteService; + @Autowired + private IPcOutletService pcOutletService; + @Autowired + private IOdsMeshingShStationHourIService meshingShStationHourIService; + @Autowired + private IOdsMeshingWeiStationHourIService meshingWeiStationHourIService; + + @Override + public void analysisElecRealDataLogic() { + //dataType = 2 表示需要分析 分表计电 + String dataType = "2"; + Function paramFunc = (deviceId) -> { + //查询所有需要分析 网格化 的设备对应的字段 + List basParamList = getBasDeviceParam(null,dataType,null); + return basParamList; + }; + ThrFunction> queryData = (deviceId,lastHourBegin,lastHourEnd) -> { + //设备对应的点位 因为is_stat = 1 的只有一个 + Optional deviceSiteOpt = basDeviceSiteService.lambdaQuery() + .eq(BasDeviceSite::getDeviceId, deviceId) + .eq(BasDeviceSite::getIsStat, "1") + .oneOpt(); + if(deviceSiteOpt.isPresent()) { + //设备点位信息 + BasDeviceSite deviceSite = deviceSiteOpt.get(); + //设备点位的对应当前时间段数据 + List elecReals = monElecRealService.lambdaQuery() + .eq(MonElecReal::getDeviceSiteId,deviceSite.getId()) + .ge(MonElecReal::getDataTime, lastHourBegin) + .lt(MonElecReal::getDataTime, lastHourEnd) + .orderByAsc(MonElecReal::getDataTime) + .list(); + return elecReals; + } + return new ArrayList<>(); + }; + + Function dataTime1 = (t) -> t.getDataTime(); + + analysisDataLogic(MonElecReal.class,queryData,paramFunc,dataTime1); + } + @Override + public void analysisMeshingDataLogic(){ + //dataType = 5 表示需要分析 网格化 + String dataType = "5"; + Function paramFunc = (deviceId) -> { + //查询所有需要分析 网格化 的设备对应的字段 + List basParamList = getBasDeviceParam(null,dataType,null); + return basParamList; + }; + ThrFunction> queryData1 = (deviceId,lastHourBegin,lastHourEnd) -> { + //设备对应的点位 + List pcOutletList = pcOutletService.selectByDevice(deviceId); + //不存在启用的点位 + if(pcOutletList != null&&pcOutletList.size()>0) { + List elecReals = new ArrayList<>(); + pcOutletList.forEach(pcOutlet -> { + //设备点位的对应当前时间段数据 + List odsList = meshingShStationHourIService.lambdaQuery() + .eq(OdsMeshingShStationHourI::getStationId,pcOutlet.getStationId()) + .ge(OdsMeshingShStationHourI::getReceiveTime, lastHourBegin) + .lt(OdsMeshingShStationHourI::getReceiveTime, lastHourEnd) + .orderByAsc(OdsMeshingShStationHourI::getReceiveTime) + .list(); + elecReals.addAll(odsList); + }); + return elecReals; + } + return new ArrayList<>(); + }; + ThrFunction> queryData2 = (deviceId,lastHourBegin,lastHourEnd) -> { + //设备对应的点位 + List pcOutletList = pcOutletService.selectByDevice(deviceId); + //不存在启用的点位 + if(pcOutletList != null&&pcOutletList.size()>0) { + List elecReals = new ArrayList<>(); + pcOutletList.forEach(pcOutlet -> { + //设备点位的对应当前时间段数据 + List odsList = meshingWeiStationHourIService.lambdaQuery() + .eq(OdsMeshingWeiStationHourI::getStationId,pcOutlet.getStationId()) + .ge(OdsMeshingWeiStationHourI::getReceiveTime, lastHourBegin) + .lt(OdsMeshingWeiStationHourI::getReceiveTime, lastHourEnd) + .orderByAsc(OdsMeshingWeiStationHourI::getReceiveTime) + .list(); + elecReals.addAll(odsList); + }); + + return elecReals; + } + return new ArrayList<>(); + }; + + Function dataTime1 = (t) -> { + String receiveTime = t.getReceiveTime(); + if(receiveTime != null){ + LocalDateTime localDateTime = DateUtil.parseLocalDateTime(receiveTime); + Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); + return date; + } + return null; + }; + Function dataTime2 = (t) -> { + String receiveTime = t.getReceiveTime(); + if(receiveTime != null){ + LocalDateTime localDateTime = DateUtil.parseLocalDateTime(receiveTime); + Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); + return date; + } + return null; + }; + + analysisDataLogic(OdsMeshingShStationHourI.class,queryData1,paramFunc,dataTime1); + analysisDataLogic(OdsMeshingWeiStationHourI.class,queryData2,paramFunc,dataTime2); + } + + /** + * 查询所有需要分析的设备对应的字段 + * @param deviceId + * @param dataType + * @param codeList + * @return + */ + private List getBasDeviceParam(String deviceId,String dataType,List codeList){ + //查询所有需要分析 分表计电 的设备对应的字段 + List basParamList = basDeviceParamService.selectBasDeviceParamByAnalyse(deviceId,dataType,codeList); + return basParamList; + } + + private void analysisDataLogic(Class clazz, + ThrFunction> deviceData, + Function> paramFunc, + Function dateTime + ) { + Date curr = new Date(); + Date lastHour = DateUtils.addDateHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.S01.getCode()); + //配置的数据缺失条数 + int threshold = config.getThresholdValue().intValue(); + Map> deviceParams = new HashMap<>(); + List basParamList = paramFunc.apply(null); + SimpleCache getMethodCache = new SimpleCache<>(); + //按 设备id 分组查询结果, 便于按设备分析数据 + for (BasDeviceParamVo basDeviceParamVo : basParamList) { + //缓存 反射的get方法 + String paramCodeSvc = basDeviceParamVo.getParamCodeSvc(); + Method getMethod = getMethodCache.get(paramCodeSvc,()->{ + String methodName = "get"+StrUtil.upperFirst(paramCodeSvc); + Method method = ReflectUtil.getMethodByNameIgnoreCase(clazz, methodName); + return method; + }); + //如果类不存在 这个字段 ,则不分析,只打印报警信息 + if(getMethod == null){ + continue; + } + String deviceId = basDeviceParamVo.getDeviceId(); + List paramList = deviceParams.get(deviceId); + if(paramList == null){ + paramList = new ArrayList<>(); + deviceParams.put(deviceId,paramList); + } + paramList.add(basDeviceParamVo); + } + List alarmList = new ArrayList<>(); + //按设备 分析数据 + for (String deviceId : deviceParams.keySet()) { + //设备对应的参数列表 + List paramList = deviceParams.get(deviceId); + //设备点位的对应当前时间段数据 + List dataList = deviceData.apply(deviceId, lastHourBegin, lastHourEnd); + Map alarmMap = new HashMap<>(); + for (T data : dataList) { + for (BasDeviceParamVo basDeviceParamVo : paramList) { + if(StringUtils.isEmpty(basDeviceParamVo.getParamName())){ + continue; + } + String paramId = basDeviceParamVo.getParamId(); + String paramCodeSvc = basDeviceParamVo.getParamCodeSvc(); + String paramName = basDeviceParamVo.getParamName(); + Method getMethod = getMethodCache.get(paramCodeSvc); + if(getMethod == null){ + continue; + } + Object fieldValue = ReflectUtil.invoke(data, getMethod); + BigDecimal fieldValueB; + if(fieldValue == null){ + fieldValueB = new BigDecimal(0); + }else{ + fieldValueB = new BigDecimal(String.valueOf(fieldValue)); + } + //数据异常 + Alarm alarm = alarmMap.get(paramId); + BigDecimal minValue = basDeviceParamVo.getMinValue(); + BigDecimal maxValue = basDeviceParamVo.getMaxValue(); + if(fieldValueB.compareTo(minValue) < 0 || fieldValueB.compareTo(maxValue) > 0 ){ + if(alarm == null){ + //TODO ?会否出现数据异常是前几条是超上限,后几条是超下限 + alarm = Alarm.builder().threshold(threshold).deviceId(deviceId) + .paramId(paramId) + .paramName(paramName) + .paramCodeSvc(paramCodeSvc) + .minValue(String.valueOf(minValue)) + .maxValue(String.valueOf(maxValue)) + .build(); + alarmMap.put(paramId,alarm); + } + alarm.increase().setTime(dateTime.apply(data)); + }else{ //数据正常 + //如果有异常信息且符合生成警报条件 + if(alarm != null && alarm.isAlarm()){ + alarmList.add(alarm); + //清除异常信息 + } + alarmMap.remove(paramId); + } + } + } + //剩余未处理的警报信息 + alarmList.addAll(alarmMap.values().stream().filter((item) -> item != null && item.isAlarm()).collect(Collectors.toList())); + alarmMap.clear(); + } + List amProblemFiList = new ArrayList<>(); + for (Alarm alarm : alarmList) { + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(alarm.getDeviceId()); + if(vo != null){ + //(设备名称)(参数名称)于“报警开始时间(年月日时分)至报警结束时间(年月日时分)”出现数据连续逻辑异常情况,超出数据估计值范围(下限-上限)。 + String startTimeStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, alarm.getStartTime()); + String endTimeStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, alarm.getEndTime()); + String msg = vo.getDeviceName() + "-" + alarm.paramName + + "-于报警开始时间(" + startTimeStr + ")至报警结束时间(" + endTimeStr + + ")出现数据连续逻辑异常情况,超出数据估计值范围(" + + alarm.minValue + "-" + alarm.maxValue + ")"; + AmProblemFi problemFi = doProcessAlaram(vo, curr, new Date(), + ProblemTypeEnum.DATA_LOGIC, msg, alarm.paramName, + alarm.paramCodeSvc); + amProblemFiList.add(problemFi); + } + } + // 批量保存报警 + this.doSaveBatchAlarm(amProblemFiList); + } + + @Getter + @Builder + public static class Alarm{ + private String deviceId; + private String paramId; + private String paramName; + private String paramCodeSvc; + private int count = 0; + private Date startTime; + private Date endTime; + private String minValue; + private String maxValue; + private int threshold; + + public boolean isAlarm(){ + return count >= threshold; + } + public Alarm increase(){ + this.count += 1; + return this; + } + public Alarm setTime(Date time){ + if(this.count == 1){ + this.startTime = time; + }else{ + this.endTime = time; + } + return this; + } + } + + /** + * 生成报警数据 + * @param vo + * @param start + * @param end + * @param problemType + * @param msg + * @param param + * @param paramProperty + * @return + */ + private AmProblemFi doProcessAlaram(FactoryDeviceVo vo, Date start, Date end, ProblemTypeEnum problemType, String msg,String param ,String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setProblemSources("1"); + problemFi.setFactoryId(vo.getFactoryId()); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(vo.getDeviceId()); + problemFi.setStationName(vo.getDeviceName()); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setParamProperty(paramProperty); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",vo.getDeviceId()); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + + /** + * 批量保存报警 + * @param list + */ + private void doSaveBatchAlarm(List list){ + if(list!=null&&list.size()>0) { + amProblemFiService.saveBatch(list); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DischargeMathServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DischargeMathServiceImpl.java new file mode 100644 index 0000000..f94017f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/DischargeMathServiceImpl.java @@ -0,0 +1,1682 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.enums.InvalidStateEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.StopTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.WhiteListTypeEnum; +import cn.cecep.talroad.mapper.*; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsWaterMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsGasMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsWaterMapper; +import cn.cecep.talroad.mapper.analysis.SRaSelfMonitoringDataMapper; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.IBMainPollDisGasMoutService; +import cn.cecep.talroad.service.IOdsOnlineOlPortinfoAService; +import cn.cecep.talroad.service.IOdsOnlineOlPsWhitelistAService; +import cn.cecep.talroad.service.IOdsOnlineOlStopinfoAService; +import cn.cecep.talroad.service.IPcControlRequirementsService; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.service.ISEnvGasMonRealService; +import cn.cecep.talroad.service.ISEnvWaterMonDayService; +import cn.cecep.talroad.service.ISEnvWaterMonHourService; +import cn.cecep.talroad.service.ISEnvWaterMonRealService; +import cn.cecep.talroad.service.analysis.IConcentrationMathService; +import cn.cecep.talroad.service.analysis.IDischargeMathService; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsGasService; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsWaterService; +import cn.cecep.talroad.util.EmissionsConstants; +import cn.cecep.talroad.util.EmissionsUtils; +import cn.cecep.talroad.vo.analysis.*; +import cn.hutool.core.collection.ListUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.Format; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; + +import static org.apache.xmlbeans.impl.store.Public2.test; + +/** + * 排放量计算服务实现类 + */ +@Service +@Slf4j +public class DischargeMathServiceImpl implements IDischargeMathService { + + @Autowired + private EmissionsConstants emissionsConstants; + @Autowired + private ThreadPoolTaskExecutor threadPoolTaskExecutor; + + @Autowired + private ISRaOnlineEmissionsGasService sRaOnlineEmissionsGasService; + + @Autowired + private ISRaOnlineEmissionsWaterService sRaOnlineEmissionsWaterService; + + @Resource + private PcFactoryMapper factoryMapper; + + @Resource + private PcOutletMapper pcOutletMapper; + + @Resource + private BMainPollDisGasMoutMapper mainPollDisGasMoutMapper; + + @Resource + private SRaOnlineEmissionsGasMapper sRaOnlineEmissionsGasMapper; + + @Resource + private SRaOnlineEmissionsWaterMapper sRaOnlineEmissionsWaterMapper; + @Autowired + private ISEnvGasMonRealService isEnvGasMonRealService; + + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + + @Autowired + private SRaSelfMonitoringDataMapper sRaSelfMonitoringDataMapper; + + @Resource + private ISEnvWaterMonRealService isEnvWaterMonRealService; + + @Resource + private ISEnvWaterMonHourService isEnvWaterMonHourService; + + @Resource + private BMainPollDisWaterMoutMapper mainPollDisWaterMoutMapper; + + @Resource + private BMainEmissionPollutionWaterMapper bMainEmissionPollutionWaterMapper; + + @Resource + private BMainEmissionPollutionAirMapper bMainEmissionPollutionAirMapper; + + @Resource + private BMainAllowablePollutionAirMapper bMainAllowablePollutionAirMapper; + + @Resource + private BMainAllowablePollutionWaterMapper bMainAllowablePollutionWaterMapper; + + @Resource + private IAmProblemFiService amProblemFiService; + + @Autowired + private IConcentrationMathService concentrationMathService; + @Autowired + private IOdsOnlineOlStopinfoAService odsOnlineOlStopinfoAService; + @Autowired + private ISEnvWaterMonDayService isEnvWaterMonDayService; + @Autowired + private IPcControlRequirementsService pcControlRequirementsService; + + + private List problemList = new CopyOnWriteArrayList<>(); + + + + /** + * 大气污染物在线小时排放量 + * @version 1.0 + */ + @Override + public void doGasPollutantHourDischarge(String mathDate) throws ParseException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { + + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List gasRealList; + //查询企业缓存 +// if (StringUtils.isNotBlank(redisService.getCacheObject("selectPermitEmissionsFactoryList"))){ +// permitEmissionsFactoryVOS = JSONObject.parseArray(redisService.getCacheObject("selectPermitEmissionsFactoryList"),PermitEmissionsFactoryVO.class); +// }else{ +// permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); +// String data = JSONObject.toJSONString(permitEmissionsFactoryVOS); +// redisService.setCacheObject("selectPermitEmissionsFactoryList",data); +// } + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + return; + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + //查询排口缓存 +// if (StringUtils.isNotBlank(redisService.getCacheObject("selectPermitEmissionsFactoryList"))){ +// pcOutletMap = JSONObject.parseObject(redisService.getCacheObject("selectPermitEmissionsFactoryList"), +// Map.class); +// }else{ +// pcOutletMap = new ConcurrentHashMap<>(); +// List ListOutlet = pcOutletMapper.selectPermitOutletList("1","1"); +// for (PcOutlet pcOutlet : ListOutlet) { +// if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { +// pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutlet); +// }else{ +// pcOutletMap.put(pcOutlet.getFactoryId(), Arrays.asList(pcOutlet)); +// } +// } +// String data = JSONObject.toJSONString(permitEmissionsFactoryVOS); +// redisService.setCacheObject("selectPermitEmissionsFactoryList",data); +// } + //查询排口下的所有监测点位信息 + List ListOutlet = pcOutletMapper.selectPermitOutletList("1","1"); + if(ListOutlet == null && ListOutlet.size() == 0){ + log.info("没有查询到排口的监测点位,终止任务"); + return; + } + //获取需要计算排放量的排口因子列表 + List outletPermitPollutantVOS = mainPollDisGasMoutMapper.selectGasOutletPermitPollutant(); + //只有排污许可企业下的排口监测点位才会被统计 + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + //初始化排口污染因子复合实体 + PcOutletPermitPollutantVO pcOutletPermitPollutantVO = new PcOutletPermitPollutantVO(pcOutlet.getOutletCode(), pcOutlet.getFactoryId(), pcOutlet, new HashMap<>()); + for (OutletPermitPollutantVO outletPermitPollutantVO : outletPermitPollutantVOS) { + if (outletPermitPollutantVO.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId()) + && outletPermitPollutantVO.getOutletCode().equalsIgnoreCase(pcOutlet.getOutletCode())) { + pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().put(outletPermitPollutantVO.getPollutantCode(),outletPermitPollutantVO); + } + } + //装载实体 + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutletPermitPollutantVO); + } + } + //查询最新小时数据 + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.HOURS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:00"); + String dateStr = date.format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("monitoring_time",dateStr); + queryWrapper.eq("data_type",TimeTypeEnum.HOUR.getCode()); + queryWrapper.and(wp->{ + wp.isNull("data_flag").or().notIn("data_flag",Arrays.asList("C","M","D","MD","K","P","Vgd","VGD","TD","ST","SD","B","STA","F","FA")); + }); + gasRealList = isEnvGasMonHourService.list(queryWrapper); + final String alarmDate = dateStr; + //初始化排放量容器,多个点位累加计算获得最终排放量 + Map batchDataMap = new ConcurrentHashMap<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletPermitPollutantVOS = pcOutletMap.get(factoryId); + //根据当前年份计算需要获取第几年的排污许可限值 + int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate()); + int nowYear = date.getYear(); + if(pcOutletPermitPollutantVOS != null && pcOutletPermitPollutantVOS.size()>0){ + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutletPermitPollutantVO pcOutlet : pcOutletPermitPollutantVOS) { + //筛选监测数据是否有该排口数据 + SEnvGasMonHour sEnvGasMonRealIndex =null; + for (SEnvGasMonHour sEnvGasMonReal : gasRealList) { + if (StringUtils.isNotBlank(sEnvGasMonReal.getOutletId()) + && sEnvGasMonReal.getOutletId().equalsIgnoreCase(pcOutlet.getPcOutlet().getId()) + && sEnvGasMonReal.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId())) { + sEnvGasMonRealIndex = sEnvGasMonReal; + break; + } + } + if(sEnvGasMonRealIndex == null){ + //没有监测数据直接跳过,进行下一个排口检查 + continue; + } + for (Map.Entry stringStringEntry : emissionsConstants.getGasPollutants().entrySet()) { + //检查是否需要计算排放量,根据排污许可的污染因子比对 + OutletPermitPollutantVO outletPermitPollutantVO = pcOutlet.getOutletPermitPollutantVOMap().get(stringStringEntry.getKey()); + if(outletPermitPollutantVO == null){ + //排污许可无该因子的限值,跳过 + continue; + } + if (!EmissionsUtils.isNeedMathPermitEmissions(nowYear-startYear,outletPermitPollutantVO)) { + //排污许可是/的 不参与计算 + continue; + } + //进行计算,查看该排口是否已有数据 + if (batchDataMap.get(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode()) == null) { + SRaOnlineEmissionsGas sRaOnlineEmissionsGas = new SRaOnlineEmissionsGas( + sEnvGasMonRealIndex.getFactoryId(), + pcOutlet.getOutletCode(), + pcOutlet.getPcOutlet().getPollutantType(), + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sEnvGasMonRealIndex.getMonitoringTime()), + sEnvGasMonRealIndex.getOxygen(), + ""); + sRaOnlineEmissionsGas.setPollutantEmissions("0"); + batchDataMap.put(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode(),sRaOnlineEmissionsGas); + } + SRaOnlineEmissionsGas sRaOnlineEmissionsGas = batchDataMap.get(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode()); + sRaOnlineEmissionsGas.setPollutantName(outletPermitPollutantVO.getPollutantsType()); + sRaOnlineEmissionsGas.setPollutantCode(outletPermitPollutantVO.getPollutantCode()); + //获取污染因子排放量,如果没有,就需要查询同时段手工数据 + Method method = SEnvGasMonHour.class.getMethod("get" + stringStringEntry.getValue() + "Emission"); + //获取因子浓度 + Method methodConcentration = SEnvGasMonHour.class.getMethod("get" + stringStringEntry.getValue() + "Convert"); + String result = (String)method.invoke(sEnvGasMonRealIndex); + String concentrationValue = (String)methodConcentration.invoke(sEnvGasMonRealIndex); + Method methodFlag = SEnvGasMonHour.class.getMethod("get" + stringStringEntry.getValue() + "Flag"); + // 污染物标识 + String flag = (String)methodFlag.invoke(sEnvGasMonRealIndex); + // 污染物标识是否为无效标识,无效污染物浓度取0 + String pulltantFlag = InvalidStateEnum.getNameByCode(flag); + + if(StringUtils.isEmpty(concentrationValue)||StringUtils.isNotEmpty(pulltantFlag)){ + concentrationValue = "0"; + } + BigDecimal mathEmissions; + if(StringUtils.isNotBlank(result)){ + //排口会有多个点位,对应多条监测数据 + mathEmissions = new BigDecimal(result); + //把数据给到超标计算器,检查是否超标(仅在线数据会被监测) + String finalConcentrationValue = concentrationValue; + threadPoolTaskExecutor.execute(()-> { + try { + concentrationMathService.checkExceedingTheStandard(pcOutlet.getPcOutlet(),outletPermitPollutantVO,new BigDecimal(finalConcentrationValue),alarmDate,"PollutantsMgHour","003002"); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); + }else{ + //查询手工数据,进行计算排放量 + List selfDatas = sRaSelfMonitoringDataMapper.selectList(new LambdaQueryWrapper() + .eq(SRaSelfMonitoringData::getMonitorTime, date) + .eq(SRaSelfMonitoringData::getFactoryId, pcOutlet.getFactoryId()) + .eq(SRaSelfMonitoringData::getMonitoringName, pcOutlet.getPcOutlet().getMonitoringPointName()) + .eq(SRaSelfMonitoringData::getPollutantsCode,outletPermitPollutantVO.getPollutantCode()) + .eq(SRaSelfMonitoringData::getPollutantsType,"2")); + if(selfDatas != null && selfDatas.size()>0){ + SRaSelfMonitoringData gasData = selfDatas.get(0); + String monitorVal = gasData.getActualConcentration(); + String flueGasFlow = gasData.getFlow(); + mathEmissions = new BigDecimal(monitorVal) + .multiply(new BigDecimal(flueGasFlow)) + .divide(new BigDecimal(1000000), RoundingMode.HALF_DOWN); + }else{ + //也没用手工数据,那么直接对0计算 + mathEmissions = new BigDecimal(0); + } + } + //进行累加 + BigDecimal pollutantEmissions = new BigDecimal(sRaOnlineEmissionsGas.getPollutantEmissions()); + pollutantEmissions = pollutantEmissions.add(mathEmissions); + sRaOnlineEmissionsGas.setPollutantEmissions(pollutantEmissions.toString()); + } + } + } + } + //进行整合入库 + if(batchDataMap.size() > 0){ + //覆盖数据 + sRaOnlineEmissionsGasService.remove(new LambdaQueryWrapper() + .eq(SRaOnlineEmissionsGas::getMonitorTime,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr))); + sRaOnlineEmissionsGasService.saveBatch(batchDataMap.values()); + } + concentrationMathService.insertBatch(); + + } + /** + * 水污染物在线日排放量 + */ + @Override + public void doWaterPollutantDayDischarge(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //查询当前小时数据 + List gasRealList; + //查询企业缓存 +// if (StringUtils.isNotBlank(redisService.getCacheObject("selectPermitEmissionsFactoryList"))){ +// permitEmissionsFactoryVOS = JSONObject.parseArray(redisService.getCacheObject("selectPermitEmissionsFactoryList"),PermitEmissionsFactoryVO.class); +// }else{ +// permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); +// String data = JSONObject.toJSONString(permitEmissionsFactoryVOS); +// redisService.setCacheObject("selectPermitEmissionsFactoryList",data); +// } + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + return; + } + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + pcOutletMap.put(permitEmissionsFactoryVO.getFactoryId(),new ArrayList<>()); + } + //查询排口缓存 +// if (StringUtils.isNotBlank(redisService.getCacheObject("selectPermitEmissionsFactoryList"))){ +// pcOutletMap = JSONObject.parseObject(redisService.getCacheObject("selectPermitEmissionsFactoryList"), +// Map.class); +// }else{ +// pcOutletMap = new ConcurrentHashMap<>(); +// List ListOutlet = pcOutletMapper.selectPermitOutletList("1","1"); +// for (PcOutlet pcOutlet : ListOutlet) { +// if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { +// pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutlet); +// }else{ +// pcOutletMap.put(pcOutlet.getFactoryId(), Arrays.asList(pcOutlet)); +// } +// } +// String data = JSONObject.toJSONString(permitEmissionsFactoryVOS); +// redisService.setCacheObject("selectPermitEmissionsFactoryList",data); +// } + //查询排口下的所有监测点位信息 + List ListOutlet = pcOutletMapper.selectPermitOutletList("2","0"); + if(ListOutlet == null && ListOutlet.size() == 0){ + log.info("没有查询到排口的监测点位,终止任务"); + return; + } + //获取需要计算排放量的排口因子列表 + List outletPermitPollutantVOS = mainPollDisWaterMoutMapper.selectWaterOutletPermitPollutant(); + //只有排污许可企业下的排口监测点位才会被统计 + for (PcOutlet pcOutlet : ListOutlet) { + if (pcOutletMap.containsKey(pcOutlet.getFactoryId())) { + //初始化排口污染因子复合实体 + PcOutletPermitPollutantVO pcOutletPermitPollutantVO = new PcOutletPermitPollutantVO(pcOutlet.getOutletCode(), pcOutlet.getFactoryId(), pcOutlet, new HashMap<>()); + for (OutletPermitPollutantVO outletPermitPollutantVO : outletPermitPollutantVOS) { + if (outletPermitPollutantVO.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId()) + && outletPermitPollutantVO.getOutletCode().equalsIgnoreCase(pcOutlet.getOutletCode())) { + pcOutletPermitPollutantVO.getOutletPermitPollutantVOMap().put(outletPermitPollutantVO.getPollutantCode(),outletPermitPollutantVO); + } + } + //装载实体 + pcOutletMap.get(pcOutlet.getFactoryId()).add(pcOutletPermitPollutantVO); + } + } + //查询最新日数据 + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.DAYS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"); + String dateStr = date.format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("monitoring_time",dateStr); + queryWrapper.eq("data_type",TimeTypeEnum.DAY.getCode()); + queryWrapper.and(wp->{ + wp.isNull("data_flag").or().notIn("data_flag",Arrays.asList("C","M","D","MD","K","P","Vgd","VGD","TD","ST","SD","B","STA","F","FA")); + }); + + gasRealList = isEnvWaterMonDayService.list(queryWrapper); + //初始化排放量容器,多个点位累加计算获得最终排放量 + Map batchDataMap = new ConcurrentHashMap<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + String factoryId = permitEmissionsFactoryVO.getFactoryId(); + List pcOutletPermitPollutantVOS = pcOutletMap.get(factoryId); + //根据当前年份计算需要获取第几年的排污许可限值 + int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate()); + int nowYear = date.getYear(); + final String alarmDate = dateStr; + if(pcOutletPermitPollutantVOS != null && pcOutletPermitPollutantVOS.size()>0){ + //排口逐一进行处理,检查排口状态,跟排口的状态进行获取不同的数据 + for (PcOutletPermitPollutantVO pcOutlet : pcOutletPermitPollutantVOS) { + //筛选监测数据是否有该排口数据 + SEnvWaterMonDay sEnvWaterMonRealIndex =null; + for (SEnvWaterMonDay sEnvWaterMonReal : gasRealList) { + if (StringUtils.isNotBlank(sEnvWaterMonReal.getOutletId()) + && sEnvWaterMonReal.getOutletId().equalsIgnoreCase(pcOutlet.getPcOutlet().getId()) + && sEnvWaterMonReal.getFactoryId().equalsIgnoreCase(pcOutlet.getFactoryId())) { + sEnvWaterMonRealIndex = sEnvWaterMonReal; + break; + } + } + if(sEnvWaterMonRealIndex == null){ + //没有监测数据直接跳过,进行下一个排口检查 + continue; + } + for (Map.Entry stringStringEntry : emissionsConstants.getWaterPollutants().entrySet()) { + //检查是否需要计算排放量,根据排污许可的污染因子比对 + OutletPermitPollutantVO outletPermitPollutantVO = pcOutlet.getOutletPermitPollutantVOMap().get(stringStringEntry.getKey()); + if(outletPermitPollutantVO == null){ + //排污许可无该因子的限值,跳过 + continue; + } + if (!EmissionsUtils.isNeedMathPermitEmissions(nowYear-startYear,outletPermitPollutantVO)) { + //排污许可是/的 不参与计算 + continue; + } + //进行计算,查看该排口是否已有数据 + if (batchDataMap.get(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode()) == null) { + SRaOnlineEmissionsWater sRaOnlineEmissionsWater = new SRaOnlineEmissionsWater( + pcOutlet.getFactoryId(), + pcOutlet.getOutletCode(), + pcOutlet.getPcOutlet().getPollutantType(), + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sEnvWaterMonRealIndex.getMonitoringTime()), + sEnvWaterMonRealIndex.getWastewaterFlow()); + sRaOnlineEmissionsWater.setPollutantEmissions("0"); + batchDataMap.put(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode(),sRaOnlineEmissionsWater); + } + SRaOnlineEmissionsWater sRaOnlineEmissionsWater = batchDataMap.get(pcOutlet.getFactoryId()+":"+pcOutlet.getOutletCode()+":"+outletPermitPollutantVO.getPollutantCode()); + sRaOnlineEmissionsWater.setPollutantName(outletPermitPollutantVO.getPollutantsType()); + sRaOnlineEmissionsWater.setPollutantCode(outletPermitPollutantVO.getPollutantCode()); + //获取污染因子排放量,如果没有,就需要查询同时段手工数据 + Method method = SEnvWaterMonDay.class.getMethod("get" + stringStringEntry.getValue() + "Emission"); + String result = (String)method.invoke(sEnvWaterMonRealIndex); + + Method methodFlag = SEnvWaterMonDay.class.getMethod("get" + stringStringEntry.getValue() + "Flag"); + // 污染物标识 + String flag = (String)methodFlag.invoke(sEnvWaterMonRealIndex); + // 污染物标识是否为无效标识,无效污染物浓度取0 + String pulltantFlag = InvalidStateEnum.getNameByCode(flag); + if(StringUtils.isNotEmpty(pulltantFlag)){ + result = "0"; + } + BigDecimal mathEmissions; + if(StringUtils.isNotBlank(result)){ + //排口会有多个点位,对应多条监测数据 + mathEmissions = new BigDecimal(result); + //把数据给到超标计算器,检查是否超标(仅在线数据会被监测) + threadPoolTaskExecutor.execute(()-> { + try { + concentrationMathService.checkExceedingTheStandard(pcOutlet.getPcOutlet(),outletPermitPollutantVO,mathEmissions,alarmDate,"PollutantsMgRate","003002"); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); + }else{ + //查询手工数据,进行计算排放量 + List selfDatas = sRaSelfMonitoringDataMapper.selectList(new LambdaQueryWrapper() + .eq(SRaSelfMonitoringData::getMonitorTime, date) + .eq(SRaSelfMonitoringData::getFactoryId, pcOutlet.getFactoryId()) + .eq(SRaSelfMonitoringData::getMonitoringName, pcOutlet.getPcOutlet().getMonitoringPointName()) + .eq(SRaSelfMonitoringData::getPollutantsCode,outletPermitPollutantVO.getPollutantCode()) + .eq(SRaSelfMonitoringData::getPollutantsType,"1")); + if(selfDatas != null && selfDatas.size()>0){ + SRaSelfMonitoringData selfData = selfDatas.get(0); + String monitorVal = selfData.getActualConcentration(); + String wasteWaterFlow = selfData.getFlow(); + mathEmissions = new BigDecimal(monitorVal) + .multiply(new BigDecimal(wasteWaterFlow)) + .divide(new BigDecimal(1000000), RoundingMode.HALF_DOWN); + }else{ + //也没用手工数据,那么直接对0计算 + mathEmissions = new BigDecimal(0); + } + } + //进行累加 + BigDecimal pollutantEmissions = new BigDecimal(sRaOnlineEmissionsWater.getPollutantEmissions()); + pollutantEmissions = pollutantEmissions.add(mathEmissions); + sRaOnlineEmissionsWater.setPollutantEmissions(pollutantEmissions.toString()); + } + } + } + } + //进行整合入库 + if(batchDataMap.size() > 0){ + //覆盖数据 + sRaOnlineEmissionsWaterService.remove(new LambdaQueryWrapper() + .eq(SRaOnlineEmissionsWater::getMonitorTime,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr))); + sRaOnlineEmissionsWaterService.saveBatch(batchDataMap.values()); + } + + } + + + /** + * 水污染物在线排放量统计值 + */ + @Override + public void doWaterPollutantDayDischargeTotal(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + return; + } + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.DAYS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"); + String dateStr = date.format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + } + final String dateFinal = dateStr; + //查询上一日企业下所有废水排口排放量数据 + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List sRaOnlineEmissionsWaters = sRaOnlineEmissionsWaterMapper.selectList(new LambdaQueryWrapper() + .eq(SRaOnlineEmissionsWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) + .eq(SRaOnlineEmissionsWater::getMonitorTime, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr)) + .orderByAsc(SRaOnlineEmissionsWater::getFactoryId)); + //进行累加更新 + BMainEmissionPollutionWater bMainEmissionPollutionWater; + List sRaOnlineEmissionsWaterList = bMainEmissionPollutionWaterMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) + .eq(BMainEmissionPollutionWater::getPollYear,String.valueOf(date.getYear()))); + if(sRaOnlineEmissionsWaterList == null || sRaOnlineEmissionsWaterList.size() == 0){ + log.info("企业无年度排放趋势数据,进行初始化"); + bMainEmissionPollutionWater = new BMainEmissionPollutionWater(); + bMainEmissionPollutionWater.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + bMainEmissionPollutionWater.setPollYear(String.valueOf(date.getYear())); + bMainEmissionPollutionWater.setDataSource("系统核算"); + //获取许可排放量 + int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate().substring(0,3)); + List bMainAllowablePollutionWaters = bMainAllowablePollutionWaterMapper.selectList(new LambdaQueryWrapper() + .eq(BMainAllowablePollutionWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if(bMainAllowablePollutionWaters != null && bMainAllowablePollutionWaters.size()>0){ + for (BMainAllowablePollutionWater bMainAllowablePollutionWater : bMainAllowablePollutionWaters) { + //反射初始化企业年排放量 + String methodName = emissionsConstants.getWaterAllowableEmissionMap().get(bMainAllowablePollutionWater.getPollutionCategory()); + if(StringUtils.isNotBlank(methodName)){ + Method methodSet = BMainEmissionPollutionWater.class.getMethod("setAllowableEmission" + methodName,String.class); + methodSet.setAccessible(true); + methodSet.invoke(bMainEmissionPollutionWater,new BigDecimal(EmissionsUtils.choseWaterYearPollutantsTotalData(date.getYear() - startYear,bMainAllowablePollutionWater)).multiply(new BigDecimal(1000)).toString()); + } + } + } + bMainEmissionPollutionWaterMapper.insert(bMainEmissionPollutionWater); + }else{ + bMainEmissionPollutionWater = sRaOnlineEmissionsWaterList.get(0); + } + for (SRaOnlineEmissionsWater sRaOnlineEmissionsWater : sRaOnlineEmissionsWaters) { + //反射处理因子 + String methodName = emissionsConstants.getWaterActuallyEmittingMap().get(sRaOnlineEmissionsWater.getPollutantName()); + if(StringUtils.isNotBlank(methodName)){ + Method methodSet = BMainEmissionPollutionWater.class.getMethod("setActuallyEmitting" + methodName,String.class); + Method methodGet = BMainEmissionPollutionWater.class.getMethod("getActuallyEmitting" + methodName); + methodSet.setAccessible(true); + String resultGet = (String)methodGet.invoke(bMainEmissionPollutionWater); + String mathResult = new BigDecimal(StringUtils.isBlank(resultGet)? "0" : resultGet) + .add(new BigDecimal(StringUtils.isBlank(sRaOnlineEmissionsWater.getPollutantEmissions())?"0":sRaOnlineEmissionsWater.getPollutantEmissions())).toString(); + methodSet.invoke(bMainEmissionPollutionWater,mathResult); + } + } + //排放量超标/预警计算 + this.threadPoolTaskExecutor.execute(()-> { + try { + checkExceedingTheStandardAndAlarm(bMainEmissionPollutionWater,BMainEmissionPollutionWater.class,emissionsConstants.getWaterAllowableEmissionMap(),permitEmissionsFactoryVO,dateFinal); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); + //防止多线程插入时被执行clear操作 + synchronized (problemList){ + amProblemFiService.saveBatch(problemList); + problemList.clear(); + } + bMainEmissionPollutionWaterMapper.updateById(bMainEmissionPollutionWater); + } + } + + /** + * 废气在线排放量统计值 + */ + @Override + public void doGasPollutantHourDischargeTotal(String mathDate) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + return; + } + LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.DAYS); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"); + String dateStr = date.format(dateTimeFormatter); + if(StringUtils.isNotBlank(mathDate)){ + dateStr = mathDate; + } + final String dateFinal = dateStr; + //查询上一日企业下所有废气排口排放量数据 + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List sRaOnlineEmissionsGases = sRaOnlineEmissionsGasMapper.selectList(new LambdaQueryWrapper() + .eq(SRaOnlineEmissionsGas::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) + .ge(SRaOnlineEmissionsGas::getMonitorTime, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr)) + .lt(SRaOnlineEmissionsGas::getMonitorTime, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(LocalDateTime.parse(dateStr,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).plus(1,ChronoUnit.DAYS).format(dateTimeFormatter)))); + //进行累加更新 + BMainEmissionPollutionAir bMainEmissionPollutionAir; + List sRaOnlineEmissionsAirList = bMainEmissionPollutionAirMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionAir::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) + .eq(BMainEmissionPollutionAir::getPollYear,String.valueOf(date.getYear()))); + if(sRaOnlineEmissionsAirList == null || sRaOnlineEmissionsAirList.size() == 0){ + log.info("企业无年度排放趋势数据,进行初始化"); + bMainEmissionPollutionAir = new BMainEmissionPollutionAir(); + bMainEmissionPollutionAir.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + bMainEmissionPollutionAir.setPollYear(String.valueOf(date.getYear())); + bMainEmissionPollutionAir.setDataSource("系统核算"); + //获取许可排放量 + int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate().substring(0,3)); + List bMainAllowablePollutionAirs = bMainAllowablePollutionAirMapper.selectList(new LambdaQueryWrapper() + .eq(BMainAllowablePollutionAir::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if(bMainAllowablePollutionAirs != null && bMainAllowablePollutionAirs.size()>0){ + for (BMainAllowablePollutionAir bMainAllowablePollutionAir : bMainAllowablePollutionAirs) { + //反射初始化企业年排放量 + String methodName = emissionsConstants.getGasAllowableEmissionMap().get(bMainAllowablePollutionAir.getPollutionCategory()); + if(StringUtils.isNotBlank(methodName)){ + Method methodSet = BMainEmissionPollutionAir.class.getMethod("setAllowableEmission" + methodName,String.class); + methodSet.setAccessible(true); + String mathValue = EmissionsUtils.choseGasYearPollutantsTotalData(date.getYear() - startYear,bMainAllowablePollutionAir); + BigDecimal temp = new BigDecimal(0); + if (!mathValue.equalsIgnoreCase("/")) { + temp = new BigDecimal(mathValue); + } + methodSet.invoke(bMainEmissionPollutionAir,temp.multiply(new BigDecimal(1000)).toString()); + } + } + } + bMainEmissionPollutionAirMapper.insert(bMainEmissionPollutionAir); + }else{ + bMainEmissionPollutionAir = sRaOnlineEmissionsAirList.get(0); + } + for (SRaOnlineEmissionsGas sRaOnlineEmissionsGas : sRaOnlineEmissionsGases) { + //反射处理因子,该企业所有排口的所有小时数据全部累加 + String methodName = emissionsConstants.getGasActuallyEmittingMap().get(sRaOnlineEmissionsGas.getPollutantCode()); + if(StringUtils.isNotBlank(methodName)){ + Method methodSet = BMainEmissionPollutionAir.class.getMethod("setActuallyEmitting" + methodName,String.class); + Method methodGet = BMainEmissionPollutionAir.class.getMethod("getActuallyEmitting" + methodName); + methodSet.setAccessible(true); + String resultGet = (String)methodGet.invoke(bMainEmissionPollutionAir); + String mathResult = new BigDecimal(StringUtils.isBlank(resultGet)? "0" : resultGet) + .add(new BigDecimal(StringUtils.isBlank(sRaOnlineEmissionsGas.getPollutantEmissions())?"0":sRaOnlineEmissionsGas.getPollutantEmissions())).toString(); + methodSet.invoke(bMainEmissionPollutionAir,mathResult); + } + } + //排放量超标/预警计算 + this.threadPoolTaskExecutor.execute(()-> { + try { + checkExceedingTheStandardAndAlarm(bMainEmissionPollutionAir,BMainEmissionPollutionAir.class,emissionsConstants.getGasAllowableEmissionMap(),permitEmissionsFactoryVO,dateFinal); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + }); + //防止多线程插入时被执行clear操作 + synchronized (problemList){ + amProblemFiService.saveBatch(problemList); + problemList.clear(); + } + bMainEmissionPollutionAirMapper.updateById(bMainEmissionPollutionAir); + } + } + + /** + * 企业排放量超标预警计算器 + * @param target 实例对象 + * @param targetClass 实力class类型 + * @param permitEmissionsFactoryVO 企业对象 + */ + private void checkExceedingTheStandardAndAlarm(Object target, + Class targetClass, + Map pollutantMap, + PermitEmissionsFactoryVO permitEmissionsFactoryVO, + String dateStr) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ParseException { + String alarmCode = ""; + int alarmType = -1; + String alramMessage = ""; + boolean triggerOpen = false; + for (Map.Entry stringStringEntry : pollutantMap.entrySet()) { + Method allowableEmissionMethod = targetClass.getMethod("getAllowableEmission" + stringStringEntry.getValue()); + Method actuallyEmittingMethod = targetClass.getMethod("getActuallyEmitting" + stringStringEntry.getValue()); + Method exceedingMethod = targetClass.getMethod("getExceedingRate" + stringStringEntry.getValue()); + String allowableValue = (String)allowableEmissionMethod.invoke(target); + String actuallyValue = (String)actuallyEmittingMethod.invoke(target); + String exceedingValue = (String) exceedingMethod.invoke(target); + //无超标情况,检查预警要求是否达到,排污许可限值是0的不计算 + if(StringUtils.isNotBlank(allowableValue) + && StringUtils.isNotBlank(actuallyValue) + && new BigDecimal(allowableValue).compareTo(BigDecimal.ZERO) >0){ + //初始化排放差,超出百分比,注意,newSubtractRate可能为0,可能没有超标,那么超出百分比必是0 + BigDecimal subtract = new BigDecimal(actuallyValue).subtract(new BigDecimal(allowableValue)); + BigDecimal newSubtractRate = subtract.divide(new BigDecimal(allowableValue), RoundingMode.HALF_DOWN) + .multiply(new BigDecimal(100)); + if(StringUtils.isBlank(exceedingValue)){ + BigDecimal rate = new BigDecimal(actuallyValue).divide(new BigDecimal(allowableValue), 2, RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)); + //大于90但是没有超标,预警 + if(rate.compareTo(new BigDecimal(90)) >= 0 && new BigDecimal(actuallyValue).compareTo(new BigDecimal(allowableValue))<=0){ + triggerOpen = true; + alarmCode = "003005"; + alarmType = 1; + alramMessage = "上限90%预警"; + } + //检查是否首次超标 + if (subtract.compareTo(BigDecimal.ZERO) > 0) { + triggerOpen = true; + alarmCode = "003004"; + alarmType = 0; + alramMessage = "超标报警"; + targetClass.getMethod("setExceedingRate"+stringStringEntry.getValue()).invoke(target,newSubtractRate.toString()); + } + }else{ + if (newSubtractRate.subtract(new BigDecimal(exceedingValue)).compareTo(new BigDecimal(1)) >= 0) { + triggerOpen = true; + //超过原超标率一个百分比以上,继续报警 + alarmCode = "003004"; + alarmType = 0; + alramMessage = "超标报警"; + targetClass.getMethod("setExceedingRate"+stringStringEntry.getValue()).invoke(target,newSubtractRate.toString()); + } + } + //先计算预警,再检查是否超标,预警只报警一次,超标则为每超出1个百分比报警一次 + if(triggerOpen){ + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("1"); + amProblemFi.setProblemType(alarmCode); + amProblemFi.setType(alarmType); + amProblemFi.setAnalyseTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr)); + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+":发生排放量"+alramMessage+",污染因子:"+stringStringEntry.getKey()+","+"排污许可值为:"+allowableValue+",实际排放为:"+actuallyValue); + amProblemFi.setPollutantSourceAi("1"); + Map extra = new HashMap<>(); + extra.put("type", target instanceof BMainEmissionPollutionWater ? "water" : "gas"); // gas:废气, water:废水 + extra.put("pollutantCode", stringStringEntry.getKey()); // 污染因子编码 + extra.put("allowableValue", allowableValue); // 限值 + amProblemFi.setExtra(JSON.toJSONString(extra)); + + problemList.add(amProblemFi); + } + } + } +// //有超标触发,执行更新 +// if(triggerOpen){ +// if(target instanceof BMainEmissionPollutionAir){ +// bMainEmissionPollutionAirMapper.updateById((BMainEmissionPollutionAir)target); +// }else{ +// bMainEmissionPollutionWaterMapper.updateById((BMainEmissionPollutionWater)target); +// } +// } + } + + /** + * 废气手工月排放量 + */ + @Override + public void doGasHandiworkMonthDischarge() { +// List permitEmissionsFactoryVOS; +// //初始化排污许可企业数据,规定排口容器的长度 +// permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); +// if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ +// log.info("没有查询到企业,终止任务"); +// } +// LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.MONTHS); +// DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00"); +// String dateStr = date.format(dateTimeFormatter); +// //查询上个月企业下所有废气排口手工监测数据 +// for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { +// List sRaHandworkEmissionsGases = handworkEmissionsGasMapper.selectAgvDataList(permitEmissionsFactoryVO.getFactoryId(), dateStr,LocalDateTime.now().format(dateTimeFormatter)); +// //如果上个月没查到,那么再往前一个月查询,如还是没有,求平均值 +// if(sRaHandworkEmissionsGases.size() ==0){ +// sRaHandworkEmissionsGases = handworkEmissionsGasMapper.selectAgvDataList( +// permitEmissionsFactoryVO.getFactoryId(), +// date.minusMonths(1).format(dateTimeFormatter), +// dateStr); +// if(sRaHandworkEmissionsGases.size() == 0){ +// sRaHandworkEmissionsGases = handworkEmissionsGasMapper.selectAgvDataList(permitEmissionsFactoryVO.getFactoryId(), +// date.getYear()+"-01-01 00:00:00", +// date.getYear()+"-12-31 23:59:59"); +// } +// } +// //进行累加更新 +// BMainEmissionPollutionAir bMainEmissionPollutionAir; +// List sRaOnlineEmissionsAirList = bMainEmissionPollutionAirMapper.selectList(new LambdaQueryWrapper() +// .eq(BMainEmissionPollutionAir::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) +// .eq(BMainEmissionPollutionAir::getPollYear,date.getYear())); +// if(sRaOnlineEmissionsAirList == null && sRaOnlineEmissionsAirList.size() == 0){ +// log.info("企业无年度排放趋势数据,进行初始化"); +// bMainEmissionPollutionAir = new BMainEmissionPollutionAir(); +// bMainEmissionPollutionAir.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); +// bMainEmissionPollutionAir.setPollYear(String.valueOf(date.getYear())); +// bMainEmissionPollutionAir.setDataSource("系统核算"); +// //获取许可排放量 +// int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate()); +// List bMainPollDisGasTouts = bMainPollDisGasToutMapper.selectList(new LambdaQueryWrapper() +// .eq(BMainPollDisGasTout::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); +// if(bMainPollDisGasTouts != null && bMainPollDisGasTouts.size()>0){ +// for (BMainPollDisGasTout bMainPollDisGasTout : bMainPollDisGasTouts) { +// if (bMainPollDisGasTout.getPollutantsType().equalsIgnoreCase("颗粒物")) { +// bMainEmissionPollutionAir.setAllowableEmissionPm(EmissionsUtils.choseGasYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisGasTout)); +// }else if (bMainPollDisGasTout.getPollutantsType().equalsIgnoreCase("VOCs")){ +// bMainEmissionPollutionAir.setAllowableEmissionVocs(EmissionsUtils.choseGasYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisGasTout)); +// }else if (bMainPollDisGasTout.getPollutantsType().equalsIgnoreCase("NOx")){ +// bMainEmissionPollutionAir.setAllowableEmissionNox(EmissionsUtils.choseGasYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisGasTout)); +// }else if (bMainPollDisGasTout.getPollutantsType().equalsIgnoreCase("SO₂")){ +// bMainEmissionPollutionAir.setAllowableEmissionSo2(EmissionsUtils.choseGasYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisGasTout)); +// } +// } +// } +// bMainEmissionPollutionAirMapper.insert(bMainEmissionPollutionAir); +// }else{ +// bMainEmissionPollutionAir = sRaOnlineEmissionsAirList.get(0); +// } +// for (SRaHandworkEmissionsGas sRaHandworkEmissionsGas : sRaHandworkEmissionsGases) { +// //手工监测数据为 浓度乘以流量乘以运行小时数 没有运行小时数按24小时*当月天数算 +// if(StringUtils.isBlank(sRaHandworkEmissionsGas.getCheckRunTime())){ +// int num = date.getMonth().length(date.getYear()%400 == 0 || (date.getYear() %4 ==0 && date.getYear()%100 >0)) * 24; +// sRaHandworkEmissionsGas.setCheckRunTime(String.valueOf(num)); +// } +// BigDecimal multiply = new BigDecimal(sRaHandworkEmissionsGas.getMonitorVal()) +// .multiply(new BigDecimal(sRaHandworkEmissionsGas.getFlueGasFlow())) +// .multiply(new BigDecimal(sRaHandworkEmissionsGas.getCheckRunTime())); +// if (sRaHandworkEmissionsGas.getPollutantName().equalsIgnoreCase("pm")) { +// bMainEmissionPollutionAir.setActuallyEmittingPm(new BigDecimal(bMainEmissionPollutionAir.getActuallyEmittingPm()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsGas.getPollutantName().equalsIgnoreCase("Vocs")) { +// bMainEmissionPollutionAir.setActuallyEmittingVocs(new BigDecimal(bMainEmissionPollutionAir.getActuallyEmittingVocs()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsGas.getPollutantName().equalsIgnoreCase("NOX")) { +// bMainEmissionPollutionAir.setActuallyEmittingNox(new BigDecimal(bMainEmissionPollutionAir.getActuallyEmittingNox()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsGas.getPollutantName().equalsIgnoreCase("SO2")) { +// bMainEmissionPollutionAir.setActuallyEmittingSo2(new BigDecimal(bMainEmissionPollutionAir.getActuallyEmittingSo2()).add(multiply).toString()); +// } +// } +// bMainEmissionPollutionAirMapper.updateById(bMainEmissionPollutionAir); +// } + } + /** + * 废水手工月排放量 + */ + @Override + public void doWaterHandiworkMonthDischarge() { +// //获取全部排污许可期限内的企业 +// List permitEmissionsFactoryVOS; +// //初始化排污许可企业数据,规定排口容器的长度 +// permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); +// if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ +// log.info("没有查询到企业,终止任务"); +// } +// LocalDateTime date = LocalDateTime.now().minus(1, ChronoUnit.MONTHS); +// DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00"); +// String dateStr = date.format(dateTimeFormatter); +// //查询上一月企业下所有废水排口排放量数据 +// for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { +// List sRaHandworkEmissionsWaters = handworkEmissionsWaterMapper.selectAgvDataList( +// permitEmissionsFactoryVO.getFactoryId(), +// dateStr, +// LocalDateTime.now().format(dateTimeFormatter)); +// //如果上个月没查到,那么再往前一个月查询,如还是没有,求当年平均值 +// if(sRaHandworkEmissionsWaters.size() ==0){ +// sRaHandworkEmissionsWaters = handworkEmissionsWaterMapper.selectAgvDataList( +// permitEmissionsFactoryVO.getFactoryId(), +// date.minusMonths(1).format(dateTimeFormatter), +// dateStr); +// if(sRaHandworkEmissionsWaters.size() == 0){ +// sRaHandworkEmissionsWaters = handworkEmissionsWaterMapper.selectAgvDataList(permitEmissionsFactoryVO.getFactoryId(), +// date.getYear()+"-01-01 00:00:00", +// date.getYear()+"-12-31 23:59:59"); +// } +// } +// //进行累加更新 +// BMainEmissionPollutionWater bMainEmissionPollutionWater; +// List sRaOnlineEmissionsWaterList = bMainEmissionPollutionWaterMapper.selectList(new LambdaQueryWrapper() +// .eq(BMainEmissionPollutionWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId()) +// .eq(BMainEmissionPollutionWater::getPollYear,date.getYear())); +// if(sRaOnlineEmissionsWaterList == null && sRaOnlineEmissionsWaterList.size() == 0){ +// log.info("企业无年度排放趋势数据,进行初始化"); +// bMainEmissionPollutionWater = new BMainEmissionPollutionWater(); +// bMainEmissionPollutionWater.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); +// bMainEmissionPollutionWater.setPollYear(String.valueOf(date.getYear())); +// bMainEmissionPollutionWater.setDataSource("系统核算"); +// //获取许可排放量 +// int startYear = Integer.parseInt(permitEmissionsFactoryVO.getStartDate()); +// List bMainPollDisWaterTouts = bMainPollDisWaterToutMapper.selectList(new LambdaQueryWrapper() +// .eq(BMainPollDisWaterTout::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); +// if(bMainPollDisWaterTouts != null && bMainPollDisWaterTouts.size()>0){ +// for (BMainPollDisWaterTout bMainPollDisWaterTout : bMainPollDisWaterTouts) { +// if (bMainPollDisWaterTout.getPollutantsType().equalsIgnoreCase("CODcr")) { +// bMainEmissionPollutionWater.setAllowableEmissionCod(EmissionsUtils.choseWaterYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisWaterTout)); +// }else if (bMainPollDisWaterTout.getPollutantsType().equalsIgnoreCase("总氮(以N计)")){ +// bMainEmissionPollutionWater.setAllowableEmissionTn(EmissionsUtils.choseWaterYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisWaterTout)); +// }else if (bMainPollDisWaterTout.getPollutantsType().equalsIgnoreCase("氨氮")){ +// bMainEmissionPollutionWater.setAllowableEmissionNhn(EmissionsUtils.choseWaterYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisWaterTout)); +// }else if (bMainPollDisWaterTout.getPollutantsType().equalsIgnoreCase("总磷(以P计)")){ +// bMainEmissionPollutionWater.setAllowableEmissionTp(EmissionsUtils.choseWaterYearPollutantsTotalData(date.getYear() - startYear,bMainPollDisWaterTout)); +// } +// } +// } +// bMainEmissionPollutionWaterMapper.insert(bMainEmissionPollutionWater); +// }else{ +// bMainEmissionPollutionWater = sRaOnlineEmissionsWaterList.get(0); +// } +// for (SRaHandworkEmissionsWater sRaHandworkEmissionsWater : sRaHandworkEmissionsWaters) { +// if(StringUtils.isBlank(sRaHandworkEmissionsWater.getCheckRunTime())){ +// int num = date.getMonth().length(date.getYear()%400 == 0 || (date.getYear() %4 ==0 && date.getYear()%100 >0)) * 24; +// sRaHandworkEmissionsWater.setCheckRunTime(String.valueOf(num)); +// } +// BigDecimal multiply = new BigDecimal(sRaHandworkEmissionsWater.getMonitorVal()) +// .multiply(new BigDecimal(sRaHandworkEmissionsWater.getWasteWaterFlow())) +// .multiply(new BigDecimal(sRaHandworkEmissionsWater.getCheckRunTime())); +// if (sRaHandworkEmissionsWater.getPollutantName().equalsIgnoreCase("COD")) { +// bMainEmissionPollutionWater.setActuallyEmittingCod(new BigDecimal(bMainEmissionPollutionWater.getActuallyEmittingCod()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsWater.getPollutantName().equalsIgnoreCase("总磷")) { +// bMainEmissionPollutionWater.setActuallyEmittingTp(new BigDecimal(bMainEmissionPollutionWater.getActuallyEmittingTp()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsWater.getPollutantName().equalsIgnoreCase("总氮")) { +// bMainEmissionPollutionWater.setActuallyEmittingTn(new BigDecimal(bMainEmissionPollutionWater.getActuallyEmittingTn()).add(multiply).toString()); +// }else if (sRaHandworkEmissionsWater.getPollutantName().equalsIgnoreCase("氨氮")) { +// bMainEmissionPollutionWater.setActuallyEmittingNhn(new BigDecimal(bMainEmissionPollutionWater.getActuallyEmittingNhn()).add(multiply).toString()); +// } +// } +// bMainEmissionPollutionWaterMapper.updateById(bMainEmissionPollutionWater); +// } + } + /** + * 废气排放量超标 + */ + @Override + public void doGasDischargeExceeded() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + LocalDateTime date = LocalDateTime.now(); + List amProblemFiList = new ArrayList<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List bMainEmissionPollutionAirs = bMainEmissionPollutionAirMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionAir::getPollYear, String.valueOf(date.getYear())) + .eq(BMainEmissionPollutionAir::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if (bMainEmissionPollutionAirs!= null) { + for (BMainEmissionPollutionAir bMainEmissionPollutionAir : bMainEmissionPollutionAirs) { + for (Map.Entry stringStringEntry : emissionsConstants.getGasActuallyEmittingMap().entrySet()) { + Class clazz = BMainEmissionPollutionAir.class; + Method methodGetActually = clazz.getMethod("getActuallyEmitting" + stringStringEntry.getValue()); + String resultActually = (String)methodGetActually.invoke(bMainEmissionPollutionAir); + Method methodGetAllowable = clazz.getMethod("getAllowableEmission" + stringStringEntry.getValue()); + String resultAllowable = (String)methodGetAllowable.invoke(bMainEmissionPollutionAir); + if (new BigDecimal(StringUtils.isBlank(resultActually)?"0":resultActually) + .compareTo(new BigDecimal(StringUtils.isBlank(resultAllowable)?"0":resultAllowable)) >0) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setProblemType("005002"); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+":发生排放量超标报警,报警因子:"+stringStringEntry.getKey()+","+"排污许可值为:"+(StringUtils.isBlank(resultAllowable)?"0":resultAllowable)+",实际排放为:"+resultActually); + amProblemFiList.add(amProblemFi); + } + } + } + } + } + if (amProblemFiList.size()>0) { + amProblemFiService.saveBatch(amProblemFiList); + } + } + /** + * 废水排放量超标 + */ + @Override + public void doWaterDischargeExceeded() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + LocalDateTime date = LocalDateTime.now(); + List amProblemFiList = new ArrayList<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List bMainEmissionPollutionWaters = bMainEmissionPollutionWaterMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionWater::getPollYear, String.valueOf(date.getYear())) + .eq(BMainEmissionPollutionWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if (bMainEmissionPollutionWaters!= null) { + for (BMainEmissionPollutionWater bMainEmissionPollutionWater : bMainEmissionPollutionWaters) { + for (Map.Entry stringStringEntry : emissionsConstants.getWaterActuallyEmittingMap().entrySet()) { + Class bMainEmissionPollutionWaterClass = BMainEmissionPollutionWater.class; + Method methodActually = bMainEmissionPollutionWaterClass.getMethod("getActuallyEmitting" + stringStringEntry.getValue()); + Method methodAllowable = bMainEmissionPollutionWaterClass.getMethod("getAllowableEmission" + stringStringEntry.getValue()); + String resultActually = (String)methodActually.invoke(bMainEmissionPollutionWater); + String resultAllowable = (String)methodAllowable.invoke(bMainEmissionPollutionWater); + if (new BigDecimal(StringUtils.isBlank(resultActually)?"0":resultActually) + .compareTo(new BigDecimal(StringUtils.isBlank(resultAllowable)?"0":resultAllowable)) >0) { + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setProblemType("005002"); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+":发生排放量超标报警,报警因子:"+stringStringEntry.getKey()+","+"排污许可值为:"+(StringUtils.isBlank(resultActually)?"0":resultActually)+",实际排放为:"+resultActually); + amProblemFiList.add(amProblemFi); + } + } + } + } + } + if (amProblemFiList.size()>0) { + amProblemFiService.saveBatch(amProblemFiList); + } + } + /** + * 废气排放量预警 + */ + @Override + public void doGasDischargeAlarm() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //查询所有排口信息 + Map> pcOutletMap = new ConcurrentHashMap<>(); + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + LocalDateTime date = LocalDateTime.now(); + int intervalMonth = date.getMonthValue() - date.getMonth().firstMonthOfQuarter().getValue(); + String dateSeason = date.format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")); + if(intervalMonth > 0){ + dateSeason = date.minusMonths(intervalMonth).format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")); + } + List amProblemFiList = new ArrayList<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List bMainEmissionPollutionAirs = bMainEmissionPollutionAirMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionAir::getPollYear, String.valueOf(date.getYear())) + .eq(BMainEmissionPollutionAir::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if (bMainEmissionPollutionAirs!= null && bMainEmissionPollutionAirs.size()>0) { + BMainEmissionPollutionAir bMainEmissionPollutionAir = bMainEmissionPollutionAirs.get(0); + //获取当月累计排放 和 当季累计排放 + List listMonth = sRaOnlineEmissionsGasMapper.selectMonthTotalData(permitEmissionsFactoryVO.getFactoryId(),date.format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")),1); + List listSeason = sRaOnlineEmissionsGasMapper.selectMonthTotalData(permitEmissionsFactoryVO.getFactoryId(),dateSeason,2); + listMonth.addAll(listSeason); + if (listMonth != null && listMonth.size() > 0) { + for (MonthTotalEmissionsVO monthTotalEmissionsVO : listMonth) { + BigDecimal rateEmissions = new BigDecimal(monthTotalEmissionsVO.getTotalEmissions()); + String methodName = emissionsConstants.getGasPollutants().get(monthTotalEmissionsVO.getPollutantName()); + if(StringUtils.isNotBlank(methodName)){ + Class bMainEmissionPollutionAirClass = BMainEmissionPollutionAir.class; + Method methodGet = bMainEmissionPollutionAirClass.getMethod("getAllowableEmission" + methodName); + String result = (String)methodGet.invoke(bMainEmissionPollutionAir); + String alarmDateType = "月度"; + BigDecimal mathType = new BigDecimal(12); + if(monthTotalEmissionsVO.getSelectType() == 2){ + mathType = new BigDecimal(4); + alarmDateType = "季度"; + } + BigDecimal allowableEmissionResult = new BigDecimal(result).divide(mathType, 2, RoundingMode.HALF_DOWN); + if(allowableEmissionResult.compareTo(new BigDecimal(0)) <=0){ + log.info("{} 因子的数值为0,停止计算",methodName); + continue; + } + rateEmissions = rateEmissions.divide(allowableEmissionResult, 2, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(100)); + if(rateEmissions.compareTo(BigDecimal.valueOf(90))>0){ + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setProblemType("005002"); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+":产生"+alarmDateType+"排放总量预警,预警因子:"+methodName+","+"排污许可值为:"+allowableEmissionResult+",实际排放为:"+rateEmissions); + amProblemFiList.add(amProblemFi); + } + } + } + } + } + } + if(amProblemFiList.size()>0){ + amProblemFiService.saveBatch(amProblemFiList); + } + } + /** + * 废水排放量预警 + */ + @Override + public void doWaterDischargeAlarm() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + //获取全部排污许可期限内的企业 + List permitEmissionsFactoryVOS; + //初始化排污许可企业数据,规定排口容器的长度 + permitEmissionsFactoryVOS= factoryMapper.selectPermitEmissionsFactoryList(); + if(permitEmissionsFactoryVOS == null && permitEmissionsFactoryVOS.size() == 0){ + log.info("没有查询到企业,终止任务"); + } + LocalDateTime date = LocalDateTime.now(); + int intervalMonth = date.getMonthValue() - date.getMonth().firstMonthOfQuarter().getValue(); + String dateSeason = date.format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")); + if(intervalMonth > 0){ + dateSeason = date.minusMonths(intervalMonth).format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")); + } + List amProblemFiList = new ArrayList<>(); + for (PermitEmissionsFactoryVO permitEmissionsFactoryVO : permitEmissionsFactoryVOS) { + List bMainEmissionPollutionWaters = bMainEmissionPollutionWaterMapper.selectList(new LambdaQueryWrapper() + .eq(BMainEmissionPollutionWater::getPollYear, String.valueOf(date.getYear())) + .eq(BMainEmissionPollutionWater::getFactoryId, permitEmissionsFactoryVO.getFactoryId())); + if (bMainEmissionPollutionWaters!= null) { + BMainEmissionPollutionWater bMainEmissionPollutionWater = bMainEmissionPollutionWaters.get(0); + //获取当月累计排放 和 当季累计排放 + List listMonth = sRaOnlineEmissionsWaterMapper.selectMonthTotalData(permitEmissionsFactoryVO.getFactoryId(),date.format(DateTimeFormatter.ofPattern("yyyy-MM-01 00:00:00")),1); + List listSeason = sRaOnlineEmissionsWaterMapper.selectMonthTotalData(permitEmissionsFactoryVO.getFactoryId(),dateSeason,2); + listMonth.addAll(listSeason); + if (listMonth != null && listMonth.size() > 0) { + for (MonthTotalEmissionsVO monthTotalEmissionsVO : listMonth) { + BigDecimal rateEmissions = new BigDecimal(monthTotalEmissionsVO.getTotalEmissions()); + String methodName = emissionsConstants.getWaterActuallyEmittingMap().get(monthTotalEmissionsVO.getPollutantName()); + if(StringUtils.isNotBlank(methodName)){ + Class bMainEmissionPollutionWaterClass = BMainEmissionPollutionWater.class; + Method methodGet = bMainEmissionPollutionWaterClass.getMethod("getAllowableEmission" + methodName); + String result = (String)methodGet.invoke(bMainEmissionPollutionWater); + String alarmDateType = "月度"; + BigDecimal mathType = new BigDecimal(12); + if(monthTotalEmissionsVO.getSelectType() == 2){ + mathType = new BigDecimal(4); + alarmDateType = "季度"; + } + BigDecimal allowableEmissionResult = new BigDecimal(StringUtils.isBlank(result)?"0":result).divide(mathType, 2, RoundingMode.HALF_DOWN); + if(allowableEmissionResult.compareTo(new BigDecimal(0)) <= 0){ + log.info("{}因子的值为0,停止计算",methodName); + continue; + } + rateEmissions = rateEmissions.divide(allowableEmissionResult, 2, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(100)); + if(rateEmissions.compareTo(BigDecimal.valueOf(90))>0){ + AmProblemFi amProblemFi = new AmProblemFi(); + amProblemFi.setFactoryId(permitEmissionsFactoryVO.getFactoryId()); + amProblemFi.setProblemSources("3"); + amProblemFi.setProblemType("005002"); + amProblemFi.setCreateTime(new Date()); + amProblemFi.setProblemStartTime(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + amProblemFi.setProblemDetails(permitEmissionsFactoryVO.getFactoryName()+":产生"+alarmDateType+"排放总量预警,预警因子:"+methodName+","+"排污许可值为:"+allowableEmissionResult+",实际排放为:"+rateEmissions); + amProblemFiList.add(amProblemFi); + } + } + } + } + } + } + if(amProblemFiList.size()>0){ + amProblemFiService.saveBatch(amProblemFiList); + } + } + + @Override + public void doProcessGasStationDataFlag() { + long start = System.currentTimeMillis(); + log.info("空气监测停产标记开始##"); + List list = new ArrayList<>(); + + Date curr = new Date(); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", DateUtils.addDateHours(curr,-1)); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",DateUtils.addDateHours(curr,-1)); + Date minHour = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",DateUtils.addDateHours(curr,-720)); + + + QueryWrapper stopinfoQueryWrapper = new QueryWrapper<>(); + stopinfoQueryWrapper.le("start_time_format",lastHourBegin); + stopinfoQueryWrapper.gt("end_time_format",lastHourBegin); + stopinfoQueryWrapper.eq("enable","1"); + List stopList = odsOnlineOlStopinfoAService.list(stopinfoQueryWrapper); + log.info("空气监测停产标记停产记录:"+stopList.size()); + if(stopList!=null&&stopList.size()>0){ + stopList.forEach(real ->{ + // 停产标记 + String dataFlag = StopTypeEnum.getNameByCode(real.getDcsType()); + List gasStationList = pcOutletMapper.selectEnableList(real.getFactoryId(),"1",real.getPortName()); + log.info("空气监测停产标记站点数量:"+gasStationList.size()+"站点名称:"+real.getPortName()); + gasStationList.forEach(s ->{ + QueryWrapper gasQueryWrapper = new QueryWrapper<>(); + gasQueryWrapper.eq("factory_id",s.getFactoryId()); + gasQueryWrapper.eq("outlet_id",s.getId()); + gasQueryWrapper.eq("data_type","H"); + gasQueryWrapper.eq("monitoring_time",DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",lastHourBegin)); + List gasRealHourList = isEnvGasMonHourService.list(gasQueryWrapper); + log.info("空气监测停产标记站点小时数量:"+gasRealHourList.size()+"站点ID:"+s.getId()); + if(gasRealHourList!=null&&gasRealHourList.size()>0) { + gasRealHourList.forEach(h -> { + h.setDataFlag(dataFlag); + list.add(h); + }); + } + QueryWrapper gasRealQueryWrapper = new QueryWrapper<>(); + gasRealQueryWrapper.eq("factory_id",s.getFactoryId()); + gasRealQueryWrapper.eq("outlet_id",s.getId()); + gasRealQueryWrapper.eq("data_type","M"); + if(lastHourBegin.getTime()>real.getStartTime().getTime()) { + if(lastHourEnd.getTime()>real.getEndTime().getTime()) { + gasRealQueryWrapper.between("monitoring_time", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",lastHourBegin), DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",real.getEndTime())); + }else{ + gasRealQueryWrapper.between("monitoring_time", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",lastHourBegin), DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",lastHourEnd)); + } + }else{ + if(lastHourEnd.getTime()>real.getEndTime().getTime()) { + gasRealQueryWrapper.between("monitoring_time", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",real.getStartTime()), DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",real.getEndTime())); + }else{ + gasRealQueryWrapper.between("monitoring_time", DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",real.getStartTime()), DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",lastHourEnd)); + } + } + + List gasRealList = isEnvGasMonRealService.list(gasRealQueryWrapper); + log.info("空气监测停产标记站点分钟数量:"+gasRealHourList.size()+"站点ID:"+s.getId()); + if(gasRealList!=null&&gasRealList.size()>0) { + gasRealList.forEach(h -> { + h.setDataFlag(dataFlag); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",h.getId()); + updateWrapper.eq("factory_id",h.getFactoryId()); + updateWrapper.eq("outlet_id",h.getOutletId()); + updateWrapper.eq("data_type","M"); + updateWrapper.eq("monitoring_time",DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",h.getDateTime())); + updateWrapper.set("data_flag",dataFlag); + isEnvGasMonRealService.update(updateWrapper); + }); + } + + }); + }); + } + + if(list!=null&&list.size()>0){ + List> part = ListUtil.partition(list, 2000); + part.forEach(i->{ + isEnvGasMonHourService.saveOrUpdateBatch(i); + }); + } + + List flagList = new ArrayList<>(); + List gasHourList = isEnvGasMonHourService.selectLastHourData("1",DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",lastHourBegin)); + log.info("小时数据数量:"+gasHourList.size()+"日期:"+DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",lastHourBegin)); + if (gasHourList != null && gasHourList.size() > 0) { + gasHourList.forEach(h -> { + String so2Flag = WhiteListTypeEnum.getNameByCode(h.getSo2Flag()); + String noxflag = WhiteListTypeEnum.getNameByCode(h.getNoxFlag()); + String smokeflag = WhiteListTypeEnum.getNameByCode(h.getSmokeDustFlag()); + + QueryWrapper maxQueryWrapper = new QueryWrapper<>(); + maxQueryWrapper.select("round(max(cast(so2_emission as decimal)),2) as so2_emission,round(max(cast(nox_emission as decimal)),2) as nox_emission,round(max(cast(smoke_dust_emission as decimal)),2) as smoke_dust_emission"); + maxQueryWrapper.eq("factory_id", h.getFactoryId()); + maxQueryWrapper.eq("outlet_id", h.getOutletId()); + maxQueryWrapper.eq("data_type", "H"); + maxQueryWrapper.ge("monitoring_time", minHour); + maxQueryWrapper.lt("monitoring_time", lastHourBegin); + SEnvGasMonHour maxHourData = isEnvGasMonHourService.getOne(maxQueryWrapper); + log.info("720小时最大排放量:"+JSONObject.toJSONString(maxHourData)); + String so2Invalid = InvalidStateEnum.getNameByCode(h.getSo2Flag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(so2Invalid)){ + if(maxHourData!=null&&maxHourData.getSo2Emission()!=null){ + if(Double.valueOf(maxHourData.getSo2Emission())>Double.valueOf(1000)){ + h.setSo2CorrectEmission("1000"); + }else { + h.setSo2CorrectEmission(maxHourData.getSo2Emission()); + } + } + } + + String noxInvalid = InvalidStateEnum.getNameByCode(h.getNoxFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(noxInvalid)){ + if(maxHourData!=null&&maxHourData.getNoxEmission()!=null){ + if(Double.valueOf(maxHourData.getNoxEmission())>Double.valueOf(1500)){ + h.setNoxCorrectEmission("1500"); + }else { + h.setNoxCorrectEmission(maxHourData.getNoxEmission()); + } + } + } + + String smokeInvalid = InvalidStateEnum.getNameByCode(h.getSmokeDustFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(smokeInvalid)){ + if(maxHourData!=null&&maxHourData.getSmokeDustEmission()!=null){ + if(Double.valueOf(maxHourData.getSmokeDustEmission())>Double.valueOf(300)){ + h.setSmokeDustCorrectEmission("300"); + }else { + h.setSmokeDustCorrectEmission(maxHourData.getSmokeDustEmission()); + } + } + } + if(StringUtils.isNotEmpty(so2Invalid)||StringUtils.isNotEmpty(smokeInvalid)||StringUtils.isNotEmpty(noxInvalid)) { + flagList.add(h); + } + }); + } + + if(flagList!=null&&flagList.size()>0){ + List> part = ListUtil.partition(flagList, 2000); + part.forEach(i->{ + isEnvGasMonHourService.saveOrUpdateBatch(i); + }); + } + + long end = System.currentTimeMillis(); + log.info("空气监测停产标记结束##耗时:"+(end-start)+"毫秒"); + } + + + @Override + public void doProcessWaterStationDataFlag() { + List list = new ArrayList<>(); + + Date curr = new Date(); + Date lastDayBegin = DateUtils.parseFormatDate("yyyy-MM-dd 00:00:00",DateUtils.addDateDays(curr,-1)); + Date lastDayEnd = DateUtils.parseFormatDate("yyyy-MM-dd 23:59:59",DateUtils.addDateDays(curr,-1)); + + List hList = DateUtils.getRangeTimes("H",DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",lastDayBegin),DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",lastDayEnd)); + hList.forEach(lastHour->{ + Date lastHourDate = DateUtils.parseDate(lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHourDate); + QueryWrapper stopinfoQueryWrapper = new QueryWrapper<>(); + stopinfoQueryWrapper.le("start_time_format",lastHourDate); + stopinfoQueryWrapper.gt("end_time_format",lastHourDate); + stopinfoQueryWrapper.eq("enable","1"); + List stopList = odsOnlineOlStopinfoAService.list(stopinfoQueryWrapper); + log.info("废水监测停产标记停产记录:"+stopList.size()); + if(stopList!=null&&stopList.size()>0){ + stopList.forEach(real ->{ + + // 停产标记 + String dataFlag = StopTypeEnum.getNameByCode(real.getDcsType()); + List stationList = pcOutletMapper.selectEnableList(real.getFactoryId(),"2",real.getPortName()); + stationList.forEach(s ->{ + QueryWrapper waterQueryWrapper = new QueryWrapper<>(); + waterQueryWrapper.eq("factory_id",s.getFactoryId()); + waterQueryWrapper.eq("outlet_id",s.getId()); + waterQueryWrapper.eq("data_type","H"); + waterQueryWrapper.eq("monitoring_time",lastHourDate); + + List gasRealHourList = isEnvWaterMonHourService.list(waterQueryWrapper); + if(gasRealHourList!=null&&gasRealHourList.size()>0) { + gasRealHourList.forEach(h -> { + h.setDataFlag(dataFlag); + list.add(h); + }); + } + QueryWrapper gasRealQueryWrapper = new QueryWrapper<>(); + gasRealQueryWrapper.eq("factory_id",s.getFactoryId()); + gasRealQueryWrapper.eq("outlet_id",s.getId()); + gasRealQueryWrapper.eq("data_type","M"); + if(lastHourDate.getTime()>real.getStartTime().getTime()) { + if(lastHourEnd.getTime()>real.getEndTime().getTime()) { + gasRealQueryWrapper.between("monitoring_time", lastHourDate, real.getEndTime()); + }else{ + gasRealQueryWrapper.between("monitoring_time", lastHourDate, lastHourEnd); + } + }else{ + if(lastHourEnd.getTime()>real.getEndTime().getTime()) { + gasRealQueryWrapper.between("monitoring_time", real.getStartTime(), real.getEndTime()); + }else{ + gasRealQueryWrapper.between("monitoring_time", real.getStartTime(), lastHourEnd); + } + } + + List gasRealList = isEnvWaterMonRealService.list(gasRealQueryWrapper); + if(gasRealList!=null&&gasRealList.size()>0) { + gasRealList.forEach(h -> { + h.setDataFlag(dataFlag); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",h.getId()); + updateWrapper.eq("factory_id",h.getFactoryId()); + updateWrapper.eq("outlet_id",h.getOutletId()); + updateWrapper.eq("data_type","M"); + updateWrapper.eq("monitoring_time",h.getMonitoringTime()); + updateWrapper.set("data_flag",dataFlag); + isEnvWaterMonRealService.update(updateWrapper); + }); + } + + }); + + }); + } + }); + + if(list!=null&&list.size()>0){ + List> part = ListUtil.partition(list, 2000); + part.forEach(i-> { + isEnvWaterMonHourService.saveOrUpdateBatch(i); + }); + } + + List flagList = new ArrayList<>(); + List gasHourList = isEnvWaterMonHourService.selectLastDayData("2",lastDayBegin,lastDayEnd); + if (gasHourList != null && gasHourList.size() > 0) { + gasHourList.forEach(h -> { + + Date minHour = DateUtils.parseFormatDate("yyyy-MM-dd 00:00:00",DateUtils.addDateDays(h.getDateTime(),-30)); + String codFlag = WhiteListTypeEnum.getNameByCode(h.getCodFlag()); + String aFlag = WhiteListTypeEnum.getNameByCode(h.getAmmoniaNitrogenFlag()); + String pFlag = WhiteListTypeEnum.getNameByCode(h.getPhosphorusConcentrationFlag()); + String nFlag = WhiteListTypeEnum.getNameByCode(h.getNitrogenConcentrationFlag()); + + QueryWrapper maxQueryWrapper = new QueryWrapper<>(); + maxQueryWrapper.select("round(max(cast(cod_emission as decimal)),2) as cod_emission,round(max(cast(ammonia_nitrogen_emission as decimal)),2) as ammonia_nitrogen_emission,round(max(cast(nitrogen_concentration_emission as decimal)),2) as nitrogen_concentration_emission,round(max(cast(phosphorus_concentration_emission as decimal)),2) as phosphorus_concentration_emission"); + maxQueryWrapper.eq("factory_id", h.getFactoryId()); + maxQueryWrapper.eq("outlet_id", h.getOutletId()); + maxQueryWrapper.eq("data_type", "D"); + maxQueryWrapper.ge("monitoring_time", minHour); + maxQueryWrapper.lt("monitoring_time", h.getMonitoringTime()); + SEnvWaterMonDay codMax = isEnvWaterMonDayService.getOne(maxQueryWrapper); + + String codInvalid = InvalidStateEnum.getNameByCode(h.getCodFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(codInvalid)){ + if(codMax!=null&&codMax.getCodEmission()!=null){ + h.setCodCorrectEmission(codMax.getCodEmission()); + } + } + String ammInvalid = InvalidStateEnum.getNameByCode(h.getAmmoniaNitrogenFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(ammInvalid)){ + if(codMax!=null&&codMax.getAmmoniaNitrogenEmission()!=null){ + h.setAmmoniaCorrectEmission(codMax.getAmmoniaNitrogenEmission()); + } + } + String nitInvalid = InvalidStateEnum.getNameByCode(h.getNitrogenConcentrationFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(nitInvalid)){ + if(codMax!=null&&codMax.getNitrogenConcentrationEmission()!=null){ + h.setNitrogenCorrectEmission(codMax.getNitrogenConcentrationEmission()); + } + } + String phInvalid = InvalidStateEnum.getNameByCode(h.getPhosphorusConcentrationFlag()); + // 无效时段数据,取前720小时内最大值,作为修约排放量,上限最大值1000kg + if(StringUtils.isNotEmpty(phInvalid)){ + if(codMax!=null&&codMax.getPhosphorusConcentrationEmission()!=null){ + h.setPhosphorusCorrectEmission(codMax.getPhosphorusConcentrationEmission()); + } + } + + flagList.add(h); + }); + } + if(flagList!=null&&flagList.size()>0){ + List> part = ListUtil.partition(flagList, 2000); + part.forEach(i-> { + isEnvWaterMonHourService.saveOrUpdateBatch(i); + }); + } + + } + + @Override + public void doProcessHourPollutantConcentration() { + long st = System.currentTimeMillis(); + log.info("废气污染物连续8小时处于标准值20%定时任务开始"); + String str = "(\\d+\\.\\d+)"; + Pattern r = Pattern.compile(str); + + List problemList = new ArrayList<>(); + + Date curr = new Date(); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",DateUtils.addDateHours(curr,-9)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("pollutant_type","4"); + queryWrapper.eq("pollutant_outlet_type","1"); + queryWrapper.eq("is_status","1"); + List gasStationList = pcOutletMapper.selectList(queryWrapper); + if(gasStationList!=null&&gasStationList.size()>0){ + gasStationList.forEach(h->{ + + QueryWrapper controlQueryWrapper = new QueryWrapper<>(); + controlQueryWrapper.eq("factory_id",h.getFactoryId()); + controlQueryWrapper.eq("outlet_id",h.getId()); + controlQueryWrapper.notIn("permissible_concentration_lim_hour","/"); + controlQueryWrapper.isNotNull("permissible_concentration_lim_hour"); + List cList = pcControlRequirementsService.list(controlQueryWrapper); + if(cList!=null&&cList.size()>0){ + cList.forEach(t->{ + Matcher m = r.matcher(t.getPermissibleConcentrationLimHour()); + if(m.matches()) { + try { + Double d = Double.valueOf(t.getPermissibleConcentrationLimHour()); + BigDecimal minValue = new BigDecimal(0.2).multiply(new BigDecimal(d)); + String param = emissionsConstants.getGasPollutants().get(t.getPollutantId()); + if(StringUtils.isNotEmpty(param)) { + QueryWrapper gasQueryWrapper = new QueryWrapper<>(); + gasQueryWrapper.eq("factory_id", t.getFactoryId()); + gasQueryWrapper.eq("outlet_id", t.getOutletId()); + gasQueryWrapper.eq("data_type", "H"); + gasQueryWrapper.ge("date_time", lastHourBegin); + gasQueryWrapper.lt(param.toLowerCase(), minValue); + List gasHourList = isEnvGasMonHourService.list(gasQueryWrapper); + // 连续8小时低于,排放浓度20% + if (gasHourList != null && gasHourList.size() >= 8) { + StringBuffer sb = new StringBuffer(); + sb.append(h.getStationName()).append("污染物").append(param).append("连续8小时处于标准值").append(d).append("的20%以下,请及时排查。"); + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setFactoryId(t.getFactoryId()); + problemFi.setProblemSources("1"); + problemFi.setProblemType(ProblemTypeEnum.STABLE_LOW.getCode()); + problemFi.setCreateTime(new Date()); + problemFi.setStationId(h.getStationId()); + problemFi.setStationName(h.getStationName()); + problemFi.setParamProperty(param); + problemFi.setType(0); + problemFi.setProblemDetails(sb.toString()); + problemList.add(problemFi); + } + } + } catch (NumberFormatException e) { + log.error("查询异常"); + } + } + }); + } + }); + } + if(problemList!=null&&problemList.size()>0){ + List> part = ListUtil.partition(problemList, 2000); + part.forEach(i->{ + amProblemFiService.saveBatch(i); + }); + problemList.clear(); + } + long end = System.currentTimeMillis(); + log.info("废气污染物连续8小时处于标准值20%定时任务结束-耗时:"+(end-st)+"毫秒"); + + log.info("废气污染物连续8小时处于标准值20%定时任务开始"); + long waterSt = System.currentTimeMillis(); + QueryWrapper waterQueryWrapper = new QueryWrapper<>(); + waterQueryWrapper.eq("pollutant_type","4"); + waterQueryWrapper.eq("pollutant_outlet_type","2"); + waterQueryWrapper.eq("is_status","1"); + List waterStationList = pcOutletMapper.selectList(waterQueryWrapper); + if(waterStationList!=null&&waterStationList.size()>0){ + waterStationList.forEach(w->{ + QueryWrapper controlQueryWrapper = new QueryWrapper<>(); + controlQueryWrapper.eq("factory_id",w.getFactoryId()); + controlQueryWrapper.eq("outlet_id",w.getId()); + controlQueryWrapper.notIn("permissible_concentration_lim_hour","/"); + controlQueryWrapper.isNotNull("permissible_concentration_lim_hour"); + List cList = pcControlRequirementsService.list(controlQueryWrapper); + if(cList!=null&&cList.size()>0){ + cList.forEach(t->{ + Matcher m = r.matcher(t.getPermissibleConcentrationLimHour()); + if(m.matches()) { + try { + Double d = Double.valueOf(t.getPermissibleConcentrationLimHour()); + BigDecimal minValue = new BigDecimal(0.2).multiply(new BigDecimal(d)); + String param = emissionsConstants.getWaterPollutants().get(t.getPollutantId()); + if(StringUtils.isNotEmpty(param)) { + QueryWrapper gasQueryWrapper = new QueryWrapper<>(); + gasQueryWrapper.eq("factory_id", t.getFactoryId()); + gasQueryWrapper.eq("outlet_id", t.getOutletId()); + gasQueryWrapper.eq("data_type", "H"); + gasQueryWrapper.ge("date_time", lastHourBegin); + gasQueryWrapper.lt(param.toLowerCase(), minValue); + List waterHourList = isEnvWaterMonRealService.list(gasQueryWrapper); + // 连续8小时低于,排放浓度20% + if (waterHourList != null && waterHourList.size() >= 8) { + StringBuffer sb = new StringBuffer(); + sb.append(w.getStationName()).append("污染物").append(param).append("连续8小时处于标准值").append(d).append("的20%以下,请及时排查。"); + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setFactoryId(t.getFactoryId()); + problemFi.setProblemSources("1"); + problemFi.setProblemType(ProblemTypeEnum.STABLE_LOW.getCode()); + problemFi.setCreateTime(new Date()); + problemFi.setStationId(w.getStationId()); + problemFi.setStationName(w.getStationName()); + problemFi.setParamProperty(param); + problemFi.setType(0); + problemFi.setProblemDetails(sb.toString()); + problemList.add(problemFi); + } + } + } catch (NumberFormatException e) { + log.error("查询异常"); + } + } + }); + } + + }); + } + + if(problemList!=null&&problemList.size()>0){ + List> part = ListUtil.partition(problemList, 2000); + part.forEach(i->{ + amProblemFiService.saveBatch(i); + }); + } + long waterEnd = System.currentTimeMillis(); + log.info("废水污染物连续8小时处于标准值20%定时任务结束-耗时:"+(waterEnd-waterSt)+"毫秒"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IDisPermitServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IDisPermitServiceImpl.java new file mode 100644 index 0000000..5174994 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IDisPermitServiceImpl.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BMainPollDis; +import cn.cecep.talroad.domain.BMainPollDis.PwxkzType; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.IBMainPollDisService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.analysis.IDisPermitService; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-06-09 16:05 + * @Class: IDisPermitServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Service +public class IDisPermitServiceImpl implements IDisPermitService { + + @Autowired + private IBMainPollDisService ibMainPollDisService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private IAmProblemFiService amProblemFiService; + + + @Override + public void doDisPermitWarn() { + List alarmList = new ArrayList<>(); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.X01.getCode()); + if(config!=null) { + Date curr = new Date(); + String currDay = DateUtils.parseDateToStr("yyyy-MM-dd", curr); + String deadLineDay = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDateDays(curr, config.getThresholdValue().intValue())); + + List list = ibMainPollDisService.selectDisPermitData(PwxkzType.TYPE_3.code, currDay, deadLineDay); + list.forEach(d ->{ + StringBuffer sb = new StringBuffer(); + sb.append("贵单位排污许可证(许可证编号:").append(d.getPollDisLicenseCode()).append(")将于").append(d.getDeadlineTime()); + sb.append("届满,请及时登录全国排污许可证管理信息平台进行排污许可证延续。"); + doSaveAlarmData(alarmList, d,ProblemTypeEnum.PERMIT_WARN, sb); + }); + if(alarmList!=null&&alarmList.size()>0) { + amProblemFiService.saveBatch(alarmList); + } + } + } + + + @Override + public void doDisPermitExceed() { + List alarmList = new ArrayList<>(); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.X02.getCode()); + if(config!=null) { + Date curr = new Date(); + String currDay = DateUtils.parseDateToStr("yyyy-MM-dd", curr); + String deadLineDay = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDateDays(curr, config.getThresholdValue().intValue())); + + List list = ibMainPollDisService.selectDisPermitData(PwxkzType.TYPE_4.code, currDay, deadLineDay); + list.forEach(d ->{ + StringBuffer sb = new StringBuffer(); + sb.append("贵单位排污许可证(整改通知书编号:").append(d.getPollDisLicenseCode()).append(")将于").append(d.getDeadlineTime()); + sb.append("届满,请及时登录全国排污许可证管理信息平台在排污许可证申请模块进行排污许可证整改后申请。"); + doSaveAlarmData(alarmList, d,ProblemTypeEnum.PERMIT_WARN, sb); + }); + + if(alarmList!=null&&alarmList.size()>0) { + amProblemFiService.saveBatch(alarmList); + } + } + + } + + + /** + * 保存预警预报数据 + * @param alarmList + * @param d + * @param sb + */ + private void doSaveAlarmData(List alarmList, BMainPollDis d,ProblemTypeEnum problemTypeEnum, StringBuffer sb) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setProblemSources("1"); + problemFi.setFactoryId(d.getFactoryId()); + problemFi.setProblemDetails(sb.toString()); + problemFi.setType(1); + problemFi.setProblemType(problemTypeEnum.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setCreateTime(new Date()); + alarmList.add(problemFi); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IFacilityAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IFacilityAnalysisServiceImpl.java new file mode 100644 index 0000000..c344e9d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/IFacilityAnalysisServiceImpl.java @@ -0,0 +1,503 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevBlRealService; +import cn.cecep.talroad.service.IMonDevDlRealService; +import cn.cecep.talroad.service.IMonDevFsRealService; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.service.IMonDevSnRealService; +import cn.cecep.talroad.service.analysis.IFacilityAnalysisService; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.PumpStateVo; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-06-02 10:04 + * @Class: IFacilityAnalysisServiceImpl + * @Deseription: 治理设施分析服务 + * @Version V1.0 + */ +@Service +public class IFacilityAnalysisServiceImpl implements IFacilityAnalysisService { + + @Autowired + private IMonDevFsRealService monDevFsRealService; + @Autowired + private IMonDevDlRealService monDevDlRealService; + @Autowired + private IMonDevBlRealService monDevBlRealService; + @Autowired + private IMonDevRealService monDevRealService; + @Autowired + private IMonDevJhRealService monDevJhRealService; + @Autowired + private IMonDevSnRealService monDevSnRealService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + + @Override + public void analysisPhData() { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastDay = DateUtils.addDateDays(curr,-1); + Date lastDayBegin = DateUtils.parseFormatDate("yyyy-MM-dd 00:00:00",lastDay); + Date lastDayEnd = DateUtils.parseFormatDate("yyyy-MM-dd 23:59:59",lastDay); + BasThresholdConfig minConfig = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.PH01.getCode()); + BasThresholdConfig maxConfig = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.PH01.getCode()); + BigDecimal minValue = minConfig.getThresholdValue(); + BigDecimal maxValue = maxConfig.getThresholdValue(); + + List blList = monDevBlRealService.selectAvgPhByParams(lastDayBegin,lastDayEnd); + doProcessAlarmData(blList,alarmList,curr,minValue,maxValue,"脱硫洗涤塔pH值","bz103"); + List dlList = monDevDlRealService.selectAvgPhByParams(lastDayBegin,lastDayEnd); + doProcessAlarmData(dlList,alarmList,curr,minValue,maxValue,"脱硫吸收剂pH值","hz103"); + List fsList = monDevFsRealService.selectAvgPhByParams(lastDayBegin,lastDayEnd); + doProcessAlarmData(fsList,alarmList,curr,minValue,maxValue,"脱硫吸收塔内浆液pH值","fz104"); + + // 批量保存报警 + this.doSaveBatchAlarm(alarmList); + } + + @Override + public void analysisPumpStateData() { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastHour = DateUtils.addDateHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + + List blList = monDevBlRealService.selectPumpStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmData(blList,alarmList,curr,"脱硫浆液循环泵运行状态","bz106"); + List dlList = monDevDlRealService.selectPumpStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmData(dlList,alarmList,curr,"脱硫浆液循环泵运行状态","hz107"); + List snList = monDevSnRealService.selectPumpStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmData(snList,alarmList,curr,"脱硫浆液循环泵运行状态","sz110"); + List fsList = monDevFsRealService.selectPumpStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmData(fsList,alarmList,curr,"脱硫浆液循环泵运行状态","fz106"); + + // 批量保存报警 + this.doSaveBatchAlarm(alarmList); + } + + @Override + public void analysisOxFanStateData() { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastHour = DateUtils.addDateHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + + List dlList = monDevDlRealService.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmOxFanData(dlList,alarmList,curr,"氧化风机状态","g138"); + List snList = monDevSnRealService.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmElecData(snList,alarmList,curr,"脱硫湿法氧化风机电流","sz111"); + List fsList = monDevFsRealService.selectOxFanStateByParams(lastHourBegin,lastHourEnd); + doProcessAlarmElecData(fsList,alarmList,curr,"脱硫湿法氧化风机电流","fz105"); + + // 批量保存报警 + this.doSaveBatchAlarm(alarmList); + } + + @Override + public void analysisScrTemp() { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastHour = DateUtils.addDateHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + + List blList = monDevBlRealService.selectAvgTempByParams(lastHourBegin,lastHourEnd); + doProcessAlarmTempData(blList,alarmList,lastHour, "反应器入口烟气温度(SCR 艺)","g329"); + List fsList = monDevFsRealService.selectAvgTempByParams(lastHourBegin,lastHourEnd); + doProcessAlarmTempData(fsList,alarmList,lastHour, "反应器入口烟气温度(SCR 艺)","g335"); + List jhList = monDevJhRealService.selectAvgTempByParams(lastHourBegin,lastHourEnd); + doProcessAlarmTempData(jhList,alarmList,lastHour, "反应器入口烟气温度(SCR 艺)","jz109"); + List gtList = monDevRealService.selectAvgTempByParams(lastHourBegin,lastHourEnd); + doProcessAlarmTempData(gtList,alarmList,lastHour, "反应器入口烟气温度(SCR 艺)","g329"); + + // 批量保存报警 + this.doSaveBatchAlarm(alarmList); + } + + @Override + public void analysisPressOverStand() { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastHour = DateUtils.addDateHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + + List jhList = monDevJhRealService.selectAvgPressByParams(lastHourBegin,lastHourEnd); + doProcessAlarmPressData(jhList,alarmList,curr); + List gtList = monDevRealService.selectAvgPressByParams(lastHourBegin,lastHourEnd); + doProcessAlarmPressData(gtList,alarmList,curr); + + // 批量保存报警 + this.doSaveBatchAlarm(alarmList); + } + + /** + * 压差过高报警 + * @param jhList + * @param alarmList + * @param curr + */ + private void doProcessAlarmPressData(List jhList, List alarmList, Date curr) { + if(jhList!=null&&jhList.size()>0){ + String lastHourStr = DateUtils.parseDateToStr("yyyy-MM-dd HH",curr); + // 压差比例 + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.P03.getCode()); + jhList.forEach(real->{ + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(),Arrays.asList("g318", "g325")); + if(paramsList!=null&¶msList.size()>0){ + //标准压差 + BigDecimal pressStandDiff = new BigDecimal(0); + AtomicReference ent = new AtomicReference<>(new BigDecimal(0)); + AtomicReference exit = new AtomicReference<>(new BigDecimal(0)); + // 获取入口、出口标准压力 + paramsList.forEach(p->{ + if("g318".equals(p.getParamCodeSvc())&&p.getNormalValue()!=null){ + ent.set(p.getNormalValue()); + } + if("g325".equals(p.getParamCodeSvc())&&p.getNormalValue()!=null){ + exit.set(p.getNormalValue()); + } + }); + // 入口、出口标准压力不为空 + if(ent.get().compareTo(new BigDecimal(0))!=0&&exit.get().compareTo(new BigDecimal(0))!=0){ + pressStandDiff = ent.get().subtract(exit.get()).setScale(2, RoundingMode.HALF_UP).abs(); + } + //标准压差不为0 + if(pressStandDiff.compareTo(new BigDecimal(0))!=0){ + // 实际入口、出口压差 + BigDecimal realPressDiff = real.getAvgValue().subtract(real.getAvgValue2()).setScale(2,RoundingMode.HALF_UP).abs(); + //求百分比 + BigDecimal rate = new BigDecimal(1).add(config.getThresholdValue().divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)); + BigDecimal maxPress = pressStandDiff.multiply(rate); + //实际压差大于标准压差25%以上,则生成报警记录 + if(realPressDiff.compareTo(maxPress)>0){ + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append(lastHourStr).append("脱硝系统进出口压差过高,反应区积灰过多,出口NOX有超标风险,请及时排查。"); + AmProblemFi problemFi = doProcessAlaram(vo, curr, new Date(), ProblemTypeEnum.SCR_TEMP_ERROR, sb.toString(), "脱硝入口压力,脱硝出口压力", "g318,g325"); + alarmList.add(problemFi); + } + } + } + }); + } + } + + /** + * SCR反应器入口温度过低报警 + * @param blList + * @param alarmList + */ + private void doProcessAlarmTempData(List blList,List alarmList,Date curr,String param,String paramProperty) { + if (blList != null && blList.size() > 0) { + String lastHourStr = DateUtils.parseDateToStr("yyyy-MM-dd HH",curr); + blList.forEach(real -> { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id",real.getDeviceId()); + queryWrapper.eq("param_id",paramProperty); + queryWrapper.last("limit 1"); + BasDeviceParam params = basDeviceParamService.getOne(queryWrapper); + if(StringUtils.isNotEmpty(params.getMinValue())&&StringUtils.isNotEmpty(params.getMaxValue())) { + BigDecimal minValue = new BigDecimal(params.getMinValue()); + BigDecimal maxValue = new BigDecimal(params.getMaxValue()); + // 小时温度均值,小于最小值则生成报警数据 + if (real.getAvgValue().compareTo(minValue) < 0 ) { + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append(lastHourStr).append("脱硝系统反应区温度为").append(real.getAvgValue()).append("℃,"); + sb.append("标准温度为").append(minValue).append("-").append(maxValue).append("℃,当前脱硝系统反应区温度过低,出口NOX有超标风险,请注意排查。"); + AmProblemFi problemFi = doProcessAlaram(vo, curr, new Date(), ProblemTypeEnum.SCR_TEMP_ERROR, sb.toString(), param, paramProperty); + alarmList.add(problemFi); + } + } + }); + } + } + + /** + * 根据氧化风机电流分析-氧化风机运行异常 + * @param snList + * @param alarmList + * @param curr + * @param param + * @param paramProperty + */ + private void doProcessAlarmElecData(List snList, List alarmList, Date curr, String param, String paramProperty) { + if(snList!=null&&snList.size()>0) { + Date lastHour = DateUtils.addDateHours(curr,-1); + String lastHourStr = DateUtils.parseDateToStr("yyyy-MM-dd HH",lastHour); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.P02.getCode()); + snList.forEach(real->{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id",real.getDeviceId()); + queryWrapper.eq("param_id",paramProperty); + queryWrapper.last("limit 1"); + BasDeviceParam params = basDeviceParamService.getOne(queryWrapper); + if(params!=null&&StringUtils.isNotEmpty(params.getMinValue())){ + // 过滤电流大于额定电流的数据条数 + Map map = snList.stream().filter(r-> r.getStateValue().compareTo(new BigDecimal(params.getMinValue()))>0).collect(Collectors.groupingBy(PumpStateVo::getDeviceId,Collectors.counting())); + Map dCount = new HashMap<>(); + // 过滤出addiParam不为空,存在多个风机电流信息 + snList.stream().filter(r->StringUtils.isNotEmpty(r.getAddiParam())).forEach(p->{ + JSONObject obj = JSONObject.parseObject(p.getAddiParam()); + // 设备额外风机数量 + dCount.put(p.getDeviceId(),obj.keySet().size()); + obj.values().forEach(t->{ + // 风机电流大于额定电流10%的,放到map集合 + if(new BigDecimal((String)t).compareTo(new BigDecimal(params.getMinValue()))>0){ + Long oldV = map.get(p.getDeviceId()); + if(oldV!=null){ + map.put(p.getDeviceId(),oldV+1); + }else{ + map.put(p.getDeviceId(),1L); + } + } + }); + }); + // 遍历所有设备状态为1的判断是否报警 + map.forEach((d,count)->{ + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(d); + StringBuffer sb = new StringBuffer(); + // 额外循环泵的数量 + Integer pCount = dCount.get(d); + if(pCount!=null){ + if(count blList,List alarmList,Date curr,String param,String paramProperty) { + if(blList!=null && blList.size()>0){ + Date lastHour = DateUtils.addDateHours(curr,-1); + String lastHourStr = DateUtils.parseDateToStr("yyyy-MM-dd HH",lastHour); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.P02.getCode()); + Map map = blList.stream().filter(r-> r.getStateValue().intValue()==1).collect(Collectors.groupingBy(PumpStateVo::getDeviceId,Collectors.counting())); + Map dCount = new HashMap<>(); + // 过滤出addiParam不为空,存在多个循环泵的信息 + blList.stream().filter(r->StringUtils.isNotEmpty(r.getAddiParam())).forEach(p->{ + JSONObject obj = JSONObject.parseObject(p.getAddiParam()); + // 设备循环泵额外的个数 + dCount.put(p.getDeviceId(),obj.keySet().size()); + obj.values().forEach(t->{ + // 循环泵状态为1的放到map集合 + if(new BigDecimal((String)t).compareTo(new BigDecimal(1))==0){ + Long oldV = map.get(p.getDeviceId()); + if(oldV!=null){ + map.put(p.getDeviceId(),oldV+1); + }else{ + map.put(p.getDeviceId(),1L); + } + } + }); + }); + + // 遍历所有设备状态为1的判断是否报警 + map.forEach((d,count)->{ + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(d); + StringBuffer sb = new StringBuffer(); + // 额外循环泵的数量 + Integer pCount = dCount.get(d); + if(pCount!=null){ + if(count blList,List alarmList,Date curr,String param,String paramProperty) { + if(blList!=null && blList.size()>0){ + Date lastHour = DateUtils.addDateHours(curr,-1); + String lastHourStr = DateUtils.parseDateToStr("yyyy-MM-dd HH",lastHour); + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.P01.getCode()); + Map map = blList.stream().filter(r-> r.getStateValue().intValue()==1).collect(Collectors.groupingBy(PumpStateVo::getDeviceId,Collectors.counting())); + Map dCount = new HashMap<>(); + // 过滤出addiParam不为空,存在多个循环泵的信息 + blList.stream().filter(r->StringUtils.isNotEmpty(r.getAddiParam())).forEach(p->{ + JSONObject obj = JSONObject.parseObject(p.getAddiParam()); + // 设备循环泵额外的个数 + dCount.put(p.getDeviceId(),obj.keySet().size()); + obj.values().forEach(t->{ + // 循环泵状态为1的放到map集合 + if(new BigDecimal((String)t).compareTo(new BigDecimal(1))==0){ + Long oldV = map.get(p.getDeviceId()); + if(oldV!=null){ + map.put(p.getDeviceId(),oldV+1); + }else{ + map.put(p.getDeviceId(),1L); + } + } + }); + }); + + // 遍历所有设备状态为1的判断是否报警 + map.forEach((d,count)->{ + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(d); + StringBuffer sb = new StringBuffer(); + // 额外循环泵的数量 + Integer pCount = dCount.get(d); + if(pCount!=null){ + if(count blList,List alarmList,Date curr,BigDecimal minValue,BigDecimal maxValue,String param,String paramProperty) { + if (blList != null && blList.size() > 0) { + blList.forEach(real -> { + // 日均PH值,小于最小值,大于最大值则生成报警数据 + if(real.getAvgValue().compareTo(minValue)<0||real.getAvgValue().compareTo(maxValue)>0){ + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("湿法脱硫浆液PH值日均值为").append(real.getAvgValue()).append(",超出合理理范围(").append(minValue).append("-").append(maxValue).append("),"); + sb.append(",PH过高,石灰石中碳酸钙溶出速度变慢,二氧化硫的氧化也受到抑制,两种物质的增加易发生结垢、堵塞现象。低PH会抑制SO2的吸收,低于4.0后,SO2几乎不被浆液吸收,而且会加剧设备的腐蚀。请注意排查。"); + AmProblemFi problemFi = doProcessAlaram(vo,curr,new Date(),ProblemTypeEnum.PH_OVER,sb.toString(),param,paramProperty); + alarmList.add(problemFi); + } + }); + } + } + + /** + * 生成报警数据 + * @param vo + * @param start + * @param end + * @param problemType + * @param msg + * @param param + * @param paramProperty + * @return + */ + private AmProblemFi doProcessAlaram(FactoryDeviceVo vo, Date start, Date end, ProblemTypeEnum problemType, String msg,String param ,String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setProblemSources("1"); + problemFi.setFactoryId(vo.getFactoryId()); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(vo.getDeviceId()); + problemFi.setStationName(vo.getDeviceName()); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setParamProperty(paramProperty); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",vo.getDeviceId()); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + + /** + * 批量保存报警 + * @param list + */ + private void doSaveBatchAlarm(List list){ + if(list!=null&&list.size()>0) { + amProblemFiService.saveBatch(list); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/MonitoringAnalyseServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/MonitoringAnalyseServiceImpl.java new file mode 100644 index 0000000..e248529 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/MonitoringAnalyseServiceImpl.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.cecep.talroad.domain.analysis.SRaControlScheme; +import cn.cecep.talroad.service.IAmDoorMonitorAccountFiService; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.analysis.IMonitoringAnalyseService; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisCarService; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisLowCarService; +import cn.cecep.talroad.service.analysis.ISRaControlSchemeService; +import cn.cecep.talroad.vo.AmDoorMonitorAccountFiVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-01 17:52 + * @Class: MonitoringAnalyseServiceImpl + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service +public class MonitoringAnalyseServiceImpl implements IMonitoringAnalyseService { + + @Autowired + private IAmDoorMonitorAccountFiService amDoorMonitorAccountFiService; + @Autowired + private IPcFactoryService pcFactoryService; + @Autowired + private ISRaAbNalysisLowCarService raAbNalysisLowCarService; + @Autowired + private ISRaAbNalysisCarService raAbNalysisCarService; + @Autowired + private ISRaControlSchemeService raControlSchemeService; + + @Override + public void doAnalyseHourCarEnterAndOut() { + List carList = new ArrayList<>(); + Date start = DateUtils.addDays(new Date(),-1); + String lastHourBegin = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",start); + String lastHourEnd = DateUtils.parseDateToStr("yyyy-MM-dd HH:59:59",start); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("stop_car","1"); + queryWrapper.lt("control_start_time",start); + queryWrapper.gt("control_end_time",start); + List list = raControlSchemeService.list(queryWrapper); + if(list!=null&&list.size()>0){ + list.forEach(c ->{ + // 查询每个企业所有管控时间段内国四及以下车辆进出记录 + List resultList = amDoorMonitorAccountFiService.selectCarEntryCount(c.getControlStartTime(),c.getControlEndTime(),lastHourBegin,lastHourEnd); + // 车辆进出次数不为空 + if(resultList!=null&&resultList.size()>0) { + resultList.forEach(r->{ + PcFactory pc = pcFactoryService.selectPcFactoryById(r.getFactoryId()); + SRaAbNalysisCar low = new SRaAbNalysisCar(); + low.setFactoryId(r.getFactoryId()); + low.setFactoryName(pc.getFactoryName()); + low.setDistrictCode(pc.getCityCode()); + low.setDistrictName(pc.getCityName()); + low.setIndustryCategoryCode(pc.getIndustryCategory()); + low.setIndustryCategoryName(pc.getIndusName()); + low.setPerformanceLevel(pc.getPreConLevel()); + low.setInOutNumber(Long.valueOf(r.getQuantity())); + low.setAnalyseTimeStart(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,c.getControlStartTime())); + low.setAnalyseTimeEnd(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,c.getControlEndTime())); + carList.add(low); + }); + } + }); + if(carList!=null&&carList.size()>0) { + raAbNalysisCarService.saveBatch(carList); + } + } + + } + + @Override + public void doAnalyseDayCarEnterAndOut() { + List carList = new ArrayList<>(); + Map lowCarMap = new HashMap<>(); + Date current = new Date(); + // 获取前一天时间 + Date start = DateUtils.addHours(current,-1); + String lastDayBegin = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",start); + String lastDayEnd = DateUtils.parseDateToStr("yyyy-MM-dd HH:59:59",start); + List list = amDoorMonitorAccountFiService.selectLabelAccount(lastDayBegin,lastDayEnd); + + if(list!=null&&list.size()>0){ + Map> map = list.stream().collect(Collectors.groupingBy(AmDoorMonitorAccountFiVo::getFactoryId)); + map.forEach((key, voList) -> { + SRaAbNalysisLowCar low = lowCarMap.get(key); + if(low==null){ + low = new SRaAbNalysisLowCar(); + } + SRaAbNalysisLowCar finalLow = low; + voList.forEach(vo->{ + switch (vo.getDischargeStage()){ + case "V": + finalLow.setFiveNumber(Long.valueOf(vo.getQuantity())); + case "VI": + finalLow.setSixNumber(Long.valueOf(vo.getQuantity())); + case "NE": + finalLow.setNeNumber(Long.valueOf(vo.getQuantity())); + break; + default: + if (finalLow.getInOutNumber() != null) { + finalLow.setInOutNumber(finalLow.getInOutNumber() + Long.valueOf(vo.getQuantity())); + } else { + finalLow.setInOutNumber(Long.valueOf(vo.getQuantity())); + } + break; + } + + }); + finalLow.setFactoryId(key); + PcFactory pc = pcFactoryService.selectPcFactoryById(key); + finalLow.setFactoryName(pc.getFactoryName()); + finalLow.setDistrictCode(pc.getCountryCode()); + finalLow.setDistrictName(pc.getCountryName()); + finalLow.setIndustryCategoryCode(pc.getIndustryCategory()); + finalLow.setIndustryCategoryName(pc.getIndusName()); + finalLow.setPerformanceLevel(pc.getPreConLevel()); + finalLow.setAnalyseTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,lastDayBegin)); + + carList.add(finalLow); + }); + if(carList!=null&&carList.size()>0) { + raAbNalysisLowCarService.saveBatch(carList); + } + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PcRaProblemTypeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PcRaProblemTypeServiceImpl.java new file mode 100644 index 0000000..97c92f8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PcRaProblemTypeServiceImpl.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.mapper.analysis.PcRaProblemTypeMapper; +import cn.cecep.talroad.service.analysis.IPcRaProblemTypeService; +import cn.cecep.talroad.vo.analysis.PcRaProblemTypeVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 问题分类Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class PcRaProblemTypeServiceImpl extends ServiceImpl implements IPcRaProblemTypeService +{ + @Autowired + private PcRaProblemTypeMapper pcRaProblemTypeMapper; + + /** + * 查询问题分类列表 + * + * @param pcRaProblemType 问题分类 + * @return 问题分类 + */ + @Override + public List selectPcRaProblemTypeList(PcRaProblemType pcRaProblemType) + { + return pcRaProblemTypeMapper.selectPcRaProblemTypeList(pcRaProblemType); + } + + @Override + public List> cascader() { + List problemTypes = list(new QueryWrapper().eq("is_status", "1").orderByAsc("sort")); + + // 转为map列表 + List> mapList = problemTypes.stream().map(o -> { + Map map = new HashMap<>(); + map.put("value", o.getId()); + map.put("label", o.getName()); + map.put("parentId", o.getParentId()); + return map; + }).collect(Collectors.toList()); + + // 以问题id为key, 转为map + Map> keyMap = mapList.stream().collect(Collectors.toMap(o -> (String) o.get("value"), o -> o)); + + // 添加到父节点children属性下 + for (Map map : mapList) { + Map parent = keyMap.get((String) map.get("parentId")); + if (parent != null) { + List> children = (List>) parent.get("children"); + if (children == null) { + children = new ArrayList<>(); + } + children.add(map); + parent.put("children", children); + } + } + + // 返回所有顶级节点 + return mapList.stream().filter(o -> o.get("parentId") == null).collect(Collectors.toList()); + } + + /** + * 查询所有的问题分类,并设置问题分类路径 + * @return + */ + @Override + public List selectProblemTypeVoList() { + List problemTypes = list(new QueryWrapper().orderByAsc("sort")); + + Map typeMap = problemTypes.stream().collect(Collectors.toMap(PcRaProblemType::getId, o -> o)); + + // 转为vo, 并且设置path属性 + return problemTypes.stream().map(o -> { + PcRaProblemTypeVo vo = new PcRaProblemTypeVo(); + BeanUtils.copyProperties(o, vo); + + List path = new ArrayList<>(); + path.add(o); + + PcRaProblemType parent = typeMap.get(o.getParentId()); + while (parent != null) { + path.add(parent); + parent = typeMap.get(parent.getParentId()); + } + Collections.reverse(path); + + vo.setPath(path); + return vo; + }).collect(Collectors.toList()); + } + + /** + * 获取指定问题路径名称 + * @param problemType + * @return + */ + @Override + public String getPathName(String problemType) { + if (StringUtils.isBlank(problemType)) { + return null; + } + PcRaProblemType type = baseMapper.selectById(problemType); + if (type == null) { + return null; + } + List path = new ArrayList<>(); + path.add(type); + + String parentId = type.getParentId(); + while (parentId != null) { + PcRaProblemType parent = baseMapper.selectById(parentId); + if (parent == null) { + break; + } + path.add(parent); + parentId = parent.getParentId(); + } + Collections.reverse(path); + return path.stream().map(PcRaProblemType::getName).collect(Collectors.joining("-")); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PollWaterAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PollWaterAnalysisServiceImpl.java new file mode 100644 index 0000000..88575ba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/PollWaterAnalysisServiceImpl.java @@ -0,0 +1,266 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.*; +import cn.cecep.talroad.enums.PcLabelCodeEnum; +import cn.cecep.talroad.enums.PcLabelValueCodeEnum; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.mapper.PcOutletMapper; +import cn.cecep.talroad.mapper.SEnvWaterMonDayMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.service.analysis.IPollWaterAnalysisService; +import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.TemporalAdjusters; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Service +public class PollWaterAnalysisServiceImpl implements IPollWaterAnalysisService { + + @Autowired + private IBMainEmissionPollutionWaterService mainEmissionPollutionWaterService; + @Autowired + private IPcLabelService pcLabelService; + @Autowired + private IPcLabelFactoryService pcLabelFactoryService; + @Autowired + private SEnvWaterMonDayMapper waterMonDayMapper; + @Autowired + private AmProblemFiMapper amProblemFiMapper; + @Autowired + private PcOutletMapper outletMapper; + @Autowired + private IBMainPollDisWaterMoutService pollDisWaterMoutService; + @Autowired + private IBMainPollDisWaterOoutService pollDisWaterOoutService; + + @Override + public void emissionPollutionWaterLabelTask() { +// 5ac352c3-74a1-418b-b278-148819945e1e PF021 1年内是否有废水污染物总量超标情况 + //根据 code=PF021 查询 labelId + PcLabel pcLabel = pcLabelService.lambdaQuery().eq(PcLabel::getLabelCode, PcLabelCodeEnum.PF021.getCode()).one(); + if(pcLabel == null){ + return; + } + String labelId = pcLabel.getId(); + Calendar instance = Calendar.getInstance(); + //前一年 + //instance.add(Calendar.YEAR, -1); + //本年 + String dataYear = instance.get(Calendar.YEAR) + ""; + + BMainEmissionPollutionWater emissionPollutionWater = new BMainEmissionPollutionWater(); + emissionPollutionWater.setPollYear(dataYear); + List saveList = new ArrayList<>(); + //根据年份查询数据查询 + List pollutionWaterList = mainEmissionPollutionWaterService.selectBMainEmissionPollutionWaterList(emissionPollutionWater); + for (BMainEmissionPollutionWater bMainEmissionPollutionWater : pollutionWaterList) { + String factoryId = bMainEmissionPollutionWater.getFactoryId(); + + PcLabelValueCodeEnum pcLabelValueCodeEnum = verifyObj(bMainEmissionPollutionWater); + if(pcLabelValueCodeEnum != null){ + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLableUseing("0"); + pcLabelFactory.setLabelValue(pcLabelValueCodeEnum.getCode());//不超总量 + pcLabelFactoryService.lambdaUpdate().eq(PcLabelFactory::getFactoryId,factoryId) + .eq(PcLabelFactory::getLabelId,labelId) + .remove(); + saveList.add(pcLabelFactory); + } + } + pcLabelFactoryService.saveBatch(saveList); + } + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public void envWaterMonDayLabelTask() { +// 3e812063-b836-4d93-b6b3-40f6955df9f9 PF020 1年内是否有废水污染物排放浓度情况 + //根据 code=PF021 查询 labelId + PcLabel pcLabel = pcLabelService.lambdaQuery().eq(PcLabel::getLabelCode, PcLabelCodeEnum.PF020.getCode()).one(); + if(pcLabel == null){ + return; + } + String labelId = pcLabel.getId(); + LocalDate now = LocalDate.now(); + //前一月 + LocalDate preMonth = now.plusMonths(-1); + //前一月的第一天 + LocalDateTime firstDay = LocalDateTime.of(preMonth.withDayOfMonth(1), LocalTime.MIN); + //前一月的最后一天 + LocalDateTime lastDay = LocalDateTime.of(preMonth.with(TemporalAdjusters.lastDayOfMonth()),LocalTime.MAX); + //前一月 所有废水排污预警数据 + List amProblemFis = amProblemFiMapper.selectPollutionWaterData(firstDay, lastDay); + //前一月 排污口日数据 最大值 + List sEnvWaterMonDays = waterMonDayMapper.selectMaxByDate(firstDay.format(formatter), lastDay.format(formatter)); + Map monMap = sEnvWaterMonDays.stream().collect(Collectors.toMap((item) -> item.getFactoryId() + "_" + item.getOutletId(), Function.identity())); + List saveList = new ArrayList<>(); + Map resultMap = new HashMap<>(); + //企业有多个排口 , 每个排口 有多条 报警数据 + for (AmProblemFi amProblemFi : amProblemFis) { + String factoryId = amProblemFi.getFactoryId(); + PcLabelValueCodeEnum valueCodeEnum = resultMap.get(factoryId); + //该企业已经是最大标签了,不用再计算了 + if(PcLabelValueCodeEnum.CODE_1053.equals(valueCodeEnum)){ + continue; + } + //排口id + String stationId = amProblemFi.getStationId(); + //扩展数据 + String extra = amProblemFi.getExtra(); + JSONObject jsonObject = JSONUtil.parseObj(extra); + //从扩展数据中 获取 污染物编号 + String pollutantCode = jsonObject.getStr("pollutantCode"); + //污染物允许浓度 + String allowableValue = jsonObject.getStr("allowableValue"); + //排口 + PcOutlet pcOutlet = outletMapper.selectById(stationId); + //排口编号 + String outletCode = pcOutlet.getOutletCode(); + //1主要排口、2一般排扣 + String outletTypes = pcOutlet.getOutletTypes(); + if("1".equals(outletTypes)){ + BMainPollDisWaterMout pollDisWaterMout = pollDisWaterMoutService.lambdaQuery() + .eq(BMainPollDisWaterMout::getFactoryId, factoryId) + .eq(BMainPollDisWaterMout::getOutletCode, outletCode) + .eq(BMainPollDisWaterMout::getPollutantsType, pollutantCode).one(); + if(pollDisWaterMout == null){ + continue; + } + allowableValue = pollDisWaterMout.getPollutantsMgRate(); + } else if("2".equals(outletTypes)) { + BMainPollDisWaterOout pollDisWaterOout = pollDisWaterOoutService.lambdaQuery() + .eq(BMainPollDisWaterOout::getFactoryId, factoryId) + .eq(BMainPollDisWaterOout::getOutletCode, outletCode) + .eq(BMainPollDisWaterOout::getPollutantsType, pollutantCode) + .one(); + if(pollDisWaterOout == null){ + continue; + } + allowableValue = pollDisWaterOout.getPollutantsMgRate(); + } else { + //不处理 + continue; + } + + //排放浓度 + String realEmission = "0"; + // W01018 -> 化学需氧量 cod_emission + // W21003 -> 氨氮(NH3-N) ammonia_nitrogen_emission + // W21011 -> 总磷(以P计) phosphorus_concentration_emission + // W21001 -> 总氮(以N计) nitrogen_concentration_emission + String key = factoryId + "_" + stationId; + SEnvWaterMonDay sEnvWaterMonDay = monMap.get(key); + if(sEnvWaterMonDay == null){ + continue; + } + if("W01018".equals(pollutantCode)){ + realEmission = sEnvWaterMonDay.getCodEmission(); + } else if ("W21001".equals(pollutantCode)){ + realEmission = sEnvWaterMonDay.getNitrogenConcentrationEmission(); + } else if ("W21003".equals(pollutantCode)){ + realEmission = sEnvWaterMonDay.getAmmoniaNitrogenEmission(); + } else if ("W21011".equals(pollutantCode)){ + realEmission = sEnvWaterMonDay.getPhosphorusConcentrationEmission(); + } else { + //不处理 + continue; + } + //比较实际排放和允许排放 + PcLabelValueCodeEnum labelValueCodeEnum = verifyParam1(realEmission, allowableValue); + if(compareValueCode(valueCodeEnum,labelValueCodeEnum) < 0){ + resultMap.put(factoryId,labelValueCodeEnum); + } + } + for (String factoryId : resultMap.keySet()) { + PcLabelFactory pcLabelFactory = new PcLabelFactory(); + pcLabelFactory.setId(UUID.randomUUID().toString()); + pcLabelFactory.setFactoryId(factoryId); + pcLabelFactory.setLabelId(labelId); + pcLabelFactory.setLableUseing("0"); + //根据 允许浓度和排放浓度 计算 标志值 + pcLabelFactory.setLabelValue(resultMap.get(factoryId).getCode()); + pcLabelFactoryService.lambdaUpdate().eq(PcLabelFactory::getFactoryId,factoryId) + .eq(PcLabelFactory::getLabelId,labelId) + .remove(); + saveList.add(pcLabelFactory); + } + pcLabelFactoryService.saveBatch(saveList); + } + + private PcLabelValueCodeEnum verifyObj(BMainEmissionPollutionWater bMainEmissionPollutionWater){ + PcLabelValueCodeEnum pcLabelValueCodeEnum = verifyParam(bMainEmissionPollutionWater.getActuallyEmittingCod(), bMainEmissionPollutionWater.getAllowableEmissionCod()); + if(PcLabelValueCodeEnum.CODE_1054.equals(pcLabelValueCodeEnum)){ + return pcLabelValueCodeEnum; + } + pcLabelValueCodeEnum = verifyParam(bMainEmissionPollutionWater.getActuallyEmittingNhn(), bMainEmissionPollutionWater.getAllowableEmissionNhn()); + if(PcLabelValueCodeEnum.CODE_1054.equals(pcLabelValueCodeEnum)){ + return pcLabelValueCodeEnum; + } + pcLabelValueCodeEnum = verifyParam(bMainEmissionPollutionWater.getActuallyEmittingTn(), bMainEmissionPollutionWater.getAllowableEmissionTn()); + if(PcLabelValueCodeEnum.CODE_1054.equals(pcLabelValueCodeEnum)){ + return pcLabelValueCodeEnum; + } + pcLabelValueCodeEnum = verifyParam(bMainEmissionPollutionWater.getActuallyEmittingTp(), bMainEmissionPollutionWater.getAllowableEmissionTp()); + return pcLabelValueCodeEnum; + } + + private static PcLabelValueCodeEnum verifyParam(String param, String allowParam){ + //不是数字 + if(!NumberUtil.isNumber(param) || !NumberUtil.isNumber(allowParam)){ + return null; + } + if( NumberUtil.toBigDecimal(param).compareTo(NumberUtil.toBigDecimal(allowParam)) > 0 ){ + //超总量 + return PcLabelValueCodeEnum.CODE_1054; + }else{ + //不超总量 + return PcLabelValueCodeEnum.CODE_1055; + } + } + + private static PcLabelValueCodeEnum verifyParam1(String param, String allowParam){ + //是否数字 + if(!NumberUtil.isNumber(param) || !NumberUtil.isNumber(allowParam)){ + return null; + } + BigDecimal paramNum = NumberUtil.toBigDecimal(param); + BigDecimal allowParamNum = NumberUtil.toBigDecimal(allowParam); + // 实际值 - 允许值 <= 0 代表无超标 + if (paramNum.subtract(allowParamNum).compareTo(BigDecimal.ZERO) <= 0){ + return PcLabelValueCodeEnum.CODE_1050; + } + // 0 < 实际值 - 允许值 < 允许值 超标一倍以内 + if (paramNum.subtract(allowParamNum).compareTo(allowParamNum) <= 0){ + return PcLabelValueCodeEnum.CODE_1051; + } + // 允许值 < 实际值 - 允许值 < 允许值 * 2 超标两倍以内 + if (paramNum.subtract(allowParamNum).compareTo(allowParamNum.multiply(new BigDecimal(2))) <= 0){ + return PcLabelValueCodeEnum.CODE_1052; + } + //否则就是超标两倍以上 + return PcLabelValueCodeEnum.CODE_1053; + } + + private static int compareValueCode(PcLabelValueCodeEnum v1,PcLabelValueCodeEnum v2){ + String codeStr = "1050,1051,1052,1053"; + if (v1 != null && v2 != null && codeStr.contains(v1.getCode()) && codeStr.contains(v2.getCode())) { + return NumberUtil.toBigDecimal(v1.getCode()).compareTo(NumberUtil.toBigDecimal(v2.getCode())); + } else { + return 0; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisCarServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisCarServiceImpl.java new file mode 100644 index 0000000..566004c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisCarServiceImpl.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import cn.cecep.talroad.mapper.analysis.SRaAbNalysisCarMapper; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisCarService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * 管控期车辆异常分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaAbNalysisCarServiceImpl extends ServiceImpl implements ISRaAbNalysisCarService +{ + @Autowired + private SRaAbNalysisCarMapper sRaAbNalysisCarMapper; + + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisCar 管控期车辆异常分析 + * @return 管控期车辆异常分析 + */ + @Override + public List selectSRaAbNalysisCarList(SRaAbNalysisCar sRaAbNalysisCar) + { + return sRaAbNalysisCarMapper.selectSRaAbNalysisCarList(sRaAbNalysisCar); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisLowCarServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisLowCarServiceImpl.java new file mode 100644 index 0000000..73c538a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAbNalysisLowCarServiceImpl.java @@ -0,0 +1,265 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.cecep.talroad.mapper.analysis.SRaAbNalysisLowCarMapper; +import cn.cecep.talroad.service.analysis.ISRaAbNalysisLowCarService; +import cn.cecep.talroad.util.ExportWordUtil; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaAbNalysisLowCarQuery; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import freemarker.template.TemplateException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 管控期车辆异常分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24 + */ +@Service +public class SRaAbNalysisLowCarServiceImpl extends ServiceImpl implements ISRaAbNalysisLowCarService { + @Autowired + private SRaAbNalysisLowCarMapper sRaAbNalysisLowCarMapper; + + /** + * 查询管控期车辆异常分析列表 + * + * @param sRaAbNalysisLowCar 管控期车辆异常分析 + * @return 管控期车辆异常分析 + */ + @Override + public List selectSRaAbNalysisLowCarList(SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + return sRaAbNalysisLowCarMapper.selectSRaAbNalysisLowCarList(sRaAbNalysisLowCar); + } + + @Override + public EChartsVO chartData(List list, SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) { + Calendar calendar = new GregorianCalendar(); + if(ObjectUtil.isNotEmpty(sRaAbNalysisLowCar.getEndAnalyseTime())){ + calendar.setTime(sRaAbNalysisLowCar.getEndAnalyseTime()); + // 把日期往后增加一天,整数 往后推,负数往前移动 + calendar.add(Calendar.DATE, 1); + calendar.add(Calendar.HOUR_OF_DAY,-1); + } + EChartsVO eChartsVO = new EChartsVO(); + List dateMonthList = CollUtil.map(DateUtil.rangeToList(sRaAbNalysisLowCar.getStartAnalyseTime(), + calendar.getTime(), DateField.HOUR), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateMonthList); + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "国四及以下车辆"); + put("prop", "inOutNumber"); + }}); + items.add(new HashMap() {{ + put("name", "国五车辆"); + put("prop", "fiveNumber"); + }}); + items.add(new HashMap() {{ + put("name", "国六车辆"); + put("prop", "sixNumber"); + }}); + items.add(new HashMap() {{ + put("name", "新能源车辆"); + put("prop", "neNumber"); + }}); + long l = System.currentTimeMillis(); + List data = + BeanUtil.copyToList(list, SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData.class); + /* data.forEach(d -> { + Date analyseTime = d.getAnalyseTime(); + String format = DateUtil.format(analyseTime, "yyyy-MM-dd HH"); + d.setAnalyseTimeStr(format); + });*/ + Map fiveMap = data.stream().collect(Collectors.groupingBy(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getAnalyseTimeStr, Collectors.collectingAndThen( + Collectors.summingLong(dataItem -> Optional.ofNullable(dataItem.getFiveNumber()).orElse(0L)), + sum -> sum == 0 ? null : sum + ))); + Map sixMap = data.stream().collect(Collectors.groupingBy(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getAnalyseTimeStr, Collectors.collectingAndThen( + Collectors.summingLong(dataItem -> Optional.ofNullable(dataItem.getSixNumber()).orElse(0L)), + sum -> sum == 0 ? null : sum + ))); + Map newMap = data.stream().collect(Collectors.groupingBy(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getAnalyseTimeStr, Collectors.collectingAndThen( + Collectors.summingLong(dataItem -> Optional.ofNullable(dataItem.getNeNumber()).orElse(0L)), + sum -> sum == 0 ? null : sum + ))); + Map inOutMap = data.stream().collect(Collectors.groupingBy(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getAnalyseTimeStr,Collectors.collectingAndThen( + Collectors.summingLong(dataItem -> Optional.ofNullable(dataItem.getInOutNumber()).orElse(0L)), + sum -> sum == 0 ? null : sum + ))); + List all = new ArrayList<>(); + long l1 = System.currentTimeMillis(); + System.err.println((l1-l)/1000+"秒"); + dateMonthList.forEach(d -> { + SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData sd = new SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData(); + /* List collect = data.stream().filter(dt -> dt.getAnalyseTimeStr().equals(d)).collect(Collectors.toList()); +// sd.setFiveNumber(collect.stream().mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getFiveNumber).sum()); + sd.setFiveNumber(collect.stream().filter(e -> e.getFiveNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getFiveNumber).sum()); + sd.setSixNumber(collect.stream().filter(e -> e.getSixNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getSixNumber).sum()); + sd.setNeNumber(collect.stream().filter(e -> e.getNeNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getNeNumber).sum()); + sd.setInOutNumber(collect.stream().filter(e -> e.getInOutNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getInOutNumber).sum());*/ + sd.setFiveNumber(fiveMap.get(d)); + sd.setSixNumber(sixMap.get(d)); + sd.setNeNumber(newMap.get(d)); + sd.setInOutNumber(inOutMap.get(d)); + sd.setAnalyseTimeStr(d); + all.add(sd); + }); + + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + List values = all.stream().map(o -> BeanUtil.getProperty(o, item.get("prop"))).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + long l2 = System.currentTimeMillis(); + System.err.println((l2-l1)/1000+"秒"); + eChartsVO.setSeries(series); + return eChartsVO; + } + + /** + * @Method parkChartData + * @Author wyg + * 近一周进出厂车辆趋势 + * @Exception + * @Date 2023/6/20 09:48 + */ + @Override + public EChartsVO parkChartData(List list) { + EChartsVO eChartsVO = new EChartsVO(); + List dateMonthList = CollUtil.map(DateUtil.rangeToList(DateUtils.addDateDays(DateUtils.getNowDate(), -6), DateUtils.getNowDate(), DateField.HOUR), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateMonthList); + List> items = new ArrayList<>(); + items.add(new HashMap() {{ + put("name", "进厂"); + put("prop", "inPark"); + }}); + items.add(new HashMap() {{ + put("name", "出厂"); + put("prop", "outPark"); + }}); + + List data = + BeanUtil.copyToList(list, SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData.class); + data.forEach(d -> { + Date analyseTime = d.getAnalyseTime(); + String format = DateUtil.format(analyseTime, "yyyy-MM-dd HH"); + d.setAnalyseTimeStr(format); + }); + + List all1 = new ArrayList<>(); + dateMonthList.forEach(d -> { + List collect = data.stream().filter(dt -> dt.getAnalyseTimeStr().equals(d)).collect(Collectors.toList()); + SRaAbNalysisLowCar.SRaAbNalysisLowParkEChartData sd1 = new SRaAbNalysisLowCar.SRaAbNalysisLowParkEChartData(); + sd1.setInPark( + collect.stream().filter(e -> e.getFiveNumber() == null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getDataId).sum() + + collect.stream().filter(e -> e.getSixNumber() == null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getDataId).sum() + + collect.stream().filter(e -> e.getNeNumber() == null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getDataId).sum() + + collect.stream().filter(e -> e.getInOutNumber() == null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getDataId).sum() + ); + sd1.setOutPark( + collect.stream().filter(e -> e.getFiveNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getFiveNumber).sum() + + collect.stream().filter(e -> e.getSixNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getSixNumber).sum() + + collect.stream().filter(e -> e.getNeNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getNeNumber).sum() + + collect.stream().filter(e -> e.getInOutNumber() != null).mapToLong(SRaAbNalysisLowCar.SRaAbNalysisLowCarEChartData::getInOutNumber).sum() + ); + all1.add(sd1); + }); + + List series = items.stream().map(item -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(item.get("name")); + ser.setSeriesType("bar"); + List values = all1.stream().map(o -> BeanUtil.getProperty(o, item.get("prop"))).collect(Collectors.toList()); + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + eChartsVO.setSeries(series); + return eChartsVO; + } + + + /** + * 车辆出入异常报告导出 + * @param response + * @param sRaAbNalysisLowCar + */ + @Override + public void exportWordReport(HttpServletResponse response, SRaAbNalysisLowCarQuery sRaAbNalysisLowCar) throws TemplateException, IOException { + //初始化各个参数 + BigDecimal level4Count = new BigDecimal(0), + level5Count = new BigDecimal(0), + level6Count = new BigDecimal(0), + newPowerCount = new BigDecimal(0), + sumCount = new BigDecimal(0); + StringBuilder level4FactoryListStr = new StringBuilder(), + level5FactoryListStr = new StringBuilder(); + //获取list列表 + List list = list(SRaAbNalysisLowCarQuery.createLambdaQueryWrapper(sRaAbNalysisLowCar)); + //进行累加总数量,并分类统计国四国五车辆列表 + Set Level4FactoryList = new HashSet<>(),Level5FactoryList = new HashSet<>(); + for (SRaAbNalysisLowCar raAbNalysisLowCar : list) { + if(raAbNalysisLowCar.getInOutNumber() != null){//国四,需要统计企业名称 + level4Count = level4Count.add(new BigDecimal(raAbNalysisLowCar.getInOutNumber())); + sumCount = sumCount.add(new BigDecimal(raAbNalysisLowCar.getInOutNumber())); + Level4FactoryList.add(raAbNalysisLowCar.getFactoryName()); + } + if(raAbNalysisLowCar.getFiveNumber() != null){//国五,需要统计企业名称 + level5Count = level5Count.add(new BigDecimal(raAbNalysisLowCar.getFiveNumber())); + sumCount = sumCount.add(new BigDecimal(raAbNalysisLowCar.getFiveNumber())); + Level5FactoryList.add(raAbNalysisLowCar.getFactoryName()); + } + if(raAbNalysisLowCar.getSixNumber() != null){ + level6Count = level6Count.add(new BigDecimal(raAbNalysisLowCar.getSixNumber())); + sumCount = sumCount.add(new BigDecimal(raAbNalysisLowCar.getSixNumber())); + } + if(raAbNalysisLowCar.getNeNumber() != null){ + newPowerCount = newPowerCount.add(new BigDecimal(raAbNalysisLowCar.getNeNumber())); + sumCount = sumCount.add(new BigDecimal(raAbNalysisLowCar.getNeNumber())); + } + } + for (String s : Level4FactoryList) { + level4FactoryListStr.append(","+s); + } + for (String s : Level5FactoryList) { + level5FactoryListStr.append(","+s); + } + //防止初0异常,当总数为0其余四个数量必定为0 + if(sumCount.compareTo(BigDecimal.ZERO) == 0){ + sumCount = sumCount.add(BigDecimal.ONE); + } + Map map = new HashMap(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); + map.put("dataTime",simpleDateFormat.format(sRaAbNalysisLowCar.getStartAnalyseTime())+"-"+simpleDateFormat.format(sRaAbNalysisLowCar.getEndAnalyseTime())); + map.put("Level4Count",level4Count); + map.put("Level5Count",level5Count); + map.put("Level6Count",level6Count); + map.put("NewPowerCount",newPowerCount); + map.put("Level4Rate",level4Count.divide(sumCount, 2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).toString()); + map.put("Level5Rate",level5Count.divide(sumCount, 2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).toString()); + map.put("Level6Rate",level6Count.divide(sumCount, 2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).toString()); + map.put("NewPowerRate",newPowerCount.divide(sumCount, 2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).toString()); + map.put("Level4FactoryList",level4FactoryListStr.length()>0?"\t存在国四及以下车辆进出厂情况的企业为:"+level4FactoryListStr.substring(1).toString()+"。":""); + map.put("Level5FactoryList",level5FactoryListStr.length()>0?"\t存在国五车辆进出厂情况的企业为:"+level5FactoryListStr.substring(1).toString()+"。":""); + ExportWordUtil.exportToWord(map,response,"wordReport/AccessControlTotalReport.ftl","wordReport/AccessControlTotalReport.docx","企业门禁统计分析报表.docx"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualEmissionsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualEmissionsServiceImpl.java new file mode 100644 index 0000000..b8641b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualEmissionsServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsActualEmissionsMapper; +import cn.cecep.talroad.service.analysis.ISRaActionReportsActualEmissionsService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 执行报告实际排放情况Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaActionReportsActualEmissionsServiceImpl extends ServiceImpl implements ISRaActionReportsActualEmissionsService +{ + @Autowired + private SRaActionReportsActualEmissionsMapper sRaActionReportsActualEmissionsMapper; + + /** + * 查询执行报告实际排放情况列表 + * + * @param sRaActionReportsActualEmissions 执行报告实际排放情况 + * @return 执行报告实际排放情况 + */ + @Override + public List selectSRaActionReportsActualEmissionsList(QueryWrapper lambdaQueryWrapper) + { + return sRaActionReportsActualEmissionsMapper.selectSRaActionReportsActualEmissionsList(lambdaQueryWrapper); + } + + @Override + public IPage selectSRaActionReportsActualEmissionsPage(Page page, QueryWrapper lambdaQueryWrapper) { + return sRaActionReportsActualEmissionsMapper.selectSRaActionReportsActualEmissionsPage(page, lambdaQueryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualYieldServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualYieldServiceImpl.java new file mode 100644 index 0000000..cd92ceb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsActualYieldServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsActualYieldMapper; +import cn.cecep.talroad.service.analysis.ISRaActionReportsActualYieldService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 执行报告实际产量情况Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaActionReportsActualYieldServiceImpl extends ServiceImpl implements ISRaActionReportsActualYieldService +{ + @Autowired + private SRaActionReportsActualYieldMapper sRaActionReportsActualYieldMapper; + + /** + * 查询执行报告实际产量情况列表 + * + * @param sRaActionReportsActualYield 执行报告实际产量情况 + * @return 执行报告实际产量情况 + */ + @Override + public List selectSRaActionReportsActualYieldList(QueryWrapper lambdaQueryWrapper) + { + return sRaActionReportsActualYieldMapper.selectSRaActionReportsActualYieldList(lambdaQueryWrapper); + } + + @Override + public IPage selectSRaActionReportsActualYieldPage(Page page, QueryWrapper lambdaQueryWrapper) { + return sRaActionReportsActualYieldMapper.selectSRaActionReportsActualYieldPage(page, lambdaQueryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditRecordServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditRecordServiceImpl.java new file mode 100644 index 0000000..03304f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditRecordServiceImpl.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.core.web.page.PageData; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditFactoryInfo; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.domain.dto.AuditRecordDTO; +import cn.cecep.talroad.domain.dto.RecordListDTO; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditFactoryInfoMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditRecordMapper; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditRecordService; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditResultService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * 执行报告规范性审核记录Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaActionReportsAuditRecordServiceImpl extends ServiceImpl implements ISRaActionReportsAuditRecordService +{ + + @Resource + private SRaActionReportsAuditMapper sRaActionReportsAuditMapper; + @Autowired + private SRaActionReportsAuditRecordMapper sRaActionReportsAuditRecordMapper; + + @Resource + private SRaActionReportsAuditFactoryInfoMapper sRaActionReportsAuditFactoryInfoMapper; + @Resource + private ISRaActionReportsAuditResultService actionReportsAuditResultService; + + @Autowired + private DataSourceTransactionManager dataSourceTransactionManager; + + /** + * 查询执行报告规范性审核记录列表 + * + * @param sRaActionReportsAuditRecord 执行报告规范性审核记录 + * @return 执行报告规范性审核记录 + */ + @Override + public List selectSRaActionReportsAuditRecordList(SRaActionReportsAuditRecord sRaActionReportsAuditRecord) + { + return sRaActionReportsAuditRecordMapper.selectSRaActionReportsAuditRecordList(sRaActionReportsAuditRecord); + } + + /** + * 新建审核记录查询未审核企业列表 + * @param recordListDTO + * @return + */ + @Override + public AjaxResults> recordList(RecordListDTO recordListDTO) { + Page page = new Page(recordListDTO.getPageNum(),recordListDTO.getPageSize()); + page = sRaActionReportsAuditRecordMapper.recordList(page,recordListDTO); + return AjaxResults.success(page); + } + + + /** + * 新增审核记录 + * @param auditRecordDTO + * @return + */ + @Override + @Transactional + public AjaxResults saveRecord(AuditRecordDTO auditRecordDTO) { + if (auditRecordDTO.getRecordIdList() == null || auditRecordDTO.getRecordIdList().size() == 0) { + return AjaxResults.error("未选中任何企业!"); + } + SRaActionReportsAudit sRaActionReportsAudit = sRaActionReportsAuditMapper.selectById(auditRecordDTO.getReportId()); + if(sRaActionReportsAudit == null){ + return AjaxResults.error("没有这个报告!"); + } + SRaActionReportsAuditRecord sRaActionReportsAuditRecord = new SRaActionReportsAuditRecord(); + sRaActionReportsAuditRecord.setReportId(sRaActionReportsAudit.getId()); + sRaActionReportsAuditRecord.setAuditStatus(0L); + sRaActionReportsAuditRecord.setTotalEnterprises(sRaActionReportsAudit.getTotalEnterprises()); + sRaActionReportsAuditRecord.setSubmittedEnterprises(sRaActionReportsAudit.getSubmittedEnterprises()); + sRaActionReportsAuditRecord.setCreateTime(new Date()); + sRaActionReportsAuditRecord.setAuditTime(new Date()); + this.save(sRaActionReportsAuditRecord); + + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.in("id",auditRecordDTO.getRecordIdList()); + List factoryInfoList = sRaActionReportsAuditFactoryInfoMapper.selectList(queryWrapper); + List tempInfo = new ArrayList<>(); + if (factoryInfoList.size()>0) { + List reportsAuditResults = new ArrayList<>(); + for (SRaActionReportsAuditFactoryInfo sRaActionReportsAuditFactoryInfo : factoryInfoList) { + if (sRaActionReportsAuditFactoryInfo.getAuditStatus().compareTo(1) == 0) { + //已审核的不做处理 + continue; + } + SRaActionReportsAuditResult sRaActionReportsAuditResult = new SRaActionReportsAuditResult(); + sRaActionReportsAuditResult.setRecordId(sRaActionReportsAuditRecord.getId()); + sRaActionReportsAuditResult.setFactoryId(sRaActionReportsAuditFactoryInfo.getFactoryId()); + sRaActionReportsAuditResult.setReportTime(sRaActionReportsAudit.getReportTime()); + sRaActionReportsAuditResult.setCreateTime(new Date()); + sRaActionReportsAuditResult.setReportSubmissionTime(sRaActionReportsAuditFactoryInfo.getCommitTime()); + reportsAuditResults.add(sRaActionReportsAuditResult); + //更新为已审核 + sRaActionReportsAuditFactoryInfo.setAuditStatus(1); + tempInfo.add(sRaActionReportsAuditFactoryInfo); + } + if(reportsAuditResults.size()>0){ + actionReportsAuditResultService.saveBatch(reportsAuditResults); + } + if(tempInfo.size()>0){ + TransactionStatus transaction = dataSourceTransactionManager.getTransaction(new DefaultTransactionDefinition()); + for (SRaActionReportsAuditFactoryInfo sRaActionReportsAuditFactoryInfo : tempInfo) { + sRaActionReportsAuditFactoryInfoMapper.updateById(sRaActionReportsAuditFactoryInfo); + } + dataSourceTransactionManager.commit(transaction); + } + } + return AjaxResults.success("新增成功"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditResultServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditResultServiceImpl.java new file mode 100644 index 0000000..30d0eec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditResultServiceImpl.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.config.AuditWordField; +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditResultMapper; +import cn.cecep.talroad.service.IBEnterpriseIrNotifierproNoticeService; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditResultService; +import cn.cecep.talroad.util.ExportWordUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import freemarker.template.TemplateException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.lang.reflect.Field; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 执行报告规范性审核结果Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaActionReportsAuditResultServiceImpl extends ServiceImpl implements ISRaActionReportsAuditResultService +{ + @Autowired + private SRaActionReportsAuditResultMapper sRaActionReportsAuditResultMapper; + + @Autowired + private IBEnterpriseIrNotifierproNoticeService enterpriseIrNotifierproNoticeService; + + /** + * 查询执行报告规范性审核结果列表 + * + * @param sRaActionReportsAuditResult 执行报告规范性审核结果 + * @return 执行报告规范性审核结果 + */ + @Override + public List selectSRaActionReportsAuditResultList(SRaActionReportsAuditResult sRaActionReportsAuditResult) + { + return sRaActionReportsAuditResultMapper.selectSRaActionReportsAuditResultList(sRaActionReportsAuditResult); + } + + @Override + public IPage resultList(Page page, QueryWrapper orderByDesc) { + return sRaActionReportsAuditResultMapper.resultList(page,orderByDesc); + } + + @Override + public void getResultFactoryDetailWord(String id, HttpServletResponse response) throws IOException, TemplateException, IllegalAccessException { + Page page = new Page(0, 1); + page = sRaActionReportsAuditResultMapper.resultList(page,new QueryWrapper().eq("results.id",id)); + if (page.getRecords().size() == 0) { + response.sendError(500,"没有找到该企业"); + return; + } + SRaActionReportsAuditResult sRaActionReportsAuditResult = page.getRecords().get(0); + Map map = new HashMap(); + map.put("factoryName",sRaActionReportsAuditResult.getFactoryName()); + map.put("licenseCode",sRaActionReportsAuditResult.getLicenseCode()); + map.put("auditDeptName",StringUtils.isBlank(sRaActionReportsAuditResult.getAuditDeptName())?"":sRaActionReportsAuditResult.getAuditDeptName()); + map.put("auditPersonName",StringUtils.isBlank(sRaActionReportsAuditResult.getAuditPersonName())?"":sRaActionReportsAuditResult.getAuditPersonName()); + map.put("auditTime",sRaActionReportsAuditResult.getAuditTime() == null?"":sRaActionReportsAuditResult.getAuditTime()); + map.put("manTypeFocus","");map.put("manTypeSimplify",""); + if(StringUtils.isNotBlank(sRaActionReportsAuditResult.getManType())){ + if(sRaActionReportsAuditResult.getManType().equalsIgnoreCase("FOCUS")){ + map.put("manTypeFocus","✓"); + }else if(sRaActionReportsAuditResult.getManType().equalsIgnoreCase("SIMPLIFY")){ + map.put("manTypeSimplify","✓"); + } + } + //检查14个是否的字段 目前按空就是否,因为无法确定字段里存储的是什么鬼东西 产品也不写 + //反射获取注解处理需要判断是否的字段 + Class aClass = sRaActionReportsAuditResult.getClass(); + for (Field declaredField : aClass.getDeclaredFields()) { + if (declaredField.isAnnotationPresent(AuditWordField.class)) { + AuditWordField annotation = declaredField.getAnnotation(AuditWordField.class); + declaredField.setAccessible(true); + String value = (String)declaredField.get(sRaActionReportsAuditResult); + //初始化 + map.put("chose"+annotation.orderNum()+"Yes",""); + map.put("chose"+annotation.orderNum()+"No",""); + if(StringUtils.isNotBlank(value) && value.equalsIgnoreCase("是")){ + map.put("chose"+annotation.orderNum()+"Yes","✓"); + }else{ + map.put("chose"+annotation.orderNum()+"No","✓"); + } + } + } + ExportWordUtil.exportToWord(map,response, "wordReport/AuditRecordFactoryDetailBase.ftl", "wordReport/outFile.docx","企业详情报告.docx"); + } + + /** + * 发送企业问题给报警表 + * @param id + * @return + */ + @Override + public AjaxResults sendQuestion(String id) { + SRaActionReportsAuditResult byId = this.getById(id); + if(byId == null){ + return AjaxResults.error("没有找到该条审核数据"); + } + BEnterpriseIrNotifierproNotice bEnterpriseIrNotifierproNotice = new BEnterpriseIrNotifierproNotice(); + bEnterpriseIrNotifierproNotice.setFactoryId(byId.getFactoryId()); + bEnterpriseIrNotifierproNotice.setAnnouncementType("企业执行报告异常通告"); + bEnterpriseIrNotifierproNotice.setAnnouncementTitle("请检查企业执行报告完整性"); + bEnterpriseIrNotifierproNotice.setAnnouncementDetails("请检查企业执行报告完整性"); + bEnterpriseIrNotifierproNotice.setAnnouncementTime(new Date()); + bEnterpriseIrNotifierproNotice.setCreateTime(new Date()); + this.enterpriseIrNotifierproNoticeService.save(bEnterpriseIrNotifierproNotice); + return AjaxResults.success("问题发送成功"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditServiceImpl.java new file mode 100644 index 0000000..9f14214 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaActionReportsAuditServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.poi.ExcelUtil; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import cn.cecep.talroad.domain.vo.AuditRecordLIstVO; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditFactoryInfoMapper; +import cn.cecep.talroad.mapper.analysis.SRaActionReportsAuditMapper; +import cn.cecep.talroad.service.analysis.ISRaActionReportsAuditService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 执行报告规范性审核Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaActionReportsAuditServiceImpl extends ServiceImpl implements ISRaActionReportsAuditService +{ + @Autowired + private SRaActionReportsAuditMapper sRaActionReportsAuditMapper; + + @Resource + private SRaActionReportsAuditFactoryInfoMapper sRaActionReportsAuditFactoryInfoMapper; + + /** + * 查询执行报告规范性审核列表 + * + * @param sRaActionReportsAudit 执行报告规范性审核 + * @return 执行报告规范性审核 + */ + @Override + public List selectSRaActionReportsAuditList(SRaActionReportsAudit sRaActionReportsAudit) + { + return sRaActionReportsAuditMapper.selectSRaActionReportsAuditList(sRaActionReportsAudit); + } + + /** + * 下载未提交的企业清单 + * @param reportId + */ + @Override + public void reportDownload(String reportId,HttpServletResponse response) { + List auditRecordLIstVOS = sRaActionReportsAuditFactoryInfoMapper.selectUnAuditFactory(reportId); + ExcelUtil excelUtil = new ExcelUtil<>(AuditRecordLIstVO.class); + excelUtil.exportExcel(response,auditRecordLIstVOS,"未提交的企业清单"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaRegulatoryIssuesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaRegulatoryIssuesServiceImpl.java new file mode 100644 index 0000000..551f228 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaRegulatoryIssuesServiceImpl.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues; +import cn.cecep.talroad.mapper.analysis.SRaAreaRegulatoryIssuesMapper; +import cn.cecep.talroad.service.analysis.ISRaAreaRegulatoryIssuesService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 区域证后监管问题总表Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaAreaRegulatoryIssuesServiceImpl extends ServiceImpl implements ISRaAreaRegulatoryIssuesService +{ + @Autowired + private SRaAreaRegulatoryIssuesMapper sRaAreaRegulatoryIssuesMapper; + + /** + * 查询区域证后监管问题总表列表 + * + * @param sRaAreaRegulatoryIssues 区域证后监管问题总表 + * @return 区域证后监管问题总表 + */ + @Override + public List selectSRaAreaRegulatoryIssuesList(SRaAreaRegulatoryIssues sRaAreaRegulatoryIssues) + { + return sRaAreaRegulatoryIssuesMapper.selectSRaAreaRegulatoryIssuesList(sRaAreaRegulatoryIssues); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaTransferRateAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaTransferRateAnalysisServiceImpl.java new file mode 100644 index 0000000..5fd655e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaAreaTransferRateAnalysisServiceImpl.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import cn.cecep.talroad.mapper.analysis.SRaAreaTransferRateAnalysisMapper; +import cn.cecep.talroad.service.analysis.ISRaAreaTransferRateAnalysisService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 区域传输率分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaAreaTransferRateAnalysisServiceImpl extends ServiceImpl implements ISRaAreaTransferRateAnalysisService +{ + @Autowired + private SRaAreaTransferRateAnalysisMapper sRaAreaTransferRateAnalysisMapper; + + /** + * 查询区域传输率分析列表 + * + * @param sRaAreaTransferRateAnalysis 区域传输率分析 + * @return 区域传输率分析 + */ + @Override + public List selectSRaAreaTransferRateAnalysisList(SRaAreaTransferRateAnalysis sRaAreaTransferRateAnalysis) + { + return sRaAreaTransferRateAnalysisMapper.selectSRaAreaTransferRateAnalysisList(sRaAreaTransferRateAnalysis); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaControlSchemeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaControlSchemeServiceImpl.java new file mode 100644 index 0000000..5e6b665 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaControlSchemeServiceImpl.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaControlScheme; +import cn.cecep.talroad.mapper.analysis.SRaControlSchemeMapper; +import cn.cecep.talroad.service.analysis.ISRaControlSchemeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-减排方案管理-管控时间段信息Service业务层处理 + * + * @author szhpt + * @date 2023-04-02*/ +@Service +public class SRaControlSchemeServiceImpl extends ServiceImpl implements ISRaControlSchemeService +{ + @Autowired + private SRaControlSchemeMapper sRaControlSchemeMapper; + + /** + * 查询关联分析系统-减排方案管理-管控时间段信息列表 + * + * @param sRaControlScheme 关联分析系统-减排方案管理-管控时间段信息 + * @return 关联分析系统-减排方案管理-管控时间段信息 + */ + @Override + public List selectSRaControlSchemeList(SRaControlScheme sRaControlScheme) + { + return sRaControlSchemeMapper.selectSRaControlSchemeList(sRaControlScheme); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsDiffServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsDiffServiceImpl.java new file mode 100644 index 0000000..735b01d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsDiffServiceImpl.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsDiff; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsDiffMapper; +import cn.cecep.talroad.service.analysis.ISRaEmissionsDiffService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsDiffVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsDiffQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + + + +/** + * 企业排放量差异分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaEmissionsDiffServiceImpl extends ServiceImpl implements ISRaEmissionsDiffService +{ + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Override + public List selectEmissionsDiffList(Page page, SRaEmissionsDiffQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List vos = baseMapper.selectEmissionsDiffList(page, query); + page.setRecords(vos); + return vos; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsMonitoringVarianceServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsMonitoringVarianceServiceImpl.java new file mode 100644 index 0000000..9f2fef1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsMonitoringVarianceServiceImpl.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.vo.analysis.SRaEmissionsMonitoringVarianceVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsMonitoringVarianceQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsMonitoringVarianceMapper; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; +import cn.cecep.talroad.service.analysis.ISRaEmissionsMonitoringVarianceService; + + + + +/** + * 企业异常行为分析-企业排放分析-监测差异分析Service业务层处理 + * + * @author szhpt + * @date 2023-06-27*/ +@Service +public class SRaEmissionsMonitoringVarianceServiceImpl extends ServiceImpl implements ISRaEmissionsMonitoringVarianceService +{ + @Autowired + private SRaEmissionsMonitoringVarianceMapper sRaEmissionsMonitoringVarianceMapper; + + /** + * 查询企业异常行为分析-企业排放分析-监测差异分析列表 + * + * @param sRaEmissionsMonitoringVariance 企业异常行为分析-企业排放分析-监测差异分析 + * @return 企业异常行为分析-企业排放分析-监测差异分析 + */ + @Override + public List selectSRaEmissionsMonitoringVarianceList(SRaEmissionsMonitoringVariance sRaEmissionsMonitoringVariance) + { + return sRaEmissionsMonitoringVarianceMapper.selectSRaEmissionsMonitoringVarianceList(sRaEmissionsMonitoringVariance); + } + + @Override + public List selectList(Page page, SRaEmissionsMonitoringVarianceQuery query) { + List vos = sRaEmissionsMonitoringVarianceMapper.selectList(page, query); + page.setRecords(vos); + return vos; + } + + @Override + public List pollList() { + return sRaEmissionsMonitoringVarianceMapper.pollList(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverFactoryServiceImpl.java new file mode 100644 index 0000000..7d7ea08 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverFactoryServiceImpl.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsOverFactory; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsOverFactoryMapper; +import cn.cecep.talroad.service.analysis.ISRaEmissionsOverFactoryService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverFactoryVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverFactoryQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + + + +/** + * 企业排放量超标分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaEmissionsOverFactoryServiceImpl extends ServiceImpl implements ISRaEmissionsOverFactoryService +{ + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Override + public List selectEmissionsOverFactory(Page page, SRaEmissionsOverFactoryQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List vos = baseMapper.selectEmissionsOverFactory(page, query); + page.setRecords(vos); + return vos; + } + + @Override + public List getStatScopeList() { + return baseMapper.selectStatScopeList(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverServiceImpl.java new file mode 100644 index 0000000..1ab4c14 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsOverServiceImpl.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsOver; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsOverMapper; +import cn.cecep.talroad.service.analysis.ISRaEmissionsOverService; +import cn.cecep.talroad.vo.analysis.SRaEmissionsOverVo; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsOverQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 区域、行业排放量超标分析Service业务层处理 + */ +@Service +public class SRaEmissionsOverServiceImpl extends ServiceImpl implements ISRaEmissionsOverService +{ + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + + @Override + public List getRegionEmissions(Page page, SRaEmissionsOverQuery query) { + // 查询当前用户区域下的数据 + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + List list = baseMapper.selectRegionEmissions(page, query); + page.setRecords(list); + return list; + } + + @Override + public List getIndustryEmissions(Page page, SRaEmissionsOverQuery query) { + // 若未指定区域,根据用户所属区域级别判断,若是唐山市级别,展示所有行业的汇总记录,否则返回用户所属区县的记录 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + + if ("130200".equals(userRegionCode)) { + // 唐山市,不需要设置regionCode,不设置则查询所有区域的汇总记录 + } else { + query.setRegionCode(userRegionCode); + } + } + List list = baseMapper.selectIndustryEmissions(page, query); + page.setRecords(list); + return list; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStandardServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStandardServiceImpl.java new file mode 100644 index 0000000..66336fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStandardServiceImpl.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStandard; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsStandardMapper; +import cn.cecep.talroad.service.analysis.ISRaEmissionsStandardService; +import cn.cecep.talroad.vo.query.analysis.SRaEmissionsStandardQuery; +import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; + + +/** + * 企业排放水平分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaEmissionsStandardServiceImpl extends ServiceImpl implements ISRaEmissionsStandardService +{ + @Autowired + private SRaEmissionsStandardMapper sRaEmissionsStandardMapper; + + /** + * 查询企业排放水平分析列表 + * + * @param sRaEmissionsStandard 企业排放水平分析 + * @return 企业排放水平分析 + */ + @Override + public List selectSRaEmissionsStandardList(SRaEmissionsStandardQuery sRaEmissionsStandard) + { + BigDecimal start=null; + BigDecimal end=null; + if(StringUtils.isNotEmpty(sRaEmissionsStandard.getEmissionsScale())){ + start=new BigDecimal(sRaEmissionsStandard.getEmissionsScale().split("-")[0]); + end=new BigDecimal(sRaEmissionsStandard.getEmissionsScale().split("-")[1]); + } + Page page=new Page<>(sRaEmissionsStandard.getPageNum(),sRaEmissionsStandard.getPageSize()); + return sRaEmissionsStandardMapper.selectSRaEmissionsStandardList(page,sRaEmissionsStandard,start,end); + } + + @Override + public List> pullPollutantOptions() { + return sRaEmissionsStandardMapper.pullPollutantOptions(); + } + + @Override + public List> pullEmissionScaleOptions() { + List> list=new ArrayList<>(); + Map map= sRaEmissionsStandardMapper.pullEmissionScaleOptions(); + if(MapUtil.isNotEmpty(map)){ + BigDecimal maxValue= map.get("maxvalue"); + BigDecimal minValue=map.get("minvalue"); + BigDecimal subtract = maxValue.subtract(minValue); + BigDecimal divide = subtract.divide(BigDecimal.valueOf(3), 0, BigDecimal.ROUND_HALF_UP); + BigDecimal value1= minValue.add(divide); + BigDecimal value2= value1.add(divide); + Map map1=new HashMap<>(); + map1.put("label",String.join("-",minValue.toString(),value1.toString())); + map1.put("value",String.join("-",minValue.toString(),value1.toString())); + list.add(map1); + if(maxValue.compareTo(minValue)!=0) { + Map map2 = new HashMap<>(); + map2.put("label", String.join("-", value1.toString(), value2.toString())); + map2.put("value", String.join("-", value1.toString(), value2.toString())); + list.add(map2); + Map map3 = new HashMap<>(); + map3.put("label", String.join("-", value2.toString(), maxValue.toString())); + map3.put("value", String.join("-", value2.toString(), maxValue.toString())); + list.add(map3); + } + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStatisticsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStatisticsServiceImpl.java new file mode 100644 index 0000000..fef6ed9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaEmissionsStatisticsServiceImpl.java @@ -0,0 +1,135 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.leader.vo.ProblemGroupCountVO; +import cn.cecep.talroad.domain.vo.ProblemGroupTimeCountVO; +import cn.cecep.talroad.mapper.AmProblemFiMapper; +import cn.cecep.talroad.vo.analysis.FactoryIndustryProblemCountVO; +import cn.cecep.talroad.vo.analysis.FactoryTop10ProblemCountVO; +import cn.cecep.talroad.vo.query.analysis.SREStatisticsQuery; +import cn.cecep.talroad.vo.EChartsVO; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStatistics; +import cn.cecep.talroad.mapper.analysis.SRaEmissionsStatisticsMapper; +import cn.cecep.talroad.service.analysis.SRaEmissionsStatisticsService; + +import javax.annotation.Resource; + +@Service +public class SRaEmissionsStatisticsServiceImpl extends ServiceImpl implements SRaEmissionsStatisticsService{ + + @Resource + private AmProblemFiMapper amProblemFiMapper; + + @Resource + private SRaEmissionsStatisticsMapper sRaEmissionsStatisticsMapper; + + + @Override + public AjaxResults selectChartData(SREStatisticsQuery query) { + query.setType("trend"); + EChartsVO eChartsVO = new EChartsVO(); + List dateList = CollUtil.map(DateUtil.rangeToList(query.getProblemTimeStart(), + query.getProblemTimeEnd(), DateField.DAY_OF_MONTH), + x -> DateUtil.format(x,"yyyy-MM-dd"), true); + eChartsVO.setXData(dateList); + //List list = baseMapper.selectListAll(query); + //获取问题大类 + List problemTypeList = sRaEmissionsStatisticsMapper.selectProblemType(); + //获取各个日期与问题大类的分组数量 + List problemGroupTimeCountVOS = sRaEmissionsStatisticsMapper.selectFactoryProblemGroup(query); + List collect = new ArrayList<>(); + //数据分拣,一层包装,日期key,内层map为问题分类key + Map> map = new HashMap(); + for (ProblemGroupTimeCountVO problemGroupTimeCountVO : problemGroupTimeCountVOS) { + Map mapTemp; + if (!map.containsKey(problemGroupTimeCountVO.getDateTime())) { + mapTemp= new HashMap(); + map.put(problemGroupTimeCountVO.getDateTime(),mapTemp); + } + mapTemp = map.get(problemGroupTimeCountVO.getDateTime()); + mapTemp.put(problemGroupTimeCountVO.getName(), problemGroupTimeCountVO.getTotalCount()); + } + for (String typeName : problemTypeList) { + EChartsVO.SeriesObj seriesObj = new EChartsVO.SeriesObj(); + seriesObj.setName(typeName); + //格式化日期数据,如果空则添加0 + List dataValues = new ArrayList<>(); + for (String time : dateList) { + //该日期不存在数据,直接赋0 + if (!map.containsKey(time)) { + dataValues.add(0); + continue; + } + Integer value = map.get(time).get(typeName); + dataValues.add(value==null?0:value); + } + seriesObj.setValues((List)dataValues); + collect.add(seriesObj); + } + eChartsVO.setSeries(collect); + eChartsVO.setName("企业异常行为发生趋势"); + return AjaxResults.success(eChartsVO); + } + + @Override + public List selectChartDataTop(SREStatisticsQuery query) { + query.setType("top"); + List factoryTop10ProblemCountVOS = sRaEmissionsStatisticsMapper.selectTop10Factory(query); + return factoryTop10ProblemCountVOS; + } + + @Override + public EChartsVO selectChartDataIndustry(SREStatisticsQuery query) { + query.setType("industry"); + EChartsVO eChartsVO=new EChartsVO(); + //获取问题大类 + List tempIndustry = sRaEmissionsStatisticsMapper.selectTop10FactoryIndustry(query); + List industryType = tempIndustry.stream().map((e) -> e.getIndustryPermissionName()).collect(Collectors.toList()); + + List factoryIndustryProblemCountVOS = sRaEmissionsStatisticsMapper.selectFactoryIndustryProblemGroup(query); + //数据分拣,一层包装,日期key,内层map为问题分类key + Map> map = new HashMap(); + for (FactoryIndustryProblemCountVO factoryIndustryProblemCountVO : factoryIndustryProblemCountVOS) { + Map mapTemp; + if (!map.containsKey(factoryIndustryProblemCountVO.getName())) { + mapTemp= new HashMap(); + map.put(factoryIndustryProblemCountVO.getName(),mapTemp); + } + mapTemp = map.get(factoryIndustryProblemCountVO.getName()); + mapTemp.put(factoryIndustryProblemCountVO.getIndustryPermissionName(), factoryIndustryProblemCountVO.getTotalCount()); + } + //组装数据 + List collect = new ArrayList<>(); + for (Map.Entry> stringMapEntry : map.entrySet()) { + EChartsVO.SeriesObj seriesObj = new EChartsVO.SeriesObj(); + seriesObj.setName(stringMapEntry.getKey()); + //格式化行业类别数据,如果空则添加0 + List dataValues = new ArrayList<>(); + for (String type : industryType) { + //该行业类别不存在数据,直接赋0 + if (!stringMapEntry.getValue().containsKey(type)) { + dataValues.add(0); + continue; + } + Integer value = stringMapEntry.getValue().get(type); + dataValues.add(value==null?0:value); + } + seriesObj.setValues((List)dataValues); + collect.add(seriesObj); + } + eChartsVO.setName("行业异常行为排名"); + eChartsVO.setXData(industryType); + eChartsVO.setSeries(collect); + return eChartsVO; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryRegulatoryIssuesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryRegulatoryIssuesServiceImpl.java new file mode 100644 index 0000000..373d189 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryRegulatoryIssuesServiceImpl.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaFactoryRegulatoryIssues; +import cn.cecep.talroad.mapper.analysis.SRaFactoryRegulatoryIssuesMapper; +import cn.cecep.talroad.service.analysis.ISRaFactoryRegulatoryIssuesService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 企业证后监管问题总表Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Service +public class SRaFactoryRegulatoryIssuesServiceImpl extends ServiceImpl implements ISRaFactoryRegulatoryIssuesService +{ + @Autowired + private SRaFactoryRegulatoryIssuesMapper sRaFactoryRegulatoryIssuessMapper; + + /** + * 查询企业证后监管问题总表列表 + * + * @param lambdaQueryWrapper 企业证后监管问题总表 + * @return 企业证后监管问题总表 + */ + @Override + public List selectSRaFactoryRegulatoryIssuesList(QueryWrapper lambdaQueryWrapper) + { + return sRaFactoryRegulatoryIssuessMapper.selectSRaFactoryRegulatoryIssuesList(lambdaQueryWrapper); + } + + @Override + public IPage selectSRaFactoryRegulatoryIssuesPage(Page page, QueryWrapper lambdaQueryWrapper) { + return sRaFactoryRegulatoryIssuessMapper.selectSRaFactoryRegulatoryIssuesPage(page, lambdaQueryWrapper); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryTransferRateAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryTransferRateAnalysisServiceImpl.java new file mode 100644 index 0000000..931c983 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaFactoryTransferRateAnalysisServiceImpl.java @@ -0,0 +1,770 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.mapper.analysis.SRaFactoryTransferRateAnalysisMapper; +import cn.cecep.talroad.service.*; +import cn.cecep.talroad.service.analysis.ISRaAreaTransferRateAnalysisService; +import cn.cecep.talroad.service.analysis.ISRaFactoryTransferRateAnalysisService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.analysis.AvgValueVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.analysis.FactoryOutletVo; +import cn.cecep.talroad.vo.analysis.FactoryTransferRateParamVo; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * 企业传输率分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-28*/ +@Slf4j +@Service +public class SRaFactoryTransferRateAnalysisServiceImpl extends ServiceImpl implements ISRaFactoryTransferRateAnalysisService +{ + @Autowired + private SRaFactoryTransferRateAnalysisMapper sRaFactoryTransferRateAnalysisMapper; + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IBasDeviceParamService iBasDeviceParamService; + @Autowired + private IMonDevRealService iMonDevRealService; + @Autowired + private IMonDevJhRealService iMonDevJhRealService; + @Autowired + private IMonDevSnRealService iMonDevSnRealService; + @Autowired + private IMonDevBlRealService iMonDevBlRealService; + @Autowired + private IMonDevDlRealService iMonDevDlRealService; + @Autowired + private IMonDevFsRealService iMonDevFsRealService; + + @Autowired + private IMonElecRealService iMonElecRealService; + + @Autowired + private ISEnvGasMonRealService isEnvGasMonRealService; + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + @Autowired + private ISEnvGasMonDayService isEnvGasMonDayService; + + @Autowired + private ISEnvWaterMonRealService isEnvWaterMonRealService; + @Autowired + private ISEnvWaterMonHourService isEnvWaterMonHourService; + @Autowired + private ISEnvWaterMonDayService isEnvWaterMonDayService; + @Autowired + private ISEnvGasRealService isEnvGasRealService; + @Autowired + private IOdsInorganizationWeiStationHourIService iOdsInorganizationWeiStationHourIService; + @Autowired + private IOdsMeshingShStationHourIService iOdsMeshingShStationHourIService; + @Autowired + private IOdsMeshingWeiStationHourIService iOdsMeshingWeiStationHourIService; + @Autowired + private IPcFactoryService iPcFactoryService; + @Autowired + private ISRaAreaTransferRateAnalysisService isRaAreaTransferRateAnalysisService; + /** + * 查询企业传输率分析列表 + * + * @param sRaFactoryTransferRateAnalysis 企业传输率分析 + * @return 企业传输率分析 + */ + @Override + public List selectSRaFactoryTransferRateAnalysisList(SRaFactoryTransferRateAnalysis sRaFactoryTransferRateAnalysis) + { + return sRaFactoryTransferRateAnalysisMapper.selectSRaFactoryTransferRateAnalysisList(sRaFactoryTransferRateAnalysis); + } + + /** + * 定时任务先跑完企业的数据,之后,根据企业的传输率分析来汇总区域的。 + * @param statisticsDate + */ + @Override + public void generateAreaDayRecord(LocalDate statisticsDate){ + Date lastDate = DateUtils.addDateDays(new Date(),-1); + String lastDay = DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDateDays(new Date(),-1)); + + List factoryTransList = sRaFactoryTransferRateAnalysisMapper.selectListByArea(lastDay,"D"); + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:factoryTransList) { + SRaAreaTransferRateAnalysis data = new SRaAreaTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("D"); + data.setCreateTime(new Date()); + data.setStatisticsTime(lastDay); + data.setDataTime(DateUtils.parseFormatDate("yyyy-MM-dd 00:00:00",lastDate)); + addList.add(data); + } + + if(addList.size()>0){ + isRaAreaTransferRateAnalysisService.saveBatch(addList); + addList.clear(); + } + } + + /** + * 生成企业月度报表 + * 逻辑如下,查询该月下所有的日数据,根据企业+outletCode为维度,进行数据求和组装 + * @param statisticsDate yyyyMM + */ + @Override + public void generateFactoryMonthRecord(String statisticsDate){ + Date lastMonth = DateUtils.addDateMonths(new Date() ,-1); + DateTime beginTime = DateUtil.beginOfMonth(lastMonth); + List dataList = sRaFactoryTransferRateAnalysisMapper.selectStatisticsLastMonthData(DateUtils.parseDateToStr("yyyy-MM",lastMonth),"D"); + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:dataList) { + SRaFactoryTransferRateAnalysis data = new SRaFactoryTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("M"); + data.setStatisticsTime(statisticsDate); + data.setCreateTime(new Date()); + data.setDataTime(beginTime); + addList.add(data); + } + if(addList.size()>0){ + this.saveBatch(addList); + addList.clear(); + } + } + + /** + * 生成企业季度报表 + * 逻辑如下,查询该季度下所有的月数据,根据企业+outletCode为维度,进行数据求和组装 + * @param year + */ + @Override + public void generateFactorySeasonRecord(String year){ + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + if(StringUtils.isEmpty(year)) { + year = DateUtils.parseDateToStr("yyyy", lastMonth); + } + int quarter = DateUtil.date(lastMonth).quarter(); + String season = year +"-"+ quarter; + DateTime beginOfSeason = DateUtil.beginOfQuarter(lastMonth); + DateTime endOfSeason = DateUtil.endOfQuarter(lastMonth); + +// List dataList = sRaFactoryTransferRateAnalysisMapper.selectStatisticsSeasonData(Arrays.asList(DateUtils.getRangeTimes("N",beginOfSeason,endOfSeason))); + List addList = new ArrayList<>(); + List dataList = null; + for (SRaFactoryTransferRateAnalysis tmp:dataList) { + SRaFactoryTransferRateAnalysis data = new SRaFactoryTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("S"); + data.setStatisticsTime(season); + data.setCreateTime(new Date()); + data.setDataTime(beginOfSeason); + addList.add(data); + } + if(addList.size()>0){ + this.saveBatch(addList); + addList.clear(); + } + } + + /** + * 生成企业年报表 + * 逻辑如下,查询该年所有的季度数据,根据企业+outletCode为维度,进行数据求和组装 + * @param year + */ + @Override + public void generateFactoryYearRecord(String year){ + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + DateTime beginOfYear = DateUtil.beginOfYear(lastMonth); + DateTime endOfYear = DateUtil.endOfYear(lastMonth); + //查询过去1年 +// List dataList = sRaFactoryTransferRateAnalysisMapper.selectStatisticsSeasonData(DateUtils.getRangeTimes("N",beginOfYear,endOfYear)); + List dataList = new ArrayList<>(); + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:dataList) { + SRaFactoryTransferRateAnalysis data = new SRaFactoryTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("Y"); + data.setStatisticsTime(year); + data.setCreateTime(new Date()); + data.setDataTime(beginOfYear); + addList.add(data); + } + if(addList.size()>0){ + this.saveBatch(addList); + addList.clear(); + } + } + + + /** + * 生成企业月度报表 + * 逻辑如下,查询该月下所有的日数据,根据区域编码维度,进行数据求和组装 + * @param statisticsDate yyyy-MM + */ + @Override + public void generateAreaMonthRecord(String statisticsDate){ + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + String lastMonthStr = DateUtils.parseDateToStr("yyyy-MM",lastMonth); + DateTime beginOfMonth = DateUtil.beginOfMonth(lastMonth); + + List factoryTransList = sRaFactoryTransferRateAnalysisMapper.selectListByArea(lastMonthStr,"M"); + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:factoryTransList) { + SRaAreaTransferRateAnalysis data = new SRaAreaTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("M"); + data.setCreateTime(new Date()); + data.setStatisticsTime(statisticsDate); + data.setDataTime(beginOfMonth); + addList.add(data); + } + + if(addList.size()>0){ + isRaAreaTransferRateAnalysisService.saveBatch(addList); + addList.clear(); + } + } + + /** + * 生成区域季度报表 + * 逻辑如下,查询该季度下所有的月数据,根据区域编码维度,进行数据求和组装 + * @param year + */ + @Override + public void generateAreaSeasonRecord(String year){ + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + if(StringUtils.isEmpty(year)) { + year = DateUtils.parseDateToStr("yyyy", lastMonth); + } + DateTime beginOfSeason = DateUtil.beginOfQuarter(lastMonth); + String quarterTime = year+"-"+beginOfSeason.quarter(); + + List dataList = sRaFactoryTransferRateAnalysisMapper.selectListByArea(quarterTime, "S"); + + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:dataList) { + SRaFactoryTransferRateAnalysis data = new SRaFactoryTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("S"); + data.setStatisticsTime(quarterTime); + data.setCreateTime(new Date()); + data.setDataTime(beginOfSeason); + addList.add(data); + } + if(addList.size()>0){ + this.saveBatch(addList); + addList.clear(); + } + + } + + /** + * 生成企业年度报表 + * 逻辑如下,查询该年所有的季度 数据,根据区域编码维度,进行数据求和组装 + * @param year + */ + @Override + public void generateAreaYearRecord(String year){ + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + year = DateUtils.parseDateToStr("yyyy", lastMonth); + DateTime beginOfYear = DateUtil.beginOfYear(lastMonth); + + List dataList = sRaFactoryTransferRateAnalysisMapper.selectListByArea(year,"Y"); + + List addList = new ArrayList<>(); + for (SRaFactoryTransferRateAnalysis tmp:dataList) { + SRaFactoryTransferRateAnalysis data = new SRaFactoryTransferRateAnalysis(); + BeanUtils.copyProperties(tmp,data); + data.setId(UUID.randomUUID().toString()); + data.setCountType("Y"); + data.setStatisticsTime(year); + data.setCreateTime(new Date()); + data.setDataTime(beginOfYear); + addList.add(data); + } + if(addList.size()>0){ + this.saveBatch(addList); + addList.clear(); + } + } + + + /** + * 生成日数据 + * 逻辑说明:根据排口维度,查询数据进行封装 + * @param statisticsDate + */ + @Override + @Transactional + public void generateFactoryDayRecord2(LocalDate statisticsDate){ + + String statisticsTime =statisticsDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + String queryDate = statisticsDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + DateTime queryBeginTime = DateUtil.parse(queryDate+" 00:00:00"); + DateTime queryEndTime =DateUtil.parse(queryDate+" 23:59:59"); + + try { + processDcsTransRate(statisticsTime, queryBeginTime, queryEndTime); + } catch (Exception e) { + log.error("DCS设备传输率分析异常:"+e.getMessage()); + } + + try { + doProcessElecData(statisticsTime, queryBeginTime, queryEndTime); + } catch (Exception e) { + log.error("分表计电设备传输率分析异常:"+e.getMessage()); + } + try { + // 处理废气传输率分析 + doProcessGasRateData(statisticsTime, queryBeginTime, queryEndTime); + } catch (Exception e) { + log.error("废气在线监测设备传输率分析异常:"+e.getMessage()); + } + + try { + doProcessWaterRateData(statisticsTime, queryBeginTime, queryEndTime); + } catch (Exception e) { + log.error("废水在线监测设备传输率分析异常:"+e.getMessage()); + } + + try { + doProcessUnorgTransRateData(statisticsTime, queryBeginTime, queryEndTime); + } catch (Exception e) { + log.error("无组织在线监测设备传输率分析异常:"+e.getMessage()); + } + } + + /** + * 无组织监测设备传输率 + * @param statisticsTime + * @param queryBeginTime + * @param queryEndTime + */ + private void doProcessUnorgTransRateData(String statisticsTime, DateTime queryBeginTime, DateTime queryEndTime) { + List rateList = new ArrayList<>(); + Integer ycCount = 24; + + List realList = isEnvGasRealService.selectLastDayData(queryBeginTime,queryEndTime); + realList.forEach(pcOutlet ->{ + SRaFactoryTransferRateAnalysis rateAnalysis = getOrgTransferRateAnalysis(statisticsTime,queryBeginTime, pcOutlet,ycCount,pcOutlet.getActualCount()); + if(rateAnalysis!=null) { + rateList.add(rateAnalysis); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + } + + /** + * 无组织在线监测 + * @param statisticsTime + * @param fv + * @param ycCount + * @param realHourCout + * @return + */ + private SRaFactoryTransferRateAnalysis getOrgTransferRateAnalysis(String statisticsTime,DateTime dataTime, FactoryOutletStaticsVo fv, Integer ycCount, Integer realHourCout) { + // 传输率 + BigDecimal rate = new BigDecimal(realHourCout).divide(new BigDecimal(ycCount),4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + // 查询企业信息 + FactoryOutletVo vo = iPcFactoryService.selectByFactoryAndOutletId(fv.getFactoryId(),fv.getOutletId()); + if(vo!=null) { + SRaFactoryTransferRateAnalysis rateAnalysis = new SRaFactoryTransferRateAnalysis(); + rateAnalysis.setId(UUID.randomUUID().toString()); + rateAnalysis.setFactoryId(vo.getFactoryId()); + rateAnalysis.setStatisticsTime(statisticsTime); + rateAnalysis.setDataTime(dataTime); + rateAnalysis.setOutletCode(vo.getOutletId()); + rateAnalysis.setOutletName(vo.getOutletName()); + rateAnalysis.setCountType("D"); + rateAnalysis.setFactoryName(vo.getFactoryName()); + rateAnalysis.setDistrictCode(vo.getCityCode()); + rateAnalysis.setDistrictName(vo.getCityName()); + rateAnalysis.setIndustryCategoryCode(vo.getIndustry()); + rateAnalysis.setIndustryCategoryName(vo.getIndustryName()); + rateAnalysis.setCreateTime(new Date()); + rateAnalysis.setUnorganizedTransmittHourNum(ycCount); + rateAnalysis.setUnorganizedActualTransmittHourNum(realHourCout); + rateAnalysis.setUnorganizedTransmissionHourRate(rate); + + return rateAnalysis; + } + return null; + } + + /** + * 废水在线监测传输率分析 + * @param statisticsTime + * @param queryBeginTime + * @param queryEndTime + */ + private void doProcessWaterRateData(String statisticsTime, DateTime queryBeginTime, DateTime queryEndTime) { + List rateList = new ArrayList<>(); + Integer gasMinCount = 1440; + Integer gasHourCount = 24; + Integer gasDayCount = 1; + + List realList = isEnvWaterMonRealService.selectLastDayCountData(queryBeginTime,queryEndTime); + realList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysis = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasMinCount,fv.getActualCount(),TimeTypeEnum.REAL); + if(rateAnalysis!=null) { + rateList.add(rateAnalysis); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + List hourList = isEnvWaterMonHourService.selectLastDayCountData(queryBeginTime,queryEndTime); + hourList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysis = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasHourCount,fv.getActualCount(),TimeTypeEnum.HOUR); + if(rateAnalysis!=null) { + rateList.add(rateAnalysis); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + List dayList = isEnvWaterMonDayService.selectLastDayCountData(queryBeginTime,queryEndTime); + dayList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysisDay = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasDayCount,fv.getActualCount(),TimeTypeEnum.DAY); + if(rateAnalysisDay!=null) { + rateList.add(rateAnalysisDay); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + + } + + /** + * 废气在线监测传输率分析 + * @param statisticsTime + * @param queryBeginTime + * @param queryEndTime + */ + private void doProcessGasRateData(String statisticsTime, DateTime queryBeginTime, DateTime queryEndTime) { + List rateList = new ArrayList<>(); + Integer gasMinCount = 1440; + Integer gasHourCount = 24; + Integer gasDayCount = 1; + + List realList = isEnvGasMonRealService.selectLastDayData(queryBeginTime,queryEndTime); + realList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysis = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasMinCount,fv.getActualCount(),TimeTypeEnum.REAL); + if(rateAnalysis!=null) { + rateList.add(rateAnalysis); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + List hourList = isEnvGasMonHourService.selectLastDayCountData(queryBeginTime,queryEndTime); + hourList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysis = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasHourCount,fv.getActualCount(),TimeTypeEnum.HOUR); + if(rateAnalysis!=null) { + rateList.add(rateAnalysis); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + List dayList = isEnvGasMonDayService.selectLastDayData(queryBeginTime,queryEndTime); + dayList.forEach(fv->{ + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysisDay = getGasTransferRateAnalysis(statisticsTime,queryBeginTime, fv,gasDayCount,fv.getActualCount(),TimeTypeEnum.DAY); + if(rateAnalysisDay!=null) { + rateList.add(rateAnalysisDay); + } + }); + if(rateList.size()>0){ + List> partList = Lists.partition(rateList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + rateList.clear(); + } + } + + /** + * 在线监测传输率 + * @param statisticsTime + * @param gasCount + * @param realCount + * @return + */ + private SRaFactoryTransferRateAnalysis getGasTransferRateAnalysis(String statisticsTime,DateTime dataTime, FactoryOutletStaticsVo fv, Integer gasCount, Integer realCount,TimeTypeEnum typeEnum) { + // 传输率 + BigDecimal rate = new BigDecimal(realCount).divide(new BigDecimal(gasCount),4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + // 查询企业信息 + FactoryOutletVo vo = iPcFactoryService.selectByFactoryAndOutletId(fv.getFactoryId(),fv.getOutletId()); + if(vo!=null) { + SRaFactoryTransferRateAnalysis rateAnalysis = new SRaFactoryTransferRateAnalysis(); + rateAnalysis.setId(UUID.randomUUID().toString()); + rateAnalysis.setFactoryId(vo.getFactoryId()); + rateAnalysis.setStatisticsTime(statisticsTime); + rateAnalysis.setDataTime(dataTime.toJdkDate()); + rateAnalysis.setOutletCode(vo.getOutletId()); + rateAnalysis.setOutletName(vo.getOutletName()); + rateAnalysis.setCountType("D"); + rateAnalysis.setFactoryName(vo.getFactoryName()); + rateAnalysis.setDistrictCode(vo.getCityCode()); + rateAnalysis.setDistrictName(vo.getCityName()); + rateAnalysis.setIndustryCategoryCode(vo.getIndustry()); + rateAnalysis.setIndustryCategoryName(vo.getIndustryName()); + rateAnalysis.setCreateTime(new Date()); + if (TimeTypeEnum.REAL.getCode().equals(typeEnum.getCode())) { + rateAnalysis.setOnlineMonitoringActualMinuteNum(realCount); + rateAnalysis.setOnlineMonitoringMinuteNum(gasCount); + rateAnalysis.setOnlineMonitoringMinuteRate(rate); + } else if (TimeTypeEnum.HOUR.getCode().equals(typeEnum.getCode())) { + rateAnalysis.setOnlineMonitoringActualHourNum(realCount); + rateAnalysis.setOnlineMonitoringHourNum(gasCount); + rateAnalysis.setOnlineMonitoringHourRate(rate); + } else { + rateAnalysis.setOnlineMonitoringActualDayNum(realCount); + rateAnalysis.setOnlineMonitoringDayNum(gasCount); + rateAnalysis.setOnlineMonitoringDayRate(rate); + } + return rateAnalysis; + } + return null; + } + + /** + * 分表计电 + * @param statisticsTime + * @param queryBeginTime + * @param queryEndTime + */ + private void doProcessElecData(String statisticsTime, DateTime queryBeginTime, DateTime queryEndTime) { + Integer elecMinCount = 96; + Integer pageSize = 2000; + for(int i=0;i<20;i++) { + List elecList = iMonElecRealService.selectLastDayData(queryBeginTime, queryEndTime,pageSize,i*pageSize); + if(elecList.size()>0) { + // 处理分表计电设备传输率 + doProcessElecTransRate(statisticsTime,queryBeginTime, elecMinCount, elecList); + }else{ + break; + } + } + } + + /** + * DCS设备传输率 + * @param statisticsTime + * @param queryBeginTime + * @param queryEndTime + */ + private void processDcsTransRate(String statisticsTime, DateTime queryBeginTime, DateTime queryEndTime) { + List addList = new ArrayList<>(); + // 查询昨天设备上传次数 + List gtList = iMonDevRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, gtList); + // 查询昨天设备上传次数 + List jhList = iMonDevJhRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, jhList); + // 查询昨天设备上传次数 + List snList = iMonDevSnRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, snList); + // 查询昨天设备上传次数 + List blList = iMonDevBlRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, blList); + // 查询昨天设备上传次数 + List dlList = iMonDevDlRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, dlList); + // 查询昨天设备上传次数 + List fsList = iMonDevFsRealService.selectLastDayData(queryBeginTime,queryEndTime); + doProcessCommonTransRate(statisticsTime,queryBeginTime, addList, fsList); + + } + + /** + * 通用企业传输率分析 + * @param statisticsTime + * @param addList + * @param gtList + */ + private void doProcessCommonTransRate(String statisticsTime,DateTime dataTime, List addList, List gtList) { + gtList.forEach(device -> { + // 查询所有需要统计的设备参数 + List paramVoList = this.baseMapper.selectFactoryTransferRateParamVoList(device.getDeviceId()); + if(paramVoList.size()>0) { + // 应传个数 + Integer ycCount = 24 * 60 * paramVoList.size(); + Integer realCount = device.getAvgValue().intValue() * paramVoList.size(); + + log.info("实际上传数量:" + realCount + "#应传数量:" + ycCount); + // 通用方法 + SRaFactoryTransferRateAnalysis rateAnalysis = getDcsTransferRateAnalysis(statisticsTime,dataTime, device.getDeviceId(), ycCount, realCount); + if(rateAnalysis!=null) { + addList.add(rateAnalysis); + } + } + }); + if(addList.size()>0){ + List> partList = Lists.partition(addList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + addList.clear(); + } + } + + /** + * 处理分表计电设备传输率 + * @param statisticsTime + * @param elecMinCount + * @param elecList + */ + private void doProcessElecTransRate(String statisticsTime,DateTime dataTime, Integer elecMinCount,List elecList) { + List addList = new ArrayList<>(); + elecList.forEach(basDevice -> { + SRaFactoryTransferRateAnalysis rateAnalysis = getElecTransferRateAnalysis(statisticsTime,dataTime, basDevice.getDeviceId(), elecMinCount, basDevice.getAvgValue().intValue()); + if(rateAnalysis!=null) { + addList.add(rateAnalysis); + } + }); + + if(addList.size()>0){ + List> partList = Lists.partition(addList,2000); + partList.forEach(i->{ + this.saveBatch(i); + }); + addList.clear(); + } + } + + /** + * 企业分表计电传输率通用方法 + * @param statisticsTime + * @param deviceId + * @param ycCount + * @param realCount + * @return + */ + private SRaFactoryTransferRateAnalysis getElecTransferRateAnalysis(String statisticsTime,DateTime dataTime, String deviceId,Integer ycCount,Integer realCount) { + // 传输率 + BigDecimal rate = new BigDecimal(realCount).divide(new BigDecimal(ycCount),4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + // 查询企业信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(deviceId); + if(vo!=null) { + SRaFactoryTransferRateAnalysis rateAnalysis = new SRaFactoryTransferRateAnalysis(); + rateAnalysis.setId(UUID.randomUUID().toString()); + rateAnalysis.setFactoryId(vo.getFactoryId()); + rateAnalysis.setStatisticsTime(statisticsTime); + rateAnalysis.setDataTime(dataTime.toJdkDate()); + rateAnalysis.setOutletCode(vo.getDeviceId()); + rateAnalysis.setOutletName(vo.getDeviceName()); + rateAnalysis.setCountType("D"); + rateAnalysis.setFactoryName(vo.getFactoryName()); + rateAnalysis.setDistrictCode(vo.getCityCode()); + rateAnalysis.setDistrictName(vo.getCityName()); + rateAnalysis.setIndustryCategoryCode(vo.getIndustry()); + rateAnalysis.setIndustryCategoryName(vo.getIndustryName()); + rateAnalysis.setCreateTime(new Date()); + rateAnalysis.setElecActualTransmittNum(realCount); + rateAnalysis.setElecTransmittNum(ycCount); + rateAnalysis.setElecTransmissionRate(rate); + return rateAnalysis; + } + return null; + } + + /** + * 企业DCS传输率通用方法 + * @param statisticsTime + * @param deviceId + * @param ycCount + * @param realCount + * @return + */ + private SRaFactoryTransferRateAnalysis getDcsTransferRateAnalysis(String statisticsTime,DateTime dataTime, String deviceId,Integer ycCount,Integer realCount) { + // 传输率 + BigDecimal rate = new BigDecimal(realCount).divide(new BigDecimal(ycCount),4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + // 查询企业信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(deviceId); + if(vo!=null) { + SRaFactoryTransferRateAnalysis rateAnalysis = new SRaFactoryTransferRateAnalysis(); + rateAnalysis.setId(UUID.randomUUID().toString()); + rateAnalysis.setFactoryId(vo.getFactoryId()); + rateAnalysis.setStatisticsTime(statisticsTime); + rateAnalysis.setDataTime(dataTime.toJdkDate()); + rateAnalysis.setOutletCode(vo.getDeviceId()); + rateAnalysis.setOutletName(vo.getDeviceName()); + rateAnalysis.setCountType("D"); + rateAnalysis.setFactoryName(vo.getFactoryName()); + rateAnalysis.setDistrictCode(vo.getCityCode()); + rateAnalysis.setDistrictName(vo.getCityName()); + rateAnalysis.setIndustryCategoryCode(vo.getIndustry()); + rateAnalysis.setIndustryCategoryName(vo.getIndustryName()); + rateAnalysis.setCreateTime(new Date()); + rateAnalysis.setDcsActualTransmittNum(realCount); + rateAnalysis.setDcsTransmittMinuteNum(ycCount); + rateAnalysis.setDcsTransmissionRate(rate); + return rateAnalysis; + } + return null; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasFlagServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasFlagServiceImpl.java new file mode 100644 index 0000000..37b15a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasFlagServiceImpl.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.page.TableDataInfo; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaGasFlag; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaGasFlagMapper; +import cn.cecep.talroad.service.analysis.ISRaGasFlagService; +import cn.cecep.talroad.vo.analysis.SRaGasFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaGasFlagQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废气在线监测标记汇总Service业务层处理 + */ +@Service +public class SRaGasFlagServiceImpl extends ServiceImpl implements ISRaGasFlagService { + + @Autowired + private BaseRegionService baseRegionService; + + @Override + public List getGasFlagList(Page page, SRaGasFlagQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List list = baseMapper.selectGasFlagList(page, query); + if (list.isEmpty()) { + return list; + } + Map> dictDataMap = new HashMap<>(); + TableDataInfo tableDataInfo = baseRegionService.getDictDataList("1", "1000", "anal_data_flag"); + if (tableDataInfo != null) { + List> rows = (List>) tableDataInfo.getRows(); + dictDataMap = rows.stream().collect(Collectors.toMap(o -> (String) o.get("dictValue"), o -> o, (o1, o2) -> o1)); + } + for (SRaGasFlagVo.Row row : list) { + Map sysDictData = dictDataMap.get(row.getDataFlag()); + if (sysDictData != null) { + row.setDataFlagName((String) sysDictData.get("dictLabel")); + } + } + return list; + } + + @Override + public List getGasFlagDetailList(Page page, SRaGasFlagQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List list = baseMapper.selectGasFlagDetailList(page, query); + if (list.isEmpty()) { + return list; + } + Map> dictDataMap = new HashMap<>(); + TableDataInfo tableDataInfo = baseRegionService.getDictDataList("1", "1000", "anal_data_flag"); + if (tableDataInfo != null) { + List> rows = (List>) tableDataInfo.getRows(); + dictDataMap = rows.stream().collect(Collectors.toMap(o -> (String) o.get("dictValue"), o -> o, (o1, o2) -> o1)); + } + for (SRaGasFlagVo.DetailRow row : list) { + Map sysDictData = dictDataMap.get(row.getDataFlag()); + if (sysDictData != null) { + row.setDataFlagName((String) sysDictData.get("dictLabel")); + } + } + return list; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedEmissionsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedEmissionsServiceImpl.java new file mode 100644 index 0000000..49a757d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedEmissionsServiceImpl.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.cecep.talroad.mapper.analysis.SRaGasPermittedEmissionsMapper; +import cn.cecep.talroad.service.analysis.ISRaGasPermittedEmissionsService; +import cn.cecep.talroad.vo.query.analysis.SRaGasPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 许可排放量废气明细Service业务层处理 + * + * @author szhpt + * @date 2023-06-02*/ +@Service +public class SRaGasPermittedEmissionsServiceImpl extends ServiceImpl implements ISRaGasPermittedEmissionsService +{ + @Autowired + private SRaGasPermittedEmissionsMapper sRaGasPermittedEmissionsMapper; + + /** + * 查询许可排放量废气明细列表 + * + * @param sRaGasPermittedEmissions 许可排放量废气明细 + * @return 许可排放量废气明细 + */ + @Override + public List selectSRaGasPermittedEmissionsList(SRaGasPermittedEmissionsQuery lambdaQueryWrapper) + { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + List list=sRaGasPermittedEmissionsMapper.selectSRaGasPermittedEmissionsListBy(page,lambdaQueryWrapper); + return list; + } + + @Override + public IPage selectSRaGasPermittedEmissionsListBy(SRaGasPermittedEmissionsQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + List list=sRaGasPermittedEmissionsMapper.selectSRaGasPermittedEmissionsListBy(page,lambdaQueryWrapper); + page.setRecords(list); + return page; + } + + @Override + public List> pullMonitorNameOptions(String factoryName) { + return sRaGasPermittedEmissionsMapper.pullMonitorNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedOnlineServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedOnlineServiceImpl.java new file mode 100644 index 0000000..f162b09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaGasPermittedOnlineServiceImpl.java @@ -0,0 +1,261 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.mapper.analysis.SRaGasPermittedOnlineMapper; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.service.analysis.ISRaGasPermittedOnlineService; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.util.NumberUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 在线排放量废气明细Service业务层处理 + * + * @author szhpt + * @date 2023-06-02*/ +@Service +public class SRaGasPermittedOnlineServiceImpl extends ServiceImpl implements ISRaGasPermittedOnlineService +{ + @Autowired + private SRaGasPermittedOnlineMapper sRaGasPermittedOnlineMapper; + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + @Autowired + private IPcOutletService iPcOutletService; + /** + * 查询在线排放量废气明细列表 + * + * @return 在线排放量废气明细 + */ + @Override + public List selectSRaGasPermittedOnlineList(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) + { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + //废气 + lambdaQueryWrapper.setPollutantOutletType("1"); + Page page = new Page<>(1, 999999); + + List sRaWaterPermittedOnlines= iPcOutletService.selectByOnlineAndSource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + if(StringUtils.isBlank(item.getSourcePermissionPoll())){ + item.setSourcePermissionPoll(""); + } + stringList.add(item.getMonitorId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + List list=new ArrayList<>(); + //自动监测数据 + list.addAll(isEnvGasMonHourService.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + if(lambdaQueryWrapper.getType().equals("2")){ + //手工检测数据 + list.addAll(isEnvGasMonHourService.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + } + //处理修约量,如果为空则填充排放量 + list.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + Map> stringListMap = list.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getOutletId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getMonitorId())){ + List sEnvWaterMonHours = stringListMap.get(item.getMonitorId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21026"))){ + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2CorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(),o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21002"))){ + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99901"))){ + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99911"))){ + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSmokeDustCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(),4)); + } + + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21026"))) { + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2Emission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2Emission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21002"))) { + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99901"))) { + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99911"))) { + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPmEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPmEmission()).doubleValue()).sum(), 4)); + } + } + } + }); + return sRaWaterPermittedOnlines; + } + + @Override + public IPage selectSRaGasPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + //废气 + lambdaQueryWrapper.setPollutantOutletType("1"); + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + + List sRaWaterPermittedOnlines= iPcOutletService.selectByOnlineAndSource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + if(StringUtils.isBlank(item.getSourcePermissionPoll())){ + item.setSourcePermissionPoll(""); + } + stringList.add(item.getMonitorId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + List list=new ArrayList<>(); + //自动监测数据 + list.addAll(isEnvGasMonHourService.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + if(lambdaQueryWrapper.getType().equals("2")){ + //手工检测数据 + list.addAll(isEnvGasMonHourService.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + } + //处理修约量,如果为空则填充排放量 + list.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + Map> stringListMap = list.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getOutletId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getMonitorId())){ + List sEnvWaterMonHours = stringListMap.get(item.getMonitorId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21026"))){ + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2CorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(),o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21002"))){ + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99901"))){ + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99911"))){ + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSmokeDustCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(),4)); + } + + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21026"))) { + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2Emission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2Emission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A21002"))) { + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99901"))) { + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("A99911"))) { + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPmEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPmEmission()).doubleValue()).sum(), 4)); + } + } + } + }); + page.setRecords(sRaWaterPermittedOnlines); + return page; + } + public boolean dataFlagConversion(String value, String dataFlag, String valueFlag, String flag){ + if(StringUtils.isBlank(value)){ + return false; + } + if(StringUtils.isBlank(dataFlag)){ + return true; + } + if(StringUtils.isBlank(flag)&&StringUtils.isBlank(valueFlag)){ + return true; + } + if(StringUtils.isNotBlank(flag)){ + if(!dataFlag.contains(flag.trim())){ + return true; + } + } + if(StringUtils.isNotBlank(valueFlag)){ + if(!dataFlag.contains(valueFlag.trim())){ + return true; + } + } + return false; + } + @Override + public List> pullMonitorNameOptions(String factoryName) { + + return sRaGasPermittedOnlineMapper.pullMonitorNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsGasServiceImpl.java new file mode 100644 index 0000000..8b5a6fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsGasServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsGasMapper; +import cn.cecep.talroad.service.analysis.ISRaHandworkEmissionsGasService; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsGasQuery; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + + +/** + * 手工监测排放监控-气污染要素Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaHandworkEmissionsGasServiceImpl extends ServiceImpl implements ISRaHandworkEmissionsGasService +{ + @Autowired + private SRaHandworkEmissionsGasMapper sRaHandworkEmissionsGasMapper; + + /** + * 查询手工监测排放监控-气污染要素列表 + * + * @param sRaHandworkEmissionsGas 手工监测排放监控-气污染要素 + * @return 手工监测排放监控-气污染要素 + */ + @Override + public List selectSRaHandworkEmissionsGasList(SRaHandworkEmissionsGasQuery sRaHandworkEmissionsGas) + { + DateTime startTime = DateUtil.parse(sRaHandworkEmissionsGas.getMonitorTimeStart()+" 00:00:00", "yyyy-MM-dd HH:mm:ss"); + DateTime endTime = DateUtil.parse(sRaHandworkEmissionsGas.getMonitorTimeEnd()+" 23:59:59", "yyyy-MM-dd HH:mm:ss"); + DateTime cycStartTime = DateUtil.parse(sRaHandworkEmissionsGas.getCheckCycleStart()+" 00:00:00", "yyyy-MM-dd HH:mm:ss"); + DateTime cycEndTime = DateUtil.parse(sRaHandworkEmissionsGas.getCheckCycleEnd()+" 23:59:59", "yyyy-MM-dd HH:mm:ss"); + return sRaHandworkEmissionsGasMapper.selectSRaHandworkEmissionsGasList(sRaHandworkEmissionsGas,startTime,endTime,cycStartTime,cycEndTime); + } + + @Override + public List> pullPointOptions() { + return sRaHandworkEmissionsGasMapper.pullPointOptions(); + } + + @Override + public List> pullPollutantOptions() { + return sRaHandworkEmissionsGasMapper.pullPollutantOptions(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsWaterServiceImpl.java new file mode 100644 index 0000000..115e87a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaHandworkEmissionsWaterServiceImpl.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import cn.cecep.talroad.mapper.analysis.SRaHandworkEmissionsWaterMapper; +import cn.cecep.talroad.service.analysis.ISRaHandworkEmissionsWaterService; +import cn.cecep.talroad.vo.query.analysis.SRaHandworkEmissionsWaterQuery; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + + +/** + * 手工监测排放监控-水污染要素Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaHandworkEmissionsWaterServiceImpl extends ServiceImpl implements ISRaHandworkEmissionsWaterService +{ + @Autowired + private SRaHandworkEmissionsWaterMapper sRaHandworkEmissionsWaterMapper; + + /** + * 查询手工监测排放监控-水污染要素列表 + * + * @param sRaHandworkEmissionsWater 手工监测排放监控-水污染要素 + * @return 手工监测排放监控-水污染要素 + */ + @Override + public List selectSRaHandworkEmissionsWaterList(SRaHandworkEmissionsWaterQuery sRaHandworkEmissionsWater) + { + DateTime startTime = DateUtil.parse(sRaHandworkEmissionsWater.getMonitorTimeStart()+" 00:00:00", "yyyy-MM-dd HH:mm:ss"); + DateTime endTime = DateUtil.parse(sRaHandworkEmissionsWater.getMonitorTimeEnd()+" 23:59:59", "yyyy-MM-dd HH:mm:ss"); + DateTime cycStartTime = DateUtil.parse(sRaHandworkEmissionsWater.getCheckCycleStart()+" 00:00:00", "yyyy-MM-dd HH:mm:ss"); + DateTime cycEndTime = DateUtil.parse(sRaHandworkEmissionsWater.getCheckCycleEnd()+" 23:59:59", "yyyy-MM-dd HH:mm:ss"); + return sRaHandworkEmissionsWaterMapper.selectSRaHandworkEmissionsWaterList(sRaHandworkEmissionsWater,startTime,endTime,cycStartTime,cycEndTime); + } + + @Override + public List> pullPointOptions() { + return sRaHandworkEmissionsWaterMapper.pullPointOptions(); + } + + @Override + public List> pullPollutantOptions() { + return sRaHandworkEmissionsWaterMapper.pullPollutantOptions(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringGasServiceImpl.java new file mode 100644 index 0000000..16fae7f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringGasServiceImpl.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.impl.analysis; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringGas; +import cn.cecep.talroad.mapper.analysis.SRaLowMonitoringGasMapper; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringGasService; +@Service +public class SRaLowMonitoringGasServiceImpl extends ServiceImpl implements SRaLowMonitoringGasService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringOtherServiceImpl.java new file mode 100644 index 0000000..7448273 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringOtherServiceImpl.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.impl.analysis; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.mapper.analysis.SRaLowMonitoringOtherMapper; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringOther; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringOtherService; +@Service +public class SRaLowMonitoringOtherServiceImpl extends ServiceImpl implements SRaLowMonitoringOtherService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringWaterServiceImpl.java new file mode 100644 index 0000000..1e9774c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaLowMonitoringWaterServiceImpl.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.impl.analysis; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.mapper.analysis.SRaLowMonitoringWaterMapper; +import java.util.List; +import cn.cecep.talroad.domain.analysis.SRaLowMonitoringWater; +import cn.cecep.talroad.service.analysis.SRaLowMonitoringWaterService; +@Service +public class SRaLowMonitoringWaterServiceImpl extends ServiceImpl implements SRaLowMonitoringWaterService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaMultiSourceServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaMultiSourceServiceImpl.java new file mode 100644 index 0000000..036b469 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaMultiSourceServiceImpl.java @@ -0,0 +1,759 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.mapper.analysis.SRaMultiSourceMapper; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.service.ISEnvWaterMonHourService; +import cn.cecep.talroad.service.analysis.ISRaMultiSourceService; +import cn.cecep.talroad.vo.query.analysis.SRaMultiSourceQuery; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 多源排放量汇总Service业务层处理 + * + * @author szhpt + * @date 2023-06-03*/ +@Service +public class SRaMultiSourceServiceImpl extends ServiceImpl implements ISRaMultiSourceService +{ + @Autowired + private SRaMultiSourceMapper sRaMultiSourceMapper; + @Autowired + private IPcOutletService iPcOutletService; + @Autowired + private ISEnvWaterMonHourService isEnvWaterMonHourService; + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + /** + * 查询多源排放量汇总列表 + * + * @param lambdaQueryWrapper 多源排放量汇总 + * @return 多源排放量汇总 + */ + @Override + public List selectSRaMultiSourceList(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) + { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + Page page = new Page<>(1, 999999); + + List sRaWaterPermittedOnlines= iPcOutletService.selectBySource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + stringList.add(item.getFactoryId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + /*-------------------------------------在线排放量-------------------------------------------------*/ + lambdaQueryWrapper.setType("1"); + List gasMonHours=isEnvGasMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper); + //处理修约量,如果为空则填充排放量 + gasMonHours.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + Map> stringListMap = gasMonHours.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getFactoryId())){ + List sEnvWaterMonHours = stringListMap.get(item.getFactoryId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2CorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(),4)); + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(),4)); + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(),4)); + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSmokeDustCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(),4)); + }else { + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2Emission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2Emission()).doubleValue()).sum(),4)); + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxEmission()).doubleValue()).sum(),4)); + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsEmission()).doubleValue()).sum(),4)); + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPmEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPmEmission()).doubleValue()).sum(),4)); + } + } + }); + + List waterMonHours=isEnvWaterMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper); + //处理修约量,如果为空则填充排放量 + waterMonHours.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + Map> stringListMaps = waterMonHours.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMaps.containsKey(item.getFactoryId())){ + List sEnvWaterMonHours = stringListMaps.get(item.getFactoryId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getAmmoniaCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(),4)); + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(),4)); + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNitrogenCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(),4)); + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPhosphorusCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(),4)); + }else { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getAmmoniaNitrogenEmission(),lambdaQueryWrapper.getDataFlag(),o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(),4)); + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodEmission()).doubleValue()).sum(),4)); + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNitrogenConcentrationEmission(),lambdaQueryWrapper.getDataFlag(),o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(),4)); + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPhosphorusConcentrationEmission(),lambdaQueryWrapper.getDataFlag(),o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(),4)); + } + } + }); + /*-------------------------------------许可排放量-------------------------------------------------*/ + lambdaQueryWrapper.setType("2"); + List gasMonHoursPermit=new ArrayList<>(); + //自动监测 + gasMonHoursPermit.addAll(isEnvGasMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper)); + //手工检测 + gasMonHoursPermit.addAll(isEnvGasMonHourService.selectManualSRaWaterSourceListBy(lambdaQueryWrapper)); + //处理修约量,如果为空则填充排放量 + gasMonHoursPermit.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + /**/ + Map>> stringListMapPermit = gasMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getFactoryId,Collectors.groupingBy(SEnvGasMonHour::getOutletId))); + Set setOutletIds =new HashSet(); + stringListMapPermit.forEach((key,value)->{setOutletIds.addAll(value.keySet());}); + List gasMonHours1=isEnvGasMonHourService.selectSRaWaterSourceListByPoll(setOutletIds); + Map> stringListMapsPermit = gasMonHours1.stream().collect(Collectors.groupingBy( SRaWaterPermittedOnline::getMonitorId)); + /**/ + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMapPermit.containsKey(item.getFactoryId())){ + /**/ + Map> sEnvWaterMonHour = stringListMapPermit.get(item.getFactoryId()); + sEnvWaterMonHour.forEach((key,sEnvWaterMonHours)->{ + /**/ + String sourcePermissionPoll =stringListMapsPermit.get(key).get(0).getSourcePermissionPoll(); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21026"))) { + if(ObjectUtil.isNull(item.getSo2Amendments())){ + item.setSo2Amendments(new BigDecimal(0)); + } + item.setSo2Amendments(item.getSo2Amendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2CorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21002"))) { + if(ObjectUtil.isNull(item.getNoxAmendments())){ + item.setNoxAmendments(new BigDecimal(0)); + } + item.setNoxAmendments(item.getNoxAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99901"))) { + if(ObjectUtil.isNull(item.getVocsAmendments())){ + item.setVocsAmendments(new BigDecimal(0)); + } + item.setVocsAmendments(item.getVocsAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99911"))) { + if(ObjectUtil.isNull(item.getPmAmendments())){ + item.setPmAmendments(new BigDecimal(0)); + } + item.setPmAmendments(item.getPmAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSmokeDustCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(), 4))); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21026"))) { + if(ObjectUtil.isNull(item.getSo2Amendments())){ + item.setSo2Amendments(new BigDecimal(0)); + } + item.setSo2Amendments(item.getSo2Amendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2Emission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2Emission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21002"))) { + if(ObjectUtil.isNull(item.getNoxAmendments())){ + item.setNoxAmendments(new BigDecimal(0)); + } + item.setNoxAmendments(item.getNoxAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99901"))) { + if(ObjectUtil.isNull(item.getVocsAmendments())){ + item.setVocsAmendments(new BigDecimal(0)); + } + item.setVocsAmendments(item.getVocsAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99911"))) { + if(ObjectUtil.isNull(item.getPmAmendments())){ + item.setPmAmendments(new BigDecimal(0)); + } + item.setPmAmendments(item.getPmAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPmEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPmEmission()).doubleValue()).sum(), 4))); + } + } + }); + } + }); + List waterMonHoursPermit =new ArrayList<>(); + //自动监测 + waterMonHoursPermit.addAll(isEnvWaterMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper)); + //手工检测 + waterMonHoursPermit.addAll(isEnvWaterMonHourService.selectManualSRaWaterSourceListBy(lambdaQueryWrapper)); + //处理修约量,如果为空则填充排放量 + waterMonHoursPermit.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + /**/ + Map>> stringListWaterMapsPermits = waterMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId,Collectors.groupingBy(SEnvWaterMonHour::getOutletId))); + Set setOutletIdWaters =new HashSet(); + stringListWaterMapsPermits.forEach((key,value)->{setOutletIdWaters.addAll(value.keySet());}); + List waterMonHours1=isEnvGasMonHourService.selectSRaWaterSourceListByPoll(setOutletIdWaters); + Map> stringListWaterMapsPermit = waterMonHours1.stream().collect(Collectors.groupingBy( SRaWaterPermittedOnline::getMonitorId)); + /**/ +// Map> stringListMapsPermit = waterMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListWaterMapsPermits.containsKey(item.getFactoryId())){ + Map> sEnvWaterMonHouras = stringListWaterMapsPermits.get(item.getFactoryId()); + sEnvWaterMonHouras.forEach((key,sEnvWaterMonHours)->{ + String sourcePermissionPoll =stringListWaterMapsPermit.get(key).get(0).getSourcePermissionPoll(); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21003"))) { + if(ObjectUtil.isNull(item.getAmmoniaAmendments())){ + item.setAmmoniaAmendments(new BigDecimal(0)); + } + item.setAmmoniaAmendments(item.getAmmoniaAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W01018"))) { + if(ObjectUtil.isNull(item.getCodAmendments())){ + item.setCodAmendments(new BigDecimal(0)); + } + item.setCodAmendments(item.getCodAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21001"))) { + if(ObjectUtil.isNull(item.getNitrogenAmendments())){ + item.setNitrogenAmendments(new BigDecimal(0)); + } + item.setNitrogenAmendments(item.getNitrogenAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21011"))) { + if(ObjectUtil.isNull(item.getPhosphorusAmendments())){ + item.setPhosphorusAmendments(new BigDecimal(0)); + } + item.setPhosphorusAmendments(item.getPhosphorusAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(), 4))); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21003"))) { + if(ObjectUtil.isNull(item.getAmmoniaAmendments())){ + item.setAmmoniaAmendments(new BigDecimal(0)); + } + item.setAmmoniaAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaNitrogenEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W01018"))) { + if(ObjectUtil.isNull(item.getCodAmendments())){ + item.setCodAmendments(new BigDecimal(0)); + } + item.setCodAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21001"))) { + if(ObjectUtil.isNull(item.getNitrogenAmendments())){ + item.setNitrogenAmendments(new BigDecimal(0)); + } + item.setNitrogenAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21011"))) { + if(ObjectUtil.isNull(item.getPhosphorusAmendments())){ + item.setPhosphorusAmendments(new BigDecimal(0)); + } + item.setPhosphorusAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(), 4)); + } + } + }); + } + }); + return sRaWaterPermittedOnlines; + } + + @Override + public IPage selectSRaMultiSourceListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + + List sRaWaterPermittedOnlines= iPcOutletService.selectBySource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + stringList.add(item.getFactoryId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + /*-------------------------------------在线排放量-------------------------------------------------*/ + lambdaQueryWrapper.setType("1"); + List gasMonHours=isEnvGasMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper); + //处理修约量,如果为空则填充排放量 + gasMonHours.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + Map> stringListMap = gasMonHours.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getFactoryId())){ + List sEnvWaterMonHours = stringListMap.get(item.getFactoryId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2CorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(),4)); + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(),4)); + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(),4)); + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSmokeDustCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(),4)); + }else { + item.setSo2(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getSo2Emission(),lambdaQueryWrapper.getDataFlag(),o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getSo2Emission()).doubleValue()).sum(),4)); + item.setNox(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNoxEmission(),lambdaQueryWrapper.getDataFlag(),o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNoxEmission()).doubleValue()).sum(),4)); + item.setVocs(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getVocsEmission(),lambdaQueryWrapper.getDataFlag(),o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getVocsEmission()).doubleValue()).sum(),4)); + item.setPm(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPmEmission(),lambdaQueryWrapper.getDataFlag(),o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPmEmission()).doubleValue()).sum(),4)); + } + } + }); + + List waterMonHours=isEnvWaterMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper); + //处理修约量,如果为空则填充排放量 + waterMonHours.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + Map> stringListMaps = waterMonHours.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMaps.containsKey(item.getFactoryId())){ + List sEnvWaterMonHours = stringListMaps.get(item.getFactoryId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getAmmoniaCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(),4)); + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(),4)); + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNitrogenCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(),4)); + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPhosphorusCorrectEmission(),lambdaQueryWrapper.getDataFlag(),o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(),4)); + }else { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getAmmoniaNitrogenEmission(),lambdaQueryWrapper.getDataFlag(),o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(),4)); + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodEmission()).doubleValue()).sum(),4)); + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getNitrogenConcentrationEmission(),lambdaQueryWrapper.getDataFlag(),o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(),4)); + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getPhosphorusConcentrationEmission(),lambdaQueryWrapper.getDataFlag(),o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(),4)); + } + } + }); + /*-------------------------------------许可排放量-------------------------------------------------*/ + lambdaQueryWrapper.setType("2"); + List gasMonHoursPermit=new ArrayList<>(); + //自动监测 + gasMonHoursPermit.addAll(isEnvGasMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper)); + //手工检测 + gasMonHoursPermit.addAll(isEnvGasMonHourService.selectManualSRaWaterSourceListBy(lambdaQueryWrapper)); + //处理修约量,如果为空则填充排放量 + gasMonHoursPermit.forEach(item->{ + if(StringUtils.isEmpty(item.getSo2CorrectEmission())){ + item.setSo2CorrectEmission(item.getSo2Emission()); + } + if(StringUtils.isEmpty(item.getNoxCorrectEmission())){ + item.setNoxCorrectEmission(item.getNoxEmission()); + } + if(StringUtils.isEmpty(item.getVocsCorrectEmission())){ + item.setVocsCorrectEmission(item.getVocsEmission()); + } + if(StringUtils.isEmpty(item.getSmokeDustCorrectEmission())){ + item.setSmokeDustCorrectEmission(item.getPmEmission()); + } + }); + /**/ + Map>> stringListMapPermit = gasMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvGasMonHour::getFactoryId,Collectors.groupingBy(SEnvGasMonHour::getOutletId))); + Set setOutletIds =new HashSet(); + stringListMapPermit.forEach((key,value)->{setOutletIds.addAll(value.keySet());}); + List gasMonHours1=isEnvGasMonHourService.selectSRaWaterSourceListByPoll(setOutletIds); + Map> stringListMapsPermit = gasMonHours1.stream().collect(Collectors.groupingBy( SRaWaterPermittedOnline::getMonitorId)); + /**/ + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMapPermit.containsKey(item.getFactoryId())){ + /**/ + Map> sEnvWaterMonHour = stringListMapPermit.get(item.getFactoryId()); + sEnvWaterMonHour.forEach((key,sEnvWaterMonHours)->{ + /**/ + String sourcePermissionPoll =stringListMapsPermit.get(key).get(0).getSourcePermissionPoll(); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21026"))) { + if(ObjectUtil.isNull(item.getSo2Amendments())){ + item.setSo2Amendments(new BigDecimal(0)); + } + item.setSo2Amendments(item.getSo2Amendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2CorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2CorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21002"))) { + if(ObjectUtil.isNull(item.getNoxAmendments())){ + item.setNoxAmendments(new BigDecimal(0)); + } + item.setNoxAmendments(item.getNoxAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99901"))) { + if(ObjectUtil.isNull(item.getVocsAmendments())){ + item.setVocsAmendments(new BigDecimal(0)); + } + item.setVocsAmendments(item.getVocsAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99911"))) { + if(ObjectUtil.isNull(item.getPmAmendments())){ + item.setPmAmendments(new BigDecimal(0)); + } + item.setPmAmendments(item.getPmAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSmokeDustCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSmokeDustCorrectEmission()).doubleValue()).sum(), 4))); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21026"))) { + if(ObjectUtil.isNull(item.getSo2Amendments())){ + item.setSo2Amendments(new BigDecimal(0)); + } + item.setSo2Amendments(item.getSo2Amendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getSo2Emission(), lambdaQueryWrapper.getDataFlag(), o.getSo2Flag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getSo2Emission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A21002"))) { + if(ObjectUtil.isNull(item.getNoxAmendments())){ + item.setNoxAmendments(new BigDecimal(0)); + } + item.setNoxAmendments(item.getNoxAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNoxEmission(), lambdaQueryWrapper.getDataFlag(), o.getNoxFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNoxEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99901"))) { + if(ObjectUtil.isNull(item.getVocsAmendments())){ + item.setVocsAmendments(new BigDecimal(0)); + } + item.setVocsAmendments(item.getVocsAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getVocsEmission(), lambdaQueryWrapper.getDataFlag(), o.getVocsFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getVocsEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("A99911"))) { + if(ObjectUtil.isNull(item.getPmAmendments())){ + item.setPmAmendments(new BigDecimal(0)); + } + item.setPmAmendments(item.getPmAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPmEmission(), lambdaQueryWrapper.getDataFlag(), o.getPmFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPmEmission()).doubleValue()).sum(), 4))); + } + } + }); + } + }); + List waterMonHoursPermit=new ArrayList<>(); + //自动监测 + waterMonHoursPermit.addAll(isEnvWaterMonHourService.selectSRaWaterSourceListBy(lambdaQueryWrapper)); + //手工检测 + waterMonHoursPermit.addAll(isEnvWaterMonHourService.selectManualSRaWaterSourceListBy(lambdaQueryWrapper)); + + //处理修约量,如果为空则填充排放量 + waterMonHoursPermit.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + /**/ + Map>> stringListWaterMapsPermits = waterMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId,Collectors.groupingBy(SEnvWaterMonHour::getOutletId))); + Set setOutletIdWaters =new HashSet(); + stringListWaterMapsPermits.forEach((key,value)->{setOutletIdWaters.addAll(value.keySet());}); + List waterMonHours1=isEnvGasMonHourService.selectSRaWaterSourceListByPoll(setOutletIdWaters); + Map> stringListWaterMapsPermit = waterMonHours1.stream().collect(Collectors.groupingBy( SRaWaterPermittedOnline::getMonitorId)); + /**/ +// Map> stringListMapsPermit = waterMonHoursPermit.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getFactoryId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListWaterMapsPermits.containsKey(item.getFactoryId())){ + Map> sEnvWaterMonHouras = stringListWaterMapsPermits.get(item.getFactoryId()); + sEnvWaterMonHouras.forEach((key,sEnvWaterMonHours)->{ + String sourcePermissionPoll =stringListWaterMapsPermit.get(key).get(0).getSourcePermissionPoll(); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21003"))) { + if(ObjectUtil.isNull(item.getAmmoniaAmendments())){ + item.setAmmoniaAmendments(new BigDecimal(0)); + } + item.setAmmoniaAmendments(item.getAmmoniaAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W01018"))) { + if(ObjectUtil.isNull(item.getCodAmendments())){ + item.setCodAmendments(new BigDecimal(0)); + } + item.setCodAmendments(item.getCodAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21001"))) { + if(ObjectUtil.isNull(item.getNitrogenAmendments())){ + item.setNitrogenAmendments(new BigDecimal(0)); + } + item.setNitrogenAmendments(item.getNitrogenAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(), 4))); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21011"))) { + if(ObjectUtil.isNull(item.getPhosphorusAmendments())){ + item.setPhosphorusAmendments(new BigDecimal(0)); + } + item.setPhosphorusAmendments(item.getPhosphorusAmendments().add(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(), 4))); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21003"))) { + if(ObjectUtil.isNull(item.getAmmoniaAmendments())){ + item.setAmmoniaAmendments(new BigDecimal(0)); + } + item.setAmmoniaAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaNitrogenEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W01018"))) { + if(ObjectUtil.isNull(item.getCodAmendments())){ + item.setCodAmendments(new BigDecimal(0)); + } + item.setCodAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o ->{ + return dataFlagConversion(o.getCodEmission(),lambdaQueryWrapper.getDataFlag(),o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op->new BigDecimal(op.getCodEmission()).doubleValue()).sum(),4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21001"))) { + if(ObjectUtil.isNull(item.getNitrogenAmendments())){ + item.setNitrogenAmendments(new BigDecimal(0)); + } + item.setNitrogenAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&sourcePermissionPoll.contains("W21011"))) { + if(ObjectUtil.isNull(item.getPhosphorusAmendments())){ + item.setPhosphorusAmendments(new BigDecimal(0)); + } + item.setPhosphorusAmendments(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(), 4)); + } + } + }); + } + }); + page.setRecords(sRaWaterPermittedOnlines); + return page; + } + public boolean dataFlagConversion(String value, String dataFlag, String valueFlag, String flag){ + if(StringUtils.isBlank(value)){ + return false; + } + if(StringUtils.isBlank(dataFlag)){ + return true; + } + if(StringUtils.isBlank(flag)&&StringUtils.isBlank(valueFlag)){ + return true; + } + if(StringUtils.isNotBlank(flag)){ + if(!dataFlag.contains(flag.trim())){ + return true; + } + } + if(StringUtils.isNotBlank(valueFlag)){ + if(!dataFlag.contains(valueFlag.trim())){ + return true; + } + } + return false; + } + @Override + public IPage selectSRaMultiSourceListDetailsBy(SRaMultiSourceQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + List list=sRaMultiSourceMapper.selectSRaMultiSourceListDetailsBy(page,lambdaQueryWrapper); + page.setRecords(list); + return page; + } + + @Override + public List selectSRaMultiSourceListDetails(SRaMultiSourceQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(1, 999999); + List list=sRaMultiSourceMapper.selectSRaMultiSourceListDetailsBy(page,lambdaQueryWrapper); + return list; + } + + @Override + public String pullMonitorNameOptions(SRaMultiSourceQuery lambdaQueryWrapper) { + return sRaMultiSourceMapper.pullMonitorNameOptions(lambdaQueryWrapper); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsGasServiceImpl.java new file mode 100644 index 0000000..2625d55 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsGasServiceImpl.java @@ -0,0 +1,99 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsGasMapper; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsGasService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsGasQuery; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 在线监测排放监控-气污染要素Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaOnlineEmissionsGasServiceImpl extends ServiceImpl implements ISRaOnlineEmissionsGasService +{ + @Autowired + private SRaOnlineEmissionsGasMapper sRaOnlineEmissionsGasMapper; + + @Autowired + private PcPollutantMapper pollutantMapper; + + /** + * 查询在线监测排放监控-气污染要素列表 + * + * @param sRaOnlineEmissionsGas 在线监测排放监控-气污染要素 + * @return 在线监测排放监控-气污染要素 + */ + @Override + public List selectSRaOnlineEmissionsGasList(SRaOnlineEmissionsGas sRaOnlineEmissionsGas) + { + return sRaOnlineEmissionsGasMapper.selectSRaOnlineEmissionsGasList(sRaOnlineEmissionsGas); + } + + @Override + public EChartsVO getChartData(SRaOnlineEmissionsGasQuery.CharDataSearchVo searchVo) { + List xdata = DateUtils.getRangeTimes("H", searchVo.getStartTime(), searchVo.getEndTime()); + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(new ArrayList<>()); + + PcPollutant pcPollutant = pollutantMapper.selectById(searchVo.getPollutantCode()); + + if (pcPollutant == null) { + return chartsVO; + } + List chartDataVos = sRaOnlineEmissionsGasMapper.selectChartData(searchVo); + Map chartDataVoMap = chartDataVos.stream().collect(Collectors.toMap(o -> o.getMonitorTime(), o -> o)); + + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pcPollutant.getPollName()); + ser.setUnit("kg"); + + // 设置许可量标记线 + if (StringUtils.isNotEmpty(searchVo.getAllowableValue())) { + List markLinedata = new ArrayList<>(); + + Map labelMap = new HashMap<>(); + labelMap.put("formatter", "{b}: {c}"); + + markLinedata.add( + new HashMap() {{ + put("name", "许可量"); + put("yAxis", searchVo.getAllowableValue()); + put("label", labelMap); + }} + ); + EChartsVO.MarkLine markLine = new EChartsVO.MarkLine(); + markLine.setData(markLinedata); + ser.setMarkLine(markLine); + } + + List values = xdata.stream().map(time -> { + SRaOnlineEmissionsGasVo.ChartDataVo chartDataVo = chartDataVoMap.get(time); + if (chartDataVo == null) { + return null; + } + return chartDataVo.getPollutantEmissions(); + }).collect(Collectors.toList()); + ser.setValues(values); + + chartsVO.setSeries(Arrays.asList(ser)); + return chartsVO; + + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsWaterServiceImpl.java new file mode 100644 index 0000000..25f0709 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOnlineEmissionsWaterServiceImpl.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcPollutant; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.cecep.talroad.mapper.PcPollutantMapper; +import cn.cecep.talroad.mapper.analysis.SRaOnlineEmissionsWaterMapper; +import cn.cecep.talroad.service.analysis.ISRaOnlineEmissionsWaterService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaOnlineEmissionsWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOnlineEmissionsWaterQuery; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 在线监测排放监控-水污染要素Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaOnlineEmissionsWaterServiceImpl extends ServiceImpl implements ISRaOnlineEmissionsWaterService +{ + @Autowired + private SRaOnlineEmissionsWaterMapper sRaOnlineEmissionsWaterMapper; + + @Autowired + private PcPollutantMapper pollutantMapper; + + /** + * 查询在线监测排放监控-水污染要素列表 + * + * @param sRaOnlineEmissionsWater 在线监测排放监控-水污染要素 + * @return 在线监测排放监控-水污染要素 + */ + @Override + public List selectSRaOnlineEmissionsWaterList(SRaOnlineEmissionsWater sRaOnlineEmissionsWater) + { + return sRaOnlineEmissionsWaterMapper.selectSRaOnlineEmissionsWaterList(sRaOnlineEmissionsWater); + } + + @Override + public EChartsVO getChartData(SRaOnlineEmissionsWaterQuery.CharDataSearchVo searchVo) { + List xdata = DateUtils.getRangeTimes("D", searchVo.getStartTime(), searchVo.getEndTime()); + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(new ArrayList<>()); + + PcPollutant pcPollutant = pollutantMapper.selectById(searchVo.getPollutantCode()); + + if (pcPollutant == null) { + return chartsVO; + } + List chartDataVos = sRaOnlineEmissionsWaterMapper.selectChartData(searchVo); + Map chartDataVoMap = chartDataVos.stream().collect(Collectors.toMap(o -> o.getMonitorTime(), o -> o)); + + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(pcPollutant.getPollName()); + ser.setUnit("kg"); + + // 设置许可量标记线 + if (StringUtils.isNotEmpty(searchVo.getAllowableValue())) { + List markLinedata = new ArrayList<>(); + + Map labelMap = new HashMap<>(); + labelMap.put("formatter", "{b}: {c}"); + + markLinedata.add( + new HashMap() {{ + put("name", "许可量"); + put("yAxis", searchVo.getAllowableValue()); + put("label", labelMap); + }} + ); + EChartsVO.MarkLine markLine = new EChartsVO.MarkLine(); + markLine.setData(markLinedata); + ser.setMarkLine(markLine); + } + + List values = xdata.stream().map(time -> { + SRaOnlineEmissionsWaterVo.ChartDataVo chartDataVo = chartDataVoMap.get(time); + if (chartDataVo == null) { + return null; + } + return chartDataVo.getPollutantEmissions(); + }).collect(Collectors.toList()); + ser.setValues(values); + + chartsVO.setSeries(Arrays.asList(ser)); + return chartsVO; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateGasServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateGasServiceImpl.java new file mode 100644 index 0000000..05e2852 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateGasServiceImpl.java @@ -0,0 +1,260 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.analysis.SRaOverRateGas; +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.cecep.talroad.enums.StatisticsTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaOverRateGasMapper; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.ISEnvGasMonHourService; +import cn.cecep.talroad.service.ISEnvWaterMonHourService; +import cn.cecep.talroad.service.analysis.ISRaOverRateGasService; +import cn.cecep.talroad.service.analysis.ISRaOverRateWaterService; +import cn.cecep.talroad.service.impl.TCodStationServiceImpl.WaterPollutantEnum; +import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo; +import cn.cecep.talroad.vo.analysis.SRaOverRateGasVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateGasQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; + + +/** + * 超标率分析-气污染要素Service业务层处理 + */ +@Service +public class SRaOverRateGasServiceImpl extends ServiceImpl implements ISRaOverRateGasService +{ + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private ISEnvGasMonHourService isEnvGasMonHourService; + @Autowired + private ISEnvWaterMonHourService isEnvWaterMonHourService; + @Autowired + private ISRaOverRateWaterService isRaOverRateWaterService; + @Autowired + private SRaOverRateGasMapper sRaOverRateGasMapper; + + @Override + public List selectOverRateGasPage(Page page, SRaOverRateGasQuery query) + { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + + List vos = baseMapper.selectOverRateGasPage(page, query); + page.setRecords(vos); + return vos; + } + + + @Transactional(rollbackFor = Exception.class) + @Override + public Boolean periodTask(StatisticsTypeEnum statisticsTypeEnum, String statisticsTime, Date startTime, Date endTime) { + Map gasMap = new HashMap<>(); + Map waterMap = new HashMap<>(); + + if(statisticsTypeEnum.MONTH.getType().equals(statisticsTypeEnum.getType())){ + List list = amProblemFiService.selectStatisDataByMonth(startTime,endTime); + if(list!=null&&list.size()>0){ + list.forEach(outlet->{ + if(outlet.getParamName().contains(WaterPollutantEnum.totalNitrogen.label) + ||outlet.getParamName().contains(WaterPollutantEnum.cod.label) + ||outlet.getParamName().contains(WaterPollutantEnum.ammoniaNitrogen.label) + ||outlet.getParamName().contains(WaterPollutantEnum.totalPhosphorus.label)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",outlet.getFactoryId()); + queryWrapper.eq("outlet_id",outlet.getOutletId()); + queryWrapper.eq("data_type", TimeTypeEnum.HOUR.getCode()); + queryWrapper.between("monitoring_time",startTime,endTime); + if(WaterPollutantEnum.totalNitrogen.label.equals(outlet.getParamName())){ + queryWrapper.and(wp->{ + wp.isNull("nitrogen_concentration_flag").or().in("nitrogen_concentration_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + }else if(WaterPollutantEnum.cod.label.equals(outlet.getParamName())){ + queryWrapper.and(wp->{ + wp.isNull("cod_flag").or().in("cod_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + }else if(WaterPollutantEnum.ammoniaNitrogen.label.contains(outlet.getParamName())){ + queryWrapper.and(wp->{ + wp.isNull("ammonia_nitrogen_flag").or().in("ammonia_nitrogen_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + }else if(WaterPollutantEnum.totalPhosphorus.label.contains(outlet.getParamName())){ + queryWrapper.and(wp->{ + wp.isNull("phosphorus_concentration_flag").or().in("phosphorus_concentration_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + } + // 计算排口小时污染物有效数据数量 + Integer validCount = isEnvWaterMonHourService.count(queryWrapper); + if(validCount>0) { + BigDecimal rate = BigDecimal.valueOf(outlet.getActualCount()).divide(BigDecimal.valueOf(validCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + String key = outlet.getFactoryId() + outlet.getOutletId(); + SRaOverRateWater rateWater = waterMap.get(key); + if (rateWater == null) { + rateWater = new SRaOverRateWater(); + rateWater.setId(UUID.randomUUID().toString()); + rateWater.setFactoryId(outlet.getFactoryId()); + rateWater.setOutletCode(outlet.getOutletId()); + rateWater.setPointName(outlet.getOutletName()); + rateWater.setStatisticsType(statisticsTypeEnum.getType()); + rateWater.setStatisticsTime(statisticsTime); + rateWater.setValidDataCount(String.valueOf(validCount)); + rateWater.setCreateTime(new Date()); + if (WaterPollutantEnum.totalNitrogen.label.equals(outlet.getParamName())) { + rateWater.setTnOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setTnOverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.cod.label.equals(outlet.getParamName())) { + rateWater.setCodOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setCodOverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.ammoniaNitrogen.label.contains(outlet.getParamName())) { + rateWater.setTnOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setTnOverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.totalPhosphorus.label.contains(outlet.getParamName())) { + rateWater.setTpOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setTpOverRate(String.valueOf(rate)); + } + } else { + if (WaterPollutantEnum.totalNitrogen.label.equals(outlet.getParamName())) { + rateWater.setTnOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setTnOverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.cod.label.equals(outlet.getParamName())) { + rateWater.setCodOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setCodOverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.ammoniaNitrogen.label.contains(outlet.getParamName())) { + rateWater.setNh3OverCount(String.valueOf(outlet.getActualCount())); + rateWater.setNh3OverRate(String.valueOf(rate)); + } else if (WaterPollutantEnum.totalPhosphorus.label.contains(outlet.getParamName())) { + rateWater.setTpOverCount(String.valueOf(outlet.getActualCount())); + rateWater.setTpOverRate(String.valueOf(rate)); + } + } + } + }else { + // 包含水、气站点 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id", outlet.getFactoryId()); + queryWrapper.eq("outlet_id", outlet.getOutletId()); + queryWrapper.eq("data_type", TimeTypeEnum.HOUR.getCode()); + queryWrapper.between("monitoring_time", startTime, endTime); + if (GasConcentrationEnum.so2.getPollutantsName().equals(outlet.getParamName())) { + queryWrapper.and(wp->{ + wp.isNull("so2_flag").or().in("so2_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + } else if (GasConcentrationEnum.nox.getPollutantsName().equals(outlet.getParamName())) { + queryWrapper.and(wp->{ + wp.isNull("nox_flag").or().in("nox_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + } else if (GasConcentrationEnum.pm.getPollutantsName().contains(outlet.getParamName())) { + queryWrapper.and(wp->{ + wp.isNull("smoke_dust_flag").or().in("smoke_dust_flag", Arrays.asList("S", "N", "ST", "SD", "B", "FA","STA")); + }); + } + Integer validCount = isEnvGasMonHourService.count(queryWrapper); + if (validCount > 0) { + BigDecimal rate = BigDecimal.valueOf(outlet.getActualCount()).divide(BigDecimal.valueOf(validCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + String key = outlet.getFactoryId() + outlet.getOutletId(); + SRaOverRateGas rateGas = gasMap.get(key); + if (rateGas == null) { + rateGas = new SRaOverRateGas(); + rateGas.setId(UUID.randomUUID().toString()); + rateGas.setFactoryId(outlet.getFactoryId()); + rateGas.setOutletCode(outlet.getOutletId()); + rateGas.setPointName(outlet.getOutletName()); + rateGas.setStatisticsType(statisticsTypeEnum.getType()); + rateGas.setStatisticsTime(statisticsTime); + rateGas.setValidDataCount(String.valueOf(validCount)); + rateGas.setCreateTime(new Date()); + if (GasConcentrationEnum.so2.getPollutantsName().equals(outlet.getParamName())) { + rateGas.setSo2OverCount(String.valueOf(outlet.getActualCount())); + rateGas.setSo2OverRate(String.valueOf(rate)); + } else if (GasConcentrationEnum.nox.getPollutantsName().equals(outlet.getParamName())) { + rateGas.setNoxOverCount(String.valueOf(outlet.getActualCount())); + rateGas.setNoxOverRate(String.valueOf(rate)); + } else if (GasConcentrationEnum.pm.getPollutantsName().contains(outlet.getParamName())) { + rateGas.setPmOverCount(String.valueOf(outlet.getActualCount())); + rateGas.setPmOverRate(String.valueOf(rate)); + } + } else { + if (GasConcentrationEnum.so2.getPollutantsName().equals(outlet.getParamName())) { + rateGas.setSo2OverCount(String.valueOf(outlet.getActualCount())); + rateGas.setSo2OverRate(String.valueOf(rate)); + } else if (GasConcentrationEnum.nox.getPollutantsName().equals(outlet.getParamName())) { + rateGas.setNoxOverCount(String.valueOf(outlet.getActualCount())); + rateGas.setNoxOverRate(String.valueOf(rate)); + } else if (GasConcentrationEnum.pm.getPollutantsName().contains(outlet.getParamName())) { + rateGas.setPmOverCount(String.valueOf(outlet.getActualCount())); + rateGas.setPmOverRate(String.valueOf(rate)); + } + } + } + } + }); + // 空气 + if(gasMap.values().size()>0){ + this.saveBatch(gasMap.values()); + } + // 水 + if(waterMap.values().size()>0){ + isRaOverRateWaterService.saveBatch(waterMap.values()); + } + } + }else { +// List monthList = DateUtils.getRangeTimes("N",startTime,endTime); + // 统计季度、年度数据 + List rateGasList = sRaOverRateGasMapper.selectByMonthData(null); + if(rateGasList!=null&&rateGasList.size()>0){ + rateGasList.forEach(gas->{ + gas.setId(UUID.randomUUID().toString()); + gas.setStatisticsTime(statisticsTime); + gas.setStatisticsType(statisticsTypeEnum.getType()); + }); + this.saveBatch(rateGasList); + } + + // 统计季度、年度数据 + List rateWaterList = isRaOverRateWaterService.selectWaterDataByMonth(null); + if(rateWaterList!=null&&rateWaterList.size()>0){ + rateWaterList.forEach(gas->{ + gas.setId(UUID.randomUUID().toString()); + gas.setStatisticsTime(statisticsTime); + gas.setStatisticsType(statisticsTypeEnum.getType()); + }); + isRaOverRateWaterService.saveBatch(rateWaterList); + } + } + return true; + } + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateWaterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateWaterServiceImpl.java new file mode 100644 index 0000000..94e1958 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverRateWaterServiceImpl.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaOverRateWaterMapper; +import cn.cecep.talroad.service.analysis.ISRaOverRateWaterService; +import cn.cecep.talroad.vo.analysis.SRaOverRateWaterVo; +import cn.cecep.talroad.vo.query.analysis.SRaOverRateWaterQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.ArrayList; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + + +/** + * 超标率分析-水污染要素Service业务层处理 + * + * @author szhpt + * @date 2023-03-24 + */ +@Service +public class SRaOverRateWaterServiceImpl extends ServiceImpl implements ISRaOverRateWaterService +{ + + @Autowired + @Qualifier("baseRegionService") + private BaseRegionService baseRegionService; + @Autowired + private SRaOverRateWaterMapper sRaOverRateWaterMapper; + + + @Override + public List selectOverRateWaterPage(Page page, SRaOverRateWaterQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + + List vos = baseMapper.selectOverRateWaterPage(page, query); + page.setRecords(vos); + return vos; + } + + @Override + public List selectWaterDataByMonth(List monthList) { + return sRaOverRateWaterMapper.selectWaterDataByMonth(monthList); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverWaterPollutionTraceabilityServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverWaterPollutionTraceabilityServiceImpl.java new file mode 100644 index 0000000..ae28277 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaOverWaterPollutionTraceabilityServiceImpl.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaOverWaterPollutionTraceability; +import cn.cecep.talroad.mapper.analysis.SRaOverWaterPollutionTraceabilityMapper; +import cn.cecep.talroad.service.analysis.SRaOverWaterPollutionTraceabilityService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.SEnvWaterMonRealVo; +import cn.cecep.talroad.vo.analysis.WaterPollutionTraceabilityVo; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; +@Service +public class SRaOverWaterPollutionTraceabilityServiceImpl extends ServiceImpl implements SRaOverWaterPollutionTraceabilityService{ + + @Override + public Map workWithMapData(List list) { + Map map=new HashMap<>(); + List vos=new ArrayList<>(); + List>> locations1=new ArrayList<>(); + for (SRaOverWaterPollutionTraceability st : list) { + boolean falg=true; + Map> map1=new HashMap<>(); + List location1=new ArrayList<>(); + //排口的点位信息 + WaterPollutionTraceabilityVo vo= new WaterPollutionTraceabilityVo(); + vo.setId(st.getId()); + vo.setLatitude(st.getOutletLatitude()); + vo.setLongitude(st.getOutletLongitude()); + vo.setName(st.getOutletName()); + vo.setNowConcentration(""); + vo.setCode(st.getOutletCode()); + vo.setPointName(st.getFactoryName()+st.getOutletName()); + String[] s1=new String[]{st.getOutletLongitude(),st.getOutletLatitude()}; + if(Arrays.stream(s1).anyMatch(Objects::isNull)){ + falg=false; + } + location1.add(s1); + //直接排放--入河口的数据 + WaterPollutionTraceabilityVo vo1= new WaterPollutionTraceabilityVo(); + if("直接排放".equals(st.getEmissionMethod())){ + vo.setType("1"); + vo1.setCode(st.getEstuaryCode()); + vo1.setLatitude(st.getEstuaryLatitude()); + vo1.setLongitude(st.getEstuaryLongitude()); + vo1.setName(st.getEstuaryName()==null?st.getReceivingWaterName():st.getEstuaryCode()); + vo1.setType("4"); + vo1.setNowConcentration(""); + vo1.setPointName(st.getFactoryName()+(st.getEstuaryName()==null?st.getReceivingWaterName():st.getEstuaryCode())); + String[] s2=new String[]{st.getEstuaryLongitude(),st.getEstuaryLatitude()}; + location1.add(s2); + if(Arrays.stream(s2).anyMatch(Objects::isNull)){ + falg=false; + } + }else if("间接排放".equals(st.getEmissionMethod())){ + vo.setType("2"); + vo1.setCode(st.getReceivingSewagePlantCode()); + vo1.setLatitude(st.getReceivingSewagePlantLatitude()); + vo1.setLongitude(st.getReceivingSewagePlantLongitude()); + vo1.setName(st.getReceivingSewagePlantName()); + vo1.setType("3"); + vo1.setNowConcentration(""); + vo1.setPointName(st.getFactoryName()+st.getReceivingSewagePlantName()); + String[] s2=new String[]{st.getReceivingSewagePlantLongitude(),st.getReceivingSewagePlantLatitude()}; + location1.add(s2); + if(Arrays.stream(s2).anyMatch(Objects::isNull)){ + falg=false; + } + } + map1.put("coordinates",location1); + if(falg) { + locations1.add(map1); + } + vos.add(vo); + vos.add(vo1); + } + map.put("info",vos); + map.put("line",locations1); + return map; + } + + @Override + public EChartsVO chartData(List records, String pollName , Date startTime , Date endTime) { + EChartsVO eChartsVO = new EChartsVO(); + List dateList = CollUtil.map(DateUtil.rangeToList(startTime, + endTime, DateField.HOUR), + x -> DateUtil.format(x,"yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateList); + Map> map = records.stream().collect(Collectors.groupingBy(SEnvWaterMonRealVo::getMonitoringTime)); + List collect = map.entrySet().stream().map(entry -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(entry.getKey()); + ser.setProp(entry.getKey()); + List values=new ArrayList<>(); + for (String s : dateList) { + List value = entry.getValue(); + Optional first = value.stream().filter(v -> v.getMonitoringTime().substring(0,13).equals(s)).findFirst(); + if(first.isPresent()){ + SEnvWaterMonRealVo sEnvWaterMonRealVo = first.get(); + if("COD".equals(pollName)) { + values.add(sEnvWaterMonRealVo.getCodConcentration()); + }if("氨氮".equals(pollName)){ + values.add(sEnvWaterMonRealVo.getAmmoniaNitrogen()); + } + }else { + values.add(0L); + } + } + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + eChartsVO.setSeries(collect); + eChartsVO.setName("24 小时趋势图"); + return eChartsVO; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitMonitorServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitMonitorServiceImpl.java new file mode 100644 index 0000000..17507af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitMonitorServiceImpl.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsitMonitor; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysicComsitMonitorMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysicComsitMonitorService; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位Service业务层处理 + * + * @author szhpt + * @date 2023-07-14*/ +@Service +public class SRaRealTimeAnalysicComsitMonitorServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysicComsitMonitorService +{ + @Autowired + private SRaRealTimeAnalysicComsitMonitorMapper sRaRealTimeAnalysicComsitMonitorMapper; + @Autowired + private ISRaRealTimeAnalysicComsitMonitorService sRaRealTimeAnalysicComsitMonitorService; + + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位列表 + * + * @param sRaRealTimeAnalysicComsitMonitor 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位 + */ + @Override + public List selectSRaRealTimeAnalysicComsitMonitorList(SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor) + { + return sRaRealTimeAnalysicComsitMonitorMapper.selectSRaRealTimeAnalysicComsitMonitorList(sRaRealTimeAnalysicComsitMonitor); + } + + @Override + public AjaxResults addComsitMonitor(SRaRealTimeAnalysicComsitMonitor sRaRealTimeAnalysicComsitMonitor) { + List list=new ArrayList<>(); + List list1 = Arrays.asList(sRaRealTimeAnalysicComsitMonitor.getMonitorId().split(",")); +// sRaRealTimeAnalysicComsitMonitorService.remove(new QueryWrapper().eq("comsit_id",sRaRealTimeAnalysicComsitMonitor.getComsitId())); + list1.forEach(item->{ + SRaRealTimeAnalysicComsitMonitor monitor=new SRaRealTimeAnalysicComsitMonitor(); + monitor.setDataId(BigInteger.valueOf(IdUtil.getSnowflakeNextId())); + monitor.setMonitorId(item); + monitor.setCreateTime(new Date()); + monitor.setComsitId(sRaRealTimeAnalysicComsitMonitor.getComsitId()); + list.add(monitor); + }); + return AjaxResults.success(sRaRealTimeAnalysicComsitMonitorService.saveBatch(list)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitServiceImpl.java new file mode 100644 index 0000000..7dae934 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysicComsitServiceImpl.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.math.BigDecimal; +import java.util.*; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.SRaRealTimeAnalysicComsitSt; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsit; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysicComsitMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysicComsitService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.SRaRealTimeAnalysicComsitMonitorVo; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysicComsitQuery; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组Service业务层处理 + * + * @author szhpt + * @date 2023-07-14*/ +@Service +public class SRaRealTimeAnalysicComsitServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysicComsitService +{ + @Autowired + private SRaRealTimeAnalysicComsitMapper sRaRealTimeAnalysicComsitMapper; + + /** + * 查询关联分析系统-企业生产过程分析-监测点位对比分析-分组列表 + * + * @param sRaRealTimeAnalysicComsit 关联分析系统-企业生产过程分析-监测点位对比分析-分组 + * @return 关联分析系统-企业生产过程分析-监测点位对比分析-分组 + */ + @Override + public List selectSRaRealTimeAnalysicComsitList(SRaRealTimeAnalysicComsit sRaRealTimeAnalysicComsit) + { + return sRaRealTimeAnalysicComsitMapper.selectSRaRealTimeAnalysicComsitList(sRaRealTimeAnalysicComsit); + } + + @Override + public IPage selectSRaRealTimeAnalysicComsitListBy(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) { + Page page = new Page<>(sRaRealTimeAnalysicComsit.getPageNum(), sRaRealTimeAnalysicComsit.getPageSize()); + List list= sRaRealTimeAnalysicComsitMapper.selectSRaRealTimeAnalysicComsitListBy(page,sRaRealTimeAnalysicComsit); + list.forEach(item->{ + item.setParameterName(sRaRealTimeAnalysicComsit.getParameterName()); + }); + page.setRecords(list); + return page; + } + + @Override + public IPage selectSRaRealTimeAnalysicComsitListBys(SRaRealTimeAnalysicComsitQuery sRaRealTimeAnalysicComsit) { + Page page = new Page<>(sRaRealTimeAnalysicComsit.getPageNum(), sRaRealTimeAnalysicComsit.getPageSize()); + List list= sRaRealTimeAnalysicComsitMapper.selectSRaRealTimeAnalysicComsitListBys(page,sRaRealTimeAnalysicComsit); + list.forEach(item->{ + item.setAnalysisTime(sRaRealTimeAnalysicComsit.getAnalysisTime()); + }); + page.setRecords(list); + return page; + } + + @Override + public List> pullParam() { + List> map =new ArrayList<>(); + List numbers = Arrays.asList("SO2-SO2", "NOx-NOx", "CO-CO","颗粒物-颗粒物","总磷-总磷","总氮-总氮","氨氮-氨氮","COD-COD"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + return map; + } + + @Override + public IPage abnormalList(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) { + Page page = new Page<>(sRaRealTimeAnalysicComsit.getPageNum(), sRaRealTimeAnalysicComsit.getPageSize()); + List list= sRaRealTimeAnalysicComsitMapper.abnormalList(page,sRaRealTimeAnalysicComsit); + page.setRecords(list); + return page; + } + + @Override + public List abnormalExport(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) { + + Page page = new Page<>(1, 999999); + List list= sRaRealTimeAnalysicComsitMapper.abnormalList(page,sRaRealTimeAnalysicComsit); + return list; + } + + @Override + public EChartsVO.DiagramVo abnormalEcharts(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) { + EChartsVO.DiagramVo diagramVo=new EChartsVO.DiagramVo(); + diagramVo.setDiagrams(new ArrayList<>()); + List list= sRaRealTimeAnalysicComsitMapper.abnormalEcharts(sRaRealTimeAnalysicComsit); + if(CollectionUtil.isNotEmpty(list)){ + double asDouble = list.stream().mapToDouble(l -> l.getAcgValue()).average().getAsDouble(); + diagramVo.setAvgValue(new BigDecimal(asDouble).setScale(4, BigDecimal.ROUND_HALF_UP)); + } + list.forEach(item->{ + EChartsVO.Diagram diagram=new EChartsVO.Diagram(); + diagram.setName(item.getParamName()); + diagram.setAvgValue(item.getAcgValue()); + diagram.setMaxValue(item.getMaxValue()); + diagram.setMinValue(item.getMinValue()); + diagram.setQ1Value(item.getQ1Value()); + diagram.setQ2Value(item.getQ2Value()); + diagramVo.getDiagrams().add(diagram); + }); + return diagramVo; + } + + @Override + public List> editListDropdown(SRaRealTimeAnalysicComsitMonitorVo sRaRealTimeAnalysicComsit) { + return sRaRealTimeAnalysicComsitMapper.editListDropdown(sRaRealTimeAnalysicComsit); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCementServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCementServiceImpl.java new file mode 100644 index 0000000..61e7ed0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCementServiceImpl.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCementMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCementService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCementQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析Service业务层处理 + * + * @author szhpt + * @date 2023-04-02*/ +@Service +public class SRaRealTimeAnalysisCementServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisCementService +{ + @Autowired + private SRaRealTimeAnalysisCementMapper sRaRealTimeAnalysisCementMapper; + + /** + * 查询关联分析系统-企业生产过程分析-水泥熟料产量分析列表 + * + * @param sRaRealTimeAnalysisCement 关联分析系统-企业生产过程分析-水泥熟料产量分析 + * @return 关联分析系统-企业生产过程分析-水泥熟料产量分析 + */ + @Override + public List selectSRaRealTimeAnalysisCementList(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) + { + Page page =new Page<>(1,999999); + return sRaRealTimeAnalysisCementMapper.selectSRaRealTimeAnalysisCementList(page,sRaRealTimeAnalysisCement); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + Page iPage=new Page(sRaRealTimeAnalysisCement.getPageNum(),sRaRealTimeAnalysisCement.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCement.getType().equals("1")){ + list=sRaRealTimeAnalysisCementMapper.statisticsList(iPage,sRaRealTimeAnalysisCement); + }else { + list=sRaRealTimeAnalysisCementMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCement); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisCement.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCement.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCement) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCement.getType().equals("1")){ + list=sRaRealTimeAnalysisCementMapper.statisticsList(iPage,sRaRealTimeAnalysisCement); + }else { + list=sRaRealTimeAnalysisCementMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCement); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisCement.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCement.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisCementQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCementMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("水泥熟料产量"); + ser.setProp("grogNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getGrogNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisCementMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoServiceImpl.java new file mode 100644 index 0000000..fa581af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoServiceImpl.java @@ -0,0 +1,466 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCoMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoService; +import cn.cecep.talroad.util.ExportWordUtil; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.CoDeviceDiffuseStatusFactoryVO; +import cn.cecep.talroad.vo.analysis.CoDeviceTypeCountVO; +import cn.cecep.talroad.vo.analysis.CoDeviceTypeDiffuseStatusVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import freemarker.template.TemplateException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * co放散分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisCoServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisCoService +{ + @Autowired + private SRaRealTimeAnalysisCoMapper sRaRealTimeAnalysisCoMapper; + + /** + * 查询co放散分析列表 + * + * @param sRaRealTimeAnalysisCo co放散分析 + * @return co放散分析 + */ + @Override + public List selectSRaRealTimeAnalysisCoList(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo) + { + Page page=new Page<>(1,999999); + List list =sRaRealTimeAnalysisCoMapper.selectSRaRealTimeAnalysisCoList(page,sRaRealTimeAnalysisCo); + List stringList=new ArrayList<>(); + list.forEach(item->{ + stringList.add(item.getDeviceId()); + }); + List listItem=sRaRealTimeAnalysisCoMapper.selectSRaRealTimeAnalysisCoListById(sRaRealTimeAnalysisCo,stringList); + Map> stringListMap = listItem.stream().collect(Collectors.groupingBy( SRaRealTimeAnalysisCo::getDeviceId)); + list.forEach(item->{ + if(stringListMap.containsKey(item.getDeviceId())){ + List coList = stringListMap.get(item.getDeviceId()); + Map map = runStatusConver(coList); + item.setDiffuse(map.get("diffuse")); + item.setRemark(map.get("remark")); + + BigDecimal coalEmissions = coList.stream().map(SRaRealTimeAnalysisCo::getCoalEmissions).filter(Objects::nonNull).reduce(BigDecimal::add).orElse(null); + item.setCoalEmissions(coalEmissions); + } + }); + return list; + } + + @Override + public List> pullWorkingProcedureOptions(String industryCategoryCode) { + List> map =new ArrayList<>(); + if(industryCategoryCode.equals("GT")){ + List numbers = Arrays.asList("高炉煤气放散火炬-GLMQ", "高炉煤气柜-GLMQG", "转炉-ZL","煤气管网-MQGW"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("JH")){ + List numbers = Arrays.asList("煤气管网-MQGW"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + return map; + } + + @Override + public IPage selectSRaRealTimeAnalysisCoListPage(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo) { + Page iPage=new Page(sRaRealTimeAnalysisCo.getPageNum(),sRaRealTimeAnalysisCo.getPageSize()); + List list=sRaRealTimeAnalysisCoMapper.selectSRaRealTimeAnalysisCoListPage(iPage,sRaRealTimeAnalysisCo); + List stringList=new ArrayList<>(); + list.forEach(item->{ + stringList.add(item.getDeviceId()); + }); + List listItem=sRaRealTimeAnalysisCoMapper.selectSRaRealTimeAnalysisCoListById(sRaRealTimeAnalysisCo,stringList); + Map> stringListMap = listItem.stream().collect(Collectors.groupingBy( SRaRealTimeAnalysisCo::getDeviceId)); + list.forEach(item->{ + if(stringListMap.containsKey(item.getDeviceId())){ + List coList = stringListMap.get(item.getDeviceId()); + Map map = runStatusConver(coList); + item.setDiffuse(map.get("diffuse")); + item.setRemark(map.get("remark")); + + BigDecimal coalEmissions = coList.stream().map(SRaRealTimeAnalysisCo::getCoalEmissions).filter(Objects::nonNull).reduce(BigDecimal::add).orElse(null); + item.setCoalEmissions(coalEmissions); + } + }); + iPage.setRecords(list); + return iPage; + } + public Map runStatusConver(List list){ + Map map=new HashMap<>(); + String finalValue=""; + String start=""; + String end=""; + String goingsOn=""; + TreeSet chilePollutant = new TreeSet<>(); + TreeSet goingsOnArr = new TreeSet<>(); + if(CollectionUtil.isNotEmpty(list)){ + if(StringUtils.isNotEmpty(list.get(0).getDiffuseStatus())){ + finalValue= list.get(0).getDiffuseStatus(); + start=DateUtil.format(list.get(0).getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + if(StringUtils.isNotEmpty(list.get(0).getRemark())){ + goingsOn=list.get(0).getRemark(); + } + } + } + for (SRaRealTimeAnalysisCo runStatus : list) { + if(StringUtils.isNotEmpty(runStatus.getDiffuseStatus())){ + if(finalValue.equals(runStatus.getDiffuseStatus())){ + end=DateUtil.format(runStatus.getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + }else { + chilePollutant.add(String.format("%s至%s%s",start,end,operationStatus(finalValue))); + if(StringUtils.isNotEmpty(goingsOn)) { + goingsOnArr.add(goingsOn); + } + start=DateUtil.format(runStatus.getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + end=DateUtil.format(runStatus.getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + finalValue=runStatus.getDiffuseStatus(); + if(StringUtils.isNotEmpty(runStatus.getRemark())){ + goingsOn=runStatus.getRemark(); + } + } + } + } + if(StringUtils.isNotEmpty(finalValue)) { + chilePollutant.add(String.format("%s至%s%s",start,end,operationStatus(finalValue))); + } + if(StringUtils.isNotEmpty(goingsOn)) { + goingsOnArr.add(goingsOn); + } + map.put("diffuse",String.join(",", chilePollutant)); + map.put("remark",String.join(",", goingsOnArr)); + return map; + } + public String operationStatus(String status){ + String str=""; + if(status.equals("1")){ + str="正常放散"; + } + if(status.equals("2")){ + str="异常放散"; + } + if(status.equals("3")){ + str="未放散"; + } + if(status.equals("4")){ + str="离线"; + } + if(status.equals("5")){ + str="异常"; + } + return str; + }; + @Override + public EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime) { + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq(StringUtils.isNotEmpty(deviceId), "device_id", deviceId); + wrapper.ge("analyse_time", DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.le("analyse_time", DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.orderByAsc("diffuse_end_time"); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCoMapper.selectList(wrapper); + Map timeStatusMap = sRaRealTimeAnalysisRuns.stream().filter(o->o.getDiffuseStatus()!=null).collect(Collectors.toMap(o -> DateUtil.format(o.getDiffuseEndTime(),DatePattern.NORM_DATETIME_MINUTE_FORMATTER), o -> o.getDiffuseStatus(), (o1, o2) -> o1)); + // x轴数据 + List xdata = DateUtils.getRangeTimes("M", monitoringStartTime, monitoringEndTime); + + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("正常放散"); + ser1.setProp("1"); + ser1.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("异常放散"); + ser2.setProp("2"); + ser2.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("未放散"); + ser3.setProp("3"); + ser3.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser4 = new EChartsVO.SeriesObj(); + ser4.setName("离线"); + ser4.setProp("4"); + ser4.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser5 = new EChartsVO.SeriesObj(); + ser5.setName("异常"); + ser5.setProp("5"); + ser5.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3, ser4,ser5)); + + /* + 填充系列值 + */ + // 遍历x轴,保证系列值与x轴刻度一一对应 + for (String time : xdata) { + String status = timeStatusMap.get(time); + + for (EChartsVO.SeriesObj ser : chartsVO.getSeries()) { + // 若系列的prop属性与状态码相等,则设置系列值为状态码,否则填充null + if (ser.getProp().equals(status)) { + ser.getValues().add(status); + } else { + ser.getValues().add(null); + } + } + } + return chartsVO; + } + + @Override + public String analysisCurveEndTime(String deviceId, String monitoringStartTime, String monitoringEndTime) { + String sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCoMapper.analysisCurveEndTime(deviceId,DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss"), DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + return sRaRealTimeAnalysisRuns; + } + + /** + * 导出CO数据为word文档 + * @param sRaRealTimeAnalysisCo 查询条件 + * @param response 响应对象 + */ + @Override + public void exportCoDataToWord(SRaRealTimeAnalysisCoQuery sRaRealTimeAnalysisCo, HttpServletResponse response) throws IOException, TemplateException, NoSuchMethodException, InvocationTargetException, IllegalAccessException { + String[] paramList = new String[]{"GLMQ","GLMQG","ZL","MQGW"}; + //获取设备总数量 + CoDeviceTypeCountVO coDeviceTypeCountVO = sRaRealTimeAnalysisCoMapper.selectDeviceTypeCount(sRaRealTimeAnalysisCo); + //获取设备状态数量 + List coDeviceTypeDiffuseStatusVOS = sRaRealTimeAnalysisCoMapper.selectDeviceTypeDiffuseStatusCount(sRaRealTimeAnalysisCo); + //获取状态企业数量 + List coDeviceDiffuseStatusFactoryVOS = sRaRealTimeAnalysisCoMapper.selectDeviceDiffuseStatusFactoryList(sRaRealTimeAnalysisCo); + Map map = new HashMap(); + Class aClass = coDeviceTypeCountVO.getClass(); + //插入时间 + map.put("dataTime",sRaRealTimeAnalysisCo.getAnalyseStartTime()+"-"+sRaRealTimeAnalysisCo.getAnalyseEndTime()); + for (String param : paramList) { + //设备总数量添加 + Method method = aClass.getMethod("get" + param + "Count"); + map.put(param+"Count",method.invoke(coDeviceTypeCountVO)); + //初始化0给每个参数 + map.put(param+"NormalCount",0); + map.put(param+"ExceptionCount",0); + map.put(param+"UndoCount",0); + map.put(param+"NoDataCount",0); + map.put(param+"ExceptionDataCount",0); + Map deviceIndexOrderMap = new HashMap<>(); + //设备状态数量添加,五种状态,每个设备只能统计一次 优先级:异常放散>正常放散>异常>未放散>离线 + for (CoDeviceTypeDiffuseStatusVO coDeviceTypeDiffuseStatusVO : coDeviceTypeDiffuseStatusVOS) { + if(!coDeviceTypeDiffuseStatusVO.getDeviceType().equalsIgnoreCase(param)){ + continue; + } + int deviceIndexOrder = -1; + if(coDeviceTypeDiffuseStatusVO.getDiffuseStatus().compareTo("1") == 0){ + deviceIndexOrder = 1; + } else if (coDeviceTypeDiffuseStatusVO.getDiffuseStatus().compareTo("2") == 0) { + deviceIndexOrder = 0; + }else if (coDeviceTypeDiffuseStatusVO.getDiffuseStatus().compareTo("3") == 0) { + deviceIndexOrder = 3; + }else if (coDeviceTypeDiffuseStatusVO.getDiffuseStatus().compareTo("4") == 0) { + deviceIndexOrder = 4; + }else if (coDeviceTypeDiffuseStatusVO.getDiffuseStatus().compareTo("5") == 0) { + deviceIndexOrder = 2; + } + //该设备首次出现,直接装入优先级容器 + if(!deviceIndexOrderMap.containsKey(coDeviceTypeDiffuseStatusVO.getDeviceId())){ + deviceIndexOrderMap.put(coDeviceTypeDiffuseStatusVO.getDeviceId(),deviceIndexOrder); + } + //检查优先级是否更高,更高则替换 + if (deviceIndexOrderMap.get(coDeviceTypeDiffuseStatusVO.getDeviceId()).compareTo(deviceIndexOrder) >0) { + deviceIndexOrderMap.put(coDeviceTypeDiffuseStatusVO.getDeviceId(),deviceIndexOrder); + } + } + //进行统计 + for (Map.Entry stringIntegerEntry : deviceIndexOrderMap.entrySet()) { + switch (stringIntegerEntry.getValue()){ + case 0: + map.put(param+"ExceptionCount",((Integer)map.get(param+"ExceptionCount"))+1); + break; + case 1: + map.put(param+"NormalCount",((Integer)map.get(param+"NormalCount"))+1); + break; + case 2: + map.put(param+"ExceptionDataCount",((Integer)map.get(param+"ExceptionDataCount"))+1); + break; + case 3: + map.put(param+"UndoCount",((Integer)map.get(param+"UndoCount"))+1); + break; + case 4: + map.put(param+"NoDataCount",((Integer)map.get(param+"NoDataCount"))+1); + } + } + //四个列表中,企业名称只展示一次,优先级:异常放散>正常放散>异常>未放散>离线 + //2023.7.5姚婧提出企业不按优先级划分只展示一次了 + StringBuilder exceptionFactoryList = new StringBuilder(), + normalFactoryList = new StringBuilder(), + noDataFactoryList = new StringBuilder(), + exceptionDataFactoryList = new StringBuilder(); + //Map factoryOrderMap = new HashMap<>(); + for (CoDeviceDiffuseStatusFactoryVO coDeviceDiffuseStatusFactoryVO : coDeviceDiffuseStatusFactoryVOS) { + if(!coDeviceDiffuseStatusFactoryVO.getDeviceType().equalsIgnoreCase(param)){ + continue; + } + //int index = -1; + if(coDeviceDiffuseStatusFactoryVO.getDiffuseStatus().compareTo("1") == 0){ + normalFactoryList.append(","+coDeviceDiffuseStatusFactoryVO.getFactoryName()); + //index = 1; + }else if(coDeviceDiffuseStatusFactoryVO.getDiffuseStatus().compareTo("2") == 0){ + exceptionFactoryList.append(","+coDeviceDiffuseStatusFactoryVO.getFactoryName()); + //index = 0; + }else if(coDeviceDiffuseStatusFactoryVO.getDiffuseStatus().compareTo("4") == 0){ + exceptionDataFactoryList.append(","+coDeviceDiffuseStatusFactoryVO.getFactoryName()); + //index = 3; + }else if(coDeviceDiffuseStatusFactoryVO.getDiffuseStatus().compareTo("5") == 0){ + noDataFactoryList.append(","+coDeviceDiffuseStatusFactoryVO.getFactoryName()); + //index = 2; + } + //该企业首次出现,直接装入优先级容器 +// if(!factoryOrderMap.containsKey(coDeviceDiffuseStatusFactoryVO.getFactoryName())){ +// factoryOrderMap.put(coDeviceDiffuseStatusFactoryVO.getFactoryName(),index); +// } +// //检查优先级是否更高,更高则替换 +// if (index >= 0 && factoryOrderMap.get(coDeviceDiffuseStatusFactoryVO.getFactoryName()).compareTo(index) >0) { +// factoryOrderMap.put(coDeviceDiffuseStatusFactoryVO.getFactoryName(),index); +// } + } + //状态企业数量添加 +// for (Map.Entry stringIntegerEntry : factoryOrderMap.entrySet()) { +// switch (stringIntegerEntry.getValue()){ +// case 0: +// exceptionFactoryList.append(","+stringIntegerEntry.getKey()); +// break; +// case 1: +// normalFactoryList.append(","+stringIntegerEntry.getKey()); +// break; +// case 2: +// noDataFactoryList.append(","+stringIntegerEntry.getKey()); +// break; +// case 3: +// exceptionDataFactoryList.append(","+stringIntegerEntry.getKey()); +// } +// } + map.put(param+"ExceptionFactoryList",exceptionFactoryList.length()>0?"存在异常放散的企业为:"+exceptionFactoryList.substring(1).toString()+"。\n":""); + map.put(param+"NormalFactoryList",normalFactoryList.length()>0?"存在正常放散的企业为:"+normalFactoryList.substring(1).toString()+"。\n":""); + map.put(param+"NoDataFactoryList",noDataFactoryList.length()>0?"存在数据缺失情况的企业为:"+noDataFactoryList.substring(1).toString()+"。\n":""); + map.put(param+"ExceptionDataFactoryList",exceptionDataFactoryList.length()>0?"放散口温度缺失的企业为:"+exceptionDataFactoryList.substring(1).toString()+"。\n":""); + } + //导出到word文档 + ExportWordUtil.exportToWord(map,response, "wordReport/COReport.ftl", "wordReport/COOutFile.docx","CO放散分析报告.docx"); + } + + @Override + public EChartsVO coalEmissionsChart(String deviceId, String monitoringStartTime, String monitoringEndTime) { + List coList = sRaRealTimeAnalysisCoMapper.selectList( + new QueryWrapper() + .eq("device_id", deviceId) + .ge("analyse_time", DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss")) + .le("analyse_time", DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")) + .isNotNull("diffuse_end_time") + .isNotNull("coal_emissions") + ); + Map timeStatusMap = coList.stream().collect(Collectors.toMap( + o -> DateUtil.format(o.getDiffuseEndTime(), DatePattern.NORM_DATETIME_MINUTE_FORMATTER), + SRaRealTimeAnalysisCo::getCoalEmissions, + (o1, o2) -> o1)); + + // x轴数据 + List xdata = DateUtils.getRangeTimes("M", monitoringStartTime, monitoringEndTime); + + /* + 参考echars 阶梯瀑布图demo + https://echarts.apache.org/examples/zh/editor.html?c=bar-waterfall2 + */ + List placeholderValues = new ArrayList<>(); // 根据增加或减少的系列值进行叠加 + List incomeValues = new ArrayList<>(); // 增加的系列值 + List expensesValues = new ArrayList<>(); // 减少的系列值 + + BigDecimal beforeValue = BigDecimal.ZERO; // 用于记录上一个数组中不为null的值,默认为0 + + // 遍历x轴,保证系列值与x轴一一对应 + for (String time : xdata) { + BigDecimal value = timeStatusMap.get(time); + + // 若当前时刻没值,增加和减少系列都填充null,beforeValue保持不变 + if (value == null) { + incomeValues.add(null); + expensesValues.add(null); + + // 不存在增加或减少,不用叠加 + placeholderValues.add(null); + } else { + // 当前时刻的值与beforeValue的差值 + BigDecimal subtract = value.subtract(beforeValue); + + // 若差值>=0,表示当前时刻的值相较于beforeValue增加了,incomeValues集合中记录相应的增加值,expensesValues填充null + if (subtract.compareTo(BigDecimal.ZERO) >= 0) { + incomeValues.add(subtract); + expensesValues.add(null); + + // 存在增加,叠加值为当前-subtract。(观察echarts demo 得出的规律) + placeholderValues.add(value.subtract(subtract)); + + } else { // 否则表示当前时刻的值相较于beforeValue减少了,incomeValues填充null,expensesValues集合中记录相应的减少值 + incomeValues.add(null); + expensesValues.add(subtract.abs()); + + // 存在减少,叠加值为当前值。(观察echarts demo 得出的规律) + placeholderValues.add(value); + } + // 更新beforeValue为当前时刻的值 + beforeValue = value; + } + } + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("Placeholder"); + ser1.setValues(placeholderValues.stream().map(o -> o == null ? null : o.stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("增加"); + ser2.setValues(incomeValues.stream().map(o -> o == null ? null : o.stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("减少"); + ser3.setValues(expensesValues.stream().map(o -> o == null ? null : o.stripTrailingZeros().toPlainString()).collect(Collectors.toList())); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3)); + return chartsVO; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoalServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoalServiceImpl.java new file mode 100644 index 0000000..26dc9d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCoalServiceImpl.java @@ -0,0 +1,108 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCoalMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoalService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCoalQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +/** + * 装煤推焦次数分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisCoalServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisCoalService +{ + @Autowired + private SRaRealTimeAnalysisCoalMapper sRaRealTimeAnalysisCoalMapper; + + /** + * 查询装煤推焦次数分析列表 + * + * @param sRaRealTimeAnalysisCoal 装煤推焦次数分析 + * @return 装煤推焦次数分析 + */ + @Override + public List selectSRaRealTimeAnalysisCoalList(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) + { + Page page=new Page<>(1,999999); + return sRaRealTimeAnalysisCoalMapper.selectSRaRealTimeAnalysisCoalList(page,sRaRealTimeAnalysisCoal); + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisCoalMapper.pullDeviceNameOptions(factoryName); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + Page iPage=new Page(sRaRealTimeAnalysisCoal.getPageNum(),sRaRealTimeAnalysisCoal.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCoal.getType().equals("1")){ + list=sRaRealTimeAnalysisCoalMapper.statisticsList(iPage,sRaRealTimeAnalysisCoal); + }else { + list=sRaRealTimeAnalysisCoalMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCoal); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisCoal.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoal.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoal) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCoal.getType().equals("1")){ + list=sRaRealTimeAnalysisCoalMapper.statisticsList(iPage,sRaRealTimeAnalysisCoal); + }else { + list=sRaRealTimeAnalysisCoalMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCoal); + } + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisCoalQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCoalMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("推焦次数"); + ser.setProp("cokeNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("装煤次数"); + ser1.setProp("coalNumber"); + ser1.setUnit(""); + ser1.setValues(new ArrayList<>()); + items.add(ser1); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getCokeNumber()); + items.get(1).getValues().add(item.getCoalNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCokeServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCokeServiceImpl.java new file mode 100644 index 0000000..5e72683 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisCokeServiceImpl.java @@ -0,0 +1,107 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisCokeMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCokeService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisCokeQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析Service业务层处理 + * + * @author szhpt + * @date 2023-04-03*/ +@Service +public class SRaRealTimeAnalysisCokeServiceImpl extends ServiceImpl implements + ISRaRealTimeAnalysisCokeService +{ + @Autowired + private SRaRealTimeAnalysisCokeMapper sRaRealTimeAnalysisCokeMapper; + + /** + * 查询关联分析系统-企业生产过程分析-焦炭产量分析列表 + * + * @param sRaRealTimeAnalysisCoke 关联分析系统-企业生产过程分析-焦炭产量分析 + * @return 关联分析系统-企业生产过程分析-焦炭产量分析 + */ + @Override + public List selectSRaRealTimeAnalysisCokeList(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) + { + Page page=new Page<>(1,999999); + return sRaRealTimeAnalysisCokeMapper.selectSRaRealTimeAnalysisCokeList(page,sRaRealTimeAnalysisCoke); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) { + Page iPage=new Page(sRaRealTimeAnalysisCoke.getPageNum(),sRaRealTimeAnalysisCoke.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCoke.getType().equals("1")){ + list=sRaRealTimeAnalysisCokeMapper.statisticsList(iPage,sRaRealTimeAnalysisCoke); + }else { + list=sRaRealTimeAnalysisCokeMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCoke); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisCoke.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoke.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoke) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisCoke.getType().equals("1")){ + list=sRaRealTimeAnalysisCokeMapper.statisticsList(iPage,sRaRealTimeAnalysisCoke); + }else { + list=sRaRealTimeAnalysisCokeMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisCoke); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisCoke.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisCoke.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisCokeQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisCokeMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("焦炭产量"); + ser.setProp("cokeNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getCokeNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisCokeMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisConverterServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisConverterServiceImpl.java new file mode 100644 index 0000000..ca86532 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisConverterServiceImpl.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisConverterMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisConverterService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisConverterQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +/** + * 转炉产量分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisConverterServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisConverterService +{ + @Autowired + private SRaRealTimeAnalysisConverterMapper sRaRealTimeAnalysisConverterMapper; + + /** + * 查询转炉产量分析列表 + * + * @param sRaRealTimeAnalysisConverter 转炉产量分析 + * @return 转炉产量分析 + */ + @Override + public List selectSRaRealTimeAnalysisConverterList(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) + { + Page page=new Page<>(1,999999); + return sRaRealTimeAnalysisConverterMapper.selectSRaRealTimeAnalysisConverterList(page,sRaRealTimeAnalysisConverter); + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisConverterMapper.pullDeviceNameOptions(factoryName); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + Page iPage=new Page(sRaRealTimeAnalysisConverter.getPageNum(),sRaRealTimeAnalysisConverter.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisConverter.getType().equals("1")){ + list=sRaRealTimeAnalysisConverterMapper.statisticsList(iPage,sRaRealTimeAnalysisConverter); + }else { + list=sRaRealTimeAnalysisConverterMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisConverter); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisConverter.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisConverter.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisConverter) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisConverter.getType().equals("1")){ + list=sRaRealTimeAnalysisConverterMapper.statisticsList(iPage,sRaRealTimeAnalysisConverter); + }else { + list=sRaRealTimeAnalysisConverterMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisConverter); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisConverter.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisConverter.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisConverterQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisConverterMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("出钢量"); + ser.setProp("tapNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("炉数"); + ser1.setProp("converterNumber"); + ser1.setUnit(""); + ser1.setValues(new ArrayList<>()); + items.add(ser1); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getTapNumber()); + items.get(1).getValues().add(item.getConverterNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisFurnaceServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisFurnaceServiceImpl.java new file mode 100644 index 0000000..f0ec8e5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisFurnaceServiceImpl.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisFurnaceMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisFurnaceService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisFurnaceQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +/** + * 高炉产量分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisFurnaceServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisFurnaceService +{ + @Autowired + private SRaRealTimeAnalysisFurnaceMapper sRaRealTimeAnalysisFurnaceMapper; + + /** + * 查询高炉产量分析列表 + * + * @param sRaRealTimeAnalysisFurnace 高炉产量分析 + * @return 高炉产量分析 + */ + @Override + public List selectSRaRealTimeAnalysisFurnaceList(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) + { + Page page=new Page<>(1,999999); + return sRaRealTimeAnalysisFurnaceMapper.selectSRaRealTimeAnalysisFurnaceList(page,sRaRealTimeAnalysisFurnace); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + Page iPage=new Page(sRaRealTimeAnalysisFurnace.getPageNum(),sRaRealTimeAnalysisFurnace.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisFurnace.getType().equals("1")){ + list=sRaRealTimeAnalysisFurnaceMapper.statisticsList(iPage,sRaRealTimeAnalysisFurnace); + }else { + list=sRaRealTimeAnalysisFurnaceMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisFurnace); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisFurnace.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisFurnace.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisFurnace) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisFurnace.getType().equals("1")){ + list=sRaRealTimeAnalysisFurnaceMapper.statisticsList(iPage,sRaRealTimeAnalysisFurnace); + }else { + list=sRaRealTimeAnalysisFurnaceMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisFurnace); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisFurnace.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisFurnace.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisFurnaceQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisFurnaceMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("出铁量"); + ser.setProp("tapNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getTapNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisFurnaceMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisGlassServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisGlassServiceImpl.java new file mode 100644 index 0000000..49c9829 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisGlassServiceImpl.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisGlassMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisGlassService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisGlassQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析Service业务层处理 + * + * @author szhpt + * @date 2023-04-02*/ +@Service +public class SRaRealTimeAnalysisGlassServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisGlassService +{ + @Autowired + private SRaRealTimeAnalysisGlassMapper sRaRealTimeAnalysisGlassMapper; + + /** + * 查询关联分析系统-企业生产过程分析-玻璃产量分析列表 + * + * @param sRaRealTimeAnalysisGlass 关联分析系统-企业生产过程分析-玻璃产量分析 + * @return 关联分析系统-企业生产过程分析-玻璃产量分析 + */ + @Override + public List selectSRaRealTimeAnalysisGlassList(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) + { + Page page=new Page<>(1,999999); + + return sRaRealTimeAnalysisGlassMapper.selectSRaRealTimeAnalysisGlassList(page,sRaRealTimeAnalysisGlass); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) { + Page iPage=new Page(sRaRealTimeAnalysisGlass.getPageNum(),sRaRealTimeAnalysisGlass.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisGlass.getType().equals("1")){ + list=sRaRealTimeAnalysisGlassMapper.statisticsList(iPage,sRaRealTimeAnalysisGlass); + }else { + list=sRaRealTimeAnalysisGlassMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisGlass); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisGlass.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisGlass.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisGlass) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisGlass.getType().equals("1")){ + list=sRaRealTimeAnalysisGlassMapper.statisticsList(iPage,sRaRealTimeAnalysisGlass); + }else { + list=sRaRealTimeAnalysisGlassMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisGlass); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisGlass.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisGlass.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisGlassQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisGlassMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("玻璃产量"); + ser.setProp("glassNumber"); + ser.setUnit(""); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getGlassNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisGlassMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisKwhServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisKwhServiceImpl.java new file mode 100644 index 0000000..4d91248 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisKwhServiceImpl.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisKwh; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisKwhMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisKwhService; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisKwhQuery; +import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 企业用电水平分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisKwhServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisKwhService +{ + @Autowired + private SRaRealTimeAnalysisKwhMapper sRaRealTimeAnalysisKwhMapper; + + /** + * 查询企业用电水平分析列表 + * + * @param sRaRealTimeAnalysisKwh 企业用电水平分析 + * @return 企业用电水平分析 + */ + @Override + public List selectSRaRealTimeAnalysisKwhList(SRaRealTimeAnalysisKwhQuery sRaRealTimeAnalysisKwh) + { BigDecimal start=null; + BigDecimal end=null; + if(StringUtils.isNotEmpty(sRaRealTimeAnalysisKwh.getScale())){ + start=new BigDecimal(sRaRealTimeAnalysisKwh.getScale().split("-")[0]); + end=new BigDecimal(sRaRealTimeAnalysisKwh.getScale().split("-")[1]); + } + Page page=new Page<>(1,999999); + return sRaRealTimeAnalysisKwhMapper.selectSRaRealTimeAnalysisKwhList(page,sRaRealTimeAnalysisKwh,start,end); + } + + @Override + public List> pullPollutantOptions() { + return sRaRealTimeAnalysisKwhMapper.pullPollutantOptions(); + } + + @Override + public List> pullEmissionScaleOptions() { + List> list=new ArrayList<>(); + Map map= sRaRealTimeAnalysisKwhMapper.pullEmissionScaleOptions(); + if(MapUtil.isNotEmpty(map)){ + BigDecimal maxValue= map.get("maxvalue"); + BigDecimal minValue=map.get("minvalue"); + BigDecimal subtract = maxValue.subtract(minValue); + BigDecimal divide = subtract.divide(BigDecimal.valueOf(3), 0, BigDecimal.ROUND_HALF_UP); + BigDecimal value1= minValue.add(divide); + BigDecimal value2= value1.add(divide); + Map map1=new HashMap<>(); + map1.put("label",String.join("-",minValue.toString(),value1.toString())); + map1.put("value",String.join("-",minValue.toString(),value1.toString())); + list.add(map1); + if(maxValue.compareTo(minValue)!=0){ + Map map2=new HashMap<>(); + map2.put("label",String.join("-",value1.toString(),value2.toString())); + map2.put("value",String.join("-",value1.toString(),value2.toString())); + list.add(map2); + Map map3=new HashMap<>(); + map3.put("label",String.join("-",value2.toString(),maxValue.toString())); + map3.put("value",String.join("-",value2.toString(),maxValue.toString())); + list.add(map3); + } + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisPowerServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisPowerServiceImpl.java new file mode 100644 index 0000000..36f14cd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisPowerServiceImpl.java @@ -0,0 +1,107 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisPowerMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisPowerService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisPowerQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析Service业务层处理 + * + * @author szhpt + * @date 2023-04-02*/ +@Service +public class SRaRealTimeAnalysisPowerServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisPowerService +{ + @Autowired + private SRaRealTimeAnalysisPowerMapper sRaRealTimeAnalysisPowerMapper; + + /** + * 查询关联分析系统-企业生产过程分析-机组负荷分析列表 + * + * @param sRaRealTimeAnalysisPower 关联分析系统-企业生产过程分析-机组负荷分析 + * @return 关联分析系统-企业生产过程分析-机组负荷分析 + */ + @Override + public List selectSRaRealTimeAnalysisPowerList(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) + { + Page page=new Page<>(1,999999); + + return sRaRealTimeAnalysisPowerMapper.selectSRaRealTimeAnalysisPowerList(page,sRaRealTimeAnalysisPower); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) { + Page iPage=new Page(sRaRealTimeAnalysisPower.getPageNum(),sRaRealTimeAnalysisPower.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisPower.getType().equals("1")){ + list=sRaRealTimeAnalysisPowerMapper.statisticsList(iPage,sRaRealTimeAnalysisPower); + }else { + list=sRaRealTimeAnalysisPowerMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisPower); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisPower.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisPower.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisPower) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisPower.getType().equals("1")){ + list=sRaRealTimeAnalysisPowerMapper.statisticsList(iPage,sRaRealTimeAnalysisPower); + }else { + list=sRaRealTimeAnalysisPowerMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisPower); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisPower.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisPower.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisPowerQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisPowerMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("机组负荷"); + ser.setProp("powerNumber"); + ser.setUnit("MW"); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getPowerNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + + return sRaRealTimeAnalysisPowerMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRubbishServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRubbishServiceImpl.java new file mode 100644 index 0000000..6d71883 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRubbishServiceImpl.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisRubbishMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRubbishService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRubbishQuery; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析Service业务层处理 + * + * @author szhpt + * @date 2023-04-03*/ +@Service +public class SRaRealTimeAnalysisRubbishServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisRubbishService +{ + @Autowired + private SRaRealTimeAnalysisRubbishMapper sRaRealTimeAnalysisRubbishMapper; + + /** + * 查询关联分析系统-企业生产过程分析-垃圾处理量分析列表 + * + * @param sRaRealTimeAnalysisRubbish 关联分析系统-企业生产过程分析-垃圾处理量分析 + * @return 关联分析系统-企业生产过程分析-垃圾处理量分析 + */ + @Override + public List selectSRaRealTimeAnalysisRubbishList(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) + { + Page page=new Page<>(1,999999); + + return sRaRealTimeAnalysisRubbishMapper.selectSRaRealTimeAnalysisRubbishList(page,sRaRealTimeAnalysisRubbish); + } + + @Override + public IPage statisticsList(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) { + Page iPage=new Page(sRaRealTimeAnalysisRubbish.getPageNum(),sRaRealTimeAnalysisRubbish.getPageSize()); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisRubbish.getType().equals("1")){ + list=sRaRealTimeAnalysisRubbishMapper.statisticsList(iPage,sRaRealTimeAnalysisRubbish); + }else { + list=sRaRealTimeAnalysisRubbishMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisRubbish); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisRubbish.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisRubbish.getAnalyseEndTime()); + }); + iPage.setRecords(list); + return iPage; + } + + @Override + public List statisticsExport(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisRubbish) { + Page iPage=new Page(1,999999); + List list=new ArrayList<>(); + if(sRaRealTimeAnalysisRubbish.getType().equals("1")){ + list=sRaRealTimeAnalysisRubbishMapper.statisticsList(iPage,sRaRealTimeAnalysisRubbish); + }else { + list=sRaRealTimeAnalysisRubbishMapper.statisticsListByDevice(iPage,sRaRealTimeAnalysisRubbish); + } + list.forEach(item->{ + item.setAnalyseTimeStr(sRaRealTimeAnalysisRubbish.getAnalyseStartTime()+"至"+sRaRealTimeAnalysisRubbish.getAnalyseEndTime()); + }); + return list; + } + + @Override + public EChartsVO resultCurve(SRaRealTimeAnalysisRubbishQuery sRaRealTimeAnalysisCoa) { + EChartsVO eChartsVO=new EChartsVO(); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisRubbishMapper.resultCurve(sRaRealTimeAnalysisCoa); + List list=new ArrayList<>(); + List items= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("垃圾处理量"); + ser.setProp("rubbishNumber"); + ser.setUnit("kg"); + ser.setValues(new ArrayList<>()); + items.add(ser); + sRaRealTimeAnalysisRuns.forEach(item->{ + list.add(DateUtil.format(item.getAnalyseTime(), DatePattern.NORM_DATETIME_FORMATTER)); + items.get(0).getValues().add(item.getRubbishNumber()); + }); + eChartsVO.setXData(list); + eChartsVO.setSeries(items); + return eChartsVO; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisRubbishMapper.pullDeviceNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRunServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRunServiceImpl.java new file mode 100644 index 0000000..18398ae --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisRunServiceImpl.java @@ -0,0 +1,224 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.mapper.BasDeviceMapper; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisRunMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRunService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRunQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 企业装备运行情况实时分析Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisRunServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisRunService +{ + @Autowired + private SRaRealTimeAnalysisRunMapper sRaRealTimeAnalysisRunMapper; + + @Autowired + private BasDeviceMapper basDeviceMapper; + /** + * 查询企业装备运行情况实时分析列表 + * + * @param sRaRealTimeAnalysisRun 企业装备运行情况实时分析 + * @return 企业装备运行情况实时分析 + */ + @Override + public List selectSRaRealTimeAnalysisRunList(SRaRealTimeAnalysisRunQuery sRaRealTimeAnalysisRun) + { + + return sRaRealTimeAnalysisRunMapper.selectSRaRealTimeAnalysisRunList(sRaRealTimeAnalysisRun); + } + + + @Override + public List> pullStatusOptions() { + List> options = Lists.newArrayList(); + for (SRaRealTimeAnalysisRun.OperationStatus option : SRaRealTimeAnalysisRun.OperationStatus.values()) { + options.add(new HashMap() {{ + put("label", option.getLabel()); + put("value", option.getValue()); + }}); + } + return options; + } + + @Override + public List> pullDeviceNameOptions(String factoryName) { + return sRaRealTimeAnalysisRunMapper.pullDeviceNameOptions(factoryName); + } + + @Override + public List selectAnalysisRunByParams( + SRaRealTimeAnalysisRun oldBasDevice) { + return sRaRealTimeAnalysisRunMapper.selectAnalysisRunByParams(oldBasDevice); + } + + @Override + public EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime) { + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq(StringUtils.isNotEmpty(deviceId), "device_id", deviceId); + wrapper.ge("update_time", DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.le("update_time", DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.orderByAsc("update_time"); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisRunMapper.selectList(wrapper); + + Map timeStatusMap = sRaRealTimeAnalysisRuns.stream().collect(Collectors.toMap(o -> DateUtil.format(o.getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_FORMATTER), o -> o.getOperationStatus(), (o1, o2) -> o1)); + // x轴数据 + List xdata = DateUtils.getRangeTimes("M", monitoringStartTime, monitoringEndTime); + + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("运行"); + ser1.setProp("1"); + ser1.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("停运"); + ser2.setProp("2"); + ser2.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("启停"); + ser3.setProp("3"); + ser3.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser4 = new EChartsVO.SeriesObj(); + ser4.setName("停启"); + ser4.setProp("4"); + ser4.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser5 = new EChartsVO.SeriesObj(); + ser5.setName("数据缺失"); + ser5.setProp("5"); + ser5.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3, ser4,ser5)); + + /* + 填充系列值 + */ + + // 当前时间设备状态 + String status = null; + + // 遍历x轴,保证系列值与x轴刻度一一对应 + for (String time : xdata) { + String s = timeStatusMap.get(time); + + // 若不为空,更新状态,否则状态保持原值 + if (s != null) { + status = s; + } + + for (EChartsVO.SeriesObj ser : chartsVO.getSeries()) { + // 若系列的prop属性与状态码相等,则设置系列值为状态码,否则填充null + if (ser.getProp().equals(status)) { + ser.getValues().add(status); + } else { + ser.getValues().add(null); + } + } + } + return chartsVO; + } + + @Override + public List analysisCurve(String deviceId, String monitoringStartTime, String monitoringEndTime, String judgementBasis) { + List eChartsVOS=new ArrayList<>(); + List analysisCurve= sRaRealTimeAnalysisRunMapper.analysisCurve(deviceId,DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss"),DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + + // x轴数据 + List xdata = DateUtils.getRangeTimes("QH", monitoringStartTime, monitoringEndTime); + + Map> pollutionAir = analysisCurve.stream().collect(Collectors.groupingBy( SRaRealTimeAnalysisRun::getDeviceId)); + pollutionAir.forEach((key,value)->{ + EChartsVO eChartsVO=new EChartsVO(); + List chartsVO= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("总有功功率"); + ser.setProp("activePower"); + ser.setUnit("(千瓦)"); + ser.setValues(new ArrayList<>()); + chartsVO.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("总有功电量示值"); + ser1.setProp("activePowerQuantity"); + ser1.setUnit("(千瓦)"); + ser1.setValues(new ArrayList<>()); + chartsVO.add(ser1); + /* + 填充系列值 + */ + Map timeStatusMap = value.stream().collect(Collectors.toMap(o -> DateUtil.format(o.getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_FORMATTER), o -> o, (o1, o2) -> o1)); + xdata.forEach(time->{ + if(timeStatusMap.containsKey(time)){ + SRaRealTimeAnalysisRun sRaRealTimeAnalysisRun = timeStatusMap.get(time); + chartsVO.get(0).getValues().add(sRaRealTimeAnalysisRun.getActivePowerQuantityTmp()); + chartsVO.get(1).getValues().add(sRaRealTimeAnalysisRun.getActivePowerQuantity()); + }else { + chartsVO.get(0).getValues().add(null); + chartsVO.get(1).getValues().add(null); + } + timeStatusMap.get(time); + }); + eChartsVO.setXData(xdata); + eChartsVO.setSeries(chartsVO); + if(CollectionUtil.isNotEmpty(value)){ + eChartsVO.setName(value.get(0).getDeviceName()); + } + eChartsVOS.add(eChartsVO); + }); + if(CollectionUtil.isEmpty(pollutionAir)){ + EChartsVO eChartsVO=new EChartsVO(); + List chartsVO= new ArrayList<>(); + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName("总有功功率"); + ser.setProp("activePower"); + ser.setUnit("(千瓦)"); + ser.setValues(new ArrayList<>()); + chartsVO.add(ser); + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("总有功电量示值"); + ser1.setProp("activePowerQuantity"); + ser1.setUnit("(千瓦)"); + ser1.setValues(new ArrayList<>()); + chartsVO.add(ser1); + eChartsVO.setXData(xdata); + eChartsVO.setSeries(chartsVO); + eChartsVOS.add(eChartsVO); + } + return eChartsVOS; + } + + @Override + public String analysisCurveEndTime(String deviceId, String monitoringStartTime, String monitoringEndTime) { + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq(StringUtils.isNotEmpty(deviceId), "device_id", deviceId); + wrapper.ge("update_time", DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.le("update_time", DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.orderByAsc("update_time"); + String sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisRunMapper.selectListMaxTime(deviceId, DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss"), DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + return sRaRealTimeAnalysisRuns; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisStopServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisStopServiceImpl.java new file mode 100644 index 0000000..5a1bd29 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaRealTimeAnalysisStopServiceImpl.java @@ -0,0 +1,382 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.domain.PcOutlet; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisStop; +import cn.cecep.talroad.mapper.analysis.SRaRealTimeAnalysisStopMapper; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisStopService; +import cn.cecep.talroad.util.ExportWordUtil; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.analysis.DeviceStatusWorkStepVO; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisStopQuery; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import freemarker.template.TemplateException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; + + +/** + * 企业装备停限产分析报(DCS)Service业务层处理 + * + * @author szhpt + * @date 2023-03-24*/ +@Service +public class SRaRealTimeAnalysisStopServiceImpl extends ServiceImpl implements ISRaRealTimeAnalysisStopService +{ + + /** + * 设备工序与word报告参数对应名称 + */ + private Map deviceNameForWordParamMap; + + @PostConstruct + private void init(){ + deviceNameForWordParamMap = new HashMap<>(); + deviceNameForWordParamMap.put("烧结","SJ"); + deviceNameForWordParamMap.put("球团","QT"); + deviceNameForWordParamMap.put("白灰窑","BHY"); + deviceNameForWordParamMap.put("高炉","GAOLU"); + deviceNameForWordParamMap.put("炼铁","GAOLU"); + deviceNameForWordParamMap.put("发电","FD"); + deviceNameForWordParamMap.put("熟料烧成","SLSC"); + deviceNameForWordParamMap.put("玻璃","BL"); + deviceNameForWordParamMap.put("焚烧","FS"); + deviceNameForWordParamMap.put("锅炉","GUOLU"); + } + @Autowired + private SRaRealTimeAnalysisStopMapper sRaRealTimeAnalysisStopMapper; + + /** + * 查询企业装备停限产分析报(DCS)列表 + * + * @param sRaRealTimeAnalysisStop 企业装备停限产分析报(DCS) + * @return 企业装备停限产分析报(DCS) + */ + @Override + public List selectSRaRealTimeAnalysisStopList(SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) + { + Page page=new Page(1,999999); + List list= sRaRealTimeAnalysisStopMapper.selectSRaRealTimeAnalysisStopList(page,sRaRealTimeAnalysisStop); + List stringList=new ArrayList<>(); + list.forEach(item->{ + stringList.add(item.getDeviceId()); + }); + List listItem=sRaRealTimeAnalysisStopMapper.selectSRaRealTimeAnalysisStopListById(sRaRealTimeAnalysisStop,stringList); + Map> stringListMap = listItem.stream().collect(Collectors.groupingBy( SRaRealTimeAnalysisStop::getDeviceId)); + list.forEach(item->{ + if(stringListMap.containsKey(item.getDeviceId())){ + item.setRunEtc(runStatusConver(stringListMap.get(item.getDeviceId())).get("runStatus")); + item.setGoingsOn(runStatusConver(stringListMap.get(item.getDeviceId())).get("goingsOn")); + } + }); + return list; + } + + @Override + public List> pullWorkingProcedureOptions(String industryCategoryCode) { + List> map =new ArrayList<>(); + if(industryCategoryCode.equals("GT")){ + List numbers = Arrays.asList("球团-SL", "高炉-GL", "烧结-SJJ","白灰窑-LY","发电-FDJZ"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + /* if(industryCategoryCode.equals("JH")){ + List numbers = Arrays.asList("焦炉"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item); + objectMap.put("value",item); + map.add(objectMap); + }); + }*/ + if(industryCategoryCode.equals("SN")){ + List numbers = Arrays.asList("熟料烧成-SNY"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("BL")){ + List numbers = Arrays.asList("玻璃-SCX"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("FS")){ + List numbers = Arrays.asList("焚烧-FSL"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + if(industryCategoryCode.equals("DL")){ + List numbers = Arrays.asList("锅炉-GUL"); + numbers.forEach(item->{ + Map objectMap=new HashMap<>(); + objectMap.put("label",item.split("-")[0]); + objectMap.put("value",item.split("-")[1]); + map.add(objectMap); + }); + } + return map; + } + + @Override + public IPage selectSRaRealTimeAnalysisStopListPage(SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) { + Page iPage=new Page(sRaRealTimeAnalysisStop.getPageNum(),sRaRealTimeAnalysisStop.getPageSize()); + List list=sRaRealTimeAnalysisStopMapper.selectSRaRealTimeAnalysisStopListPage(iPage,sRaRealTimeAnalysisStop); + List stringList=new ArrayList<>(); + list.forEach(item->{ + stringList.add(item.getDeviceId()); + }); + List listItem=sRaRealTimeAnalysisStopMapper.selectSRaRealTimeAnalysisStopListById(sRaRealTimeAnalysisStop,stringList); + Map> stringListMap = listItem.stream().collect(Collectors.groupingBy( SRaRealTimeAnalysisStop::getDeviceId)); + list.forEach(item->{ + if(stringListMap.containsKey(item.getDeviceId())){ + item.setRunEtc(runStatusConver(stringListMap.get(item.getDeviceId())).get("runStatus")); + item.setGoingsOn(runStatusConver(stringListMap.get(item.getDeviceId())).get("goingsOn")); + } + }); + iPage.setRecords(list); + return iPage; + } + public Map runStatusConver(List list){ + Map map=new HashMap<>(); + String finalValue=""; + String start=""; + String end=""; + String goingsOn=""; + TreeSet chilePollutant = new TreeSet<>(); + TreeSet goingsOnArr = new TreeSet<>(); + if(CollectionUtil.isNotEmpty(list)){ + finalValue= list.get(0).getOperationStatus(); + start=DateUtil.format(list.get(0).getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + if(StringUtils.isNotEmpty(list.get(0).getGoingsOn())){ + goingsOn=list.get(0).getGoingsOn(); + } + } + for (SRaRealTimeAnalysisStop runStatus : list) { + if(finalValue.equals(runStatus.getOperationStatus())){ + end=DateUtil.format(runStatus.getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + }else { + chilePollutant.add(String.format("%s至%s%s",start,end,operationStatus(finalValue))); + if(StringUtils.isNotEmpty(goingsOn)) { + goingsOnArr.add(goingsOn); + } + start=DateUtil.format(runStatus.getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + end=DateUtil.format(runStatus.getUpdateTime(),DatePattern.NORM_DATETIME_MINUTE_PATTERN); + finalValue=runStatus.getOperationStatus(); + if(StringUtils.isNotEmpty(runStatus.getGoingsOn())){ + goingsOn=runStatus.getGoingsOn(); + } + } + } + chilePollutant.add(String.format("%s至%s%s",start,end,operationStatus(finalValue))); + if(StringUtils.isNotEmpty(goingsOn)) { + goingsOnArr.add(goingsOn); + } + map.put("runStatus",String.join(",", chilePollutant)); + map.put("goingsOn",String.join(",", goingsOnArr)); + return map; + } + public String operationStatus(String status){ + String str=""; + if(status.equals("1")){ + str="运行"; + } + if(status.equals("2")){ + str="停运"; + } + if(status.equals("3")){ + str="启停"; + } + if(status.equals("4")){ + str="停启"; + } + if(status.equals("5")){ + str="数据缺失"; + } + if(status.equals("6")){ + str="数据恒值"; + } + if(status.equals("7")){ + str="数据异常"; + } + return str; + }; + + @Override + public EChartsVO resultCurve(String deviceId, String monitoringStartTime, String monitoringEndTime) { + QueryWrapper wrapper=new QueryWrapper(); + wrapper.eq(StringUtils.isNotEmpty(deviceId), "device_id", deviceId); + wrapper.ge("analyse_time", DateUtil.parse(monitoringStartTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.le("analyse_time", DateUtil.parse(monitoringEndTime,"yyyy-MM-dd HH:mm:ss")); + wrapper.orderByAsc("analyse_time"); + List sRaRealTimeAnalysisRuns = sRaRealTimeAnalysisStopMapper.selectList(wrapper); + + Map timeStatusMap = sRaRealTimeAnalysisRuns.stream().collect(Collectors.toMap(o -> DateUtil.format(o.getUpdateTime(),DatePattern.NORM_DATETIME_FORMATTER), o -> o.getOperationStatus(), (o1, o2) -> o1)); + // x轴数据 + List xdata = DateUtils.getRangeTimes("M", monitoringStartTime, monitoringEndTime); + + EChartsVO.SeriesObj ser1 = new EChartsVO.SeriesObj(); + ser1.setName("运行"); + ser1.setProp("1"); + ser1.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser2 = new EChartsVO.SeriesObj(); + ser2.setName("停运"); + ser2.setProp("2"); + ser2.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser3 = new EChartsVO.SeriesObj(); + ser3.setName("启停"); + ser3.setProp("3"); + ser3.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser4 = new EChartsVO.SeriesObj(); + ser4.setName("停启"); + ser4.setProp("4"); + ser4.setValues(new ArrayList<>()); + + EChartsVO.SeriesObj ser5 = new EChartsVO.SeriesObj(); + ser5.setName("数据缺失"); + ser5.setProp("5"); + ser5.setValues(new ArrayList<>()); + + EChartsVO chartsVO = new EChartsVO(); + chartsVO.setXData(xdata); + chartsVO.setSeries(Arrays.asList(ser1, ser2, ser3, ser4,ser5)); + + /* + 填充系列值 + */ + + // 当前时间设备状态 + String status = null; + + // 遍历x轴,保证系列值与x轴刻度一一对应 + for (String time : xdata) { + String s = timeStatusMap.get(time); + + // 若不为空,更新状态,否则状态保持原值 + if (s != null) { + status = s; + } + + for (EChartsVO.SeriesObj ser : chartsVO.getSeries()) { + // 若系列的prop属性与状态码相等,则设置系列值为状态码,否则填充null + if (ser.getProp().equals(status)) { + ser.getValues().add(status); + } else { + ser.getValues().add(null); + } + } + } + return chartsVO; + } + + /** + * 企业设备停限产报告导出 + * @param response + * @param sRaRealTimeAnalysisStop + */ + @Override + public void exportWordReport(HttpServletResponse response, SRaRealTimeAnalysisStopQuery sRaRealTimeAnalysisStop) throws TemplateException, IOException { + //获取设备停限产数量统计 + List deviceStatusWorkStepVOS = this.sRaRealTimeAnalysisStopMapper.selectDeviceByStatusAndWorkStep(sRaRealTimeAnalysisStop); + Map map = new HashMap<>(); + map.put("dataTimeStr",sRaRealTimeAnalysisStop.getAnalyseStartTime()+"-"+sRaRealTimeAnalysisStop.getAnalyseEndTime()); + //记录设备id + ListnormalList = new ArrayList<>(), + startStopList = new ArrayList<>(), + stopList = new ArrayList<>(); + List normalDataList = new ArrayList<>(), + startStopDataList = new ArrayList<>(), + stopDataList = new ArrayList<>(); + //初始化全局参数 + for (String value : deviceNameForWordParamMap.values()) { + map.put(value+"Count",0); + map.put(value+"StartStopCount",0); + map.put(value+"ExceptionCount",0); + map.put(value+"NormalCount",0); + map.put(value+"StopCount",0); + } + //进行标记数据,根据状态的出现决定哪个数据增加数量 + for (DeviceStatusWorkStepVO deviceStatusWorkStepVO : deviceStatusWorkStepVOS) { + //确定工序类型,进行累加 + String workStepName = ""; + for (Map.Entry stringStringEntry : this.deviceNameForWordParamMap.entrySet()) { + if(deviceStatusWorkStepVO.getWorkStep().equalsIgnoreCase(stringStringEntry.getKey())){ + //进行赋值,跳出循环 + workStepName =stringStringEntry.getValue(); + break; + } + } + String statuses = deviceStatusWorkStepVO.getDeviceStatuses(); + log.debug(deviceStatusWorkStepVO+":"+workStepName+":"+map.get(workStepName+"Count")); + map.put(workStepName+"Count",(Integer)map.get(workStepName+"Count")+1); + //启停类状态 3||4||(1,2) 出现如下情况,则为启停; + if(statuses.indexOf("3") >= 0 + || statuses.indexOf("4") >=0 + || (statuses.indexOf("1") >= 0 && statuses.indexOf("2") >=0)){ + startStopList.add(deviceStatusWorkStepVO.getDeviceId()); + map.put(workStepName+"StartStopCount", (Integer)map.get(workStepName+"StartStopCount")+1); + //异常类状态 5||6||7 + }else if(statuses.indexOf("5") >= 0 + ||statuses.indexOf("6") >= 0 + ||statuses.indexOf("7") >= 0){ + map.put(workStepName+"ExceptionCount", (Integer)map.get(workStepName+"ExceptionCount")+1); + //正常状态 + }else if(statuses.indexOf("1") >= 0){ + normalList.add(deviceStatusWorkStepVO.getDeviceId()); + map.put(workStepName+"NormalCount", (Integer)map.get(workStepName+"NormalCount")+1); + //停产状态 + }else if(statuses.indexOf("2") >= 0){ + stopList.add(deviceStatusWorkStepVO.getDeviceId()); + map.put(workStepName+"StopCount", (Integer)map.get(workStepName+"StopCount")+1); + } + } + //添加列表数据 + List sRaRealTimeAnalysisStops = selectSRaRealTimeAnalysisStopList(sRaRealTimeAnalysisStop); + for (SRaRealTimeAnalysisStop raRealTimeAnalysisStop : sRaRealTimeAnalysisStops) { + String deviceId = raRealTimeAnalysisStop.getDeviceId(); + if (normalList.contains(deviceId)) { + normalDataList.add(raRealTimeAnalysisStop); + }else if(stopList.contains(deviceId)){ + stopDataList.add(raRealTimeAnalysisStop); + }else if(startStopList.contains(deviceId)){ + startStopDataList.add(raRealTimeAnalysisStop); + } + } + map.put("normalDeviceFactoryList",normalDataList); + map.put("stopDeviceFactoryList",stopDataList); + map.put("startStopDeviceFactoryList",startStopDataList); + ExportWordUtil.exportToWord(map,response,"wordReport/FactoryDeviceRunReport.ftl","wordReport/FactoryDeviceRunReport.docx","企业装备停限产分析报表.docx"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaSelfMonitoringDataServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaSelfMonitoringDataServiceImpl.java new file mode 100644 index 0000000..c94baba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaSelfMonitoringDataServiceImpl.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.data.analyse.task.real.concentration.GasConcentrationEnum; +import cn.cecep.talroad.domain.SEnvGasSelfDay; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.cecep.talroad.enums.WaterPollutantEnum; +import cn.cecep.talroad.mapper.analysis.SRaSelfMonitoringDataMapper; +import cn.cecep.talroad.service.ISEnvGasSelfDayService; +import cn.cecep.talroad.service.ISEnvWaterSelfDayService; +import cn.cecep.talroad.service.analysis.ISRaSelfMonitoringDataService; +import cn.cecep.talroad.vo.query.analysis.SRaSelfMonitoringDataQuery; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + + + +/** + * 关联分析系统-企业自行监测数据Service业务层处理 + * + * @author szhpt + * @date 2023-06-27*/ +@Service +public class SRaSelfMonitoringDataServiceImpl extends ServiceImpl implements ISRaSelfMonitoringDataService +{ + @Autowired + private SRaSelfMonitoringDataMapper sRaSelfMonitoringDataMapper; + @Autowired + private ISEnvGasSelfDayService isEnvGasSelfDayService; + @Autowired + private ISEnvWaterSelfDayService isEnvWaterSelfDayService; + + /** + * 查询关联分析系统-企业自行监测数据列表 + * + * @param sRaSelfMonitoringData 关联分析系统-企业自行监测数据 + * @return 关联分析系统-企业自行监测数据 + */ + @Override + public List selectSRaSelfMonitoringDataList(SRaSelfMonitoringDataQuery sRaSelfMonitoringData) + { + return sRaSelfMonitoringDataMapper.selectSRaSelfMonitoringDataList(sRaSelfMonitoringData); + } + + @Override + public List> pullPollutantNameOptions(String name) { + + return sRaSelfMonitoringDataMapper.pullPollutantNameOptions(name); + } + + @Override + public void doProcessHandleData(DateTime lastDayBegin, DateTime lastDayEnd) { + List gasDatas = new ArrayList<>(); + List waterDatas = new ArrayList<>(); + List gasList = sRaSelfMonitoringDataMapper.selectAllLastDayGasData(lastDayBegin,lastDayEnd); + if(gasList!=null&&gasList.size()>0){ + Map> map = gasList.stream().collect(Collectors.groupingBy(s->{return s.getFactoryId()+s.getMonitorId()+s.getMonitorTime();})); + map.forEach((key,values)->{ + SEnvGasSelfDay selfDay = new SEnvGasSelfDay(); + selfDay.setDataType("D"); + values.forEach(value->{ + selfDay.setFactoryId(value.getFactoryId()); + selfDay.setOutletId(value.getMonitorId()); + selfDay.setMonitoringTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",value.getMonitorTime())); + if(GasConcentrationEnum.so2.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setSo2(value.getActualConcentration()); + }else if(GasConcentrationEnum.nox.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setNox(value.getActualConcentration()); + }else if(GasConcentrationEnum.pm.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setPm(value.getActualConcentration()); + selfDay.setSmokeDust(value.getActualConcentration()); + }else if(GasConcentrationEnum.vocs.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setVocs(value.getActualConcentration()); + }else if(GasConcentrationEnum.no.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setNo(value.getActualConcentration()); + }else if(GasConcentrationEnum.no2.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setNo2(value.getActualConcentration()); + } + }); + gasDatas.add(selfDay); + }); + } + if(gasDatas!=null&&gasDatas.size()>0){ + List> partion = ListUtil.partition(gasDatas,2000); + partion.forEach(i->{ + isEnvGasSelfDayService.saveBatch(i); + }); + gasDatas.clear(); + } + + List waterList = sRaSelfMonitoringDataMapper.selectAllLastDayWaterData(lastDayBegin,lastDayEnd); + if(waterList!=null&&waterList.size()>0){ + Map> map = waterList.stream().collect(Collectors.groupingBy(s->{return s.getFactoryId()+s.getMonitorId()+s.getMonitorTime();})); + map.forEach((key,values)->{ + SEnvWaterSelfDay selfDay = new SEnvWaterSelfDay(); + selfDay.setDataType("D"); + values.forEach(value->{ + selfDay.setFactoryId(value.getFactoryId()); + selfDay.setOutletId(value.getMonitorId()); + selfDay.setMonitoringTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",value.getMonitorTime())); + if(WaterPollutantEnum.COD.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setCod(value.getActualConcentration()); + }else if(WaterPollutantEnum.TN.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setPhosphorusConcentration(value.getActualConcentration()); + }else if(WaterPollutantEnum.TP.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setNitrogenConcentration(value.getActualConcentration()); + }else if(WaterPollutantEnum.NHN.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setAmmoniaNitrogen(value.getActualConcentration()); + }else if(WaterPollutantEnum.PH.getPollutantsCode().equals(value.getPollutantsCode())){ + selfDay.setPhValue(value.getActualConcentration()); + } + }); + waterDatas.add(selfDay); + }); + } + + if(waterDatas!=null&&waterDatas.size()>0){ + List> partion = ListUtil.partition(waterDatas,2000); + partion.forEach(i->{ + isEnvWaterSelfDayService.saveBatch(i); + }); + waterDatas.clear(); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterFlagServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterFlagServiceImpl.java new file mode 100644 index 0000000..f476485 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterFlagServiceImpl.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.service.impl.analysis; + +import cn.cecep.talroad.common.core.domain.R; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.page.TableDataInfo; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.analysis.SRaWaterFlag; +import cn.cecep.talroad.feign.BaseRegionService; +import cn.cecep.talroad.mapper.analysis.SRaWaterFlagMapper; +import cn.cecep.talroad.service.analysis.ISRaWaterFlagService; +import cn.cecep.talroad.vo.analysis.SRaWaterFlagVo; +import cn.cecep.talroad.vo.query.analysis.SRaWaterFlagQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * 关联分析系统-企业异常行为分析-企业排放分析-废水在线监测标记汇总Service业务层处理 + */ +@Service +public class SRaWaterFlagServiceImpl extends ServiceImpl implements ISRaWaterFlagService { + + @Autowired + private BaseRegionService baseRegionService; + + @Override + public List getWaterFlagList(Page page, SRaWaterFlagQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List list = baseMapper.selectWaterFlagList(page, query); + if (list.isEmpty()) { + return list; + } + Map> dictDataMap = new HashMap<>(); + TableDataInfo tableDataInfo = baseRegionService.getDictDataList("1", "1000", "anal_data_flag"); + if (tableDataInfo != null) { + List> rows = (List>) tableDataInfo.getRows(); + dictDataMap = rows.stream().collect(Collectors.toMap(o -> (String) o.get("dictValue"), o -> o, (o1, o2) -> o1)); + } + for (SRaWaterFlagVo.Row row : list) { + Map sysDictData = dictDataMap.get(row.getDataFlag()); + if (sysDictData != null) { + row.setDataFlagName((String) sysDictData.get("dictLabel")); + } + } + return list; + } + + @Override + public List getWaterFlagDetailList(Page page, SRaWaterFlagQuery query) { + // 若未指定,查询当前用户区域下的数据 + if (StringUtils.isEmpty(query.getRegionCode())) { + String userRegionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + + if (StringUtils.isEmpty(userRegionCode)) { + return new ArrayList<>(); + } + R> r = baseRegionService.getRegionCodeListChild(userRegionCode); + if (r.getCode() == R.SUCCESS) { + query.setRegionCodeList(r.getData()); + } else { + return new ArrayList<>(); + } + } + List list = baseMapper.selectWaterFlagDetailList(page, query); + if (list.isEmpty()) { + return list; + } + Map> dictDataMap = new HashMap<>(); + TableDataInfo tableDataInfo = baseRegionService.getDictDataList("1", "1000", "anal_data_flag"); + if (tableDataInfo != null) { + List> rows = (List>) tableDataInfo.getRows(); + dictDataMap = rows.stream().collect(Collectors.toMap(o -> (String) o.get("dictValue"), o -> o, (o1, o2) -> o1)); + } + for (SRaWaterFlagVo.DetailRow row : list) { + Map sysDictData = dictDataMap.get(row.getDataFlag()); + if (sysDictData != null) { + row.setDataFlagName((String) sysDictData.get("dictLabel")); + } + } + return list; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedEmissionsServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedEmissionsServiceImpl.java new file mode 100644 index 0000000..d6a4eeb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedEmissionsServiceImpl.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedEmissions; +import cn.cecep.talroad.mapper.analysis.SRaWaterPermittedEmissionsMapper; +import cn.cecep.talroad.service.analysis.ISRaWaterPermittedEmissionsService; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedEmissionsQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 许可排放量废水明细Service业务层处理 + * + * @author szhpt + * @date 2023-06-02*/ +@Service +public class SRaWaterPermittedEmissionsServiceImpl extends ServiceImpl implements ISRaWaterPermittedEmissionsService +{ + @Autowired + private SRaWaterPermittedEmissionsMapper sRaWaterPermittedEmissionsMapper; + + /** + * 查询许可排放量废水明细列表 + * + * @return 许可排放量废水明细 + */ + @Override + public List selectSRaWaterPermittedEmissionsList(SRaWaterPermittedEmissionsQuery lambdaQueryWrapper) + { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(1, 999999); + List list=sRaWaterPermittedEmissionsMapper.selectSRaWaterPermittedEmissionsListBy(page,lambdaQueryWrapper); + return list; + } + + @Override + public IPage selectSRaWaterPermittedEmissionsListBy(SRaWaterPermittedEmissionsQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("0"); + } + if(StringUtils.isNotBlank(lambdaQueryWrapper.getDataFlag())){ + lambdaQueryWrapper.setDataFlagArr(Arrays.asList(lambdaQueryWrapper.getDataFlag().split(","))); + } + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + List list=sRaWaterPermittedEmissionsMapper.selectSRaWaterPermittedEmissionsListBy(page,lambdaQueryWrapper); + page.setRecords(list); + return page; + } + @Override + public List> pullMonitorNameOptions(String factoryName) { + return sRaWaterPermittedEmissionsMapper.pullMonitorNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedOnlineServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedOnlineServiceImpl.java new file mode 100644 index 0000000..08e66ac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/analysis/SRaWaterPermittedOnlineServiceImpl.java @@ -0,0 +1,256 @@ +package cn.cecep.talroad.service.impl.analysis; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.cecep.talroad.mapper.analysis.SRaWaterPermittedOnlineMapper; +import cn.cecep.talroad.service.IPcOutletService; +import cn.cecep.talroad.service.ISEnvWaterMonHourService; +import cn.cecep.talroad.service.analysis.ISRaWaterPermittedOnlineService; +import cn.cecep.talroad.vo.query.analysis.SRaWaterPermittedOnlineQuery; +import cn.hutool.core.util.NumberUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + + + +/** + * 许可排放量废水明细Service业务层处理 + * + * @author szhpt + * @date 2023-06-02*/ +@Service +public class SRaWaterPermittedOnlineServiceImpl extends ServiceImpl implements ISRaWaterPermittedOnlineService +{ + @Autowired + private SRaWaterPermittedOnlineMapper sRaWaterPermittedOnlineMapper; + @Autowired + private IPcOutletService iPcOutletService; + @Autowired + private ISEnvWaterMonHourService isEnvWaterMonHourService; + + /** + * 查询许可排放量废水明细列表 + * + * @return 许可排放量废水明细 + */ + @Override + public List selectSRaWaterPermittedOnlineList(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) + { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + lambdaQueryWrapper.setPollutantOutletType("2"); + Page page = new Page<>(1, 999999); + + List sRaWaterPermittedOnlines= iPcOutletService.selectByOnlineAndSource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + if(StringUtils.isBlank(item.getSourcePermissionPoll())){ + item.setSourcePermissionPoll(""); + } + stringList.add(item.getMonitorId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + List list=new ArrayList<>(); + //自动监测数据 + list.addAll(isEnvWaterMonHourService.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + if(lambdaQueryWrapper.getType().equals("2")){ + //手工检测数据 + list.addAll(isEnvWaterMonHourService.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + } + //处理修约量,如果为空则填充排放量 + list.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + Map> stringListMap = list.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getOutletId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getMonitorId())){ + List sEnvWaterMonHours = stringListMap.get(item.getMonitorId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21003"))) { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W01018"))) { + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21001"))) { + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21011"))) { + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(), 4)); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21003"))) { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaNitrogenEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W01018"))) { + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21001"))) { + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21011"))) { + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(), 4)); + } + } + } + }); + return sRaWaterPermittedOnlines; + } + + @Override + public IPage selectSRaWaterPermittedOnlineListBy(SRaWaterPermittedOnlineQuery lambdaQueryWrapper) { + if(StringUtils.isBlank(lambdaQueryWrapper.getInvalidDataCalculated())){ + lambdaQueryWrapper.setInvalidDataCalculated("1"); + } + lambdaQueryWrapper.setPollutantOutletType("2"); + Page page = new Page<>(lambdaQueryWrapper.getPageNum(), lambdaQueryWrapper.getPageSize()); + + List sRaWaterPermittedOnlines= iPcOutletService.selectByOnlineAndSource(page,lambdaQueryWrapper); + List stringList=new ArrayList<>(); + sRaWaterPermittedOnlines.forEach(item->{ + if(StringUtils.isBlank(item.getSourcePermissionPoll())){ + item.setSourcePermissionPoll(""); + } + stringList.add(item.getMonitorId()); + }); + lambdaQueryWrapper.setMonitors(stringList); + List list=new ArrayList<>(); + //自动监测数据 + list.addAll(isEnvWaterMonHourService.selectSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + if(lambdaQueryWrapper.getType().equals("2")){ + //手工检测数据 + list.addAll(isEnvWaterMonHourService.selectManualSRaWaterPermittedOnlineListBy(lambdaQueryWrapper)); + } + //处理修约量,如果为空则填充排放量 + list.forEach(item->{ + if(StringUtils.isEmpty(item.getAmmoniaCorrectEmission())){ + item.setAmmoniaCorrectEmission(item.getAmmoniaNitrogenEmission()); + } + if(StringUtils.isEmpty(item.getCodCorrectEmission())){ + item.setCodCorrectEmission(item.getCodEmission()); + } + if(StringUtils.isEmpty(item.getNitrogenCorrectEmission())){ + item.setNitrogenCorrectEmission(item.getNitrogenConcentrationEmission()); + } + if(StringUtils.isEmpty(item.getPhosphorusCorrectEmission())){ + item.setPhosphorusCorrectEmission(item.getPhosphorusConcentrationEmission()); + } + }); + Map> stringListMap = list.stream().collect(Collectors.groupingBy( SEnvWaterMonHour::getOutletId)); + sRaWaterPermittedOnlines.forEach(item->{ + if(stringListMap.containsKey(item.getMonitorId())){ + List sEnvWaterMonHours = stringListMap.get(item.getMonitorId()); + if(lambdaQueryWrapper.getInvalidDataCalculated().equals("1")){ + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21003"))) { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W01018"))) { + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21001"))) { + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenCorrectEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21011"))) { + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusCorrectEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusCorrectEmission()).doubleValue()).sum(), 4)); + } + }else { + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21003"))) { + item.setAmmonia(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getAmmoniaNitrogenEmission(), lambdaQueryWrapper.getDataFlag(), o.getAmmoniaNitrogenFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getAmmoniaNitrogenEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W01018"))) { + item.setCod(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getCodEmission(), lambdaQueryWrapper.getDataFlag(), o.getCodFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getCodEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21001"))) { + item.setNitrogen(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getNitrogenConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getNitrogenConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getNitrogenConcentrationEmission()).doubleValue()).sum(), 4)); + } + if(lambdaQueryWrapper.getType().equals("1")||(lambdaQueryWrapper.getType().equals("2")&&item.getSourcePermissionPoll().contains("W21011"))) { + item.setPhosphorus(NumberUtil.round(sEnvWaterMonHours.stream().filter(o -> { + return dataFlagConversion(o.getPhosphorusConcentrationEmission(), lambdaQueryWrapper.getDataFlag(), o.getPhosphorusConcentrationFlag(), o.getDataFlag()); + }).mapToDouble(op -> new BigDecimal(op.getPhosphorusConcentrationEmission()).doubleValue()).sum(), 4)); + } + } + } + }); + page.setRecords(sRaWaterPermittedOnlines); + return page; + } + public boolean dataFlagConversion(String value, String dataFlag, String valueFlag, String flag){ + if(StringUtils.isBlank(value)){ + return false; + } + if(StringUtils.isBlank(dataFlag)){ + return true; + } + if(StringUtils.isBlank(flag)&&StringUtils.isBlank(valueFlag)){ + return true; + } + if(StringUtils.isNotBlank(flag)){ + if(!dataFlag.contains(flag.trim())){ + return true; + } + } + if(StringUtils.isNotBlank(valueFlag)){ + if(!dataFlag.contains(valueFlag.trim())){ + return true; + } + } + return false; + } + @Override + public List> pullMonitorNameOptions(String factoryName) { + return sRaWaterPermittedOnlineMapper.pullMonitorNameOptions(factoryName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/BasTargetServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/BasTargetServiceImpl.java new file mode 100644 index 0000000..9ca6f26 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/BasTargetServiceImpl.java @@ -0,0 +1,1370 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.mapper.effective.*; +import cn.cecep.talroad.service.effective.BasTargetService; +import cn.cecep.talroad.service.effective.ReportManageService; +import cn.cecep.talroad.util.effective.FieldCache; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +@Service +public class BasTargetServiceImpl implements BasTargetService { + + private static final Logger log = LoggerFactory.getLogger(BasTargetService.class); + + @Autowired + private QEnvgasWqDayMapper qEnvgasWqDayMapper; + @Autowired + private QEnvgasWqMonthMapper qEnvgasWqMonthMapper; + @Autowired + private QEnvgasWqYearMapper qEnvgasWqYearMapper; + @Autowired + private QEnvgasAreaTargetMapper qEnvgasAreaTargetMapper; + @Autowired + private QTargetConfigMapper qTargetConfigMapper; + @Autowired + private PCodeIndexPollutantMapper pCodeIndexPollutantMapper; + @Autowired + private FieldCache fieldCache; + @Autowired + private ReportManageService reportManageService; + @Autowired + private PCodeRegionMapper pCodeRegionMapper; + + + +/* + + @Override + public int[] findTargetConfig(String regionCode, String factor) { + int[] arr; + QTargetConfig config = qTargetConfigMapper.findConfigByRegionCode(regionCode); + if (config == null) { + throw new BussinessException("当前因子未设置高值月份及计算数值,请先联系管理员添加配置"); + } + if (factor.equals("pm25")) { + arr = new int[]{config.getPm25Control(), config.getPm25Month()}; + } else if (factor.equals("pm10")) { + arr = new int[]{config.getPm10Control(), config.getPm10Month()}; + } else if (factor.equals("so2")) { + arr = new int[]{config.getSo2Control(), config.getSo2Month()}; + } else if (factor.equals("no2")) { + arr = new int[]{config.getNo2Control(), config.getNo2Month()}; + } else { + arr = new int[]{2, 6}; + } + return arr; + } + + @Override + public Map fourFactorTargets(String regionCode, String factor, BigDecimal target) throws BussinessException { + //查询近三年因子值 + Date date; + //去年 前年 大前年 + int year; + int i = 0; + //三年 12月单因子数据 月份降序排序 + Map valueMap = new HashMap<>(16); + while (i < 5) { + date = NewDateUtil.addDateYears(new Date(), -i); + year = getYear(date); + //全年12月数据 + valueMap.put("arr" + i, monthListToArray(qEnvgasWqMonthMapper.selectAreaYearData(regionCode, year), factor)); + i++; + } + //计算月份数值同比变化率 理论上只有三个数组 + Map percentMap = new HashMap<>(16); + for (int j = 1; j <= 3; j++) { + BigDecimal[] percentArr = new BigDecimal[12]; + //本年数值 + BigDecimal[] arr1 = valueMap.get("arr" + j); + //本年同期数值 + BigDecimal[] arr2 = valueMap.get("arr" + (j + 1)); + for (int c = 0; c < 12; c++) { + percentArr[c] = BasTargetUtil.monthTongBiPercent(arr1[c], arr2[c]); + } + percentMap.put("percent" + j, percentArr); + } + //去年比前年 + BigDecimal[] percentMap1 = percentMap.get("percent1"); + //前年比大前年 + BigDecimal[] percentMap2 = percentMap.get("percent2"); + //大前年比大大前年 + BigDecimal[] percentMap3 = percentMap.get("percent3"); + //计算同比变化率均值 + BigDecimal[] percentAvg = new BigDecimal[12]; + for (int d = 0; d < 12; d++) { + List avgValues = new ArrayList<>(); + avgValues.add(percentMap1[d]); + avgValues.add(percentMap2[d]); + avgValues.add(percentMap3[d]); + //过滤空值零值 + avgValues = avgValues.stream().filter(e -> e != null && e.compareTo(BigDecimal.ZERO) != 0).collect(Collectors.toList()); + BigDecimal avg = AirDataConverseUtil.decimalAvgValue(avgValues); + percentAvg[d] = avg == null ? BigDecimal.ZERO : avg; + } + //查询区域因子计算配置 + int[] config = findTargetConfig(regionCode, factor); + BigDecimal[] finalTargets = null; + finalTargets = calcTarget(valueMap.get("arr0"), valueMap.get("arr1"), percentAvg, config[0], config[1], target); + Map map = new HashMap(); + map.put("targets", finalTargets); + map.put("actuals", valueMap.get("arr0")); + return map; + } + + *//** + * 计算今年目标值 + * + * @param currentYearValues 当前年各月均值 + * @param lastYearValues 去年各月均值 + * @param avgPercents 月度同比变化率均值 + * @param control 因子最大月度控制量 + * @param controlMonth 控制月份数量 + * @return + *//* + @Override + public BigDecimal[] calcTarget(BigDecimal[] currentYearValues, BigDecimal[] lastYearValues, BigDecimal[] avgPercents, int control, int controlMonth, BigDecimal targetValue) throws BussinessException { + //实际值不包含本月 + int currentMonth = DateUtil.getCurrentMonth(); + currentYearValues[currentMonth - 1] = null; + BigDecimal controlDecimal = new BigDecimal(control); + BigDecimal[] targets = new BigDecimal[12]; + //存放去年不存在均值的月份值 + List> calcMap = new ArrayList<>(); + for (int i = 0; i < 12; i++) { + if (currentYearValues[i] != null) { + targets[i] = currentYearValues[i]; + } else { + //如果去年没有实际值,不计算初始目标值 + if (lastYearValues[i] == null) { + targets[i] = null; + } else { + targets[i] = lastYearValues[i].subtract(lastYearValues[i].multiply(avgPercents[i])).setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + Map calcObj = new HashMap<>(); + calcObj.put("month", i); + calcObj.put("value", targets[i]); + calcMap.add(calcObj); + } + } + calcMap = arrayToSortList(calcMap); + if (calcMap == null || calcMap.size() == 0) { + throw new BussinessException("本区域去年全月无数值,请补充数据后重新计算"); + } else { + if (calcMap.size() < 12) { + throw new BussinessException("本区域去年部分因子存在空值月份,请补充数据后重新计算"); + } + } + //初始目标值综总和 + BigDecimal calcTargetSumValue = AirDataConverseUtil.decimalSumValue(Arrays.stream(targets).collect(Collectors.toList())); + //设定目标值总和 + BigDecimal target = targetValue.multiply(BasTargetUtil.MONTH_LENGTH); + //计算推算值年度差 + BigDecimal subtract = calcTargetSumValue.subtract(target); + boolean isOver = subtract.compareTo(BigDecimal.ZERO) == 1; + subtract = isOver ? subtract : subtract.negate(); + //分配剩余控制量至初始目标值 + List> beforeSix; + List> behindSix; + if (calcMap.size() > controlMonth) { + beforeSix = calcMap.subList(0, controlMonth); + behindSix = calcMap.subList(controlMonth, calcMap.size()); + } else { + beforeSix = calcMap.subList(0, calcMap.size()) == null ? new ArrayList<>() : calcMap.subList(0, calcMap.size()); + behindSix = new ArrayList<>(); + } + //部分月份高值控制量 + BigDecimal highValueControl = new BigDecimal(control * beforeSix.size()).setScale(0, BigDecimal.ROUND_HALF_EVEN); + //控制量余量 + BigDecimal surplus = subtract.subtract(highValueControl).setScale(0, BigDecimal.ROUND_HALF_EVEN); + //判断高值月份数量是否小于配置数量 + if (beforeSix.size() < controlMonth) { + int index = 0; + for (int i = 0; i < subtract.intValue(); i++) { + Integer month = (Integer) beforeSix.get(index).get("month"); + //循环减1或加1 + targets[month] = isOver ? targets[month].subtract(BigDecimal.ONE) : targets[month].add(BigDecimal.ONE); + log.info("月份" + month + ",值:" + targets[month] + ",余量:" + i); + if (index == beforeSix.size() - 1) { + index = 0; + } else { + index++; + } + } + } else { + if (surplus.compareTo(BigDecimal.ZERO) == 1) { + //先给前六个月减掉 + for (Map before : beforeSix) { + Integer month = (Integer) before.get("month"); + targets[month] = isOver ? targets[month].subtract(controlDecimal) : targets[month].add(controlDecimal); + log.info("月份" + month + ",值:" + targets[month]); + } + //已后六个月为起点 剩余值平均分配给12个月 + behindSix.addAll(beforeSix); + int surplusInt = surplus.intValue(); + int index = 0; + for (int i = surplusInt; i > 0; i--) { + Integer month = (Integer) behindSix.get(index).get("month"); + targets[month] = isOver ? targets[month].subtract(BasTargetUtil.ONE) : targets[month].add(BasTargetUtil.ONE); + if (index == behindSix.size() - 1) { + index = 0; + } else { + index++; + } + log.info("月份" + month + ",值:" + targets[month] + ",余量:" + i); + } + } else { + BigDecimal sumVal = BigDecimal.ZERO; + //余量为负数 在高值月份少减 + for (Map before : beforeSix) { + Integer month = (Integer) before.get("month"); + sumVal = sumVal.add(controlDecimal); + if (sumVal.compareTo(subtract) == 1) { + targets[month] = isOver ? targets[month].subtract(sumVal.divide(highValueControl)) : targets[month].add(sumVal.divide(highValueControl)); + break; + } else { + targets[month] = isOver ? targets[month].subtract(controlDecimal) : targets[month].add(controlDecimal); + } + log.info("月份" + month + ",值:" + targets[month]); + } + } + } + + return targets; + } + + + @Override + public Map twoFactorTargets(int year, String regionCode, String factor, BigDecimal target) { + Map map = new HashMap<>(); + BigDecimal[] actuals = monthListToArray(qEnvgasWqMonthMapper.selectAreaYearData(regionCode, year), factor); + //实际值不包含本月 + actuals[DateUtil.getCurrentMonth() - 1] = null; + BigDecimal[] targets = new BigDecimal[12]; + for (int i = 0; i < targets.length; i++) { + targets[i] = actuals[i] == null ? target : actuals[i]; + } + map.put("targets", targets); + map.put("actuals", actuals); + return map; + } + + @Override + public Map heavyDaysTargets(int year, String regionCode, String factor) { + Map map = new HashMap<>(); + //查询今年已有的重污染天数 + List yearHeavyDays = qEnvgasWqDayMapper.findYearHeavyDays(year, regionCode); + //实际值 + BigDecimal[] actuals = monthListToArray(yearHeavyDays, factor); + //实际值不包含当前月 + actuals[DateUtil.getCurrentMonth() - 1] = null; + BigDecimal[] targets = new BigDecimal[12]; + //重污染天数目标值都为0,目标值不随实际值发生变化 + for (int i = 0; i < targets.length; i++) { + targets[i] = BigDecimal.ZERO; + } + map.put("targets", targets); + map.put("actuals", actuals); + return map; + } + + @Override + public Map goodDaysTargets(int year, String regionCode, String factor, BigDecimal target) { + //查询今年已有的优良天数 + List goodDays = qEnvgasWqDayMapper.findYearGoodDays(year, regionCode); + //实际值 + BigDecimal[] actuals = monthListToArray(goodDays, factor); + //实际值不包含当前月 + actuals[DateUtil.getCurrentMonth() - 1] = null; + //目标值 + BigDecimal[] targets = new BigDecimal[12]; + //实际值总和 + BigDecimal actualSumValue = AirDataConverseUtil.decimalSumValue(Arrays.asList(actuals).stream().filter(e -> e != null).collect(Collectors.toList())); + if (actualSumValue == null) { + actualSumValue = BigDecimal.ZERO; + } + //差值 + BigDecimal subtract = target.subtract(actualSumValue); + BigDecimal surplus = BigDecimal.ZERO; + BigDecimal actualSize = new BigDecimal(BasTargetUtil.INT_MONTH_LENGTH - goodDays.size()); + if (actualSize.compareTo(BigDecimal.ZERO) != 0) { + surplus = subtract.divide(actualSize, 0, BigDecimal.ROUND_UP); + //余量小于0时 剩余月份分配天数都为0 + if (surplus.compareTo(BigDecimal.ZERO) == -1) { + surplus = BigDecimal.ZERO; + } + } + return distribution(actuals, targets, surplus, year); + } + + @Override + public Map coOverDayTarget(int year, String regionCode, String factor, BigDecimal target) { + //本年天数 + int yearDays = DateUtil.getYearDays(year); + if (target == null) { + //如果目标值为空,判断超标的目标值为去年的年均co数据 + AirParmaVo parmaVo = new AirParmaVo(); + parmaVo.setRegionCode(regionCode); + parmaVo.setDatetime((year - 1) + ""); + List airQualityData = qEnvgasWqYearMapper.queryAreaYearData(parmaVo); + if (airQualityData != null && airQualityData.size() > 0) { + target = airQualityData.get(0).getCo(); + } + } + //查询实际值 + List coOverDays = qEnvgasWqDayMapper.findYearCoOverDays(year, regionCode, target); + BigDecimal[] actuals = monthListToArray(coOverDays, factor); + //实际值不包含当前月 + actuals[DateUtil.getCurrentMonth() - 1] = null; + BigDecimal[] targets = new BigDecimal[12]; + //实际值和 + BigDecimal actualSum = AirDataConverseUtil.decimalSumValue(Arrays.stream(actuals).filter(e -> e != null).collect(Collectors.toList())); + //本年天数 * 0.95 标准超标天数 + BigDecimal standDays = new BigDecimal(DateUtil.getYearDays(year)).subtract(new BigDecimal(yearDays).multiply(BasTargetUtil.PERCENT_95).setScale(0, BigDecimal.ROUND_UP)); + //剩余天数 + BigDecimal surplus = standDays.subtract(actualSum); + //每天剩余 + BigDecimal monthSurplus = surplus.divide(new BigDecimal(BasTargetUtil.INT_MONTH_LENGTH - coOverDays.size()), 0, BigDecimal.ROUND_UP); + return distribution(actuals, targets, monthSurplus, year); + } + + @Override + public Map o3OverDayTarget(int year, String regionCode, String factor, BigDecimal target) { + List o38hOverDays = qEnvgasWqDayMapper.findYearO38hOverDays(year, regionCode, target); + //实际值 + BigDecimal[] actuals = monthListToArray(o38hOverDays, factor); + //实际值不包含当前月 + actuals[DateUtil.getCurrentMonth() - 1] = null; + BigDecimal[] targets = new BigDecimal[12]; + //年超标天数标准值 + BigDecimal overStand = BasTargetUtil.O38HSTAND; + //实际总和 + BigDecimal actualSum = AirDataConverseUtil.decimalSumValue(Arrays.stream(actuals).filter(e -> e != null).collect(Collectors.toList())); + //总余量 + BigDecimal surplus = overStand.subtract(actualSum == null ? BigDecimal.ZERO : actualSum); + //每月余量 + BigDecimal monthSurplus = surplus.divide(new BigDecimal(BasTargetUtil.INT_MONTH_LENGTH - o38hOverDays.size()), 0, BigDecimal.ROUND_UP); + return distribution(actuals, targets, monthSurplus, year); + } + + *//** + * 分配余量 + * + * @param actuals 实际值数组 + * @param targets 累计值数组 + * @param monthSurplus 月余量 + * @param year 年份 + * @return + *//* + public Map distribution(BigDecimal[] actuals, BigDecimal[] targets, BigDecimal monthSurplus, int year) { + int[] days = BasTargetUtil.yearMonthDays(year); + for (int i = 0; i < actuals.length; i++) { + if (actuals[i] == null) { + if (monthSurplus.compareTo(new BigDecimal(days[i])) == 1) { + //大于月份为本月天数 + targets[i] = new BigDecimal(days[i]); + } else { + targets[i] = monthSurplus; + } + } else { + targets[i] = actuals[i]; + } + } + Map map = new HashMap(); + map.put("targets", targets); + map.put("actuals", actuals); + return map; + } + + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = BussinessException.class) + @Override + public void saveYearTarget(int year, BigDecimal target, String regionCode, String factor) { + QEnvgasAreaTarget qEnvgasAreaTarget = new QEnvgasAreaTarget(); + qEnvgasAreaTarget.setRegionCode(regionCode); + //因子id + qEnvgasAreaTarget.setFkFactorId(pCodeIndexPollutantMapper.findIdByColumn(factor)); + AirParmaVo airParmaVo = new AirParmaVo(); + airParmaVo.setDatetime(year + ""); + airParmaVo.setRegionCode(regionCode); + List airQualityData = qEnvgasWqYearMapper.queryAreaYearDataNew(airParmaVo); + //实际值 + if (!CollectionUtils.isEmpty(airQualityData)) { + AirQualityData qualityData = airQualityData.get(0); + if (Objects.nonNull(qualityData)) { + qEnvgasAreaTarget.setActualValue(fieldCache.get(qualityData, factor) == null ? null : (BigDecimal) fieldCache.get(qualityData, factor)); + } + } + qEnvgasAreaTarget.setTimeType(3); + qEnvgasAreaTarget.setTime(year + ""); + qEnvgasAreaTarget.setTargetValue(target); + qEnvgasAreaTarget.setPkId(uuid()); + qEnvgasAreaTargetMapper.insert(qEnvgasAreaTarget); + } + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = BussinessException.class) + @Override + public void saveMonthTarget(int year, BigDecimal[] target, BigDecimal[] actual, String regionCode, String factor) { + List monthList = yearMonthList(year); + //绑定因子id + Integer fkPollutantId = pCodeIndexPollutantMapper.findIdByColumn(factor); + for (int i = 0; i < monthList.size(); i++) { + QEnvgasAreaTarget qEnvgasAreaTarget = new QEnvgasAreaTarget(); + qEnvgasAreaTarget.setPkId(uuid()); + qEnvgasAreaTarget.setTime(monthList.get(i)); + //时间类型 2:月份 + qEnvgasAreaTarget.setTimeType(2); + qEnvgasAreaTarget.setTargetValue(target[i]); + qEnvgasAreaTarget.setActualValue(actual[i]); + qEnvgasAreaTarget.setFkFactorId(fkPollutantId); + qEnvgasAreaTarget.setRegionCode(regionCode); + qEnvgasAreaTargetMapper.insert(qEnvgasAreaTarget); + } + } + + @Override + public void saveAutumnWinterTarget(int year, BigDecimal target, int type, String regionCode, String factor) { + QEnvgasAreaTarget qEnvgasAreaTarget = new QEnvgasAreaTarget(); + qEnvgasAreaTarget.setPkId(uuid()); + qEnvgasAreaTarget.setRegionCode(regionCode); + qEnvgasAreaTarget.setFkFactorId(pCodeIndexPollutantMapper.findIdByColumn(factor)); + qEnvgasAreaTarget.setTargetValue(target); + qEnvgasAreaTarget.setTime(year + ""); + qEnvgasAreaTarget.setTimeType(type); + qEnvgasAreaTarget.setCreateTime(now()); + qEnvgasAreaTargetMapper.insert(qEnvgasAreaTarget); + } + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + @Override + public boolean saveAllTarget(BasTargetDto basTargetDto) { + //删除历史目标 + qEnvgasAreaTargetMapper.deleteByRegionCode(basTargetDto.getUserRegionCode()); + //获取年份 + int year = getYear(new Date()); + Map targetMap; + //计算PM2.5 并保存 + if (basTargetDto.getPm25Target() != null) { + targetMap = fourFactorTargets(basTargetDto.getUserRegionCode(), BasTargetUtil.PM25, basTargetDto.getPm25Target()); + saveYearTarget(year, basTargetDto.getPm25Target(), basTargetDto.getUserRegionCode(), BasTargetUtil.PM25); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.PM25); + //保存秋防目标 + saveAutumnWinterTarget(year, autumnWinterAvg(targetMap.get("targets")), BasTargetUtil.AUTUMN_TARGET, basTargetDto.getUserRegionCode(), BasTargetUtil.PM25); + } + //计算PM10 并保存 + if (basTargetDto.getPm10Target() != null) { + targetMap = fourFactorTargets(basTargetDto.getUserRegionCode(), BasTargetUtil.PM10, basTargetDto.getPm10Target()); + saveYearTarget(year, basTargetDto.getPm10Target(), basTargetDto.getUserRegionCode(), BasTargetUtil.PM10); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.PM10); + //保存秋防目标 + saveAutumnWinterTarget(year, autumnWinterAvg(targetMap.get("targets")), BasTargetUtil.AUTUMN_TARGET, basTargetDto.getUserRegionCode(), BasTargetUtil.PM10); + } + //计算SO2 并保存 + if (basTargetDto.getSo2Target() != null) { + targetMap = fourFactorTargets(basTargetDto.getUserRegionCode(), BasTargetUtil.SO2, basTargetDto.getSo2Target()); + saveYearTarget(year, basTargetDto.getSo2Target(), basTargetDto.getUserRegionCode(), BasTargetUtil.SO2); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.SO2); + } + //计算NO2 并保存 + if (basTargetDto.getNo2Target() != null) { + targetMap = fourFactorTargets(basTargetDto.getUserRegionCode(), BasTargetUtil.NO2, basTargetDto.getNo2Target()); + saveYearTarget(year, basTargetDto.getNo2Target(), basTargetDto.getUserRegionCode(), BasTargetUtil.NO2); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.NO2); + } + //CO + if (basTargetDto.getCoTarget() != null) { + targetMap = twoFactorTargets(year, basTargetDto.getUserRegionCode(), BasTargetUtil.CO, basTargetDto.getCoTarget()); + saveYearTarget(year, basTargetDto.getCoTarget(), basTargetDto.getUserRegionCode(), BasTargetUtil.CO); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.CO); + } + //o38h + if (basTargetDto.getO38hTarget() != null) { + targetMap = twoFactorTargets(year, basTargetDto.getUserRegionCode(), BasTargetUtil.O38H, basTargetDto.getO38hTarget()); + saveYearTarget(year, basTargetDto.getO38hTarget(), basTargetDto.getUserRegionCode(), BasTargetUtil.O38H); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.O38H); + } + //优良天 + if (basTargetDto.getGoodDaysTarget() != null) { + targetMap = goodDaysTargets(year, basTargetDto.getUserRegionCode(), BasTargetUtil.GOODDYAS, basTargetDto.getGoodDaysTarget()); + saveYearTarget(year, basTargetDto.getGoodDaysTarget(), basTargetDto.getUserRegionCode(), BasTargetUtil.GOODDYAS); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.GOODDYAS); + //保存秋防目标 + saveAutumnWinterTarget(year, autumnWinterSum(targetMap.get("targets")), BasTargetUtil.AUTUMN_TARGET, basTargetDto.getUserRegionCode(), BasTargetUtil.GOODDYAS); + } + //重污染天 + if (basTargetDto.getHeavyDaysTarget() != null) { + targetMap = heavyDaysTargets(year, basTargetDto.getUserRegionCode(), BasTargetUtil.HEAVYDAYS); + saveYearTarget(year, BigDecimal.ZERO, basTargetDto.getUserRegionCode(), BasTargetUtil.HEAVYDAYS); + saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), basTargetDto.getUserRegionCode(), BasTargetUtil.HEAVYDAYS); + //保存秋防目标 + saveAutumnWinterTarget(year, autumnWinterSum(targetMap.get("targets")), BasTargetUtil.AUTUMN_TARGET, basTargetDto.getUserRegionCode(), BasTargetUtil.HEAVYDAYS); + } + ////o38h超标天数 + //if (basTargetDto.getO38hTarget() != null) { + // targetMap = o3OverDayTarget(year, userRegionCode, BasTargetUtil.O38HOVERDAYS, basTargetDto.getO38hTarget()); + // //今年实际超标值 + // BigDecimal sumValue = AirDataConverseUtil.decimalSumValue(Arrays.stream(targetMap.get("actuals")).filter(e -> e != null).collect(Collectors.toList())); + // saveYearTarget(year, basTargetDto.getO38hTarget(), userRegionCode, BasTargetUtil.O38HOVERDAYS); + // saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), userRegionCode, BasTargetUtil.O38HOVERDAYS); + //} + ////计算co 超标天 + //targetMap = coOverDayTarget(year, userRegionCode, BasTargetUtil.COOVERDAYS, basTargetDto.getCoTarget()); + //saveYearTarget(year, basTargetDto.getCoTarget(), userRegionCode, BasTargetUtil.COOVERDAYS); + //saveMonthTarget(year, targetMap.get("targets"), targetMap.get("actuals"), userRegionCode, BasTargetUtil.COOVERDAYS); + return true; + } + + @Override + public BasYearTargetVo findYearTarget(String regionCode) { + int year = getYear(new Date()); + //查询年度目标集合 + List> targets = qEnvgasAreaTargetMapper.findTargets(regionCode, BasTargetUtil.YEAR_TARGET, year + ""); + BasYearTargetVo yearTargetVo = new BasYearTargetVo(); + //列转行 + targets.forEach(target -> { + String field; + BigDecimal value; + if (target.get("field").equals(BasTargetUtil.CO)) { + field = (String) target.get("field") + "Target"; + value = target.get("target") == null ? null : ((BigDecimal) target.get("target")).setScale(1, BigDecimal.ROUND_UP); + fieldCache.set(yearTargetVo, field, value); + } else { + field = (String) target.get("field") + "Target"; + value = target.get("target") == null ? null : ((BigDecimal) target.get("target")).setScale(0, BigDecimal.ROUND_UP); + fieldCache.set(yearTargetVo, field, value); + } + }); + return yearTargetVo; + } + + + @Override + public Map findMonthTarget(String regionCode) { + Map map = new HashMap(); + int year = getYear(new Date()); + //查询月度目标 + List> monthTarget = qEnvgasAreaTargetMapper.findMonthTarget(regionCode, BasTargetUtil.MONTH_TARGET, year); + //查询达标计算相关污染物 + List pollutant = pCodeIndexPollutantMapper.findTargetPollutant(); + pollutant.forEach(e -> { + //因子属性名 + String field = e.getField(); + List> factorTarget = monthTarget.stream().filter(n -> n.get("field").equals(field)).collect(Collectors.toList()); + String[] target = new String[13]; + target[0] = "目标值"; + String[] actual = new String[13]; + actual[0] = "实际值"; + List factorTargetList = new ArrayList<>(); + factorTarget.forEach(factor -> { + int month = Integer.parseInt((String) factor.get("month")); + if (field.equals(BasTargetUtil.CO)) { + target[month] = factor.get("target") == null ? "--" : ((BigDecimal) factor.get("target")).setScale(1, BigDecimal.ROUND_UP) + ""; + actual[month] = factor.get("actual") == null ? "--" : ((BigDecimal) factor.get("actual")).setScale(1, BigDecimal.ROUND_UP) + ""; + } else { + target[month] = factor.get("target") == null ? "--" : ((BigDecimal) factor.get("target")).intValue() + ""; + actual[month] = factor.get("actual") == null ? "--" : ((BigDecimal) factor.get("actual")).intValue() + ""; + } + }); + factorTargetList.add(tableColumn(target)); + factorTargetList.add(tableColumn(actual)); + map.put(field, factorTargetList); + }); + return map; + } + + @Override + public List> findAutumnWinterTarget(String regionCode) { + int year = getYear(new Date()); + List winterPollutant = pCodeIndexPollutantMapper.findWinterPollutant(); + Map autumnMap = initMap(); + autumnMap.put("title", "10月-12月"); + Map winterMap = initMap(); + winterMap.put("title", "次年1月-次年3月"); + Map totalMap = initMap(); + totalMap.put("title", "总目标"); + + //秋防 + List> autumn = qEnvgasAreaTargetMapper.findAutumTarget(regionCode, year, BasTargetUtil.AUTUMN_TARGET); + autumnMap = groupByType(autumn, autumnMap); + //冬防 + List> winter = qEnvgasAreaTargetMapper.findAutumTarget(regionCode, year, BasTargetUtil.WINTER_TARGET); + winterMap = groupByType(winter, winterMap); + //总计 + List> total = qEnvgasAreaTargetMapper.findAutumTarget(regionCode, year, BasTargetUtil.SUM_TARGET); + totalMap = groupByType(total, totalMap); + List> table = new ArrayList<>(); + table.add(autumnMap); + table.add(winterMap); + table.add(totalMap); + return table; + } + + *//** + * 根据 秋防、冬防、秋冬防总计分组 + * + * @param dataMap 数据集合 + * @param map 初始化对象 + * @return + *//* + Map groupByType(List> dataMap, Map map) { + if (!CollectionUtils.isEmpty(dataMap)) { + dataMap.forEach(e -> { + if (e.get("field").equals(BasTargetUtil.PM25)) { + map.put(BasTargetUtil.PM25 + "Target", e.get("target")); + map.put(BasTargetUtil.PM25 + "Input", true); + } + if (e.get("field").equals(BasTargetUtil.PM10)) { + map.put(BasTargetUtil.PM10 + "Target", e.get("target")); + map.put(BasTargetUtil.PM10 + "Input", true); + } + if (e.get("field").equals(BasTargetUtil.GOODDYAS)) { + map.put(BasTargetUtil.GOODDYAS + "Target", e.get("target")); + map.put(BasTargetUtil.GOODDYAS + "Input", true); + } + if (e.get("field").equals(BasTargetUtil.HEAVYDAYS)) { + map.put(BasTargetUtil.HEAVYDAYS + "Target", e.get("target")); + map.put(BasTargetUtil.HEAVYDAYS + "Input", true); + } + }); + } + return map; + } + + + *//** + * 初始化秋冬防表格map + * + * @return + *//* + Map initMap() { + Map map = new HashMap(); + map.put("title", null); + map.put("pm25Target", null); + map.put("pm10Target", null); + map.put("goodDaysTarget", null); + map.put("heavyDaysTarget", null); + map.put("pm25Input", false); + map.put("pm10Input", false); + map.put("goodDaysInput", false); + map.put("heavyDaysInput", false); + return map; + } + + *//** + * 生成表格对象 + * + * @param arr + * @return + *//* + Map tableColumn(String[] arr) { + Map map = new HashMap(); + for (int i = 0; i < arr.length; i++) { + map.put("column" + i + 1, arr[i]); + } + return map; + } + + + @Override + public Map regionTarget(String regionCode) { + Map map = new HashMap(); + //年目标值 + map.put("year", findYearTarget(regionCode)); + map.put("month", findMonthTarget(regionCode)); + return map; + } + + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + @Override + public void calcWinterTarget(String regionCode, BasTargetDto basTargetDto) { + int year = getYear(new Date()); + BigDecimal winterTarget = null; + String[] autumnArr = {year + "-10", year + "-11", year + "-12"}; + if (basTargetDto.getPm25Target() != null) { + //删除历史数据 + qEnvgasAreaTargetMapper.deleteAutumnByRegionCode(regionCode, pCodeIndexPollutantMapper.findIdByColumn(BasTargetUtil.PM25)); + Map autumnTarget = qEnvgasAreaTargetMapper.findAutumnWinterTarget(regionCode, autumnArr, BasTargetUtil.MONTH_TARGET, BasTargetUtil.PM25); + winterTarget = winterSubtraction(autumnTarget, BasTargetUtil.PM25, basTargetDto.getPm25Target()); + saveAutumnWinterTarget(year, winterTarget, BasTargetUtil.WINTER_TARGET, regionCode, BasTargetUtil.PM25); + saveAutumnWinterTarget(year, basTargetDto.getPm25Target(), BasTargetUtil.SUM_TARGET, regionCode, BasTargetUtil.PM25); + } + if (basTargetDto.getPm10Target() != null) { + //删除历史数据 + qEnvgasAreaTargetMapper.deleteAutumnByRegionCode(regionCode, pCodeIndexPollutantMapper.findIdByColumn(BasTargetUtil.PM10)); + Map autumnTarget = qEnvgasAreaTargetMapper.findAutumnWinterTarget(regionCode, autumnArr, BasTargetUtil.MONTH_TARGET, BasTargetUtil.PM10); + winterTarget = winterSubtraction(autumnTarget, BasTargetUtil.PM10, basTargetDto.getPm10Target()); + saveAutumnWinterTarget(year, winterTarget, BasTargetUtil.WINTER_TARGET, regionCode, BasTargetUtil.PM10); + saveAutumnWinterTarget(year, basTargetDto.getPm10Target(), BasTargetUtil.SUM_TARGET, regionCode, BasTargetUtil.PM10); + } + if (basTargetDto.getGoodDaysTarget() != null) { + //删除历史数据 + qEnvgasAreaTargetMapper.deleteAutumnByRegionCode(regionCode, pCodeIndexPollutantMapper.findIdByColumn(BasTargetUtil.GOODDYAS)); + Map autumnTarget = qEnvgasAreaTargetMapper.findAutumnWinterTarget(regionCode, autumnArr, BasTargetUtil.MONTH_TARGET, BasTargetUtil.GOODDYAS); + winterTarget = winterSubtraction(autumnTarget, BasTargetUtil.GOODDYAS, basTargetDto.getGoodDaysTarget()); + saveAutumnWinterTarget(year, winterTarget, BasTargetUtil.WINTER_TARGET, regionCode, BasTargetUtil.GOODDYAS); + saveAutumnWinterTarget(year, basTargetDto.getGoodDaysTarget(), BasTargetUtil.SUM_TARGET, regionCode, BasTargetUtil.GOODDYAS); + } + if (basTargetDto.getHeavyDaysTarget() != null) { + //删除历史数据 + qEnvgasAreaTargetMapper.deleteAutumnByRegionCode(regionCode, pCodeIndexPollutantMapper.findIdByColumn(BasTargetUtil.HEAVYDAYS)); + Map autumnTarget = qEnvgasAreaTargetMapper.findAutumnWinterTarget(regionCode, autumnArr, BasTargetUtil.MONTH_TARGET, BasTargetUtil.HEAVYDAYS); + winterTarget = winterSubtraction(autumnTarget, BasTargetUtil.HEAVYDAYS, basTargetDto.getHeavyDaysTarget()); + saveAutumnWinterTarget(year, winterTarget, BasTargetUtil.WINTER_TARGET, regionCode, BasTargetUtil.HEAVYDAYS); + saveAutumnWinterTarget(year, basTargetDto.getHeavyDaysTarget(), BasTargetUtil.SUM_TARGET, regionCode, BasTargetUtil.HEAVYDAYS); + } + } + + *//** + * 次年1月到3月为,秋冬防总目标乘以六减去10、11、12月份的月度目标总和除以三 + *//* + BigDecimal winterSubtraction(Map map, String factor, BigDecimal target) { + BigDecimal value = null; + String factorName = pCodeIndexPollutantMapper.findNameByColumn(factor); + if (map != null) { + BigDecimal autumn = map.get("target") == null ? BigDecimal.ZERO : (BigDecimal) map.get("target"); + BigDecimal subtract = target.multiply(BasTargetUtil.HALF_YEAR).subtract(autumn); + if (factor.equals(BasTargetUtil.GOODDYAS) || factor.equals(BasTargetUtil.HEAVYDAYS)) { + //优良天重污染都是总天数 直接减掉 + value = target.subtract(autumn); + //优良天或重污染天为负数时判断为0 + value = value.compareTo(BigDecimal.ZERO) == 1 ? value : BigDecimal.ZERO; + } else { + value = subtract.divide(new BigDecimal(3), 0, BigDecimal.ROUND_HALF_EVEN); + } + } else { + throw new BussinessException("请先设置" + factorName + "的年月目标"); + } + return value; + } + + + *//** + * 可达性分析 用 + * + * @return + *//* + @Override + public List findReachabilityAnalysis(ReachabilityDto reachabilityDto) { + List list = new ArrayList<>(); + //获取时间参数 + getMonitorDate(reachabilityDto); + + PCodeRegion pCodeRegion = pCodeRegionMapper. + selectOne(new QueryWrapper(). + eq("region_code", reachabilityDto.getUserRegionCode()). + eq("cast(delete_flag as varchar)", "0")); + //2 本月累计 3 本年累计 5冬防阶段目标 6 秋冬防总目标 + Integer timeType = reachabilityDto.getTimeType(); + Map map = new HashMap<>(); + if ("2".equals(timeType.toString())) { + //今天数据 + map = qEnvgasWqMonthMapper.findStandardMonitoringLastMonth(reachabilityDto.getUserRegionCode(), "1"); + getCarryData(map); + } else if ("3".equals(timeType.toString())) { + //今天数据 + map = qEnvgasWqYearMapper.findStandardMonitoringLastYear(reachabilityDto.getUserRegionCode(), "1"); + getCarryData(map); + } else if ("5".equals(timeType.toString())) { + //今天数据 + map = qEnvgasWqYearMapper.findAutumnWinter(reachabilityDto); + getCarryData(map); + } else if ("6".equals(timeType.toString())) { + //今天数据 + map = qEnvgasWqYearMapper.findAutumnWinter(reachabilityDto); + getCarryData(map); + } + + //因子多选 + List factorCodeList = setFactorCodeData(reachabilityDto); + for (int i = 0; i < factorCodeList.size(); i++) { + String factorCodeId = factorCodeList.get(i); + reachabilityDto.setFactorCodeInt(Integer.parseInt(factorCodeId)); + QEnvgasAreaTargetVo data = qEnvgasWqYearMapper.findReachabilityAnalysis(reachabilityDto); + if (Objects.nonNull(data)) { + data.setRegionName(pCodeRegion.getRegionName()); + data.setRegionCode(pCodeRegion.getRegionCode()); + //5代表co 保留一位小数 + if ("5".equals(factorCodeId)) { + data.setActualValue(Objects.nonNull(data.getActualValue()) ? data.getActualValue().setScale(1, BigDecimal.ROUND_UP) : null); + data.setTargetValue(Objects.nonNull(data.getTargetValue()) ? data.getTargetValue().setScale(1, BigDecimal.ROUND_UP) : null); + } else { + data.setActualValue(Objects.nonNull(data.getActualValue()) ? data.getActualValue().setScale(0, BigDecimal.ROUND_UP) : null); + data.setTargetValue(Objects.nonNull(data.getTargetValue()) ? data.getTargetValue().setScale(0, BigDecimal.ROUND_UP) : null); + } + reachabilityDto.setField(data.getField()); + //去年剩余天数的监测值总和 + BigDecimal count = qEnvgasWqYearMapper.findPeriodLastYear(reachabilityDto); + //2 本月累计 3 本年累计 5冬防阶段目标 6 秋冬防总目标 + if ("2".equals(timeType)) { + if (Objects.nonNull(map) && Objects.nonNull(map.get(data.getField()))) { + data.setActualValue(new BigDecimal(map.get(data.getField()).toString())); + } + + BigDecimal threshold = thresholdToData(data.getTargetValue(), data.getActualValue(), "2"); + BigDecimal period = periodLastYear(count, "2"); + setQualityData(threshold, period, reachabilityDto.getFactorCode(), data); + } else if ("3".equals(timeType)) { + if (Objects.nonNull(map) && Objects.nonNull(map.get(data.getField()))) { + data.setActualValue(new BigDecimal(map.get(data.getField()).toString())); + } + + BigDecimal threshold = thresholdToData(data.getTargetValue(), data.getActualValue(), "1"); + BigDecimal period = periodLastYear(count, "1"); + setQualityData(threshold, period, reachabilityDto.getFactorCode(), data); + } else if ("5".equals(timeType)) { + BigDecimal threshold = thresholdToData(data.getTargetValue(), data.getActualValue(), "3"); + BigDecimal period = periodLastYear(count, "3"); + setQualityData(threshold, period, reachabilityDto.getFactorCode(), data); + } else if ("6".equals(timeType)) { +// BigDecimal accumulative = qEnvgasWqYearMapper.findPrevention(reachabilityDto); +// if (Objects.nonNull(reachabilityDto)) { +// data.setActualValue(accumulative); +// } + if (Objects.nonNull(map) && Objects.nonNull(map.get(data.getField()))) { + data.setActualValue(new BigDecimal(map.get(data.getField()).toString())); + } + + BigDecimal threshold = thresholdToData(data.getTargetValue(), data.getActualValue(), "5"); + BigDecimal period = periodLastYear(count, "5"); + setQualityData(threshold, period, reachabilityDto.getFactorCode(), data); + } + list.add(data); + } + } + return list; + } + + *//*** + * 达标监控 + * @param userRegionCode 用户区域code + * @param type 1日 2 本月累计 3 本年累计 + * @return + *//* + @Override + public List findStandardMonitoring(String userRegionCode, String type) { + if (Objects.isNull(type)) { + throw new BussinessException("类型不能为空"); + } + List list = new ArrayList<>(); + String time = "3".equals(type) ? DateUtil.format(new Date(), DateUtil.YYYY) : DateUtil.format(new Date(), DateUtil.DATE_PATTERN_MONTH); + List targetDay = qEnvgasWqDayMapper.findStandardTargetDay(userRegionCode, time, type); + if ("1".equals(type)) { +// Map monitoringThisDay = qEnvgasWqDayMapper.findStandardMonitoringDay(userRegionCode); //数据库中当日数据未有值 +// Map monitoringLastDay = qEnvgasWqDayMapper.findStandardMonitoringLastDay(userRegionCode); //日数据数据 + + AirQualityData airQualityData = reportManageService.cumulativeAirData(userRegionCode); //计算24小时数据 + AirQualityData airQualityLastData = reportManageService.cumulativeAirLastData(userRegionCode); //去年24小时数据 + Map monitoringThisDay = BeanUtil.beanToMap(airQualityData); + Map monitoringLastDay = BeanUtil.beanToMap(airQualityLastData); + getMonitoringData(monitoringThisDay); + getMonitoringData(monitoringLastDay); + + Map aqiMap = new HashMap<>(); + getTargetStandard(monitoringLastDay, targetDay, list, type, monitoringThisDay, aqiMap); + //aqi计算数据 + getAqiTarget(monitoringThisDay, monitoringLastDay, aqiMap, list); + } else if ("2".equals(type)) { + //今天数据 + Map monitoringDay = qEnvgasWqMonthMapper.findStandardMonitoringLastMonth(userRegionCode, "1"); + List monitoringCoDay = qEnvgasWqMonthMapper.findStandardDivisorMonth(userRegionCode, "1"); + getDivisorData(monitoringCoDay, monitoringDay); + + //去年 + Map monitoringLastDay = qEnvgasWqMonthMapper.findStandardMonitoringLastMonth(userRegionCode, "2"); + List monitoringLastCoDay = qEnvgasWqMonthMapper.findStandardDivisorMonth(userRegionCode, "2"); + getDivisorData(monitoringLastCoDay, monitoringLastDay); + + getCarryData(monitoringDay); + getCarryData(monitoringLastDay); + //绑定今年数据 + getBindingActualValue(monitoringDay, targetDay); + //遍历六因子 + getTargetStandard(monitoringLastDay, targetDay, list, type, null, null); + } else if ("3".equals(type)) { + //今天数据 + Map monitoringDay = qEnvgasWqYearMapper.findStandardMonitoringLastYear(userRegionCode, "1"); + List monitoringDivisorDay = qEnvgasWqYearMapper.findStandardDivisorLastYear(userRegionCode, "1"); + getDivisorData(monitoringDivisorDay, monitoringDay); + //去年数据 + Map monitoringLastDay = qEnvgasWqYearMapper.findStandardMonitoringLastYear(userRegionCode, "2"); + List monitoringDivisorLastDay = qEnvgasWqYearMapper.findStandardDivisorLastYear(userRegionCode, "2"); + getDivisorData(monitoringDivisorLastDay, monitoringLastDay); + + getCarryData(monitoringDay); + getCarryData(monitoringLastDay); + //绑定今年数据 + getBindingActualValue(monitoringDay, targetDay); + //遍历六因子 + getTargetStandard(monitoringLastDay, targetDay, list, type, null, null); + } + return list; + } + + *//** + * 封装数据 + * + * @param monitoringCoDay + * @param monitoringDay + *//* + private void getDivisorData(List monitoringCoDay, Map monitoringDay) { + if (!CollectionUtils.isEmpty(monitoringCoDay) && Objects.nonNull(monitoringDay)) { + List ccollectCo = monitoringCoDay.stream().filter(e -> e != null && Objects.nonNull(e.get("co"))).map(m -> new BigDecimal(m.get("co").toString())).collect(Collectors.toList()); + List collectO38H = monitoringCoDay.stream().filter(m -> m != null && Objects.nonNull(m.get("o38h"))).map(m -> new BigDecimal(m.get("o38h").toString())).collect(Collectors.toList()); + monitoringDay.put("co", BasTargetUtil.percentile(ccollectCo.toArray(new BigDecimal[ccollectCo.size()]), new BigDecimal(0.95))); + monitoringDay.put("o38h", BasTargetUtil.percentile(collectO38H.toArray(new BigDecimal[collectO38H.size()]), new BigDecimal(0.9))); + } else { + if (Objects.nonNull(monitoringDay)) { + monitoringDay.put("co", null); + monitoringDay.put("o38h", null); + } + } + } + + *//** + * 数据设计累计值 + * + * @param monitoringDay + * @param list + *//* + private void getBindingActualValue(Map monitoringDay, List list) { + if (!CollectionUtils.isEmpty(list)) { + for (QEnvgasAreaTargetVo qEnvgasAreaTargetVo : list) { + String field = qEnvgasAreaTargetVo.getField(); + if (Objects.nonNull(monitoringDay) && Objects.nonNull(monitoringDay.get(field))) { + qEnvgasAreaTargetVo.setActualValue(new BigDecimal(monitoringDay.get(field).toString())); + } + } + } + } + + *//** + * 进行四舍六入五成双 + * + * @param map + *//* + private void getCarryData(Map map) { + if (Objects.nonNull(map)) { + map.put("aqi", StringTools.sciCal(map.get("aqi"), 0)); + map.put("pm25", StringTools.sciCal(map.get("pm25"), 0)); + map.put("pm10", StringTools.sciCal(map.get("pm10"), 0)); + map.put("so2", StringTools.sciCal(map.get("so2"), 0)); + map.put("no2", StringTools.sciCal(map.get("no2"), 0)); + map.put("co", StringTools.sciCal(map.get("co"), 1)); + map.put("o3_8h", StringTools.sciCal(map.get("o3_8h"), 0)); + map.put("o3", StringTools.sciCal(map.get("o3"), 0)); + map.put("o38h", StringTools.sciCal(map.get("o38h"), 0)); + } + } + + *//** + * 小时o3 + * + * @param monitoringThisDay + *//* + private void getMonitoringData(Map monitoringThisDay) { + if (Objects.nonNull(monitoringThisDay) && Objects.nonNull(monitoringThisDay.get("o3"))) { + monitoringThisDay.put("o38h", monitoringThisDay.get("o3")); + } + } + + + *//** + * 封装遍历数据 + * + * @param type 1日 2 本月累计 3 本年累计 + *//* + private void getTargetStandard(Map monitoringLastDay, List targetDay, List list, String type, Map monitoringThisDay, Map aqiMap) { + if ("1".equals(type)) { + //遍历六因子 + for (QEnvgasAreaTargetVo targetVo : targetDay) { + aqiMap.put(targetVo.getField(), targetVo.getTargetValue()); + getFieldData(monitoringLastDay, list, monitoringThisDay, targetVo, targetVo.getField()); + } + } else { + //遍历八参数 + for (QEnvgasAreaTargetVo targetVo : targetDay) { + //判断co 和 o38h 超标天数 + getOverProofDay(monitoringLastDay, targetVo, type); + //污染天处理年 + getPollutionDay(targetVo, type); + getFieldData(monitoringLastDay, list, monitoringThisDay, targetVo, targetVo.getField()); + } + } + } + + *//** + * 封装年 优良天数和重污染天数 + * 优良天数 goodDays + * 重污染天数 heavyDays + * + * @param targetVo + * @param type 1日 2 本月累计 3 本年累计 + *//* + private void getPollutionDay(QEnvgasAreaTargetVo targetVo, String type) { + if ("3".equals(type)) { + String field = targetVo.getField(); + if ("goodDays".equals(field)) { + BigDecimal data = qEnvgasWqDayMapper.getPollutionDay(targetVo.getRegionCode(), "1"); + if (data.compareTo(BigDecimal.ZERO) == 0) { + data = null; + } + targetVo.setActualValue(Objects.nonNull(data) ? data : null); + } else if ("heavyDays".equals(field)) { + BigDecimal data = qEnvgasWqDayMapper.getPollutionDay(targetVo.getRegionCode(), "2"); + if (data.compareTo(BigDecimal.ZERO) == 0) { + data = null; + } + targetVo.setActualValue(Objects.nonNull(data) ? data : null); + } + } + } + + *//** + * + *//* + private void getOverProofDay(Map monitoringLastDay, QEnvgasAreaTargetVo targetVo, String type) { + String field = targetVo.getField(); + BigDecimal targetValue = targetVo.getTargetValue(); + BigDecimal lastData = Objects.nonNull(monitoringLastDay) ? Objects.nonNull(monitoringLastDay.get(field)) ? new BigDecimal(monitoringLastDay.get(field).toString()) : null : null; + //判断本年超标天数 + if ("3".equals(type)) { + if ("co".equals(field)) { + if (Objects.nonNull(targetValue)) { + BigDecimal decimal = qEnvgasWqDayMapper.selectByExceedDay(targetValue, targetVo.getRegionCode(), "co"); + targetVo.setExceedanceDays(decimal); + targetVo.setControlDay(BasTargetUtil.thresholdToExceed(decimal, BasTargetUtil.CO, "1")); + } else { + if (Objects.nonNull(lastData)) { + BigDecimal decimal = qEnvgasWqDayMapper.selectByExceedDay(lastData, targetVo.getRegionCode(), "co"); + targetVo.setExceedanceDays(decimal); + } + targetVo.setControlDay(BasTargetUtil.thresholdToExceed(targetVo.getExceedanceDays(), BasTargetUtil.CO, "1")); + } + } else if ("o38h".equals(field)) { + if (Objects.nonNull(targetValue)) { + BigDecimal decimal = qEnvgasWqDayMapper.selectByExceedDay(targetValue, targetVo.getRegionCode(), "o3_8h"); + targetVo.setExceedanceDays(decimal); + } + targetVo.setControlDay(BasTargetUtil.thresholdToExceed(targetVo.getExceedanceDays(), BasTargetUtil.O38H, "1")); + } + } + } + + + *//** + * 遍历封装查询 + *//* + private void getFieldData(Map monitoringLastDay, List list, Map monitoringThisDay, QEnvgasAreaTargetVo targetVo, String field) { + //用于判断1日 2 本月累计 3 本年累计 + BigDecimal thisData = null; + if (Objects.nonNull(monitoringThisDay)) { + thisData = Objects.nonNull(monitoringThisDay) ? Objects.nonNull(monitoringThisDay.get(field)) ? new BigDecimal(monitoringThisDay.get(field).toString()) : null : null; + } else { + thisData = targetVo.getActualValue(); + } + BigDecimal lastData = Objects.nonNull(monitoringLastDay) ? Objects.nonNull(monitoringLastDay.get(field)) ? new BigDecimal(monitoringLastDay.get(field).toString()) : null : null; + BigDecimal targetValue = targetVo.getTargetValue(); + //达标差距 + if (!"co".equals(field)) { + BigDecimal standardData = BasTargetUtil.getStandardData(thisData, targetValue); + if (Objects.nonNull(standardData)) { + targetVo.setStandard(standardData.setScale(0, BigDecimal.ROUND_HALF_EVEN)); + } + } else { + targetVo.setStandard(BasTargetUtil.getStandardData(thisData, targetValue)); + } + + //同比改善率 + BigDecimal multiply = BasTargetUtil.comparedImprovement(thisData, lastData); + multiply = Objects.nonNull(multiply) ? new BigDecimal(StringTools.sciCal(multiply, 1)) : null; + targetVo.setImprovement(Objects.nonNull(multiply) ? multiply + "%" : null); + //同比改善率 升降 1上升 2下降 + targetVo.setLifting(getLiftingData(multiply)); + if ("co".equals(field)) { + targetVo.setActualValue(Objects.nonNull(thisData) ? thisData.setScale(1, BigDecimal.ROUND_UP) : null); + targetVo.setTargetValue(Objects.nonNull(targetValue) ? targetValue.setScale(1, BigDecimal.ROUND_UP) : null); + } else { + targetVo.setActualValue(Objects.nonNull(thisData) ? thisData.setScale(0, BigDecimal.ROUND_UP) : null); + targetVo.setTargetValue(Objects.nonNull(targetValue) ? targetValue.setScale(0, BigDecimal.ROUND_UP) : null); + } + list.add(targetVo); + } + + + *//** + * 封装aqi储存数据 + *//* + private void getAqiTarget(Map monitoringThisDay, Map monitoringLastDay, Map aqiMap, List list) { + //日数据 处理 aqi + QEnvgasAreaTargetVo aqiTargetVo = new QEnvgasAreaTargetVo(); + aqiTargetVo.setPollutantName("AQI"); + aqiTargetVo.setFkFactorId(StandardPollutantEnum.AQI.getPkId()); + BigDecimal target = null; + //判断六参不为空 + if (Objects.nonNull(aqiMap.get("pm25")) && Objects.nonNull(aqiMap.get("pm10")) && Objects.nonNull(aqiMap.get("so2")) && Objects.nonNull(aqiMap.get("no2")) && Objects.nonNull(aqiMap.get("co")) && Objects.nonNull(aqiMap.get("o38h"))) { + target = new BigDecimal(AirQualityConverter.concAqiBySixParamByCustomTime(aqiMap.get("pm25"), aqiMap.get("pm10"), aqiMap.get("so2"), aqiMap.get("no2"), aqiMap.get("co"), aqiMap.get("o38h"))); + } + //目标值 + aqiTargetVo.setTargetValue(target); + getFieldData(monitoringLastDay, list, monitoringThisDay, aqiTargetVo, "aqi"); + } + + + *//** + * 判断是否上升还是下降 同比改善率 升降 0不上升不下降 1上升 2下降 + * + * @param multiply + * @return + *//* + private String getLiftingData(BigDecimal multiply) { + if (Objects.nonNull(multiply)) { + if (multiply.compareTo(BigDecimal.ZERO) == 1) { + return "1"; + } else if (multiply.compareTo(BigDecimal.ZERO) == 0) { + return "0"; + } else { + return "2"; + } + } + return null; + } + + + private List setFactorCodeData(ReachabilityDto reachabilityDto) { + //因子多选 + String factorCode = reachabilityDto.getFactorCode(); + List factorCodeList = new ArrayList<>(); + if (StringUtils.isNotBlank(factorCode)) { + if (factorCode.contains(",")) { + factorCodeList.addAll(Arrays.asList(factorCode.split(","))); + } else { + factorCodeList.add(factorCode); + } + } else { + throw new BussinessException("因子不能为空"); + } + return factorCodeList; + } + + + *//** + * 封装重复利用 + * + * @param threshold + * @param period + * @param factorCode + * @param data + *//* + private void setQualityData(BigDecimal threshold, BigDecimal period, String factorCode, QEnvgasAreaTargetVo data) { + BigDecimal change = BasTargetUtil.comparedChange(data.getActualValue(), period); + change = Objects.nonNull(change) ? new BigDecimal(StringTools.sciCal(change, 1)) : null; + String gradient = BasTargetUtil.comparedGradient(getFactorCodeData(factorCode), change); + data.setThreshold(threshold); + data.setContemporary(period); + data.setBasisChange(Objects.nonNull(change) ? change + "%" : null); + data.setCalculation(gradient); + } + + *//** + * 获取因子类型字段 + *//* + private String getFactorCodeData(String factorCode) { + switch (factorCode) { + case "1": + factorCode = BasTargetUtil.PM25; + break; + case "2": + factorCode = BasTargetUtil.PM10; + break; + case "3": + factorCode = BasTargetUtil.SO2; + break; + case "4": + factorCode = BasTargetUtil.NO2; + break; + case "5": + factorCode = BasTargetUtil.CO; + break; + case "6": + factorCode = BasTargetUtil.O38H; + break; + } + return factorCode; + } + + *//** + * 获取时间赋值 + * + * @param reachabilityDto + *//* + private void getMonitorDate(ReachabilityDto reachabilityDto) { + Date date = new Date(); + Integer timeTypeInt = reachabilityDto.getTimeType(); + if (Objects.isNull(timeTypeInt) || Objects.isNull(reachabilityDto.getFactorCode())) { + throw new BussinessException("必填不能为空"); + } + Date dateTime = DateUtils.addDateYears(new Date(), -1); + //2 本月累计 3 本年累计 5冬防阶段目标 6 秋冬防总目标 + if (timeTypeInt == 2) { + reachabilityDto.setMonitorTime(DateUtil.format(date, DateUtil.DATE_PATTERN_MONTH)); + //过去天数 + Date dateLast = DateUtils.addDateYears(new Date(), -1); + reachabilityDto.setStartTime(DateUtil.format(dateLast)); + +// reachabilityDto.setStartTime(DateUtil.getFirstDay(dateTime)); + reachabilityDto.setEndTime(DateUtil.getLastOfMonthByDate(dateTime)); + +// Date dateLast = DatesUtils.addDateYears(new Date(), -1); +// reachabilityDto.setEndTime(DateUtil.format(dateLast)); + } else if (timeTypeInt == 3) { + reachabilityDto.setMonitorTime(DateUtil.format(date, DateUtil.YYYY)); + + Date dateLast = DateUtils.addDateYears(new Date(), -1); + reachabilityDto.setStartTime(DateUtil.format(dateLast)); + +// reachabilityDto.setStartTime(DateUtil.format(dateTime, DateUtil.DATE_PATTERN)); + reachabilityDto.setEndTime((getYear(date) - 1) + "-12-31"); + } else if (timeTypeInt == 5) { + reachabilityDto.setMonitorTime(DateUtil.format(date, DateUtil.YYYY)); + + //去年时间 01月-03月 + Date dateLast = DateUtils.addDateYears(new Date(), -1); + String format = DateUtil.format(dateLast); + String start = (getYear(date)) + "-01-01"; + reachabilityDto.setStartTime(start); + + Date dateFixed = DateUtil.stringToDate(start, DateUtil.DATE_PATTERN); + //当前时间大于开始时间 字符串比较时间有误 + long timeLast = dateLast.getTime(); + long timeFixed = dateFixed.getTime(); + if (timeLast > timeFixed) { + reachabilityDto.setStartTime(format); + } + + + reachabilityDto.setEndTime((getYear(date)) + "-03-31"); + } else if (timeTypeInt == 6) { + reachabilityDto.setMonitorTime(DateUtil.format(date, DateUtil.YYYY)); + +// 2022-10-01 2023-03-31 + //去年时间 10月-03月 + Date dateLast = DateUtils.addDateYears(new Date(), -1); + String format = DateUtil.format(dateLast); + String start = (getYear(date) - 1) + "-10-01"; + reachabilityDto.setStartTime(start); + + Date dateFixed = DateUtil.stringToDate(start, DateUtil.DATE_PATTERN); + //当前时间大于开始时间 字符串比较时间有误 + long timeLast = dateLast.getTime(); + long timeFixed = dateFixed.getTime(); + if (timeLast > timeFixed) { + reachabilityDto.setStartTime(format); + } + + + reachabilityDto.setEndTime((getYear(date)) + "-03-31"); + } + } + + + *//** + * 生成12个月份集合 + * + * @param year 年份 + * @return + *//* + List yearMonthList(int year) { + List months = new ArrayList<>(); + for (int i = 1; i <= 12; i++) { + if (i < 10) { + months.add(year + "-0" + i); + } else { + months.add(year + "-" + i); + } + } + return months; + } + + + *//** + * 月份数据集合转 decimal数组 + * + * @param monthData 月份数据 + * @return + *//* + BigDecimal[] monthListToArray(List monthData, String factor) { + BigDecimal[] decimalArr = new BigDecimal[12]; + if (monthData != null && monthData.size() > 0) { + monthData.forEach(data -> { + int month = Integer.parseInt(data.getMonthNum()); + if (factor.equals(BasTargetUtil.CO)) { + //赋值 + decimalArr[month - 1] = fieldCache.get(data, factor) == null ? null : ((BigDecimal) fieldCache.get(data, factor)).setScale(1, BigDecimal.ROUND_HALF_EVEN); + } else { + //赋值 + decimalArr[month - 1] = fieldCache.get(data, factor) == null ? null : ((BigDecimal) fieldCache.get(data, factor)).setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + }); + } + return decimalArr; + } + + *//** + * 月份目标值数组转map 并排序 + * + * @param calcMap key:月份 value:推算值 map + * @return + *//* + List> arrayToSortList(List> calcMap) { + calcMap = calcMap + .stream() + .filter(e -> e.get("value") != null) + .sorted(Comparator.comparing(e -> (BigDecimal) e.get("value"))) + .collect(Collectors.toList()); + //倒序排序 + Collections.reverse(calcMap); + return calcMap; + } + + String uuid() { + return UUID.randomUUID().toString().replaceAll("-", ""); + } + + *//** + * 秋冬防均值 + * + * @param arr 目标数组 + * @return + *//* + BigDecimal autumnWinterAvg(BigDecimal[] arr) { + List valueList = new ArrayList<>(); + valueList.add(arr[11]); + valueList.add(arr[10]); + valueList.add(arr[9]); + valueList = valueList.stream().filter(e -> e != null).collect(Collectors.toList()); + return AirDataConverseUtil.decimalAvgValue(valueList); + } + + *//** + * 秋冬防优良天 重污染天总和 + * + * @param arr 目标数值 + * @return + *//* + BigDecimal autumnWinterSum(BigDecimal[] arr) { + List valueList = new ArrayList<>(); + valueList.add(arr[11]); + valueList.add(arr[10]); + valueList.add(arr[9]); + valueList = valueList.stream().filter(e -> e != null).collect(Collectors.toList()); + return AirDataConverseUtil.decimalSumValue(valueList); + }*/ +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationExceedServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationExceedServiceImpl.java new file mode 100644 index 0000000..c231142 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationExceedServiceImpl.java @@ -0,0 +1,210 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.domain.TCodStationDataAir; +import cn.cecep.talroad.domain.effective.ERmStationExceed; +import cn.cecep.talroad.mapper.SEnvGasMonHourMapper; +import cn.cecep.talroad.mapper.TCodStationDataAirMapper; +import cn.cecep.talroad.mapper.effective.ERmStationExceedMapper; +import cn.cecep.talroad.service.effective.ERmStationExceedService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.PcFactoryVo; +import cn.cecep.talroad.vo.effective.ERmStationInfo; +import cn.cecep.talroad.vo.effective.SEnvGasMonValueVo; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class ERmStationExceedServiceImpl extends ServiceImpl implements ERmStationExceedService{ + + @Autowired + private TCodStationDataAirMapper stationDataAirMapper; + @Autowired + private SEnvGasMonHourMapper sEnvGasMonHourMapper; + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public IPage selectListInfo(ERmStationInfo entity) { + if(ObjectUtil.isEmpty(entity.getPageNum())){ + entity.setPageNum(1); + entity.setPageSize(Integer.MAX_VALUE); + } + Page page = new Page<>(entity.getPageNum(),entity.getPageSize()); + return baseMapper.selectListInfo(page,entity); + } + @Override + public EChartsVO changingTrends(List stationIds, String contaminant, Date start, Date end) { + if(contaminant.endsWith("2.5")){ + contaminant = "pm25"; + } + EChartsVO eChartsVO = new EChartsVO(); + List dateList = CollUtil.map(DateUtil.rangeToList(start, + end, DateField.HOUR_OF_DAY), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateList); + eChartsVO.setName("站点变化趋势XY数据"); + QueryWrapper ew = new QueryWrapper<>(); + ew.in("station_id", stationIds); + ew.ge("monitor_time", start); + ew.le("monitor_time", end); + ew.eq("data_type", "H"); + ew.select(contaminant.replaceAll("([A-Z]+)", "_$1").toLowerCase()+ " AS id","monitor_time","station_id"); + ew.orderByDesc("monitor_time"); + List allRmStationHours = stationDataAirMapper.selectList(ew); + List serList = generateSeriesList(allRmStationHours, stationIds, dateList, "stationId", "monitorTime"); + eChartsVO.setSeries(serList); + return eChartsVO; + } + + @Override + public EChartsVO entChangingTrends(List entIds, String contaminant, Date start, Date end) { + EChartsVO eChartsVO = new EChartsVO(); + List dateList = CollUtil.map(DateUtil.rangeToList(start, + end, DateField.HOUR_OF_DAY), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateList); + eChartsVO.setName("企业变化趋势XY数据"); + QueryWrapper ew = new QueryWrapper<>(); + ew.in("factory_id", entIds); + ew.ge("monitoring_time", start); + ew.le("monitoring_time", end); + ew.select("SUM(CAST ("+contaminant+ " AS numeric) ) AS id","monitoring_time","factory_id"); + ew.orderByDesc("monitoring_time"); + ew.groupBy("factory_id", "monitoring_time"); + List allSEnvGasMonHours = sEnvGasMonHourMapper.selectList(ew); + List serList = generateSeriesList(allSEnvGasMonHours, entIds, dateList, "factoryId", "monitoringTime"); + eChartsVO.setSeries(serList); + return eChartsVO; + } + + @Override + public List selectGasAndHaveData(Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum,pageSize); + return baseMapper.selectGasAndHaveData(page).getRecords().stream().map(o -> { + PcFactoryVo.MapPointVo vo = new PcFactoryVo.MapPointVo(); + BeanUtils.copyProperties(o, vo); + return vo; + }).collect(Collectors.toList()); + } + + @Override + public EChartsVO selectEntPollution(String entId, Date start, Date end) { + /* LocalDate start=LocalDate.parse("2023-07-06", DateTimeFormatter.ofPattern("yyyy-MM-dd")); + LocalDate end=start.plusDays(1);*/ + EChartsVO eChartsVO = new EChartsVO(); + + List dateList = CollUtil.map(DateUtil.rangeToList(start, + end, DateField.HOUR_OF_DAY), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateList); + List sEnvGasMonValueVos = sEnvGasMonHourMapper.selectEntPollutionMapper(entId,start,end,"factory_id,field,monitoring_time"); + String [] strings=new String[]{"so2","nox","烟尘","voc"}; + List serList = generateSeriesList(sEnvGasMonValueVos, java.util.Arrays.asList(strings), dateList, "field", "monitoringTime"); + eChartsVO.setSeries(serList); + return eChartsVO; + } + + @Override + public List summaryOfCorporateEmissions(String entId, Date start, Date end) { + return sEnvGasMonHourMapper.selectEntPollutionMapper(entId,start,end,"factory_id,field,name"); + } + + @Override + public IPage selectStationList(ERmStationInfo entity) { + if(ObjectUtil.isEmpty(entity.getPageNum())){ + entity.setPageNum(1); + entity.setPageSize(Integer.MAX_VALUE); + } + Page page = new Page<>(entity.getPageNum(),entity.getPageSize()); + return baseMapper.selectStationList(page,entity); + } + + public List generateSeriesList(List entityList, List idList, List dateList, String idFieldName, String timeFieldName) { + Map> entityMap = entityList.stream().collect(Collectors.groupingBy(entity -> { + try { + Field idField = entity.getClass().getDeclaredField(idFieldName); + idField.setAccessible(true); + return idField.get(entity).toString(); + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + throw new RuntimeException("变化趋势图,获取分组时错误,分组字段获取失败!"); + } + })); + + List nullList = new ArrayList<>(); + + return idList.stream().map(id -> { + EChartsVO.SeriesObj series = new EChartsVO.SeriesObj(); + List ylist = new ArrayList<>(); + series.setName(id); + series.setProp(id); + + Map collect = entityMap.getOrDefault(id, nullList).stream().collect(Collectors.toMap(entity -> { + try { + Field timeField = entity.getClass().getDeclaredField(timeFieldName); + timeField.setAccessible(true); + LocalDateTime time; + if(timeField.getType().isAssignableFrom(Date.class)){ + time=LocalDateTime.ofInstant(((Date)timeField.get(entity)).toInstant(), ZoneId.systemDefault()); + }else if (timeField.getType().isAssignableFrom(String.class)){ + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + time=LocalDateTime.parse((String)timeField.get(entity), formatter); + }else { + throw new RuntimeException("不好了,时间又出现新的类型了"); + } + return DateUtil.format(time, "yyyy-MM-dd HH"); + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + return null; + } + }, entity -> { + try { + Field idField = entity.getClass().getDeclaredField("id"); + idField.setAccessible(true); + String idValue = (String) idField.get(entity); + return StringUtils.isNotBlank(idValue) ? idValue : "0"; + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + return "0"; + } + })); + + for (String s : dateList) { + ylist.add(collect.getOrDefault(s, "0")); + } + series.setValues(ylist); + return series; + }).collect(Collectors.toList()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationHourServiceImpl.java new file mode 100644 index 0000000..618365d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ERmStationHourServiceImpl.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.domain.effective.ERmStationHour; +import cn.cecep.talroad.mapper.effective.ERmStationHourMapper; +import cn.cecep.talroad.service.effective.ERmStationHourService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ERmStationHourServiceImpl extends ServiceImpl implements ERmStationHourService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ForecastAccuracyServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ForecastAccuracyServiceImpl.java new file mode 100644 index 0000000..ee7b3f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ForecastAccuracyServiceImpl.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.cecep.talroad.mapper.analysis.PcRaProblemTypeMapper; +import cn.cecep.talroad.service.effective.ForecastAccuracyService; +import cn.cecep.talroad.vo.effective.ForecastAccuracyInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +@Service +public class ForecastAccuracyServiceImpl implements ForecastAccuracyService { + + @Autowired + private PcRaProblemTypeMapper pcRaProblemTypeMapper; + @Override + public IPage getList(String problemType, Date startTime, Date endTime,Integer pageNum,Integer pageSize) { + Page page=new Page<>(pageNum,pageSize); + return pcRaProblemTypeMapper.getAIProblemList(page, problemType,startTime,endTime); + } + + @Override + public List getProblemListService() { + return pcRaProblemTypeMapper.getProblemList("A"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MAiControlDelayAssessmentServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MAiControlDelayAssessmentServiceImpl.java new file mode 100644 index 0000000..34a5578 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MAiControlDelayAssessmentServiceImpl.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.vo.query.effective.MAiControlDelayAssessmentQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.domain.effective.MAiControlDelayAssessment; +import cn.cecep.talroad.mapper.effective.MAiControlDelayAssessmentMapper; +import cn.cecep.talroad.service.effective.MAiControlDelayAssessmentService; +@Service +public class MAiControlDelayAssessmentServiceImpl extends ServiceImpl implements MAiControlDelayAssessmentService { + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public Map getMapService(MAiControlDelayAssessmentQuery query) { + QueryWrapper wrapper = + MAiControlDelayAssessmentQuery.createLambdaQueryWrapper(query).select( + "site_name","factory_name","estimated_time"); + List list = list(wrapper); + Map map=new HashMap<>(); + List xList=new ArrayList<>(); + List yList=new ArrayList<>(); + List> dataList=new ArrayList<>(); + for (MAiControlDelayAssessment assessment : list) { + List stringList=new ArrayList<>(); + xList.add(assessment.getSiteName()); + yList.add(assessment.getFactoryName()); + stringList.add(assessment.getSiteName()); + stringList.add(assessment.getFactoryName()); + stringList.add(assessment.getEstimatedTime()); + dataList.add(stringList); + } + map.put("xlist",xList); + map.put("yList",yList); + map.put("dataList",dataList); + return map; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFacilitiesServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFacilitiesServiceImpl.java new file mode 100644 index 0000000..c80efe7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFacilitiesServiceImpl.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.impl.effective; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFacilities; +import cn.cecep.talroad.mapper.effective.MGovernanceTechnologyEstimateFacilitiesMapper; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateFacilitiesService; +@Service +public class MGovernanceTechnologyEstimateFacilitiesServiceImpl extends ServiceImpl implements MGovernanceTechnologyEstimateFacilitiesService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFactoryServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFactoryServiceImpl.java new file mode 100644 index 0000000..f8b1c8d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateFactoryServiceImpl.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.service.impl.effective; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.mapper.effective.MGovernanceTechnologyEstimateFactoryMapper; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFactory; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateFactoryService; +@Service +public class MGovernanceTechnologyEstimateFactoryServiceImpl extends ServiceImpl implements MGovernanceTechnologyEstimateFactoryService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public List selectNameByAnalyzeLatitude(Integer analyzeLatitude, String name,String value) { + switch (analyzeLatitude){ + case 1: + return baseMapper.selectNameByAnalyzeLatitude("m_governance_technology_estimate_factory",name,value); + case 2: + return baseMapper.selectNameByAnalyzeLatitude("m_governance_technology_estimate_facilities",name,value); + case 3: + return baseMapper.selectNameByAnalyzeLatitude("m_governance_technology_estimate_procedure",name,value); + default: + return new ArrayList<>() ; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateProcedureServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateProcedureServiceImpl.java new file mode 100644 index 0000000..4b09ae8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/MGovernanceTechnologyEstimateProcedureServiceImpl.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.service.impl.effective; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.cecep.talroad.mapper.effective.MGovernanceTechnologyEstimateProcedureMapper; +import java.util.List; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateProcedure; +import cn.cecep.talroad.service.effective.MGovernanceTechnologyEstimateProcedureService; +@Service +public class MGovernanceTechnologyEstimateProcedureServiceImpl extends ServiceImpl implements MGovernanceTechnologyEstimateProcedureService{ + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PCodAreaInfoServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PCodAreaInfoServiceImpl.java new file mode 100644 index 0000000..a26531f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PCodAreaInfoServiceImpl.java @@ -0,0 +1,202 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.exception.BussinessException; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.PCodeAreaInfo; +import cn.cecep.talroad.domain.effective.PCodeRegion; +import cn.cecep.talroad.domain.vo.ControlVo; +import cn.cecep.talroad.domain.vo.PCodeStationVo; +import cn.cecep.talroad.mapper.PCodAreaInfoMapper; +import cn.cecep.talroad.mapper.effective.PCodeRegionMapper; +import cn.cecep.talroad.mapper.effective.SEnvgasPollutantMapper; +import cn.cecep.talroad.service.effective.IPCodAreaInfoService; +import cn.cecep.talroad.util.effective.JavaBeanUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +import static cn.cecep.talroad.util.effective.DateUtil.*; + + +/** + *

+ * 自定义区域表 + * 服务实现类 + *

+ * + * @author author + * @since 2022-07-13 + */ +@Service +public class PCodAreaInfoServiceImpl extends ServiceImpl implements IPCodAreaInfoService { + @Autowired + private PCodAreaInfoMapper pCodAreaInfoMapper; + @Autowired + private PCodeRegionMapper pCodeRegionMapper; + @Autowired + private PCodeRegionMapper sEnvgasRegionMapper; + @Autowired + private SEnvgasPollutantMapper sEnvgasPollutantMapper; + @Override + public List findStationPullDataList() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + List list = Lists.newArrayList(); + list.add(regionCode); + //获取所属那些站点 + List controlVoList = pCodAreaInfoMapper.findDataPollution(list, "1", "2"); + //如果 当前没有数据 设置默认值 为国控 省控 市控 微站 都可以看到 + if (CollectionUtils.isEmpty(controlVoList)) { + controlVoList = pCodAreaInfoMapper.findDataPollution(Arrays.asList(new String[]{"999999"}), "1", "2"); + } + if (!CollectionUtils.isEmpty(controlVoList)) { + //获取区域站点 + List levelCodeList = controlVoList.stream().distinct().map(ControlVo::getLevelCode).collect(Collectors.toList()); + //获取区域 + List areaList = sEnvgasRegionMapper.findStationPullDataList(regionCode, levelCodeList); + if (!CollectionUtils.isEmpty(areaList)) { + Map> collect = areaList.stream().collect(Collectors.groupingBy(PCodeStationVo::getStationLevel)); + //取出编码id + for (ControlVo controlVo : controlVoList) { + List listData =Lists.newArrayList(); + for (Integer integer : collect.keySet()) { + if (Objects.nonNull(integer) && controlVo.getLevelCode().equals(integer.toString())) { + List pCodeStationVos = collect.get(integer); + if(!CollectionUtils.isEmpty(pCodeStationVos)) { + listData.addAll(pCodeStationVos); + } + } + } + controlVo.setChildren(listData); + } + } + } + return controlVoList; + } + + @Override + public List> findJurisdictionData() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); + return pCodAreaInfoMapper.findJurisdictionData(regionCode); + } + + /** + * @Method 因子 + * @Author wyg + * @Version 1.0 + * @Description * @param null + * @Return + * @Exception + * @Date 2023/6/14 10:21 + */ + @Override + public List> selectBySixApiParam(String type, String property) { + List maps = new ArrayList<>(); + //property 1小时 2日均 3月均 a05025 O3_8H a05024 O₃ + if ("1".equals(property)) { + String[] mapsList = {"aqi", "a21026", "a21004", "a21005", "a34002", "a34004", "a05024"}; + maps.addAll(Arrays.asList(mapsList)); + } else if ("2".equals(property)) { + String[] mapsList = {"aqi", "a21026", "a21004", "a21005", "a34002", "a34004", "a05025"}; + maps.addAll(Arrays.asList(mapsList)); + } else if ("3".equals(property)) { + String[] mapsList = {"aqi", "a21026", "a21004", "a21005", "a34002", "a34004", "a05025"}; + maps.addAll(Arrays.asList(mapsList)); + } else { + // 类型 1:区域 2:站点 + if ("1".equals(type)) { + String[] mapsList = {"aqi", "a21026", "a21004", "a21005", "a34002", "a34004", "a05024"}; + maps.addAll(Arrays.asList(mapsList)); + } else if ("2".equals(type)) { + String[] mapsList = {"aqi", "a21026", "a21004", "a21005", "a34002", "a34004", "a05024"}; + maps.addAll(Arrays.asList(mapsList)); + } + } + return sEnvgasPollutantMapper.selectBySixApiParam(maps); + } + + /** + * @Method 时间区域 + * @Author wyg + * @Date 2023/6/14 10:21 + */ + @Override + public Map findTimeDataList(String startTime, String endTime, String type, String factorCode, String regionCode) { + List timeList = Lists.newArrayList(); + List noTimeList = Lists.newArrayList(); + if ("1".equals(type)) { + startTime = startTime.replace("%20", " "); + endTime = endTime.replace("%20", " "); + //小时 + Date startTimeDate = stringToDate(startTime, "yyyy-MM-dd HH"); + Date endTimeDate = stringToDate(endTime, "yyyy-MM-dd HH"); + timeList = getAllHours(startTimeDate, endTimeDate, "yyyy-MM-dd HH:00:00"); + if (timeList.size() > 24) { + throw new BussinessException("小时不能超过24小时,请重新选择!"); + } + } else if ("2".equals(type)) { + Date startTimeDate = stringToDate(startTime, "yyyy-MM-dd"); + Date endTimeDate = stringToDate(endTime, "yyyy-MM-dd"); + timeList = getAllDays(startTimeDate, endTimeDate); + if (timeList.size() > 32) { + throw new BussinessException("天不能超过31天,请重新选择!"); + } + } else if ("3".equals(type)) { + Date startTimeDate = stringToDate(startTime + "-01", "yyyy-MM-dd"); + Date endTimeDate = stringToDate(endTime + "-01", "yyyy-MM-dd"); + timeList = getAllMonths(startTimeDate, endTimeDate); + if (timeList.size() > 13) { + throw new BussinessException("月不能超过12个月,请重新选择!"); + } + } + Map map = new HashMap<>(); + map.put("allTimeList", timeList); + map.put("noTimeList", noTimeList); + map.put("valueTimeList", timeList); + return map; + } + + /** + * @Method 时间分布特征-插值图/渲染图-区域范围 + * @Author wyg + * @Date 2023/6/14 10:21 + */ + @Override + public List> findCoverageData() { + String regionCode = SecurityUtils.getLoginUser().getSysUser().getRegionCode(); +// 市级账号-xx省、xx市;区县账号-xx市、xx区(以街镇数据进行插值 + List> pCodeRegions =Lists.newArrayList(); + PCodeRegion pCode = pCodeRegionMapper.selectOne(new QueryWrapper().eq("region_code", regionCode).eq("delete_flag", "0")); + Map regionInfo = JavaBeanUtils.beanToMap(pCode); + Map regionMapConfig = pCodeRegionMapper.selectMapConig(regionCode); + if (Objects.nonNull(regionMapConfig)) { + regionInfo.putAll(regionMapConfig); + } + + PCodeRegion pCodeRegion = pCodeRegionMapper.selectOne(new QueryWrapper().eq("region_code", pCode.getParentCode()).eq("delete_flag", "0")); + Map parentInfo = JavaBeanUtils.beanToMap(pCodeRegion); + Map parentMapConfig = pCodeRegionMapper.selectMapConig(pCodeRegion.getRegionCode()); + if (Objects.nonNull(parentMapConfig)) { + parentInfo.putAll(parentMapConfig); + } + + PCodeRegion top = pCodeRegionMapper.selectOne(new QueryWrapper().eq("region_code", pCodeRegion.getParentCode()).eq("delete_flag", "0")); + if (top != null) { + Map map = JavaBeanUtils.beanToMap(top); + Map config = pCodeRegionMapper.selectMapConig(top.getRegionCode()); + if (Objects.nonNull(config)) { + map.putAll(config); + } + pCodeRegions.add(map); + } + pCodeRegions.add(parentInfo); + pCodeRegions.add(regionInfo); + return pCodeRegions; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingHourServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingHourServiceImpl.java new file mode 100644 index 0000000..4d74ee7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingHourServiceImpl.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import java.util.Date; +import java.util.concurrent.atomic.AtomicInteger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingHour; +import cn.cecep.talroad.mapper.effective.PcNationalCityRankingHourMapper; +import cn.cecep.talroad.service.effective.PcNationalCityRankingHourService; +@Service +public class PcNationalCityRankingHourServiceImpl extends ServiceImpl implements PcNationalCityRankingHourService{ + + @Autowired + private PcNationalCityRankingHourMapper pcNationalCityRankingHourMapper; + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public void doProcessCityRankHour() { + Date lastHour = DateUtils.addHours(new Date(),-1); + Date lastHourDate = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + List rankList = pcNationalCityRankingHourMapper.selectHourRankData(lastHourDate); + AtomicInteger rank = new AtomicInteger(); + if(rankList!=null&&rankList.size()>0){ + rankList.forEach(r->{ + rank.getAndIncrement(); + r.setIndexProvinceCity(String.valueOf(rank.get())); + }); + + pcNationalCityRankingHourMapper.updateBatchIndexProvince(rankList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingOtherServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingOtherServiceImpl.java new file mode 100644 index 0000000..710ee0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PcNationalCityRankingOtherServiceImpl.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingOther; +import cn.cecep.talroad.mapper.effective.PcNationalCityRankingOtherMapper; +import cn.cecep.talroad.service.effective.PcNationalCityRankingOtherService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service +public class PcNationalCityRankingOtherServiceImpl extends ServiceImpl implements PcNationalCityRankingOtherService{ + + @Autowired + private PcNationalCityRankingOtherMapper pcNationalCityRankingOtherMapper; + + @Override + public int updateBatch(List list) { + return baseMapper.updateBatch(list); + } + @Override + public int updateBatchSelective(List list) { + return baseMapper.updateBatchSelective(list); + } + @Override + public int batchInsert(List list) { + return baseMapper.batchInsert(list); + } + + @Override + public void doProcessCityRankDay() { + String lastDayDate = DateUtils.parseDateToStr("yyyy-MM-dd",new Date()); + List cityList = pcNationalCityRankingOtherMapper.selectDayRankData(lastDayDate); + AtomicInteger rank = new AtomicInteger(); + if(cityList!=null&&cityList.size()>0){ + cityList.forEach(r->{ + rank.getAndIncrement(); + r.setIndexProvinceCity(String.valueOf(rank.get())); + }); + pcNationalCityRankingOtherMapper.updateBatchRank(cityList); + } + } + + @Override + public void doProcessCityRankMonth() { + String lastMonthDate = DateUtils.parseDateToStr("yyyy-MM",new Date()); + List cityList = pcNationalCityRankingOtherMapper.selectMonthRankData(lastMonthDate); + AtomicInteger rank = new AtomicInteger(); + if(cityList!=null&&cityList.size()>0){ + cityList.forEach(r->{ + rank.getAndIncrement(); + r.setIndexProvinceCity(String.valueOf(rank.get())); + }); + pcNationalCityRankingOtherMapper.updateBatchRank(cityList); + } + } + + @Override + public void doProcessCityRankYear() { + String lastYearDate = DateUtils.parseDateToStr("yyyy",new Date()); + List cityList = pcNationalCityRankingOtherMapper.selectYearRankData(lastYearDate); + AtomicInteger rank = new AtomicInteger(); + if(cityList!=null&&cityList.size()>0){ + cityList.forEach(r->{ + rank.getAndIncrement(); + r.setIndexProvinceCity(String.valueOf(rank.get())); + }); + pcNationalCityRankingOtherMapper.updateBatchRank(cityList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PollutionCharacterAnalysisServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PollutionCharacterAnalysisServiceImpl.java new file mode 100644 index 0000000..0e13e88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/PollutionCharacterAnalysisServiceImpl.java @@ -0,0 +1,313 @@ +package cn.cecep.talroad.service.impl.effective; + + +import cn.cecep.talroad.domain.PCodeStation; +import cn.cecep.talroad.domain.dto.PollutantCharacterAnalysisDto; +import cn.cecep.talroad.domain.effective.PCodeRegion; +import cn.cecep.talroad.mapper.PCodeStationMapper; +import cn.cecep.talroad.mapper.QEnvgasStationDayMapper; +import cn.cecep.talroad.mapper.effective.PCodeRegionMapper; +import cn.cecep.talroad.mapper.effective.QEnvgasWqDayMapper; +import cn.cecep.talroad.service.effective.PollutionCharacterAnalysisService; +import cn.cecep.talroad.util.PlxUtils; +import cn.cecep.talroad.util.effective.AirDataConverseUtil; +import cn.cecep.talroad.util.effective.DateUtil; +import cn.cecep.talroad.util.effective.FieldCache; +import cn.cecep.talroad.util.effective.NewDateUtil; +import cn.cecep.talroad.vo.effective.AirParmaVo; +import cn.cecep.talroad.vo.effective.AirQualityData; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @ProjectName: szhpt-business + * @Package: cn.cecep.talroad.service.impl + * @ClassName: PollutionCharacterAnalysisServiceImpl + * @Author: wyg + * @Description: + * @Date: 2023/6/13 15:14 + * @Version: 1.0 + */ + +@Service +public class PollutionCharacterAnalysisServiceImpl implements PollutionCharacterAnalysisService { + +// @Autowired +// private EsSearchFeginService esSearchFeginService; + @Autowired + private QEnvgasWqDayMapper qEnvgasWqDayMapper; + @Autowired + private QEnvgasStationDayMapper qEnvgasStationDayMapper; + @Autowired + private FieldCache fieldCache; + @Autowired + private PCodeRegionMapper pCodeRegionMapper; + @Autowired + private PCodeStationMapper pCodeStationMapper; + + public static final SimpleDateFormat FOMRATDAY = new SimpleDateFormat("yyyy-MM-dd HH:00:00"); + public static final String[][] HOUR_TEAM_ARR = {{"pm25", "pm10"}, {"pm25", "so2"}, {"pm25", "co"}, {"no2", "so2"}, {"o3", "nox"}}; + public static final String[][] DAY_TEAM_ARR = {{"pm25", "pm10"}, {"pm25", "so2"}, {"pm25", "co"}, {"no2", "so2"}}; + public static final String[] HOUR_TEAM_NAME_ARR = {"type1", "type2", "type3", "type4", "type5"}; + private static final BigDecimal PM25_PM10_RATIO_THIN = new BigDecimal("0.6"); + private static final BigDecimal PM25_PM10_RATIO_WEIGHT = new BigDecimal("0.4"); + private static final BigDecimal O3_QUALITY_NUMBER = new BigDecimal("48"); + private static final BigDecimal NOX_QUALITY_NUMBER = new BigDecimal("46"); + private static final BigDecimal STANDARD_DAQIYA = new BigDecimal("22.4"); + private static final BigDecimal NOX_CONTROL_AREA = new BigDecimal("5.7"); + + + @Override + public List> ratioOf(PollutantCharacterAnalysisDto analysisDto) { + return calcRatio(getData(analysisDto), analysisDto); + } + + @Override + public double[][] plxValue(PollutantCharacterAnalysisDto analysisDto) { + double[][] finalValueArray = new double[36][3]; + List data = getData(analysisDto); + //获取六因子值list + List pm25 = data.stream().map(e -> e.getPm25() == null ? 0.00 : e.getPm25().doubleValue()).collect(Collectors.toList()); + List pm10 = data.stream().map(e -> e.getPm10() == null ? 0.00 : e.getPm10().doubleValue()).collect(Collectors.toList()); + List so2 = data.stream().map(e -> e.getSo2() == null ? 0.00 : e.getSo2().doubleValue()).collect(Collectors.toList()); + List no2 = data.stream().map(e -> e.getNo2() == null ? 0.00 : e.getNo2().doubleValue()).collect(Collectors.toList()); + List co = data.stream().map(e -> e.getCo() == null ? 0.00 : e.getCo().doubleValue()).collect(Collectors.toList()); + List o3; + if (analysisDto.getTimeType().equals(1)) { + o3 = data.stream().map(e -> e.getO3() == null ? 0.00 : e.getO3().doubleValue()).collect(Collectors.toList()); + } else { + o3 = data.stream().map(e -> e.getO38h() == null ? 0.00 : e.getO38h().doubleValue()).collect(Collectors.toList()); + } + Map> readyCalcMap = new HashMap<>(); + readyCalcMap.put("pm25", pm25); + readyCalcMap.put("pm10", pm10); + readyCalcMap.put("so2", so2); + readyCalcMap.put("no2", no2); + readyCalcMap.put("co", co); + readyCalcMap.put("o3", o3); + String[] firstArray = {"o3", "co", "no2", "so2", "pm10", "pm25"}; + String[] secondArray = {"pm25", "pm10", "so2", "no2", "co", "o3"}; + //计算各个因子之间的关联性 + int finalIndex = 0; + for (int i = 0; i < firstArray.length; i++) { + List first = readyCalcMap.get(firstArray[i]).stream().filter(e -> e != null).collect(Collectors.toList()); + for (int j = 0; j < secondArray.length; j++) { + List second = readyCalcMap.get(secondArray[j]).stream().filter(e -> e != null).collect(Collectors.toList()); + double result = PlxUtils.getPearsonCorrelationScore(first, second); + if (!Double.isNaN(result)) { + finalValueArray[finalIndex] = new double[]{i, j, new BigDecimal(result).setScale(2, BigDecimal.ROUND_DOWN).doubleValue()}; + } else { + finalValueArray[finalIndex] = new double[]{i, j, result}; + } + finalIndex++; + } + } + return finalValueArray; + } + + public List getData(PollutantCharacterAnalysisDto analysisDto) { + Integer areaType = analysisDto.getAreaType(); + Integer timeType = analysisDto.getTimeType(); + AirParmaVo airParmaVo = new AirParmaVo(); + airParmaVo.setStartTime(analysisDto.getStartTime()); + airParmaVo.setEndTime(analysisDto.getEndTime()); + List qualityData = null; + if (1==areaType) { + //查询区域 + airParmaVo.setRegionCode(analysisDto.getSiteOrRegion()); + if (1==timeType) { + List regionInfoList = pCodeRegionMapper.selectList(new QueryWrapper().eq("region_code", analysisDto.getSiteOrRegion())); +// qualityData = AirDataConverseUtil.convertEsAreaData(esSearchFeginService.areaData(airParmaVo).getData(), regionInfoList, airParmaVo); + } else { + qualityData = qEnvgasWqDayMapper.queryAreaDayData(airParmaVo); + } + } else { + //查询站点 + airParmaVo.setStationId(analysisDto.getSiteOrRegion()); + if (1==timeType) { + List stationInfoList = pCodeStationMapper.selectList(new QueryWrapper().eq("station_id", analysisDto.getSiteOrRegion())); +// qualityData = AirDataConverseUtil.convertEsStationData(esSearchFeginService.stationData(airParmaVo).getData(), stationInfoList, airParmaVo); + } else { + qualityData = qEnvgasStationDayMapper.queryStationDaydata(airParmaVo); + } + } + return qualityData; + } + + /** + * 计算各类型因子比值 + * + * @param analysisDto 参数dto + * @param data 区域/站点 小时/天数据 + * @return + * @pram ratioType + */ + List> calcRatio(List data, PollutantCharacterAnalysisDto analysisDto) { + List> calcRatioTotalList = new ArrayList<>(); + //对数据按照时间倒序 排序 + if (1==analysisDto.getTimeType()) { + data = data.stream().sorted(Comparator.comparing(e -> DateUtil.stringToDate(e.getMonitorTime(), DateUtil.HOUR_TIME_PATTERN))).collect(Collectors.toList()); + } else { + if (data != null && data.size() > 0) { + data = data.stream().filter(e -> StringUtils.isNotBlank(e.getMonitorTime())).collect(Collectors.toList()); + if (data != null && data.size() > 0) { + for (AirQualityData datum : data) { + datum.setMonitorTime(datum.getMonitorTime().concat(" 00:00:00")); + } + } + } + data = data.stream().sorted(Comparator.comparing(e -> DateUtil.stringToDate(e.getMonitorTime(), DateUtil.HOUR_TIME_PATTERN))).collect(Collectors.toList()); + } + //获取需要环比的因子列表 + List ratioTypeList = analysisDto.getRatioType(); + for (Integer ratioType : ratioTypeList) { + Map singleRatioType = new HashMap<>(); + List timeList = new ArrayList<>(); + List ratioValueList = new ArrayList<>(); + List firstValueList = new ArrayList<>(); + List secondValueList = new ArrayList<>(); + List thinTimeList = new ArrayList<>(); + List weightTimeList = new ArrayList<>(); + //获取不同日期类型下污染因子字段名及名称 + String[][] teamArray; + String[] teamNameArray; + if (1==analysisDto.getTimeType()) { + teamArray = HOUR_TEAM_ARR; + teamNameArray = HOUR_TEAM_NAME_ARR; + } else { + teamArray = DAY_TEAM_ARR; + teamNameArray = HOUR_TEAM_NAME_ARR; + } + List first = data.stream().map(e -> (BigDecimal) fieldCache.get(e, teamArray[ratioType - 1][0])).collect(Collectors.toList()); + List second = data.stream().map(e -> (BigDecimal) fieldCache.get(e, teamArray[ratioType - 1][1])).collect(Collectors.toList()); + if (first.size() == second.size()) { + //将值进行对比 + for (int i = 0; i < first.size(); i++) { + BigDecimal firstDecimal = first.get(i); + BigDecimal secondDecimal = second.get(i); + BigDecimal result; + if (firstDecimal != null && firstDecimal.compareTo(BigDecimal.ZERO) != 0 + && secondDecimal != null && secondDecimal.compareTo(BigDecimal.ZERO) != 0) { + if (ratioType.equals(5)) { + BigDecimal fd = firstDecimal.divide(O3_QUALITY_NUMBER, 1, BigDecimal.ROUND_HALF_EVEN).multiply(STANDARD_DAQIYA); + BigDecimal sd = secondDecimal.divide(NOX_QUALITY_NUMBER, 1, BigDecimal.ROUND_HALF_EVEN).multiply(STANDARD_DAQIYA); + result = fd.divide(sd, 1, BigDecimal.ROUND_HALF_EVEN); + } else { + result = firstDecimal.divide(secondDecimal, 1, BigDecimal.ROUND_HALF_EVEN); + } + } else { + result = null; + } + //需要进行特殊判断的比值组合 PM25/PM10 co/nox + if (ratioType.equals(1)) { + //细颗粒为主 + if (result != null && result.compareTo(PM25_PM10_RATIO_THIN) == 1) { + thinTimeList.add(data.get(i).getMonitorTime()); + } + //粗颗粒为主 + if (result != null && result.compareTo(PM25_PM10_RATIO_WEIGHT) == -1) { + weightTimeList.add(data.get(i).getMonitorTime()); + } + } + if (ratioType.equals(5)) { + //co比nox > 15 + if (result != null && result.compareTo(NOX_CONTROL_AREA) == 1) { + weightTimeList.add(data.get(i).getMonitorTime()); + } + if (result != null && result.compareTo(NOX_CONTROL_AREA) == -1) { + thinTimeList.add(data.get(i).getMonitorTime()); + } + } + //比值 + firstValueList.add(firstDecimal); + secondValueList.add(secondDecimal); + ratioValueList.add(result); + //时间 + timeList.add(data.get(i).getMonitorTime()); + } + singleRatioType.put("ratioData", ratioValueList); + singleRatioType.put("firstData", firstValueList); + singleRatioType.put("secondData", secondValueList); + singleRatioType.put("times", timeList); + // pm25/pm10 + if (ratioType.equals(1) || ratioType.equals(5)) { + if (thinTimeList != null && thinTimeList.size() > 0) { + thinTimeList = thinTimeList.stream().distinct().collect(Collectors.toList()); + singleRatioType.put("thinTimeList", checkTimeisContinuation(thinTimeList, analysisDto.getTimeType())); + } else { + singleRatioType.put("thinTimeList", new ArrayList<>()); + } + if (weightTimeList != null && weightTimeList.size() > 0) { + weightTimeList = weightTimeList.stream().distinct().collect(Collectors.toList()); + singleRatioType.put("weightTimeList", checkTimeisContinuation(weightTimeList, analysisDto.getTimeType())); + } else { + singleRatioType.put("weightTimeList", new ArrayList<>()); + } + } + Map finalMap = new HashMap<>(); + finalMap.put(teamNameArray[ratioType - 1], singleRatioType); + calcRatioTotalList.add(finalMap); + } + } + return calcRatioTotalList; + } + + + + /** + * 判断时间是否连续 + * + * @param times 时间数组 + * @return + */ + public List> checkTimeisContinuation(List times, Integer timeType) { + List> timeList = new ArrayList<>(); + if (times != null && times.size() > 0) { + times.forEach(e -> { + List lxList1 = new ArrayList<>(); + lxList1.add(e); + if (timeType == 1) { + lxList1.add(getNextHour(e)); + } else { + lxList1.add(getNextDay(e)); + } + timeList.add(lxList1); + }); + } + return timeList; + } + + /** + * 获取下一个小时的时间字符串 + * + * @return + */ + String getNextHour(String time) { + String pattern = "yyyy-MM-dd HH:00:00"; + Date date = DateUtil.stringToDate(time, pattern); + Date lastDate = NewDateUtil.addDateHours(date, 1); + return DateUtil.format(lastDate, pattern); + } + + /** + * 获取下一天的时间字符串 + * + * @param time + * @return + */ + String getNextDay(String time) { + String pattern = "yyyy-MM-dd 00:00:00"; + Date date = DateUtil.stringToDate(time, pattern); + Date lastDate = NewDateUtil.addDateDays(date, 1); + return DateUtil.format(lastDate, pattern); + } + +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/RectificationEffectEvaluationServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/RectificationEffectEvaluationServiceImpl.java new file mode 100644 index 0000000..4f50c91 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/RectificationEffectEvaluationServiceImpl.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.domain.effective.RectificationEffectQueryDTO; +import cn.cecep.talroad.mapper.effective.RectificationEffectEvaluationMapper; +import cn.cecep.talroad.service.effective.IRectificationEffectEvaluationService; +import cn.cecep.talroad.vo.effective.FactoryRectificationEffectCountVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.List; + + +@Service +public class RectificationEffectEvaluationServiceImpl implements IRectificationEffectEvaluationService { + + @Resource + private RectificationEffectEvaluationMapper rectificationEffectEvaluationMapper; + + + @Override + public AjaxResults> list(RectificationEffectQueryDTO rectificationEffectQueryDTO) { + //处理模糊查询 + if (StringUtils.isNotBlank(rectificationEffectQueryDTO.getFactoryName())) { + rectificationEffectQueryDTO.setFactoryName("%"+rectificationEffectQueryDTO.getFactoryName()+"%"); + } + Page page = new Page(rectificationEffectQueryDTO.getPageNum(),rectificationEffectQueryDTO.getPageSize()); + page = rectificationEffectEvaluationMapper.selectFinishCountByFactory(page,rectificationEffectQueryDTO); + for (FactoryRectificationEffectCountVO record : page.getRecords()) { + //按期整改完成率:按期整改完成数量/(按期整改完成数+延期整改完成数+整改延时未完成数+待整改数)。 + BigDecimal inTimeFinishCount = new BigDecimal(record.getInTimeFinishCount()); + BigDecimal totalFinishCount = inTimeFinishCount + .add(new BigDecimal(record.getOutTimeFinishCount())) + .add(new BigDecimal(record.getOutTimeFinishCount())) + .add(new BigDecimal(record.getUnFinishCount())); + BigDecimal inTimeFinishedRate = inTimeFinishCount.divide(totalFinishCount, 2,RoundingMode.HALF_EVEN).multiply(new BigDecimal(100)); + record.setInTimeFinishedRate(inTimeFinishedRate+"%"); + } + return AjaxResults.success(page); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReductionEmissionServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReductionEmissionServiceImpl.java new file mode 100644 index 0000000..578bab1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReductionEmissionServiceImpl.java @@ -0,0 +1,402 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.security.utils.SecurityUtils; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingHour; +import cn.cecep.talroad.domain.effective.PcNationalCityRankingOther; +import cn.cecep.talroad.domain.effective.PcNationalCountyRankingHour; +import cn.cecep.talroad.domain.effective.PcNationalCountyRankingOther; +import cn.cecep.talroad.mapper.effective.*; +import cn.cecep.talroad.service.effective.ReductionEmissionService; +import cn.cecep.talroad.vo.EChartsVO; +import cn.cecep.talroad.vo.effective.PcNationalCityRanking; +import cn.cecep.talroad.vo.effective.PcNationalCountyRanking; +import cn.cecep.talroad.vo.export.PcNationalCityRankingExport; +import cn.cecep.talroad.vo.export.PcNationalCountyRankingExport; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.AllArgsConstructor; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import static cn.cecep.talroad.common.core.utils.DateUtils.YYYY_MM_DD_HH_MM_SS; + +@AllArgsConstructor +@Service +public class ReductionEmissionServiceImpl implements ReductionEmissionService { + private ReductionEmissionMapper mapper; + private PcNationalCityRankingHourMapper hourMapper; + private PcNationalCountyRankingHourMapper countyhourMapper; + private PcNationalCountyRankingOtherMapper countyotherMapper; + private PcNationalCityRankingOtherMapper otherMapper; + + @Override + public PcNationalCityRanking realTimeMonitoringService(String regionCode) { + PcNationalCityRanking pcNationalCityRanking = mapper.realTimeMonitoring(regionCode); + return pcNationalCityRanking; + } + + @Override + public Map cityRankingService(String regionCode) { + List pcNationalCityRankings = mapper.cityRanking(regionCode); + Map map = new HashMap<>(4); + Map map168 = new HashMap<>(); + Map map337 = new HashMap<>(); + Map mapProvinceCity = new HashMap<>(); + pcNationalCityRankings.stream().forEach(r -> { + map168.put(r.getDateType().trim(), r.getIndex168()); + map337.put(r.getDateType().trim(), r.getIndex337()); + mapProvinceCity.put(r.getDateType().trim(), r.getIndexProvinceCity()); + }); + map.put("168", map168); + map.put("337", map337); + map.put("province_city", mapProvinceCity); + return map; + } + + /** + * @Method countyRankingService + * @Exception 省区县 + * @Date 2023/6/16 17:03 + */ + @Override + public Map countyRankingService(String regionCode) { + List pcNationalCountyRankingOthers = mapper.countyRanking(regionCode); + Map map = new HashMap<>(4); + Map mapProvinceCounty = new HashMap<>(); + pcNationalCountyRankingOthers.forEach(r -> { + mapProvinceCounty.put(r.getDateType().trim(), r.getIndex()); + }); + map.put("province_county", mapProvinceCounty); + return map; + } + + @Override + public IPage list(String dateType, String type, String date, Integer pageNum, Integer pageSize,String cityName) { + Pattern pattern = Pattern.compile("^[0-9]+$"); + IPage pcNationalCityRankings = new Page<>(); + QueryWrapper query = new QueryWrapper(); + String sql="id,pcode,pname,\"cityName\",\"cityId\",aqi,\"maxPollution\",pm25,\n" + + "pm10,o3,so2,no2,co,date_time,index_337,is_337,is_168,index_168,index_province_city,index_province_county"; + + if (pattern.matcher(type).matches()) { + query.isNotNull("is_" + type); + query.eq("is_" + type, "1"); + + }else { + //查询省内城市排名 + int i = Integer.parseInt(SecurityUtils.getLoginUser().getSysUser().getRegionCode().substring(0, 2)); + query.between("\"cityId\"",i*10000,(i+1)*10000 ); + } + if (ObjectUtils.isNotEmpty(date)) { + query.likeRight("cast(date_time as varchar) ", date); + } + if (ObjectUtils.isNotEmpty(type)) { + query.orderByAsc("index_" + type +" :: NUMERIC"); + sql= sql+",index_" + type+" AS index"; + } + query.select(sql).lambda(); + query.like(StringUtils.isNotBlank(cityName),"\"cityName\"", cityName); + if ("H".equals(dateType)) { + Page p = new Page<>(pageNum, pageSize); + IPage pcNationalCityRankingHours = hourMapper.selectPage(p, query); + BeanUtils.copyBeanProp(pcNationalCityRankings, pcNationalCityRankingHours); + } else { + query.eq("date_type", dateType); + Page p = new Page<>(pageNum, pageSize); + IPage pcNationalCityRankingSqls = otherMapper.selectPage(p, query); + BeanUtils.copyBeanProp(pcNationalCityRankings, pcNationalCityRankingSqls); + } + + return pcNationalCityRankings; + + } + + + /** + * @Method list + * @Author wyg + * @Version 1.0 + * @Description * @param null + * @Return 省区县排名 + * @Exception + * @Date 2023/6/16 18:00 + */ + @Override + public IPage provinceCounty(String dateType, String type, String date, + Integer pageNum, Integer pageSize,String countyName) { + IPage PcNationalCountyRanking = new Page<>(); + QueryWrapper query = new QueryWrapper(); + query.select("id,city_code,city_name,\"country_code\",\"country_name\",all_name,aqi,\"maxPollution\",pm25,\n" + + "pm10,o3,so2,no2,co,date_time,index ").lambda(); + if (ObjectUtils.isNotEmpty(date)) { + query.likeRight("cast(date_time as varchar) ", date); + } + query.orderByAsc("date_time"); + query.orderByAsc("index :: NUMERIC"); + query.like(StringUtils.isNotBlank(countyName),"all_name", countyName); + if ("H".equals(dateType)) { + Page p = new Page<>(pageNum, pageSize); + IPage pcNationalCountyRankingHours = countyhourMapper.selectPage(p, query); + BeanUtils.copyBeanProp(PcNationalCountyRanking, pcNationalCountyRankingHours); + } else { + query.eq("date_type", dateType); + Page p = new Page<>(pageNum, pageSize); + IPage pcNationalCountyRankingSqls = countyotherMapper.selectPage(p, query); + BeanUtils.copyBeanProp(PcNationalCountyRanking, pcNationalCountyRankingSqls); + } + return PcNationalCountyRanking; + + } + + + @Override + public Map getMapService(String type) { + long l = System.currentTimeMillis() / 1000; + LocalDate today = LocalDate.now(); + LocalDate startDate = LocalDate.of(today.getYear(), 1, 1); + List dateList = CollUtil.map(DateUtil.rangeToList(Date.from(startDate.atStartOfDay(ZoneId.systemDefault()).toInstant()), + Date.from(today.atStartOfDay(ZoneId.systemDefault()).toInstant()), DateField.DAY_OF_MONTH), + x -> DateUtil.format(x, "yyyy-MM-dd"), true); + QueryWrapper query = Wrappers.query(); + query.ge(PcNationalCityRankingOther.COL_DATE_TIME, startDate); + query.le(PcNationalCityRankingOther.COL_DATE_TIME, today); + query.ge(PcNationalCityRankingOther.COL_DATE_TYPE, "D"); + query.eq("\"cityId\"", Integer.parseInt(SecurityUtils.getLoginUser().getSysUser().getRegionCode())); + query.select("index_" + type + " AS aqi,date_time "); + long l1 = System.currentTimeMillis() / 1000; + List pcNationalCityRankingOthers = otherMapper.selectList(query); + long l3 = System.currentTimeMillis() / 1000; + List yList = new ArrayList<>(); + for (PcNationalCityRankingOther pcNationalCityRankingOther : pcNationalCityRankingOthers) { + pcNationalCityRankingOther.setDateTimeFormat(DateUtil.format(pcNationalCityRankingOther.getDateTime(), "yyyy-MM-dd")); + } + if (!CollectionUtils.isEmpty(dateList)) { + for (String s : dateList) { + if (pcNationalCityRankingOthers.stream().anyMatch(pc -> s.equals(pc.getDateTimeFormat()))) { + yList.add(pcNationalCityRankingOthers.stream().filter(pc -> s.equals(pc.getDateTimeFormat())).collect(Collectors.toList()).get(0).getAqi()); + } else { + yList.add("0"); + } + } + } + long l4 = System.currentTimeMillis() / 1000; + System.out.println("查询之前"+(l1-l)); + System.out.println("查询"+(l3-l1)); + System.out.println("查询之后"+(l4-l3)); + Map map = new HashMap<>(); + map.put("xlist", dateList); + map.put("yList", yList); + return map; + } + + /** + * @Method 省区县多区域查询 + * @Author wyg + * @Version 1.0 + * @Description * @param null + * @Return + * @Exception 省区县 + * @Date 2023/6/16 18:33 + */ + @Override + public Map getMapCountyService(String[] countryCode) { + LocalDate today = LocalDate.now(); + LocalDate startDate = LocalDate.of(today.getYear(), 1, 1); + List dateList = CollUtil.map(DateUtil.rangeToList(Date.from(startDate.atStartOfDay(ZoneId.systemDefault()).toInstant()), + Date.from(today.atStartOfDay(ZoneId.systemDefault()).toInstant()), DateField.DAY_OF_MONTH), + x -> DateUtil.format(x, "yyyy-MM-dd"), true); + QueryWrapper query = Wrappers.query(); + query.ge(PcNationalCityRankingOther.COL_DATE_TIME, DateUtils.dateTime(YYYY_MM_DD_HH_MM_SS, startDate + " 00:00:00")); + query.le(PcNationalCityRankingOther.COL_DATE_TIME, DateUtils.dateTime(YYYY_MM_DD_HH_MM_SS, today + " 23:59:59")); + query.ge(PcNationalCityRankingOther.COL_DATE_TYPE, "D"); + query.likeRight("all_name", "唐山市"); + query.in("all_name", countryCode); + query.select("index ,date_time,country_code,country_name "); + query.orderByAsc("country_code", PcNationalCityRankingOther.COL_DATE_TIME); + List> listMap = new ArrayList<>(); + List pcNationalCountyRankingOthers = countyotherMapper.selectList(query); + Map> glist = + pcNationalCountyRankingOthers.stream().collect(Collectors.groupingBy(PcNationalCountyRankingOther::getCountryname)); + if (!CollectionUtils.isEmpty(Collections.singleton(glist))) { + glist.forEach((key, value) -> { + Map map1 = new HashMap<>(); + map1.put("name", key); + List li = new ArrayList<>(); + for (String s : dateList) { + Optional first = value.stream().filter(v ->s.equals(DateUtil.format(v.getDateTime(), "yyyy-MM-dd"))).findFirst(); + if (first.isPresent()) { + PcNationalCountyRankingOther pr = first.get(); + li.add(Integer.valueOf(pr.getIndex())); + } else { + li.add(0L); + } + } + map1.put("data", li); + map1.put("type", "line"); + listMap.add(map1); + }); + } + + Map map = new HashMap<>(); + map.put("xAxis", dateList); + map.put("series", listMap); + return map; + } + + + /** + * @Method export + * @Author wyg + * @Version 1.0 + * @Description * @param null + * @Return + * @Exception + * @Date 2023/6/16 18:05 + */ + @Override + public List export(PcNationalCityRankingExport pcNationalCityRankingExport) { + QueryWrapper query = new QueryWrapper(); + String sql="id,pcode,pname,\"cityName\",\"cityId\",aqi,\"maxPollution\",pm25,\n" + + "pm10,o3,so2,no2,co,date_time,is_168,index_168,index_province_city,index_province_county"; + Pattern pattern = Pattern.compile("^[0-9]+$"); + if (pattern.matcher(pcNationalCityRankingExport.getType()).matches()) { + query.isNotNull("is_" + pcNationalCityRankingExport.getType()); + query.eq("is_" + pcNationalCityRankingExport.getType(), "1"); + + }else { + //查询省内城市排名 + int i = Integer.parseInt(SecurityUtils.getLoginUser().getSysUser().getRegionCode().substring(0, 2)); + query.between("\"cityId\"",i*10000,(i+1)*10000 ); + } + if (ObjectUtils.isNotEmpty(pcNationalCityRankingExport.getDate())) { + query.likeRight("cast(date_time as varchar) ", pcNationalCityRankingExport.getDate()); + } + if (ObjectUtils.isNotEmpty(pcNationalCityRankingExport.getType())) { + query.orderByAsc("index_" + pcNationalCityRankingExport.getType()+":: NUMERIC"); + sql= sql+",index_" + pcNationalCityRankingExport.getType()+" AS index"; + } + query.select(sql).lambda(); + if ("H".equals(pcNationalCityRankingExport.getDateType())) { + List list1 = hourMapper.selectList(query); + return BeanUtil.copyToList(list1, PcNationalCityRankingExport.class); + } else { + query.eq("date_type", pcNationalCityRankingExport.getDateType()); + List list2 = otherMapper.selectList(query); + return BeanUtil.copyToList(list2, PcNationalCityRankingExport.class); + } + } + + + /** + * @Method export + * @Author wyg + * @Version 1.0 + * @Description * @param null + * @Return 省区县排名导出 + * @Exception + * @Date 2023/6/16 18:16 + */ + @Override + public List countyExport(PcNationalCountyRankingExport pcNationalCountyRankingExport) { + QueryWrapper query = new QueryWrapper(); + query.select("id,city_code,city_name,\"country_code\",\"country_name\",all_name,aqi,\"maxPollution\",pm25,\n" + + "pm10,o3,so2,no2,co,date_time,index ").lambda(); + if (ObjectUtils.isNotEmpty(pcNationalCountyRankingExport.getDate())) { + query.likeRight("cast(date_time as varchar) ", pcNationalCountyRankingExport.getDate()); + } + query.orderByAsc("index"+":: NUMERIC"); + if ("H".equals(pcNationalCountyRankingExport.getDateType())) { + List list1 = countyhourMapper.selectList(query); + return BeanUtil.copyToList(list1, PcNationalCountyRankingExport.class); + } else { + query.eq("date_type", pcNationalCountyRankingExport.getDateType()); + List list2 = countyotherMapper.selectList(query); + return BeanUtil.copyToList(list2, PcNationalCountyRankingExport.class); + } + } + + @Override + public EChartsVO getCountryMapService(List names) { + EChartsVO eChartsVO = new EChartsVO(); + LocalDateTime today = LocalDateTime.now(); + LocalDateTime startDate = today.plus(-1, ChronoUnit.DAYS); + List dateList = CollUtil.map(DateUtil.rangeToList(Date.from(startDate.atZone(ZoneId.systemDefault()).toInstant()), + Date.from(today.atZone(ZoneId.systemDefault()).toInstant()), DateField.HOUR), + x -> DateUtil.format(x, "yyyy-MM-dd HH"), true); + eChartsVO.setXData(dateList); + //调用接口查数据 +// List list = mapper.selectByNames(names); + List list = mapper.selecthourByNames(names,startDate,today); + list.forEach(d -> { + Date analyseTime = d.getDateTime(); + String format = DateUtil.format(analyseTime, "yyyy-MM-dd HH"); + d.setDateStr(format); + }); + Map> smap = list.stream().collect(Collectors.groupingBy(PcNationalCityRanking::getCityName)); + List seriesObjs = smap.entrySet().stream().map(entry -> { + EChartsVO.SeriesObj ser = new EChartsVO.SeriesObj(); + ser.setName(entry.getKey()); + ser.setProp(entry.getKey()); + List values = new ArrayList<>(); + for (String s : dateList) { + List value = entry.getValue(); + Optional first = value.stream().filter(v -> v.getDateStr().equals(s)).findFirst(); + if (first.isPresent()) { + PcNationalCityRanking pr = first.get(); + values.add(pr.getIndex()); + } else { + values.add(0L); + } + } + ser.setValues(values); + return ser; + }).collect(Collectors.toList()); + + eChartsVO.setXData(dateList); + eChartsVO.setSeries(seriesObjs); + return eChartsVO; + } + + @Override + public List countryNameList(String name,String type) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("\"cityName\""); + queryWrapper.groupBy("\"cityName\""); + queryWrapper.eq("is_" + type,"1"); + queryWrapper.like(StringUtils.isNotBlank(name),"\"cityName\"", name); + return otherMapper.selectList(queryWrapper).stream().map(PcNationalCityRankingOther::getCityname).collect(Collectors.toList()); + } + + @Override + public List cityNameList(String name) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("all_name"); + queryWrapper.groupBy("all_name"); + queryWrapper.like(StringUtils.isNotBlank(name),"\"all_name\"", name); +// List pcNationalCountyRankingOthers = countyotherMapper.selectList(queryWrapper); + List pcNationalCountyRankingOthers = countyhourMapper.selectList(queryWrapper); + if(pcNationalCountyRankingOthers.size()>0) { + return pcNationalCountyRankingOthers.stream().filter(Objects::nonNull).map(PcNationalCountyRankingHour::getAllname).collect(Collectors.toList()); + }else { + return Collections.emptyList(); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReportManageServiceImpl.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReportManageServiceImpl.java new file mode 100644 index 0000000..d8d6596 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/impl/effective/ReportManageServiceImpl.java @@ -0,0 +1,188 @@ +package cn.cecep.talroad.service.impl.effective; + +import cn.cecep.talroad.service.effective.ReportManageService; +import org.springframework.stereotype.Service; + +/** + * @author zhangshiji + * @date 2022/8/26 + */ +@Service +public class ReportManageServiceImpl implements ReportManageService { +/* + + private static final Logger log = LoggerFactory.getLogger(ReportManageService.class); + @Autowired + ElasticsearchRestTemplate elasticsearchRestTemplate; + @Autowired + private PCodeRegionMapper pCodeRegionMapper; + + public static void main(String[] args) throws IOException { + HttpHost httpHost = new HttpHost("10.0.200.93", 9200, "http"); + RestHighLevelClient esClient = new RestHighLevelClient(RestClient.builder(httpHost)); + GetIndexRequest getIndexRequest=new GetIndexRequest("q_envgas_area_hour"); + GetIndexResponse getIndexResponse = esClient.indices(). + get(getIndexRequest, RequestOptions.DEFAULT); + System.out.println(getIndexResponse.getAliases()); + System.out.println(getIndexResponse.getMappings()); + System.out.println(getIndexResponse.getSettings()); + + //关闭ES客户端 + esClient.close(); + } + + */ +/** + * 区域累计小时数据 + * + * @param regionCode 区域code + * @return + *//* + + public AirQualityData cumulativeAirData(String regionCode) { + AirParmaVo paramVo = new AirParmaVo(); + paramVo.setRegionCode(regionCode); + //今天的01小时 到明天的 00小时 + getParamData(paramVo,new Date()); + List cumulativeDataList = + AirDataConverseUtil.converSupplementData + ( + areaData(paramVo), + pCodeRegionMapper.selectList(new QueryWrapper().eq("region_code",regionCode)), + paramVo + ); + + List list = areaData(paramVo); + if (cumulativeDataList != null && cumulativeDataList.size() > 0) { + AirQualityData qualityData = AirDataConverseUtil.calcAvgData(cumulativeDataList); + if(Objects.nonNull(qualityData)){ + BigDecimal data= BasTargetUtil.calcO38HData(list); + qualityData.setO3(data); + qualityData.setO38h(data); + } + return qualityData; + } + return new AirQualityData(); + } + + */ +/** + * 区域 昨天累计小时数据 + * @param regionCode 区域code + * @return + *//* + + public AirQualityData cumulativeAirLastData(String regionCode) { + AirParmaVo paramVo = new AirParmaVo(); + paramVo.setRegionCode(regionCode); + //昨天天的01小时 到今天的 00小时 + Date date = DateUtils.addDateYears(new Date(), -1); //去年数据 + getParamData(paramVo,date); + List cumulativeDataList = + AirDataConverseUtil.converSupplementData + ( + areaData(paramVo), + pCodeRegionMapper.selectList(new QueryWrapper().eq("region_code",regionCode)), + paramVo + ); + List list = areaData(paramVo); + if (cumulativeDataList != null && cumulativeDataList.size() > 0) { + AirQualityData qualityData = AirDataConverseUtil.calcAvgData(cumulativeDataList); + if(Objects.nonNull(qualityData)){ + BigDecimal data= BasTargetUtil.calcO38HData(list); + qualityData.setO3(data); + qualityData.setO38h(data); + } + return qualityData; + } + return new AirQualityData(); + } + + */ +/** + * 判断时间范围 今天的01小时 到明天的 00小时 求 + * @param paramVo + * @param nowDate + *//* + + private void getParamData(AirParmaVo paramVo ,Date nowDate){ + //判断时间为00小时 + if (nowDate.getHours()==0){ + Date date = DateUtils.addDateYears(new Date(), -1); //去年数据 + paramVo.setStartTime(DateUtil.format(date, "yyyy-MM-dd 01:00:00")); + paramVo.setEndTime(DateUtil.format(nowDate, "yyyy-MM-dd HH:00:00")); + }else { + paramVo.setStartTime(DateUtil.format(nowDate, "yyyy-MM-dd 01:00:00")); + paramVo.setEndTime(DateUtil.format(nowDate, "yyyy-MM-dd HH:00:00")); + } + } + + List areaData(AirParmaVo airParmaVo){ + List airHourData = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(airParmaVo)) { + NativeSearchQuery build = concatSearchParams(airParmaVo, 2); + SearchHits search = elasticsearchRestTemplate.search(build, QEnvgasAreaHour.class); + List> searchHits = search.getSearchHits(); + if (CollectionUtils.isNotEmpty(searchHits)) { + airHourData = searchHits.stream().map(SearchHit::getContent).collect(Collectors.toList()); + } + } + return airHourData; + } + + NativeSearchQuery concatSearchParams(AirParmaVo airParmaVo, Integer type) { + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + //时间点 参数 + if (StringUtils.isNotBlank(airParmaVo.getDatetime())) { + QueryBuilder timePointBuilder = QueryBuilders.termQuery("data_time", airParmaVo.getDatetime()); + boolQueryBuilder.must(timePointBuilder); + } + //时间区间 参数 + if (StringUtils.isNotBlank(airParmaVo.getStartTime())) { + QueryBuilder startTimeBuilder = QueryBuilders.rangeQuery("data_time").gte(airParmaVo.getStartTime()); + boolQueryBuilder.must(startTimeBuilder); + } + if (StringUtils.isNotBlank(airParmaVo.getEndTime())) { + QueryBuilder endTimeBuilder = QueryBuilders.rangeQuery("data_time").lte(airParmaVo.getEndTime()); + boolQueryBuilder.must(endTimeBuilder); + } + //区域code + if (type == 2) { + //单个站点id 参数 + if (StringUtils.isNotBlank(airParmaVo.getRegionCode())) { + QueryBuilder stationIdBuilder = QueryBuilders.termQuery("region_code", airParmaVo.getRegionCode()); + boolQueryBuilder.must(stationIdBuilder); + } + //站点id集合 参数 + if (CollectionUtils.isNotEmpty(airParmaVo.getRegionCodeList())) { + QueryBuilder idListBuilder = QueryBuilders.termsQuery("region_code", airParmaVo.getRegionCodeList()); + boolQueryBuilder.must(idListBuilder); + } + } else { + //站点id + //单个站点id + if (StringUtils.isNotBlank(airParmaVo.getStationId())) { + QueryBuilder stationIdBuilder = QueryBuilders.termQuery("station_code", airParmaVo.getStationId()); + boolQueryBuilder.must(stationIdBuilder); + } + //站点id集合 + if (CollectionUtils.isNotEmpty(airParmaVo.getStationIdList())) { + QueryBuilder idListBuilder = QueryBuilders.termsQuery("station_code", airParmaVo.getStationIdList()); + boolQueryBuilder.must(idListBuilder); + } + } + //排序 正序 倒序 + NativeSearchQuery build = null; + if (airParmaVo.getDescSort() != null && airParmaVo.getDescSort() == 1) { + build = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSorts(SortBuilders.fieldSort("data_time").order(SortOrder.DESC)).build(); + } + if (airParmaVo.getAscSort() != null && airParmaVo.getAscSort() == 2) { + build = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSorts(SortBuilders.fieldSort("data_time").order(SortOrder.ASC)).build(); + } + //es查询超过1毫秒就返回超时,但测试发现与想象的不一样。即使耗时100+毫秒也不会超时。 + build.setTimeout(Duration.ofSeconds(Long.valueOf("15"))); + return build; + } +*/ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/AbstractStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/AbstractStrategyAdapter.java new file mode 100644 index 0000000..4a0c366 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/AbstractStrategyAdapter.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.service.strategy; + +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; +import java.util.List; +import lombok.extern.slf4j.Slf4j; + +/** + * @Auther: cjh + * @Date: 2023-03-25 15:39 + * @Class: AbtractGtStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +public abstract class AbstractStrategyAdapter implements Strategy { + + /** + * 实时设备状态、放散状态、产量计算 + * @param industry + * @param deviceType + */ + @Override + public void doCheckProcess(String industry,String deviceType,Date tempDate) { + this.doProcess(industry,deviceType,tempDate); + } + + + /** + * 历史产量-处理数据 + * @param factoryId + * @param deviceType + * @param tempDate + */ + @Override + public void doCheckProcessTemp(String factoryId,String industry,String deviceType,Date tempDate) { + + this.doProcessYieldTemp(factoryId, industry, deviceType, tempDate); + } + + /** + * 计算产量 + * @param vo + */ + @Override + public void doCheckProcessYield(FactoryDeviceVo vo){ + this.doProcessYield(vo); + } + + /** + * 处理设备停限产状态、放散状态 + * @param industry + * @param deviceType + * @param tempDate + * @return + */ + protected abstract void doProcess(String industry,String deviceType,Date tempDate); + + /** + * 处理产量统计 + * @param vo + */ + protected abstract void doProcessYield(FactoryDeviceVo vo); + + /** + * 临时处理历史数据 + * @param factoryId + * @param industry + * @param deviceType + * @param tempDate + * @return + */ + protected abstract void doProcessYieldTemp(String factoryId,String industry,String deviceType,Date tempDate); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StatusStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StatusStrategyAdapter.java new file mode 100644 index 0000000..3893a77 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StatusStrategyAdapter.java @@ -0,0 +1,344 @@ +package cn.cecep.talroad.service.strategy; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.IBasDeviceSalAnalysisService; +import cn.cecep.talroad.service.ISRaRealTimeAnalysisRunOneService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRunService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Auther: cjh + * @Date: 2023-04-27 15:53 + * @Class: StatusStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +public abstract class StatusStrategyAdapter extends AbstractStrategyAdapter { + + @Autowired + private IBasDeviceSalAnalysisService basDeviceSalAnalysisService; + @Autowired + private ISRaRealTimeAnalysisRunService raRealTimeAnalysisRunService; + @Autowired + private IAmProblemFiService amProblemFiService; + @Autowired + private ISRaRealTimeAnalysisCoService sRaRealTimeAnalysisCoService; + @Autowired + private ISRaRealTimeAnalysisRunOneService isRaRealTimeAnalysisRunOneService; + + @Override + protected void doProcess(String industry, String deviceType, Date tempDate) { + this.doProcessStatus(industry,deviceType,tempDate); + } + + /** + * 处理产量统计 + * @param vo + */ + @Override + protected void doProcessYield(FactoryDeviceVo vo){ + + } + /** + * 临时处理历史数据 + * @param factoryId + * @param industry + * @param deviceType + * @param tempDate + * @return + */ + @Override + protected void doProcessYieldTemp(String factoryId,String industry,String deviceType,Date tempDate){ + + } + + /** + * 处理设备停限产状态、放散状态、产量计算 + * @param industry + * @param deviceType + * @return + */ + protected abstract void doProcessStatus(String industry,String deviceType,Date tempDate); + + /** + * 处理设备运行状态 + * @param vo + * @param start + * @param oldStatus + * @param currentStatus + * @param judgeEnum + * @return + */ + protected SRaRealTimeAnalysisRun doProcessDeviceRunStatus(FactoryDeviceVo vo, Date start,Date end, + SRaRealTimeAnalysisRunOne oldStatus, DeviceStatusEnum currentStatus, JudgeEnum judgeEnum) { + SRaRealTimeAnalysisRun realRun = new SRaRealTimeAnalysisRun(); + realRun.setFactoryId(vo.getFactoryId()); + realRun.setFactoryName(vo.getFactoryName()); + realRun.setDistrictCode(vo.getCityCode()); + realRun.setDistrictName(vo.getCityName()); + realRun.setIndustryCategoryCode(vo.getIndustry()); + realRun.setIndustryCategoryName(vo.getIndustryName()); + realRun.setPerformanceLevel(vo.getPreConLevel()); + realRun.setDeviceId(vo.getDeviceId()); + realRun.setDeviceName(vo.getDeviceName()); + realRun.setDeviceType("1");//1 生产设备 2 治理设备 + realRun.setJudgementBasis(judgeEnum.getCode());//判断依据 + realRun.setUpdateTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:00",end)); + realRun.setCreateTime(new Date()); + // 设备缺失参数 + if(DeviceStatusEnum.MISS.getCode().equals(currentStatus.getCode())) { + // 数据缺失情况调用 + //String runEtc = getRunEtc(start,end, currentStatus.getValue()); + realRun.setOperationStatus(currentStatus.getCode()); + //realRun.setRunEtc(runEtc); + }else { + // 判断启停、停启状态两个参数为必须值 设备上次状态为生产, + if (oldStatus != null && StringUtils.isNotEmpty(oldStatus.getDataId()) && DeviceStatusEnum.RUN.getCode().equals(oldStatus.getOperationStatus())) { + //本次为生产 + if( DeviceStatusEnum.RUN.getCode().equals(currentStatus.getCode())) { + //本次停运,获取启停运行时间段 + //String runEtc = getRunEtc(start, end, DeviceStatusEnum.RUN.getValue()); + realRun.setOperationStatus(DeviceStatusEnum.RUN.getCode()); + //realRun.setRunEtc(runEtc); + }else if(DeviceStatusEnum.STOP.getCode().equals(currentStatus.getCode())){ + //本次停运,获取启停运行时间段 + //String runEtc = getRunEtc(start, end, DeviceStatusEnum.RUN_STOP.getValue()); + realRun.setOperationStatus(DeviceStatusEnum.RUN_STOP.getCode()); + //realRun.setRunEtc(runEtc); + } + } else if (oldStatus != null&& StringUtils.isNotEmpty(oldStatus.getDataId()) && DeviceStatusEnum.STOP.getCode().equals(oldStatus.getOperationStatus())){ + //上次设备状态为停运 + //本次为停运 + if(DeviceStatusEnum.STOP.getCode().equals(currentStatus.getCode())) { + //String runEtc = getRunEtc(start,end, DeviceStatusEnum.STOP.getValue()); + realRun.setOperationStatus(DeviceStatusEnum.STOP.getCode()); + //realRun.setRunEtc(runEtc); + }else if(DeviceStatusEnum.RUN.getCode().equals(currentStatus.getCode())){ + //本次运行,获取停启运行时间段 + //String runEtc = getRunEtc(start, end, DeviceStatusEnum.STOP_RUN.getValue()); + realRun.setOperationStatus(DeviceStatusEnum.STOP_RUN.getCode()); + //realRun.setRunEtc(runEtc); + } + }else { + //String runEtc = getRunEtc(start, start, currentStatus.getCode()); + realRun.setOperationStatus(currentStatus.getCode()); + //realRun.setRunEtc(runEtc); + } + } + + return realRun; + } + + /** + * 获取运行时间段 + * @param start + * @param runStatus + * @return + */ + protected String getRunEtc(Date start, Date end,String runStatus) { + StringBuffer sb = new StringBuffer(); + sb.append(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",start)).append("-").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",end)).append(runStatus); + return sb.toString(); + } + + /** + * 查询设备上次状态 + * @param factoryId + * @param deviceId + * @return + */ + protected SRaRealTimeAnalysisRunOne getOldDeviceStatus(String factoryId,String deviceId){ + SRaRealTimeAnalysisRunOne run = new SRaRealTimeAnalysisRunOne(); + try { + run.setFactoryId(factoryId); + run.setDeviceId(deviceId); + List runList = isRaRealTimeAnalysisRunOneService.selectAnalysisRunByParams(run); + if (runList != null && runList.size() > 0) { + return runList.get(0); + } + } catch (Exception e) { + log.error("查询设备上一次运行状态异常:"+e); + } + return run; + } + + /** + * 保存co放散分析数据 + * @param vo 设备信息 + * @param start 日期 + * @param status 放散情况 + */ + protected SRaRealTimeAnalysisCo doProcessAnalysisCoData(FactoryDeviceVo vo,Date start,Date end, ReleaseStatusEnum status) { + String old = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", start); + String curr = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", end); + + SRaRealTimeAnalysisCo analysisCo = new SRaRealTimeAnalysisCo(); + analysisCo.setFactoryId(vo.getFactoryId()); + analysisCo.setFactoryName(vo.getFactoryName()); + analysisCo.setDistrictCode(vo.getCityCode()); + analysisCo.setDistrictName(vo.getCityName()); + analysisCo.setIndustryCategoryCode(vo.getIndustry()); + analysisCo.setIndustryCategoryName(vo.getIndustryName()); + analysisCo.setPerformanceLevel(vo.getPreConLevel()); + analysisCo.setWorkingProcedure(vo.getWorkStep()); + analysisCo.setDeviceName(vo.getDeviceName()); + analysisCo.setDeviceId(vo.getDeviceId()); + analysisCo.setDiffuse(old+"-"+curr+status.getName()); + analysisCo.setAnalyseTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:00", start)); + analysisCo.setCreateTime(new Date()); + analysisCo.setUpdateTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:00", start)); + analysisCo.setDiffuseStartTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:00",start)); + analysisCo.setDiffuseEndTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:mm:00",end)); + analysisCo.setDiffuseStatus(status.getCode()); + return analysisCo; + } + + /** + * 处理设备状态 + * @param factoryId + * @param deviceId + * @param stauts + * @param gasStatus + */ + public BasDeviceSalAnalysis doProcessDeviceAnalysisStatus(String factoryId,String deviceId,String stauts,String gasStatus){ + QueryWrapper basDeviceStatus = new QueryWrapper<>(); + basDeviceStatus.eq("factory_id", factoryId); + basDeviceStatus.eq("device_id", deviceId); + basDeviceStatus.last("limit 1"); + BasDeviceSalAnalysis oldBasDevice = null; + try { + // 查询设备原有设备状态 + oldBasDevice = basDeviceSalAnalysisService.getOne(basDeviceStatus); + } catch (Exception e) { + log.error("AbstractStrategyAdapter.doCheckProcess##查询原有状态报错"+e.getMessage()); + } + if(oldBasDevice!=null) { + oldBasDevice.setMonTime(new Date()); + oldBasDevice.setMonStatus(stauts); + oldBasDevice.setCoalGasStatus(gasStatus); + return oldBasDevice; + }else{ + BasDeviceSalAnalysis newBasDevice = new BasDeviceSalAnalysis(); + newBasDevice.setDeviceId(deviceId); + newBasDevice.setFactoryId(factoryId); + newBasDevice.setMonTime(new Date()); + newBasDevice.setMonStatus(stauts); + newBasDevice.setCoalGasStatus(gasStatus); + newBasDevice.setCreateTime(new Date()); + return newBasDevice; + } + } + + /** + * 处理报警数据 + * @param factoryId + * @param deviceId + * @param deviceName + * @param start + * @param end + * @param problemType + * @param msg + */ + protected AmProblemFi doProcessAlaram(String factoryId,String deviceId,String deviceName, Date start, Date end, ProblemTypeEnum problemType, String msg,String param,String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setProblemSources("1"); + problemFi.setFactoryId(factoryId); + problemFi.setProblemDetails(msg); + problemFi.setType(0); + // 数据缺失专有字段 + if(problemType.getCode().equals(ProblemTypeEnum.SJQS.getCode())) { + problemFi.setDeviceName(deviceName); + } + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(deviceId); + problemFi.setStationName(deviceName); + problemFi.setCreateTime(new Date()); + if(StringUtils.isNotEmpty(param)) { + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId", deviceId); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList", list); + problemFi.setExtra(JSON.toJSONString(map)); + } + return problemFi; + } + + /** + * 批量保存co放散分析 + * @param list + */ + protected void doSaveBatchSRaRealTimeAnalysisCo(List list){ + if(list!=null&&list.size()>0){ + sRaRealTimeAnalysisCoService.saveBatch(list); + } + } + + /** + * 设备状态批量保存或更新 + * @param list + */ + protected void doSaveOrUpdateBatchDeviceStatus(List list){ + if(list!=null&&list.size()>0) { + basDeviceSalAnalysisService.saveOrUpdateBatch(list); + } + } + + /** + * 批量保存设备运行状态 + * @param list + */ + protected void doSaveBatchAnalysisRunStatus(List list){ + if(list!=null&&list.size()>0) { + raRealTimeAnalysisRunService.saveBatch(list); + } + } + + /** + * 批量保存设备运行状态 + * @param list + */ + protected void doSaveBatchAnalysisRunOneStatus(List list){ + if(list!=null&&list.size()>0) { + isRaRealTimeAnalysisRunOneService.saveOrUpdateBatch(list); + } + } + + /** + * 批量保存报警数据 + * @param list + */ + protected void doSaveBatchAlarm(List list){ + if(list!=null&&list.size()>0) { + amProblemFiService.saveBatch(list); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/Strategy.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/Strategy.java new file mode 100644 index 0000000..dcb7f71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/Strategy.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.strategy; + +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; + +/** + * 钢铁行业策略接口 + */ +public interface Strategy { + + /** + * 分析处理设备参数,判断设施是否停产,并更新设施状态 + * @param industry + * @param deviceType + */ + public void doCheckProcess(String industry,String deviceType,Date tempDate); + + /** + * 历史产量-处理数据 + * @param factoryId + * + * @param industry + * @param deviceType + * @param date + */ + public void doCheckProcessTemp(String factoryId,String industry,String deviceType,Date date); + + public void doCheckProcessYield(FactoryDeviceVo vo); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StrategyFactory.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StrategyFactory.java new file mode 100644 index 0000000..f9c9040 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/StrategyFactory.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.service.strategy; + +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Auther: cjh + * @Date: 2023-03-25 15:38 + * @Class: StrategyFactory + * @Deseription: + * @Version V1.0 + */ +@Component +public class StrategyFactory { + + @Autowired + private Map strategyMap; + + /** + * 通过名字获取策略实现类 + * + * @param strategyName + * @return + */ + public Strategy getByName(String strategyName) { + return strategyMap.get(strategyName); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/YieldStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/YieldStrategyAdapter.java new file mode 100644 index 0000000..6c0f02b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/YieldStrategyAdapter.java @@ -0,0 +1,437 @@ +package cn.cecep.talroad.service.strategy; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IAmProblemFiService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.STaskYieldTrendService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCementService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCoalService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisCokeService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisConverterService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisFurnaceService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisGlassService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisPowerService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisRubbishService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicReference; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Auther: cjh + * @Date: 2023-04-27 15:54 + * @Class: YieldStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +public abstract class YieldStrategyAdapter extends AbstractStrategyAdapter { + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private ISRaRealTimeAnalysisCoalService raRealTimeAnalysisCoalService; + @Autowired + private ISRaRealTimeAnalysisCokeService raRealTimeAnalysisCokeService; + @Autowired + private STaskYieldTrendService taskYieldTrendService; + @Autowired + private ISRaRealTimeAnalysisFurnaceService raRealTimeAnalysisFurnaceService; + @Autowired + private ISRaRealTimeAnalysisConverterService raRealTimeAnalysisConverterService; + @Autowired + private ISRaRealTimeAnalysisGlassService raRealTimeAnalysisGlassService; + @Autowired + private ISRaRealTimeAnalysisPowerService raRealTimeAnalysisPowerService; + @Autowired + private ISRaRealTimeAnalysisRubbishService raRealTimeAnalysisRubbishService; + @Autowired + private ISRaRealTimeAnalysisCementService raRealTimeAnalysisCementService; + @Autowired + private IAmProblemFiService amProblemFiService; + + @Override + protected void doProcess(String industry, String deviceType, Date tempDate) {} + + @Override + protected void doProcessYield(FactoryDeviceVo vo) { + Date curr = new Date(); + this.doQueryYieldData(vo,curr,false); + } + + @Override + protected void doProcessYieldTemp(String factoryId, String industry, String deviceType, Date tempDate) { + QueryWrapper deviceQueryWrapper = new QueryWrapper<>(); + deviceQueryWrapper.select("device_id"); + deviceQueryWrapper.eq("factory_id", factoryId); + deviceQueryWrapper.eq("industry", industry); + deviceQueryWrapper.eq("type", deviceType); + deviceQueryWrapper.eq("status", 1); + List deviceList = basDeviceService.list(deviceQueryWrapper); + if (deviceList != null && deviceList.size() > 0) { + // 查询设备类型的参数配置 + deviceList.forEach(d -> { + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(d.getDeviceId()); + // 计算产量 + this.doQueryYieldData(vo,tempDate,true); + }); + } + } + + /** + * 处理产量统计逻辑 + * @param vo + * @param tempDate + * @param flag + */ + protected abstract void doQueryYieldData(FactoryDeviceVo vo,Date tempDate,boolean flag); + + /** + * 批量保存更新 + * @param list + */ + protected void doSaveBatchYieldTrendData(List list){ + if(list!=null&&list.size()>0){ + taskYieldTrendService.saveOrUpdateBatch(list); + } + } + + /** + * 保存产量 + */ + protected void doSaveYieldTrendData(STaskYieldTrend trend){ + taskYieldTrendService.saveOrUpdate(trend); + } + + /** + * 查询是否已经生成报警数据 + * @return + */ + protected boolean isExistAlarmData(FactoryDeviceVo vo,ProblemTypeEnum problemType,int hours){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",vo.getFactoryId()); + queryWrapper.eq("device_id",vo.getDeviceId()); + queryWrapper.eq("problem_type",problemType.getCode()); + queryWrapper.gt("create_time",DateUtils.addDateHours(new Date(),-hours)); + List list = amProblemFiService.list(queryWrapper); + if(list!=null&&list.size()>0){ + return true; + } + return false; + } + + /** + * 处理报警数据 + * @param factoryId + * @param deviceId + * @param deviceName + * @param start + * @param end + * @param problemType + * @param msg + */ + protected AmProblemFi doProcessAlaram(String factoryId,String deviceId,String deviceName, Date start, Date end, ProblemTypeEnum problemType, String msg,String param ,String paramProperty) { + AmProblemFi problemFi = new AmProblemFi(); + problemFi.setProblemSources("1"); + problemFi.setFactoryId(factoryId); + problemFi.setProblemDetails(msg); + problemFi.setType(1); + // 数据缺失专有字段 + if(problemType.getCode().equals(ProblemTypeEnum.SJQS.getCode())) { + problemFi.setDeviceName(deviceName); + } + problemFi.setProblemType(problemType.getCode()); + problemFi.setProblemTreatmentState("1"); + problemFi.setAnalyseTime(start); + problemFi.setAnalyseTimeEnd(end); + problemFi.setStationId(deviceId); + problemFi.setStationName(deviceName); + problemFi.setCreateTime(new Date()); + problemFi.setParamName(param); + problemFi.setParamProperty(paramProperty); + Map map = new HashMap<>(); + List> list = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceId",deviceId); + m.put("params", Arrays.asList(paramProperty.split(","))); + list.add(m); + map.put("dcsDeviceList",list); + problemFi.setExtra(JSON.toJSONString(map)); + return problemFi; + } + + /** + * 保存出铁量趋势 + * @param factoryId + * @param deviceId + * @param yieldTypeEnum 产量类型编码 + * @param lastHourBegin + * @param currentCount + * @param flag 是否处理历史数据 true 是 false 否 + */ + protected STaskYieldTrend doBuildTrenData(String factoryId,String deviceId,YieldTypeEnum yieldTypeEnum, Date lastHourBegin, BigDecimal currentCount,boolean flag) { + STaskYieldTrend trend = new STaskYieldTrend(); + trend.setFactoryId(factoryId); + trend.setDeviceId(deviceId); + trend.setNumber(currentCount); + trend.setDataTime(lastHourBegin); + trend.setDictCode(yieldTypeEnum.getCode()); + trend.setTimeType(TimeTypeEnum.HOUR.getCode()); + if(!flag) { + trend.setCreateTime(new Date()); + return trend; + }else{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id",trend.getFactoryId()); + queryWrapper.eq("device_id",trend.getDeviceId()); + queryWrapper.eq("data_time",trend.getDataTime()); + queryWrapper.eq("dict_code",trend.getDictCode()); + queryWrapper.eq("time_type",trend.getTimeType()); + STaskYieldTrend oldTrend = taskYieldTrendService.getOne(queryWrapper); + //存在产量数据则更新 + if(oldTrend!=null){ + oldTrend.setNumber(trend.getNumber()); + return oldTrend; + }else{ + trend.setCreateTime(new Date()); + return trend; + } + } + } + + /** + * 保存出铁量数据 + * @param vo + * @param lastTwoHourBegin + * @param currentCount + */ + protected void doSaveAnalysisFurnaceData(FactoryDeviceVo vo, Date lastTwoHourBegin, BigDecimal currentCount) { + SRaRealTimeAnalysisFurnace furnace = new SRaRealTimeAnalysisFurnace(); + furnace.setFactoryId(vo.getFactoryId()); + furnace.setDeviceId(vo.getDeviceId()); + furnace.setFactoryName(vo.getFactoryName()); + furnace.setDistrictCode(vo.getCityCode()); + furnace.setDistrictName(vo.getCityName()); + furnace.setDeviceName(vo.getDeviceName()); + furnace.setAnalyseTime(lastTwoHourBegin); + furnace.setTapNumber(currentCount); + furnace.setCreateTime(new Date()); + raRealTimeAnalysisFurnaceService.save(furnace); + } + + /** + * 保存转炉产量 + * @param vo + * @param gcrl + * @param ls + * @param cgl + * @param analyseTime + * @param cl + */ + protected void doSaveAnalysisConverterData(FactoryDeviceVo vo, Double gcrl,long ls, Double cgl, Date analyseTime, BigDecimal cl) { + SRaRealTimeAnalysisConverter s = new SRaRealTimeAnalysisConverter(); + s.setFactoryId(vo.getFactoryId()); + s.setFactoryName(vo.getFactoryName()); + s.setDistrictCode(vo.getCityCode()); + s.setDistrictName(vo.getCityName()); + s.setIndustryCategoryCode(vo.getIndustry()); + s.setIndustryCategoryName(vo.getIndustryName()); + s.setDeviceId(vo.getDeviceId()); + s.setDeviceName(vo.getDeviceName()); + s.setOutputNumber(cl); + s.setNominalNumber(new BigDecimal(gcrl)); + s.setAnalyseTime(analyseTime); + s.setConverterNumber(ls); + s.setTapNumber(new BigDecimal(cgl)); + s.setCreateTime(new Date()); + raRealTimeAnalysisConverterService.save(s); + } + + + /** + * 保存钢铁焦化焦炉产量 + * @param vo + * @param tmcs + * @param analyseTime + * @param cl + * @param yxrj + */ + protected void doSaveAnalysisCokeData(FactoryDeviceVo vo, long tmcs, Date analyseTime, + BigDecimal cl, AtomicReference yxrj) { + // 计算焦炉产量 + SRaRealTimeAnalysisCoke coke = new SRaRealTimeAnalysisCoke(); + coke.setFactoryId(vo.getFactoryId()); + coke.setFactoryName(vo.getFactoryName()); + coke.setDistrictCode(vo.getCityCode()); + coke.setDistrictName(vo.getCityName()); + coke.setDeviceName(vo.getDeviceName()); + coke.setDeviceId(vo.getDeviceId()); + coke.setAnalyseTime(analyseTime); + coke.setPushNumber(tmcs); + coke.setCokeNumber(cl); + coke.setVolumeNumber(new BigDecimal(yxrj.get())); + coke.setCreateTime(new Date()); + raRealTimeAnalysisCokeService.save(coke); + } + + /** + * 保存装煤次数、推焦次数 + * @param vo + * @param zmcs + * @param tmcs + * @param analyseTime + */ + protected void doSaveAnalysisCoal(FactoryDeviceVo vo, long zmcs, long tmcs, + Date analyseTime) { + SRaRealTimeAnalysisCoal real = new SRaRealTimeAnalysisCoal(); + real.setCoalNumber(zmcs); + real.setCokeNumber(tmcs); + real.setFactoryName(vo.getFactoryName()); + real.setDistrictCode(vo.getCityCode()); + real.setDistrictName(vo.getCityName()); + real.setIndustryCategoryCode(vo.getIndustry()); + real.setIndustryCategoryName(vo.getIndustryName()); + real.setDeviceName(vo.getDeviceName()); + real.setAnalyseTime(analyseTime); + real.setFactoryId(vo.getFactoryId()); + real.setDeviceId(vo.getDeviceId()); + real.setDataId(UUID.randomUUID().toString()); + real.setCreateTime(new Date()); + raRealTimeAnalysisCoalService.save(real); + } + + /** + * 保存玻璃产量数据 + * @param vo + * @param curr + * @param avgHour + * @param edcs + * @param sjcn + * @param blcl + */ + protected void doSaveAnalysisGlassData(FactoryDeviceVo vo, Date curr, Double avgHour, + AtomicReference edcs, AtomicReference sjcn, BigDecimal blcl) { + SRaRealTimeAnalysisGlass glass = new SRaRealTimeAnalysisGlass(); + glass.setGlassNumber(blcl); + glass.setFactoryName(vo.getFactoryName()); + glass.setDistrictCode(vo.getCityCode()); + glass.setDistrictName(vo.getCityName()); + glass.setDeviceName(vo.getDeviceName()); + glass.setFactoryId(vo.getFactoryId()); + glass.setDeviceId(vo.getDeviceId()); + glass.setPlanNumber(new BigDecimal(sjcn.get())); + glass.setKilnNumber(new BigDecimal(avgHour)); + glass.setRatedNumber(new BigDecimal(edcs.get())); + glass.setAnalyseTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", curr)); + glass.setCreateTime(new Date()); + raRealTimeAnalysisGlassService.save(glass); + } + + /** + * 保存电力机组负荷数据 + * @param vo + * @param curr + * @param avgHour + */ + protected void doSaveAnalysisPowerData(FactoryDeviceVo vo, Date curr, Double avgHour) { + SRaRealTimeAnalysisPower power = new SRaRealTimeAnalysisPower(); + power.setFactoryId(vo.getFactoryId()); + power.setFactoryName(vo.getFactoryName()); + power.setDistrictCode(vo.getCityCode()); + power.setDistrictName(vo.getCityName()); + power.setDeviceName(vo.getDeviceName()); + power.setDeviceId(vo.getDeviceId()); + power.setAnalyseTime(DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", curr)); + power.setPowerNumber(new BigDecimal(avgHour)); + power.setCreateTime(new Date()); + raRealTimeAnalysisPowerService.save(power); + } + + + /** + * 保存垃圾处理量记录 + * @param vo + * @param lastHour + * @param currentValue + * @param method + */ + protected void doSaveRubbishData(FactoryDeviceVo vo, Date lastHour, + BigDecimal currentValue, String method) { + SRaRealTimeAnalysisRubbish rubbish = new SRaRealTimeAnalysisRubbish(); + rubbish.setRubbishNumber(currentValue); + rubbish.setFeedingMethod(method); + rubbish.setAnalyseTime(DateUtils.parseFormatDate("yyyy-MM-dd HH", lastHour)); + rubbish.setFactoryId(vo.getFactoryId()); + rubbish.setDeviceId(vo.getDeviceId()); + rubbish.setFactoryName(vo.getFactoryName()); + rubbish.setDistrictCode(vo.getCityCode()); + rubbish.setDistrictName(vo.getCityName()); + rubbish.setDeviceName(vo.getDeviceName()); + rubbish.setCreateTime(new Date()); + raRealTimeAnalysisRubbishService.save(rubbish); + } + + /** + * 保存水泥产量 + * @param vo + * @param avgHour + * @param slHour + * @param analyseTime + */ + protected void doSaveAnalysisCementData(FactoryDeviceVo vo, Double avgHour, BigDecimal slHour, + Date analyseTime) { + SRaRealTimeAnalysisCement real = new SRaRealTimeAnalysisCement(); + real.setAnalyseTime(analyseTime); + real.setFactoryId( vo.getFactoryId()); + real.setFactoryName(vo.getFactoryName()); + real.setDistrictCode(vo.getCityCode()); + real.setDistrictName(vo.getCityName()); + real.setDeviceName(vo.getDeviceName()); + real.setDeviceId(vo.getDeviceId()); + real.setDeviceType(vo.getDeviceType()); + real.setAddNumber(new BigDecimal(avgHour)); + real.setGrogNumber(slHour); + real.setCreateTime(new Date()); + raRealTimeAnalysisCementService.save(real); + } + + /** + * 批量保存报警数据 + * @param problemFi + */ + protected void doSaveAlarm(AmProblemFi problemFi){ + amProblemFiService.save(problemFi); + } + + /** + * 批量保存报警数据 + * @param list + */ + protected void doSaveBatchAlarm(List list){ + if(list!=null&&list.size()>0) { + amProblemFiService.saveBatch(list); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxAdapter.java new file mode 100644 index 0000000..8a2bfb3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxAdapter.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.service.strategy.support.bl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IMonDevBlRealService; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-28 18:50 + * @Class: BlScxAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("BLSCX") +public class BlScxAdapter extends StatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevBlRealService monDevBlRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + + Date lastHour = DateUtils.addMinutes(curr, -15); + List realList = monDevBlRealService.selectLatestByParams(industry,deviceType, lastHour,curr); + if(realList!=null&&realList.size()>0){ + realList.forEach(real->{ + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(), Arrays.asList("bs102","bs107")); + paramsList.forEach(param->{ + if ("bs102".equalsIgnoreCase(param.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getBs102())) { + m.getAndIncrement(); + if (Double.valueOf(real.getBs102()) < param.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("bs107".equalsIgnoreCase(param.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getBs107())) { + m.getAndIncrement(); + if (Double.valueOf(real.getBs107()) < param.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + }); + //数据缺失1种以上 + if (m.get() < 1) { + //数据缺失,无法判断" + + } else { + //满足其中一个停产条件即停机 + if (n.get() > 0) { + //设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"投料机输出频率,退火窑辊道车速","bs102,bs107"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"投料机输出频率,退火窑辊道车速","bs102,bs107"); + alarmList.add(problemFi); + } + } + } + }); + + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxCountAdapter.java new file mode 100644 index 0000000..8f47a02 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/bl/BlScxCountAdapter.java @@ -0,0 +1,390 @@ +package cn.cecep.talroad.service.strategy.support.bl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.DeviceParamTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevBlRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 12:01 + * @Class: BlScxCountAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("BLSCXSCX") +public class BlScxCountAdapter extends YieldStrategyAdapter { + + @Autowired + private IBasDeviceConfigService basDeviceConfigService; + @Autowired + private IMonDevBlRealService monDevBlRealService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private RedisService redisService; + + /** + * 查询设备监测数据 + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo,Date tempDate,boolean flag){ + Date lastHour = DateUtils.addHours(tempDate,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id", vo.getFactoryId()); + queryWrapper.eq("device_id", vo.getDeviceId()); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time", lastHourBegin, lastHourEnd); + queryWrapper.orderByAsc("data_time"); + List realList = monDevBlRealService.list(queryWrapper); + + if (realList != null && realList.size() > 0) { + //计算1小时内退火窑车速平均值 + Double avgHour = realList.stream().filter(r->StringUtils.isNotEmpty(r.getBs107())).mapToDouble(m -> Double.valueOf(m.getBs107())).average().getAsDouble(); + // 额定车速 + AtomicReference edcs = new AtomicReference<>(0d); + // 设计产能 + AtomicReference sjcn = new AtomicReference<>(0d); + + QueryWrapper configQueryWrapper = new QueryWrapper<>(); + configQueryWrapper.eq("factory_id", vo.getFactoryId()); + configQueryWrapper.eq("device_id", vo.getDeviceId()); + configQueryWrapper.eq("industry", vo.getIndustry()); + configQueryWrapper.eq("device_type", vo.getDeviceType()); + List configList = basDeviceConfigService.list(configQueryWrapper); + if(configList!=null&&configList.size()>0) { + configList.forEach(p -> { + if (DeviceParamTypeEnum.CN_TYPE.getCode().equalsIgnoreCase(p.getParamCode())) { + sjcn.set(Double.valueOf(p.getNormalValue())); + } else if (DeviceParamTypeEnum.CS_TYPE.getCode().equalsIgnoreCase(p.getParamCode())) { + edcs.set(Double.valueOf(p.getNormalValue())); + } + }); + } + // 额定车速及设计产能不为空 + if (edcs.get() > 0 && sjcn.get() > 0) { + // 玻璃产量 + BigDecimal blcl = new BigDecimal(avgHour) + .divide(new BigDecimal(edcs.get()), 2, RoundingMode.HALF_UP) + .multiply(new BigDecimal(sjcn.get())).setScale(2,RoundingMode.HALF_UP); + // 保存玻璃产量数据 + doSaveAnalysisGlassData(vo, lastHourBegin, avgHour, edcs, sjcn, blcl); + // 保存趋势数据 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(),vo.getDeviceId(), YieldTypeEnum.BL_001,lastHourBegin,blcl,flag); + // 保存产量 + super.doSaveYieldTrendData(trend); + } + // 布袋除尘器压差是否频繁超高、过低分析 + try { + this.doProcessPressData(vo,realList,lastHour); + } catch (Exception e) { + log.error("玻璃布袋除尘器,压差是否频繁超高分析异常"+e.getMessage()); + } + + } + } + + /** + * 布袋除尘器,压差是否频繁超高分析 + * @param vo + * @param currList + * @param lastHour + */ + private void doProcessPressData(FactoryDeviceVo vo, List currList, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + // 布袋除尘器,压差是否频繁超高 + if (currList != null && currList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("bz100","g502","bz101","bz102")); + // 布袋除尘器 + processBdData(vo, currList, lastHour, alarmList, curr, paramsList); + //静电除尘 + processJdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 批量保存报警数据 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 布袋除尘器 + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("bz100".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getBz100()) && Double.valueOf(real.getBz100()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + h.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getBz100()) && Double.valueOf(real.getBz100()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if (StringUtils.isEmpty(overFlag)) { + // 满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(lowFlag)) { + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + /** + * 静电除尘 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processJdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + + String highFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId()); + String ycFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(highFlag)||StringUtils.isEmpty(ycFlag)||StringUtils.isEmpty(lowFlag)) { + + //报警间隔时长 + BasThresholdConfig alarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J01.getCode()); + //超标次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J02.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J03.getCode()); + // 连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J04.getCode()); + + AtomicInteger m = new AtomicInteger();//超标次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger l = new AtomicInteger();//连续累计过低时间 + + AtomicReference pressStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference elecStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference oneStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + //一次电流 + if ("g502".equals(p.getParamCodeSvc())) { + oneStandValue.set(p.getNormalValue()); + } + //二次电压 + if ("bz102".equals(p.getParamCodeSvc())) { + pressStandValue.set(p.getNormalValue()); + } + //二次电流 + if ("bz101".equals(p.getParamCodeSvc())) { + elecStandValue.set(p.getNormalValue()); + } + }); + } + + if (pressStandValue.get().doubleValue() > 0 || elecStandValue.get().doubleValue() > 0) { + Set set = new HashSet<>(); + Set bset = new HashSet<>(); + Double maxElec = elecStandValue.get().multiply(new BigDecimal(1.2)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minElec = elecStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minPress = pressStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mElec = elecStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nElec = elecStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mPress = pressStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nPress = pressStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mOneElec = oneStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流1.1倍 + Double nOneElec = oneStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流0.9倍 + + currList.forEach(real -> { + if (StringUtils.isNotEmpty(real.getBz101())) { + // 二次电流大于额定电流1.2倍,二次电压小于额定电压0.5 + if (StringUtils.isNotEmpty(real.getBz102()) && Double.valueOf(real.getBz101()) > maxElec && Double.valueOf(real.getBz102()) < minPress) { + h.getAndIncrement(); + } + // 二次电流小于额定电流0.9 或二次电流大于额定电流1.1 + if (Double.valueOf(real.getBz101()) < nElec || Double.valueOf(real.getBz101()) > mElec) { + m.getAndIncrement(); + set.add("二次电流"); + bset.add("二次电流额定电流"); + } + //二次电压正常,二次电流小于额定电流0.5 + if (StringUtils.isNotEmpty(real.getBz102()) && (Double.valueOf(real.getBz102()) > nPress && Double.valueOf(real.getBz102()) < mPress) + && Double.valueOf(real.getBz101()) < minElec) { + l.getAndIncrement(); + } else { + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + // 二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (StringUtils.isNotEmpty(real.getBz102()) && (Double.valueOf(real.getBz102()) < nPress || Double.valueOf(real.getBz102()) > mPress)) { + m.getAndIncrement(); + set.add("二次电压"); + bset.add("二次电压额定电压"); + } + // 一次电流小于额定电流0.9 或一次电流大于额定电流1.1 + if (StringUtils.isNotEmpty(real.getG502()) && (Double.valueOf(real.getG502()) < nOneElec || Double.valueOf(real.getG502()) > mOneElec)) { + m.getAndIncrement(); + set.add("一次电流"); + bset.add("一次电流额定电流"); + } + + }); + if (StringUtils.isEmpty(highFlag)) { + //二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,生成报警记录 + if (h.get() > hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GG); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(ycFlag)) { + //二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (m.get() >= hCount.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + String paramStr = StringUtils.join(",", set); + String standStr = StringUtils.join(",", bset); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,报警指标" + paramStr + "超过对比标准" + standStr + "10%以上次数超过" + hCount.getThresholdValue().intValue() + "次,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_YC); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + + if (StringUtils.isEmpty(lowFlag)) { + //二次电压正常 且二次电流小于额定电流0.5 + if (l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电压正常,但二次电流过低,时长超过" + lTime.getThresholdValue().intValue() + "分钟,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GD); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + } + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), "压差,一次电流,二次电流,二次电压", "bz100,g502,bz101,bz102"); + return problemFi; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulAdapter.java new file mode 100644 index 0000000..7419273 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulAdapter.java @@ -0,0 +1,170 @@ +package cn.cecep.talroad.service.strategy.support.dl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.service.IMonDevDlRealService; +import cn.cecep.talroad.service.strategy.AbstractStrategyAdapter; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-27 19:26 + * @Class: DlGulAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("DLGUL") +public class DlGulAdapter extends StatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevDlRealService monDevDlRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + + Date lastHour = DateUtils.addMinutes(curr, -15); + List realList = monDevDlRealService.selectLatestByParams(industry,deviceType, lastHour,curr); + if(realList!=null&&realList.size()>0){ + realList.forEach(real->{ + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(), Arrays.asList("g903","hs101")); + if(real.getG905()!=null) { + // 引风机状态 + m.getAndIncrement(); + // 引风机状态为0为停机 + if (Double.valueOf(real.getG905()).compareTo(0.0)==0) { + n.getAndIncrement(); + } + } + if(paramsList!=null && paramsList.size()>0) { + paramsList.forEach(p -> { + if ("g903".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG903())) { + // 锅炉燃料给料量 + m.getAndIncrement(); + if (Double.valueOf(real.getG903()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("hs101".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getHs101())) { + // 发机侧锅炉蒸发量 + m.getAndIncrement(); + if (Double.valueOf(real.getHs101()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + }); + } + // 数据缺失超过一条 + if (m.get() < 2) { + // 数据缺失无法判断 + + } else { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"锅炉燃料给料量,发机侧锅炉蒸发量,引风机状态","g903,hs101,g905"); + alarmList.add(problemFi); + } + } else { + //设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"锅炉燃料给料量,发机侧锅炉蒸发量,引风机状态","g903,hs101,g905"); + alarmList.add(problemFi); + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulCountAdapter.java new file mode 100644 index 0000000..8e582df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/dl/DlGulCountAdapter.java @@ -0,0 +1,355 @@ +package cn.cecep.talroad.service.strategy.support.dl; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevDlRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 12:04 + * @Class: DlGulCountAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("DLGULGUL") +public class DlGulCountAdapter extends YieldStrategyAdapter { + + @Autowired + private IMonDevDlRealService monDevDlRealService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private RedisService redisService; + + /** + * 查询设备监测数据 + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo,Date tempDate,boolean flag){ + Date lastHour = DateUtils.addHours(tempDate, -1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59", lastHour); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id", vo.getFactoryId()); + queryWrapper.eq("device_id", vo.getDeviceId()); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time", lastHourBegin, lastHourEnd); + queryWrapper.orderByAsc("data_time"); + List realList = monDevDlRealService.list(queryWrapper); + if (realList != null && realList.size() > 0) { + //计算1小时内机组符合平均值 + Double avgHour = realList.stream().filter(r->StringUtils.isNotEmpty(r.getG947())).mapToDouble(m -> Double.valueOf(m.getG947())).average().getAsDouble(); + // 保存电力机组负荷数据 + super.doSaveAnalysisPowerData(vo, lastHourBegin, avgHour); + // 保存机组负荷趋势 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(),vo.getDeviceId(), YieldTypeEnum.DL_001,lastHourBegin,new BigDecimal(avgHour),flag); + // 保存产量 + super.doSaveYieldTrendData(trend); + + try { + this.doProcessPressData(vo,realList,lastHour); + } catch (Exception e) { + log.error("电力布袋除尘器,压差是否频繁超高分析异常"+e.getMessage()); + } + } + } + + /** + * 布袋除尘器,压差是否频繁超高分析 + * @param vo + * @param currList + * @param lastHour + */ + private void doProcessPressData(FactoryDeviceVo vo, List currList, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + // 布袋除尘器,压差是否频繁超高 + if (currList != null && currList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("hz100","g502","hz101","hz102")); + // 布袋除尘器 + processBdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 静电除尘 + processJdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 批量保存报警数据 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 布袋除尘器 + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("hz100".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getHz100()) && Double.valueOf(real.getHz100()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + h.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getHz100()) && Double.valueOf(real.getHz100()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if (StringUtils.isEmpty(overFlag)) { + // 满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(lowFlag)) { + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + /** + * 静电除尘 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processJdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + + String highFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId()); + String ycFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(highFlag)||StringUtils.isEmpty(ycFlag)||StringUtils.isEmpty(lowFlag)) { + + //报警间隔时长 + BasThresholdConfig alarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J01.getCode()); + //超标次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J02.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J03.getCode()); + // 连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J04.getCode()); + + AtomicInteger m = new AtomicInteger();//超标次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger l = new AtomicInteger();//连续累计过低时间 + + AtomicReference pressStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference elecStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference oneStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + //一次电流 + if ("g502".equals(p.getParamCodeSvc())) { + oneStandValue.set(p.getNormalValue()); + } + //二次电压 + if ("hz102".equals(p.getParamCodeSvc())) { + pressStandValue.set(p.getNormalValue()); + } + //二次电流 + if ("hz101".equals(p.getParamCodeSvc())) { + elecStandValue.set(p.getNormalValue()); + } + }); + } + + if (pressStandValue.get().doubleValue() > 0 || elecStandValue.get().doubleValue() > 0) { + Set set = new HashSet<>(); + Set bset = new HashSet<>(); + Double maxElec = elecStandValue.get().multiply(new BigDecimal(1.2)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minElec = elecStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minPress = pressStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mElec = elecStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nElec = elecStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mPress = pressStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nPress = pressStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mOneElec = oneStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流1.1倍 + Double nOneElec = oneStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流0.9倍 + + currList.forEach(real -> { + if (StringUtils.isNotEmpty(real.getHz101())) { + // 二次电流大于额定电流1.2倍,二次电压小于额定电压0.5 + if (StringUtils.isNotEmpty(real.getHz102()) && Double.valueOf(real.getHz101()) > maxElec && Double.valueOf(real.getHz102()) < minPress) { + h.getAndIncrement(); + } + // 二次电流小于额定电流0.9 或二次电流大于额定电流1.1 + if (Double.valueOf(real.getHz101()) < nElec || Double.valueOf(real.getHz101()) > mElec) { + m.getAndIncrement(); + set.add("二次电流"); + bset.add("二次电流额定电流"); + } + //二次电压正常,二次电流小于额定电流0.5 + if (StringUtils.isNotEmpty(real.getHz102()) && (Double.valueOf(real.getHz102()) > nPress && Double.valueOf(real.getHz102()) < mPress) + && Double.valueOf(real.getHz101()) < minElec) { + l.getAndIncrement(); + } else { + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + // 二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (StringUtils.isNotEmpty(real.getHz102()) && (Double.valueOf(real.getHz102()) < nPress || Double.valueOf(real.getHz102()) > mPress)) { + m.getAndIncrement(); + set.add("二次电压"); + bset.add("二次电压额定电压"); + } + // 一次电流小于额定电流0.9 或一次电流大于额定电流1.1 + if (StringUtils.isNotEmpty(real.getG502()) && (Double.valueOf(real.getG502()) < nOneElec || Double.valueOf(real.getG502()) > mOneElec)) { + m.getAndIncrement(); + set.add("一次电流"); + bset.add("一次电流额定电流"); + } + + }); + if (StringUtils.isEmpty(highFlag)) { + //二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,生成报警记录 + if (h.get() > hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GG); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(ycFlag)) { + //二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (m.get() >= hCount.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + String paramStr = StringUtils.join(",", set); + String standStr = StringUtils.join(",", bset); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,报警指标" + paramStr + "超过对比标准" + standStr + "10%以上次数超过" + hCount.getThresholdValue().intValue() + "次,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_YC); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + + if (StringUtils.isEmpty(lowFlag)) { + //二次电压正常 且二次电流小于额定电流0.5 + if (l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电压正常,但二次电流过低,时长超过" + lTime.getThresholdValue().intValue() + "分钟,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GD); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + } + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), "压差,一次电流,二次电流,二次电压", "hz100,g502,hz101,hz102"); + return problemFi; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslAdapter.java new file mode 100644 index 0000000..e803126 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslAdapter.java @@ -0,0 +1,182 @@ +package cn.cecep.talroad.service.strategy.support.fs; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IMonDevFsRealService; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSONObject; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-27 19:24 + * @Class: FsFslAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("FSFSL") +public class FsFslAdapter extends StatusStrategyAdapter { + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevFsRealService monDevFsRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + + Date lastHour = DateUtils.addMinutes(curr, -15); + Date lastHourBegin = DateUtils.addHours(curr, -1); + List realList = monDevFsRealService.selectLatestByParams(industry,deviceType, lastHour,curr); + if(realList!=null&&realList.size()>0){ + realList.forEach(real->{ + List lastHourData = monDevFsRealService.selectLatestHourDataByParams(real.getFactoryId(),real.getDeviceId(), lastHourBegin); + // 所有条件 + AtomicInteger total = new AtomicInteger(); + // 停产为真的条件 + AtomicInteger n = new AtomicInteger(); + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + + String fs100 = ""; + if (StringUtils.isNotEmpty(real.getFs100())) { + fs100 = real.getFs100(); + } + String finalFs10 = fs100; + boolean ljcll = lastHourData.stream().allMatch(r -> finalFs10.equals(r.getFs100())); + total.getAndIncrement(); + // fs100所有值相等为恒指 + if (ljcll) { + n.getAndIncrement(); + } + String gc19 = ""; + if (StringUtils.isNotEmpty(real.getGc19())) { + gc19 = real.getGc19(); + } + String finalGc19 = gc19; + // gc19所有值相等为恒指 + boolean tlqwy = lastHourData.stream().allMatch(r -> finalGc19.equals(r.getGc19())); + + if (StringUtils.isNotEmpty(real.getGc19())) { + //推料器位移行程 + total.getAndIncrement(); + //判断参数是否等于0 + if ("0".equals(real.getGc19())|| tlqwy) { + n.getAndIncrement(); + } + } + if (StringUtils.isNotEmpty(real.getGc21())) { + //焚烧工况_标记 + total.getAndIncrement(); + //判断参数是否等于0 + if ("0".equals(real.getGc21())) { + n.getAndIncrement(); + } + } + + if (StringUtils.isNotEmpty(real.getFs101())) { + //焚烧炉炉膛温度 + total.getAndIncrement(); + if (Double.valueOf(real.getFs101()).compareTo(800.0) < 0) { + n.getAndIncrement(); + } + } + if (StringUtils.isNotEmpty(real.getGc30())) { + //余热锅炉出口烟气温度 + total.getAndIncrement(); + if (Double.valueOf(real.getGc30()).compareTo(200.0) < 0) { + n.getAndIncrement(); + } + } + + if(total.get()<2){ + //数据缺失,无法判断 + + }else{ + //停产条件真的比例超过66% + if(!MathUtils.divideSjj(n.get(),total.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"垃圾处理量,推料器位移行程,焚烧工况标记,焚烧炉炉膛温度,余热锅炉出口烟气温度","fs100,gc19,gc21,fs101,gc30"); + alarmList.add(problemFi); + } + }else{ + //设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"垃圾处理量,推料器位移行程,焚烧工况标记,焚烧炉炉膛温度,余热锅炉出口烟气温度","fs100,gc19,gc21,fs101,gc30"); + alarmList.add(problemFi); + } + } + } + }); + + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslCountAdapter.java new file mode 100644 index 0000000..4cb0174 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/fs/FsFslCountAdapter.java @@ -0,0 +1,308 @@ +package cn.cecep.talroad.service.strategy.support.fs; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.DeviceParamTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevFsRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 15:35 + * @Class: FsFslCountAdapter + * @Deseription: 任务调度-垃圾处理量计算 + * @Version V1.0 + */ +@Slf4j +@Service("FSFSLFSL") +public class FsFslCountAdapter extends YieldStrategyAdapter { + + @Autowired + private IBasDeviceConfigService basDeviceConfigService; + @Autowired + private IMonDevFsRealService monDevFsRealService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private RedisService redisService; + + /** + * 查询设备监测数据 + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo,Date tempDate,boolean flag){ + Date curr = tempDate; + Date lastHour = DateUtils.addHours(curr,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + AtomicReference fslType = new AtomicReference<>(""); + + QueryWrapper configQueryWrapper = new QueryWrapper<>(); + configQueryWrapper.eq("factory_id", vo.getFactoryId()); + configQueryWrapper.eq("device_id", vo.getDeviceId()); + configQueryWrapper.eq("industry", vo.getIndustry()); + configQueryWrapper.eq("device_type", vo.getDeviceType()); + List configList = basDeviceConfigService.list(configQueryWrapper); + if(configList!=null&&configList.size()>0) { + configList.forEach(p -> { + // 焚烧炉类型 + if (DeviceParamTypeEnum.FS_TYPE.getCode().equalsIgnoreCase(p.getParamCode())) { + fslType.set(p.getNormalValue()); + } + }); + } + // 焚烧炉类型配置不为空进行计算 + if (StringUtils.isNotEmpty(fslType.get())) { + if ("1".equals(fslType.get())) { + // 皮带运输查询1小时内的数据,取平均值 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("fs100"); + queryWrapper.eq("factory_id", vo.getFactoryId()); + queryWrapper.eq("device_id", vo.getDeviceId()); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",lastHourBegin,lastHourEnd); + queryWrapper.isNotNull("fs100"); + List realList = monDevFsRealService.list(queryWrapper); + if(realList!=null&&realList.size()>0) { + // 计算垃圾传输量均值 + Double avgValue = realList.stream() + .mapToDouble(s -> Double.valueOf(s.getFs100())).average().getAsDouble(); + BigDecimal currentValue = new BigDecimal(avgValue); + + //皮带运输保存垃圾处理量记录 + super.doSaveRubbishData(vo, lastHour, currentValue, "皮带运输"); + // 保存产量趋势 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(),vo.getDeviceId(),YieldTypeEnum.FS_001, lastHourBegin, currentValue, flag); + super.doSaveYieldTrendData(trend); + } + } else if ("2".equals(fslType.get())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("fs100"); + queryWrapper.eq("factory_id", vo.getFactoryId()); + queryWrapper.eq("device_id", vo.getDeviceId()); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",lastHourBegin,lastHourEnd); + queryWrapper.orderByDesc("data_time"); + queryWrapper.isNotNull("fs100"); + queryWrapper.last("limit 1"); + List realList = monDevFsRealService.list(queryWrapper); + + if(realList!=null&&realList.size()>0) { + // 抓斗获取当前1小时最大垃圾处理量 + Double currHourCl = realList.stream() + .mapToDouble(s -> Double.valueOf(s.getFs100())).max().getAsDouble(); + + Date lastTwoHour = DateUtils.addHours(curr, -2); + Date lastTwoHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", lastTwoHour); + Date lastTwoHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59", lastTwoHour); + + QueryWrapper hourQueryWrapper = new QueryWrapper<>(); + hourQueryWrapper.select("fs100"); + hourQueryWrapper.eq("factory_id", vo.getFactoryId()); + hourQueryWrapper.eq("device_id", vo.getDeviceId()); + hourQueryWrapper.ge("data_time", lastTwoHourBegin); + hourQueryWrapper.le("data_time", lastTwoHourEnd); + hourQueryWrapper.orderByDesc("data_time"); + hourQueryWrapper.isNotNull("fs100"); + hourQueryWrapper.last("limit 1"); + // 获取前一个小时最大处理量 + MonDevFsReal oldData = monDevFsRealService.getOne(hourQueryWrapper); + + BigDecimal currentValue = null; + // 上次垃圾处理量不为空 + if (oldData != null && StringUtils.isNotEmpty(oldData.getFs100())) { + // 上次处理量 + Double lastCl = Double.valueOf(oldData.getFs100()); + // 本次处理量小于上次处理量,则为设备重置重新计算,否则最新监测处理量减去前一小时处理量为本小时内处理量 + if(currHourCl>=lastCl) { + currentValue = new BigDecimal(currHourCl) + .subtract(new BigDecimal(Double.valueOf(oldData.getFs100()))) + .setScale(2, + RoundingMode.HALF_UP); + }else{ + currentValue = new BigDecimal(currHourCl).setScale(2,RoundingMode.HALF_UP); + } + }else{ + currentValue = new BigDecimal(currHourCl).setScale(2,RoundingMode.HALF_UP); + } + //抓斗保存垃圾处理量记录 + super.doSaveRubbishData(vo, lastHour, currentValue, "抓斗"); + + // 保存产量趋势 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(),vo.getDeviceId(),YieldTypeEnum.FS_001, lastHourBegin, currentValue, flag); + super.doSaveYieldTrendData(trend); + } + } + } + // 处理布袋除尘器 + try { + this.doProcessPressData(vo,lastHour); + } catch (Exception e) { + log.error("焚烧布袋除尘器,压差是否频繁超高分析异常"+e.getMessage()); + } + } + + /** + * 布袋除尘器,压差是否频繁超高分析 + * @param vo + * @param lastHour + */ + private void doProcessPressData(FactoryDeviceVo vo, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("factory_id", vo.getFactoryId()); + queryWrapper.eq("device_id", vo.getDeviceId()); + queryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + queryWrapper.between("data_time",lastHourBegin,lastHourEnd); + List realList = monDevFsRealService.list(queryWrapper); + + // 布袋除尘器,压差是否频繁超高 + if (realList != null && realList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("fz108")); + // 布袋除尘器 + processBdData(vo, realList, lastHour, alarmList, curr, paramsList); + // 批量保存报警数据 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 布袋除尘器 + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("fz108".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getFz108()) && Double.valueOf(real.getFz108()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + h.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getFz108()) && Double.valueOf(real.getFz108()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if (StringUtils.isEmpty(overFlag)) { + // 满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(lowFlag)) { + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), "压差", "fz108"); + return problemFi; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzAdapter.java new file mode 100644 index 0000000..3bdc26a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzAdapter.java @@ -0,0 +1,161 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:11 + * @Class: GtFdjzAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTFDJZ") +public class GtFdjzAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 查询设备参数 + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(),Arrays.asList("p1", "p3", "g942", "o2Out")); + + if (StringUtils.isNotEmpty(real.getO2Out())) { + // 含氧量(出口) + m.getAndIncrement(); + if (Double.valueOf(real.getO2Out()).compareTo(0.0)==0 + || Double.valueOf(real.getO2Out()).compareTo(17.0)>=0) { + n.getAndIncrement(); + } + } + // 设备参数不为空 + if (paramsList != null && paramsList.size() > 0) { + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + paramsList.forEach(p -> { + if ("p1".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP1())) { + // 燃气流量 + m.getAndIncrement(); + if (Double.valueOf(real.getP1()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p3".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP3())) { + // 机组运行功率 + m.getAndIncrement(); + if (Double.valueOf(real.getP3()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g942".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG942())) { + // 主蒸汽流量 + m.getAndIncrement(); + if (Double.valueOf(real.getG942()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + }); + //数据缺失2种以上 + if (m.get()>=2) { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus,DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastDate,tempDate, ProblemTypeEnum.STOP_RUN,sb.toString(),"燃气流量,机组运行功率,主蒸汽流量,含氧量","p1,p3,g942,o2Out"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastDate,tempDate, ProblemTypeEnum.STOP_RUN,sb.toString(),"燃气流量,机组运行功率,主蒸汽流量,含氧量","p1,p3,g942,o2Out"); + alarmList.add(problemFi); + } + } + + } + + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzYieldAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzYieldAdapter.java new file mode 100644 index 0000000..67bf94c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtFdjzYieldAdapter.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; +import java.util.List; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-05-16 16:04 + * @Class: GtFdjzYieldAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("GTFDJZFDJZ") +public class GtFdjzYieldAdapter extends GtYieldStrategyAdapter{ + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + // 调用公共处理方法 + super.doProcessPressData(vo,currList,lastHour); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlAdapter.java new file mode 100644 index 0000000..6cd1bbc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlAdapter.java @@ -0,0 +1,161 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:09 + * @Class: GtGlAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTGL") +public class GtGlAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 查询设备参数 + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(),Arrays.asList("p1","p2", "p4", "g930","g932")); + // 设备参数不为空 + if (paramsList != null && paramsList.size() > 0) { + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + paramsList.forEach(p -> { + if ("p1".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP1())) { + // 顶压 + m.getAndIncrement(); + if (Double.valueOf(real.getP1()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p2".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP2())) { + // 风压 + m.getAndIncrement(); + if (Double.valueOf(real.getP2()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p4".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP4())) { + // 动力鼓风机风量 + m.getAndIncrement(); + if (Double.valueOf(real.getP4()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g930".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG930())) { + // 热风炉鼓风量 + m.getAndIncrement(); + if (Double.valueOf(real.getG930()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g932".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG932())) { + // 煤气使用量 + m.getAndIncrement(); + if (Double.valueOf(real.getG932()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + }); + //数据缺失2种以上 + if (m.get()>=2) { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus,DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastDate, tempDate, ProblemTypeEnum.STOP_RUN,sb.toString(),"顶压,风压,动力鼓风机风量,热风炉鼓风量,煤气使用量","p1,p2,p4,g930,g932"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastDate, tempDate, ProblemTypeEnum.STOP_RUN,sb.toString(),"顶压,风压,动力鼓风机风量,热风炉鼓风量,煤气使用量","p1,p2,p4,g930,g932"); + alarmList.add(problemFi); + } + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlCountAdapter.java new file mode 100644 index 0000000..e357a12 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlCountAdapter.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Date; +import java.util.List; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 11:36 + * @Class: GtGlCountAdapter + * @Deseription: 任务调度-计算高炉每小时出铁量 + * @Version V1.0 + */ +@Service("GTGLGL") +public class GtGlCountAdapter extends GtYieldStrategyAdapter { + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList,Date lastHour,boolean flag) { + if(currList!=null&&currList.size()>0) { + // 查询一小时内该设备的所有出铁量最大值 + Double currTotal = currList.stream().mapToDouble(m ->Double.valueOf(m.getG929())).max().getAsDouble(); + // 当前小时产量 + BigDecimal currentCount = null; + // 前一小时数据不为空 + if(oldList!=null&&oldList.size()>0) { + Double lastCl = oldList.stream().mapToDouble(dt -> Double.valueOf(dt.getG929())) + .max().getAsDouble(); + // 本次出铁量大于上次出铁量,则取本次出铁量减去上次出铁量差值,当作本小时产量 + if(currTotal>=lastCl) { + currentCount = new BigDecimal(currTotal).subtract(new BigDecimal(lastCl)).setScale(2, RoundingMode.HALF_UP); + }else{ + // 本次出铁量 + currentCount = new BigDecimal(currTotal).setScale(2, RoundingMode.HALF_UP); + } + }else{ + // 本次出铁量 + currentCount = new BigDecimal(currTotal).setScale(2, RoundingMode.HALF_UP); + } + + // 保存出铁量数据记录 + super.doSaveAnalysisFurnaceData(vo, lastHour, currentCount); + // 保存出铁量趋势 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(),vo.getDeviceId(), YieldTypeEnum.GT_004,lastHour,currentCount,flag); + // 保存产量 + super.doSaveYieldTrendData(trend); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqAdapter.java new file mode 100644 index 0000000..3dcb7f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqAdapter.java @@ -0,0 +1,183 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasControlValue; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.service.IBasControlValueService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IOdsAirRegionHourIService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:10 + * @Class: GtGlmqAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTGLMQ") +public class GtGlmqAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IOdsAirRegionHourIService odsAirRegionHourIService; + @Autowired + private IBasControlValueService basControlValueService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private RedisService redisService; + + private final static String GLMQ_START = "GT_GLMQ_START_"; + private final static String GLMQ_END = "GT_GLMQ_END_"; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List coList = new ArrayList<>(); + Map salAnalysisMap = new HashMap<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + AtomicInteger t = new AtomicInteger(); + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService .selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + if (StringUtils.isNotEmpty(real.getMq1())) { + m.getAndIncrement(); + BasControlValue basControlValue = basControlValueService.selectByFactoryId(real.getFactoryId(),industry,deviceType); + if(basControlValue!=null){ + if("2".equals(basControlValue.getNormalValue())) { + // 放散调节阀状态,开关量 + if (Double.valueOf(real.getMq1()).compareTo(1.0)==0) { + n.getAndIncrement(); + } + }else{ + // 放散调节阀状态,开度 + if (Double.valueOf(real.getMq1()).compareTo(10.0)==1) { + n.getAndIncrement(); + } + } + } + } + if (StringUtils.isNotEmpty(real.getMq5())) { + // 温度 + t.getAndIncrement(); + } + if (StringUtils.isNotEmpty(real.getMq6())) { + m.getAndIncrement(); + // 放散管流速 + if (Double.valueOf(real.getMq6()).compareTo(3.0) >= 0) { + n.getAndIncrement(); + } + } + if (m.get() == 0) { + //数据缺失,无法判断 + StringBuffer sb = new StringBuffer(); + sb.append("数据缺失,无法判断"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), lastDate, real.getDataTime(), ProblemTypeEnum.SJQS, sb.toString(),"放散调节阀状态,放散温度,放散管流速","mq1,mq5,mq6"); + alarmList.add(problemFi); + } else { + // 处理放散状态 + //满足两个条件就是放散,否则为未放散 + if (n.get() > 0) { + if (t.get() > 0) { + String lastHour = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addHours(tempDate,-2)); + BigDecimal avgTemp = odsAirRegionHourIService.selectAvgTemp(lastHour); + if(avgTemp!=null) { + if (BigDecimal.valueOf(Double.valueOf(real.getMq5())).subtract(avgTemp).compareTo(new BigDecimal(10)) > 0) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.NORMAL); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getMq3())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + co.setCoalEmissions(emission); + coList.add(co); + + String ycBegin = GLMQ_START+vo.getDeviceId(); + String ycEnd = GLMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + // 异常放散结束日期 + String stEnd = redisService.getCacheObject(ycEnd); + if(StringUtils.isNotEmpty(stDate)){ + stEnd = StringUtils.isEmpty(stEnd)?stDate:stEnd; + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("于").append(stDate).append("-").append(stEnd).append("存在CO异常放散情况。"); + if(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate).compareTo(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd))<=0) { + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stDate), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stEnd), ProblemTypeEnum.RELEASE, sb.toString(), "放散调节阀状态,放散温度,放散管流速", "mq1,mq5,mq6"); + alarmList.add(problemFi); + } + // 删除异常放散缓存数据 + redisService.deleteObject(ycBegin); + redisService.deleteObject(ycEnd); + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.ERROR.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.ERROR); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getMq3())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + co.setCoalEmissions(emission); + coList.add(co); + // 煤气管网 + String ycBegin = GLMQ_START+vo.getDeviceId(); + String ycEnd = GLMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + if(StringUtils.isEmpty(stDate)){ + //设置缓存 + redisService.setCacheObject(ycBegin,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + }else { + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + } + } + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "",ReleaseStatusEnum.YC.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(),real.getDataTime(),ReleaseStatusEnum.YC); + coList.add(co); + } + } else { + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if(oldSal==null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(),basStatus); + deviceStatusList.add(basStatus); + } + } + } + }); + + // 批量处理 + super.doSaveBatchSRaRealTimeAnalysisCo(coList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqgAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqgAdapter.java new file mode 100644 index 0000000..fc6a103 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtGlmqgAdapter.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasControlValue; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.service.IBasControlValueService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-06-27 17:42 + * @Class: GtGlmqgAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTGLMQG") +public class GtGlmqgAdapter extends GtStatusStrategyAdapter{ + + @Autowired + private IBasControlValueService basControlValueService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list, Date lastDate, Date curr) { + List deviceStatusList = new ArrayList<>(); + List coList = new ArrayList<>(); + Map salAnalysisMap = new HashMap<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService .selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + if (StringUtils.isNotEmpty(real.getB806())) { + m.getAndIncrement(); + BasControlValue basControlValue = basControlValueService.selectByFactoryId(real.getFactoryId(),industry,deviceType); + if(basControlValue!=null){ + if("2".equals(basControlValue.getNormalValue())) { + // 放散调节阀状态,开关量 + if (Double.valueOf(real.getB806())==Double.valueOf(1)) { + n.getAndIncrement(); + } + }else{ + // 放散调节阀状态,开度 + if (Double.valueOf(real.getB806())>Double.valueOf(10)) { + n.getAndIncrement(); + } + } + } + } + + if (m.get() == 0) { + //数据缺失,无法判断 + StringBuffer sb = new StringBuffer(); + sb.append("数据缺失,无法判断"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), lastDate, real.getDataTime(), ProblemTypeEnum.SJQS, sb.toString(),"放散调节阀状态","mq1"); + alarmList.add(problemFi); + } else { + // 处理放散状态 + //满足两个条件就是放散,否则为未放散 + if (n.get() > 0) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.NORMAL); + coList.add(co); + } else { + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if(oldSal==null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(),basStatus); + deviceStatusList.add(basStatus); + } + } + } + }); + + // 批量处理 + super.doSaveBatchSRaRealTimeAnalysisCo(coList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlAdapter.java new file mode 100644 index 0000000..8792003 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlAdapter.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import com.alibaba.fastjson.JSON; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:10 + * @Class: GtJlAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("GTJL") +public class GtJlAdapter extends GtJlZlStatusStrategyAdapter { + + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + if(list!=null&&list.size()>0){ + list.forEach(real->{ + if(StringUtils.isNotEmpty(real.getActivePower())&&StringUtils.isNotEmpty(real.getMinValue())){ + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + // 总功率低于额定功率10%视为停产 + if (Double.valueOf(real.getActivePower()) <= Double.valueOf(real.getMinValue())) { + //低于额定功率10%,设备停产 + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + }else{ + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlCountAdapter.java new file mode 100644 index 0000000..cbfabfc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlCountAdapter.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.DeviceParamTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-29 18:32 + * @Class: GtJlCountAdapter + * @Deseription: 任务调度-每小时统计一次装煤次数,推焦次数,并计算产量 + * @Version V1.0 + */ +@Slf4j +@Service("GTJLJL") +public class GtJlCountAdapter extends GtYieldStrategyAdapter { + + + @Autowired + private IBasDeviceConfigService basDeviceConfigService; + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + List yieldList = new ArrayList<>(); + if(currList!=null&&currList.size()>0){ + + AtomicReference last = new AtomicReference<>(); + last.set(currList.stream().findFirst().get().getZmTime()); + AtomicInteger it = new AtomicInteger(); + currList.forEach(real ->{ + if(StringUtils.isNotEmpty(real.getZmTime())){ + if(Double.valueOf(0).compareTo(Double.valueOf(last.get()))==0&&Double.valueOf(1).compareTo(Double.valueOf(real.getZmTime()))==0){ + it.getAndIncrement(); + } + last.set(real.getZmTime()); + } + }); + + AtomicReference lastTm = new AtomicReference<>(); + lastTm.set(currList.stream().findFirst().get().getTmTime()); + AtomicInteger itTm = new AtomicInteger(); + currList.forEach(real ->{ + if(StringUtils.isNotEmpty(real.getTmTime())){ + if(Double.valueOf(0).compareTo(Double.valueOf(lastTm.get()))==0&&Double.valueOf(1).compareTo(Double.valueOf(real.getTmTime()))==0){ + itTm.getAndIncrement(); + } + lastTm.set(real.getTmTime()); + } + }); + + + long tmcs = itTm.get(); + long zmcs = it.get(); + + //根据企业、设备编号、时间查询表里是否存在分析结果,存在则更新装煤次数、推焦次数,不存在则保存 + Date analyseTime = DateUtils.parseFormatDate("yyyy-MM-dd HH", lastHour); + // 保存装煤次数、推焦次数 + super.doSaveAnalysisCoal(vo, zmcs, tmcs, analyseTime); + + BigDecimal cl = new BigDecimal(0); + // 炭化室有效容积 + AtomicReference yxrj = new AtomicReference<>(0d); + AtomicReference jlType = new AtomicReference<>(""); + + QueryWrapper configQueryWrapper = new QueryWrapper<>(); + configQueryWrapper.eq("factory_id", vo.getFactoryId()); + configQueryWrapper.eq("device_id", vo.getDeviceId()); + configQueryWrapper.eq("industry", vo.getIndustry()); + configQueryWrapper.eq("device_type", vo.getDeviceType()); + List configList = basDeviceConfigService.list(configQueryWrapper); + //遍历配置查询炭化室有效容积 和焦炉类型 + if (configList != null && configList.size() > 0) { + configList.forEach(p -> { + // 判断是否炭化室有效容积 + if (DeviceParamTypeEnum.TH_TYPE.getCode() + .equalsIgnoreCase(p.getParamCode())) { + yxrj.set(Double.valueOf(p.getNormalValue())); + } else if (DeviceParamTypeEnum.JL_TYPE.getCode() + .equalsIgnoreCase(p.getParamCode())) { + jlType.set(p.getNormalValue()); + } + }); + } + // 焦炉类型不为空、炭化室有效容积不为空 + if (StringUtils.isNotEmpty(jlType.get()) && yxrj.get() > 0) { + // 焦炉产量公式,1:顶装焦炉 2:侧装焦炉 + if ("1".equals(jlType.get())) { + cl = new BigDecimal(yxrj.get()).multiply(new BigDecimal(0.75)) + .multiply(new BigDecimal(0.8)).multiply(new BigDecimal(tmcs)) + .setScale(2, + RoundingMode.HALF_UP); + } else if ("2".equals(jlType.get())) { + cl = new BigDecimal(yxrj.get()).multiply(new BigDecimal(0.8)) + .multiply(new BigDecimal(tmcs)).setScale(2, + RoundingMode.HALF_UP); + } + // 保存钢铁焦炉产量 + super.doSaveAnalysisCokeData(vo, tmcs, analyseTime, cl, yxrj); + + // 保存钢铁焦炉产量趋势数据 + STaskYieldTrend clYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_002,lastHour,cl,flag); + yieldList.add(clYield); + } + // 推焦次数趋势数据 + STaskYieldTrend tmYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_007,lastHour,new BigDecimal(tmcs),flag); + yieldList.add(tmYield); + + // 装煤次数趋势 + STaskYieldTrend zmYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_006,lastHour,new BigDecimal(zmcs),flag); + yieldList.add(zmYield); + } + // 批量保存更新 + super.doSaveBatchYieldTrendData(yieldList); + // 调用公共处理方法,布袋除尘器,压差是否频繁超高报警分析 + try { + super.doProcessPressData(vo,currList,lastHour); + } catch (Exception e) { + log.error("布袋除尘器,压差是否频繁超高报警分析异常"+e.getMessage()); + } + + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlZlStatusStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlZlStatusStrategyAdapter.java new file mode 100644 index 0000000..12d6c10 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtJlZlStatusStrategyAdapter.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.service.IMonElecRealService; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import java.util.Date; +import java.util.List; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Auther: cjh + * @Date: 2023-05-08 09:10 + * @Class: GtJlZlStatusStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +public abstract class GtJlZlStatusStrategyAdapter extends StatusStrategyAdapter { + + @Autowired + private IMonElecRealService monElecRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + //查询该行业所有设备 + + Date lastHour = DateUtils.addMinutes(curr,-15); + + List list = monElecRealService.selectLatestMonElecRealByParams(industry,deviceType,lastHour,curr); + + this.doProcessGTStatus(industry,deviceType,list,lastHour, curr); + } + + /** + * 处理设备停限产状态、放散状态 + * @param list + * @return + */ + protected abstract void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate ,Date curr); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyAdapter.java new file mode 100644 index 0000000..e816545 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyAdapter.java @@ -0,0 +1,168 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:07 + * @Class: GtLyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTLY") +public class GtLyAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 查询设备参数 + List paramsList = basDeviceParamService + .selectBasDeviceParamByCondition(real.getDeviceId(), + Arrays.asList("p1", "p2", "o2Out")); + + if (StringUtils.isNotEmpty(real.getO2Out())) { + // 含氧量(出口) + m.getAndIncrement(); + if (Double.valueOf(real.getO2Out()).compareTo(0.0)==0 + || Double.valueOf(real.getO2Out()).compareTo(17.0)>=0) { + n.getAndIncrement(); + } + } + // 设备参数不为空 + if (paramsList != null && paramsList.size() > 0) { + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(), vo.getDeviceId()); + paramsList.forEach(p -> { + if ("p1".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP1())) { + // 燃气流量 + m.getAndIncrement(); + if (Double.valueOf(real.getP1()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p2".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP2())) { + // 压力 + m.getAndIncrement(); + if (Double.valueOf(real.getP2()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + }); + //数据缺失2种以上 + if (m.get() >= 2) { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super + .doProcessDeviceRunStatus(vo, lastDate,tempDate, oldDeviceStatus, + DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super + .doProcessDeviceAnalysisStatus(vo.getFactoryId(), + vo.getDeviceId(), DeviceStatusEnum.STOP.getValue(), ""); + deviceStatusList.add(basStatus); + if (DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus()) + || DeviceStatusEnum.RUN_STOP.getCode() + .equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), + vo.getDeviceId(), vo.getDeviceName(), tempDate, new Date(), + ProblemTypeEnum.STOP_RUN, sb.toString(),"燃气流量,压力,含氧量(出口)","p1,p2,o2Out"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo, lastDate,tempDate, oldDeviceStatus,DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super + .doProcessDeviceAnalysisStatus(vo.getFactoryId(), + vo.getDeviceId(), DeviceStatusEnum.RUN.getValue(), ""); + deviceStatusList.add(basStatus); + if (DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus()) + || DeviceStatusEnum.RUN_STOP.getCode() + .equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), + vo.getDeviceId(), vo.getDeviceName(), tempDate, new Date(), + ProblemTypeEnum.STOP_RUN, sb.toString(),"燃气流量,压力,含氧量(出口)","p1,p2,o2Out"); + alarmList.add(problemFi); + } + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyYieldAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyYieldAdapter.java new file mode 100644 index 0000000..afe7464 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtLyYieldAdapter.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; +import java.util.List; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-05-17 09:08 + * @Class: GtLyYieldAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("GTLYLY") +public class GtLyYieldAdapter extends GtYieldStrategyAdapter { + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + // 调用公共处理方法,布袋除尘器,压差是否频繁超高报警分析 + super.doProcessPressData(vo,currList,lastHour); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtMqgwAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtMqgwAdapter.java new file mode 100644 index 0000000..66083f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtMqgwAdapter.java @@ -0,0 +1,166 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IOdsAirRegionHourIService; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:33 + * @Class: GtMqgwAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTMQGW") +public class GtMqgwAdapter extends GtStatusStrategyAdapter { + + + @Autowired + private IOdsAirRegionHourIService odsAirRegionHourIService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private RedisService redisService; + + private final static String MQGW_START = "GT_MQGW_START_"; + private final static String MQGW_END = "GT_MQGW_END_"; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List coList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + Map salAnalysisMap = new HashMap<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger n = new AtomicInteger(); + AtomicInteger t = new AtomicInteger(); + + // 设备参数不为空 + if (StringUtils.isNotEmpty(real.getJs201())) { + // 放散温度 + t.getAndIncrement(); + } + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + if (StringUtils.isNotEmpty(real.getJs202())) { + // 放散流速 + if (Double.valueOf(real.getJs202()) >= Double.valueOf(3.0)) { + n.getAndIncrement(); + } + } + + if (StringUtils.isEmpty(real.getJs201()) && StringUtils.isEmpty(real.getJs202())) { + //数据缺失,无法判断 + StringBuffer sb = new StringBuffer(); + sb.append("数据缺失,无法判断"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), lastDate, tempDate, ProblemTypeEnum.SJQS, sb.toString(),"放散流量,放散流速","g979,js202"); + alarmList.add(problemFi); + } else { + // 处理放散状态 + //满足两个条件就是放散,否则为未放散 + if (n.get() > 0) { + + String lastDateTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addHours(tempDate,-2)); + BigDecimal avgTemp = odsAirRegionHourIService.selectAvgTemp(lastDateTime); + if (t.get() > 0) { + if(BigDecimal.valueOf(Double.valueOf(real.getJs201())).subtract(avgTemp).compareTo(new BigDecimal(10))>0) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, lastDate, real.getDataTime(), ReleaseStatusEnum.NORMAL); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getG979())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + co.setCoalEmissions(emission); + coList.add(co); + + String ycBegin = MQGW_START+vo.getDeviceId(); + String ycEnd = MQGW_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + // 异常放散结束日期 + String stEnd = redisService.getCacheObject(ycEnd); + if(StringUtils.isNotEmpty(stDate)){ + stEnd = StringUtils.isEmpty(stEnd)?stDate:stEnd; + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("于").append(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate)).append("-") + .append(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd)).append("存在CO异常放散情况。"); + if(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate).compareTo(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd))<=0) { + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stDate), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stEnd), ProblemTypeEnum.RELEASE, sb.toString(), "放散温度,放散流速", "js201,js202"); + alarmList.add(problemFi); + } + // 删除异常放散缓存数据 + redisService.deleteObject(ycBegin); + redisService.deleteObject(ycEnd); + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "",ReleaseStatusEnum.ERROR.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo errorCo = super.doProcessAnalysisCoData(vo, real.getDataTime(),real.getDataTime(),ReleaseStatusEnum.ERROR); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getG979())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + errorCo.setCoalEmissions(emission); + coList.add(errorCo); + // 煤气管网 + String ycBegin = MQGW_START+vo.getDeviceId(); + String ycEnd = MQGW_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + if(StringUtils.isEmpty(stDate)){ + //设置缓存 + redisService.setCacheObject(ycBegin,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + }else { + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + } + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "",ReleaseStatusEnum.YC.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(),real.getDataTime(),ReleaseStatusEnum.YC); + coList.add(co); + } + } else { + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if(oldSal==null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(),basStatus); + deviceStatusList.add(basStatus); + } + } + } + }); + // 批量处理 + super.doSaveBatchSRaRealTimeAnalysisCo(coList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjAdapter.java new file mode 100644 index 0000000..4318e75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjAdapter.java @@ -0,0 +1,179 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 15:47 + * @Class: SjjAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTSJJ") +public class GtSjjAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 查询设备参数 + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(), Arrays.asList("p1","p2","p3","g604","g912","g914","g917","o2Out")); + if (StringUtils.isNotEmpty(real.getO2Out())) { + // 含氧量(出口) + m.getAndIncrement(); + if (Double.valueOf(real.getO2Out()).compareTo(0.0)==0 + || Double.valueOf(real.getO2Out()).compareTo(20.0) >= 0) { + n.getAndIncrement(); + } + + } + // 设备参数不为空 + if (paramsList != null && paramsList.size() > 0) { + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + paramsList.forEach(p -> { + if ("p1".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP1())) { + // 风机电流 + m.getAndIncrement(); + if (Double.valueOf(real.getP1()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p2".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP2())) { + // 烧结机机速 + m.getAndIncrement(); + if (Double.valueOf(real.getP2()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p3".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP3())) { + // 混合料皮带秤量 + m.getAndIncrement(); + if (Double.valueOf(real.getP3()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g912".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG912())) { + // 风门开度 + m.getAndIncrement(); + if (Double.valueOf(real.getG912()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g914".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils + .isNotEmpty(real.getG914())) { + // 烧结矿产量 + m.getAndIncrement(); + if (Double.valueOf(real.getG914()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g917".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils + .isNotEmpty(real.getG917())) { + // 料层厚度 + m.getAndIncrement(); + if (Double.valueOf(real.getG917()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + + }); + //数据缺失2种以上 + if (m.get()>=3) { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"风机电流,烧结机机速,混合料皮带秤量,风门开度,烧结矿产量,料层厚度,含氧量(出口)","p1,p2,p3,g912,g914,g917,o2Out"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"风机电流,烧结机机速,混合料皮带秤量,风门开度,烧结矿产量,料层厚度,含氧量(出口)","p1,p2,p3,g912,g914,g917,o2Out"); + alarmList.add(problemFi); + } + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjYieldAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjYieldAdapter.java new file mode 100644 index 0000000..7663962 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSjjYieldAdapter.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; +import java.util.List; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-05-17 16:51 + * @Class: GtSjjYieldAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("GTSJJSJJ") +public class GtSjjYieldAdapter extends GtYieldStrategyAdapter { + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + // 调用公共处理方法,布袋除尘器,压差是否频繁超高报警分析 + super.doProcessPressData(vo,currList,lastHour); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlAdapter.java new file mode 100644 index 0000000..fb3e5bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlAdapter.java @@ -0,0 +1,178 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.service.strategy.AbstractStrategyAdapter; +import cn.cecep.talroad.util.MathUtils; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:04 + * @Class: GtSlAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("GTSL") +public class GtSlAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate, Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + // 监测数据不为空 + if (list != null && list.size() > 0) { + list.forEach(real -> { + AtomicInteger m = new AtomicInteger(); + AtomicInteger n = new AtomicInteger(); + // 查询设备参数 + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(),Arrays.asList("p1", "p2", "g604","g921", "o2Out")); + // 设备参数不为空 + if (paramsList != null && paramsList.size() > 0) { + if (StringUtils.isNotEmpty(real.getP3())) { + // 摆头皮带运行信号 + m.getAndIncrement(); + if (Double.valueOf(real.getP3()).compareTo(0.0)==0) { + n.getAndIncrement(); + } + } + if (StringUtils.isNotEmpty(real.getO2Out())) { + // 含氧量(出口) + m.getAndIncrement(); + if (Double.valueOf(real.getO2Out()).compareTo(0.0)==0 + || Double.valueOf(real.getO2Out()).compareTo(20.0)>=0) { + n.getAndIncrement(); + } + } + + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + paramsList.forEach(p -> { + if (p != null) { + if ("p1".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP1())) { + // 主抽风机电流 + m.getAndIncrement(); + if (Double.valueOf(real.getP1()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("p2".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getP2())) { + // 梭车布料器下料量 + m.getAndIncrement(); + if (Double.valueOf(real.getP2()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } else if ("g921".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getG921())) { + // 燃料(煤气) 流量 + m.getAndIncrement(); + if (Double.valueOf(real.getG921()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + n.getAndIncrement(); + } + } + } + }); + //数据缺失2种以上 + if (m.get()>=2) { + // false为大于66% + if (!MathUtils.divideSjj(n.get(), m.get())) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"主抽风机电流,梭车布料器下料量,摆头皮带运行信号,燃料(煤气) 流量,含氧量(出口)","p1,p2,p3,g921,o2Out"); + alarmList.add(problemFi); + } + } else { + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"主抽风机电流,梭车布料器下料量,燃料(煤气) 流量,含氧量(出口)","p1,p2,g921,o2Out"); + alarmList.add(problemFi); + } + } + + } + + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlYieldAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlYieldAdapter.java new file mode 100644 index 0000000..5c60b2d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtSlYieldAdapter.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.util.Date; +import java.util.List; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-05-17 17:03 + * @Class: GtSlYieldAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("GTSLSL") +public class GtSlYieldAdapter extends GtYieldStrategyAdapter { + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + // 调用公共处理方法,布袋除尘器,压差是否频繁超高报警分析 + super.doProcessPressData(vo,currList,lastHour); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtStatusStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtStatusStrategyAdapter.java new file mode 100644 index 0000000..a7cbd6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtStatusStrategyAdapter.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import java.util.Date; +import java.util.List; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Auther: cjh + * @Date: 2023-04-27 15:34 + * @Class: GtStatusStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +public abstract class GtStatusStrategyAdapter extends StatusStrategyAdapter { + + @Autowired + private IMonDevRealService monDevRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + //查询该行业所有设备 + log.info(industry+"设备类型"+deviceType+"时间:"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00",curr)); + Date lastHour = DateUtils.addMinutes(curr,-15); + List list = null; + // 转炉煤气不读取参数配置,取代码中固定值进行判断 + if(GtDeviceTypeEnum.ZLMQ.getCode().equals(deviceType)){ + lastHour = DateUtils.addMinutes(curr,-10); + this.doProcessGTStatus(industry, deviceType, null,lastHour,curr); + }else{ + if(GtDeviceTypeEnum.GLMQ.getCode().equals(deviceType) + ||GtDeviceTypeEnum.GLMQG.getCode().equals(deviceType)){ + lastHour = DateUtils.addMinutes(curr,-10); + list = monDevRealService.selectLatestByParam(industry, deviceType, lastHour,curr); + }else if(GtDeviceTypeEnum.MQGW.getCode().equals(deviceType)){ + lastHour = DateUtils.addMinutes(curr,-10); + list = monDevRealService.selectLatestMqgwByParam(industry, deviceType, lastHour,curr); + }else { + list = monDevRealService.selectLatestByCondition(industry, deviceType, lastHour,curr); + } + this.doProcessGTStatus(industry, deviceType, list,lastHour,curr); + } + } + + /** + * 处理设备停限产状态、放散状态、产量计算 + * @param list + * @return + */ + protected abstract void doProcessGTStatus(String industry, String deviceType,List list,Date lastDate,Date curr); +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtYieldStrategyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtYieldStrategyAdapter.java new file mode 100644 index 0000000..a5afb13 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtYieldStrategyAdapter.java @@ -0,0 +1,404 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSON; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Auther: cjh + * @Date: 2023-04-27 15:51 + * @Class: GtYieldStrategyAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +public abstract class GtYieldStrategyAdapter extends YieldStrategyAdapter { + + @Autowired + private IMonDevRealService monDevRealService; + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + + @Autowired + private RedisService redisService; + + /** + * 查询设备监测数据 + * + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo, Date tempDate, boolean flag) { + Date lastHour = DateUtils.addHours(tempDate, -1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59", lastHour); + // 高炉只取最新一条小时数据进行计算 + if (GtDeviceTypeEnum.GL.getCode().equals(vo.getDeviceType())) { + Date lastTwoHour = DateUtils.addHours(tempDate, -2); + Date lastTwoHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", lastTwoHour); + Date lastTwoHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59", lastTwoHour); + //查询上一个小时的最新监测数据 + List newList = getMonDevRealLatestDataOne(vo, lastHourBegin, lastHourEnd); + //查询上2个小时的最新监测数据 + List oldList = getMonDevRealLatestDataOne(vo, lastTwoHourBegin, lastTwoHourEnd); + + this.doProcessYieldData(vo, newList, oldList, lastHourBegin, flag); + } else { + List newList = getMonDevRealLatestData(vo, lastHourBegin, lastHourEnd); + //计算产量 + this.doProcessYieldData(vo, newList, null, lastHourBegin, flag); + } + } + + + /** + * 产量计算 + * + * @param vo + * @param currList + * @param oldList + * @param lastHour 时间 + * @param flag 是否处理历史数据 true 是 false 否 + */ + protected abstract void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag); + + /** + * 获取最新的监测数据 + * + * @param vo + * @param lastHourBegin + * @param lastHourEnd + * @return + */ + private List getMonDevRealLatestDataOne(FactoryDeviceVo vo, Date lastHourBegin, Date lastHourEnd) { + MonDevReal real = new MonDevReal(); + real.setFactoryId(vo.getFactoryId()); + real.setDeviceId(vo.getDeviceId()); + real.setTimeType(TimeTypeEnum.REAL.getCode()); + Map params = new HashMap<>(); + params.put("lastDate", lastHourBegin); + params.put("currDate", lastHourEnd); + real.setParams(params); + return monDevRealService.selectLastHourDataOne(real); + } + + /** + * 获取最新的监测数据 + * + * @param vo + * @param lastHourBegin + * @param lastHourEnd + * @return + */ + private List getMonDevRealLatestData(FactoryDeviceVo vo, Date lastHourBegin, Date lastHourEnd) { + MonDevReal real = new MonDevReal(); + real.setFactoryId(vo.getFactoryId()); + real.setDeviceId(vo.getDeviceId()); + real.setTimeType(TimeTypeEnum.REAL.getCode()); + Map params = new HashMap<>(); + params.put("lastDate", lastHourBegin); + params.put("currDate", lastHourEnd); + real.setParams(params); + return monDevRealService.selectLastHourData(real); + } + + /** + * 布袋除尘器,压差是否频繁超高分析 + * + * @param vo + * @param currList + * @param lastHour + */ + protected void doProcessPressData(FactoryDeviceVo vo, List currList, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + // + if (currList != null && currList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("g601","g502" ,"g503", "g504")); + //布袋除尘器,压差是否频繁超高、过低报警 + processBdData(vo, currList, lastHour, alarmList, curr, paramsList); + //静电除尘 + processJdData(vo, currList, lastHour, alarmList, curr, paramsList); + //批量保存报警 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 静电除尘 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processJdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + + String highFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId()); + String ycFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(highFlag)||StringUtils.isEmpty(ycFlag)||StringUtils.isEmpty(lowFlag)) { + + //报警间隔时长 + BasThresholdConfig alarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J01.getCode()); + //超标次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J02.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J03.getCode()); + // 连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J04.getCode()); + + AtomicInteger m = new AtomicInteger();//超标次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger l = new AtomicInteger();//连续累计过低时间 + + AtomicReference pressStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference elecStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference oneStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + //一次电流 + if ("g502".equals(p.getParamCodeSvc())) { + oneStandValue.set(p.getNormalValue()); + } + //二次电压 + if ("g503".equals(p.getParamCodeSvc())) { + pressStandValue.set(p.getNormalValue()); + } + //二次电流 + if ("g504".equals(p.getParamCodeSvc())) { + elecStandValue.set(p.getNormalValue()); + } + }); + } + + if (pressStandValue.get().doubleValue() > 0 || elecStandValue.get().doubleValue() > 0) { + Set set = new HashSet<>(); + Set bset = new HashSet<>(); + Double maxElec = elecStandValue.get().multiply(new BigDecimal(1.2)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minElec = elecStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minPress = pressStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mElec = elecStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nElec = elecStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mPress = pressStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nPress = pressStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mOneElec = oneStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流1.1倍 + Double nOneElec = oneStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue();//一次电流0.9倍 + + currList.forEach(real -> { + if (StringUtils.isNotEmpty(real.getG504())) { + // 二次电流大于额定电流1.2倍,二次电压小于额定电压0.5 + if (StringUtils.isNotEmpty(real.getG503()) && Double.valueOf(real.getG504()) > maxElec && Double.valueOf(real.getG503()) < minPress) { + h.getAndIncrement(); + } + // 二次电流小于额定电流0.9 或二次电流大于额定电流1.1 + if (Double.valueOf(real.getG504()) < nElec || Double.valueOf(real.getG504()) > mElec) { + m.getAndIncrement(); + set.add("二次电流"); + bset.add("二次电流额定电流"); + } + //二次电压正常,二次电流小于额定电流0.5 + if (StringUtils.isNotEmpty(real.getG503()) && (Double.valueOf(real.getG503()) > nPress && Double.valueOf(real.getG503()) < mPress) + && Double.valueOf(real.getG504()) < minElec) { + l.getAndIncrement(); + } else { + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + // 二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (StringUtils.isNotEmpty(real.getG503()) && (Double.valueOf(real.getG503()) < nPress || Double.valueOf(real.getG503()) > mPress)) { + m.getAndIncrement(); + set.add("二次电压"); + bset.add("二次电压额定电压"); + } + // 一次电流小于额定电流0.9 或一次电流大于额定电流1.1 + if (StringUtils.isNotEmpty(real.getG502()) && (Double.valueOf(real.getG502()) < nOneElec || Double.valueOf(real.getG502()) > mOneElec)) { + m.getAndIncrement(); + set.add("一次电流"); + bset.add("一次电流额定电流"); + } + + }); + if (StringUtils.isEmpty(highFlag)) { + //二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,生成报警记录 + if (h.get() > hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GG); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(ycFlag)) { + //二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (m.get() >= hCount.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + String paramStr = StringUtils.join(",", set); + String standStr = StringUtils.join(",", bset); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,报警指标" + paramStr + "超过对比标准" + standStr + "10%以上次数超过" + hCount.getThresholdValue().intValue() + "次,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_YC); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + + if (StringUtils.isEmpty(lowFlag)) { + //二次电压正常 且二次电流小于额定电流0.5 + if (l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电压正常,但二次电流过低,时长超过" + lTime.getThresholdValue().intValue() + "分钟,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GD); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + } + + /** + * 布袋除尘器,压差是否频繁超高、过低报警 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + //获取报警间隔内是否发生过报警0 + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("g601".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getG601()) && Double.valueOf(real.getG601()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getG601()) && Double.valueOf(real.getG601()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if (StringUtils.isEmpty(overFlag)) { + //满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(lowFlag)) { + //进出口压差频繁低于设计标准值下限 + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), "压差,一次电流,二次电流,二次电压", "g601,g502,g504,g503"); + return problemFi; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlAdapter.java new file mode 100644 index 0000000..d14002e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlAdapter.java @@ -0,0 +1,134 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import com.alibaba.fastjson.JSON; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:09 + * @Class: GtZlAdapter + * @Deseription: 任务调度-定时查询转炉分表计电功率判断是否停产 + * @Version V1.0 + */ +@Service("GTZL") +public class GtZlAdapter extends GtJlZlStatusStrategyAdapter { + + @Autowired + private IBasDeviceService basDeviceService; + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate,Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + if(list!=null&&list.size()>0){ + list.forEach(real->{ + if(StringUtils.isNotEmpty(real.getActivePower())&&StringUtils.isNotEmpty(real.getMinValue())){ + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + // 总功率低于额定功率10%视为停产 + if (Double.valueOf(real.getActivePower()) <= Double.valueOf(real.getMinValue())) { + //低于额定功率10%,设备停产 + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + }else{ + //停产条件比例占比未超过66%,设备未停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastDate,tempDate,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastDate, tempDate, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), tempDate,new Date(), ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlCountAdapter.java new file mode 100644 index 0000000..f337369 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlCountAdapter.java @@ -0,0 +1,227 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.DeviceParamTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-29 15:45 + * @Class: GtZlCountAdapter + * @Deseription: 定时任务-计算转炉炉数每小时一次 + * @Version V1.0 + */ +@Slf4j +@Service("GTZLZL") +public class GtZlCountAdapter extends GtYieldStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceConfigService basDeviceConfigService; + @Autowired + private IMonDevRealService monDevRealService; + + @Override + protected void doProcessYieldData(FactoryDeviceVo vo, List currList, List oldList, Date lastHour, boolean flag) { + List yieldList = new ArrayList<>(); + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("p2")); + + //查询吹氧量最小值 + AtomicReference minValue = new AtomicReference<>(0.0); + AtomicReference gcrl = new AtomicReference<>(""); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + // 吹氧量 + if ("p2".equalsIgnoreCase(p.getParamCodeSvc())) { + minValue.set(p.getNormalValue().multiply(new BigDecimal(0.3)).setScale(2,RoundingMode.HALF_UP).doubleValue()); + } + }); + log.info("设备编号:"+vo.getDeviceId()+"吹氧量最小值:"+minValue.get()); + // 吹氧量最小值配置不为空 + if (minValue.get()!=null&&minValue.get()>0) { + List allList = new ArrayList<>(); + if(currList!=null&&currList.size()>0) { + // 需要验证炉数计算逻辑 + AtomicInteger it = new AtomicInteger();//0变成大于0的数量 + AtomicInteger m = new AtomicInteger();//大于0变成0的数量 + AtomicInteger c = new AtomicInteger();//索引下标 + Map> tmap = new HashMap<>(); + Double first = Double.valueOf(currList.stream().findFirst().get().getP2()); + // 第一个值不为0 + if(first.compareTo(0.0)!=0){ + Date lastTwoHour = DateUtils.addHours(lastHour,-1); + Date lastTwoHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastTwoHour); + Date lastTwoHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastTwoHour); + MonDevReal real = new MonDevReal(); + real.setFactoryId(vo.getFactoryId()); + real.setDeviceId(vo.getDeviceId()); + real.setTimeType(TimeTypeEnum.REAL.getCode()); + Map params = new HashMap<>(); + params.put("lastDate", lastTwoHourBegin); + params.put("currDate", lastTwoHourEnd); + real.setParams(params); + List lastTwoList = monDevRealService.selectLastHourData(real); + AtomicInteger a = new AtomicInteger(); + AtomicInteger b = new AtomicInteger(); + //获取最后一个0 + lastTwoList.forEach(r->{ + a.getAndIncrement(); + if(Double.valueOf(r.getP2()).compareTo(0.0)==0){ + b.set(a.get()-1); + } + }); + if(b.get()>0) { + List sub = lastTwoList.subList(b.get(), lastTwoList.size()); + allList.addAll(sub); + } + } + allList.addAll(currList); + // 合并后数据的第一个元素的吹氧量 + Double newFirst = Double.valueOf(allList.stream().findFirst().get().getP2()); + AtomicReference last = new AtomicReference<>(new Double(newFirst)); + allList.forEach(real ->{ + if(StringUtils.isNotEmpty(real.getP2())){ + if(new BigDecimal(last.get()).compareTo(new BigDecimal(0))==0&&new BigDecimal(real.getP2()).compareTo(new BigDecimal(0.0))==1){ + it.getAndIncrement(); + List s = tmap.get(it.get()); + if(s==null){ + s = new ArrayList<>(); + } + s.add(c.get()); + tmap.put(it.get(),s); + } + if(it.get()>0&&new BigDecimal(last.get()).compareTo(new BigDecimal(0.0))==1&&new BigDecimal(real.getP2()).compareTo(new BigDecimal(0.0))==0){ + m.getAndIncrement(); + List s = tmap.get(m.get()); + if(s==null){ + s = new ArrayList<>(); + } + s.add(c.get()); + tmap.put(m.get(),s); + } + last.set(Double.valueOf(real.getP2())); + } + }); + + + AtomicInteger ls = new AtomicInteger(); + if(it.get()>m.get()){ + ls.set(m.get()); + }else{ + ls.set(it.get()); + } + + tmap.values().forEach(l->{ + if(l.size()==2){ + List sub1 = currList.subList(l.get(0),l.get(1)); + if(sub1.size()>0){ + // 判断煤气回收三通阀状态在吹氧量从0变为非0再到0的过程中,是否出现过1,出现则算煤气回收过,没有出现过1,则算煤气未回收 + AtomicBoolean isHs = new AtomicBoolean(); + sub1.forEach(mq->{ + if(Double.valueOf(mq.getMq2()).compareTo(Double.valueOf(1))==0){ + isHs.set(true); + } + }); + // 煤气未回收则生成报警 + if(!isHs.get()){ + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()).append("在").append(DateUtils.parseDateToStr("yyyy-MM-dd HH",lastHour)).append("存在煤气未回收情况。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), lastHour,DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour) + , ProblemTypeEnum.GAS_UNRECOVER, sb.toString(), + "炉数,吹氧量,煤气回收三通阀状态", "p1,p2,mq2"); + super.doSaveAlarm(problemFi); + } + Double max = sub1.stream().mapToDouble(s->{return Double.valueOf(s.getP2());}).max().getAsDouble(); + if(new BigDecimal(max).compareTo(new BigDecimal(minValue.get()))==-1){ + ls.set(ls.get() - 1); + } + } + } + }); + log.info("设备编号:"+vo.getDeviceId()+"炉数:"+ls); + if (ls.get() > 0) { + // 炉数 + QueryWrapper configQueryWrapper = new QueryWrapper<>(); + configQueryWrapper.eq("factory_id", vo.getFactoryId()); + configQueryWrapper.eq("device_id", vo.getDeviceId()); + configQueryWrapper.eq("industry", vo.getIndustry()); + configQueryWrapper.eq("device_type", vo.getDeviceType()); + List configList = basDeviceConfigService.list(configQueryWrapper); + if (configList != null && configList.size() > 0) { + configList.forEach(p -> { + // 公称容量 + if (DeviceParamTypeEnum.GC_TYPE.getCode() + .equalsIgnoreCase(p.getParamCode())) { + if (StringUtils.isNotEmpty(p.getNormalValue())) { + gcrl.set(p.getNormalValue()); + } + } + }); + } + + Date analyseTime = DateUtils.parseFormatDate("yyyy-MM-dd HH", lastHour); + + BigDecimal cl = new BigDecimal(0); + if(minValue.get()!=null) { + //计算出钢量 + + Double cgl = currList.stream().filter( + real -> StringUtils.isNotEmpty(real.getP2()) + && Double.valueOf(real.getP2()) > Double.valueOf(minValue.get())).mapToDouble(t -> Double.valueOf(t.getG938())).sum(); + + // 出钢量 + STaskYieldTrend cglYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_003,lastHour,new BigDecimal(cgl),flag); + yieldList.add(cglYield); + Double gcrlCount = new Double(0); + // 公称容量不为空 + if(StringUtils.isNotEmpty(gcrl.get())) { + cl = new BigDecimal(gcrl.get()).multiply(new BigDecimal(ls.get())).setScale(2, RoundingMode.HALF_UP); + gcrlCount = Double.valueOf(gcrl.get()); + } // 保存转炉产量 + super.doSaveAnalysisConverterData(vo,gcrlCount, ls.get(), cgl, analyseTime, cl); + } + + // 炉数 + STaskYieldTrend lsYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_001,lastHour,new BigDecimal(ls.get()),flag); + yieldList.add(lsYield); + // 焦炉产量 + STaskYieldTrend clYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.GT_002,lastHour,cl,flag); + yieldList.add(clYield); + } + // 批量保存更新产量 + super.doSaveBatchYieldTrendData(yieldList); + } + } + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlmqAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlmqAdapter.java new file mode 100644 index 0000000..c18fece --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/gt/GtZlmqAdapter.java @@ -0,0 +1,301 @@ +package cn.cecep.talroad.service.strategy.support.gt; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.BasDeviceZlConfig; +import cn.cecep.talroad.domain.MonDevReal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.enums.GtDeviceTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasDeviceZlConfigService; +import cn.cecep.talroad.service.IMonDevRealService; +import cn.cecep.talroad.service.analysis.ISRaRealTimeAnalysisConverterService; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:11 + * @Class: GtZlmqAdapter + * @Deseription: 任务调度-转炉煤气放散 + * @Version V1.0 + */ +@Slf4j +@Service("GTZLMQ") +public class GtZlmqAdapter extends GtStatusStrategyAdapter { + + @Autowired + private IBasDeviceZlConfigService basDeviceZlConfigService; + @Autowired + private ISRaRealTimeAnalysisConverterService raRealTimeAnalysisConverterService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevRealService monDevRealService; + @Autowired + private RedisService redisService; + + private final static String ZLMQ_START = "GT_ZLMQ_START_"; + private final static String ZLMQ_END = "GT_ZLMQ_END_"; + + + @Override + protected void doProcessGTStatus(String industry, String deviceType, List list,Date lastDate, Date tempDate) { + + List deviceStatusList = new ArrayList<>(); + List coList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + Map salAnalysisMap = new HashMap<>(); + QueryWrapper deviceQueryWrapper = new QueryWrapper<>(); + deviceQueryWrapper.eq("industry", EnIndustry.GT.id()); + deviceQueryWrapper.eq("type",GtDeviceTypeEnum.ZL.getCode()); + deviceQueryWrapper.eq("is_status","1"); + List deviceList = basDeviceService.list(deviceQueryWrapper); + + if (deviceList != null && deviceList.size() > 0) { + deviceList.forEach(device -> { + QueryWrapper zlConfigQueryWrapper = new QueryWrapper<>(); + zlConfigQueryWrapper.eq("factory_id",device.getFactoryId()); + zlConfigQueryWrapper.eq("device_id",device.getDeviceId()); + List zlList = basDeviceZlConfigService.list(zlConfigQueryWrapper); + if(zlList!=null&&zlList.size()>0){ + List deviceIds = zlList.stream().map(BasDeviceZlConfig::getFsDeviceId).collect(Collectors.toList()); + if(deviceIds!=null&&deviceIds.size()>0) { + QueryWrapper realQueryWrapper = new QueryWrapper<>(); + realQueryWrapper.eq("factory_id", device.getFactoryId()); + realQueryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + if (deviceIds.size() > 1) { + realQueryWrapper.in("device_id", deviceIds); + } else { + realQueryWrapper.eq("device_id", deviceIds.get(0)); + } + realQueryWrapper.between("data_time",lastDate,tempDate); + List realList = monDevRealService.list(realQueryWrapper); + + Date start = DateUtils.addHours(tempDate, -4); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("device_id", device.getDeviceId()); + queryWrapper.eq("factory_id", device.getFactoryId()); + queryWrapper.gt("analyse_time", start); + queryWrapper.last("limit 2"); + queryWrapper.orderByDesc("analyse_time"); + List result = raRealTimeAnalysisConverterService.list(queryWrapper); + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(device.getDeviceId()); + if (deviceIds.size() == 1) { + // ZL设备与放散设备1比1 + processSingleData(lastDate, deviceStatusList, coList, salAnalysisMap, realList, result, vo,alarmList); + } else { + Map> groupMap = realList.stream().collect(Collectors.groupingBy(MonDevReal::getDataTime)); + //判断炉数全部为0 + boolean flag = result.stream().allMatch(t -> t.getConverterNumber() == 0); + if (result.size() == 0 || flag) { + realList.forEach(treal->{ + // 炉数相同,未放散 + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, treal.getDataTime(), treal.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + }); + + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if (oldSal == null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(), basStatus); + deviceStatusList.add(basStatus); + } + } else { + groupMap.forEach((dateTime, reals) -> { + if (!flag && reals.size() == deviceIds.size()) { + AtomicInteger total = new AtomicInteger(); + AtomicInteger ycTotal = new AtomicInteger(); + // 判断放散口温度是否缺失 + boolean tempIsMiss = reals.stream().anyMatch(s -> StringUtils.isEmpty(s.getMq5())); + if (tempIsMiss) { + ycTotal.getAndIncrement(); + } else { + // 放散口平均温度大于100 + Double maxTemp = reals.stream().mapToDouble(s -> Double.valueOf(s.getMq5())).max().getAsDouble(); + //放散口温度 + if (maxTemp >= Double.valueOf(100)) { + total.getAndIncrement(); + } + } + if (ycTotal.get() > 0) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.YC.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, dateTime, dateTime, ReleaseStatusEnum.YC); + coList.add(co); + } else { + if (total.get() > 0) { + // 正常放散 + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, dateTime, dateTime, ReleaseStatusEnum.NORMAL); + coList.add(co); + String ycBegin = ZLMQ_START + vo.getDeviceId(); + String ycEnd = ZLMQ_END + vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + // 异常放散结束日期 + String stEnd = redisService.getCacheObject(ycEnd); + if (StringUtils.isNotEmpty(stDate)) { + stEnd = StringUtils.isEmpty(stEnd) ? stDate : stEnd; + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("于").append(stDate).append("-") + .append(stEnd).append("存在CO异常放散情况。"); + if(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate).compareTo(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd))<0) { + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stDate), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stEnd), ProblemTypeEnum.RELEASE, + sb.toString(), "炉数,吹氧量", "p1,p2"); + alarmList.add(problemFi); + } + // 删除异常放散缓存 + redisService.deleteObject(ycBegin); + redisService.deleteObject(ycEnd); + } + + } else { + // 异常放散 + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.ERROR.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo errorCo = super.doProcessAnalysisCoData(vo, dateTime, dateTime, ReleaseStatusEnum.ERROR); + coList.add(errorCo); + // 转炉煤气开启 + String ycBegin = ZLMQ_START + vo.getDeviceId(); + String ycEnd = ZLMQ_END + vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + if (StringUtils.isEmpty(stDate)) { + //设置缓存 + redisService.setCacheObject(ycBegin, DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", dateTime)); + } else { + redisService.setCacheObject(ycEnd, DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", dateTime)); + } + } + } + } + }); + } + } + } + } + }); + + // 批量处理 + super.doSaveBatchSRaRealTimeAnalysisCo(coList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * ZL设备与放散设备1比1时 + * @param lastDate + * @param deviceStatusList + * @param coList + * @param salAnalysisMap + * @param realList + * @param result + * @param vo + */ + private void processSingleData(Date lastDate, List deviceStatusList, List coList, + Map salAnalysisMap, List realList, List result, FactoryDeviceVo vo,List alarmList) { + //判断炉数全部为0 + boolean flag = result.stream().allMatch(t -> t.getConverterNumber() == 0); + + realList.forEach(real ->{ + AtomicInteger total = new AtomicInteger(); + if (result.size()==0||flag) { + // 炉数相同,未放散 + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, lastDate, real.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if(oldSal==null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(),basStatus); + deviceStatusList.add(basStatus); + } + } else { + //炉数发生变化,放散 + if (StringUtils.isNotEmpty(real.getMq5())) { + //放散口温度 + if (Double.valueOf(real.getMq5()) >= Double.valueOf(100)) { + total.getAndIncrement(); + } + if (total.get() > 0) { + // 正常放散 + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, lastDate,real.getDataTime(), ReleaseStatusEnum.NORMAL); + coList.add(co); + String ycBegin = ZLMQ_START+vo.getDeviceId(); + String ycEnd = ZLMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + // 异常放散结束日期 + String stEnd = redisService.getCacheObject(ycEnd); + if(StringUtils.isNotEmpty(stDate)) { + stEnd = StringUtils.isEmpty(stEnd)?stDate:stEnd; + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("于").append(stDate).append("-") + .append(stEnd).append("存在CO异常放散情况。"); + if(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate).compareTo(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd))<=0) { + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stDate), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stEnd), ProblemTypeEnum.RELEASE, sb.toString(), + "炉数,吹氧量", "p1,p2"); + alarmList.add(problemFi); + } + redisService.deleteObject(ycBegin); + redisService.deleteObject(ycEnd); + } + } else { + // 异常放散 + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "",ReleaseStatusEnum.ERROR.getName()); + deviceStatusList.add(basStatus); + + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, lastDate,real.getDataTime(),ReleaseStatusEnum.ERROR); + coList.add(co); + // 转炉煤气开启 + String ycBegin = ZLMQ_START+vo.getDeviceId(); + String ycEnd = ZLMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + if(StringUtils.isEmpty(stDate)){ + //设置缓存 + redisService.setCacheObject(ycBegin,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + }else { + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + } + + } + }else{ + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "",ReleaseStatusEnum.YC.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, lastDate,real.getDataTime(),ReleaseStatusEnum.YC); + coList.add(co); + } + } + }); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlAdapter.java new file mode 100644 index 0000000..3949922 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlAdapter.java @@ -0,0 +1,156 @@ +package cn.cecep.talroad.service.strategy.support.jh; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.cecep.talroad.domain.MonElecReal; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasDeviceSiteService; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.service.IMonElecRealService; +import cn.cecep.talroad.service.strategy.AbstractStrategyAdapter; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import cn.cecep.talroad.vo.MonElecRealSiteVo; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 11:04 + * @Class: JhJlAdapter + * @Deseription: 任务调度-定时 + * @Version V1.0 + */ +@Service("JHJL") +public class JhJlAdapter extends StatusStrategyAdapter { + + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonElecRealService monElecRealService; + + + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + //查询该行业所有设备 + + Date lastHour = DateUtils.addMinutes(curr,-15); + + List list = monElecRealService.selectLatestMonElecRealByParams(industry,deviceType,lastHour,curr); + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + if(list!=null&&list.size()>0){ + list.forEach(real->{ + if(StringUtils.isNotEmpty(real.getActivePower())&&StringUtils.isNotEmpty(real.getMinValue())){ + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + // 总功率低于额定功率10%视为停产 + if (Double.valueOf(real.getActivePower()) <= Double.valueOf(real.getMinValue())) { + //低于额定功率10%,设备停产 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + }else{ + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"",""); + problemFi.setParamName("总有功功率(千瓦)"); + problemFi.setParamProperty("activePower"); + //总有功功率(千瓦) + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + Map m = new HashMap(); + m.put("deviceSiteId", real.getDeviceSiteId()); + m.put("params", Arrays.asList(new String[]{"activePower"})); + mapList.add(m); + map.put("elecDeviceSiteList", mapList); + problemFi.setExtra(JSON.toJSONString(map)); + alarmList.add(problemFi); + } + } + } + }); + //批量保存 + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlCountAdapter.java new file mode 100644 index 0000000..043969e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhJlCountAdapter.java @@ -0,0 +1,430 @@ +package cn.cecep.talroad.service.strategy.support.jh; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.DeviceParamTypeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceConfigService; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 11:09 + * @Class: JhJlCountAdapter + * @Deseription: 任务调度-每小时统计一次装煤次数,推焦次数,并计算产量 + * @Version V1.0 + */ +@Slf4j +@Service("JHJLJL") +public class JhJlCountAdapter extends YieldStrategyAdapter { + + @Autowired + private IBasDeviceConfigService basDeviceConfigService; + @Autowired + private IMonDevJhRealService monDevJhRealService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private RedisService redisService; + + + /** + * 查询设备监测数据 + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo,Date tempDate,boolean flag){ + List yieldList = new ArrayList<>(); + + Date lastHour = DateUtils.addHours(tempDate,-1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00",lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59",lastHour); + MonDevJhReal real = new MonDevJhReal(); + real.setDeviceId(vo.getDeviceId()); + real.setFactoryId(vo.getFactoryId()); + real.setTimeType(TimeTypeEnum.REAL.getCode()); + Map map = new HashMap<>(); + map.put("lastDate",lastHourBegin); + map.put("currDate",lastHourEnd); + real.setParams(map); + List realList = monDevJhRealService.selectLastHourData(real); + if(realList!=null&& realList.size()>0) { + + AtomicReference last = new AtomicReference<>(); + last.set(realList.stream().findFirst().get().getJs100()); + AtomicInteger it = new AtomicInteger(); + realList.forEach(t ->{ + if(StringUtils.isNotEmpty(t.getJs100())){ + if(Double.valueOf(0).compareTo(Double.valueOf(last.get()))==0&&Double.valueOf(1).compareTo(Double.valueOf(t.getJs100()))==0){ + it.getAndIncrement(); + } + last.set(t.getJs100()); + } + }); + + AtomicReference lastTm = new AtomicReference<>(); + lastTm.set(realList.stream().findFirst().get().getJs101()); + AtomicInteger itTm = new AtomicInteger(); + realList.forEach(t ->{ + if(StringUtils.isNotEmpty(t.getJs101())){ + if(Double.valueOf(0).compareTo(Double.valueOf(lastTm.get()))==0&&Double.valueOf(1).compareTo(Double.valueOf(t.getJs101()))==0){ + itTm.getAndIncrement(); + } + lastTm.set(t.getJs101()); + } + }); + + long tjcs = itTm.get(); + long zmcs = it.get(); + + + Date analyseTime = DateUtils.parseFormatDate("yyyy-MM-dd HH", lastHour); + //根据企业、设备编号、时间查询表里是否存在分析结果,存在则更新装煤次数、推焦次数,不存在则保存 + super.doSaveAnalysisCoal(vo, zmcs, tjcs, analyseTime); + + BigDecimal cl = new BigDecimal(0); + // 炭化室有效容积 + AtomicReference yxrj = new AtomicReference<>(0d); + AtomicReference jlType = new AtomicReference<>(""); + QueryWrapper configQueryWrapper = new QueryWrapper<>(); + configQueryWrapper.eq("factory_id", vo.getFactoryId()); + configQueryWrapper.eq("device_id", vo.getDeviceId()); + configQueryWrapper.eq("industry", vo.getIndustry()); + configQueryWrapper.eq("device_type", vo.getDeviceType()); + List configList = basDeviceConfigService.list(configQueryWrapper); + if (configList != null && configList.size() > 0) { + configList.forEach(p -> { + // 判断是否炭化室有效容积 + if (DeviceParamTypeEnum.TH_TYPE.getCode() + .equalsIgnoreCase(p.getParamCode())) { + yxrj.set(Double.valueOf(p.getNormalValue())); + } else if (DeviceParamTypeEnum.JL_TYPE.getCode() + .equalsIgnoreCase(p.getParamCode())) { + jlType.set(p.getNormalValue()); + } + }); + } + + // 推焦次数趋势数据 + STaskYieldTrend tjYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.JH_002,lastHourBegin,new BigDecimal(tjcs),flag); + yieldList.add(tjYield); + // 装煤次数趋势 + STaskYieldTrend zmYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.JH_001,lastHourBegin,new BigDecimal(zmcs),flag); + yieldList.add(zmYield); + // 焦炉类型不为空,进行后续计算 + if (StringUtils.isNotEmpty(jlType.get()) && yxrj.get() > 0) { + // 焦炉产量公式,目前写死值,后续待优化 1:顶装焦炉 2:侧装焦炉 + if ("1".equals(jlType.get())) { + cl = new BigDecimal(yxrj.get()).multiply(new BigDecimal(0.75)) + .multiply(new BigDecimal(0.8)).multiply(new BigDecimal(tjcs)) + .setScale(2, + RoundingMode.HALF_UP); + } else if ("2".equals(jlType.get())) { + cl = new BigDecimal(yxrj.get()).multiply(new BigDecimal(0.8)) + .multiply(new BigDecimal(tjcs)).setScale(2, + RoundingMode.HALF_UP); + } + + // 保存焦炉焦炭产量数据 + super.doSaveAnalysisCokeData(vo, tjcs, analyseTime, cl, yxrj); + + // 焦炉产量趋势 + STaskYieldTrend jlYield = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(),YieldTypeEnum.JH_003,lastHourBegin,cl,flag); + yieldList.add(jlYield); + } + // 布袋除尘器,压差是否频繁超高分析 + try { + this.doProcessPressData(vo, realList,lastHour); + } catch (Exception e) { + log.error("焦化焦炉布袋除尘器,压差是否频繁超高分析异常"+e.getMessage()); + } + } + // 批量保存产量 + super.doSaveBatchYieldTrendData(yieldList); + } + + /** + * 布袋除尘器,压差是否频繁超高分析 + * @param vo + * @param currList + * @param lastHour + */ + private void doProcessPressData(FactoryDeviceVo vo, List currList, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + + if (currList != null && currList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("jz100","jz101","jz102")); + // 布袋除尘器,压差是否频繁超高 + processBdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 静电除尘器 + processJdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 批量保存报警数据 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 布袋除尘 + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("jz100".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getG601()) && Double.valueOf(real.getG601()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + h.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getG601()) && Double.valueOf(real.getG601()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if(StringUtils.isEmpty(overFlag)){ + // 满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND,"压差,二次电流,二次电压","jz100,jz101,jz102"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if(StringUtils.isEmpty(lowFlag)){ + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND,"压差,二次电流,二次电压","jz100,jz101,jz102"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + /** + * 静电除尘 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processJdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + + String highFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId()); + String ycFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(highFlag)||StringUtils.isEmpty(ycFlag)||StringUtils.isEmpty(lowFlag)) { + + //报警间隔时长 + BasThresholdConfig alarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J01.getCode()); + //超标次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J02.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J03.getCode()); + // 连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J04.getCode()); + + AtomicInteger m = new AtomicInteger();//超标次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger l = new AtomicInteger();//连续累计过低时间 + + AtomicReference pressStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference elecStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + //二次电压 + if ("jz102".equals(p.getParamCodeSvc())) { + pressStandValue.set(p.getNormalValue()); + } + //二次电流 + if ("jz101".equals(p.getParamCodeSvc())) { + elecStandValue.set(p.getNormalValue()); + } + }); + } + + if (pressStandValue.get().doubleValue() > 0 || elecStandValue.get().doubleValue() > 0) { + Set set = new HashSet<>(); + Set bset = new HashSet<>(); + Double maxElec = elecStandValue.get().multiply(new BigDecimal(1.2)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minElec = elecStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minPress = pressStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mElec = elecStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nElec = elecStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mPress = pressStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nPress = pressStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + + currList.forEach(real -> { + if (StringUtils.isNotEmpty(real.getJz101())) { + // 二次电流大于额定电流1.2倍,二次电压小于额定电压0.5 + if (StringUtils.isNotEmpty(real.getJz102()) && Double.valueOf(real.getJz101()) > maxElec && Double.valueOf(real.getJz102()) < minPress) { + h.getAndIncrement(); + } + // 二次电流小于额定电流0.9 或二次电流大于额定电流1.1 + if (Double.valueOf(real.getJz101()) < nElec || Double.valueOf(real.getJz101()) > mElec) { + m.getAndIncrement(); + set.add("二次电流"); + bset.add("二次电流额定电流"); + } + //二次电压正常,二次电流小于额定电流0.5 + if (StringUtils.isNotEmpty(real.getJz102()) && (Double.valueOf(real.getJz102()) > nPress && Double.valueOf(real.getJz102()) < mPress) + && Double.valueOf(real.getJz101()) < minElec) { + l.getAndIncrement(); + } else { + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + // 二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (StringUtils.isNotEmpty(real.getJz102()) && (Double.valueOf(real.getJz102()) < nPress || Double.valueOf(real.getJz102()) > mPress)) { + m.getAndIncrement(); + set.add("二次电压"); + bset.add("二次电压额定电压"); + } + + }); + if (StringUtils.isEmpty(highFlag)) { + //二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,生成报警记录 + if (h.get() > hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GG,"压差,二次电流,二次电压","jz100,jz101,jz102"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(ycFlag)) { + //二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (m.get() >= hCount.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + String paramStr = StringUtils.join(",", set); + String standStr = StringUtils.join(",", bset); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,报警指标" + paramStr + "超过对比标准" + standStr + "10%以上次数超过" + hCount.getThresholdValue().intValue() + "次,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_YC,"压差,二次电流,二次电压","jz100,jz101,jz102"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + + if (StringUtils.isEmpty(lowFlag)) { + //二次电压正常 且二次电流小于额定电流0.5 + if (l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电压正常,但二次电流过低,时长超过" + lTime.getThresholdValue().intValue() + "分钟,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GD,"压差,二次电流,二次电压","jz100,jz101,jz102"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + } + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand,String param,String paramProperty) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), param, paramProperty); + return problemFi; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhMqgwAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhMqgwAdapter.java new file mode 100644 index 0000000..e86ba44 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/jh/JhMqgwAdapter.java @@ -0,0 +1,166 @@ +package cn.cecep.talroad.service.strategy.support.jh; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ReleaseStatusEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IMonDevJhRealService; +import cn.cecep.talroad.service.IOdsAirRegionHourIService; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-25 16:29 + * @Class: JlmqAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("JHMQGW") +public class JhMqgwAdapter extends StatusStrategyAdapter { + + @Autowired + private IOdsAirRegionHourIService odsAirRegionHourIService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevJhRealService monDevJhRealService; + @Autowired + private RedisService redisService; + private final static String JHMQ_START = "JH_MQGW_START_"; + private final static String JHMQ_END = "JH_MQGW_END_"; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + List deviceStatusList = new ArrayList<>(); + List coList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + Map salAnalysisMap = new HashMap<>(); + + Date lastDate = DateUtils.addMinutes(curr,-10); + // 查询该设备最新监测数据 + List realList = monDevJhRealService.selectLatestByParams(industry,deviceType,lastDate,curr); + if(realList!=null&&realList.size()>0){ + realList.forEach(real->{ + AtomicInteger n = new AtomicInteger(); + AtomicInteger t = new AtomicInteger(); + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + if (StringUtils.isNotEmpty(real.getJs202())) { + // 放散流速 + if (Double.valueOf(real.getJs202()).compareTo(3.0) >= 0) { + n.getAndIncrement(); + } + } + if (StringUtils.isNotEmpty(real.getJs201())) { + // 放散温度 + t.getAndIncrement(); + } + + if (StringUtils.isEmpty(real.getJs201()) && StringUtils.isEmpty(real.getJs202())) { + StringBuffer sb = new StringBuffer(); + sb.append("数据缺失,无法判断"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), lastDate, curr, ProblemTypeEnum.SJQS, sb.toString(),"放散温度,放散流速","js201,js202"); + alarmList.add(problemFi); + } else { + // 满足一个条件为放散 + if (n.get() > 0) { + // 放散 + if (t.get() > 0) { + String lastDateTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00",DateUtils.addHours(curr,-2)); + BigDecimal avgTemp = odsAirRegionHourIService.selectAvgTemp(lastDateTime); + if(BigDecimal.valueOf(Double.valueOf(real.getJs201())).subtract(avgTemp).compareTo(new BigDecimal(10))>0) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(), vo.getDeviceId(), "", ReleaseStatusEnum.NORMAL.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.NORMAL); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getG979())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + co.setCoalEmissions(emission); + coList.add(co); + // 煤气管网 + String ycBegin = JHMQ_START+vo.getDeviceId(); + String ycEnd = JHMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + // 异常放散结束日期 + String stEnd = redisService.getCacheObject(ycEnd); + if(StringUtils.isNotEmpty(stDate)) { + stEnd = StringUtils.isEmpty(stEnd)?stDate:stEnd; + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("于").append(stDate).append("-") + .append(stEnd).append("存在CO异常放散情况。"); + if(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stDate).compareTo(DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",stEnd))<=0) { + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stDate), + DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", stEnd), ProblemTypeEnum.RELEASE, + sb.toString(), "放散温度,放散流速", "js201,js202"); + alarmList.add(problemFi); + } + redisService.deleteObject(ycBegin); + redisService.deleteObject(ycEnd); + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "",ReleaseStatusEnum.ERROR.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(),real.getDataTime(),ReleaseStatusEnum.ERROR); + BigDecimal emission = BigDecimal.valueOf(Double.valueOf(real.getG979())).divide(BigDecimal.valueOf(60),2, RoundingMode.HALF_UP); + co.setCoalEmissions(emission); + coList.add(co); + // 煤气管网 + String ycBegin = JHMQ_START+vo.getDeviceId(); + String ycEnd = JHMQ_END+vo.getDeviceId(); + // 异常放散开始日期 + String stDate = redisService.getCacheObject(ycBegin); + if(StringUtils.isEmpty(stDate)){ + //设置缓存 + redisService.setCacheObject(ycBegin,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + }else { + redisService.setCacheObject(ycEnd,DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",real.getDataTime())); + } + } + } else { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "",ReleaseStatusEnum.YC.getName()); + deviceStatusList.add(basStatus); + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(),real.getDataTime(),ReleaseStatusEnum.YC); + coList.add(co); + } + } else { + SRaRealTimeAnalysisCo co = super.doProcessAnalysisCoData(vo, real.getDataTime(), real.getDataTime(), ReleaseStatusEnum.UNREAL); + coList.add(co); + BasDeviceSalAnalysis oldSal = salAnalysisMap.get(vo.getDeviceId()); + if(oldSal==null) { + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(), "", ReleaseStatusEnum.UNREAL.getName()); + salAnalysisMap.put(vo.getDeviceId(),basStatus); + deviceStatusList.add(basStatus); + } + } + } + }); + // 批量处理 + super.doSaveBatchSRaRealTimeAnalysisCo(coList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyAdapter.java new file mode 100644 index 0000000..35dfe75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyAdapter.java @@ -0,0 +1,153 @@ +package cn.cecep.talroad.service.strategy.support.sn; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.utils.bean.BeanUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResult; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasDeviceSalAnalysis; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.enums.DeviceStatusEnum; +import cn.cecep.talroad.enums.JudgeEnum; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.IBasParamService; +import cn.cecep.talroad.service.IMonDevSnRealService; +import cn.cecep.talroad.service.strategy.AbstractStrategyAdapter; +import cn.cecep.talroad.service.strategy.StatusStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-03-27 19:25 + * @Class: SnSnyAdapter + * @Deseription: + * @Version V1.0 + */ +@Service("SNSNY") +public class SnSnyAdapter extends StatusStrategyAdapter { + + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private IMonDevSnRealService monDevSnRealService; + + @Override + protected void doProcessStatus(String industry, String deviceType,Date curr) { + + List deviceStatusList = new ArrayList<>(); + List runList = new ArrayList<>(); + List runOneList = new ArrayList<>(); + List alarmList = new ArrayList<>(); + + Date lastHour = DateUtils.addMinutes(curr,-15); + // 查询设备最新监测数据 + List realList = monDevSnRealService.selectLatestByParams(industry,deviceType,lastHour,curr); + if(realList!=null&&realList.size()>0){ + realList.forEach(real->{ + + // 查询设备参数 + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(real.getDeviceId(), Arrays.asList("ss100")); + AtomicInteger m = new AtomicInteger(); + AtomicBoolean flag = new AtomicBoolean(false); + if(paramsList!=null&¶msList.size()>0) { + // 根据设备ID,查询企业名称、设备名称等信息 + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(real.getDeviceId()); + SRaRealTimeAnalysisRunOne oldDeviceStatus = super.getOldDeviceStatus(vo.getFactoryId(),vo.getDeviceId()); + + paramsList.forEach(p->{ + if ("ss100".equalsIgnoreCase(p.getParamCodeSvc()) && StringUtils.isNotEmpty(real.getSs100())) { + m.getAndIncrement(); + // 生产端加料量 + if (Double.valueOf(real.getSs100()) <= p.getNormalValue().multiply(new BigDecimal(0.1)).setScale(2, RoundingMode.HALF_UP).doubleValue()) { + flag.set(true); + } + } + }); + + if (m.get() > 0) { + if (flag.get()) { + //停产条件比例占比超过66%,设备停机 + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.STOP, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.STOP.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"生产端加料量","ss100"); + alarmList.add(problemFi); + } + } else { + SRaRealTimeAnalysisRun run = super.doProcessDeviceRunStatus(vo,lastHour,curr,oldDeviceStatus, DeviceStatusEnum.RUN, JudgeEnum.GKSJ); + runList.add(run); + if(oldDeviceStatus!=null) { + String oneId = ""; + if(StringUtils.isNotEmpty(oldDeviceStatus.getDataId())) { + oneId = oldDeviceStatus.getDataId(); + } + BeanUtils.copyProperties(run, oldDeviceStatus); + oldDeviceStatus.setDataId(oneId); + oldDeviceStatus.setIndustryPermissionName(vo.getIndustryPermissionName()); + runOneList.add(oldDeviceStatus); + } + BasDeviceSalAnalysis basStatus = super.doProcessDeviceAnalysisStatus(vo.getFactoryId(),vo.getDeviceId(),DeviceStatusEnum.RUN.getValue(),""); + deviceStatusList.add(basStatus); + if(DeviceStatusEnum.STOP_RUN.getCode().equals(run.getOperationStatus())||DeviceStatusEnum.RUN_STOP.getCode().equals(run.getOperationStatus())) { + String runEtc = super.getRunEtc(lastHour, curr, ""); + StringBuffer sb = new StringBuffer(); + sb.append(vo.getFactoryName()).append(vo.getDeviceName()) + .append("于").append(runEtc).append("存在启停行为,请注意。"); + AmProblemFi problemFi = doProcessAlaram(vo.getFactoryId(),vo.getDeviceId(), vo.getDeviceName(), lastHour,curr, ProblemTypeEnum.STOP_RUN,sb.toString(),"生产端加料量","ss100"); + alarmList.add(problemFi); + } + } + } else { + //数据缺失,无法判断:ss100 + } + } + }); + //批量保存 + + super.doSaveBatchAnalysisRunStatus(runList); + super.doSaveBatchAnalysisRunOneStatus(runOneList); + super.doSaveOrUpdateBatchDeviceStatus(deviceStatusList); + super.doSaveBatchAlarm(alarmList); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyCountAdapter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyCountAdapter.java new file mode 100644 index 0000000..31c4b20 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/service/strategy/support/sn/SnSnyCountAdapter.java @@ -0,0 +1,355 @@ +package cn.cecep.talroad.service.strategy.support.sn; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.redis.service.RedisService; +import cn.cecep.talroad.domain.AmProblemFi; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.cecep.talroad.domain.STaskYieldTrend; +import cn.cecep.talroad.enums.ProblemTypeEnum; +import cn.cecep.talroad.enums.ThresHoldConfigEnum; +import cn.cecep.talroad.enums.TimeTypeEnum; +import cn.cecep.talroad.enums.YieldTypeEnum; +import cn.cecep.talroad.service.IBasDeviceParamService; +import cn.cecep.talroad.service.IBasThresholdConfigService; +import cn.cecep.talroad.service.IMonDevSnRealService; +import cn.cecep.talroad.service.strategy.YieldStrategyAdapter; +import cn.cecep.talroad.vo.BasDeviceParamVo; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: cjh + * @Date: 2023-04-03 11:57 + * @Class: SnSnyCountAdapter + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Service("SNSNYSNY") +public class SnSnyCountAdapter extends YieldStrategyAdapter { + + @Autowired + private IMonDevSnRealService monDevSnRealService; + @Autowired + private IBasDeviceParamService basDeviceParamService; + @Autowired + private IBasThresholdConfigService basThresholdConfigService; + @Autowired + private RedisService redisService; + + /** + * 查询设备监测数据 + * + * @param vo + * @param tempDate + * @param flag 是否处理历史数据 true 是 false 否 + */ + @Override + protected void doQueryYieldData(FactoryDeviceVo vo, Date tempDate, boolean flag) { + + Date lastHour = DateUtils.addHours(tempDate, -1); + Date lastHourBegin = DateUtils.parseFormatDate("yyyy-MM-dd HH:00:00", lastHour); + Date lastHourEnd = DateUtils.parseFormatDate("yyyy-MM-dd HH:59:59", lastHour); + QueryWrapper snQueryWrapper = new QueryWrapper<>(); + snQueryWrapper.eq("factory_id", vo.getFactoryId()); + snQueryWrapper.eq("device_id", vo.getDeviceId()); + snQueryWrapper.eq("time_type", TimeTypeEnum.REAL.getCode()); + snQueryWrapper.between("data_time", lastHourBegin, lastHourEnd); + snQueryWrapper.orderByAsc("data_time"); + List realList = monDevSnRealService.list(snQueryWrapper); + if (realList != null && realList.size() > 0) { + BasThresholdConfig config = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.SN01.getCode()); + //计算1小时内生产端加料量平均值 + Double avgHour = realList.stream().filter(r->StringUtils.isNotEmpty(r.getSs100())).mapToDouble(m -> Double.valueOf(m.getSs100())) + .average().getAsDouble(); + BigDecimal hourCl = new BigDecimal(avgHour); + // 水泥行业产量计算阈值,1.56为经验值 + BigDecimal jyz = config.getThresholdValue().setScale(2, RoundingMode.HALF_UP); + //计算水泥熟料产量小时值 + BigDecimal slHour = hourCl.divide(jyz, 4, RoundingMode.HALF_UP); + + Date analyseTime = DateUtils.parseFormatDate("yyyy-MM-dd HH", lastHour); + //保存水泥产量 + super.doSaveAnalysisCementData(vo, avgHour, slHour, analyseTime); + //保存产量趋势 + STaskYieldTrend trend = super.doBuildTrenData(vo.getFactoryId(), vo.getDeviceId(), YieldTypeEnum.SN_001, lastHourBegin, slHour, flag); + // 保存产量 + super.doSaveYieldTrendData(trend); + try { + // 布袋除尘器,压差是否频繁超高分析 + this.doProcessPressData(vo, realList, lastHourBegin); + } catch (Exception e) { + log.error("水泥布袋除尘器,压差是否频繁超高分析异常"+e.getMessage()); + } + } + } + + + /** + * 布袋除尘器,压差是否频繁超高分析 + * + * @param vo + * @param currList + * @param lastHour + */ + private void doProcessPressData(FactoryDeviceVo vo, List currList, Date lastHour) { + List alarmList = new ArrayList<>(); + Date curr = new Date(); + + if (currList != null && currList.size() > 0) { + List paramsList = basDeviceParamService.selectBasDeviceParamByCondition(vo.getDeviceId(), Arrays.asList("sz101","sz103","sz105")); + //布袋除尘器,压差是否频繁超高 + processBdData(vo, currList, lastHour, alarmList, curr, paramsList); + //静态除尘器 + processJdData(vo, currList, lastHour, alarmList, curr, paramsList); + // 批量保存报警数据 + super.doSaveBatchAlarm(alarmList); + } + } + + /** + * 布袋除尘器,压差是否频繁超高 + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processBdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + String overFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(overFlag)||StringUtils.isEmpty(lowFlag)) { + + //超高次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H01.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H02.getCode()); + //报警间隔时长 + BasThresholdConfig hAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.H03.getCode()); + // 过低次数 + BasThresholdConfig lCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L01.getCode()); + //连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L02.getCode()); + //报警间隔时长 + BasThresholdConfig lAlarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.L03.getCode()); + + AtomicInteger m = new AtomicInteger();//超高次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger n = new AtomicInteger();//超低次数 + AtomicInteger l = new AtomicInteger();//连续累计超高时间 + + AtomicReference maxStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference minStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + if ("sz101".equals(p.getParamCodeSvc())) { + maxStandValue.set(p.getMaxValue()); + minStandValue.set(p.getMinValue()); + } + }); + } + if (maxStandValue.get().doubleValue() > 0 || minStandValue.get().doubleValue() > 0) { + currList.forEach(real -> { + if (StringUtils.isEmpty(overFlag)&&maxStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getSz101()) && Double.valueOf(real.getSz101()) > maxStandValue.get().doubleValue()) { + m.getAndIncrement(); + h.getAndIncrement(); + } else { + // 压差未超高,则重新计数 + if (h.get() < hTime.getThresholdValue().intValue()) { + h.set(0); + } + } + } + if (StringUtils.isEmpty(lowFlag)&&minStandValue.get().doubleValue() > 0) { + if (StringUtils.isNotEmpty(real.getSz101()) && Double.valueOf(real.getSz101()) < minStandValue.get().doubleValue()) { + n.getAndIncrement(); + l.getAndIncrement(); + } else { + // 压差未超低,则重新计数 + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + }); + } + if (StringUtils.isEmpty(overFlag)) { + // 满足条件其中一个条件,即超高报警 + if (m.get() >= hCount.getThresholdValue().intValue() || h.get() >= hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("窑尾布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁超过设计标准值高限,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_OVER_STAND,"压差,二次电流,二次电压","sz101,sz103,sz105"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_OVER_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), hAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if(StringUtils.isEmpty(lowFlag)){ + if (n.get() >= lCount.getThresholdValue().intValue() || l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("窑尾布袋除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)).append("开始,进出口压差频繁低于设计标准值下限,可能导致除尘效率变低,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.PRESS_LOW_STAND,"压差,二次电流,二次电压","sz101,sz103,sz105"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.PRESS_LOW_STAND.getCode() + vo.getDeviceId(), vo.getDeviceId(), lAlarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + + /** + * 静电除尘 + * + * @param vo + * @param currList + * @param lastHour + * @param alarmList + * @param curr + * @param paramsList + */ + private void processJdData(FactoryDeviceVo vo, List currList, Date lastHour, List alarmList, Date curr, List paramsList) { + + String highFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId()); + String ycFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId()); + String lowFlag = redisService.getCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId()); + if(StringUtils.isEmpty(highFlag)||StringUtils.isEmpty(ycFlag)||StringUtils.isEmpty(lowFlag)) { + + //报警间隔时长 + BasThresholdConfig alarm = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J01.getCode()); + //超标次数 + BasThresholdConfig hCount = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J02.getCode()); + //连续累计超高时间 + BasThresholdConfig hTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J03.getCode()); + // 连续累计过低时间 + BasThresholdConfig lTime = basThresholdConfigService.selectByParamCode(ThresHoldConfigEnum.J04.getCode()); + + AtomicInteger m = new AtomicInteger();//超标次数 + AtomicInteger h = new AtomicInteger();//连续累计超高时间 + AtomicInteger l = new AtomicInteger();//连续累计过低时间 + + AtomicReference pressStandValue = new AtomicReference<>(new BigDecimal(0)); + AtomicReference elecStandValue = new AtomicReference<>(new BigDecimal(0)); + if (paramsList != null && paramsList.size() > 0) { + paramsList.forEach(p -> { + //二次电压 + if ("sz105".equals(p.getParamCodeSvc())) { + pressStandValue.set(p.getNormalValue()); + } + //二次电流 + if ("sz103".equals(p.getParamCodeSvc())) { + elecStandValue.set(p.getNormalValue()); + } + }); + } + + if (pressStandValue.get().doubleValue() > 0 || elecStandValue.get().doubleValue() > 0) { + Set set = new HashSet<>(); + Set bset = new HashSet<>(); + Double maxElec = elecStandValue.get().multiply(new BigDecimal(1.2)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minElec = elecStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double minPress = pressStandValue.get().multiply(new BigDecimal(0.5)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mElec = elecStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nElec = elecStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double mPress = pressStandValue.get().multiply(new BigDecimal(1.1)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + Double nPress = pressStandValue.get().multiply(new BigDecimal(0.9)).setScale(2, RoundingMode.HALF_UP).doubleValue(); + + currList.forEach(real -> { + if (StringUtils.isNotEmpty(real.getSz103())) { + // 二次电流大于额定电流1.2倍,二次电压小于额定电压0.5 + if (StringUtils.isNotEmpty(real.getSz105()) && Double.valueOf(real.getSz103()) > maxElec && Double.valueOf(real.getSz105()) < minPress) { + h.getAndIncrement(); + } + // 二次电流小于额定电流0.9 或二次电流大于额定电流1.1 + if (Double.valueOf(real.getSz103()) < nElec || Double.valueOf(real.getSz103()) > mElec) { + m.getAndIncrement(); + set.add("二次电流"); + bset.add("二次电流额定电流"); + } + //二次电压正常,二次电流小于额定电流0.5 + if (StringUtils.isNotEmpty(real.getSz105()) && (Double.valueOf(real.getSz105()) > nPress && Double.valueOf(real.getSz105()) < mPress) + && Double.valueOf(real.getSz103()) < minElec) { + l.getAndIncrement(); + } else { + if (l.get() < lTime.getThresholdValue().intValue()) { + l.set(0); + } + } + } + // 二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (StringUtils.isNotEmpty(real.getSz105()) && (Double.valueOf(real.getSz105()) < nPress || Double.valueOf(real.getSz105()) > mPress)) { + m.getAndIncrement(); + set.add("二次电压"); + bset.add("二次电压额定电压"); + } + + }); + if (StringUtils.isEmpty(highFlag)) { + //二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,生成报警记录 + if (h.get() > hTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电流超过额定电流1.2倍且二次电压小于额定电压0.5倍的时间持续10分钟以上,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GG,"压差,二次电流,二次电压","sz101,sz103,sz105"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GG.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + if (StringUtils.isEmpty(ycFlag)) { + //二次电压小于额定电压0.9 或二次电压大于额定电压1.1 + if (m.get() >= hCount.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + String paramStr = StringUtils.join(",", set); + String standStr = StringUtils.join(",", bset); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,报警指标" + paramStr + "超过对比标准" + standStr + "10%以上次数超过" + hCount.getThresholdValue().intValue() + "次,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_YC,"压差,二次电流,二次电压","sz101,sz103,sz105"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_YC.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + + if (StringUtils.isEmpty(lowFlag)) { + //二次电压正常 且二次电流小于额定电流0.5 + if (l.get() >= lTime.getThresholdValue().intValue()) { + StringBuffer sb = new StringBuffer(); + sb.append(vo.getDeviceName()).append("静电除尘器于").append(DateUtils.parseDateToStr("yyyy-MM-dd HH:00:00", lastHour)) + .append("开始,二次电压正常,但二次电流过低,时长超过" + lTime.getThresholdValue().intValue() + "分钟,可能导致除尘效率变低,存在颗粒物浓度超标风险,请及时排查。"); + AmProblemFi problemFi = getAmProblemFi(vo, curr, sb, ProblemTypeEnum.JDCC_GD,"压差,二次电流,二次电压","sz101,sz103,sz105"); + alarmList.add(problemFi); + redisService.setCacheObject(ProblemTypeEnum.JDCC_GD.getCode() + vo.getDeviceId(), vo.getDeviceId(), alarm.getThresholdValue().longValue(), TimeUnit.HOURS); + } + } + } + } + } + + /** + * 获取报警数据 + * + * @param vo + * @param curr + * @param sb + * @param pressOverStand + * @return + */ + private AmProblemFi getAmProblemFi(FactoryDeviceVo vo, Date curr, StringBuffer sb, ProblemTypeEnum pressOverStand,String param,String paramProperty) { + AmProblemFi problemFi = super.doProcessAlaram(vo.getFactoryId(), vo.getDeviceId(), vo.getDeviceName(), curr, new Date(), pressOverStand, sb.toString(), param, paramProperty); + return problemFi; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ConcentrationTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ConcentrationTaskController.java new file mode 100644 index 0000000..bb7f600 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ConcentrationTaskController.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.service.ConcentrationTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/*** + * + * @Title: + * @Author: xuxin + * @CreateTime: 2023-07-04 13:25 + * @Description + * + **/ +@Slf4j +@Api(tags = "监测差异分析") +@RestController +@RequestMapping("/data/concentration") +public class ConcentrationTaskController { + + + @Autowired + private ConcentrationTaskService concentrationTaskService; + + @ApiOperation(value = "废气,废水,监测差异分析", notes = "废气,废水,监测差异分析") + @GetMapping("/realData") + public AjaxResults realData() { + + try { + log.info("执行任务 监测差异分析 start:className:{}",concentrationTaskService.getClass().getName()); + concentrationTaskService.mainProcess(); + }catch (Exception e){ + log.error("执行 监测差异分析 任务失败!className:{}",concentrationTaskService.getClass().getName()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ContrastiveAnalysisController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ContrastiveAnalysisController.java new file mode 100644 index 0000000..89f0085 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ContrastiveAnalysisController.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.service.ContrastiveAnalysisGasTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(tags = "在线监测行业对比分析") +@RestController +@RequestMapping("/data/contrastive/analysis") +public class ContrastiveAnalysisController { + + @Autowired + private ContrastiveAnalysisGasTaskService contrastiveAnalysisGasTaskService; + + @ApiOperation(value = "废气,废水,在线监测行业对比分析", notes = "废气,废水,在线监测行业对比分析") + @GetMapping("/realData") + public AjaxResults realData() { + + try { + log.info("执行任务 在线监测行业对比分析 start:className:{}",contrastiveAnalysisGasTaskService.getClass().getName()); + contrastiveAnalysisGasTaskService.mainProcess(); + }catch (Exception e){ + log.error("执行 在线监测行业对比分析 任务失败!className:{}",contrastiveAnalysisGasTaskService.getClass().getName()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataConstantController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataConstantController.java new file mode 100644 index 0000000..ba6379b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataConstantController.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractFactory; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.enums.DataAnomalyFactoryServiceEnum; +import cn.cecep.talroad.data.analyse.task.service.OutletMonitorGasTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +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 hehongyu + * @description: 数据逻辑异常分析任务 + * @date 2023/6/11 15:11 + */ +@Slf4j +@Api(tags = "数据恒定异常分析任务") +@RestController +@RequestMapping("/data/constant") +public class DataConstantController { + + @ApiOperation(value = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据恒定异常分析", notes = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据恒定异常分析") + @GetMapping("/realData") + public AjaxResults realData() { + List logicCodes = DataAnomalyFactoryServiceEnum.getConstantCodes(); + for (DataAnomalyFactoryServiceEnum logicCode : logicCodes) { + DataAnomalyAbstractService service = DataAnomalyAbstractFactory.getService(logicCode); + log.info("执行任务 start:className:{}",service.getClass().getName()); + boolean result = false; + try { + result = service.mainProcess(); + } catch (Exception e) { + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + } + if (!result){ + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + return AjaxResults.error(); + } + log.info("执行任务 end:className:{}",service.getClass().getName()); + } + return AjaxResults.success(); + } + + @Autowired + private OutletMonitorGasTaskService outletMonitorGasTaskService; + + @ApiOperation(value = "排污单位手工监测数据超标", notes = "排污单位手工监测数据超标") + @GetMapping("/omGas") + public AjaxResults testOomGasData() { + outletMonitorGasTaskService.mainProcess(null); + return AjaxResults.success(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataLogicExceptionController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataLogicExceptionController.java new file mode 100644 index 0000000..e5bdd25 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataLogicExceptionController.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractFactory; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.enums.DataAnomalyFactoryServiceEnum; +import cn.cecep.talroad.enums.DataTypeEnum; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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 hehongyu + * @description: 数据逻辑异常分析任务 + * @date 2023/6/11 15:11 + */ +@Slf4j +@Api(tags = "数据丢失异常分析任务") +@RestController +@RequestMapping("/data/logic") +public class DataLogicExceptionController { + + @ApiOperation(value = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据丢失异常分析", notes = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据丢失异常分析") + @GetMapping("/realData") + public AjaxResults realData() { + List logicCodes = DataAnomalyFactoryServiceEnum.getLogicCodes(); + for (DataAnomalyFactoryServiceEnum logicCode : logicCodes) { + DataAnomalyAbstractService service = DataAnomalyAbstractFactory.getService(logicCode); + log.info("执行任务 start:className:{}",service.getClass().getName()); + boolean result = false; + try { + result = service.mainProcess(); + } catch (Exception e) { + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + } + if (!result){ + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + return AjaxResults.error(); + } + log.info("执行任务 end:className:{}",service.getClass().getName()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataMissingController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataMissingController.java new file mode 100644 index 0000000..9c4a9dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DataMissingController.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractFactory; +import cn.cecep.talroad.data.analyse.task.anomaly.analysis.DataAnomalyAbstractService; +import cn.cecep.talroad.data.analyse.task.enums.DataAnomalyFactoryServiceEnum; +import cn.cecep.talroad.enums.DataTypeEnum; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +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 hehongyu + * @description: 数据逻辑异常分析任务 + * @date 2023/6/11 15:11 + */ +@Slf4j +@Api(tags = "数据逻辑异常分析任务") +@RestController +@RequestMapping("/data/missing") +public class DataMissingController { + + @ApiOperation(value = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据逻辑异常分析", notes = "钢铁,焚烧,焦化,玻璃,电力,水泥 数据逻辑异常分析") + @GetMapping("/realData") + public AjaxResults realData() { + List logicCodes = DataAnomalyFactoryServiceEnum.getMissingCodes(); + for (DataAnomalyFactoryServiceEnum logicCode : logicCodes) { + DataAnomalyAbstractService service = DataAnomalyAbstractFactory.getService(logicCode); + log.info("执行任务 start:className:{}",service.getClass().getName()); + boolean result = false; + try { + result = service.mainProcess(); + } catch (Exception e) { + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + } + if (!result){ + log.error("执行数据逻辑分析任务失败!className:{}",service.getClass().getName()); + return AjaxResults.error(); + } + log.info("执行任务 end:className:{}",service.getClass().getName()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DisPermitController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DisPermitController.java new file mode 100644 index 0000000..feb67f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/DisPermitController.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.IBMainPollDisService; +import cn.cecep.talroad.service.analysis.IDisPermitService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Auther: cjh + * @Date: 2023-06-09 15:53 + * @Class: DisPermitController + * @Deseription: + * @Version V1.0 + */ +@Api("排污许可定时任务") +@RestController +@RequestMapping("/disPermit") +public class DisPermitController { + + @Autowired + private IDisPermitService disPermitService; + + @ApiOperation(value = "定时任务-排污许可延续提醒:每10天执行一次") + @Log(title = "排污许可延续提醒", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doDisPermitWarn") + public void doDisPermitWarn(){ + + disPermitService.doDisPermitWarn(); + } + + + @ApiOperation(value = "定时任务-排污许可整改超期提醒:每5天执行一次") + @Log(title = "排污许可延续提醒", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doDisPermitExceed") + public void doDisPermitExceed(){ + + disPermitService.doDisPermitExceed(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ExecuteReportController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ExecuteReportController.java new file mode 100644 index 0000000..afee6b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ExecuteReportController.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.execute.report.PollutionDischargeProcessService; +import cn.cecep.talroad.data.analyse.task.execute.report.specifications.month.AnomalyAnalysisService; +import cn.cecep.talroad.data.analyse.task.label.ExecuteReportTaskService; +import cn.cecep.talroad.enums.EmlTypeEnums; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: Frank + * @createTime: 2023年07月25日 15:19:10 + * @version: + * @Description: + */ +@Api(tags = "执行报告相关定时任务") +@RestController +@RequestMapping("/execute/report") +@Slf4j +@AllArgsConstructor +public class ExecuteReportController { + + private final PollutionDischargeProcessService pollutionDischargeProcess; + + private final ExecuteReportTaskService executeReportTaskService; + + private final AnomalyAnalysisService anomalyAnalysisService; + + /** + * 定时更新 执行报告-排污单位基本信息表-审核 + */ + @GetMapping("/pollution/discharge/process") + public AjaxResults pollutionDischargeProcess() { + try { + pollutionDischargeProcess.process(); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时执行排污执行报告审核预警任务失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + @GetMapping("/specification") + public AjaxResults isSpecification() { + try { + executeReportTaskService.isSpecification(); + return AjaxResults.success(); + } catch (Exception e) { + log.error("根据关联分析系统的判断结果得出-执行报告规范审核定时任务 error . 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + @GetMapping("/submit") + public AjaxResults isSubmit() { + try { + executeReportTaskService.isSubmitTask(); + return AjaxResults.success(); + } catch (Exception e) { + log.error("根据关联分析系统的判断结果得出-执行报告规范审核定时任务 error . 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + @GetMapping("/anomaly/analysis/year") + public AjaxResults anomalyAnalysisYear() { + try { + anomalyAnalysisService.execute(EmlTypeEnums.YEAR); + return AjaxResults.success(); + } catch (Exception e) { + log.error("执行报告异常分析行为任务 -- 年 error . 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + @GetMapping("/anomaly/analysis/quarter") + public AjaxResults anomalyAnalysisQuarter() { + try { + anomalyAnalysisService.execute(EmlTypeEnums.QUARTER); + return AjaxResults.success(); + } catch (Exception e) { + log.error("执行报告异常分析行为任务 -- 季度 error . 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + @GetMapping("/anomaly/analysis/month") + public AjaxResults anomalyAnalysisMonth() { + try { + anomalyAnalysisService.execute(EmlTypeEnums.MONTH); + return AjaxResults.success(); + } catch (Exception e) { + log.error("执行报告异常分析行为任务 -- 月度 error . 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryLabelChangeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryLabelChangeController.java new file mode 100644 index 0000000..33afb80 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryLabelChangeController.java @@ -0,0 +1,160 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.factory.label.change.FactoryLabelChangeServiceContext; +import cn.cecep.talroad.domain.dto.FactoryLabelChangeDTO; +import cn.cecep.talroad.enums.LabelFactoryEnum; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: Frank + * @createTime: 2023年06月28日 17:11:33 + * @version: + * @Description: + */ +@Api(tags = "企业标签变更定时任务") +@RestController +@RequestMapping("/factory/lacbel/change") +@Slf4j +@AllArgsConstructor +public class FactoryLabelChangeController { + + private final FactoryLabelChangeServiceContext factoryLabelChangeServiceContext; + + /** + * 定时更新 企业的用电量标签关系 + */ + @GetMapping("/activePowerQuantityLabel") + public AjaxResults updateFactoryActivePowerQuantityLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF016.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的用电量标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + /** + * 定时更新 企业的SO2排放标签关系 + */ + @GetMapping("/airPollutantS02Label") + public AjaxResults updateFactoryAirPollutantS02Label(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF008.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的SO2排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + /** + * 定时更新 企业的NOx排放标签关系 + */ + @GetMapping("/airPollutantNOXLabel") + public AjaxResults updateFactoryAirPollutantNOXLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF009.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的NOx排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + /** + * 定时更新 企业的颗粒物排放标签关系 + */ + @GetMapping("/airPollutantParticulateLabel") + public AjaxResults updateFactoryAirPollutantParticulateLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF010.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的颗粒物排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + + + /** + * 定时更新 企业的挥发性有机物排放标签关系 + */ + @GetMapping("/airPollutantVOCSLabel") + public AjaxResults updateFactoryAirPollutantVOCSLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF011.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的企业的挥发性有机物排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + /** + * 定时更新 企业的COD排放标签关系 + */ + @GetMapping("/waterPollutantCODLabel") + public AjaxResults updateFactoryWaterPollutantCODLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF012.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的COD排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + /** + * 定时更新 企业的氨氮排放标签关系 + */ + @GetMapping("/waterPollutantAmmoniaNitrogenLabel") + public AjaxResults updateFactoryWaterPollutantAmmoniaNitrogenLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF013.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的氨氮排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + /** + * 定时更新 企业的总氮排放标签关系 + */ + @GetMapping("/waterPollutantTotalNitrogenLabel") + public AjaxResults updateFactoryWaterPollutantTotalNitrogenLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF014.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的总氮排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + /** + * 定时更新 企业的总磷排放标签关系 + */ + @GetMapping("/waterPollutantPhosphorusLabel") + public AjaxResults updateFactoryWaterPollutantPhosphorusDLabel(FactoryLabelChangeDTO factoryLabelChangeDTO) { + try { + factoryLabelChangeDTO.setEnumId(LabelFactoryEnum.PF015.getEnumId()); + factoryLabelChangeServiceContext.execute(factoryLabelChangeDTO); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时更新企业的总磷排放标签关系失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryScheduledController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryScheduledController.java new file mode 100644 index 0000000..e010f8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FactoryScheduledController.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.controller.BaseController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.IPcFactoryService; +import cn.cecep.talroad.service.STaskYieldTrendService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: zpz + * @Date: 2023-4-9 14:39:52 + * @Version 1.0 + */ +@Api(tags = "企业定时任务") +@RestController +@RequestMapping("/factory") +@Slf4j +public class FactoryScheduledController extends BaseController { + + @Autowired + private IPcFactoryService pcFactoryService; + + /** + * 定时更新 企业与接入数据类型关联表 每十天凌晨1点 + */ +// @Scheduled(cron = "0/30 * * * * ?") // 每十天凌晨1点 +// @PostConstruct + + @GetMapping("/timingUpdateAdslFactory") + public void timingUpdateAdslFactory() { + try { + pcFactoryService.timingUpdateAdslFactory(); + } catch (Exception e) { + e.printStackTrace(); + log.info("定时更新企业与接入数据类型关联表数据失败. 原因:" + e.getMessage()); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FrequencyMeasurementController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FrequencyMeasurementController.java new file mode 100644 index 0000000..2565364 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/FrequencyMeasurementController.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.service.FrequencyMeasurementTaskService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(tags = "手工监测频次不满足许可证要求") +@RestController +@RequestMapping("/data/measurement") +public class FrequencyMeasurementController { + + + @Autowired + private FrequencyMeasurementTaskService frequencyMeasurementTaskService; + + @GetMapping("/frequencyMeasurement") + public AjaxResults frequencyMeasurement() { + try { + frequencyMeasurementTaskService.mainProcess(); + } catch (Exception e) { + e.printStackTrace(); + log.error("手工监测频次不满足许可证要求失败. 原因:" + e.getMessage()); + return AjaxResults.error(); + } + return AjaxResults.success(); + } + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededLabelTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededLabelTaskController.java new file mode 100644 index 0000000..2b67c26 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededLabelTaskController.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.data.analyse.task.service.GasExceededLabelTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author hehongyu + * @description: 废气排放超标 标签任务 + * @date 2023/6/30 0:02 + */ +@Api(tags = "废气排放超标 标签任务") +@RestController +@RequestMapping("/gas/exceeded/label") +@Slf4j +public class GasExceededLabelTaskController { + + @Autowired + private GasExceededLabelTaskService gasExceededLabelTaskService; + + @ApiOperation(value = "废气排放超标 标签任务") + @GetMapping("/invoke") + public void electricityAnalyse(){ + try { + gasExceededLabelTaskService.invoke(); + }catch (Exception e){ + log.error("废气排放超标 标签任务 打标签 失败!",e); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededTotalLabelTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededTotalLabelTaskController.java new file mode 100644 index 0000000..93af546 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/GasExceededTotalLabelTaskController.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.data.analyse.task.service.GasExceededTotalLabelTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author hehongyu + * @description: 废气排放量超标 标签任务 + * @date 2023/6/30 0:02 + */ +@Api(tags = "废气排放 超总量 标签任务") +@RestController +@RequestMapping("/gas/exceededTotal/label") +@Slf4j +public class GasExceededTotalLabelTaskController { + + @Autowired + private GasExceededTotalLabelTaskService gasExceededTotalLabelTaskService; + + @ApiOperation(value = "废气排放 超总量 标签任务") + @GetMapping("/invoke") + public void electricityAnalyse(){ + try { + gasExceededTotalLabelTaskService.invoke(); + }catch (Exception e){ + log.error("废气排放超总量 标签任务 打标签 失败!",e); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LabelTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LabelTaskController.java new file mode 100644 index 0000000..298534a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LabelTaskController.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.data.analyse.task.label.GapLabelTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author hehongyu + * @description: 标签任务 + * @date 2023/8/6 21:15 + */ +@Api(tags = "单项重点污染物减排量 判断任务") +@RestController +@RequestMapping("/gap/label") +@Slf4j +public class LabelTaskController { + + @Autowired + private GapLabelTaskService gapLabelTaskService; + + @ApiOperation(value = "废气排放 超总量 标签任务") + @GetMapping("/execute") + public void electricityAnalyse(){ + try { + gapLabelTaskService.execute(); + }catch (Exception e){ + log.error("单项重点污染物减排量 标签任务 打标签 失败!",e); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LimestoneController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LimestoneController.java new file mode 100644 index 0000000..c05b870 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/LimestoneController.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.limestone.BaseAnomalyLimestoneService; +import cn.cecep.talroad.data.analyse.task.limestone.LimestoneAnomalyAbstractFactory; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +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; + + +/** + * 石灰石消耗量 脱硫剂 使用量 + */ +@Slf4j +@Api(tags = "石灰石消耗量,对应脱硫剂使用量") +@RestController +@RequestMapping("/data/limestone") +public class LimestoneController { + + @Autowired + private LimestoneAnomalyAbstractFactory limestoneAnomalyAbstractFactory; + + @ApiOperation(value = "干,半干,脱硫剂使用量", notes = "干,半干,脱硫剂使用量") + @GetMapping("/dryData") + public AjaxResults realData() { + List dryAnomalyAbstract = limestoneAnomalyAbstractFactory.getDryAnomalyAbstract(); + return execute(dryAnomalyAbstract); + } + + @ApiOperation(value = "湿,脱硫剂使用量", notes = "湿,脱硫剂使用量") + @GetMapping("/wetData") + public AjaxResults wetData() { + List dryAnomalyAbstract = limestoneAnomalyAbstractFactory.getWetAnomalyAbstract(); + return execute(dryAnomalyAbstract); + } + + public AjaxResults execute(List dryAnomalyAbstract){ + for (BaseAnomalyLimestoneService baseAnomalyLimestoneService : dryAnomalyAbstract) { + log.info("执行任务 start:className:{}",baseAnomalyLimestoneService.getClass().getName()); + boolean result = baseAnomalyLimestoneService.mainProcess(); + if (!result){ + log.error("执行数据逻辑分析任务失败!className:{}",baseAnomalyLimestoneService.getClass().getName()); + return AjaxResults.error(); + } + log.info("执行任务 end:className:{}",baseAnomalyLimestoneService.getClass().getName()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PcStationBuildingStatTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PcStationBuildingStatTaskController.java new file mode 100644 index 0000000..894db46 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PcStationBuildingStatTaskController.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.service.StationBuildingStatTaskService; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; + + +@Api(tags = "站房统计") +@RestController +@RequestMapping("/station/building/task") +public class PcStationBuildingStatTaskController extends BasesController { + + @Autowired + private StationBuildingStatTaskService stationBuildingStatTaskService; + + @ApiOperation(value = "日统计") + @GetMapping("/day") + public AjaxResults day() { + Date lastDay = DateUtils.addDateDays(new Date(),-1); + final DateTime endTime = DateUtil.endOfDay(lastDay); + final DateTime startTime = DateUtil.beginOfDay(lastDay); + return AjaxResults.success(stationBuildingStatTaskService.dayTask(startTime,endTime)); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutantDischargeController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutantDischargeController.java new file mode 100644 index 0000000..35a9792 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutantDischargeController.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.analysis.IDischargeMathService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Auther: cjh + * @Date: 2023-06-10 14:27 + * @Class: PollutantDischargeController + * @Deseription: + * @Version V1.0 + */ +@Api("污染物排放量状态标记-定时任务") +@RestController +@RequestMapping("/pollutantDischarge") +public class PollutantDischargeController { + + @Autowired + private IDischargeMathService dischargeMathService; + + @ApiOperation(value = "定时任务-大气污染物小时排放量:每1小时执行一次") + @Log(title = "大气污染物小时排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessGasStationDataFlag") + public void doProcessGasStationDataFlag(){ + + dischargeMathService.doProcessGasStationDataFlag(); + } + + @ApiOperation(value = "定时任务-水污染物日排放量:每日执行一次") + @Log(title = "水污染物日排放量", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessWaterStationDataFlag") + public void doProcessWaterStationDataFlag(){ + + dischargeMathService.doProcessWaterStationDataFlag(); + } + + @ApiOperation(value = "定时任务-污染物小时均值连续8H处于标准值的20%以下:每小时执行一次") + @Log(title = "污染物小时均值连续8H处于标准值的20%以下", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessHourPollutantConcentration") + public void doProcessHourPollutantConcentration(){ + + dischargeMathService.doProcessHourPollutantConcentration(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionPreventionAndControlFacilitiesController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionPreventionAndControlFacilitiesController.java new file mode 100644 index 0000000..1cd4242 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionPreventionAndControlFacilitiesController.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.execute.report.specifications.PollutionPreventionAndControlFacilitiesService; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "污染防治设施") +@RestController +@RequestMapping("/pollutant/prevention") +@Slf4j +@AllArgsConstructor +public class PollutionPreventionAndControlFacilitiesController { + + private final PollutionPreventionAndControlFacilitiesService pollutionPreventionAndControlFacilitiesService; + + /** + * 定时更新 污染防治设施正常情况汇总表--废水污染防治设施 + */ + @GetMapping("/normal/sewage/process") + public AjaxResults normalSewageProcess() { + try { + pollutionPreventionAndControlFacilitiesService.normalSewageProcess(); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时执行污染防治设施正常情况汇总表--废水污染防治设施任务失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + + /** + * 定时更新 污染防治设施异常情况汇总表 + */ + @GetMapping("/abnormal/circumstance/process") + public AjaxResults abnormalCircumstanceProcess() { + try { + pollutionPreventionAndControlFacilitiesService.abnormalCircumstanceProcess(); + return AjaxResults.success(); + } catch (Exception e) { + log.error("定时执行污染防治设施异常情况汇总 任务失败. 原因:{}", e.getMessage(), e); + return AjaxResults.error(); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionSourceControlController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionSourceControlController.java new file mode 100644 index 0000000..5b31a8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/PollutionSourceControlController.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.data.analyse.task.service.PollutionSourceControlService; +import cn.cecep.talroad.service.IBMainEmissionPollutionAirService; +import cn.cecep.talroad.service.IBMainEmissionPollutionWaterService; +import cn.cecep.talroad.service.analysis.ISRaSelfMonitoringDataService; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import java.util.Date; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Api("质控实际监控值是否超过设置标准值") +@RestController +@RequestMapping("/pollutionSourceControl") +public class PollutionSourceControlController { + + @Autowired + private PollutionSourceControlService service; + @Autowired + private IBMainEmissionPollutionAirService ibMainEmissionPollutionAirService; + @Autowired + private IBMainEmissionPollutionWaterService ibMainEmissionPollutionWaterService; + @Autowired + private ISRaSelfMonitoringDataService isRaSelfMonitoringDataService; + + @ApiOperation(value = "定时任务-质控实际监控值是否超过设置标准值--每小时计算一次") + @Log(title = "质控实际监控值是否超过设置标准值", businessType = BusinessType.UPDATE) + @GetMapping(value = "/invoke") + public void doProcessGasStationDataFlag(){ + //执行流程 + service.invoke(); + } + + @ApiOperation(value = "定时任务--多源排放量对比分析-每天一次") + @Log(title = "多源排放量对比分析", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessMultiSource") + public void doProcessMultiSource(){ + Date lastYearDate = DateUtils.addDateDays(new Date(),-1); + // 取上一天所在年度 + String lastYear = DateUtils.parseDateToStr("yyyy",lastYearDate); + ibMainEmissionPollutionAirService.doProcessEmissionDataByYear(lastYear); + ibMainEmissionPollutionWaterService.doProcessEmissionDataByYear(lastYear); + + } + + @ApiOperation(value = "定时任务--多源排放量汇总手工数据-每天一次") + @Log(title = "多源排放量汇总手工数据", businessType = BusinessType.UPDATE) + @PostMapping(value = "/doProcessHandleData") + public void doProcessHandleData(@RequestParam("startDate")String startDate){ + if(StringUtils.isEmpty(startDate)) { + Date lastDay = DateUtils.addDateDays(new Date(), -1); + DateTime lastDayBegin = DateUtil.beginOfDay(lastDay); + DateTime lastDayEnd = DateUtil.endOfDay(lastDay); + isRaSelfMonitoringDataService.doProcessHandleData(lastDayBegin,lastDayEnd); + }else{ + DateTime lastDayBegin = DateUtil.beginOfYear(new Date()); + DateTime lastDayEnd = DateUtil.endOfYear(new Date()); + isRaSelfMonitoringDataService.doProcessHandleData(lastDayBegin,lastDayEnd); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProblemRatioController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProblemRatioController.java new file mode 100644 index 0000000..f1f5236 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProblemRatioController.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.missing.impl.MAmProblemFiRatioService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 预警比例 + */ +@Slf4j +@Api(tags = "预警比例") +@RestController +@RequestMapping("/problem/ratio") +public class ProblemRatioController { + + @Resource + public MAmProblemFiRatioService mAmProblemFiRatioService; + + @ApiOperation(value = "预警比例调整") + @PostMapping(value = "/theAdjustment") + public AjaxResults theAdjustment() { + log.info("执行任务 start:预警比例调整开始"); + boolean result = mAmProblemFiRatioService.mainProcess(); + if (!result){ + log.error("执行数据逻辑分析任务失败!: 预警比例调整"); + return AjaxResults.error(); + } + log.info("执行任务 end:预警比例调整结束"); + return AjaxResults.success(); + } + + + @ApiOperation(value = "预警比例调整测试") + @PostMapping(value = "/test") + public AjaxResults test() { + + boolean result = mAmProblemFiRatioService.mainProcessByTest(); + if (!result){ + return AjaxResults.error(); + } + return AjaxResults.success(); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProductionScheduledController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProductionScheduledController.java new file mode 100644 index 0000000..85be6d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/ProductionScheduledController.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.controller.BaseController; +import cn.cecep.talroad.service.ProductionScheduledService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 开发公司:中节能天融科技有限公司 + * + * ProductionScheduledController + * 产治排定时任务 + * @author fzx + * @date 2023-6-6 23:55:42 + */ +@Api(tags = "产治排定时任务") +@RestController +@RequestMapping("/production") +@Slf4j +public class ProductionScheduledController extends BaseController { + + @Autowired + private ProductionScheduledService productionScheduledService; + + @GetMapping("/timingUpdateProduction") + public void timingUpdateProduction() { + try { + productionScheduledService.timingUpdateProduction(); + } catch (Exception e) { + e.printStackTrace(); + log.info("定时更新产治排设施关联关系失败. 原因:" + e.getMessage()); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SRaOverRateGasTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SRaOverRateGasTaskController.java new file mode 100644 index 0000000..7f32428 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SRaOverRateGasTaskController.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.web.controller.BasesController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.enums.StatisticsTypeEnum; +import cn.cecep.talroad.service.analysis.ISRaOverRateGasService; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; + + +@Api(tags = "超标率分析-气污染要素") +@RestController +@RequestMapping("/over/gas/task") +public class SRaOverRateGasTaskController extends BasesController { + @Autowired + private ISRaOverRateGasService sRaOverRateGasService; + + + @ApiOperation(value = "月统计") + @GetMapping("/month") + public AjaxResults month() { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + final DateTime endTime = DateUtil.endOfMonth(lastMonth); + final DateTime startTime = DateUtil.beginOfMonth(lastMonth); + return AjaxResults.success(sRaOverRateGasService.periodTask(StatisticsTypeEnum.MONTH,DateUtils.parseDateToStr("yyyy-MM",startTime.toJdkDate()),startTime,endTime)); + } + + @ApiOperation(value = "季统计") + @GetMapping("/quarter") + public AjaxResults quarter() { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + final DateTime endTime = DateUtil.endOfQuarter(lastMonth); + final DateTime startTime = DateUtil.beginOfQuarter(lastMonth); + return AjaxResults.success(sRaOverRateGasService.periodTask(StatisticsTypeEnum.QUARTER,DateUtils.parseDateToStr("yyyy",startTime)+startTime.quarter(),startTime,endTime)); + } + + + @ApiOperation(value = "年统计") + @GetMapping("/year") + public AjaxResults year() { + Date lastMonth = DateUtils.addDateMonths(new Date(),-1); + final DateTime endTime = DateUtil.endOfYear(lastMonth); + final DateTime startTime = DateUtil.beginOfYear(lastMonth); + return AjaxResults.success(sRaOverRateGasService.periodTask(StatisticsTypeEnum.YEAR,DateUtils.parseDateToStr("yyyy",startTime.toJdkDate()),startTime,endTime)); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/STaskYieldTrendController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/STaskYieldTrendController.java new file mode 100644 index 0000000..06d8a87 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/STaskYieldTrendController.java @@ -0,0 +1,36 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.controller.BaseController; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.STaskYieldTrendService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: weizhuang + * @Date:2023/3/9 13:30 + * @Version 1.0 + */ +@Api(tags = "A企业排放监控-产量趋势图-wz") +@RestController +@RequestMapping("/yieldTrend") +public class STaskYieldTrendController extends BaseController { + + @Autowired + private STaskYieldTrendService sTaskYieldTrendService; + + @ApiOperation(value = "触发计算产量趋势", notes = "触发计算产量趋势") + @GetMapping("/triggerYieldTrendSynchro") + public AjaxResults triggerManagementPlanSynchro( + @RequestParam(name = "factoryId", required = false) String factoryId + ) { + + sTaskYieldTrendService.triggerYieldTrendSynchro(factoryId); + return AjaxResults.success(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SiteMonitoringController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SiteMonitoringController.java new file mode 100644 index 0000000..1227988 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SiteMonitoringController.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.data.analyse.task.service.SiteMonitoringService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "站点监测高值") +@RestController +@RequestMapping("/site/monitoring") +@Slf4j +public class SiteMonitoringController { + + @Autowired + private SiteMonitoringService siteMonitoringService; + + @GetMapping("/warningReport") + public AjaxResults warningReport() { + try { + log.info("站点监测高值开始执行"); + siteMonitoringService.mainProcess(); + } catch (Exception e) { + e.printStackTrace(); + log.info("站点监测高值执行失败. 原因:" + e.getMessage()); + } + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SjLabelController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SjLabelController.java new file mode 100644 index 0000000..71caee6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/SjLabelController.java @@ -0,0 +1,127 @@ +//package cn.cecep.talroad.task; +// +//import cn.cecep.talroad.common.core.domain.R; +//import cn.cecep.talroad.common.core.utils.StringUtils; +//import cn.cecep.talroad.common.log.annotation.Log; +//import cn.cecep.talroad.common.log.enums.BusinessType; +//import cn.cecep.talroad.domain.PcLabel; +//import cn.cecep.talroad.domain.PcLabelFactory; +//import cn.cecep.talroad.domain.PcLabelValue; +//import cn.cecep.talroad.service.IBMainThreeSupervisionEnforcService; +//import cn.cecep.talroad.service.IPcLabelFactoryService; +//import cn.cecep.talroad.service.IPcLabelService; +//import cn.cecep.talroad.service.IPcLabelValueService; +////import cn.cecep.talroad.system.api.RemoteTokenService; +////import cn.cecep.talroad.system.api.domain.LoginBody; +//import cn.cecep.talroad.util.DateUtil; +//import com.alibaba.druid.support.json.JSONUtils; +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import java.util.*; +//import java.util.stream.Collectors; +//import reactor.core.publisher.Flux; +// +//@Slf4j +//@Api(tags = "三监联动数据监控-定时任务") +//@RestController +//@RequestMapping("/sjLabelController") +//public class SjLabelController { +// +// @Autowired +// private IPcLabelService iPcLabelService; +// @Autowired +// private IBMainThreeSupervisionEnforcService ibMainThreeSupervisionEnforcService; +// @Autowired +// private IPcLabelFactoryService iPcLabelFactoryService; +// @Autowired +// private IPcLabelValueService iPcLabelValueService; +//// @Autowired +//// private RemoteTokenService remoteTokenService; +// @Value("${label.username:liyongcun}") +// private String userName; +// +// @ApiOperation(value = "定时任务-更新企业监控label信息:每天执行一次") +// @Log(title = "更新企业监控label信息", businessType = BusinessType.UPDATE) +// @PostMapping(value = "/markFactoryLabel") +// /** +// * labelCode=JG080,JG081,JG083(值取pc_label.label_code,用","拼接) +// */ +// public void markFactoryLabel() { +// String labelCode = "JG031,JG032,JG033,JG034,JG036,JG037,JG038,JG039,JG040,JG041,JG042,JG043,JG044,JG045,JG046,JG047,JG048,JG049,JG051,JG056,JG057,JG058,JG059"; +// +// if (StringUtils.isEmpty(labelCode) || userName.isEmpty()) { +// return; +// } +//// LoginBody loginBody = new LoginBody(); +//// loginBody.setUsername(userName); +//// R tokenRes = remoteTokenService.getJwt(loginBody); +//// if (R.FAIL == tokenRes.getCode()) { +//// log.error("token服务调用失败:{}", tokenRes.getMsg()); +//// return; +//// } +//// Map data = (Map) tokenRes.getData(); +//// String token = data.getOrDefault("access_token", ""); +//// if (token.isEmpty()) { +//// log.error("token为空"); +//// return; +//// } +// log.info("开始执行定时任务-更新企业监控label信息"); +// List labelCodeList = Arrays.asList(labelCode.split(",")); +// List pcLabels = iPcLabelService.getPcLabelListByLabelCodes(labelCodeList); +// if (pcLabels.isEmpty()) { +// log.error("没有查到label信息"); +// return; +// } +// HashMap map = new HashMap<>(); +// map.put("pageIndex", 1); +// map.put("pageSize", 10000); +// map.put("beginDate", DateUtil.getDaysAgo(30)); +// map.put("endDate", DateUtil.getDay()); +// +// for (PcLabel label : pcLabels) { +// //删除旧数据 +// iPcLabelFactoryService.batchDelete(label.getId()); +// log.info("删除旧数据,labelId:{}", label.getId()); +// +// map.put("keyword", label.getLabelVal()); +// String resStr = ibMainThreeSupervisionEnforcService.xianheGetAllUrl("","post",JSONUtils.toJSONString(map), token).toString(); +// +// Map res = (Map) JSONUtils.parse(resStr); +// +// if (res.containsKey("count") && res.containsKey("data") && !res.get("count").equals(0)) { +// List labelValues = iPcLabelValueService.selectListByLabelId(label.getId()); +// List argumentsCodes = labelValues.stream().map(PcLabelValue::getArgumentsCode).collect(Collectors.toList()); +// String argumentsCodeStr = StringUtils.join(argumentsCodes, ","); +// List> dataList = (List) res.get("data"); +// List factoryIds = new ArrayList<>(); +// dataList.forEach(item -> { +// factoryIds.add(item.get("enterpriseid")); +// }); +// log.info("factoryIds:{}", JSONUtils.toJSONString(factoryIds)); +// if (factoryIds.isEmpty()) { +// continue; +// } +// +// List pcLabelFactories = new ArrayList<>(); +// for (String factoryId : factoryIds) { +// PcLabelFactory pcLabelFactory = new PcLabelFactory(); +// pcLabelFactory.setId(UUID.randomUUID().toString()); +// pcLabelFactory.setFactoryId(factoryId); +// pcLabelFactory.setLabelId(label.getId()); +// pcLabelFactory.setLableUseing("0"); +// pcLabelFactory.setLabelValue(argumentsCodeStr); +// pcLabelFactories.add(pcLabelFactory); +// } +// iPcLabelFactoryService.saveBatch(pcLabelFactories, pcLabelFactories.size()); +// log.info("新增数据,factoryIds:{}", JSONUtils.toJSONString(factoryIds)); +// } +// } +// } +//} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TradeMonitorController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TradeMonitorController.java new file mode 100644 index 0000000..94d2603 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TradeMonitorController.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.common.log.annotation.Log; +import cn.cecep.talroad.common.log.enums.BusinessType; +import cn.cecep.talroad.service.TradeMonitorService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Auther: cjh + * @Date: 2023-06-09 15:53 + * @Class: TradeMonitorController + * @Deseription: + * @Version V1.0 + */ +@Api("排污单位在线监测缺少污染物排放因子") +@RestController +@RequestMapping("/trade-monitor") +public class TradeMonitorController { + + @Autowired + private TradeMonitorService tradeMonitorService; + + @ApiOperation(value = "定时任务-排污单位在线监测缺少污染物排放因子:每月分析一次") + @Log(title = "排污单位在线监测缺少污染物排放因子-废气", businessType = BusinessType.UPDATE) + @GetMapping(value = "/unit-pollutant-gas") + public AjaxResults doUnitPollutantGasWarn(){ + tradeMonitorService.doUnitPollutantGasWarn(); + return AjaxResults.success(); + } + + @ApiOperation(value = "定时任务-排污单位在线监测缺少污染物排放因子:每月分析一次") + @Log(title = "排污单位在线监测缺少污染物排放因子-废水", businessType = BusinessType.UPDATE) + @GetMapping(value = "/unit-pollutant-water") + public AjaxResults doUnitPollutantWaterWarn(){ + tradeMonitorService.doUnitPollutantWaterWarn(); + return AjaxResults.success(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferRateTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferRateTaskController.java new file mode 100644 index 0000000..792dc28 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferRateTaskController.java @@ -0,0 +1,135 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.common.core.web.domain.AjaxResults; +import cn.cecep.talroad.service.analysis.ISRaFactoryTransferRateAnalysisService; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.util.StringUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import java.util.Date; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +/** + * @Title TransferRateTaskController + * @Description: + * @author: Gaohaoyun + * @date: 2023/6/10 10:23 + */ +@Api(tags = "数据传输率定时任务") +@RestController +@RequestMapping("/transferRateTask") +public class TransferRateTaskController { + + @Autowired + private ISRaFactoryTransferRateAnalysisService isRaFactoryTransferRateAnalysisService; + + +// @ApiOperation(value = "触发数据传输率定时任务-企业日任务", notes = "触发数据传输率定时任务-企业日任务") +// @GetMapping("/generateFactoryDayRecord") +// public AjaxResults generateFactoryDayRecord(@RequestParam(name = "statisticsDate", required = false) String statisticsDate) { +// LocalDate date; +// if(StrUtil.isNotBlank(statisticsDate)){ +// date = LocalDate.parse(statisticsDate, DateTimeFormatter.ofPattern("yyyyMMdd")); +// }else{ +// date = LocalDate.now().plusDays(-1L); +// } +// isRaFactoryTransferRateAnalysisService.generateFactoryDayRecord(date); +// return AjaxResults.success(); +// } + + @ApiOperation(value = "触发数据传输率定时任务2-企业日任务", notes = "触发数据传输率定时任务2-企业日任务") + @GetMapping("/generateFactoryDayRecord2") + public AjaxResults generateFactoryDayRecord2(@RequestParam(name = "statisticsDate", required = false) String statisticsDate) { + LocalDate date; + if(StrUtil.isNotBlank(statisticsDate)){ + date = LocalDate.parse(statisticsDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")); + }else{ + date = LocalDate.now().plusDays(-1L); + } + isRaFactoryTransferRateAnalysisService.generateFactoryDayRecord2(date); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-企业月任务", notes = "触发数据传输率定时任务-企业月任务") + @GetMapping("/generateFactoryMonthRecord") + public AjaxResults generateFactoryMonthRecord(@ApiParam(value="生成日期格式为yyyyMM") @RequestParam(name = "statisticsDate", required = false) String statisticsDate) { + if(StringUtils.isEmpty(statisticsDate)){ + statisticsDate = DateUtils.parseDateToStr("yyyy-MM",DateUtils.addDateMonths(new Date(),-1)); + } + isRaFactoryTransferRateAnalysisService.generateFactoryMonthRecord(statisticsDate); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-企业季度任务", notes = "触发数据传输率定时任务-企业季度任务") + @GetMapping("/generateFactorySeasonRecord") + public AjaxResults generateFactorySeasonRecord(@ApiParam(value="年份") @RequestParam(name = "year", required = false)String year,@ApiParam(value="季度:一季度、二季度、三季度、四季度") @RequestParam(name = "season", required = false)String season) { + + isRaFactoryTransferRateAnalysisService.generateFactorySeasonRecord(year); + return AjaxResults.success(); + } + + + @ApiOperation(value = "触发数据传输率定时任务-企业年度任务", notes = "触发数据传输率定时任务-企业年度任务") + @GetMapping("/generateFactoryYearRecord") + public AjaxResults generateFactoryYearRecord(@ApiParam(value="年份") @RequestParam(name = "year", required = false)String year) { + if(StringUtils.isEmpty(year)){ + Date lastYear = DateUtils.addDateYears(new Date(),-1); + year = DateUtils.parseDateToStr("yyyy",lastYear); + } + isRaFactoryTransferRateAnalysisService.generateFactoryYearRecord(year); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-区域日任务", notes = "触发数据传输率定时任务-区域日任务") + @GetMapping("/generateAreaDayRecord") + public AjaxResults generateAreaDayRecord(@RequestParam(name = "statisticsDate", required = false) String statisticsDate) { + LocalDate date; + if(StrUtil.isNotBlank(statisticsDate)){ + date = LocalDate.parse(statisticsDate, DateTimeFormatter.ofPattern("yyyyMMdd")); + }else{ + date = LocalDate.now().plusDays(-1L);; + } + isRaFactoryTransferRateAnalysisService.generateAreaDayRecord(date); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-区域月任务", notes = "触发数据传输率定时任务-区域月任务") + @GetMapping("/generateAreaMonthRecord") + public AjaxResults generateAreaMonthRecord(@ApiParam(value="生成日期格式为yyyyMM") @RequestParam(name = "statisticsDate", required = false) String statisticsDate) { + if(StringUtils.isEmpty(statisticsDate)){ + statisticsDate = DateUtils.parseDateToStr("yyyy-MM",DateUtils.addDateMonths(new Date(),-1)); + } + isRaFactoryTransferRateAnalysisService.generateAreaMonthRecord(statisticsDate); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-区域季度任务", notes = "触发数据传输率定时任务-区域季度任务") + @GetMapping("/generateAreaSeasonRecord") + public AjaxResults generateAreaSeasonRecord(@ApiParam(value="年份") @RequestParam(name = "year", required = false)String year,@ApiParam(value="季度:一季度、二季度、三季度、四季度") @RequestParam(name = "season", required = false)String season) { + + isRaFactoryTransferRateAnalysisService.generateAreaSeasonRecord(year); + return AjaxResults.success(); + } + + @ApiOperation(value = "触发数据传输率定时任务-区域年度任务", notes = "触发数据传输率定时任务-区域年度任务") + @GetMapping("/generateAreaYearRecord") + public AjaxResults generateAreaYearRecord(@ApiParam(value="年份") @RequestParam(name = "year", required = false)String year) { + if(StringUtils.isEmpty(year)){ + Date lastYear = DateUtils.addDateYears(new Date(),-1); + year = DateUtils.parseDateToStr("yyyy",lastYear); + } + isRaFactoryTransferRateAnalysisService.generateAreaYearRecord(year); + return AjaxResults.success(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferTateLabelTaskController.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferTateLabelTaskController.java new file mode 100644 index 0000000..d1eb753 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/task/TransferTateLabelTaskController.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.task; + +import cn.cecep.talroad.data.analyse.task.transfer.rate.ElectricityAnalyseService; +import cn.cecep.talroad.data.analyse.task.transfer.rate.InorganizationAnalyseService; +import cn.cecep.talroad.data.analyse.task.transfer.rate.OnlineMonitoringAnalyseService; +import cn.cecep.talroad.data.analyse.task.transfer.rate.WorkingConditionsAnalyseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author hehongyu + * @description: TODO + * @date 2023/6/29 1:50 + */ +@Slf4j +@Api(tags = "传输率 标签 定时任务") +@RestController +@RequestMapping("/transferTate") +public class TransferTateLabelTaskController { + + @Autowired + private ElectricityAnalyseService electricityAnalyseService; + @Autowired + private InorganizationAnalyseService inorganizationAnalyseService; + @Autowired + private OnlineMonitoringAnalyseService onlineMonitoringAnalyseService; + @Autowired + private WorkingConditionsAnalyseService workingConditionsAnalyseService; + + @ApiOperation(value = "分表计电") + @GetMapping("/electricity") + public void electricityAnalyse(){ + try { + electricityAnalyseService.transferRateAnalysis(); + }catch (Exception e){ + log.error("分表计电 传输率 打标签 失败!",e); + } + } + + @ApiOperation(value = "在线监测") + @GetMapping("/onlineMonitoringAnalyse") + public void onlineMonitoringAnalyse(){ + try { + onlineMonitoringAnalyseService.transferRateAnalysis(); + }catch (Exception e){ + log.error("在线监测 传输率 打标签 失败!",e); + } + } + + @ApiOperation(value = "无组织") + @GetMapping("/inorganizationAnalyse") + public void inorganizationAnalyse(){ + try { + inorganizationAnalyseService.transferRateAnalysis(); + }catch (Exception e){ + log.error("无组织 传输率 打标签 失败!",e); + } + } + + @ApiOperation(value = "工况") + @GetMapping("/workingConditionsAnalyse") + public void workingConditionsAnalyse(){ + try { + workingConditionsAnalyseService.transferRateAnalysis(); + }catch (Exception e){ + log.error("工况 传输率 打标签 失败!",e); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/BeanContext.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/BeanContext.java new file mode 100644 index 0000000..186fad3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/BeanContext.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.util; + +/** + * @program: + * @description: + * @author: yht + * @create: 2020/07/06 10:47 + */ + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +@Component +public class BeanContext implements ApplicationContextAware { + + private static ApplicationContext applicationContext; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + BeanContext.applicationContext = applicationContext; + } + + public static ApplicationContext getApplicationContext(){ + return applicationContext; + } + + @SuppressWarnings("unchecked") + public static T getBean(String name) throws BeansException { + return (T)applicationContext.getBean(name); + } + + public static T getBean(Class clz) throws BeansException { + return (T)applicationContext.getBean(clz); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConcentrationConstants.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConcentrationConstants.java new file mode 100644 index 0000000..daf0006 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConcentrationConstants.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.util; + +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; + +/** + * 浓度因子映射容器工具 + */ +@Component + +public class ConcentrationConstants { + + private Map gasPollutants; + + private Map waterPollutants; + + + public Map getGasPollutants() { + return gasPollutants; + } + + public Map getWaterPollutants() { + return waterPollutants; + } + + + + + @PostConstruct + public void init(){ + initGas(); + initWater(); + } + + /** + * 初始化废气因子 + */ + private void initGas() { + gasPollutants = new HashMap<>(); + gasPollutants.put("A21004","No2"); + gasPollutants.put("A21003","No"); + gasPollutants.put("A21002","Nox"); + gasPollutants.put("A21026","So2"); + gasPollutants.put("A99907","Vocs"); + gasPollutants.put("A99911","Pm"); + gasPollutants.put("A34013","SmokeDust"); + } + + /** + * 初始化废水因子 + */ + private void initWater(){ + waterPollutants = new HashMap<>(); + waterPollutants.put("W21003","AmmoniaNitrogen"); + waterPollutants.put("W21001","NitrogenConcentration"); + waterPollutants.put("W01018","CodConcentration"); + waterPollutants.put("W21011","PhosphorusConcentration"); + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConvertNumber.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConvertNumber.java new file mode 100644 index 0000000..62072d6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ConvertNumber.java @@ -0,0 +1,287 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.common.core.utils.StringUtils; + +import java.math.BigDecimal; +import java.util.Objects; + +/** + * @Author: weizhuang + * @Date:2023/4/5 12:02 + * @Version 1.0 + */ +public class ConvertNumber { + + /** + * 中文数字 + */ + private static char[] cnArr_a = new char [] {'零','一','二','三','四','五','六','七','八','九'}; + private static char[] cnArr_A = new char [] {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}; + private static final String allChineseNum = "零一二三四五六七八九壹贰叁肆伍陆柒捌玖十拾百佰千仟万萬亿"; + + /** + * 中文单位 + */ + private static char[] unit_a = new char [] {'亿','万','千','百','十'}; + private static char[] unit_A = new char [] {'亿','萬','仟','佰','拾'}; + private static final String allChineseUnit = "十拾百佰千仟万萬亿"; + + /** + * 将汉字中的数字转换为阿拉伯数字 + * (例如:三万叁仟零肆拾伍亿零贰佰萬柒仟陆佰零伍) + * + * @param chineseNum; + * @return long + */ + public static BigDecimal chineseNumToArabicNum(String chineseNum) { + // 最终返回的结果 + BigDecimal result = new BigDecimal(0); + + if (chineseNum == null || chineseNum.trim().length() == 0) { + return result; + } + + char lastUnit = chineseNum.charAt(chineseNum.length() - 1); + + Boolean appendUnit = true; + long lastUnitNum = 1; + if (isCN_Unit(lastUnit)) { + chineseNum = chineseNum.substring(0, chineseNum.length() - 1); + lastUnitNum = chnNameValue[ChnUnitToValue(String.valueOf(lastUnit))].value; + appendUnit = chnNameValue[ChnUnitToValue(String.valueOf(lastUnit))].secUnit; + } + + // 将小写中文数字转为大写中文数字 + for (int i = 0; i < cnArr_a.length; i++) { + chineseNum = chineseNum.replaceAll(String.valueOf(cnArr_a[i]), String.valueOf(cnArr_A[i])); + } + // 将小写单位转为大写单位 + for (int i = 0; i < unit_a.length; i++) { + chineseNum = chineseNum.replaceAll(String.valueOf(unit_a[i]), String.valueOf(unit_A[i])); + } + + for (int i = 0; i < unit_A.length; i++) { + if (chineseNum.trim().length() == 0) { + break; + } + String unitUpperCase = String.valueOf(unit_A[i]); + String str = null; + if (chineseNum.contains(unitUpperCase)) { + str = chineseNum.substring(0, chineseNum.lastIndexOf(unitUpperCase) + 1); + } + if (str != null && str.trim().length() > 0) { + // 下次循环截取的基础字符串 + chineseNum = chineseNum.replaceAll(str, ""); + // 单位基础值 + long unitNum = chnNameValue[ChnUnitToValue(unitUpperCase)].value; + String temp = str.substring(0, str.length() - 1); + long number = ChnStringToNumber(temp); + result = result.add(BigDecimal.valueOf(number).multiply(BigDecimal.valueOf(unitNum))); + } + // 最后一次循环,被传入的数字没有处理完并且没有单位的个位数处理 + if (i + 1 == unit_a.length && !"".equals(chineseNum)) { + long number = ChnStringToNumber(chineseNum); + if (!appendUnit) { + number = BigDecimal.valueOf(number).multiply(BigDecimal.valueOf(lastUnitNum)).longValue(); + } + result = result.add(BigDecimal.valueOf(number)); + } + } + // 加上单位 + if (appendUnit && lastUnitNum > 1) { + result = result.multiply(BigDecimal.valueOf(lastUnitNum)); + } else if (lastUnitNum > 0) { + if (result.compareTo(BigDecimal.ZERO) == BigDecimal.ZERO.intValue()) { + result = BigDecimal.ONE; + result = result.multiply(BigDecimal.valueOf(lastUnitNum)); + } + } + return result; + } + + /** + * 返回中文数字汉字所对应的阿拉伯数字,若str不为中文数字,则返回-1 + * + * @param string; + * @return int + */ + private static int strToNum(String string){ + for(int i = 0;i=0,代表该位置(pos),所对应的是数字不是权位。若小于0,则表示为权位 + if(num >= 0){ + number = num; + index++; + //pos是最后一位,直接将number加入到section中。 + if(index>=str.length()){ + section += number; + returnNumber += section; + break; + } + }else{ + int chnNameValueIndex=ChnUnitToValue(str.substring(index,index+1)); + //chnNameValue[chnNameValueIndex].secUnit==true,表示该位置所对应的权位是节权位, + if(chnNameValue[chnNameValueIndex].secUnit){ + section = (section + number) * chnNameValue[chnNameValueIndex].value; + returnNumber += section; + section=0; + }else{ + section += number*chnNameValue[chnNameValueIndex].value; + } + index++; + number=0; + if(index>=str.length()){ + returnNumber += section; + break; + } + } + } + return returnNumber; + } + + public static void main(String[] args) { + String str = "三万叁仟零肆拾伍亿零贰佰萬柒仟陆佰零伍万"; + String str1 = "三万叁仟零肆拾伍亿零贰佰萬柒仟陆佰零伍"; + String str2 = "三万叁仟零肆拾伍亿零柒仟陆佰零伍"; + String str3 = "三仟零肆十万"; + String str4 = "三万三千"; + String str5 = "三万零四十"; + String str6 = "三万叁仟零肆拾伍亿"; + String str7 = "十"; + String str8 = "一百"; + String str9 = "一百零一"; + String str10 = "一千"; + String str11 = "一千零一"; + String str12 = "一千零一十"; + + System.out.println(); + System.out.println(">>> " + str + " : " + chineseNumToArabicNum(str)); + System.out.println(">>> " + str1 + " : " + chineseNumToArabicNum(str1)); + System.out.println(">>> " + str2 + " : " + chineseNumToArabicNum(str2)); + System.out.println(">>> " + str3 + " : " + chineseNumToArabicNum(str3)); + System.out.println(">>> " + str4 + " : " + chineseNumToArabicNum(str4)); + System.out.println(">>> " + str5 + " : " + chineseNumToArabicNum(str5)); + System.out.println(">>> " + str6 + " : " + chineseNumToArabicNum(str6)); + System.out.println(">>> " + str7 + " : " + chineseNumToArabicNum(str7)); + System.out.println(">>> " + str8 + " : " + chineseNumToArabicNum(str8)); + System.out.println(">>> " + str9 + " : " + chineseNumToArabicNum(str9)); + System.out.println(">>> " + str10 + " : " + chineseNumToArabicNum(str10)); + System.out.println(">>> " + str11 + " : " + chineseNumToArabicNum(str11)); + System.out.println(">>> " + str12 + " : " + chineseNumToArabicNum(str12)); + System.out.println(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CsvUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CsvUtils.java new file mode 100644 index 0000000..8cd47a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CsvUtils.java @@ -0,0 +1,225 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.domain.PcFactory; +import cn.cecep.talroad.enums.EnStatTimeType; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.nio.charset.Charset; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * excel工具类 + */ +public class CsvUtils +{ + /** CSV列分隔符 */ + private static final String CSV_COL_SEPARATOR = ","; + /** CSV行分隔符 */ + private static final String CSV_ROW_SEPARATOR = "\r\n"; + + /** CSV内容缓存 */ + private StringBuilder sb = new StringBuilder(); + /** 各列的显示用名称及字段名 */ + private String[] colNames, colFields; + + /** 报警类型(用于报警数据) */ + private String alertType = null; + /** 是否需要特殊处理alertValue字段-转为百分比(用于报警数据) */ + private boolean alertValueToPer = false; + + + //region ======== 私有方法 ======== + + /** 根据类的属性名获取其对象的属性值 + * @param obj 对象 + * @param field - 属性名 + * @return + */ + private String getFieldValue(Object obj, String field) { + Method javaMethod; + Object value; + String fieldCase; //首字母大写 + + if (StringUtils.isEmpty(field)) + fieldCase = ""; + else if (field.length() == 1) + fieldCase = field.toUpperCase(); + else + fieldCase = field.substring(0, 1).toUpperCase() + field.substring(1); + try { + javaMethod = obj.getClass().getMethod("get" + fieldCase, new Class[]{}); + value = javaMethod.invoke(obj); + //针对报警的特殊处理 + if( !StringUtils.isEmpty(alertType) ) + { + if ("alertValue".equals(field) && alertValueToPer) + { + if(value == null) + return null; + return (new BigDecimal(value.toString())).multiply(BigDecimal.valueOf(100)).setScale(1, RoundingMode.HALF_UP).toPlainString() + "%"; + } + if ("beginTime".equals(field)) + { + if(value == null) + return null; + return ((LocalDateTime)value).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } + } + return (value == null) ? null : value.toString(); + } catch (Exception e) { + return null; + } + } + + /** 填写一个单元格的内容 */ + private void fillOneCell(int idxCell, Object val) + { + String valStr; + + if(val == null) + valStr = ""; + else + valStr = String.valueOf(val); + if(idxCell > 0) + sb.append(CSV_COL_SEPARATOR); + valStr = valStr.replaceAll("\"","\"\""); + if( valStr.contains(CSV_COL_SEPARATOR) ) + { + sb.append("\""); + sb.append(valStr); + sb.append("\""); + } + else + sb.append(valStr); + } + + /** 手工添加行结束符 */ + private void fillRowTail() + { + sb.append(CSV_ROW_SEPARATOR); + } + + /** 填写一行的内容 */ + private void fillOneRow(Object po) + { + int idxCell; + + idxCell = 0; + for (String item : colFields) + fillOneCell(idxCell++, getFieldValue(po,item)); + sb.append(CSV_ROW_SEPARATOR); + } + + //endregion + + //======== 公共方法 ================================================================ + + /** 当查询出错时,导出出错信息为Excel文件 */ + public StringBuilder exportError(String errorMsg) + { + fillOneCell(0, "导出出错:"+errorMsg); + for(int colIdx=1; colIdx lstParamPo) + { + int colIdx; + + //==== 1.生成列属性 + //固定的头和尾列 + colNames = new String[3+lstParamPo.size()+1]; //3=设备编号、名称、时间;1=附加参数 + colFields = new String[3+lstParamPo.size()+1]; //3=设备编号、名称、时间;1=附加参数 + colNames[0] = "设备编号"; + colNames[1] = "设备名称"; + colNames[2] = "时间"; + colNames[colNames.length-1] = "附加值"; + colFields[0] = "deviceId"; + colFields[1] = "name"; + colFields[2] = "dataTime"; + colFields[colFields.length-1] = "addiParam"; + //动态的中间数据列 + colIdx = 3; + for (BasParam paramPo : lstParamPo) + { + if(EnStatTimeType.REAL.id().equals(timeType)) + colNames[colIdx] = paramPo.getName() + "[" + paramPo.getUnitReal() + "]"; + else + colNames[colIdx] = paramPo.getName() + "[" + paramPo.getUnitStat() + "]"; + colFields[colIdx] = paramPo.getParamCodeSvc(); + colIdx ++; + } + + //==== 2.创建工厂信息行 + if(facPo != null) + { + fillOneCell(0, "企业名称:" + facPo.getFactoryName()); + for(colIdx=1; colIdx lstIn) + { + for (Object item : lstIn) + fillOneRow(item); + return sb; + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CustomDateUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CustomDateUtil.java new file mode 100644 index 0000000..bcf7e79 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/CustomDateUtil.java @@ -0,0 +1,179 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.vo.ChartVo; +import cn.hutool.core.util.ArrayUtil; +import org.apache.commons.compress.utils.Lists; +import org.springframework.util.CollectionUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class CustomDateUtil { + + public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + + public final static String HOUR_PATTERN = "yyyy-MM-dd HH"; + + public final static String DATE_PATTERN = "yyyy-MM-dd"; + + public final static String DATE_PATTERN_MONTH = "yyyy-MM"; + + public final static String DATE_PATTERN_YEAR = "yyyy"; + + /** + * 获取时间范围内的所有的天(yyyy-MM-dd) + * + * @param startTime + * @param endTime + * @param pattern yyyy-MM-dd + * @return + */ + public static List getAllDays(Date startTime, Date endTime, String pattern) { + + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(pattern); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(startTime); + + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(endTime); + // 测试此日期是否在指定日期之后 + while (endTime.after(calBegin.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.DAY_OF_MONTH, 1); + lDate.add(sd.format(calBegin.getTime())); + } + return lDate; + } + + /** + * 获取时间范围内的所有的年(yyyy) + * + * @param startTime + * @param endTime + * @param pattern yyyy + * @return + */ + public static List getAllYears(Date startTime, Date endTime, String pattern) { + + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(pattern); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(startTime); + + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(endTime); + // 测试此日期是否在指定日期之后 + while (endTime.after(calBegin.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.YEAR, 1); + lDate.add(sd.format(calBegin.getTime())); + } + return lDate; + } + + /** + * 获取时间范围内的所有的月(yyyy-MM) + * + * @param startTime + * @param endTime + * @param pattern yyyy-MM + * @return + */ + public static List getAllMonths(Date startTime, Date endTime, String pattern) { + + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(pattern); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(startTime); + + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(endTime); + // 测试此日期是否在指定日期之后 + while (endTime.after(calBegin.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.MONTH, 1); + lDate.add(sd.format(calBegin.getTime())); + } + return lDate; + } + + /** + * 获取时间范围内的所有的小时(yyyy-MM-dd HH) + * + * @param startTime + * @param endTime + * @param pattern yyyy-MM-dd HH + * @return + */ + public static List getAllHours(Date startTime, Date endTime, String pattern) { + + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(pattern); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(startTime); + + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(endTime); + // 测试此日期是否在指定日期之后 + while (endTime.after(calBegin.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.HOUR_OF_DAY, 1); + lDate.add(sd.format(calBegin.getTime())); + } + return lDate; + } + + /** + * 根据xsxisDatas补全seriesData数据 + * @param chartVo + * @param xsxisDatas + */ + public static void packEcharts(ChartVo chartVo, List xsxisDatas){ + if(chartVo == null || ArrayUtil.isEmpty(chartVo.getXsxisData()) || CollectionUtils.isEmpty(chartVo.getSeriesData()) || CollectionUtils.isEmpty(xsxisDatas)){ + return; + } + if(chartVo.getXsxisData().length != xsxisDatas.size()){ + List xIndexs = Lists.newArrayList(); + for (int i = 0; i < chartVo.getXsxisData().length; i++) { + int index = xsxisDatas.indexOf(chartVo.getXsxisData()[i]); + if(index != -1){ + xIndexs.add(index); + } + } + List> seriesData = chartVo.getSeriesData(); + for (int i = 0; i < seriesData.size(); i++) { + Map objectObjectMap = seriesData.get(i); + if(!(objectObjectMap.get("data") instanceof List)){ + return; + } + ArrayList sourceData = (ArrayList) objectObjectMap.get("data"); + List targetData = new ArrayList<>(xsxisDatas.size()); + Integer sourceIndex = 0; + for (int j = 0; j < xsxisDatas.size(); j++) { + int xIndex = xIndexs.indexOf(j); + if( xIndex == -1){ + targetData.add(j, "--"); + } else { + targetData.add(xIndexs.get(xIndex), sourceData.get(sourceIndex)); + sourceIndex++; + } + } + objectObjectMap.put("data", targetData); + } + chartVo.setXsxisData(xsxisDatas.stream().toArray()); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/DateUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/DateUtil.java new file mode 100644 index 0000000..540783b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/DateUtil.java @@ -0,0 +1,873 @@ +package cn.cecep.talroad.util; + + +import com.alibaba.nacos.common.utils.DateFormatUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; + +import java.sql.Timestamp; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +public class DateUtil { + + /** + * 获取YYYY格式 + * + * @return + */ + public static String getYear() { + return formatDate(new Date(), "yyyy"); + } + + /** + * 获取当前月份 + * + * @return + */ + public static String getMonth() { + return formatDate(new Date(), "MM"); + } + + + /** + * 获取当前月份 + * + * @return + */ + public static String getYearMonth() { + return formatDate(new Date(), "yyyy-MM"); + } + + /** + * 获取当前月份 + * + * @return + */ + public static String getYearMonth(Date date) { + return formatDate(date, "yyyy-MM"); + } + /** + * 获取YYYY格式 + * + * @return + */ + public static String getYear(Date date) { + return formatDate(date, "yyyy"); + } + + /** + * 获取YYYY-MM-DD格式 + * + * @return + */ + public static String getDay() { + return formatDate(new Date(), "yyyy-MM-dd"); + } + + /** + * 获取YYYY-MM-DD格式 + * + * @return + */ + public static String getDay(Date date) { + return formatDate(date, "yyyy-MM-dd"); + } + + /** + * 获取YYYYMMDD格式 + * + * @return + */ + public static String getDays() { + return formatDate(new Date(), "yyyyMMdd"); + } + + /** + * 获取YYYYMMDD格式 + * + * @return + */ + public static String getDays(Date date) { + return formatDate(date, "yyyyMMdd"); + } + + /** + * 获取YYYY-MM-DD HH:mm:ss格式 + * + * @return + */ + public static String getTime() { + return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + } + + /** + * 获取YYYY-MM-DD HH:mm:ss.SSS格式 + * + * @return + */ + public static String getMsTime() { + return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"); + } + + /** + * 获取YYYYMMDDHHmmss格式 + * + * @return + */ + public static String getAllTime() { + return formatDate(new Date(), "yyyyMMddHHmmss"); + } + + + /** + * 获取YYYYMMDDHHmmssSSS格式 + * + * @return + */ + public static String getAllMSTime() { + return formatDate(new Date(), "yyyyMMddHHmmssSSS"); + } + + /** + * 获取YYYY-MM-DD HH:mm:ss格式 + * + * @return + */ + public static String getTime(Date date) { + return formatDate(date, "yyyy-MM-dd HH:mm:ss"); + } + + public static String formatDate(Date date, String pattern) { + String formatDate = null; + if (StringUtils.isNotBlank(pattern)) { + formatDate = DateFormatUtils.format(date, pattern); + } else { + formatDate = DateFormatUtils.format(date, "yyyy-MM-dd"); + } + return formatDate; + } + + /** + * compareDate + * (日期比较,如果s>=e 返回true 否则返回false) + * + * @param s + * @param e + * @return boolean + * @throws + * @author luguosui + */ + public static boolean compareDate(String s, String e) { + if (parseDate(s) == null || parseDate(e) == null) { + return false; + } + return parseDate(s).getTime() >= parseDate(e).getTime(); + } + + /** + * 格式化日期 + * + * @return + */ + public static Date parseDate(String date) { + return parse(date, "yyyy-MM-dd"); + } + + /** + * 格式化日期 + * + * @return + */ + public static Date parseTime(String date) { + return parse(date, "yyyy-MM-dd HH:mm:ss"); + } + + /** + * 格式化日期 + * + * @return + */ + public static Date parse(String date, String pattern) { + try { + return DateUtils.parseDate(date, pattern); + } catch (ParseException e) { + e.printStackTrace(); + return null; + } + } + + /** + * 格式化日期 + * + * @return + */ + public static String format(Date date, String pattern) { + return DateFormatUtils.format(date, pattern); + } + + /** + * 把日期转换为Timestamp + * + * @param date + * @return + */ + public static Timestamp format(Date date) { + return new Timestamp(date.getTime()); + } + + /** + * 校验日期是否合法 + * + * @return + */ + public static boolean isValidDate(String s) { + return parse(s, "yyyy-MM-dd HH:mm:ss") != null; + } + + /** + * 校验日期是否合法 + * + * @return + */ + public static boolean isValidDate(String s, String pattern) { + return parse(s, pattern) != null; + } + + public static int getDiffYear(String startTime, String endTime) { + DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + try { + int years = (int) (((fmt.parse(endTime).getTime() - fmt.parse( + startTime).getTime()) / (1000 * 60 * 60 * 24)) / 365); + return years; + } catch (Exception e) { + // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 + return 0; + } + } + + /** + *
  • 功能描述:时间相减得到天数 + * + * @param beginDateStr + * @param endDateStr + * @return long + * @author Administrator + */ + public static long getDaySub(String beginDateStr, String endDateStr) { + long day = 0; + SimpleDateFormat format = new SimpleDateFormat( + "yyyy-MM-dd"); + Date beginDate = null; + Date endDate = null; + + try { + beginDate = format.parse(beginDateStr); + endDate = format.parse(endDateStr); + } catch (ParseException e) { + e.printStackTrace(); + } + day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000); + // System.out.println("相隔的天数="+day); + + return day; + } + + /** + * 两个时间之间的天数 + * + * @param beginTime + * @param endTime + * @return + */ + public static Long getDaySub(Date beginTime, Date endTime) { + return (endTime.getTime() - beginTime.getTime()) / (24 * 60 * 60 * 1000); + } + + /** + * 得到n天之后的日期 + * + * @param days + * @return + */ + public static String getAfterDayDate(String days) { + int daysInt = Integer.parseInt(days); + + Calendar calendar = Calendar.getInstance(); // java.util包 + calendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 + Date date = calendar.getTime(); + + SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateStr = sdfd.format(date); + + return dateStr; + } + + /** + * 得到n天之后是周几 + * + * @param days + * @return + */ + public static String getAfterDayWeek(String days) { + int daysInt = Integer.parseInt(days); + + Calendar calendar = Calendar.getInstance(); + // 日期减 如果不够减会将月变动 + calendar.add(Calendar.DATE, daysInt); + Date date = calendar.getTime(); + + SimpleDateFormat sdf = new SimpleDateFormat("E"); + String dateStr = sdf.format(date); + + return dateStr; + } + + /** + * 格式化Oracle Date + * @param value + * @return + */ +// public static String buildDateValue(Object value){ +// if(Func.isOracle()){ +// return "to_date('"+ value +"','yyyy-mm-dd HH24:MI:SS')"; +// }else{ +// return Func.toStr(value); +// } +// } + + /** + * 时间戳转换成日期格式字符串 + * + * @param seconds 精确到秒的字符串 + * @param format + * @return + */ + public static String time2String(String seconds, String format) { + if (seconds == null || seconds.isEmpty() || "null".equals(seconds)) { + return ""; + } + if (format == null || format.isEmpty()) { + format = "yyyy-MM-dd HH:mm:ss"; + } + SimpleDateFormat sdf = new SimpleDateFormat(format); + return sdf.format(new Date(Long.parseLong(seconds + "000"))); + } + + + /** + * 日期格式字符串转换成时间戳 + * + * @param date_str 字符串日期 + * @param format 如:yyyy-MM-dd HH:mm:ss + * @return long + */ + public static Long str2TimeStamp(String date_str, String format) { + try { + SimpleDateFormat sdf = new SimpleDateFormat(format); + return Long.valueOf(sdf.parse(date_str).getTime() / 1000); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 日期格式字符串转换成时间戳 + * + * @param date_str 字符串日期 + * @param format 如:yyyy-MM-dd HH:mm:ss + * @return long + */ + public static Long str2TimeStampMillions(String date_str, String format) { + try { + SimpleDateFormat sdf = new SimpleDateFormat(format); + return sdf.parse(date_str).getTime(); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 获得该月第一天 + * + * @param year + * @param month + * @return + */ + public static String getFirstDayOfMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR, year); + //设置月份 + cal.set(Calendar.MONTH, month - 1); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String firstDayOfMonth = sdf.format(cal.getTime()); + return firstDayOfMonth; + } + + /** + * 获得该月第一天 + * @param month + * @return + */ + public static Date getFirstDayOfMonth(int month) { + Calendar cal = Calendar.getInstance(); + //设置月份 + cal.set(Calendar.MONTH, month); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + return cal.getTime(); + } + + /** + * 获得该月最后 + * @param month + * @return + */ + public static Date getLastDayOfMonth(int month) { + Calendar cal = Calendar.getInstance(); + //设置月份 + cal.set(Calendar.MONTH, month); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + cal.set(Calendar.MILLISECOND,-1); + return cal.getTime(); + } + + /** + * 获取周数据,比如 输入 -1 返回一周前数据 + * @return + */ + public static Date getDayOfWeek(int week) { + Calendar cal = Calendar.getInstance(); + //设置月份 + cal.set(Calendar.DAY_OF_WEEK, week); + return cal.getTime(); + } + + /** + * 获取月数据,比如 输入 -1 返回当前时间 - 一个月 + * @return + */ + public static Date getDayOfMonth(int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + month); + cal.set(Calendar.DAY_OF_MONTH,1); + cal.set(Calendar.HOUR_OF_DAY,0); + cal.set(Calendar.MINUTE,0); + cal.set(Calendar.SECOND,0); + cal.set(Calendar.MILLISECOND,0); + return cal.getTime(); + } + + public static void main(String[] args) { + System.out.println(DateUtil.format(DateUtil.getDayOfMonth(0))); + } + + /** + * 取年数据,比如 输入 -1 返回一年前数据 + * @return + */ + public static Date getDayOfYear(int year) { + Calendar cal = Calendar.getInstance(); + //设置月份 + cal.set(Calendar.YEAR, year); + return cal.getTime(); + } + + /** + * 获得该月最后一天,实际获得下月第一天 + * + * @param year + * @param month + * @return + */ + public static String getLastDayOfMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR, year); + //设置月份 + cal.set(Calendar.MONTH, month); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String firstDayOfMonth = sdf.format(cal.getTime()); + return firstDayOfMonth; + } +// public static String getLastDayOfMonth(int year,int month){ +// Calendar cal = Calendar.getInstance(); +// //设置年份 +// cal.set(Calendar.YEAR,year); +// //设置月份 +// cal.set(Calendar.MONTH, month-1); +// //获取某月最大天数 +// int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); +// //设置日历中月份的最大天数 +// cal.set(Calendar.DAY_OF_MONTH, lastDay); +// //格式化日期 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// String lastDayOfMonth = sdf.format(cal.getTime()); +// return lastDayOfMonth; +// } + + /** + * 当前月第一天 + * + * @param pattern + * @return + */ + public static String getCurrentLastDayOfMonth(String pattern) { + Calendar cale = Calendar.getInstance(); + cale.add(Calendar.MONTH, 1); + cale.set(Calendar.DAY_OF_MONTH, 0); + + if (pattern == null || pattern.isEmpty()) { + pattern = "yyyy-MM-dd"; + } + SimpleDateFormat format = new SimpleDateFormat(pattern); + String firstday = format.format(cale.getTime()); + return firstday; + } + + /** + * 获取当前月第一天 + * + * @param pattern + * @return + */ + public static String getCurrentFirstDayOfMonth(String pattern) { + Calendar cale = Calendar.getInstance(); + cale.add(Calendar.MONTH, 0); + cale.set(Calendar.DAY_OF_MONTH, 1); + + if (pattern == null || pattern.isEmpty()) { + pattern = "yyyy-MM-dd"; + } + SimpleDateFormat format = new SimpleDateFormat(pattern); + String firstday = format.format(cale.getTime()); + return firstday; + } + + public static String getNextMonthFirstDay(String pattern) { + Calendar cale = Calendar.getInstance(); + cale.add(Calendar.MONTH, 1); + cale.set(Calendar.DAY_OF_MONTH, 1); + + if (pattern == null || pattern.isEmpty()) { + pattern = "yyyy-MM-dd"; + } + SimpleDateFormat format = new SimpleDateFormat(pattern); + String firstday = format.format(cale.getTime()); + return firstday; + } + + /** + * 每周的第一天和最后一天 + * + * @param dataStr + * @param dateFormat + * @param resultDateFormat + * @return + * @throws ParseException + */ + public static String getFirstOfWeek(String dataStr, String dateFormat, String resultDateFormat) { + Calendar cal = Calendar.getInstance(); + try { + cal.setTime(new SimpleDateFormat(dateFormat).parse(dataStr)); + } catch (ParseException e) { + e.printStackTrace(); + } + int d = 0; + if (cal.get(Calendar.DAY_OF_WEEK) == 1) { + d = -6; + } else { + d = 2 - cal.get(Calendar.DAY_OF_WEEK); + } + cal.add(Calendar.DAY_OF_WEEK, d); + // 所在周开始日期 + String data1 = new SimpleDateFormat(resultDateFormat).format(cal.getTime()); + return data1; + + } + + /** + * 每周的最后一天 + * + * @param dataStr + * @param dateFormat + * @param resultDateFormat + * @return + * @throws ParseException + */ + public static String getLastOfWeek(String dataStr, String dateFormat, String resultDateFormat) { + Calendar cal = Calendar.getInstance(); + try { + cal.setTime(new SimpleDateFormat(dateFormat).parse(dataStr)); + } catch (ParseException e) { + e.printStackTrace(); + } + int d = 0; + if (cal.get(Calendar.DAY_OF_WEEK) == 1) { + d = -6; + } else { + d = 2 - cal.get(Calendar.DAY_OF_WEEK); + } + cal.add(Calendar.DAY_OF_WEEK, d); +// // 所在周开始日期 +// String data1 = new SimpleDateFormat(resultDateFormat).format(cal.getTime()); + cal.add(Calendar.DAY_OF_WEEK, 6); + // 所在周结束日期 + String data2 = new SimpleDateFormat(resultDateFormat).format(cal.getTime()); + return data2; + + } + + //获取当天的开始时间 + public static Date getDayBegin() { + return getDayBegin(now()); + } + + //获取当天的结束时间 + public static Date getDayEnd() { + return getDayEnd(now()); + } + + //获取几天内的开始时间 + public static Date getDayBegin(Integer offset) { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.DAY_OF_MONTH,offset); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + + //获取几天内的结束时间 + public static Date getDayEnd(Integer offset) { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.DAY_OF_MONTH,offset); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + //获取指定时间的开始时间 + public static Date getDayBegin(Date date) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + + //获取指定时间的结束时间 + public static Date getDayEnd(Date date) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + + /** + * 获取指定时间year年后的第二天凌晨 + * + * @param currentDate 指定date + * @param year 年 + * @return + */ + public static Date getDateAfterYear(Date currentDate, int year) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentDate); + calendar.add(Calendar.YEAR, +year); + calendar.add(Calendar.DATE, +1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTime(); + } + + /** + * 获得指定时间后的day天后的第二天凌晨 + * + * @param currentDate 当前时间 + * @param day 天 + * @return + */ + public static Date getDateAfterDays(Date currentDate, int day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentDate); + calendar.add(Calendar.DATE, day+1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTime(); + } + + /** + * 获得指定时间后的day天后的时间 + * + * @param currentDate 当前时间 + * @param day 天 + * @return + */ + public static Date getDateAfterDay(Date currentDate, int day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentDate); + calendar.add(Calendar.DATE, day); + return calendar.getTime(); + } + + /** + * 获取指定月所在的季度 + * + * @param month + * @return + */ + public static String getQuarter(String month) { + String quarter = ""; + int m = Integer.parseInt(month); + if (m >= 1 && m <= 3) { + quarter = "1"; + } + if (m >= 4 && m <= 6) { + quarter = "2"; + } + if (m >= 7 && m <= 9) { + quarter = "3"; + } + if (m >= 10 && m <= 12) { + quarter = "4"; + } + return quarter; + } + + /** + * 获取每隔季度的时间限制 + * + * @param year + * @param quarter + * @return + */ + public static List getSeasonTimeLimit(String year, String quarter) { + List timeLimit = new ArrayList<>(); + if ("1".equals(quarter)) { + timeLimit.add(year.concat("-01-01 00:00:00")); + timeLimit.add(year.concat("-03-31 23:59:59")); + } else if ("2".equals(quarter)) { + timeLimit.add(year.concat("-04-01 00:00:00")); + timeLimit.add(year.concat("-06-30 23:59:59")); + } else if ("3".equals(quarter)) { + timeLimit.add(year.concat("-07-01 00:00:00")); + timeLimit.add(year.concat("-09-30 23:59:59")); + } else { + timeLimit.add(year.concat("-10-01 00:00:00")); + timeLimit.add(year.concat("-12-31 23:59:59")); + } + + return timeLimit; + } + + public static Date getDateHourBegin(){ + return getDateHourBegin(now()); + } + + public static Date getDateHourNow(Date date){ + return getDateHourEnd(now()); + } + + public static Date getDateHourBegin(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTime(); + } + + public static Date getDateHourEnd(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + calendar.set(Calendar.MILLISECOND, 999); + return calendar.getTime(); + } + + /** + * 获取当前时间 前后几小时 + */ + public static Date getDateHour(Integer hour){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(now()); + calendar.add(Calendar.HOUR, hour); + return calendar.getTime(); + } + + /** + * 获取时间 前后几小时 + */ + public static Date getDateHour(Date date,Integer hour){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.HOUR, hour); + return calendar.getTime(); + } + + /** + * 获取当前时间 + * @return + */ + public static Date now(){ + return new Date(); + } + + public static Date getLastMont(){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.MONTH, -1); + return calendar.getTime(); + } + + /** + * 获取指定天数之前的日期 + */ + public static String getDaysAgo(Integer days){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String dayAgo = ""; + Calendar calc =Calendar.getInstance(); + try { + calc.setTime(sdf.parse(getDay())); + calc.add(calc.DATE, -days); + Date minDate = calc.getTime(); + dayAgo = sdf.format(minDate); + } catch (ParseException e1) { + e1.printStackTrace(); + } + return dayAgo; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsConstants.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsConstants.java new file mode 100644 index 0000000..88656f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsConstants.java @@ -0,0 +1,181 @@ +package cn.cecep.talroad.util; + +import lombok.Data; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; + +/** + * 废气排放量因子映射容器工具 + */ +@Component + +public class EmissionsConstants { + + /** + * 废气排口浓度因子字典 + */ + private Map gasPollutants; + + /** + * 废水排口浓度因子字典 + */ + private Map waterPollutants; + + /** + * 废水排放许可要求map + */ + private Map waterAllowableEmissionMap; + + /** + * 废水实际排放map + * @return + */ + private Map waterActuallyEmittingMap; + + /** + * 废气排放许可要求map + */ + private Map gasAllowableEmissionMap; + + /** + * 废气实际排放map + * @return + */ + private Map gasActuallyEmittingMap; + + /** + * 废气重点四个字段 + * @return + */ + private Map gasImportantFieldMap; + + /** + * 废水重点四个字段 + * @return + */ + private Map waterImportantFieldMap; + + public Map getGasPollutants() { + return gasPollutants; + } + + public Map getWaterPollutants() { + return waterPollutants; + } + + public Map getWaterActuallyEmittingMap() { + return waterActuallyEmittingMap; + } + + public Map getWaterAllowableEmissionMap() { + return waterAllowableEmissionMap; + } + + public Map getGasActuallyEmittingMap() { + return gasActuallyEmittingMap; + } + + public Map getGasAllowableEmissionMap() { + return gasAllowableEmissionMap; + } + + public Map getGasImportantFieldMap() { + return gasImportantFieldMap; + } + + public Map getWaterImportantFieldMap() { + return waterImportantFieldMap; + } + + @PostConstruct + public void init(){ + initGas(); + initWater(); + initWaterAllowableEmissionMap(); + initWaterActuallyEmittingMap(); + initGasAllowableEmissionMap(); + initGasActuallyEmittingMap(); + initGasImportantFieldMap(); + initWaterImportantFieldMap(); + } + + /** + * 初始化废气因子 + */ + private void initGas() { + gasPollutants = new HashMap<>(); + gasPollutants.put("A21004","No2"); + gasPollutants.put("A21003","No"); + gasPollutants.put("A21002","Nox"); + gasPollutants.put("A21026","So2"); + gasPollutants.put("A99907","Vocs"); + gasPollutants.put("A99911","Pm"); + gasPollutants.put("A34013","SmokeDust"); + } + + private void initWater(){ + waterPollutants = new HashMap<>(); + waterPollutants.put("W21003","AmmoniaNitrogen"); + waterPollutants.put("W21001","NitrogenConcentration"); + waterPollutants.put("W01018","Cod"); + waterPollutants.put("W21011","PhosphorusConcentration"); + } + + private void initWaterAllowableEmissionMap(){ + waterAllowableEmissionMap = new HashMap<>(); + waterAllowableEmissionMap.put("W01018","Cod"); + waterAllowableEmissionMap.put("W21001","Tn"); + waterAllowableEmissionMap.put("W21003","Nhn"); + waterAllowableEmissionMap.put("W21011","Tp"); + + } + + private void initWaterActuallyEmittingMap(){ + waterActuallyEmittingMap = new HashMap<>(); + waterActuallyEmittingMap.put("W01018","Cod"); + waterActuallyEmittingMap.put("W21001","Tn"); + waterActuallyEmittingMap.put("W21003","Nhn"); + waterActuallyEmittingMap.put("W21011","Tp"); + + } + + private void initGasAllowableEmissionMap(){ + gasAllowableEmissionMap = new HashMap<>(); + gasAllowableEmissionMap.put("A21002","Nox"); + gasAllowableEmissionMap.put("A99907","Vocs"); + gasAllowableEmissionMap.put("A21026","So2"); + gasAllowableEmissionMap.put("A99911","Pm"); + + } + + private void initGasActuallyEmittingMap(){ + gasActuallyEmittingMap = new HashMap<>(); + gasActuallyEmittingMap.put("A21002","Nox"); + gasActuallyEmittingMap.put("A99907","Vocs"); + gasActuallyEmittingMap.put("A21026","So2"); + gasActuallyEmittingMap.put("A99911","Pm"); + } + + /** + * + */ + private void initGasImportantFieldMap() { + gasImportantFieldMap = new HashMap<>(); + gasImportantFieldMap.put("A21002", "Nox"); + gasImportantFieldMap.put("A21026", "So2"); + gasImportantFieldMap.put("A99901", "Vocs"); + gasImportantFieldMap.put("A99911", "Pm"); + } + + private void initWaterImportantFieldMap() { + waterImportantFieldMap = new HashMap<>(); + waterImportantFieldMap.put("W21003","AmmoniaNitrogen"); + waterImportantFieldMap.put("W21001","NitrogenConcentration"); + waterImportantFieldMap.put("W01018","CodConcentration"); + waterImportantFieldMap.put("W21011","PhosphorusConcentration"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsUtils.java new file mode 100644 index 0000000..bada3aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/EmissionsUtils.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.util; + + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import cn.cecep.talroad.vo.analysis.OutletPermitPollutantVO; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * 排放量计算的相关工具类 + */ +public class EmissionsUtils { + + + /** + * 返回该污染因子是否需要计算排放量 + * @param interval + * @param target + * @return + */ + public static boolean isNeedMathPermitEmissions(int interval, OutletPermitPollutantVO target){ + return !intervalToObjectValue(interval,"getPollutantsTotal",target).equalsIgnoreCase("/"); + } + + /** + * 根据目前年份与开始时间计算出获取排污许可第几年的指标 + * @return + */ + public static String choseWaterYearPollutantsTotalData(int interval, BMainAllowablePollutionWater bMainAllowablePollutionWater){ + return intervalToObjectValue(interval,"getTotal",bMainAllowablePollutionWater); + } + + /** + * 根据目前年份与开始时间计算出获取排污许可第几年的指标 + * @return + */ + public static String choseGasYearPollutantsTotalData(int interval, BMainAllowablePollutionAir bMainAllowablePollutionAir){ + return intervalToObjectValue(interval,"getTotal",bMainAllowablePollutionAir); + } + + /** + * 间隔转换 反射获取value + * @param interval + * @return + */ + private static String intervalToObjectValue(int interval ,String paramName, Object target){ + Class aClass = target.getClass(); + String methodName = ""; + switch (interval){ + case 1: + default: + methodName = "Frist"; + break; + case 2: + methodName = "Second"; + break; + case 3: + methodName = "Third"; + break; + case 4: + methodName = "Fourth"; + break; + case 5: + methodName = "Fifth"; + break; + } + try { + Method method = aClass.getMethod(paramName + methodName); + Object result = method.invoke(target); + if(result instanceof String){ + return StringUtils.isBlank((String)result)?"/":(String)result; + } + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + return "/"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ExportWordUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ExportWordUtil.java new file mode 100644 index 0000000..7430318 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/ExportWordUtil.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.util; +import freemarker.template.Configuration; +import freemarker.template.Template; +import freemarker.template.TemplateException; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; +import org.apache.poi.util.IOUtils; +import org.springframework.boot.system.ApplicationHome; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.Map; + +@Slf4j +public class ExportWordUtil { + + /** + * 导出到word返回给响应对象 + * @param dataMap + * @param response + */ + public static void exportToWord(Map dataMap , HttpServletResponse response ,String templateFileName,String exportFileName,String downFileName) throws IOException, TemplateException { + Configuration configuration = new Configuration(); + configuration.setClassForTemplateLoading(ExportWordUtil.class,"/"); + configuration.setDefaultEncoding("UTF-8"); + Template template = configuration.getTemplate(templateFileName); + File file = new File(exportFileName); + InputStream resourceAsStream = ExportWordUtil.class.getResourceAsStream("/" + exportFileName); + if(resourceAsStream == null){ + response.sendError(500,"导出失败,文件损坏,请联系管理员"); + return; + } + FileUtils.copyInputStreamToFile(resourceAsStream,file); + //写入文件中 + FileOutputStream fileOutputStream = new FileOutputStream(file); + OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); + template.process(dataMap,outputStreamWriter); + //读取流返回给前台 + FileInputStream fileInputStream = new FileInputStream(file); + response.setContentType("application/force-download");// 设置强制下载不打开 + response.addHeader("Content-Disposition", "attachment;fileName="+downFileName);// 设置文件名 + IOUtils.copy(fileInputStream,response.getOutputStream()); + //关闭流 + IOUtils.closeQuietly(fileInputStream); + IOUtils.closeQuietly(response.getOutputStream()); + outputStreamWriter.close(); + fileOutputStream.close(); + file.delete(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/HttpUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/HttpUtils.java new file mode 100644 index 0000000..90127ed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/HttpUtils.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.common.core.utils.SpringUtils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.HttpClientErrorException; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; + +public class HttpUtils { + + /** + * post 请求 + */ + public static String post(String url, Map param,String token) { + RestTemplate restTemplate = SpringUtils.getBean(RestTemplate.class); + + HttpHeaders headers = new HttpHeaders(); + if(token!=null){ + headers.add("Authorization", token); + } + headers.add("Accept", "application/json"); + headers.add("Content-Encoding", "UTF-8"); + headers.add("Content-Type", "application/json; charset=UTF-8"); + + String body = param == null ? "{}" : JSON.toJSONString(param); + HttpEntity requestEntity = new HttpEntity<>(body, headers); + return restTemplate.postForObject(url, requestEntity, String.class); + } + + /** + * get 请求 + */ + public static ResponseEntity get(String url,String token) { + RestTemplate restTemplate = SpringUtils.getBean(RestTemplate.class); + + HttpHeaders headers = new HttpHeaders(); + if(token!=null){ + headers.add("Authorization", token); + } + headers.add("Accept", "application/json"); + headers.add("Content-Encoding", "UTF-8"); + headers.add("Content-Type", "application/json; charset=UTF-8"); + + HttpEntity requestEntity = new HttpEntity<>(null, headers); + + try { + return restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class); + } catch (HttpClientErrorException e) { + String bodyAsString = e.getResponseBodyAsString(); + return new ResponseEntity<>(bodyAsString, e.getStatusCode()); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MathUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MathUtils.java new file mode 100644 index 0000000..bda3e00 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MathUtils.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.util; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * @Auther: cjh + * @Date: 2023-03-27 11:51 + * @Class: MathUtils + * @Deseription: + * @Version V1.0 + */ +public class MathUtils { + + /*** + * 烧结机 + * @param n + * @param m + * @return + */ + public static boolean divideSjj(int n,int m){ + BigDecimal result = new BigDecimal(n).divide(new BigDecimal(m),2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); + + if(result.compareTo(new BigDecimal(66))==-1){ + return true; + } + return false; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MsgProducer.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MsgProducer.java new file mode 100644 index 0000000..b996f8e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/MsgProducer.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.config.ExchangeConfig; +import cn.cecep.talroad.config.RabbitmqConfig; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.connection.CorrelationData; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Auther: cjh + * @Date: 2022-05-07 15:27 + * @Class: MsgProducer + * @Deseription: + * @Version V1.0 + */ +@Slf4j +@Component +public class MsgProducer implements RabbitTemplate.ConfirmCallback { + + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * 发送消息-定时判断设备停限产状态 + * + * @param uuid + * @param message 消息 + */ + public void sendStatusMsg(String uuid, Object message) { + rabbitTemplate.setConfirmCallback(this); + CorrelationData correlationId = new CorrelationData(uuid); + rabbitTemplate.convertAndSend(ExchangeConfig.DIRECT_EXCHANGE, RabbitmqConfig.ROUTE_KEY_STATUS,message, correlationId); + } + + /** + * 发送探查消息 + * @param uuid + * @param message + */ + public void sendYieldStatisticMsg(String uuid, Object message) { + rabbitTemplate.setConfirmCallback(this); + CorrelationData correlationId = new CorrelationData(uuid); + rabbitTemplate.convertAndSend(ExchangeConfig.DIRECT_EXCHANGE, RabbitmqConfig.ROUTE_KEY_YIELD,message, correlationId); + } + + @Override + public void confirm(CorrelationData correlationData, boolean b, String s) { + log.info("消息推送交换机状态{},消息ID{}",b,correlationData.getId()); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/NumberUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/NumberUtils.java new file mode 100644 index 0000000..237f13a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/NumberUtils.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.util; + +import cn.hutool.core.util.NumberUtil; +import org.apache.commons.lang3.StringUtils; + +import java.math.BigDecimal; + +/** + * @author hehongyu + * @description: 获取数字格式 + * @date 2023/6/28 22:34 + */ +public class NumberUtils { + + /** + * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0 + */ + public static BigDecimal getBigDecimalDefaultZero(String value){ + if (!NumberUtil.isNumber(value)){ + return BigDecimal.ZERO; + } + if (StringUtils.isBlank(value)){ + return BigDecimal.ZERO; + } + return new BigDecimal(value); + } + + /** + * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0 + */ + public static BigDecimal getBigDecimalDefaultNull(String value){ + if (!NumberUtil.isNumber(value)){ + return null; + } + if (StringUtils.isBlank(value)){ + return null; + } + return new BigDecimal(value); + } + + /** + * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0 + */ + public static Double getDoubleDefaultZero(String value){ + if (!NumberUtil.isNumber(value)){ + return (double) 0; + } + if (StringUtils.isBlank(value)){ + return (double) 0; + } + return new Double(value); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PageConvertUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PageConvertUtil.java new file mode 100644 index 0000000..a0ca10c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PageConvertUtil.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.util; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import javax.validation.constraints.NotNull; +import java.util.Collections; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @ClassName PageConvertUtil + * @Description + * @Author liyongbing + * @Date 2023/5/11 15:45 + * @Version 1.0 + **/ +public class PageConvertUtil { + + + public static Page pagConvert(IPage

    page, Class rClass) { + return pagConvert(page, e -> BeanUtil.copyProperties(e, rClass)); + } + + public static Page pagConvert(@NotNull IPage

    page, @NotNull Function mapFunction) { + return new Page() + .setCurrent(page.getCurrent()) + .setSize(page.getSize()) + .setTotal(page.getTotal()) + .setRecords(Optional + .ofNullable(page.getRecords()) + .orElse(Collections.emptyList()) + .stream() + .map(mapFunction) + .collect(Collectors.toList()) + ) + ; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PlxUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PlxUtils.java new file mode 100644 index 0000000..840f82c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/PlxUtils.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.util; + +import java.util.List; + +/** + * 计算皮尔逊相关系数 + */ +public class PlxUtils { + + public static double getPearsonCorrelationScore(List x, List y) { + if (x.size() != y.size()) + throw new RuntimeException("数据不正确!"); + double[] xData = new double[x.size()]; + double[] yData = new double[x.size()]; + for (int i = 0; i < x.size(); i++) { + xData[i] = x.get(i); + yData[i] = y.get(i); + } + return getPearsonCorrelationScore(xData, yData); + } + + public static double getPearsonCorrelationScore(double[] xData, double[] yData) { + if (xData.length != yData.length) + throw new RuntimeException("数据不正确!"); + double xMeans; + double yMeans; + double numerator = 0;// 求解皮尔逊的分子 + double denominator = 0;// 求解皮尔逊系数的分母 + + double result = 0; + // 拿到两个数据的平均值 + xMeans = getMeans(xData); + yMeans = getMeans(yData); + // 计算皮尔逊系数的分子 + numerator = generateNumerator(xData, xMeans, yData, yMeans); + // 计算皮尔逊系数的分母 + denominator = generateDenomiator(xData, xMeans, yData, yMeans); + // 计算皮尔逊系数 + result = numerator / denominator; + return result; + } + + /** + * 计算分子 + * + * @param xData + * @param xMeans + * @param yData + * @param yMeans + * @return + */ + private static double generateNumerator(double[] xData, double xMeans, double[] yData, double yMeans) { + double numerator = 0.0; + for (int i = 0; i < xData.length; i++) { + numerator += (xData[i] - xMeans) * (yData[i] - yMeans); + } + return numerator; + } + + /** + * 生成分母 + * + * @param yMeans + * @param yData + * @param xMeans + * @param xData + * @return 分母 + */ + private static double generateDenomiator(double[] xData, double xMeans, double[] yData, double yMeans) { + double xSum = 0.0; + for (int i = 0; i < xData.length; i++) { + xSum += (xData[i] - xMeans) * (xData[i] - xMeans); + } + double ySum = 0.0; + for (int i = 0; i < yData.length; i++) { + ySum += (yData[i] - yMeans) * (yData[i] - yMeans); + } + return Math.sqrt(xSum) * Math.sqrt(ySum); + } + + /** + * 根据给定的数据集进行平均值计算 + * + * @param + * @return 给定数据集的平均值 + */ + private static double getMeans(double[] datas) { + double sum = 0.0; + for (int i = 0; i < datas.length; i++) { + sum += datas[i]; + } + return sum / datas.length; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/QrCodeUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/QrCodeUtils.java new file mode 100644 index 0000000..a898f5c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/QrCodeUtils.java @@ -0,0 +1,229 @@ +package cn.cecep.talroad.util; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.WriterException; +import com.google.zxing.common.BitMatrix; +import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; +import org.springframework.web.client.RestTemplate; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.geom.RoundRectangle2D; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.util.*; + +/** + * @Description:二维码工具类 + * @PACKAGE_NAME: cn.cecep.talroad.utils + * @date 2021-12-21 11:10*/ +public class QrCodeUtils { + + private static final int BLACK = 0xFF000000; + private static final int WHITE = 0xFFFFFFFF; + private static final String CHARSET = "utf-8"; + private static final String FORMAT_NAME = "JPG"; + // 二维码尺寸 + private static final int QRCODE_SIZE = 300; + // LOGO宽度 + private static final int WIDTH = 60; + // LOGO高度 + private static final int HEIGHT = 60; + + private static RestTemplate restTemplate = new RestTemplate(); + + + /** + * 生成二维码 + * 经过base64编码 + * + * @param url + * @return + */ + public static BufferedImage createQrCode(String url) throws WriterException { + Map hints = new HashMap(4); + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 500, 500, hints); + + return toBufferedImage(bitMatrix); + } + + /** + * 生成二维码 + * 经过base64编码 + * + * @param url + * @return + */ + public static String createQrCodeBase64(String url) { + String base64String = ""; + try { + Map hints = new HashMap(4); + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 400, 400, hints); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + + BufferedImage bufferedImage = toBufferedImage(bitMatrix); + ImageIO.write(bufferedImage, "jpg", outputStream); + Base64.Encoder encoder = Base64.getEncoder(); + base64String = encoder.encodeToString(outputStream.toByteArray()); + } catch (Exception e) { + e.printStackTrace(); + } + //return "data:image/jpg;base64," + base64String; + return base64String; + } + + private static BufferedImage toBufferedImage(BitMatrix matrix) { + int width = matrix.getWidth(); + int height = matrix.getHeight(); + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < width; x++) { + for (int y = 0; y < height; y++) { + image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); + } + } + return image; + } + + /** + * 生成二维码(内嵌LOGO) + * author zhangpeizhi + * @param content 内容 + * @param logoFile LOGO文件 + * @param needCompress 是否压缩LOGO + * @throws Exception + */ + public static String createQrCodeBase64Encode(String content, File logoFile, + boolean needCompress) throws Exception { + BufferedImage image = createImage(content, logoFile, + needCompress); + + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + + ImageIO.write(image, "jpg", outputStream); + Base64.Encoder encoder = Base64.getEncoder(); + String base64String = encoder.encodeToString(outputStream.toByteArray()); + + return base64String; + } + + + /** + * 生成二维码(内嵌LOGO) + * + * @param content 内容 + * @param logoFile LOGO文件 + * @param destPath 存放目录 + * @param needCompress 是否压缩LOGO + * @throws Exception + */ + public static String encode(String content, File logoFile, String destPath, + boolean needCompress) throws Exception { + BufferedImage image = createImage(content, logoFile, + needCompress); + mkdirs(destPath); + String file = new Random().nextInt(99999999) + ".jpg"; + ImageIO.write(image, FORMAT_NAME, new File(destPath + "/" + file)); + return file; + } + + private static BufferedImage createImage(String content, File logoFile, + boolean needCompress) throws Exception { + Hashtable hints = new Hashtable(); + hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); + hints.put(EncodeHintType.CHARACTER_SET, CHARSET); + hints.put(EncodeHintType.MARGIN, 1); + BitMatrix bitMatrix = new MultiFormatWriter().encode(content, + BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints); + int width = bitMatrix.getWidth(); + int height = bitMatrix.getHeight(); + BufferedImage image = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < width; x++) { + for (int y = 0; y < height; y++) { + image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 + : 0xFFFFFFFF); + } + } + if (CmUtil.isEmpty(logoFile)) { + return image; + } + // 插入图片 + insertImage(image, logoFile, needCompress); + return image; + } + + /** + * 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常) + * + * @param destPath 存放目录 + * @date 2013-12-11 上午10:16:36 + */ + public static void mkdirs(String destPath) { + File file = new File(destPath); + //当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常) + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + } + } + + public static class CmUtil{ + public static boolean isEmpty(File file){ + if (null == file || 0 == file.length() || !file.exists()) return true; + return false; + } + } + + + /** + * 插入LOGO + * + * @param source 二维码图片 + * @param logoFile LOGO图片文件 + * @param needCompress 是否压缩 + * @throws Exception + */ + private static void insertImage(BufferedImage source, File logoFile, + boolean needCompress) throws Exception { + + if (!logoFile.exists()) { + System.err.println("" + logoFile + " 该文件不存在!"); + return; + } + Image src = ImageIO.read(logoFile); + int width = src.getWidth(null); + int height = src.getHeight(null); + // 压缩LOGO + if (needCompress) { + if (width > WIDTH) { + width = WIDTH; + } + if (height > HEIGHT) { + height = HEIGHT; + } + Image image = src.getScaledInstance(width, height, + Image.SCALE_SMOOTH); + BufferedImage tag = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + Graphics g = tag.getGraphics(); + // 绘制缩小后的图 + g.drawImage(image, 0, 0, null); + g.dispose(); + src = image; + } + // 插入LOGO + Graphics2D graph = source.createGraphics(); + int x = (QRCODE_SIZE - width) / 2; + int y = (QRCODE_SIZE - height) / 2; + graph.drawImage(src, x, y, width, height, null); + Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6); + graph.setStroke(new BasicStroke(3f)); + graph.draw(shape); + graph.dispose(); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/RedisUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/RedisUtils.java new file mode 100644 index 0000000..d30938b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/RedisUtils.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.util; + +import org.springframework.data.redis.core.Cursor; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ScanOptions; + +import java.util.HashSet; +import java.util.Set; + +public class RedisUtils { + + + /** + * 根据模糊的 key 来删除缓存 + * + * @param redisTemplate RedisTemplate 实例 + * @param pattern 模糊的 key + * @return 删除的 key 的数量 + */ + public static boolean delKeysByPattern(RedisTemplate redisTemplate, String pattern) { + Set keys = new HashSet<>(); + // 定义 scan 参数 + ScanOptions options = ScanOptions.scanOptions().match(pattern).build(); + // 使用 scan 方法查询 key 值列表 + redisTemplate.execute((connection) -> { + try (Cursor cursor = connection.scan(options)) { + while (cursor.hasNext()) { + byte[] keyBytes = cursor.next(); + String key = redisTemplate.getStringSerializer().deserialize(keyBytes); + keys.add(key); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return null; + }, true); + + // 删除匹配的 key 值对应的缓存 + if (keys != null && keys.size() > 0) { + long res = redisTemplate.delete(keys); + return res == keys.size(); + } + return false; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/StatusConsumer.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/StatusConsumer.java new file mode 100644 index 0000000..38d5e79 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/StatusConsumer.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.util; + +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener; +import org.springframework.stereotype.Component; + +/** + * @Auther: cjh + * @Date: 2023-04-17 11:02 + * @Class: MsgReceiver + * @Deseription: 停限产状态消息消费 + * @Version V1.0 + */ +@Slf4j +@Component +public class StatusConsumer implements ChannelAwareMessageListener { + + + @Override + //@RabbitListener(queues = "status-queue") + public void onMessage(Message message, Channel channel) throws Exception { +// try { +// String deviceId = new String(message.getBody()); +// BasDevice d = deviceMapper.selectById(deviceId); +// PcFactory p = pcFactoryMapper.selectPcFactoryById(d.getFactoryId()); +// +// QueryWrapper paramWrapper = new QueryWrapper<>(); +// paramWrapper.eq("industry", d.getIndustry()); +// paramWrapper.eq("device_id", d.getDeviceId()); +// paramWrapper.eq("device_type",d.getType()); +// List paramList = basDeviceParamMapper.selectList(paramWrapper); +// //拼接策略服务名称 +// String strategyName = StringUtils.upperCase(d.getIndustry() + d.getType()); +// //执行策略,处理设备状态 +// strategyFactory.getByName(strategyName).doCheckProcess(p, d, paramList); +// +// } catch (Exception e) { +// log.error("MsgReceiver.onMessage##失败:" + e.getMessage()); +// } finally { +// //ACK 手动签收消息,告诉对方消息签收成功,唯一标识ID +// Long deliverTag = message.getMessageProperties().getDeliveryTag(); +// channel.basicAck(deliverTag, false); +// } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VideoUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VideoUtil.java new file mode 100644 index 0000000..77b059d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VideoUtil.java @@ -0,0 +1,286 @@ +package cn.cecep.talroad.util; + +import com.alibaba.nacos.shaded.com.google.gson.Gson; +import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder; +import org.apache.commons.lang3.StringUtils; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLSession; +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLDecoder; +import java.rmi.ServerException; +import java.util.HashMap; +import java.util.Map; + +/** + * 萤石云视屏工具类*/ +public class VideoUtil { + + public static class ResultVo { + private Map data; + private String code; + private String msg; + + public Map getData() { + return data; + } + + public void setData(Map data) { + this.data = data; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + + /** + * 获取Access_token + * + * @return + */ + public static String getAccess_token(String appKey, String secret) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + String access_token = ""; + String url = Ys7Common.YS7_DOMAIN_URL + "/api/lapp/token/get?appKey=" + appKey + "&appSecret=" + secret; + String result = getData(url); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + return (String) accessToken.getData().get("accessToken"); + } + return null; + } + + /** + * 设置 https 请求 + * + * @throws Exception + */ + private static void trustAllHttpsCertificates() throws Exception { + HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { + public boolean verify(String str, SSLSession session) { + return true; + } + }); + javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; + javax.net.ssl.TrustManager tm = new miTM(); + trustAllCerts[0] = tm; + javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL"); + sc.init(null, trustAllCerts, null); + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + } + + + //设置 https 请求证书 + static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager { + + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return null; + } + + public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) { + return true; + } + + public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) { + return true; + } + + public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { + return; + } + + public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { + return; + } + } + + /** + * POST请求 + * + * @param url + * @return + */ + public static String getData(String url) throws IOException { + BufferedReader reader = null; + try { + trustAllHttpsCertificates(); // 跳过证书认证 + } catch (Exception e) { + throw new ServerException("跳过证书认证失败"); + } + HttpURLConnection connection = null; + String result = ""; + try { + //创建连接 + URL url2 = new URL(url); + connection = (HttpURLConnection) url2.openConnection(); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setRequestMethod("POST"); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(true); + connection.setRequestProperty("Content-Type", "application/json"); + connection.connect(); + // POST请求 + DataOutputStream out = new DataOutputStream(connection.getOutputStream()); + out.flush(); + out.close(); + // 读取响应 + reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String lines; + StringBuffer sb = new StringBuffer(""); + while ((lines = reader.readLine()) != null) { + String s = lines.replaceAll("%", ""); + lines = URLDecoder.decode(s, "utf-8"); + sb.append(lines); + } + result = sb.toString(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + assert reader != null; + reader.close(); + // 断开连接 + connection.disconnect(); + } + return result; + } + + /** + * 开始云台控制 + * direction 操作命令:0-上,-下,2-左,3-右,4-左上,5-左下,6-右上,7-右下,8-放大,9-缩小,10-近焦距,11-远焦距 + * speed 云台速度:0-慢,1-适中,2-快 + * + * @return + * @throws IOException + */ + public static Map getStart(int direction, int speed, String access_token, String deviceSerial, Integer channelNo) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + String url = Ys7Common.YS7_DOMAIN_URL + "/api/lapp/device/ptz/start?accessToken=" + access_token + "&deviceSerial=" + deviceSerial + "&channelNo=" + channelNo + "&direction=" + direction + "&speed=" + speed; + String result = getData(url); + Map map = new HashMap<>(); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + map.put("msg", accessToken.getMsg()); + map.put("code", accessToken.getCode()); + } else { + map.put("msg", "控制失败!"); + map.put("code", "0"); + } + return map; + } + + /** + * 停止云台控制 + * direction 操作命令:0-上,1-下,2-左,3-右,4-左上,5-左下,6-右上,7-右下,8-放大,9-缩小,10-近焦距,11-远焦距 + * + * @return + * @throws IOException + */ + public static String getStop(int direction, String access_token, String deviceSerial, Integer channelNo) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + String url = Ys7Common.YS7_DOMAIN_URL + "/api/lapp/device/ptz/stop?accessToken=" + access_token + "&deviceSerial=" + deviceSerial + "&channelNo=" + channelNo + "&direction=" + direction; + String result = getData(url); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + return accessToken.getMsg(); + } + return "控制失败!"; + } + + /** + * 获取单个设备信息 + * deviceSerial 设备序列号,存在英文字母的设备序列号,字母需为大写 + * + * @return + * @throws IOException + */ + public static Map getDeviceInfo(String access_token, String deviceSerial) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + if (StringUtils.isNotEmpty(access_token) && StringUtils.isNotEmpty(deviceSerial)) { + String url = Ys7Common.YS7_IP_URL + "/api/lapp/device/info?accessToken=" + access_token + "&deviceSerial=" + deviceSerial; + String result = getData(url); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + System.out.println(accessToken); + if (accessToken.getCode().equals("200")) { + return accessToken.getData(); + } + } + } + return null; + } + + /** + * 添加设备 + * accessToken 授权过程获取的access_token + * deviceSerial 设备序列号,存在英文字母的设备序列号,字母需为大写 + * validateCode 设备验证码,设备机身上的六位大写字母 + * + * @return + * @throws IOException + */ + public static Map addDeviceInfo(String access_token, String deviceSerial, String validateCode) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + String url = Ys7Common.YS7_IP_URL + "/api/lapp/device/add?accessToken=" + access_token + "&deviceSerial=" + deviceSerial + "&validateCode=" + validateCode; + String result = getData(url); + System.out.println("添加设备:" + result); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + System.out.println(accessToken); + if (accessToken.getCode().equals("200")) { + return accessToken.getData(); + } + } + return null; + } + + /** + * 获取子账户信息列表 + * accessToken 授权过程获取的access_token + * deviceSerial 设备序列号,存在英文字母的设备序列号,字母需为大写 + * validateCode 设备验证码,设备机身上的六位大写字母 + * + * @return + * @throws IOException + */ + public static Map getAccountList(String access_token, int pageStart, int pageSize) throws IOException { + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + String url = Ys7Common.YS7_IP_URL + "/api/lapp/device/list?" + access_token + "&pageStart=" + pageStart + "&pageSize=" + pageSize; + String result = getData(url); + if (result != null && !"".equals(result)) { + ResultVo accessToken = gson.fromJson(result, ResultVo.class); + System.out.println(accessToken); + if (accessToken.getCode().equals("200")) { + return accessToken.getData(); + } + } + return null; + } + + public static void main1(String[] args) throws IOException { + String t = getAccess_token("dfd1623a053540e8a89b2a87b87d00fd", "ed3d14e99e892680b3fe2d79594b59d7"); + //getDeviceInfo(t,"E43167007"); + //getStart(10,0,t,"E44386072",1); 验证码: + //Map map = getAccountList(t,0,10);//getDeviceInfo(t,"E84566865","NTBRKJ"); + System.out.println(t); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToString.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToString.java new file mode 100644 index 0000000..c141f88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToString.java @@ -0,0 +1,1147 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.vo.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * VoToStringBak 改了下, 去除小数点后多余零 + */ +public class VoToString +{ + private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + + /** 转换数据-实时-钢铁 + * @param forDataView true=数据查询,false=折线图 + */ + public static List voToStringReal_GT(List lstIn, String deviceType, boolean forDataView) + throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.GT; + Class monOriVO = MonDevGtRealVO.class; + Class monStringVO = MonDevGtStringVO.class; + List result; + MonDevGtStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevGtRealVO record : lstIn) + { + stringVO = new MonDevGtStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-钢铁 */ + public static List voToStringOther_GT(List lstIn, String deviceType, boolean forDataView) + throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.GT; + Class monOriVO = MonDevGtVO.class; + Class monStringVO = MonDevGtStringVO.class; + List result; + MonDevGtStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevGtVO record : lstIn) + { + stringVO = new MonDevGtStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-焦化 */ + public static List voToStringReal_JH(List lstIn, String deviceType, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.JH; + Class monOriVO = MonDevJhRealVo.class; + Class monStringVO = MonDevJhStringVO.class; + List result; + MonDevJhStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevJhRealVo record : lstIn) + { + stringVO = new MonDevJhStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-焦化 */ + public static List voToStringOther_JH(List lstIn, String deviceType, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.JH; + Class monOriVO = MonDevJhVO.class; + Class monStringVO = MonDevJhStringVO.class; + List result; + MonDevJhStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevJhVO record : lstIn) + { + stringVO = new MonDevJhStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if(value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-水泥 */ + public static List voToStringReal_SN(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.SN; + Class monOriVO = MonDevSnRealVo.class; + Class monStringVO = MonDevSnStringVO.class; + List result; + MonDevSnStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevSnRealVo record : lstIn) + { + stringVO = new MonDevSnStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-水泥 */ + public static List voToStringOther_SN(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.SN; + Class monOriVO = MonDevSnVO.class; + Class monStringVO = MonDevSnStringVO.class; + List result; + MonDevSnStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevSnVO record : lstIn) + { + stringVO = new MonDevSnStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-玻璃 */ + public static List voToStringReal_BL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.BL; + Class monOriVO = MonDevBlRealVo.class; + Class monStringVO = MonDevBlStringVO.class; + List result; + MonDevBlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevBlRealVo record : lstIn) + { + stringVO = new MonDevBlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if(value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-玻璃 */ + public static List voToStringOther_BL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.BL; + Class monOriVO = MonDevBlVO.class; + Class monStringVO = MonDevBlStringVO.class; + List result; + MonDevBlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevBlVO record : lstIn) + { + stringVO = new MonDevBlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-电力 */ + public static List voToStringReal_DL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.DL; + Class monOriVO = MonDevDlRealVo.class; + Class monStringVO = MonDevDlStringVO.class; + List result; + MonDevDlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevDlRealVo record : lstIn) + { + stringVO = new MonDevDlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-电力 */ + public static List voToStringOther_DL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.DL; + Class monOriVO = MonDevDlVO.class; + Class monStringVO = MonDevDlStringVO.class; + List result; + MonDevDlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevDlVO record : lstIn) + { + stringVO = new MonDevDlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-垃圾焚烧 */ + public static List voToStringReal_FS(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.FS; + Class monOriVO = MonDevFsRealVo.class; + Class monStringVO = MonDevFsStringVO.class; + List result; + MonDevFsStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevFsRealVo record : lstIn) + { + stringVO = new MonDevFsStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-垃圾焚烧 */ + public static List voToStringOther_FS(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.FS; + Class monOriVO = MonDevFsVO.class; + Class monStringVO = MonDevFsStringVO.class; + List result; + MonDevFsStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevFsVO record : lstIn) + { + stringVO = new MonDevFsStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if (value instanceof Double) { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } else { + if ("Double".equals(paramPo.getDataTypeJava())) { + try { + setMethod.invoke(stringVO, new BigDecimal(String.valueOf(value)).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString()); + } catch (Exception e) { + } + } + } + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + public static ThreadLocal> paramThreadLocal = new ThreadLocal<>(); + public static ThreadLocal> deviceThreadLocal = new ThreadLocal<>(); + public static ThreadLocal> deviceParamThreadLocal = new ThreadLocal<>(); + + public static class AppBuffer { + public static BufBasParam bufBasParam = new BufBasParam(); + public static BufBasDevice bufBasDevice = new BufBasDevice(); + public static BufBasDeviceParam bufBasDeviceParam = new BufBasDeviceParam(); + } + + public static class BufBasParam { + public List getListByIndustry(String industryId) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry())) + .collect(Collectors.toList()); + } + + public List getListByIndustry(String industryId, String type, String facilityType) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry()) && type.equals(o.getDeviceType()) && facilityType.equals(o.getFacilityType())) + .collect(Collectors.toList()); + } + + public List getListByIndustry(String industryId, String deviceType) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry()) && deviceType.equals(o.getDeviceType())) + .collect(Collectors.toList()); + } + } + + public static class BufBasDevice { + public BasDevice getObjById(String deviceId) { + return deviceThreadLocal.get().stream() + .filter(o -> o.getDeviceId().equals(deviceId)) + .findFirst().orElse(null); + } + } + + public static class BufBasDeviceParam { + public BasDeviceParam getOneById(String deviceId, String paramId) { + return deviceParamThreadLocal.get().stream() + .filter(o -> deviceId.equals(o.getDeviceId()) && paramId.equals(o.getParamId())) + .findFirst().orElse(null); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToStringBak.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToStringBak.java new file mode 100644 index 0000000..f373d48 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/VoToStringBak.java @@ -0,0 +1,1051 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.cecep.talroad.domain.BasParam; +import cn.cecep.talroad.enums.EnIndustry; +import cn.cecep.talroad.vo.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * dcs系统拿过来的 + */ +public class VoToStringBak +{ + private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + + /** 转换数据-实时-钢铁 + * @param forDataView true=数据查询,false=折线图 + */ + public static List voToStringReal_GT(List lstIn, String deviceType, boolean forDataView) + throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.GT; + Class monOriVO = MonDevGtRealVO.class; + Class monStringVO = MonDevGtStringVO.class; + List result; + MonDevGtStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevGtRealVO record : lstIn) + { + stringVO = new MonDevGtStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-钢铁 */ + public static List voToStringOther_GT(List lstIn, String deviceType, boolean forDataView) + throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.GT; + Class monOriVO = MonDevGtVO.class; + Class monStringVO = MonDevGtStringVO.class; + List result; + MonDevGtStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevGtVO record : lstIn) + { + stringVO = new MonDevGtStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-焦化 */ + public static List voToStringReal_JH(List lstIn, String deviceType, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.JH; + Class monOriVO = MonDevJhRealVo.class; + Class monStringVO = MonDevJhStringVO.class; + List result; + MonDevJhStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id(), deviceType); + for (MonDevJhRealVo record : lstIn) + { + stringVO = new MonDevJhStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-焦化 */ + public static List voToStringOther_JH(List lstIn, String deviceType, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.JH; + Class monOriVO = MonDevJhVO.class; + Class monStringVO = MonDevJhStringVO.class; + List result; + MonDevJhStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevJhVO record : lstIn) + { + stringVO = new MonDevJhStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if(value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-水泥 */ + public static List voToStringReal_SN(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.SN; + Class monOriVO = MonDevSnRealVo.class; + Class monStringVO = MonDevSnStringVO.class; + List result; + MonDevSnStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevSnRealVo record : lstIn) + { + stringVO = new MonDevSnStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-水泥 */ + public static List voToStringOther_SN(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.SN; + Class monOriVO = MonDevSnVO.class; + Class monStringVO = MonDevSnStringVO.class; + List result; + MonDevSnStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevSnVO record : lstIn) + { + stringVO = new MonDevSnStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-玻璃 */ + public static List voToStringReal_BL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.BL; + Class monOriVO = MonDevBlRealVo.class; + Class monStringVO = MonDevBlStringVO.class; + List result; + MonDevBlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevBlRealVo record : lstIn) + { + stringVO = new MonDevBlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if(value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-玻璃 */ + public static List voToStringOther_BL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.BL; + Class monOriVO = MonDevBlVO.class; + Class monStringVO = MonDevBlStringVO.class; + List result; + MonDevBlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevBlVO record : lstIn) + { + stringVO = new MonDevBlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-电力 */ + public static List voToStringReal_DL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.DL; + Class monOriVO = MonDevDlRealVo.class; + Class monStringVO = MonDevDlStringVO.class; + List result; + MonDevDlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevDlRealVo record : lstIn) + { + stringVO = new MonDevDlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-电力 */ + public static List voToStringOther_DL(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.DL; + Class monOriVO = MonDevDlVO.class; + Class monStringVO = MonDevDlStringVO.class; + List result; + MonDevDlStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevDlVO record : lstIn) + { + stringVO = new MonDevDlStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-实时-垃圾焚烧 */ + public static List voToStringReal_FS(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.FS; + Class monOriVO = MonDevFsRealVo.class; + Class monStringVO = MonDevFsStringVO.class; + List result; + MonDevFsStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevFsRealVo record : lstIn) + { + stringVO = new MonDevFsStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + /** 转换数据-其它-垃圾焚烧 */ + public static List voToStringOther_FS(List lstIn, boolean forDataView) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException + { + //不同方法需更改的部分 + EnIndustry industry = EnIndustry.FS; + Class monOriVO = MonDevFsVO.class; + Class monStringVO = MonDevFsStringVO.class; + List result; + MonDevFsStringVO stringVO; + //所有方法都一样的部分 + List lstParamPo, lstParamPoType; + Method setMethod; + String getMethodName, setMethodName; + String paramCode; + Object value; + + result = new ArrayList<>(); + lstParamPo = AppBuffer.bufBasParam.getListByIndustry(industry.id()); + for (MonDevFsVO record : lstIn) + { + stringVO = new MonDevFsStringVO(); + + //==== 将一般参数复制到新类 + BeanUtils.copyProperties(record, stringVO); + //stringVO.setDataTime(record.getDataTime().format(formatter)); + + //==== 将监测参数由Double转为String复制到新类(反射),并处理小数点位数 + for (BasParam paramPo : lstParamPo) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethod = monStringVO.getMethod(setMethodName, String.class); + value = monOriVO.getMethod(getMethodName).invoke(record); + if(value == null) //无值:若属性为离线则设置值为"-" + { + BasDeviceParam devParamPo; + devParamPo = AppBuffer.bufBasDeviceParam.getOneById(record.getDeviceId(), paramPo.getParamId()); + if(devParamPo!=null && devParamPo.getIsOnline().intValue()==0) + setMethod.invoke(stringVO, "-"); + } + else if(value instanceof Double) + setMethod.invoke(stringVO, BigDecimal.valueOf((Double) value).setScale(paramPo.getScale(), RoundingMode.HALF_EVEN).toPlainString()); + } + + //==== 判断是否是共用 + if( forDataView ) + { + BasDevice basDevicePO = AppBuffer.bufBasDevice.getObjById(record.getDeviceId()); + String shareDevId = basDevicePO.getShareDevId(); + String shareType = basDevicePO.getShareType(); + //当前设备为共用从设备 + if (StringUtils.isNotBlank(shareDevId) && StringUtils.isNotBlank(shareType)) + { + String[] types = shareType.split(","); + for (String facilityType : types) + { + facilityType = facilityType.trim(); + if (StringUtils.isEmpty(facilityType)) + continue; + //共用参数列表 + lstParamPoType = AppBuffer.bufBasParam.getListByIndustry(industry.id(), basDevicePO.getType(), facilityType); + for (BasParam paramPo : lstParamPoType) + { + paramCode = paramPo.getParamCodeSvc(); + getMethodName = "get" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + setMethodName = "set" + paramCode.substring(0, 1).toUpperCase().concat(paramCode.substring(1)); + value = monStringVO.getMethod(getMethodName).invoke(stringVO); + if (value == null) //共用值为空则设置标记 + { + setMethod = monStringVO.getMethod(setMethodName, String.class); + setMethod.invoke(stringVO, "(共用)"); + } + } + } + } + } + result.add(stringVO); + } + return result; + } + + public static ThreadLocal> paramThreadLocal = new ThreadLocal<>(); + public static ThreadLocal> deviceThreadLocal = new ThreadLocal<>(); + public static ThreadLocal> deviceParamThreadLocal = new ThreadLocal<>(); + + public static class AppBuffer { + public static BufBasParam bufBasParam = new BufBasParam(); + public static BufBasDevice bufBasDevice = new BufBasDevice(); + public static BufBasDeviceParam bufBasDeviceParam = new BufBasDeviceParam(); + } + + public static class BufBasParam { + public List getListByIndustry(String industryId) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry())) + .collect(Collectors.toList()); + } + + public List getListByIndustry(String industryId, String type, String facilityType) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry()) && type.equals(o.getDeviceType()) && facilityType.equals(o.getFacilityType())) + .collect(Collectors.toList()); + } + + public List getListByIndustry(String industryId, String deviceType) { + return paramThreadLocal.get().stream() + .filter(o -> industryId.equals(o.getIndustry()) && deviceType.equals(o.getDeviceType())) + .collect(Collectors.toList()); + } + } + + public static class BufBasDevice { + public BasDevice getObjById(String deviceId) { + return deviceThreadLocal.get().stream() + .filter(o -> o.getDeviceId().equals(deviceId)) + .findFirst().orElse(null); + } + } + + public static class BufBasDeviceParam { + public BasDeviceParam getOneById(String deviceId, String paramId) { + return deviceParamThreadLocal.get().stream() + .filter(o -> deviceId.equals(o.getDeviceId()) && paramId.equals(o.getParamId())) + .findFirst().orElse(null); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/YieldConsumer.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/YieldConsumer.java new file mode 100644 index 0000000..a8d9a83 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/YieldConsumer.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.util; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.service.IBasDeviceService; +import cn.cecep.talroad.service.strategy.StrategyFactory; +import cn.cecep.talroad.vo.FactoryDeviceVo; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Auther: cjh + * @Date: 2023-04-17 11:02 + * @Class: MsgReceiver + * @Deseription: 产量统计消息消费 + * @Version V1.0 + */ +@Slf4j +@Component +public class YieldConsumer implements ChannelAwareMessageListener { + + @Autowired + private IBasDeviceService basDeviceService; + @Autowired + private StrategyFactory strategyFactory; + + @Override + @RabbitListener(queues = "yield-queue") + public void onMessage(Message message, Channel channel) throws Exception { + String deviceId = new String(message.getBody()); + try { + FactoryDeviceVo vo = basDeviceService.selectFactoryDeviceVoByDeviceId(deviceId); + + //拼接策略服务名称 + String strategyName = StringUtils.upperCase(vo.getIndustry() + vo.getDeviceType() + vo.getDeviceType()); + log.info("开始消费者-产量统计-行业:"+vo.getIndustry()+",设备类型:"+vo.getDeviceType()); + //执行策略,处理设备状态 + strategyFactory.getByName(strategyName).doCheckProcessYield(vo); + + } catch (Exception e) { + log.error("MsgReceiver.onMessage##设备ID:"+ deviceId+"##异常信息:"+ e.getMessage()); + } finally { + //ACK 手动签收消息,告诉对方消息签收成功,唯一标识ID + Long deliverTag = message.getMessageProperties().getDeliveryTag(); + channel.basicAck(deliverTag, false); + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/Ys7Common.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/Ys7Common.java new file mode 100644 index 0000000..4ea7516 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/Ys7Common.java @@ -0,0 +1,14 @@ +package cn.cecep.talroad.util; + +/** + * @description: 萤石云地址公共配置 + * @createDate: 2022/3/15 10:20*/ +public class Ys7Common { + + // 萤石云域名地址 + public static final String YS7_DOMAIN_URL = "https://open.ys7.com"; + + // 萤石云IP地址 + public static final String YS7_IP_URL = "https://101.71.30.118"; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirDataConverseUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirDataConverseUtil.java new file mode 100644 index 0000000..bc4cde6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirDataConverseUtil.java @@ -0,0 +1,270 @@ +package cn.cecep.talroad.util.effective; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.effective.SEnvgasAqilevel; +import cn.cecep.talroad.domain.effective.SEnvgasPollutant; +import cn.cecep.talroad.mapper.effective.SEnvgasAqilevelMapper; +import cn.cecep.talroad.mapper.effective.SEnvgasPollutantMapper; +import cn.cecep.talroad.vo.effective.AirQualityConverter; +import cn.cecep.talroad.vo.effective.AirQualityData; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author zhangshiji + * @date 2022/7/15 + */ +@Component +public class AirDataConverseUtil { + + + public static AirDataConverseUtil airDataConverseUtil; + @Autowired + private SEnvgasPollutantMapper sEnvgasPollutantMapper; + @Autowired + private SEnvgasAqilevelMapper sEnvgasAqilevelMapper; + + /** + * ES 区域小时数据 转公共VO 并附带区域信息 + * 不补全区域和站点信息 + * @param esAreaHour 区域小时数据 + * @param regionInfoList 区域信息集合 + * @return + */ + /* public static List converSupplementData(List esAreaHour, List regionInfoList, AirParmaVo airParmaVo) { + HashMap aqiLevelMap = buildAqiLevelMap(); + //数据类型转换 + List airQualityData = new ArrayList<>(); + //if (CollectionUtils.isNotEmpty(esAreaHour)) { + esAreaHour.forEach(esData -> { + AirQualityData airData = new AirQualityData(); + //空气质量 + airData.setAqi(esData.getAqi()); + airData.setPmi(esData.getPmi() == null ? null : esData.getPmi().setScale(2, RoundingMode.UP)); + airData.setPm25(esData.getPm25() == null ? null : esData.getPm25().setScale(0,RoundingMode.UP)); + airData.setPm10(esData.getPm10() == null ? null : esData.getPm10().setScale(0,RoundingMode.UP)); + airData.setSo2(esData.getSo2() == null ? null : esData.getSo2().setScale(0,RoundingMode.UP)); + airData.setNo2(esData.getNo2() == null ? null : esData.getNo2().setScale(0,RoundingMode.UP)); + airData.setCo(esData.getCo() == null ? null : esData.getCo().setScale(1,RoundingMode.UP)); + airData.setO3(esData.getO3() == null ? null : esData.getO3().setScale(0,RoundingMode.UP)); + //分指数 + airData.setIaqiPm25(esData.getIaqi_pm25()); + airData.setIaqiPm10(esData.getIaqi_pm10()); + airData.setIaqiSo2(esData.getIaqi_so2()); + airData.setIaqiNo2(esData.getIaqi_no2()); + airData.setIaqiCo(esData.getIaqi_co()); + airData.setIaqiO3(esData.getIaqi_o3()); + //业务值 + airData.setMonitorTime(esData.getData_time()); + airData.setFkAqiLevelId(esData.getFk_aqilevel_id()); + airData.setFkAqiLevelName(aqiLevelMap.get(airData.getFkAqiLevelId())); + airData.setFkPollutantId(esData.getFk_pollutant_id()); + airData.setRegionCode(esData.getRegion_code()); + airQualityData.add(airData); + }); + + if (regionInfoList != null && regionInfoList.size() > 0) { + //补全区域和站点信息 + String dateTime = airParmaVo.getDatetime(); + List allRegionCodes = regionInfoList.stream().map(e -> e.getRegionCode()).collect(Collectors.toList()); + //补充单个小时 + List currentRegionCodes = airQualityData.stream().map(e -> e.getRegionCode()).collect(Collectors.toList()); + allRegionCodes.removeAll(currentRegionCodes); + allRegionCodes.forEach(regionCode -> { + AirQualityData fillData = new AirQualityData(); + fillData.setRegionCode(regionCode); + fillData.setMonitorTime(dateTime); + airQualityData.add(fillData); + }); + //绑定区域名称 + regionInfoList.forEach(regionInfo -> + airQualityData.forEach(airData -> { + if (airData.getRegionCode().equals(regionInfo.getRegionCode())) { + airData.setRegionName(regionInfo.getRegionName()); + airData.setLatitude(regionInfo.getLatitude()); + airData.setLongitude(regionInfo.getLongitude()); + airData.setRegionlevel(regionInfo.getRegionLever()); + } + }) + ); + } + List sort = airQualityData; + if (Objects.nonNull(airParmaVo)) { + //倒序 + if (airParmaVo.getDescSort() != null && airParmaVo.getDescSort() == 1) { + sort = sort + .stream() + .filter(e -> StringUtils.isNotBlank(e.getMonitorTime())) + .sorted(Comparator.comparing(e -> DateUtil.stringToDate(e.getMonitorTime(), DateUtil.HOUR_TIME_PATTERN))) + .collect(Collectors.toList()); + Collections.reverse(sort); + } + //升序 + if (airParmaVo.getAscSort() != null && 1 == airParmaVo.getAscSort()) { + sort = sort + .stream() + .filter(e -> StringUtils.isNotBlank(e.getMonitorTime())) + .sorted(Comparator.comparing(e -> DateUtil.stringToDate(e.getMonitorTime(), DateUtil.HOUR_TIME_PATTERN))) + .collect(Collectors.toList()); + } + } + //绑定首要污染物名称 + return parseFirstPollutant(sort); + } + + +*/ + + /** + * 计算均值 + * + * @param airDataList 区域小时数据 + * @return AirQualityData + */ + public static AirQualityData calcAvgData(List airDataList) { + //空气质量数据 均值计算 + BigDecimal pm25AvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getPm25() == null ? BigDecimal.ZERO : e.getPm25()).collect(Collectors.toList())); + BigDecimal pm10AvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getPm10() == null ? BigDecimal.ZERO : e.getPm10()).collect(Collectors.toList())); + BigDecimal so2AvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getSo2() == null ? BigDecimal.ZERO : e.getSo2()).collect(Collectors.toList())); + BigDecimal no2AvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getNo2() == null ? BigDecimal.ZERO : e.getNo2()).collect(Collectors.toList())); + BigDecimal coAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getCo() == null ? BigDecimal.ZERO : e.getCo()).collect(Collectors.toList())); + BigDecimal o3AvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getO3() == null ? BigDecimal.ZERO : e.getO3()).collect(Collectors.toList())); + BigDecimal aqiAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getAqi() == null ? BigDecimal.ZERO : new BigDecimal(e.getAqi())).collect(Collectors.toList())); + BigDecimal pmiAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getPmi() == null ? BigDecimal.ZERO : e.getPmi()).collect(Collectors.toList())); + + //气象数据 均值计算 + BigDecimal windsAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getWinds() == null ? BigDecimal.ZERO : e.getWinds()).collect(Collectors.toList())); + BigDecimal presAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getPres() == null ? BigDecimal.ZERO : e.getPres()).collect(Collectors.toList())); + BigDecimal humiAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getHumi() == null ? BigDecimal.ZERO : e.getHumi()).collect(Collectors.toList())); + BigDecimal tempAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getTemp() == null ? BigDecimal.ZERO : e.getTemp()).collect(Collectors.toList())); + BigDecimal winddAvgValue = decimalAvgValue(airDataList.stream().map(e -> e.getWindd() == null ? BigDecimal.ZERO : e.getWindd()).collect(Collectors.toList())); + //赋值 + AirQualityData avgAirData = airDataList.get(0) == null ? new AirQualityData() : airDataList.get(0); + avgAirData.setAqi(aqiAvgValue.intValue()); + avgAirData.setFkAqiLevelId(AirQualityConverter.airQualityLevelNumber("aqi", new BigDecimal(aqiAvgValue.intValue()), false)); + avgAirData.setFkAqiLevelName(AirQualityConverter.airQualityLevel("aqi", new BigDecimal(aqiAvgValue.intValue()), 2, false)); + avgAirData.setPmi(pmiAvgValue.setScale(2, RoundingMode.HALF_EVEN)); + avgAirData.setPm25(pm25AvgValue.setScale(0, RoundingMode.HALF_EVEN)); + avgAirData.setPm10(pm10AvgValue.setScale(0, RoundingMode.HALF_EVEN)); + avgAirData.setSo2(so2AvgValue.setScale(0, RoundingMode.HALF_EVEN)); + avgAirData.setNo2(no2AvgValue.setScale(0, RoundingMode.HALF_EVEN)); + avgAirData.setCo(coAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + avgAirData.setO3(o3AvgValue.setScale(0, RoundingMode.HALF_EVEN)); + avgAirData.setWinds(windsAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + avgAirData.setPres(presAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + avgAirData.setHumi(humiAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + avgAirData.setTemp(tempAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + avgAirData.setWindd(winddAvgValue.setScale(1, RoundingMode.HALF_EVEN)); + return avgAirData; + } + + /** + * 通过list计算均值 + * + * @return BigDecimal + */ + public static BigDecimal decimalAvgValue(List valueList) { + if (valueList != null && valueList.size() > 0) { + return valueList + .stream() + .reduce(BigDecimal.ZERO, BigDecimal::add) + .divide(BigDecimal.valueOf(valueList.size()), RoundingMode.HALF_EVEN); + } + return null; + } + + + /** + * 通过list计算总和 + * @param valueList 集合 + * @return BigDecimal + */ + public static BigDecimal decimalSumValue(List valueList) { + //可能有空值,不可使用流计算 + if (valueList != null && valueList.size() > 0) { + BigDecimal reduce = new BigDecimal(0); + for (BigDecimal bigDecimal : valueList) { + if (bigDecimal != null) { + reduce = reduce.add(bigDecimal); + } + } +// BigDecimal reduce = valueList +// .stream() +// .reduce(null, BigDecimal::add); + return reduce == null ? null : reduce.setScale(0,BigDecimal.ROUND_UP); + } + return null; + } + + /** + * 解析首要污染物 + * + * @return List + */ + public static List parseFirstPollutant(List airData) { + //获取首要污染物Map + HashMap pollutantMap = buildPollutantMap(); + if (CollectionUtils.isNotEmpty(airData)) { + for (AirQualityData airDatum : airData) { + List pollutantName = new ArrayList<>(); + if (airDatum != null) { + String fkPollutantId = airDatum.getFkPollutantId(); + if (StringUtils.isNotBlank(fkPollutantId)) { + String[] pollutantId = fkPollutantId.split(","); + for (String id : pollutantId) { + pollutantName.add(pollutantMap.get(Integer.parseInt(id))); + } + String collect = pollutantName.stream().collect(Collectors.joining(",")); + if(StringUtils.isNotBlank(collect) && collect.equals("null")){ + collect = "--"; + } + airDatum.setFkPollutantName(collect); + } + } + } + } + return airData; + } + + /** + * 首要污染物list转map 1 : PM25 ... + * + * @return HashMap + */ + public static HashMap buildPollutantMap() { + HashMap poMap = new HashMap<>(27); + List pollutants = airDataConverseUtil.sEnvgasPollutantMapper.selectList(new QueryWrapper()); + pollutants.forEach(po -> { + poMap.put(po.getPkId(), po.getPollutantName()); + }); + return poMap; + } + + + + /** + * aqi污染等级list 转 map 1:优 2:良 ... + * + * @return HashMap + */ + public static HashMap buildAqiLevelMap() { + HashMap aqiLevelMap = new HashMap<>(27); + List aqilevelList = airDataConverseUtil.sEnvgasAqilevelMapper.selectList(new QueryWrapper<>()); + aqilevelList.forEach(level -> aqiLevelMap.put(level.getPkId(), level.getAqiType())); + return aqiLevelMap; + } + + @PostConstruct + public void init() { + airDataConverseUtil = this; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirQualityLevelType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirQualityLevelType.java new file mode 100644 index 0000000..8681a85 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/AirQualityLevelType.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.util.effective; +/* +*@Author: liuwenshuang +*@date: 2019/7/18 +*/ + +public enum AirQualityLevelType { + Level1(1), Level2(2), Level3(3), Level4(4), Level5(5), Level6(6); + + private static final String[] m_asLevelText = { "一级", "二级", "三级", "四级", "五级", "六级" }; + private static final String[] m_asLevelTextEng = { "Level 1", "Level 2", "Level 3", "Level 4", "Level 5", "Level 6" }; + private static final String[] m_asTitle = { "优", "良", "轻度污染", "中度污染", "重度污染", "严重污染" }; + private static final String[] m_asTitleEng = { "Good", "Moderate", "Unhealthy for Sensitive Groups", "Unhealthy", "Very Unhealthy", "Hazardous" }; + private static final int[][] m_aiColorRGB = { { 0, 228 }, { 255, 255 }, { 255, 126 }, { 255 }, { 153, 0, 76 }, { 126, 0, 35 } }; + private static final String[] m_asColorRGB = { "00E400", "FFFF00", "FF7E00", "FF0000", "99004C", "7E0023" }; + private static final int[][] m_aiColorCMYK = { { 40, 0, 100 }, { 0, 0, 100 }, { 0, 52, 100 }, { 0, 100, 100 }, { 10, 100, 40, 30 }, { 30, 100, 100, 30 } }; + private final int m_iLevelFigure; + + private AirQualityLevelType(int value) + { + this.m_iLevelFigure = value; + } + + public int getLevelFigure() + { + return this.m_iLevelFigure; + } + + public String getLevelText() + { + return m_asLevelText[(this.m_iLevelFigure - 1)]; + } + + public String getLevelTextEng() + { + return m_asLevelTextEng[(this.m_iLevelFigure - 1)]; + } + + public String getTitle() + { + return m_asTitle[(this.m_iLevelFigure - 1)]; + } + + public String getTitleEng() + { + return m_asTitleEng[(this.m_iLevelFigure - 1)]; + } + + public int[] getColorRGB() + { + return m_aiColorRGB[(this.m_iLevelFigure - 1)]; + } + + public String getColorRGBStr() + { + return m_asColorRGB[(this.m_iLevelFigure - 1)]; + } + + public int[] getColorCMYK() + { + return m_aiColorCMYK[(this.m_iLevelFigure - 1)]; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/BasTargetUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/BasTargetUtil.java new file mode 100644 index 0000000..96df4b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/BasTargetUtil.java @@ -0,0 +1,529 @@ +package cn.cecep.talroad.util.effective; + +import java.math.BigDecimal; +import java.text.ParseException; +import java.util.*; + +import static cn.cecep.talroad.util.effective.DateUtil.*; + + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +public class BasTargetUtil { + //1 + public static final BigDecimal ONE = new BigDecimal(1); + //半年月长度 + public static final BigDecimal HALF_YEAR = new BigDecimal(6); + + //年 月份数量 + public static final BigDecimal MONTH_LENGTH = new BigDecimal(12); + //年 月份数量 + public static final int INT_MONTH_LENGTH = 12; + //95百分位 + public static final BigDecimal PERCENT_95 = new BigDecimal(0.95); + //o3年超标天数标准值 + public static final BigDecimal O38HSTAND = new BigDecimal(36); + + public static final String PM10 = "pm10"; + public static final String PM25 = "pm25"; + public static final String SO2 = "so2"; + public static final String NO2 = "no2"; + public static final String CO = "co"; + public static final String O3 = "o3"; + public static final String O38H = "o38h"; + public static final String GOODDYAS = "goodDays"; + public static final String HEAVYDAYS = "heavyDays"; + public static final String COOVERDAYS = "coOverDays"; + public static final String O38HOVERDAYS = "o38hOverDays"; + + + //年目标 + public static final int YEAR_TARGET = 3; + //月目标 + public static final int MONTH_TARGET = 2; + //日目标 + public static final int DAT_TARGET = 1; + //秋防目标 + public static final int AUTUMN_TARGET = 4; + //冬防目标 + public static final int WINTER_TARGET = 5; + //秋冬防总计目标 + public static final int SUM_TARGET = 6; + //不是闰年每月的天数 + public static final int[] NORMAL_MONTH = {31,29,31,30,31,30,31,31,30,31,30,31}; + //是闰年每月的天数 + public static final int[] LEAPYEAR_MONTH = {31,28,31,30,31,30,31,31,30,31,30,31}; + + /** + * 计算月度同比值 + * + * @param thisYear 当前年数据 + * @param lastYear 环比年数据 + * @return 返回值带两位小数 + */ + public static BigDecimal monthTongBiPercent(BigDecimal thisYear, BigDecimal lastYear) { + if (thisYear == null || lastYear == null) { + return BigDecimal.ZERO; + } + if (thisYear != null && lastYear == null) { + return BigDecimal.ZERO; + } + if (lastYear.compareTo(BigDecimal.ZERO)==0){ + return null; + } + BigDecimal result = (thisYear.subtract(lastYear)).divide(lastYear, 3, BigDecimal.ROUND_HALF_EVEN); + return result; + } + + + /** + * 最大限制等于(年度目标值乘以全年天数-当前累计值乘以过去天数)除以剩余天数 + * + * @param targetValue 目标值 + * @param actualValue 累计值 + * @param type 1 本年 2本月 3明年秋冬防3个月 1-3月 + * @param type 1 本年 2本月 3冬防3个月 1-3月 4秋防 5总防 + * @return + */ + public static BigDecimal thresholdToData(BigDecimal targetValue, BigDecimal actualValue, String type) { + if (Objects.isNull(targetValue) || Objects.isNull(actualValue)) { + return null; + } + Map timeType = getTimeType(type); + BigDecimal quantity = targetValue.multiply(new BigDecimal(timeType.get("yearDay").toString())); + BigDecimal grand = actualValue.multiply(new BigDecimal(timeType.get("formerlyDay").toString())); + //进位取整 + if (Objects.isNull(timeType.get("residueDay"))||timeType.get("residueDay").toString().equals("0")){ + return null; + } + BigDecimal result = (quantity.subtract(grand)).divide(new BigDecimal(timeType.get("residueDay").toString()), 2, BigDecimal.ROUND_HALF_EVEN).setScale(0, BigDecimal.ROUND_HALF_EVEN); + return result; + } + + + /** + * 封装时间重复调用 + * + * @param type + * @return 1 本年 2本月 3冬防3个月 1-3月 4秋防10-12 5总防 + */ + private static Map getTimeType(String type) { + Map map = new HashMap<>(); + int yearDay = 0; //全年天数 + int formerlyDay = 0; //过去天数 排除当天 + int residueDay = 0; //剩余天数 + Date nowData = new Date(); + if ("1".equals(type)) { + //本年天数 + yearDay = getDaysOfYear(nowData); + int year = getYear(nowData); + String firstDay = year + "-01-01"; + //过去了多少天 不能计算为当天时间 + formerlyDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1; + residueDay = yearDay - formerlyDay; + } else if ("2".equals(type)) { + yearDay = getDaysOfMonth(nowData); + String firstDay = getFirstDay(false); + //过去了多少天 不能计算为当天时间 + formerlyDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1; + residueDay = yearDay - formerlyDay; + } else if ("3".equals(type)) { + //三月份有31天 + int year = getYear(nowData) + 1; + String firstDay = year + "-01-01"; + String endDay = year + "-03-31"; + yearDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), stringToDate(endDay, DATE_PATTERN)); + //过去了多少天 不能计算为当天时间 + formerlyDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 > 0 ? getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 : 0; + residueDay = yearDay - formerlyDay; + } else if ("4".equals(type)) { + //秋防10-12 + int year = getYear(nowData) + 1; + String firstDay = year + "-10-01"; + String endDay = year + "-12-31"; + yearDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), stringToDate(endDay, DATE_PATTERN)); + //过去了多少天 不能计算为当天时间 + formerlyDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 > 0 ? getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 : 0; + residueDay = yearDay - formerlyDay; + } else if ("5".equals(type)) { + //总防6月 + int year = getYear(nowData) + 1; + String firstDay = year + "-10-01"; + String endDay = (year + 1) + "-03-31"; + yearDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), stringToDate(endDay, DATE_PATTERN)); + //过去了多少天 不能计算为当天时间 + formerlyDay = getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 > 0 ? getDayDifferDay(stringToDate(firstDay, DATE_PATTERN), nowData) - 1 : 0; + residueDay = yearDay - formerlyDay; + } + + map.put("yearDay", yearDay); + map.put("formerlyDay", formerlyDay); + map.put("residueDay", residueDay); + return map; + } + + + /** + * 达标监控-年目标中,CO超标天数:如果设定CO年度目标,那CO日均值超过目标值即为超标,如果没有设定目标值,CO日均值超过去年CO年均值即为超标。O3-8H超标天数:O3-8H日数据超过年度设定目标值即为超标。 + * 6CO剩余控制天数 = (总超标天)等于(全年-全年*0.95) 取整- 超标天数? O3-8H剩余控制天数=36- 超标天数? + * O3的超标天数是固定的。 CO是计算的。 + * @param exceedDay 累计超标天数 + * @param divisor 因子 + * @param type 1 本年 + * @return + */ + public static BigDecimal thresholdToExceed(BigDecimal exceedDay, String divisor, String type) { + BigDecimal result=BigDecimal.ZERO; + if (Objects.isNull(exceedDay)){ + switch (divisor) { + case CO: + BigDecimal decimal = new BigDecimal(getDaysOfYear(new Date())); + BigDecimal decimalCo = decimal.multiply(new BigDecimal(0.95)).setScale(0, BigDecimal.ROUND_HALF_EVEN); + result = decimal.subtract(decimalCo); + break; + case O3: + result = new BigDecimal(36); + break; + case O38H: + result = new BigDecimal(36); + break; + } + }else { + switch (divisor) { + case CO: + BigDecimal decimal = new BigDecimal(getDaysOfYear(new Date())); + BigDecimal exceed = decimal.subtract(decimal.multiply(new BigDecimal(0.95)).setScale(0, BigDecimal.ROUND_HALF_EVEN)); + result =exceed.subtract(exceedDay); + break; + case O3: + result = new BigDecimal(36).subtract(exceedDay); + break; + case O38H: + result = new BigDecimal(36).subtract(exceedDay); + break; + } + } + return result; + } + + + + + /** + * 捕获异常 + * + * @param startDate + * @param endDate + * @return + */ + private static int getDayDifferDay(Date startDate, Date endDate) { + try { + int dayDiffer = getDayDiffer(startDate, endDate); + return dayDiffer; + } catch (ParseException e) { + e.printStackTrace(); + } + return 0; + } + +// public static BigDecimal getPercentile(BigDecimal[] A, BigDecimal p) { +// if (A == null) +// return null; +// BigDecimal res = BigDecimal.ZERO; +// Arrays.sort(A); // 从小到大排序 +// double x = (A.length - 1) * p; +// int i = (int) x; // 取出整数部分 +// double j = x - i; // 还没找到最精确的取double数的小数部分的方法,有可能会有误差 +// res = (1 - j) * A[i] + j * A[i + 1]; +// return res; +// } + + //百分位数 + private static double getPercentile(int[] array, double percentile) { + Arrays.sort(array); + double x = (array.length - 1) * percentile; + int i = (int) x; + double j = x - i; + return (1 - j) * array[i] + j * array[i + 1]; + } + //百分位数 + public static double percentile(double[] data,double p){ + int n = data.length; + Arrays.sort(data); + double px = p*(n-1); + int i = (int) Math.floor(px); + double g = px - i; + if(g==0){ + return data[i]; + }else{ + return (1-g)*data[i]+g*data[i+1]; + } + } + /*** + * 百分位数 + * @param data + * @param p + * @return + */ + public static BigDecimal percentile(BigDecimal[] data, BigDecimal p){ + if (data.length == 0||data==null){ + return null; + } + double[] doubles = new double[data.length]; + for (int i = 0; i < data.length; i++) { + doubles[i]=data[i].doubleValue(); + } + double percentile = percentile(doubles, p.doubleValue()); + return new BigDecimal(percentile); + } + + /** + * 去年同期:全年剩余天数的监测值总和除以剩余天数 + * + * @param remainingSum 全年剩余天数的监测值总和 + * @param type 1 本年 2本月 3冬防3个月 1-3月 4秋防 5总防 + * @return + */ + public static BigDecimal periodLastYear(BigDecimal remainingSum, String type) { + if (Objects.isNull(remainingSum)) { + return null; + } + Map timeType = getTimeType(type); + //进位取整 + if (Objects.isNull(timeType.get("residueDay"))||timeType.get("residueDay").toString().equals("0")){ + return null; + } + BigDecimal result = remainingSum.divide(new BigDecimal(timeType.get("residueDay").toString()), 4, BigDecimal.ROUND_HALF_EVEN).setScale(0, BigDecimal.ROUND_HALF_EVEN); + return result; + } + +// /** +// * 不用 同比变化率:(去年同期-最大限制)/去年同期 *100 +// * @param threshold 最大限制 +// * @param lastYear 去年同期 +// * @return +// */ +// public static BigDecimal comparedChange(BigDecimal threshold, BigDecimal lastYear) { +// if (Objects.isNull(lastYear) || Objects.isNull(threshold)) { +// return null; +// } +// if (lastYear.compareTo(BigDecimal.ZERO)==0){ +// return BigDecimal.ZERO; +// } +// BigDecimal result = (lastYear.subtract(threshold)).divide(lastYear, 6, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); +// return result; +// } + + /** + * 同比变化率:(今年同期-去年同期)/去年同期 *100 + * @param threshold 今年同期 + * @param lastYear 去年同期 + * @return + */ + public static BigDecimal comparedChange(BigDecimal threshold, BigDecimal lastYear) { + if (Objects.isNull(lastYear) || Objects.isNull(threshold)) { + return null; + } + if (lastYear.compareTo(BigDecimal.ZERO)==0){ + return BigDecimal.ZERO; + } + BigDecimal result = (threshold.subtract(lastYear)).divide(lastYear, 6, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + return result; + } + + + /** + * 同比改善率:今年-去年/去年 在乘以 -1*100 求百分比 + * @param threshold 今年 + * @param lastYear 去年 + * @return + */ + public static BigDecimal comparedImprovement (BigDecimal threshold, BigDecimal lastYear) { + if (Objects.isNull(lastYear) || Objects.isNull(threshold)) { + return null; + } + if (lastYear.compareTo(BigDecimal.ZERO)==0){ + return null; + } + return (threshold.subtract(lastYear)).divide(lastYear, 6, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(-100)); + } + + /** + * 10到12月为月度目标中的10、11、12加和求平均。 + * + * @param target 今年 10到12月总和 + * @return + */ + public static BigDecimal comparedTarget(BigDecimal target) { + if (Objects.isNull(target)) { + return null; + } + //进位取整 + BigDecimal result = target.divide(new BigDecimal(3), 2, BigDecimal.ROUND_HALF_EVEN).setScale(0, BigDecimal.ROUND_HALF_EVEN); + return result; + } + + + /** + * 次年1月到3月为,秋冬防总目标乘以六减去10、11、12月份的月度目标总和除以三 + * + * @param targetGoal 总目标 + * @param targetMonthly 10、11、12月份的月度目标总和 + * @return + */ + public static BigDecimal comparedMonthly(BigDecimal targetGoal, BigDecimal targetMonthly) { + if (Objects.isNull(targetGoal) || Objects.isNull(targetMonthly)) { + return null; + } + BigDecimal multiply = targetGoal.multiply(new BigDecimal(6)); + BigDecimal subtract = multiply.subtract(targetMonthly); + BigDecimal result = subtract.divide(new BigDecimal(3), 2, BigDecimal.ROUND_HALF_EVEN).setScale(0, BigDecimal.ROUND_HALF_EVEN); + return result; + } + + /** + * 原 根据不同因子,PM2.5、SO2、NO2同比变化率小于5%为“有望达标”,5%-10%“有压力”,10%以上为“不可达标” + * PM10同比变化率小于10%为“有望达标”,10%-20%“有压力”,20%以上为“不可达标” + * + * 现 根据不同因子,PM2.5、SO2、NO2同比变化率大于-5%为“有望达标”,-5%到-10%“有压力”,-10%以下为“不可达标” + * PM10同比变化率大于-10%为“有望达标”,-10%到-20%“有压力”,-20%以下为“不可达标” + * @param divisor 因子 + * @param gradient 同比变化率 + * @return + */ + public static String comparedGradient(String divisor, BigDecimal gradient) { + BigDecimal[][] rangeIndex = { + {new BigDecimal(-10), new BigDecimal(-20)}, //PM10 + {new BigDecimal(-5), new BigDecimal(-10)}, //PM25 + {new BigDecimal(-5), new BigDecimal(-10)}, //O3 + {new BigDecimal(-5), new BigDecimal(-10)}, //SO2 + {new BigDecimal(-5), new BigDecimal(-10)}, //NO2 + {new BigDecimal(-5), new BigDecimal(-10)}, //CO + }; +// 1有望达标 2有压力 3不可达标 + String[] names = {"3", "2", "1"}; + + if (Objects.isNull(divisor) || Objects.isNull(gradient)) { + return null; + } + String result = ""; + switch (divisor) { + case PM10: + result = obtainFactor(gradient, rangeIndex[0], names); + break; + case PM25: + result = obtainFactor(gradient, rangeIndex[1], names); + break; + case O3: + result = obtainFactor(gradient, rangeIndex[2], names); + break; + case SO2: + result = obtainFactor(gradient, rangeIndex[3], names); + break; + case NO2: + result = obtainFactor(gradient, rangeIndex[4], names); + break; + case CO: + result = obtainFactor(gradient, rangeIndex[5], names); + break; + } + return result; + } + + + /** + * 根据不同因子,返回不同名称 + * + * @param gradient + * @param data + * @param names + * @return + */ + private static String obtainFactor(BigDecimal gradient, BigDecimal[] data, String[] names) { + String result = ""; + if (gradient.compareTo(data[0]) == -1) { + result = names[0]; + } else if (gradient.compareTo(data[1]) < 1) { + result = names[1]; + } else { + result = names[2]; + } + return result; + } + + + /** + * 达标差距: 目标值-累计值 + * + * @param thisData 累计值 + * @param targetValue 目标值 + * @return + */ + public static BigDecimal getStandardData(BigDecimal thisData, BigDecimal targetValue) { + if (Objects.isNull(thisData) || Objects.isNull(targetValue)) { + return null; + } else if (Objects.isNull(thisData) && Objects.nonNull(targetValue)) { + return targetValue; + } else if (Objects.nonNull(thisData) && Objects.isNull(targetValue)) { + return thisData.multiply(new BigDecimal(-1)); + } else if (Objects.nonNull(thisData) && Objects.nonNull(targetValue)) { + BigDecimal subtract = targetValue.subtract(thisData); + return subtract; + } + return null; + } + + + public static void main(String[] args) { +// BigDecimal decimal = thresholdToData(new BigDecimal(2), new BigDecimal(1), "3"); +// System.out.println(decimal); + +// String s = comparedGradient(CO, new BigDecimal(11)); +// System.out.println(s); + + Map timeType = getTimeType("5"); + System.out.println(timeType); + } + + /** + * 根据年份判断每月的天数 + * + * @param year 年份 + * @return + */ + public static int[] yearMonthDays(int year) { + //与或 + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) + { + return NORMAL_MONTH; + } else { + return LEAPYEAR_MONTH; + } + } + + /** + * o38h 处理日数据 + * @param cumulativeDataList + * @return + */ + /* public static BigDecimal calcO38HData(List cumulativeDataList) { + if (CollectionUtils.isEmpty(cumulativeDataList)||cumulativeDataList.size()<8){ + return null; + } + cumulativeDataList.stream().sorted(Comparator.comparing(QEnvgasAreaHour::getData_time).reversed()).collect(Collectors.toList()); + List list = new ArrayList<>(); + int data=cumulativeDataList.size()-8; + for (int i = 0; i <= data; i++) { + List airQualityData = cumulativeDataList.subList(i, 8+i); + List collect = airQualityData.stream().filter(e -> Objects.nonNull(e) && Objects.nonNull(e.getO3())).map(QEnvgasAreaHour::getO3).collect(Collectors.toList()); + BigDecimal dataValue = AirDataConverseUtil.decimalAvgValue(collect); + list.add(dataValue); + } + BigDecimal decimal = AirDataConverseUtil.decimalAvgValue(list.stream().filter(e->e!=null).collect(Collectors.toList())); + return decimal; + } +*/ + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/DateUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/DateUtil.java new file mode 100644 index 0000000..292d934 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/DateUtil.java @@ -0,0 +1,920 @@ +package cn.cecep.talroad.util.effective; + + + +import org.apache.commons.lang3.StringUtils; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +public class DateUtil { + public static final String DATE_PATTERN_GETDAY = "dd"; + public static final String DATE_PATTERN_MONTH = "yyyy-MM"; + public static final String DATE_PATTERN_WEEK = "yyyy-ww"; + public static final String DATE_PATTERN_MONTH01 = "yyyyMM01"; + public static final String DATE_PATTERN = "yyyy-MM-dd"; + public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + public static final String HOUR_FEN = "HH:mm"; + public static final String HOUR_TIME_PATTERN = "yyyy-MM-dd HH:00:00"; + public static final String HOUR_PATTERN = "yyyy-MM-dd HH"; + public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + public static final String MMDD = "MM-dd"; + public static final String YYYY = "yyyy"; + + public DateUtil() { + } + + public static int weekDays(String startTime,String endTime) throws ParseException { + Date parse = parse(startTime); + Date parse1 = parse(endTime); + Calendar instance = Calendar.getInstance(); + instance.setTime(parse); + int i = instance.get(Calendar.WEEK_OF_YEAR); + instance.setTime(parse1); + int j = instance.get(Calendar.WEEK_OF_YEAR); + return (j-i)*7+7; + } + public static List weekList(String startTime,String endTime) throws ParseException { + Date parse = parse(startTime); + Date parse1 = parse(endTime); + Calendar instance = Calendar.getInstance(); + instance.setTime(parse); + int i = instance.get(Calendar.WEEK_OF_YEAR); + instance.setTime(parse1); + int j = instance.get(Calendar.WEEK_OF_YEAR); + List result = new ArrayList<>(); + for (int k = i; k <= j ; k++) { + result.add("第"+(k-1)+"周"); + } + return result; + } + + public static int DaysInYear(int year){ + if((year%4==0 && year%100!=0) || year%400==0 ){ + return 366; + }else{ + return 365; + } + } + + public static String format(Date date) { + return format(date, "yyyy-MM-dd"); + } + public static Integer getDays(String yearTime,String startTime,String endTime) throws ParseException { +// return format(date, "yyyy-MM-dd"); + String format1 = yearTime +"-"+format(parse(startTime), MMDD); + String format2 = yearTime +"-"+format(parse(endTime), MMDD); + List dayList = getDayList(format1, format2); + return dayList.size(); + } + public static Date parse(String date) throws ParseException { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date parse = format.parse(date); + return parse; + } + + public static String format(Date date, String pattern) { + if (date != null) { + SimpleDateFormat df = new SimpleDateFormat(pattern); + return df.format(date); + } else { + return null; + } + } + + //获取日期所在月最后一天 + public static String getLastOfMonthByDate(Date date){ + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + String last = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + return last; + } + public static int getHour(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.get(11); + } + + public static Date getLastDate(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int lastDay = calendar.getActualMaximum(5); + calendar.set(5, lastDay); + return calendar.getTime(); + } + + + + public static String getWeek(Date date) { + String[] weeks = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int week_index = cal.get(7) - 1; + if (week_index < 0) { + week_index = 0; + } + + return weeks[week_index]; + } + + + + public static Integer achieveMonth(String start, String end) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Calendar bef = Calendar.getInstance(); + Calendar aft = Calendar.getInstance(); + + try { + bef.setTime(sdf.parse(start)); + aft.setTime(sdf.parse(end)); + } catch (ParseException var7) { + var7.printStackTrace(); + } + + int result = aft.get(2) - bef.get(2); + int month = (aft.get(1) - bef.get(1)) * 12; + return Math.abs(month + result) + 1; + } + + public static Date lastDayOfMonth(Date date) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int year = calendar.get(1); + int month = calendar.get(2) + 1; + int lastDay = calendar.getActualMaximum(5); + + try { + return format.parse(year + "-" + month + "-" + lastDay + " 23:59:59"); + } catch (ParseException var7) { + var7.printStackTrace(); + return null; + } + } + + public static Date getStartTime(long date) { + Date begin = new Date(date); + Calendar cal = Calendar.getInstance(); + cal.setTime(begin); + cal.set(5, 1); + cal.set(11, 0); + cal.set(13, 0); + cal.set(12, 0); + return cal.getTime(); + } + + public static Date getEndTime(long date) { + Date begin = new Date(date); + Calendar cal = Calendar.getInstance(); + cal.setTime(begin); + int days = cal.getActualMaximum(5); + cal.set(5, days); + cal.set(11, 24); + cal.set(13, 0); + cal.set(12, 0); + return cal.getTime(); + } + + + //日期相减得天数,得出结果需要+1 + public static long getDaySub(String beginDateStr,String endDateStr){ + long day = 0; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date beginDate; + Date endDate; + try{ + beginDate = format.parse(beginDateStr); + endDate= format.parse(endDateStr); + day = (endDate.getTime() - beginDate.getTime()) / (24*60*60*1000); + } catch (ParseException e){ + e.printStackTrace(); + } + return day; + } + + /** + * 字符串转换成日期 + * @param strDate 日期字符串 + * @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN + */ + public static Date stringToDate(String strDate, String pattern) { + if (StringUtils.isBlank(strDate)){ + return null; + } + Date date =null; + try { + DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern); + date=fmt.parseLocalDateTime(strDate).toDate(); + }catch (Exception e) { +// e.printStackTrace(); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); + try { + date=simpleDateFormat.parse(strDate); + } catch (Exception exception) { + exception.printStackTrace(); + } + } + return date; + } + + + public static int getYear(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(1); + } + + + + public static int getYearDays(int year) { + return (year % 4 != 0 || year % 100 == 0) && year % 400 != 0 ? 365 : 366; + } + + private static Calendar getCalendarFormYear(int year) { + Calendar cal = Calendar.getInstance(); + cal.set(7, 2); + cal.set(1, year); + return cal; + } + + public static String getStartDayOfWeekNo(int year, int weekNo) { + Calendar cal = getCalendarFormYear(year); + cal.set(3, weekNo); + return cal.get(1) + "-" + (cal.get(2) + 1) + "-" + cal.get(5); + } + + public static String getEndDayOfWeekNo(int year, int weekNo) { + Calendar cal = getCalendarFormYear(year); + cal.set(3, weekNo); + cal.add(7, 6); + return cal.get(1) + "-" + (cal.get(2) + 1) + "-" + cal.get(5); + } + + public static String getFromToDate(SimpleDateFormat sdf, Date date, int n, int option, int k) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int dayOfWeek = calendar.get(7) - 1; + int offset = 0 == option ? 1 - dayOfWeek : 7 - dayOfWeek; + int amount = 0 == option ? offset - (n - 1 + k) * 7 : offset - k * 7; + calendar.add(5, amount); + return sdf.format(calendar.getTime()); + } + + public static String getNWeekTimeInterval(int n, SimpleDateFormat sdf) { + String beginDate = getFromToDate(sdf, new Date(), n, 0, 0); + String endDate = getFromToDate(sdf, new Date(), n, 1, 0); + return beginDate + "," + endDate; + } + + public static String getNWeekTimeIntervalTwo(int n, SimpleDateFormat sdf) { + String beginDate = getFromToDate(sdf, new Date(), n, 0, 1); + String endDate = getFromToDate(sdf, new Date(), n, 1, 1); + return beginDate + "," + endDate; + } + + public static String getThisWeekTimeInterval(SimpleDateFormat sdf) { + return getNWeekTimeInterval(1, sdf); + } + + public static String getLastWeekTimeInterval(SimpleDateFormat sdf) { + return getNWeekTimeIntervalTwo(1, sdf); + } + + + /** + * 获取时间段天数 + * @param startDate + * @param endDate + * @return + * @throws ParseException + */ + public static int getDayDiffer(Date startDate, Date endDate) throws ParseException { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + long startDateTime = dateFormat.parse(dateFormat.format(startDate)).getTime(); + long endDateTime = dateFormat.parse(dateFormat.format(endDate)).getTime(); + return (int) ((endDateTime - startDateTime) / (1000 * 3600 * 24)+1); + } + + /** + * 获取月 2022-01 + * @param startTime + * @param endTime + * @return + */ + public static List getAllMonths(Date startTime, Date endTime) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(5, 1); + lDate.add(sd.format(calBegin.getTime())); + } + lDate = lDate.stream().distinct().collect(Collectors.toList()); + return lDate; + } + + + + public static List getAllDays(Date startTime, Date endTime) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(5, 1); + lDate.add(sd.format(calBegin.getTime())); + } + + return lDate; + } + public static List getAllDays(String startTimes, String endTimes) throws ParseException { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + + Date startTime = sd.parse(startTimes); + Date endTime = sd.parse(endTimes); + lDate.add(sd.format(startTime).substring(5)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(5, 1); + lDate.add(sd.format(calBegin.getTime()).substring(5)); + } + + return lDate; + } + + + public static List getAllHours(Date startTime, Date endTime, String format) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(format); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(11, 1); + lDate.add(sd.format(calBegin.getTime())); + } + + return lDate; + } + + public static List getAllMinute(Date startTime, Date endTime, String format) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(format); + + Calendar tt = Calendar.getInstance(); + tt.setTime(startTime); + Calendar t2 = Calendar.getInstance(); + t2.setTime(endTime); + for (; tt.compareTo(t2) < 0; tt.add(Calendar.MINUTE, 1)) { + if (tt.getTime().getMinutes() % 10 == 0) { + lDate.add(sd.format(tt.getTime())); + } + } + lDate.add(sd.format(t2.getTime())); + return lDate; + } + + + public static String getToday() { + return (new SimpleDateFormat("yyyy-MM-dd")).format(new Date()); + } + + public static String getYestoday() { + Calendar cal = Calendar.getInstance(); + cal.add(5, -1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getYestodayDate() { + Calendar cal = Calendar.getInstance(); + cal.add(5, -1); + return cal.getTime(); + } + + public static String getMonthStart() { + Calendar cal = Calendar.getInstance(); + cal.add(2, 0); + cal.set(5, 1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getMonthStartDate() { + Calendar cal = Calendar.getInstance(); + cal.add(2, 0); + cal.set(5, 1); + return cal.getTime(); + } + + public static String getMonthEnd() { + Calendar cal = Calendar.getInstance(); + cal.set(5, cal.getActualMaximum(5)); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static String getWeekStart() { + Calendar cal = Calendar.getInstance(); + cal.add(4, 0); + cal.set(7, 2); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getWeekStartDate() { + Calendar cal = Calendar.getInstance(); + cal.add(4, 0); + cal.set(7, 2); + return cal.getTime(); + } + + public static String getWeekEnd() { + Calendar cal = Calendar.getInstance(); + cal.set(7, cal.getActualMaximum(7)); + cal.add(7, 1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static String getYearStart() { + return (new SimpleDateFormat("yyyy")).format(new Date()) + "-01-01"; + } + + public static Date getYearStartDate() { + Date now = new Date(); + Calendar c = Calendar.getInstance(); + c.setTime(now); + c.set(6, 1); + return c.getTime(); + } + + public static String getYearEnd() { + Calendar calendar = Calendar.getInstance(); + calendar.set(2, calendar.getActualMaximum(2)); + calendar.set(5, calendar.getActualMaximum(5)); + Date currYearLast = calendar.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(currYearLast); + } + + public static Date getYearEndDate(){ + Calendar calendar = Calendar.getInstance(); + calendar.set(2, calendar.getActualMaximum(2)); + calendar.set(5, calendar.getActualMaximum(5)); + return calendar.getTime(); + } + + public static Date getOneYearStartDate(Date date){ + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.set(6, 1); + return c.getTime(); + } + + public static Date getOneYearEndDate(Date date){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(2, calendar.getActualMaximum(2)); + calendar.set(5, calendar.getActualMaximum(5)); + return calendar.getTime(); + } + + //获取本月天数 + public static int getDaysOfMonth(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + } + + //获取当前年总天数 + public static int getDaysOfYear(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.getActualMaximum(Calendar.DAY_OF_YEAR); + } + + // 获取当前天的前(后)一天 + public static String getIntervalDay(Date date,int interval,String pattern ){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE,interval); + return DateUtil.format(calendar.getTime(),pattern); + } + // 获取当前天的前(后)一个月 + public static String getIntervalMonth(Date date,int interval,String pattern ){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.MONTH,interval); + return DateUtil.format(calendar.getTime(),pattern); + } + // 获取当前天的前(后)一年 + public static String getIntervalYear(Date date,int interval,String pattern ){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR,interval); + return DateUtil.format(calendar.getTime(),pattern); + } + // 获取当前天的前(后)一周 + public static String getIntervalWeek(Date date,int interval,String pattern ){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - (interval * 7 )); + return DateUtil.format(calendar.getTime(),pattern); + } + + // 判断日期格式是否正确,判断格式为 yyyy-MM-dd + public static boolean isValidDate(String str) { + boolean convertSuccess = true; + //指定日期格式为四位年/两位月份/两位日期,注意yyyy-MM-dd区分大小写; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + try { + //设置lenient为false.否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 + format.setLenient(false); + format.parse(str); + } catch (ParseException e) { + // e.printStackTrace(); + // 如果throw java.text.ParseException或者NullPointerException,就说明格式不对 + convertSuccess = false; + } + return convertSuccess; + } + + + public static List getDayList(String startDate,String endDate) throws ParseException { + List listDate = new ArrayList(); +// if(StringUtils.isNotEmpty(year)){ +// Calendar startCalendar = getYearFirst(Integer.parseInt(year)); +// Calendar endCalendar = getYearLast(Integer.parseInt(year)); + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + long startCalendar = df.parse(startDate).getTime(); + Date endCalendar = df.parse(endDate); + while(true){ + if(startCalendar <= endCalendar.getTime()){ + listDate.add(DateUtil.format(new Date(startCalendar))); + }else{ + break; + } + startCalendar += 1000*60*60*24; + } +// } + + return listDate; + } + + /** + * 获取两个日期之间的字符串集合 yyyy-mm + * @param startDate yyyy-mm + * @param endDate yyyy-mm + * @return + * @throws ParseException + */ + public static List getMonthList(String startDate,String endDate) throws ParseException { + ArrayList result = new ArrayList(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + + min.setTime(sdf.parse(startDate)); + min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); + + max.setTime(sdf.parse(endDate)); + max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); + + Calendar curr = min; + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.MONTH, 1); + } + + return result; + } + public static List getMonthLists(String startDate,String endDate) throws ParseException { + ArrayList result = new ArrayList(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");//格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + + min.setTime(sdf.parse(startDate)); + min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); + + max.setTime(sdf.parse(endDate)); + max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); + max.add(Calendar.MONTH,1); + Calendar curr = min; + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.DAY_OF_MONTH, 1); + } + + return result; + } + public static List getMonthListss(String startDate,String endDate) throws ParseException { + ArrayList result = new ArrayList(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + + min.setTime(sdf.parse(startDate)); + min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); + + max.setTime(sdf.parse(endDate)); + max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); + max.add(Calendar.MONTH,1); + Calendar curr = min; + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.DAY_OF_MONTH, 1); + } + + return result; + } + + public static Integer getMonthDays(String startDate,String endDate) throws ParseException { + List monthLists = getMonthListss(startDate, endDate); + return monthLists.size()-1; + + + } + + /** + * 获取年份集合 + * @param startDate yyyy + * @param endDate yyyy + * @return list + * @throws ParseException + */ + public static List getYearList(String startDate,String endDate) throws ParseException { + ArrayList result = new ArrayList(); + Integer start = Integer.parseInt(startDate); + int end = Integer.parseInt(endDate); + for (int i = start; i <= end ; i++) { + result.add(i+""); + } + return result; + } + + public static void main(String[] args) throws Exception { +// BigDecimal bigDecimal = new BigDecimal("3.1"); +// System.out.println(); +// List allHours = getAllDays("2022-07-10", "2022-07-13"); +// String a = "2022-07-18"; +// String format = format(DateUtil.stringToDate(a, DATE_PATTERN), DATE_PATTERN_WEEK); +// System.out.println(format); +// int year = getYear(new Date()); +// System.out.println(year); + + Date s = DateUtil.stringToDate("2023-03-17 10:00:00", DateUtil.DATE_TIME_PATTERN); + Date e = DateUtil.stringToDate("2023-03-17 16:00:00", DateUtil.DATE_TIME_PATTERN); + System.out.println(e.getTime() - s.getTime()); + } + /** + * 获取时间 (常用) + * @author heyunlong + * @param Time + * @return + */ + public static Date getTime(String Time){ + try { + if(Time.contains(".")){ + String dayStr = Time.substring(0, Time.lastIndexOf(".")); + String numStr = "0" + Time.substring(Time.lastIndexOf("."), Time.length()); + int days = Integer.parseInt(dayStr); + double ditNumber = Double.parseDouble(numStr); + //获取带点的时间封装 + Calendar c = Calendar.getInstance(); + c.set(1900, 0, 1); + c.add(Calendar.DATE, days - 2); + Date date =c.getTime(); + //时间设置值 + Calendar cc = Calendar.getInstance(); + int mills = (int) (Math.round(ditNumber * 24 * 3600)); + int hour = mills / 3600; + int minute = (mills - hour * 3600) / 60; + int second = mills - hour * 3600 - minute * 60; + cc.setTime(date); + cc.set(Calendar.HOUR_OF_DAY, hour); + cc.set(Calendar.MINUTE, minute); + cc.set(Calendar.SECOND, second); + Date dateTime = cc.getTime(); + return dateTime; + }else { + if (Time.length()>13){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date time = format.parse(Time); + return time; + }else if (Time.length()==13){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH"); + Date time = format.parse(Time); + return time; + }else { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date time = format.parse(Time); + return time; + } + } + }catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + public static int getTwoDays(String yearTime,String startTime) { + Integer year = Integer.parseInt(yearTime); + if("1".equals(startTime)){ + return 184; + } + if((year%4==0 && year%100!=0) || year%400==0 ){ + return 182; + }else{ + return 181; + } + } + + /** + * 取得季度月 + * + * @param date + * @return + */ + public static Date[] getSeasonDate(int nSeason) { + Date[] season = new Date[3]; + + Calendar c = Calendar.getInstance(); +// c.setTime(date); + + if (nSeason == 1) {// 第一季度 + c.set(Calendar.MONTH, Calendar.JANUARY); + season[0] = c.getTime(); + c.set(Calendar.MONTH, Calendar.FEBRUARY); + season[1] = c.getTime(); + c.set(Calendar.MONTH, Calendar.MARCH); + season[2] = c.getTime(); + } else if (nSeason == 2) {// 第二季度 + c.set(Calendar.MONTH, Calendar.APRIL); + season[0] = c.getTime(); + c.set(Calendar.MONTH, Calendar.MAY); + season[1] = c.getTime(); + c.set(Calendar.MONTH, Calendar.JUNE); + season[2] = c.getTime(); + } else if (nSeason == 3) {// 第三季度 + c.set(Calendar.MONTH, Calendar.JULY); + season[0] = c.getTime(); + c.set(Calendar.MONTH, Calendar.AUGUST); + season[1] = c.getTime(); + c.set(Calendar.MONTH, Calendar.SEPTEMBER); + season[2] = c.getTime(); + } else if (nSeason == 4) {// 第四季度 + c.set(Calendar.MONTH, Calendar.OCTOBER); + season[0] = c.getTime(); + c.set(Calendar.MONTH, Calendar.NOVEMBER); + season[1] = c.getTime(); + c.set(Calendar.MONTH, Calendar.DECEMBER); + season[2] = c.getTime(); + } + return season; + } + /** + * 取得月天数 + * + * @param date + * @return + */ + public static int getDayOfMonth(Date date) { + Calendar c = Calendar.getInstance(); + c.setTime(date); + return c.getActualMaximum(Calendar.DAY_OF_MONTH); + } + + /** + * 取得季度天数 + * + * @param date + * @return + */ + public static int getDayOfSeason(Integer date) { + int day = 0; + Date[] seasonDates = getSeasonDate(date); + for (Date date2 : seasonDates) { + day += getDayOfMonth(date2); + } + return day; + } + + + /** + * 获取时间范围内的所有的小时(yyyy-MM-dd\nHH:00) + * @param startTime + * @param endTime + * @return + */ + public static List getAllHours(String startTimeStr,String endTimeStr, String format) throws ParseException { + + + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(format); + Date startTime = sd.parse(startTimeStr); + Date endTime = sd.parse(endTimeStr); + + + lDate.add(sd.format(startTime).substring(10)); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(startTime); + + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(endTime); + // 测试此日期是否在指定日期之后 + while (endTime.after(calBegin.getTime())) + { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.HOUR_OF_DAY, 1); + lDate.add(sd.format(calBegin.getTime()).substring(10)); + } + return lDate; + } + + + /** + * 当月第一天 + * @param timeFlag 是否带时分秒, true是 + * @return + */ + public static String getFirstDay(boolean timeFlag) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + Date theDate = calendar.getTime(); + + GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance(); + gcLast.setTime(theDate); + gcLast.set(Calendar.DAY_OF_MONTH, 1); + String day_first = df.format(gcLast.getTime()); + StringBuffer str = new StringBuffer().append(day_first); + if(timeFlag){ + str.append(" 00:00:00"); + } + return str.toString(); + } + + /** + * 当月第一天 + * @return + */ + public static String getFirstDay(Date theDate) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + + GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance(); + gcLast.setTime(theDate); + gcLast.set(Calendar.DAY_OF_MONTH, 1); + String day_first = df.format(gcLast.getTime()); + StringBuffer str = new StringBuffer().append(day_first); + return str.toString(); + } + + public static int getCurrentMonth(){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + return calendar.get(Calendar.MONTH) + 1; + } + + /** + * 对日期的【小时】进行加/减 + * + * @param date 日期 + * @param hours 小时数,负数为减 + * @return 加/减几小时后的日期 + */ + public static Date addDateHours(Date date, int hours) { + DateTime dateTime = new DateTime(date); + return dateTime.plusHours(hours).toDate(); + } +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/FieldCache.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/FieldCache.java new file mode 100644 index 0000000..c862f3c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/FieldCache.java @@ -0,0 +1,125 @@ +package cn.cecep.talroad.util.effective; + +import org.springframework.stereotype.Component; + +import java.lang.reflect.Field; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +/** + * @author lilei + * @create 2020-07-20 14:55 + */ +@Component +public class FieldCache { + private static final ReadWriteLock lock = new ReentrantReadWriteLock(); + private static final Lock readLock = lock.readLock(); + private static final Lock writeLock = lock.writeLock(); + private static ConcurrentHashMap> map = new ConcurrentHashMap<>(); + + /** + * map的put方法 + * + * @param obj + * @param fieldMap + */ + private void put(Class obj, ConcurrentHashMap fieldMap) { + try { + map.put(obj, fieldMap); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 根据class对象获取map中的对应的值 + * + * @param obj + * @return + */ + private ConcurrentHashMap getMap(Class obj) { + try { + readLock.lock(); + return map.get(obj) == null ? new ConcurrentHashMap<>() : map.get(obj); + } catch (Exception e) { + e.printStackTrace(); + return new ConcurrentHashMap<>(); + } finally { + readLock.unlock(); + } + } + + /** + * 获取缓存中对象的字段,第一次获取就添加到缓存 + * + * @param obj + * @param fieldStr + * @return + */ + public Field getField(Object obj, String fieldStr) { + if (fieldStr == null || obj == null) { + return null; + } + Field field = null; + try { + Class clazz = obj.getClass(); + ConcurrentHashMap valMap = getMap(clazz); + //获取obj对应的map缓存 + field = valMap.get(fieldStr); + //如果缓存中没有这个field就创建一个加入缓存 + writeLock.lock(); + if (field == null) { + Field field2 = clazz.getDeclaredField(fieldStr); + field2.setAccessible(true); + valMap.put(fieldStr, field2); + //添加到缓存 + put(clazz, valMap); + return field2; + } + return field; + } catch (Exception e) { + e.printStackTrace(); + return null; + } finally { + writeLock.unlock(); + } + } + + /** + * 通过字段名获取对象的值 + * + * @param obj + * @param fieldStr + * @return + */ + public Object get(Object obj, String fieldStr) { + try { + Field field = getField(obj, fieldStr); + return field == null ? null : field.get(obj); + } catch (Exception ex) { + ex.printStackTrace(); + return null; + } + } + + /** + * set方法调用 + * + * @param obj 设置值对象 hourData + * @param fieldStr 设置值字段 w01001 + * @param value 要设置的值 16.32 + */ + public void set(Object obj, String fieldStr, Object value) { + try { + Field filed = getField(obj, fieldStr); + if (filed != null) { + filed.set(obj, value); + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/JavaBeanUtils.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/JavaBeanUtils.java new file mode 100644 index 0000000..d6b8d88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/JavaBeanUtils.java @@ -0,0 +1,162 @@ +package cn.cecep.talroad.util.effective; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import org.springframework.cglib.beans.BeanMap; + +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @author :Cheney + * @date :Created in 2022/4/8 14:42 + * @description:TODO + * @modified By: + * @version: 0.0.1$ + */ + +@Slf4j +public class JavaBeanUtils { + /** + * 将对象转化为map + * @param bean + * @param + * @return + */ + public static Map beanToMap(T bean) { + Map map = Maps.newHashMap(); + if (bean != null) { + BeanMap beanMap = BeanMap.create(bean); + for (Object key : beanMap.keySet()) { + map.put(key.toString(), beanMap.get(key)); + } + } + return map; + } + + /** + * 将list转化为List> + * + * @param objList + * @param + * @return + */ + public static List> objectsToMaps(List objList) { + List> list = Lists.newArrayList(); + if (objList != null && objList.size() > 0) { + Map map = null; + T bean = null; + for (int i = 0, size = objList.size(); i < size; i++) { + bean = objList.get(i); + map = beanToMap(bean); + list.add(map); + } + } + return list; + } + + /** + * 通过lambda表达式将list转化为List> + * + * @param objList + * @param + * @return + */ + public static List> objectsToMaps1(List objList) { + return objList.stream().map(new Function>() { + @Override + public Map apply(T t) { + Map map = new HashMap<>(); + BeanMap beanMap = BeanMap.create(t); + for (Object key : beanMap.keySet()) { + map.put(key.toString(), beanMap.get(key)); + } + return map; + } + }).collect(Collectors.toList()); + //return collect; + } + + /** + * 将一个 Map 对象转化为一个 JavaBean + * @param type 要转化的类型 + * @param map 包含属性值的 map + * @return 转化出来的 JavaBean 对象 + * @throws IntrospectionException + * 如果分析类属性失败 + * @throws IllegalAccessException + * 如果实例化 JavaBean 失败 + * @throws InstantiationException + * 如果实例化 JavaBean 失败 + * @throws InvocationTargetException + * 如果调用属性的 setter 方法失败 + */ + public static Object convertMap(Class type, Map map) throws IntrospectionException, IllegalAccessException, InstantiationException, InvocationTargetException { + BeanInfo beanInfo = Introspector.getBeanInfo(type); // 获取类属性 + Object obj = type.newInstance(); // 创建 JavaBean 对象 + + // 给 JavaBean 对象的属性赋值 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); + for (int i = 0; i< propertyDescriptors.length; i++) { + PropertyDescriptor descriptor = propertyDescriptors[i]; + String propertyName = descriptor.getName(); + + if (map.containsKey(propertyName)) { + // 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值 + try { + Object value = map.get(propertyName); + + Object[] args = new Object[1]; + args[0] = value; + + descriptor.getWriteMethod().invoke(obj, args); + } catch (Exception e) { + log.error("Map对象转化JavaBean有些属性赋值失败,无需处理"); + } + } + } + return obj; + } + + + /** + * 将一个 JavaBean 对象转化为一个 Map + * @param bean 要转化的JavaBean 对象 + * @return 转化出来的 Map 对象 + * @throws IntrospectionException 如果分析类属性失败 + * @throws IllegalAccessException 如果实例化 JavaBean 失败 + * @throws InvocationTargetException 如果调用属性的 setter 方法失败 + */ + public static Map convertBean(Object bean) + throws IntrospectionException, IllegalAccessException, InvocationTargetException { + Class type = bean.getClass(); + Map returnMap = new HashMap(); + BeanInfo beanInfo = Introspector.getBeanInfo(type); + + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); + for (int i = 0; i< propertyDescriptors.length; i++) { + PropertyDescriptor descriptor = propertyDescriptors[i]; + String propertyName = descriptor.getName(); + if (!propertyName.equals("class")) { + Method readMethod = descriptor.getReadMethod(); + Object result = readMethod.invoke(bean, new Object[0]); + if (result != null) { + returnMap.put(propertyName, result); + } else { + returnMap.put(propertyName, ""); + } + } + } + return returnMap; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/NewDateUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/NewDateUtil.java new file mode 100644 index 0000000..12bd9b1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/NewDateUtil.java @@ -0,0 +1,606 @@ +package cn.cecep.talroad.util.effective; + + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.joda.time.DateTime; +import org.joda.time.Days; +import org.joda.time.LocalDate; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.*; +import java.util.*; + +public class NewDateUtil { + public static final String DATE_PATTERN_GETDAY = "dd"; + public static final String DATE_PATTERN_MONTH = "yyyy-MM"; + public static final String DATE_PATTERN_MONTH01 = "yyyyMM01"; + public static final String DATE_PATTERN = "yyyy-MM-dd"; + public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + public static final String HOUR_FEN = "HH:mm"; + public static final String HOUR_TIME_PATTERN = "yyyy-MM-dd HH:00"; + public static final String HOUR_TIME_PATTERN_WHOLE = "yyyy-MM-dd HH:00:00"; + public static final String HOUR_PATTERN = "yyyy-MM-dd HH"; + public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + public final static String DATE_TIME0_PATTERN = "yyyy-MM-dd 00:00:00"; + + private static String[] parsePatterns = { + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + public NewDateUtil() { + } + + public static String format(Date date) { + return format(date, "yyyy-MM-dd"); + } + + public static String format(Date date, String pattern) { + if (date != null) { + SimpleDateFormat df = new SimpleDateFormat(pattern); + return df.format(date); + } else { + return null; + } + } + + public static int getHour(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.get(11); + } + + public static Date getLastDate(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int lastDay = calendar.getActualMaximum(5); + calendar.set(5, lastDay); + return calendar.getTime(); + } + + public static Date stringToDate(String strDate, String pattern) { + if (StringUtils.isBlank(strDate)) { + return null; + } else { + DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern); + return fmt.parseLocalDateTime(strDate).toDate(); + } + } + + public static Date[] getWeekStartAndEnd(int week) { + DateTime dateTime = new DateTime(); + LocalDate date = new LocalDate(dateTime.plusWeeks(week)); + date = date.dayOfWeek().withMinimumValue(); + Date beginDate = date.toDate(); + Date endDate = date.plusDays(6).toDate(); + return new Date[]{beginDate, endDate}; + } + + public static String getWeek(Date date) { + String[] weeks = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int week_index = cal.get(7) - 1; + if (week_index < 0) { + week_index = 0; + } + + return weeks[week_index]; + } + public static String getDayOfWeek(DayOfWeek dayOfWeek) { + String[] weeks = new String[]{ "星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日"}; + + return weeks[dayOfWeek.ordinal()]; + } + + public static Date addDateSeconds(Date date, int seconds) { + DateTime dateTime = new DateTime(date); + return dateTime.plusSeconds(seconds).toDate(); + } + + public static Date addDateMinutes(Date date, int minutes) { + DateTime dateTime = new DateTime(date); + return dateTime.plusMinutes(minutes).toDate(); + } + + public static Date addDateHours(Date date, int hours) { + DateTime dateTime = new DateTime(date); + return dateTime.plusHours(hours).toDate(); + } + + public static Date addDateDays(Date date, int days) { + DateTime dateTime = new DateTime(date); + return dateTime.plusDays(days).toDate(); + } + + public static Date addDateWeeks(Date date, int weeks) { + DateTime dateTime = new DateTime(date); + return dateTime.plusWeeks(weeks).toDate(); + } + + public static Date addDateMonths(Date date, int months) { + DateTime dateTime = new DateTime(date); + return dateTime.plusMonths(months).toDate(); + } + + public static Date addDateYears(Date date, int years) { + DateTime dateTime = new DateTime(date); + return dateTime.plusYears(years).toDate(); + } + + public static Integer achieveMonth(String start, String end) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Calendar bef = Calendar.getInstance(); + Calendar aft = Calendar.getInstance(); + + try { + bef.setTime(sdf.parse(start)); + aft.setTime(sdf.parse(end)); + } catch (ParseException var7) { + var7.printStackTrace(); + } + + int result = aft.get(2) - bef.get(2); + int month = (aft.get(1) - bef.get(1)) * 12; + return Math.abs(month + result) + 1; + } + + public static Date lastDayOfMonth(Date date) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int year = calendar.get(1); + int month = calendar.get(2) + 1; + int lastDay = calendar.getActualMaximum(5); + + try { + return format.parse(year + "-" + month + "-" + lastDay + " 23:59:59"); + } catch (ParseException var7) { + var7.printStackTrace(); + return null; + } + } + + public static Date getStartTime(long date) { + Date begin = new Date(date); + Calendar cal = Calendar.getInstance(); + cal.setTime(begin); + cal.set(5, 1); + cal.set(11, 0); + cal.set(13, 0); + cal.set(12, 0); + return cal.getTime(); + } + + public static Date getEndTime(long date) { + Date begin = new Date(date); + Calendar cal = Calendar.getInstance(); + cal.setTime(begin); + int days = cal.getActualMaximum(5); + cal.set(5, days); + cal.set(11, 24); + cal.set(13, 0); + cal.set(12, 0); + return cal.getTime(); + } + + public static int getDays(Date startTime, Date endTime) { + DateTime startDate = new DateTime(startTime); + DateTime endDate = new DateTime(endTime); + int days = Days.daysBetween(startDate, endDate).getDays(); + return days; + } + + public static Date getQuarterlyStartTime(int year, int quarter) { + String startTimeStr = null; + if (quarter == 1) { + startTimeStr = year + "-01-01 00:00:00"; + } else if (quarter == 2) { + startTimeStr = year + "-04-01 00:00:00"; + } else if (quarter == 3) { + startTimeStr = year + "-07-01 00:00:00"; + } else { + startTimeStr = year + "-10-01 00:00:00"; + } + + return stringToDate(startTimeStr, "yyyy-MM-dd HH:mm:ss"); + } + + public static Date getQuarterlyEndTime(int year, int quarter) { + String endTimeStr = null; + if (quarter == 1) { + endTimeStr = year + "-03-31 23:59:59"; + } else if (quarter == 2) { + endTimeStr = year + "-06-30 23:59:59"; + } else if (quarter == 3) { + endTimeStr = year + "-09-30 23:59:59"; + } else { + endTimeStr = year + "-12-31 23:59:59"; + } + + return stringToDate(endTimeStr, "yyyy-MM-dd HH:mm:ss"); + } + + public static int getYear(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(1); + } + + public static int getYearDays(int year) { + return (year % 4 != 0 || year % 100 == 0) && year % 400 != 0 ? 365 : 366; + } + + private static Calendar getCalendarFormYear(int year) { + Calendar cal = Calendar.getInstance(); + cal.set(7, 2); + cal.set(1, year); + return cal; + } + + public static String getStartDayOfWeekNo(int year, int weekNo) { + Calendar cal = getCalendarFormYear(year); + cal.set(3, weekNo); + return cal.get(1) + "-" + (cal.get(2) + 1) + "-" + cal.get(5); + } + + public static String getEndDayOfWeekNo(int year, int weekNo) { + Calendar cal = getCalendarFormYear(year); + cal.set(3, weekNo); + cal.add(7, 6); + return cal.get(1) + "-" + (cal.get(2) + 1) + "-" + cal.get(5); + } + + public static String getFromToDate(SimpleDateFormat sdf, Date date, int n, int option, int k) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int dayOfWeek = calendar.get(7) - 1; + int offset = 0 == option ? 1 - dayOfWeek : 7 - dayOfWeek; + int amount = 0 == option ? offset - (n - 1 + k) * 7 : offset - k * 7; + calendar.add(5, amount); + return sdf.format(calendar.getTime()); + } + + public static String getNWeekTimeInterval(int n, SimpleDateFormat sdf) { + String beginDate = getFromToDate(sdf, new Date(), n, 0, 0); + String endDate = getFromToDate(sdf, new Date(), n, 1, 0); + return beginDate + "," + endDate; + } + + public static String getNWeekTimeIntervalTwo(int n, SimpleDateFormat sdf) { + String beginDate = getFromToDate(sdf, new Date(), n, 0, 1); + String endDate = getFromToDate(sdf, new Date(), n, 1, 1); + return beginDate + "," + endDate; + } + + public static String getThisWeekTimeInterval(SimpleDateFormat sdf) { + return getNWeekTimeInterval(1, sdf); + } + + public static String getLastWeekTimeInterval(SimpleDateFormat sdf) { + return getNWeekTimeIntervalTwo(1, sdf); + } + + public static List getAllDays(Date startTime, Date endTime) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(5, 1); + lDate.add(sd.format(calBegin.getTime())); + } + + return lDate; + } + + public static List getAllHours(Date startTime, Date endTime, String format) { + List lDate = new ArrayList(); + SimpleDateFormat sd = new SimpleDateFormat(format); + lDate.add(sd.format(startTime)); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(startTime); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(endTime); + + while(endTime.after(calBegin.getTime())) { + calBegin.add(11, 1); + lDate.add(sd.format(calBegin.getTime())); + } + + return lDate; + } + + public static String getToday() { + return (new SimpleDateFormat("yyyy-MM-dd")).format(new Date()); + } + + public static String getYestoday() { + Calendar cal = Calendar.getInstance(); + cal.add(5, -1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getYestodayDate() { + Calendar cal = Calendar.getInstance(); + cal.add(5, -1); + return cal.getTime(); + } + + public static String getMonthStart() { + Calendar cal = Calendar.getInstance(); + cal.add(2, 0); + cal.set(5, 1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getMonthStartDate() { + Calendar cal = Calendar.getInstance(); + cal.add(2, 0); + cal.set(5, 1); + return cal.getTime(); + } + + public static String getMonthEnd() { + Calendar cal = Calendar.getInstance(); + cal.set(5, cal.getActualMaximum(5)); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static String getWeekStart() { + Calendar cal = Calendar.getInstance(); + cal.add(4, 0); + cal.set(7, 2); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static Date getWeekStartDate() { + Calendar cal = Calendar.getInstance(); + cal.add(4, 0); + cal.set(7, 2); + return cal.getTime(); + } + + public static String getWeekEnd() { + Calendar cal = Calendar.getInstance(); + cal.set(7, cal.getActualMaximum(7)); + cal.add(7, 1); + Date time = cal.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(time); + } + + public static String getYearStart() { + return (new SimpleDateFormat("yyyy")).format(new Date()) + "-01-01"; + } + + public static Date getYearStartDate() { + Date now = new Date(); + Calendar c = Calendar.getInstance(); + c.setTime(now); + c.set(6, 1); + return c.getTime(); + } + + public static String getYearEnd() { + Calendar calendar = Calendar.getInstance(); + calendar.set(2, calendar.getActualMaximum(2)); + calendar.set(5, calendar.getActualMaximum(5)); + Date currYearLast = calendar.getTime(); + return (new SimpleDateFormat("yyyy-MM-dd")).format(currYearLast); + } + + //获取当前月第一天 + public static String getFirstOfMonth(){ + Calendar c = Calendar.getInstance(); + c.setTime(new Date()); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 + String first = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + return first; + } + + //获取当前月最后一天 + public static String getLastOfMonth(){ + Calendar c = Calendar.getInstance(); + c.setTime(new Date()); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + String last = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + return last; + } + + //获取当前周第一天 + public static String getFirstOfWeek(){ + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + int d = 0; + if (cal.get(Calendar.DAY_OF_WEEK) == 1) { + d = -6; + } else { + d = 2 - cal.get(Calendar.DAY_OF_WEEK); + } + cal.add(Calendar.DAY_OF_WEEK, d); + // 所在周开始日期 + String data = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); + return data; + } + + //获取当前周最后一天 + public static String getLastOfWeek(){ + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + int d = 0; + if (cal.get(Calendar.DAY_OF_WEEK) == 1) { + d = -6; + } else { + d = 2 - cal.get(Calendar.DAY_OF_WEEK); + } + cal.add(Calendar.DAY_OF_WEEK, d); + // 所在周开始日期 + cal.add(Calendar.DAY_OF_WEEK, 6); + String data = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); + return data; + } + + /** + * 获取参数时间所在年 的 最大周数 + * + * @param year + * @return 当前年份的最大周数 + */ + public static int getMaxWeakOfYear(int year) { + Calendar cal = Calendar.getInstance(); + cal.setFirstDayOfWeek(Calendar.MONDAY); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, 11);//11表示的是12月 + cal.set(Calendar.DATE, 31); + return cal.get(Calendar.WEEK_OF_YEAR) == 1 ? 52 : 53; + } + + /** + * 获取参数时间是所在年份的第几周 + * + * @param date + * @return 参数时间是所在年份的第几周 + */ + public static int getWeakOfYear(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setFirstDayOfWeek(Calendar.MONDAY); + calendar.setTime(date); + int weak = calendar.get(Calendar.WEEK_OF_YEAR);//当前周 + int month = calendar.get(Calendar.MONTH) + 1;//当前月份,注意:calendar的月份会自动-1 + + if (weak == 1 && month == 12) { + int year = calendar.get(Calendar.YEAR); + return getMaxWeakOfYear(year); + } + return weak; + } + + /** + * 获取指定日期的所在周的第一天(周一) + * @param time + * @return + */ + public static Date getWeekByDate(Date time) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式 + Calendar cal = Calendar.getInstance(); + cal.setTime(time); + // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了 + int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天 + if (1 == dayWeek) { + cal.add(Calendar.DAY_OF_MONTH, -1); + } + cal.setFirstDayOfWeek(Calendar.MONDAY);// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 + int day = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天 + cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值 + + return stringToDate(sdf.format(cal.getTime()),"yyyy-MM-dd"); + } + + public static Date getLastWeekByDate(Date time) { + Date date = getWeekByDate(time); + Calendar calendar = new GregorianCalendar(); + calendar.setTime(date); + calendar.add(Calendar.DATE,6); + return calendar.getTime(); + } + + //获取日期所在月第一天 + public static String getFirstOfMonthByDate(Date date){ + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 + String first = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + return first; + } + + //获取日期所在月最后一天 + public static String getLastOfMonthByDate(Date date){ + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + String last = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + return last; + } + + //日期相减得天数,得出结果需要+1 + public static long getDaySub(String beginDateStr,String endDateStr){ + long day = 0; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date beginDate; + Date endDate; + try{ + beginDate = format.parse(beginDateStr); + endDate= format.parse(endDateStr); + day = (endDate.getTime() - beginDate.getTime()) / (24*60*60*1000); + } catch (ParseException e){ + e.printStackTrace(); + } + return day; + } + + + /** + * date转LocalDateTime + * @param date + * @return + */ + public static LocalDateTime dateToLocalDateTime(Date date){ + Instant instant = date.toInstant(); + ZoneId zoneId = ZoneId.systemDefault(); + + return instant.atZone(zoneId).toLocalDateTime(); + } + + + /** + * LocalDateTime转date + * @param localDateTime + * @return + */ + public static Date localDateTimeToDate(LocalDateTime localDateTime){ + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = localDateTime.atZone(zoneId); + + return Date.from(zdt.toInstant()); + } + + public static void main(String[] args) { + String lastOfMonth = NewDateUtil.getLastOfMonth(); + } + + /** + * 日期型字符串转化为日期 格式 + */ + public static Date parseDate(Object str) + { + if (str == null) + { + return null; + } + try + { + return DateUtils.parseDate(str.toString(), parsePatterns); + } + catch (ParseException e) + { + return null; + } + } + + +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantChart.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantChart.java new file mode 100644 index 0000000..f77476e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantChart.java @@ -0,0 +1,6 @@ +package cn.cecep.talroad.util.effective; + +public class PollutantChart { + + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantConcType.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantConcType.java new file mode 100644 index 0000000..e1a7415 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/PollutantConcType.java @@ -0,0 +1,223 @@ +package cn.cecep.talroad.util.effective; +/* + *@Author: liuwenshuang + *@date: 2019/7/18 + */ + +import java.math.BigDecimal; + +public enum PollutantConcType { + CO_HOUR(0), NO2_HOUR(1), O3_HOUR(2), SO2_HOUR(3), PM10_HOUR(4), PM25_HOUR(5), + CO_1(0), CO_24(1), NO2_1(2), NO2_24(3), O3_1(4), O3_8(5), SO2_1(6), SO2_24(7), PM25_24(8), PM10_24(9), CO_8(10); + + private static final int[] m_aiIAQIScopeForLevel = { 0, 50, 100, 150, 200, 300 }; + private static final int[] m_aiIAQIScope = { 0, 50, 100, 150, 200, 300, 400, 500 }; + // 环境空气污染物基本项目浓度限值二级标准 + private static final int[] m_aiPMIStandardHour = { 4, 40, 160, 60, 70, 35 }; + private static final int[][] m_aiConcScope = { + { 0, 5000, 10000, 35000, 60000, 90000, 120000, 150000 }, + { 0, 2000, 4000, 14000, 24000, 36000, 48000, 60000 }, + { 0, 100, 200, 700, 1200, 2340, 3090, 3840 }, + { 0, 40, 80, 180, 280, 565, 750, 940 }, + { 0, 160, 200, 300, 400, 800, 1000, 1200 }, + { 0, 100, 160, 215, 265, 800, -1, -1 }, + { 0, 150, 500, 650, 800, -1, -1, -1 }, + { 0, 50, 150, 475, 800, 1600, 2100, 2620 }, + { 0, 35, 75, 115, 150, 250, 350, 500 }, + { 0, 50, 150, 250, 350, 420, 500, 600 }, + { 0, -1, -1, -1, -1, -1, -1, -1 } }; + private final int m_iIdx; + + private PollutantConcType(int value) + { + this.m_iIdx = value; + } + + private static int getAQLevelFigure(int[] aiIAQIScopeForLevel, int iIAQI) + { + if (iIAQI < 0) { + return -1; + } + if (iIAQI == 0) { + return 1; + } + int iScopeIdx = -1; + for (int i = 0; i < aiIAQIScopeForLevel.length - 1; i++) { + if ((iIAQI > aiIAQIScopeForLevel[i]) && (iIAQI <= aiIAQIScopeForLevel[(i + 1)])) + { + iScopeIdx = i; + break; + } + } + if (iScopeIdx < 0) { + iScopeIdx = 5; + } + return iScopeIdx + 1; + } + + public static int getAQLevelFigureByIAQI(int iIAQI) + { + return getAQLevelFigure(m_aiIAQIScopeForLevel, iIAQI); + } + + private int getIAQI(int[] aiIAQIScope, int[][] aiConcScope, int iConc) + { + if (iConc < 0) { + return -1; + } + int iScopeIdx = -1; + boolean bValid = true; + for (int i = 0; i < aiConcScope[this.m_iIdx].length - 1; i++) + { + if (aiConcScope[this.m_iIdx][(i + 1)] < 0) { + break; + } + if ((iConc >= aiConcScope[this.m_iIdx][i]) && (iConc <= aiConcScope[this.m_iIdx][(i + 1)])) + { + if (aiConcScope[this.m_iIdx][i] < 0) + { + bValid = false; + break; + } + iScopeIdx = i; + break; + } + } + if (!bValid) { + return -1; + } + if (iScopeIdx < 0) { + return getIAQIMaxVal(aiIAQIScope, aiConcScope); + } + int[] aiCScope = aiConcScope[this.m_iIdx]; + BigDecimal ia = new BigDecimal((iConc - aiCScope[iScopeIdx]) * (aiIAQIScope[(iScopeIdx + 1)] - aiIAQIScope[iScopeIdx])); + BigDecimal ib =new BigDecimal(aiCScope[(iScopeIdx + 1)] - aiCScope[iScopeIdx]); + + return ia.divide(ib,0,BigDecimal.ROUND_HALF_EVEN).intValue() + aiIAQIScope[iScopeIdx]; + } + + private BigDecimal getPollutantValueByIAQI(int[] aiIAQIScope, int[][] aiConcScope, int iConc) + { + if (iConc < 0) { + return new BigDecimal(-1); + } + int iScopeIdx = -1; + boolean bValid = true; + for (int i = 0; i < aiIAQIScope.length - 1; i++) + { + if ((iConc >= aiIAQIScope[i]) && (iConc <= aiIAQIScope[(i + 1)])) + { + if (aiConcScope[this.m_iIdx][i] < 0) + { + bValid = false; + break; + } + iScopeIdx = i; + break; + } + } + if (!bValid) { + return new BigDecimal(-1); + } + + int[] aiCScope = aiConcScope[this.m_iIdx]; + BigDecimal ia = new BigDecimal((iConc - aiIAQIScope[iScopeIdx]) * (aiCScope[(iScopeIdx + 1)] - aiCScope[iScopeIdx])); + BigDecimal ib =new BigDecimal(aiIAQIScope[(iScopeIdx + 1)] - aiIAQIScope[iScopeIdx]); + + return ia.divide(ib,0,BigDecimal.ROUND_HALF_EVEN).add(new BigDecimal(aiCScope[iScopeIdx])); + } + + private BigDecimal getIPMI(int[] m_aiPMIStandardHour, BigDecimal iConc) { + if (iConc.compareTo (new BigDecimal (0)) == -1) { + return new BigDecimal (-1); + } + int value = m_aiPMIStandardHour[this.m_iIdx]; + return iConc.divide (new BigDecimal (value), 2, BigDecimal.ROUND_HALF_EVEN); + } + + private int getConc(int[] aiIAQIScope, int[][] aiConcScope, int iIAQI) + { + if (iIAQI < 0) { + return -1; + } + int iIAQI2 = iIAQI; + int iIAQIMax = getIAQIMaxVal(aiIAQIScope, aiConcScope); + if (iIAQIMax < 0) { + return -1; + } + if (iIAQI2 > iIAQIMax) { + iIAQI2 = iIAQIMax; + } + int iScopeIdx = -1; + for (int i = 0; i < aiIAQIScope.length - 1; i++) { + if ((iIAQI2 >= aiIAQIScope[i]) && (iIAQI2 <= aiIAQIScope[(i + 1)])) + { + iScopeIdx = i; + break; + } + } + if (iScopeIdx < 0) { + return -1; + } + int[] aiCScope = aiConcScope[this.m_iIdx]; + if ((aiCScope[iScopeIdx] < 0) || (aiCScope[(iScopeIdx + 1)] < 0)) { + return -1; + } + int ia = (iIAQI2 - aiIAQIScope[iScopeIdx]) * (aiCScope[(iScopeIdx + 1)] - aiCScope[iScopeIdx]); + int ib = aiIAQIScope[(iScopeIdx + 1)] - aiIAQIScope[iScopeIdx]; + return (int)Math.round(ia / ib) + aiCScope[iScopeIdx]; + } + + private int getIAQIMaxVal(int[] aiIAQIScope, int[][] aiConcScope) + { + int i; + for (i = aiConcScope[this.m_iIdx].length - 1; i >= 0; i--) { + if (aiConcScope[this.m_iIdx][i] > 0) { + break; + } + } + if (i < 0) { + return -1; + } + return aiIAQIScope[i]; + } + + public int getIAQIByConc(int iConc) + { + return getIAQI(m_aiIAQIScope, m_aiConcScope, iConc); + } + + public BigDecimal getPollutantValueByIAQI(int iConc) + { + return getPollutantValueByIAQI(m_aiIAQIScope, m_aiConcScope, iConc); + } + + public BigDecimal getIPMIByConc(BigDecimal iConc) { + return getIPMI(m_aiPMIStandardHour, iConc); + } + + public int getConcByIAQI(int iIAQI) + { + return getConc(m_aiIAQIScope, m_aiConcScope, iIAQI); + } + + public int getIAQIMax() + { + return getIAQIMaxVal(m_aiIAQIScope, m_aiConcScope); + } + + public int getIsOverByStandardHour(int iaqi) { + return getIsOver (m_aiPMIStandardHour, iaqi); + } + + private int getIsOver(int[] m_aiPMIStandardHour, int iaqi) { + if (iaqi < 0) { + return -1; + } + int value = m_aiPMIStandardHour[this.m_iIdx]; + if(iaqi > value) + return 1; + else + return 0; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/StringTools.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/StringTools.java new file mode 100644 index 0000000..e119452 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/util/effective/StringTools.java @@ -0,0 +1,400 @@ +package cn.cecep.talroad.util.effective; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class StringTools { + + // 判断整数 + public static boolean isIntNum(String str) { + if (null == str || "".equals(str)) { + return false; + } + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + return pattern.matcher(str).matches(); + } + + public static void main(String[] args) { + String s = sciCal(-16.9117, 1); + + System.out.println(s); + System.out.println(new BigDecimal(-16.9117).setScale(1,BigDecimal.ROUND_HALF_EVEN)); + } + + /** + * @param data 需要科学计算的数据 + * @param digit 保留的小数位 + * @return + * 功能:四舍六入五成双计算法 + */ + public static String sciCal(Object data, int digit){ + String result = null; + if (Objects.nonNull(data)){ + //判断负数 不能计算问题 + String parent=""; + String valueData = data.toString(); + if(valueData.contains("-")){ + parent="-"; + valueData=valueData.replace("-",""); + } + try { + double value=Double.valueOf(valueData); + double ratio = Math.pow(10, digit); + double _num = value * ratio; + double mod = _num % 1; + double integer = Math.floor(_num); + double returnNum; + if(mod > 0.5){ + returnNum=(integer + 1) / ratio; + }else if(mod < 0.5){ + returnNum=integer / ratio; + }else{ + returnNum=(integer % 2 == 0 ? integer : integer + 1) / ratio; + } + BigDecimal bg = new BigDecimal(returnNum); + result = bg.setScale((int)digit, BigDecimal.ROUND_HALF_UP).toString(); + } catch (RuntimeException e) { + throw e; + } + return parent+result; + } + return result; + } + + /** + * 获取随机主键 + * @return + */ + public static String getUUid(){ + UUID uuid=UUID.randomUUID(); + String str = uuid.toString(); + if(str.indexOf("-")>-1){ + str=str.replace("-",""); + } + return str; + } + + /** + * 时间处理小时 + * @param time + * @return + */ + public static String getHourTime(String time){ + if (StringUtils.isNotBlank(time)){ + time = time.replace("%20", " "); + } + return time; + } + + /** + * 度分秒转经纬度Java he + * @param lng 116°16′22. 116度16分22秒 转 116.27277777777778 + * @return + */ + public static String tranformPos(String lng){ + String longAndLa=""; + if (StringUtils.isBlank(lng)){ + lng=longAndLa; + } + if (lng.contains("度")&&lng.contains("分")){ + //116度16分22秒 + if (lng.contains("度")||lng.contains("分")||lng.contains("秒")){ + lng=lng.replace("度","°"); + lng=lng.replace("分","′"); + lng=lng.replace("秒","."); + } + String[] lntArr = lng + .trim() + .replace("°", ";") + .replace("′", ";") + .replace("'", ";") + .replace("\"", "") + .split(";"); + Double result = 0D; + for (int i = lntArr.length; i >0 ; i--) { + double v = Double.parseDouble(lntArr[i-1]); + if(i==1){ + result=v+result; + }else{ + result=(result+v)/60; + } + } + longAndLa=result.toString(); + }else if (lng.contains("°")&&lng.contains("′")||lng.contains("‘")||lng.contains("’")){ + String[] lntArr = lng + .trim() + .replace("°", ";") + .replace("′", ";") + .replace("‘", ";") + .replace("'", ";") + .replace("’", ";") + .replace("“", "") + .replace("″", "") + .replace("”", "") + .replace("N", "") + .replace("E", "") + .replace("\"", "") + .split(";"); + Double result = 0D; + for (int i = lntArr.length; i >0 ; i--) { + double v = Double.parseDouble(lntArr[i-1]); + if(i==1){ + result=v+result; + }else{ + result=(result+v)/60; + } + } + longAndLa=result.toString(); + }else { + int lngCount = countStr(lng, "."); + if (lng.contains("~")){ + if (lng.contains("113")||lng.contains("113")){ + lng = getLngBuffer(lng, 3); + } + if (lng.contains("29")||lng.contains("30")){ + lng = getLngBuffer(lng, 2); + } + } + if(lngCount==2){ + lng =getLngLast(lng,"."); + } + longAndLa=lng; + } + return longAndLa; + } + + /** + * 用与经纬度 + * String aa="113040~114012"; + * String bb="29048~30017"; + * @param lng + * @param count 3或者2 + * @return + */ + private static String getLngBuffer(String lng,Integer count){ + String[] split = lng.split("~"); + String lo=split[0]; + StringBuffer sb = new StringBuffer(lo); + sb.insert(count,"."); + System.out.println(sb); + return sb.toString(); + } + + /** + * 判断字符串中某个字符存在的个数 1,2,3 转 1,23 + * @param , 1,2,3 + * @param , 转 1,23 + * @return + */ + private static String getLngLast(String lng,String str){ + int i = lng.lastIndexOf(str); + String start = lng.substring(0, i); + String end = lng.substring(i + 1, lng.length()); + return start + end; + } + + /** + * 判断字符串中某个字符存在的个数 + * @param str1 完整字符串 + * @param str2 要统计匹配个数的字符 + * @return + */ + public static int countStr(String str1, String str2) { + int count=0; + if (str1.indexOf(str2) == -1) { + return 0; + } + while(str1.indexOf(str2)!=-1){ + count++; + str1=str1.substring(str1.indexOf(str2)+str2.length()); + } + return count; + } + + /** + * 去重对象空格 去除两边所有空格 + * @param obj + */ + public static void objectToTrim(Object obj) { + Map map = new HashMap<>(); + try { + Field[] declaredFields = obj.getClass().getDeclaredFields(); + for (Field field:declaredFields){ + String type = field.getType().getCanonicalName(); + if (StringUtils.equals("java.lang.String", type)){ + field.setAccessible(true); + Object object = field.get(obj); + if (object != null) { + //去重所有空格 + map.put(field.getName(),replaceAllTrim(object.toString().trim())); + } + } + } + for (Field field:declaredFields){ + if (map.get(field.getName())!=null){ + String s = map.get(field.getName()); + field.setAccessible(true); + field.set(obj,s); + } + } + }catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 去除两边所有空格 + * @param str + * @return + */ + public static String replaceAllTrim(String str) { + String s = ""; + if (StringUtils.isNotBlank(str)){ + + //去重空格 + StringBuffer stringBuffer = new StringBuffer(); + for(int i=0;i + * @param list + * @return + */ + public static List> objectToListMap(List list){ + + List> map=new ArrayList<>(); + if (!CollectionUtils.isEmpty(list)){ + map = list.stream().map(it -> { + Map apiMap = new HashMap<>(); + Field[] declaredFields = it.getClass().getDeclaredFields(); + for (Field declaredField : declaredFields) { + String name = declaredField.getName(); + try { + Field f = it.getClass().getDeclaredField(name); + f.setAccessible(true); + apiMap.put(name,f.get(it)); + } catch (IllegalAccessException | NoSuchFieldException e) { + e.printStackTrace(); + } + } + return apiMap; + }).collect(Collectors.toList()); + } + return map; + } + + /** + * 获取图片组入数据 + * @return + */ + public static void getPathGroup(Object obj, String field,String path){ + if (StringUtils.isNotBlank(path)) { + if (path.contains("group")) { + path = path.substring(path.indexOf("group"), path.length()); + //设置值 + try { + Class c = obj.getClass(); + Field f = c.getDeclaredField(field); + f.setAccessible(true); + f.set(obj, path); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } + } + + /** + * 求Map中Value(值)的最小值 + * + * @param map + * @return + */ + public static Object getMinValue(Map map) { + if (map == null) + return null; + Collection c = map.values(); + Object[] obj = c.toArray(); + Arrays.sort(obj); + return obj[0]; + } + + /** + * 求Map中Value(值)的最大值 + * + * @param map + * @return + */ + public static Object getMaxValue(Map map) { + if (map == null) + return null; + int length =map.size(); + Collection c = map.values(); + Object[] obj = c.toArray(); + Arrays.sort(obj); + return obj[length-1]; + } + + /** + * + * @param value 需要科学计算的数据 + * @param digit 保留的小数位 + * @return 四舍六入计算法 + */ + private String setGiveSixIntoFour(Object value,int digit){ + String count="0"; + if (Objects.nonNull(value)){ + try { + BigDecimal decimal = new BigDecimal(value.toString()); + if (decimal.compareTo(BigDecimal.ZERO)==0){ + }else { + BigDecimal i = decimal.setScale(2, RoundingMode.HALF_EVEN); + count=i.toString(); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + return count; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/CommonMessage.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/CommonMessage.java new file mode 100644 index 0000000..7e93c9f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/CommonMessage.java @@ -0,0 +1,125 @@ +package cn.cecep.talroad.utils; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +public class CommonMessage implements Serializable { + + private static final long serialVersionUID = 2611556444074013268L; + + private String database; // 数据库或schema + private String table; // 表名 + private List pkNames; + private Boolean isDdl; + // 类型:INSERT/UPDATE/DELETE + private String type; + // binlog executeTime, 执行耗时 + private Long es; + // dml build timeStamp, 同步时间 + private Long ts; + // 执行的sql,dml sql为空 + private String sql; + // 数据列表 + private List> data; + // 旧数据列表,用于update,size和data的size一一对应 + private List> old; + + public String getDatabase() { + return database; + } + + public void setDatabase(String database) { + this.database = database; + } + + public String getTable() { + return table; + } + + public void setTable(String table) { + this.table = table; + } + + public List getPkNames() { + return pkNames; + } + + public void setPkNames(List pkNames) { + this.pkNames = pkNames; + } + + public Boolean getIsDdl() { + return isDdl; + } + + public void setIsDdl(Boolean isDdl) { + this.isDdl = isDdl; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Long getTs() { + return ts; + } + + public void setTs(Long ts) { + this.ts = ts; + } + + public String getSql() { + return sql; + } + + public void setSql(String sql) { + this.sql = sql; + } + + public List> getData() { + return data; + } + + public void setData(List> data) { + this.data = data; + } + + public List> getOld() { + return old; + } + + public void setOld(List> old) { + this.old = old; + } + + public Long getEs() { + return es; + } + + public void setEs(Long es) { + this.es = es; + } + + public void clear() { + database = null; + table = null; + type = null; + ts = null; + es = null; + data = null; + old = null; + sql = null; + } + + @Override + public String toString() { + return "CommonMessage{" + "database='" + database + '\'' + ", table='" + table + '\'' + ", pkNames=" + pkNames + + ", isDdl=" + isDdl + ", type='" + type + '\'' + ", es=" + es + ", ts=" + ts + ", sql='" + sql + '\'' + + ", data=" + data + ", old=" + old + '}'; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/JdbcTypeUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/JdbcTypeUtil.java new file mode 100644 index 0000000..1a32508 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/JdbcTypeUtil.java @@ -0,0 +1,166 @@ +package cn.cecep.talroad.utils; + +import cn.hutool.core.date.DateUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.sql.*; + +/** + * 类型转换工具类 + * + * @author rewerma 2018-8-19 下午06:14:23 + * @version 1.0.0 + */ +public class JdbcTypeUtil { + + private static Logger logger = LoggerFactory.getLogger(JdbcTypeUtil.class); + + public static Object getRSData(ResultSet rs, String columnName, int jdbcType) throws SQLException { + if (jdbcType == Types.BIT || jdbcType == Types.BOOLEAN) { + return rs.getByte(columnName); + } else { + return rs.getObject(columnName); + } + } + + public static Class jdbcType2javaType(int jdbcType) { + switch (jdbcType) { + case Types.BIT: + case Types.BOOLEAN: + // return Boolean.class; + case Types.TINYINT: + return Byte.TYPE; + case Types.SMALLINT: + return Short.class; + case Types.INTEGER: + return Integer.class; + case Types.BIGINT: + return Long.class; + case Types.DECIMAL: + case Types.NUMERIC: + return BigDecimal.class; + case Types.REAL: + return Float.class; + case Types.FLOAT: + case Types.DOUBLE: + return Double.class; + case Types.CHAR: + case Types.VARCHAR: + case Types.LONGVARCHAR: + return String.class; + case Types.BINARY: + case Types.VARBINARY: + case Types.LONGVARBINARY: + case Types.BLOB: + return byte[].class; + case Types.DATE: + return Date.class; + case Types.TIME: + return Time.class; + case Types.TIMESTAMP: + return Timestamp.class; + default: + return String.class; + } + } + + private static boolean isText(String columnType) { + return "LONGTEXT".equalsIgnoreCase(columnType) || "MEDIUMTEXT".equalsIgnoreCase(columnType) + || "TEXT".equalsIgnoreCase(columnType) || "TINYTEXT".equalsIgnoreCase(columnType); + } + + public static Object typeConvert(String tableName, String columnName, String value, int sqlType, String mysqlType) { + if (value == null + || (value.equals("") && !(isText(mysqlType) || sqlType == Types.CHAR || sqlType == Types.VARCHAR || sqlType == Types.LONGVARCHAR))) { + return null; + } + + try { + Object res; + switch (sqlType) { + case Types.INTEGER: + res = Integer.parseInt(value); + break; + case Types.SMALLINT: + res = Short.parseShort(value); + break; + case Types.BIT: + case Types.TINYINT: + res = Byte.parseByte(value); + break; + case Types.BIGINT: + if (mysqlType != null && mysqlType.startsWith("bigint") && mysqlType.endsWith("unsigned")) { + res = new BigInteger(value); + } else { + res = Long.parseLong(value); + } + break; + // case Types.BIT: + case Types.BOOLEAN: + res = !"0".equals(value); + break; + case Types.DOUBLE: + case Types.FLOAT: + res = Double.parseDouble(value); + break; + case Types.REAL: + res = Float.parseFloat(value); + break; + case Types.DECIMAL: + case Types.NUMERIC: + res = new BigDecimal(value); + break; + case Types.BINARY: + case Types.VARBINARY: + case Types.LONGVARBINARY: + case Types.BLOB: + res = value.getBytes("ISO-8859-1"); + break; + case Types.DATE: + if (!value.startsWith("0000-00-00")) { + java.util.Date date = DateUtil.parseDate(value); + if (date != null) { + res = new Date(date.getTime()); + } else { + res = null; + } + } else { + res = null; + } + break; + case Types.TIME: { + java.util.Date date = DateUtil.parseDate(value); + if (date != null) { + res = new Time(date.getTime()); + } else { + res = null; + } + break; + } + case Types.TIMESTAMP: + if (!value.startsWith("0000-00-00")) { + java.util.Date date = DateUtil.parseDate(value); + if (date != null) { + res = new Timestamp(date.getTime()); + } else { + res = null; + } + } else { + res = null; + } + break; + case Types.CLOB: + default: + res = value; + break; + } + return res; + } catch (Exception e) { + logger.error("table: {} column: {}, failed convert type {} to {}", tableName, columnName, value, sqlType); + return value; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/PageUtil.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/PageUtil.java new file mode 100644 index 0000000..f9f4039 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/PageUtil.java @@ -0,0 +1,152 @@ +package cn.cecep.talroad.utils; +/** + * Copyright 2018 人人开源 http://www.renren.io + *

    + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + *

    + * http://www.apache.org/licenses/LICENSE-2.0 + *

    + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + + +import com.github.pagehelper.PageInfo; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/* + *@Author: liuwenshuang + *@date: 2018/10/29 + */ + + +@Data +public class PageUtil implements Serializable { + private static final long serialVersionUID = 1L; + //总记录数 + private Long totalCount; + //每页记录数 + private int pageSize; + //总页数 + private int totalPage; + //当前页数 + private int currPage; + //是否为最后一页 + private boolean isLastPage; + //列表数据 + private List list; + + /** + * 分页 + * @param list 列表数据 + * @param totalCount 总记录数 + * @param pageSize 每页记录数 + * @param currPage 当前页数 + */ + public PageUtil(List list, Long totalCount, int pageSize, int currPage) { + this.list = list; + this.totalCount = totalCount; + this.pageSize = pageSize; + this.currPage = currPage; + this.totalPage = (int)Math.ceil((double)totalCount/pageSize); + if(currPage >= totalPage) { + isLastPage = true; + } else { + isLastPage = false; + } + } + + /** + * 分页2版 + * @param pageNum 当前页数 + * @param pageSize 每页记录数 + * @param sourceList 列表数据 + */ + public PageUtil(List sourceList, int pageNum, int pageSize) { + if (sourceList == null || sourceList.isEmpty()) { + return; + } + int size = sourceList.size(); + // 总记录条数 + this.totalCount = Long.valueOf(String.valueOf(sourceList.size())); + + // 每页显示多少条记录 + this.pageSize = pageSize; + + //获取总页数 + this.totalPage = size / this.pageSize; + if (this.totalCount % this.pageSize != 0) { + this.totalPage = this.totalPage + 1; + } + + // 当前第几页数据 + this.currPage = this.totalPage < pageNum ? this.totalPage : pageNum; + + // 起始索引 + int fromIndex = this.pageSize * (this.currPage - 1); + + // 结束索引 + int toIndex = this.pageSize * this.currPage > this.totalCount ? size : this.pageSize * this.currPage; + + this.list = sourceList.subList(fromIndex, toIndex); + } + + + /** + * 分页 + */ +// public PageUtil(Page page) { +// this.list = page.getRecords(); +// this.totalCount = Long.valueOf(page.getTotal()); +// this.pageSize = page.getSize(); +// this.currPage = page.getCurrent(); +// //this.totalPage = (int)page.getPages(); +// this.totalPage = (int)Math.ceil((double)totalCount/pageSize); +// if(currPage >= totalPage) { +// isLastPage = true; +// } else { +// isLastPage = false; +// } +// } + + /** + * 分页 + */ + public PageUtil(PageInfo page) { + this.list = page.getList(); + this.totalCount = page.getTotal(); + this.pageSize = page.getSize(); + this.currPage = page.getPageNum(); + this.totalPage = page.getPages(); + if(currPage >= totalPage) { + isLastPage = true; + } else { + isLastPage = false; + } + } + /** + * 分页2版 + */ + public PageUtil(List list) { + PageInfo page = new PageInfo<>(list); + this.list = page.getList(); + this.totalCount = page.getTotal(); + this.pageSize = page.getSize(); + this.currPage = page.getPageNum(); + this.totalPage = page.getPages(); + if(currPage >= totalPage) { + isLastPage = true; + } else { + isLastPage = false; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResponseResult.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResponseResult.java new file mode 100644 index 0000000..08c007c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResponseResult.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.utils; + +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author: he yun long + * @create: 2022-07-12 14:50 + */ + +@Data +/** + * 统一结果封装类 + * @author Pang S.Z. + * @create 2020-09-26 16:19:24 + */ +public class ResponseResult { + private Boolean success; + private Integer code; + private String message; + private Map data=new HashMap<>(); + + private ResponseResult() {} + + //通用返回成功 + public static ResponseResult ok() { + ResponseResult responseResult=new ResponseResult(); + responseResult.setSuccess(ResultCode.SUCCESS.getSuccess()); + responseResult.setCode(ResultCode.SUCCESS.getCode()); + responseResult.setMessage(ResultCode.SUCCESS.getMessage()); + return responseResult; + } + + // 通用返回失败,未知错误 + public static ResponseResult error() { + ResponseResult responseResult=new ResponseResult(); + responseResult.setSuccess(ResultCode.UNKNOWN_ERROR.getSuccess()); + responseResult.setCode(ResultCode.UNKNOWN_ERROR.getCode()); + responseResult.setMessage(ResultCode.UNKNOWN_ERROR.getMessage()); + return responseResult; + } + // 设置结果,形参为结果枚举 + public static ResponseResult setResult(ResultCode result) { + ResponseResult responseResult=new ResponseResult(); + responseResult.setSuccess(result.getSuccess()); + responseResult.setCode(result.getCode()); + responseResult.setMessage(result.getMessage()); + return responseResult; + } + + /**自定义模块**/ + + //自定义返回数据 + public ResponseResult data(Mapmap) { + this.setData(map); + return this; + } + //通用设置data + public ResponseResult data(String key,Object value) { + this.data.put(key, value); + return this; + } + //自定义状态信息 + public ResponseResult message(String message) { + this.setMessage(message); + return this; + } + //自定义状态码 + public ResponseResult code(Integer code) { + this.setCode(code); + return this; + } + //自定义返回结果 + public ResponseResult success(Boolean success) { + this.setSuccess(success); + return this; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/Result.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/Result.java new file mode 100644 index 0000000..7be55e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/Result.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.utils; + +/** + * @author: he yun long + * @create: 2022-07-12 14:03 + */ + +/** + * 分页结果 + */ +public class Result { + private boolean flag; //执行结果,true为执行成功 false为执行失败 + private String msg; //返回结果信息 + private Object data; //返回数据 + + public Result() { + } + + public Result(boolean flag, String msg) { + this.flag = flag; + this.msg = msg; + } + + public Result(boolean flag, String msg, Object data) { + this.flag = flag; + this.msg = msg; + this.data = data; + } + + public boolean isFlag() { + return flag; + } + + public void setFlag(boolean flag) { + this.flag = flag; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResultCode.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResultCode.java new file mode 100644 index 0000000..e834536 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ResultCode.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.utils; + +/** + * @author: he yun long + * @create: 2022-07-12 14:51 + */ + +import lombok.Getter; + +/** + * 异常信息枚举类 + * @author Pang S.Z. + * @create 2020-09-26 16:14:30 + */ +@Getter +public enum ResultCode { + SUCCESS(true,20000,"操作成功"), + UNKNOWN_ERROR(false,20001,"操作失败"), + PARAM_ERROR(false,20002,"参数错误"), + NULL_POINT(false,20003,"空指针错误"), + HTTP_CLIENT_ERROR(false,20004,"HTTP客户端异常"), + UNAUTHORIZED(false,20005,"暂未登录或token已经过期"), + FORBIDDEN(false,20006,"没有相关权限"), + VALIDATE_FAILED(false,20007,"参数检验失败"); + + //响应是否成功 + private Boolean success; + //响应状态码 + private Integer code; + //响应信息 + private String message; + + ResultCode(boolean success,Integer code,String message){ + this.success=success; + this.code=code; + this.message=message; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ThrFunction.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ThrFunction.java new file mode 100644 index 0000000..08210c4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/utils/ThrFunction.java @@ -0,0 +1,7 @@ +package cn.cecep.talroad.utils; + +@FunctionalInterface +public interface ThrFunction { + R apply(P1 p1, P2 p2, P3 p3); + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmDoorMonitorAccountFiVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmDoorMonitorAccountFiVo.java new file mode 100644 index 0000000..7984775 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmDoorMonitorAccountFiVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 门禁监控对象 m_am_door_monitor_account_fi + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "门禁监控") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmDoorMonitorAccountFiVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "车牌号码") + /** 车牌号码*/ + private String lpnCode; + + @ApiModelProperty(value = "出入类型") + /** 出入类型*/ + private String entryType; + + @ApiModelProperty(value = "出入时间") + /** 出入时间*/ + private String entryTime; + + @ApiModelProperty(value = "车队名称") + /** 车队名称*/ + private String carTeam; + + @ApiModelProperty(value = "排放阶段") + /** 排放阶段*/ + private String dischargeStage; + + @ApiModelProperty(value = "发动机号码") + /** 发动机号码*/ + private String ngineCode; + + @ApiModelProperty(value = "货物名称") + /** 货物名称*/ + private String ioType; + + @ApiModelProperty(value = "货物净重") + /** 货物净重*/ + private String cargoQuantity; + + @ApiModelProperty(value = "行驶证照片") + /** 行驶证照片*/ + private String drivingLicenseImage; + + @ApiModelProperty(value = "随车清单") + /** 随车清单*/ + private String accessoryListImage; + private Integer quantity; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioImportVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioImportVo.java new file mode 100644 index 0000000..b3231e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioImportVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "预警报警信息-预警比例定制(导入实体)") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmProblemFiRatioImportVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位id") + /** 监测点位id */ + private String stationId; + + @ApiModelProperty(value = "污染物id") + /** 污染物id */ + private String pollId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollName; + + @ApiModelProperty(value = "预警比例") + /** 预警比例 */ + @Excel(name = "预警比例") + private String problemRatio; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioVo.java new file mode 100644 index 0000000..4f93d62 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiRatioVo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.Date; + + + +/** + * 预警报警信息-预警比例定制对象 m_am_problem_fi_ratio + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "预警报警信息-预警比例定制") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmProblemFiRatioVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位id") + /** 监测点位id */ + private String stationId; + + @ApiModelProperty(value = "污染物id") + /** 污染物id */ + private String pollId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + @Excel(name = "监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + @Excel(name = "污染物名称") + private String pollName; + + @ApiModelProperty(value = "标准值") + /** 标准值 */ + @Excel(name = "标准值") + private String executiveStandard; + + @ApiModelProperty(value = "预警比例") + /** 预警比例 */ + @Excel(name = "预警比例") + private String problemRatio; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiVo.java new file mode 100644 index 0000000..797ab33 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmProblemFiVo.java @@ -0,0 +1,223 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@ApiModel(value = "预警报警信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmProblemFiVo +{ + + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统") + @Excel(name = "问题来源", readConverterExp = "1=关联分析系统,2=分表计电系统,3=动态管控系统") + private String problemSources; + + @ApiModelProperty(value = "问题分类 关联pc_ra_problem_type表主键", hidden = true) + private String problemType; + + @Excel(name = "问题分类") + @ApiModelProperty(value = "问题分类名称") + private String problemTypeName; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @Excel(name = "区域") + @ApiModelProperty(value = "区域") + private String regionName; + + @Excel(name = "行业") + @ApiModelProperty(value = "行业名称") + private String industryName; + + @Excel(name = "监测点位名称") + @ApiModelProperty(value = "监测点位名称") + private String stationName; + + @Excel(name = "分析开始时间") + @ApiModelProperty(value = "分析时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date analyseTime; + + @Excel(name = "分析结束时间") + @ApiModelProperty(value = "分析时间结束") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date analyseTimeEnd; + + @Excel(name = "参数名称") + @ApiModelProperty(value = "参数名称") + private String paramName; + + @Excel(name = "问题说明") + @ApiModelProperty(value = "问题说明") + private String problemDetails; + + @ApiModelProperty(value = "反馈时间") + private String feedbackDate; + + @ApiModelProperty(value = "反馈描述") + private String feedbackDesc; + + @ApiModelProperty(value = "详情跳转路由") + private String route; + + @ApiModelProperty(value = "状态 1:查看, 2:验证") + private String status; + + @ApiModelProperty(value = "问题状态:100:初始化/待签收,200:待整改,300:待审核,400:审核不通过,500:已办结/已签收") + private String problemStatus; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改期限开始时间") + private Date rectifyLimitStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改期限结束时间") + private Date rectifyLimitEndTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "整改完成时间") + private Date rectifyTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "签收完成时间") + private Date signTime; + + @ApiModelProperty(value = "问题审核人类型:1:值守,2:执法") + private String problemAuditType; + + private Integer rectifyLimitSum; + + @ApiModel(value = "预警报警详情") + @Data + public static class Detail extends AmProblemFiVo { + @ApiModelProperty(value = "监测点位id。可能是排口id、设备id,根据问题分类判断") + private String stationId; + + @ApiModelProperty(value = "参数名称对应的类属性。气排口在线监测物属性见SEnvGasMonReal类,水排口在线监测属性见SEnvWaterMonReal类,工况数据监测属性见bas_param表param_code_svc字段") + private String paramProperty; + + @ApiModelProperty(value = "类型 0-预警,1-报警") + private Integer type; + + @ApiModelProperty(value = "模型分析结果验证-备注说明") + private String modelValidDetails; + + @ApiModelProperty(value = "模型分析结果验证-反馈人") + private String modelValidPerson; + + @ApiModelProperty(value = "模型分析结果验证-办理时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date modelValidTime; + + @ApiModelProperty(value = "模型分析结果验证-数据库问题真假") + private String modelValidDb; + + @ApiModelProperty(value = "模型分析结果验证-数据库问题真假") + private String modelValidVideo; + + @ApiModelProperty(value = "监控视频截图") + private List> videoPictures; + + @ApiModelProperty(value = "监控视频回放") + private List> videos; + + @ApiModelProperty("AI输入数据开始时间") + private String inputStartTime; + + @ApiModelProperty("AI输入数据结束时间") + private String inputEndTime; + + @ApiModelProperty(value = "污染要素分类名称") + private String pollutionTypeName; + + @ApiModelProperty(value = "问题原因说明") + private String problemCause; + @ApiModelProperty(value = "问题原因附件") + private String problemCauseFile; + @ApiModelProperty(value = "问题原因时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date problemCauseTime; + } + + @ApiModel(value = "模型分析结果验证保存表单") + @Data + public static class ModelValidForm { + @ApiModelProperty(value = "主键id") + private String id; + + @NotBlank(message = "数据库问题真假不可以为空") + @ApiModelProperty(value = "模型分析结果验证-数据库问题真假 1:真, 0:假") + private String modelValidDb; + + @ApiModelProperty(value = "模型分析结果验证-视频问题真假 1:真, 0:假") + private String modelValidVideo; + + @Length(max = 300, message = "备注说明长度大于300") + @ApiModelProperty(value = "模型分析结果验证-备注说明") + private String modelValidDetails; + + @NotBlank(message = "反馈人不可以为空") + @Length(max = 20, message = "反馈人长度大于20") + @ApiModelProperty(value = "模型分析结果验证-反馈人") + private String modelValidPerson; + } + + @Data + public static class PollutantLimitVo { + @ApiModelProperty("污染物上限") + private String upperLimit; + + @ApiModelProperty("污染物下限") + private String lowerLimit; + } + + @Data + public static class PollutantVo { + @ApiModelProperty("取值属性名") + private String prop; + + @ApiModelProperty("污染物上下限map,key为时间") + private Map pollutantLimitMap; + + @ApiModelProperty("标记线") + private EChartsVO.MarkLine markLine; + + @ApiModelProperty("标记区域") + private EChartsVO.MarkArea markArea; + + @ApiModelProperty("是否问题参数") + private Boolean problemParam; + } + + @Data + @ApiModel("生产工况监测大屏-治理设施异常问题统计vo") + public static class CountVo { + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "问题数量") + private Long count; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmVideoDevFiVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmVideoDevFiVo.java new file mode 100644 index 0000000..f4065eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AmVideoDevFiVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.List; + + +/** + * 视频监控对象 m_am_video_dev_fi + */ +@ApiModel(value = "视频监控vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmVideoDevFiVo +{ + private BigInteger id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "摄像头ID") + private String devId; + + @ApiModelProperty(value = "摄像头名称") + private String devName; + + @ApiModelProperty(value = "视频分组名称,名称一样的属于同一个分组") + private String devType; + + @ApiModelProperty(value = "安装位置") + private String location; + + @ApiModelProperty(value = "经度(地图)") + private BigDecimal lonMap; + + @ApiModelProperty(value = "纬度(地图)") + private BigDecimal latMap; + + @ApiModelProperty(value = "liveGBS平台设备id") + private String gbsDeviceId; + + @ApiModelProperty(value = "liveGBS设备通道id") + private String channelId; + + @ApiModelProperty(value = "摄像头状态 1:在线, 2:离线") + private String status; + + @ApiModelProperty("设备来源 1:GB28181, 2:污染源动态管控") + private String devSource; + + @Data + @ApiModel(value = "视频监控类型分组vo") + public static class DevTypeGroup { + @ApiModelProperty("分组名") + private String name; + + @ApiModelProperty("分组数据") + private List videoDevFiVos; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AppVersionAddressManagementVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AppVersionAddressManagementVo.java new file mode 100644 index 0000000..51225a9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/AppVersionAddressManagementVo.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +@ApiModel(value="app_version_address_managementVo") +@EqualsAndHashCode(callSuper = false) +@Data +public class AppVersionAddressManagementVo +{ + + /**主键*/ + @ApiModelProperty(value = "主键") + @Excel(name = "主键") + private String id; + /**下载地址*/ + @ApiModelProperty(value = "下载地址") + @Excel(name = "下载地址") + private String downloadUrl; + /**log图片地址*/ + @ApiModelProperty(value = "log图片地址") + @Excel(name = "log图片地址") + private String logImgUrl; + /**相对的文件地址*/ + @ApiModelProperty(value = "相对的文件地址") + @Excel(name = "相对的文件地址") + private String downloadRelativelyUrl; + /**版本号*/ + @ApiModelProperty(value = "版本号") + @Excel(name = "版本号") + private String versionName; + /**更新提示语*/ + @ApiModelProperty(value = "更新提示语") + @Excel(name = "更新提示语") + private String updateHint; + /**是否强制更新 0 否 1是*/ + @ApiModelProperty(value = "是否强制更新 0 否 1是") + @Excel(name = "是否强制更新 0 否 1是") + private Integer isForcedUpdate; + /**是否生产 0: 测试 1: 生产*/ + @ApiModelProperty(value = "是否生产 0: 测试 1: 生产") + @Excel(name = "是否生产 0: 测试 1: 生产") + private Integer isDebug; + /**0 正常 1 删除 2禁用 3测试*/ + @ApiModelProperty(value = "0 正常 1 删除 2禁用 3测试") + @Excel(name = "0 正常 1 删除 2禁用 3测试") + private Integer status; + /**添加时间*/ + @ApiModelProperty(value = "添加时间") + @Excel(name = "添加时间") + private java.util.Date addTime; + /**修改时间*/ + @ApiModelProperty(value = "修改时间") + @Excel(name = "修改时间") + private java.util.Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrBusinessAlertsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrBusinessAlertsVo.java new file mode 100644 index 0000000..02d9350 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrBusinessAlertsVo.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + + +/** + * 通知提醒-业务提醒对象 b_enterprise_ir_business_alerts + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-业务提醒") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrBusinessAlertsVo +{ + + + @ApiModelProperty(value = "通知提醒主键") + /** id */ + private Long businessId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "业务类型") + /** 业务类型 */ + private String businessType; + + @ApiModelProperty(value = "提醒内容") + /** 业务内容 */ + private String businessDetails; + + @ApiModelProperty(value = "提醒日期") + /** 业务发布时间 */ + private Date businessTime; + + @ApiModelProperty(value = "阅读状态(0-未读, 1-已读)") + /** 状态 */ + private String status; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.java new file mode 100644 index 0000000..660734f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 知识库-生态环境标准-分类对象 b_enterprise_ir_ees_type + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准-分类") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrEesTypeVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102") + /** 分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102 */ + private String eesClassify; + + @ApiModelProperty(value = "分类名称") + /** 分类名称 */ + private String eesType; + + @ApiModelProperty(value = "分类级别") + /** 分类级别 */ + private String eesName; + + @ApiModelProperty(value = "分类父编码,主类父编码默认为0") + /** 分类父编码,主类父编码默认为0 */ + private String eesTitle; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesVo.java new file mode 100644 index 0000000..0762968 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrEesVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 知识库-生态环境标准对象 b_enterprise_ir_ees + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrEesVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。") + /** 标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。 */ + private String eesClassify; + + @ApiModelProperty(value = "标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;...") + /** 标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;... */ + private String eesType; + + @ApiModelProperty(value = "标准名称") + /** 标准名称 */ + private String eesName; + + @ApiModelProperty(value = "标准标题") + /** 标准标题 */ + private String eesTitle; + + @ApiModelProperty(value = "标准内容") + /** 标准内容 */ + private String eesDetails; + + @ApiModelProperty(value = "标准附件名称") + /** 标准附件名称 */ + private String eesFileName; + + @ApiModelProperty(value = "标准附件url") + /** 标准附件url */ + private String eesFileUrl; + + @ApiModelProperty(value = "标准实施时间") + /** 标准实施时间 */ + private String eesTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrLegalVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrLegalVo.java new file mode 100644 index 0000000..b44d043 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrLegalVo.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 知识库-法律法规对象 b_enterprise_ir_legal + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-法律法规") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrLegalVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "法律法规分类") + /** 法律法规分类 */ + private String legalType; + + @ApiModelProperty(value = "法律法规名称") + /** 法律法规名称 */ + private String legalName; + + @ApiModelProperty(value = "法律法规标题") + /** 法律法规标题 */ + private String legalTitle; + + @ApiModelProperty(value = "法律法规内容") + /** 法律法规内容 */ + private String legalDetails; + + @ApiModelProperty(value = "法律法规附件名称") + /** 法律法规附件名称 */ + private String legalFileName; + + @ApiModelProperty(value = "法律法规附件url") + /** 法律法规附件url */ + private String legalFileUrl; + + @ApiModelProperty(value = "发布时间") + /** 发布时间 */ + private String legalTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.java new file mode 100644 index 0000000..4a5e5a0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + + +/** + * 通知提醒-通知公告对象 b_enterprise_ir_notifierpro_notice + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-通知公告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrNotifierproNoticeVo +{ + + + @ApiModelProperty(value = "通知公告主键") + /** $column.columnComment */ + private Long noticeId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "公告类型") + /** 公告类型 */ + private String announcementType; + + @ApiModelProperty(value = "公告标题") + /** 公告标题 */ + private String announcementTitle; + + @ApiModelProperty(value = "公告内容") + /** 公告内容 */ + private String announcementDetails; + + @ApiModelProperty(value = "公告发布时间") + /** 公告发布时间 */ + private Date announcementTime; + + @ApiModelProperty(value = "状态") + /** 状态 */ + private String status; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrSdoeptVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrSdoeptVo.java new file mode 100644 index 0000000..fc353a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BEnterpriseIrSdoeptVo.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 知识库-排污治理科普库对象 b_enterprise_ir_sdoept + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-排污治理科普库") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrSdoeptVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "排污治理科普库分类") + /** 排污治理科普库分类 */ + private String sdoeptType; + + @ApiModelProperty(value = "排污治理科普库名称") + /** 排污治理科普库名称 */ + private String sdoeptName; + + @ApiModelProperty(value = "排污治理科普库标题") + /** 排污治理科普库标题 */ + private String sdoeptTitle; + + @ApiModelProperty(value = "排污治理科普库内容") + /** 排污治理科普库内容 */ + private String sdoeptDetails; + + @ApiModelProperty(value = "排污治理科普库附件名称") + /** 排污治理科普库附件名称 */ + private String sdoeptFileName; + + @ApiModelProperty(value = "排污治理科普库附件url") + /** 排污治理科普库附件url */ + private String sdoeptFileUrl; + + @ApiModelProperty(value = "实施时间") + /** 实施时间 */ + private String sdoeptTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainActionReportsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainActionReportsVo.java new file mode 100644 index 0000000..bb45095 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainActionReportsVo.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 执行报告对象 b_main_action_reports + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "执行报告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainActionReportsVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "报告类型") + /** 报告类型*/ + private String reportsType; + + @ApiModelProperty(value = "报告期") + /** 报告期*/ + private String reportsTime; + + @ApiModelProperty(value = "执行报告") + /** 执行报告*/ + private String reportsFile; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.java new file mode 100644 index 0000000..e69c03d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 总许可量-大气排放总许可量要求对象 b_main_allowable_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量-大气排放总许可量要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainAllowablePollutionAirVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id + */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id + */ + private String factoryId; + + @ApiModelProperty(value = "许可证id") + /** 许可证id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "全厂有组织排放总计-第一年") + /** 全厂有组织排放总计-第一年 */ + private String organizedFrist; + + @ApiModelProperty(value = "全厂有组织排放总计-第二年") + /** 全厂有组织排放总计-第二年 */ + private String organizedSecond; + + @ApiModelProperty(value = "全厂有组织排放总计-第三年") + /** 全厂有组织排放总计-第三年 */ + private String organizedThird; + + @ApiModelProperty(value = "全厂有组织排放总计-第四年") + /** 全厂有组织排放总计-第四年 */ + private String organizedFourth; + + @ApiModelProperty(value = "全厂有组织排放总计-第五年") + /** 全厂有组织排放总计-第五年 */ + private String organizedFifth; + + @ApiModelProperty(value = "全厂无组织排放总计-第一年") + /** 全厂无组织排放总计-第一年 */ + private String inorganizationFrist; + + @ApiModelProperty(value = "全厂无组织排放总计-第二年") + /** 全厂无组织排放总计-第二年 */ + private String inorganizationSecond; + + @ApiModelProperty(value = "全厂无组织排放总计-第三年") + /** 全厂无组织排放总计-第三年 */ + private String inorganizationThird; + + @ApiModelProperty(value = "全厂无组织排放总计-第四年") + /** 全厂无组织排放总计-第四年 */ + private String inorganizationFourth; + + @ApiModelProperty(value = "全厂无组织排放总计-第五年") + /** 全厂无组织排放总计-第五年 */ + private String inorganizationFifth; + + @ApiModelProperty(value = "全厂合计-第一年") + /** 全厂合计-第一年 */ + private String totalFrist; + + @ApiModelProperty(value = "全厂合计-第二年") + /** 全厂合计-第二年 */ + private String totalSecond; + + @ApiModelProperty(value = "全厂合计-第三年") + /** 全厂合计-第三年 */ + private String totalThird; + + @ApiModelProperty(value = "全厂合计-第四年") + /** 全厂合计-第四年 */ + private String totalFourth; + + @ApiModelProperty(value = "全厂合计-第五年") + /** 全厂合计-第五年 */ + private String totalFifth; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.java new file mode 100644 index 0000000..4fe3420 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 总许可量- 废水排放总许可量要求对象 b_main_allowable_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量- 废水排放总许可量要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainAllowablePollutionWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id + */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id + */ + private String factoryId; + + @ApiModelProperty(value = "许可证id") + /** 许可证id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "申请年排放量限值-第一年") + /** 申请年排放量限值-第一年 */ + private String applyFrist; + + @ApiModelProperty(value = "申请年排放量限值-第二年") + /** 申请年排放量限值-第二年 */ + private String applySecond; + + @ApiModelProperty(value = "申请年排放量限值-第三年") + /** 申请年排放量限值-第三年 */ + private String applyThird; + + @ApiModelProperty(value = "申请年排放量限值-第四年") + /** 申请年排放量限值-第四年 */ + private String applyFourth; + + @ApiModelProperty(value = "申请年排放量限值-第五年") + /** 申请年排放量限值-第五年 */ + private String applyFifth; + + @ApiModelProperty(value = "申请特殊时段排放量限值") + /** 申请特殊时段排放量限值 */ + private String applyDischargeLimitingValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusCountVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusCountVo.java new file mode 100644 index 0000000..b5a6cb7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusCountVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 排放监测及排放情况-大气和废水手工自动占比统计表 + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "排放监测及排放情况-大气和废水手工自动统计数量表") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionAndstatusCountVo { + + @ApiModelProperty(value = "手动监测大气数量") + private BigDecimal permissibleDischargeAtmosphere; + @ApiModelProperty(value = "自动监测大气数量") + private BigDecimal actualDischargeAtmosphere; + @ApiModelProperty(value = "手动监测废水数量") + private BigDecimal permissibleDischargeWater; + @ApiModelProperty(value = "自动监测废水数量") + private BigDecimal actualDischargeWater; + @ApiModelProperty(value = "大气数量") + private BigDecimal atmosphere; + @ApiModelProperty(value = "废水数量") + private BigDecimal water; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusScaleVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusScaleVo.java new file mode 100644 index 0000000..739ba29 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionAndstatusScaleVo.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 排放监测及排放情况-大气和废水手工自动占比统计表 + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "排放监测及排放情况-大气和废水手工自动统计数量表") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionAndstatusScaleVo { + + @ApiModelProperty(value = "手动监测大气占比") + private BigDecimal permissibleDischargeAtmosphereScale; + @ApiModelProperty(value = "自动监测大气占比") + private BigDecimal actualDischargeAtmosphereScale; + @ApiModelProperty(value = "手动监测废水占比") + private BigDecimal permissibleDischargeWaterScale; + @ApiModelProperty(value = "自动监测废水占比") + private BigDecimal actualDischargeWaterScale; + + private List xData; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.java new file mode 100644 index 0000000..9358d31 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + + +/** + * 企业排放信息-在线监测排放趋势-废气对象 b_main_emission_online_mon_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionOnlineMonAirVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String monName; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutionType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private Date monitoningTime; + + @ApiModelProperty(value = "浓度小时均值") + /** 浓度小时均值 */ + private String meanConcentrationHour; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String meanUnit; + + @ApiModelProperty(value = "烟气流量(m3/h)") + /** 烟气流量(m3/h) */ + private String flueGasFlowRate; + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + private String pollutionDischarge; + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + private String whetherEffective; + + @ApiModelProperty(value = "修约排放量(kg)") + /** 修约排放量(kg) */ + private String revisingDischarge; + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + private String revisingExplain; + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + private String inclusionCalculationDischarge; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.java new file mode 100644 index 0000000..ec198bf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + + +/** + * 企业排放信息-在线监测排放趋势-废水对象 b_main_emission_online_mon_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionOnlineMonWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String monName; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutionType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private Date monitoningTime; + + @ApiModelProperty(value = "浓度日均值") + /** 浓度日均值 */ + private String meanConcentrationDay; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String meanUnit; + + @ApiModelProperty(value = "烟气流量(m3/h)") + /** 烟气流量(m3/h) */ + private String flueGasFlowRate; + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + private String pollutionDischarge; + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + private String whetherEffective; + + @ApiModelProperty(value = "修约排放量(kg)") + /** 修约排放量(kg) */ + private String revisingDischarge; + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + private String revisingExplain; + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + private String inclusionCalculationDischarge; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionAirVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionAirVo.java new file mode 100644 index 0000000..69d7d66 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionAirVo.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废气对象 b_main_emission_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionAirVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份 */ + private String pollYear; + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "数据源") + /** 数据源 */ + private String dataSource; + + @ApiModelProperty(value = "SO2实际排放量") + /** SO2实际排放量 */ + private String actuallyEmittingSo2; + + @ApiModelProperty(value = "SO2许可排放量") + /** SO2许可排放量 */ + private String allowableEmissionSo2; + + @ApiModelProperty(value = "NOx实际排放量") + /** NOx实际排放量 */ + private String actuallyEmittingNox; + + @ApiModelProperty(value = "NOx许可排放量") + /** NOx许可排放量 */ + private String allowableEmissionNox; + + @ApiModelProperty(value = "颗粒物实际排放量") + /** 颗粒物实际排放量 */ + private String actuallyEmittingPm; + + @ApiModelProperty(value = "颗粒物许可排放量") + /** 颗粒物许可排放量 */ + private String allowableEmissionPm; + + @ApiModelProperty(value = "VOCs实际排放量") + /** VOCs实际排放量 */ + private String actuallyEmittingVocs; + + @ApiModelProperty(value = "VOCs许可排放量") + /** VOCs许可排放量 */ + private String allowableEmissionVocs; + + @Data + public static class IndustryRank { + private String industryCategory; + + private BigDecimal so2Actually; + private BigDecimal so2Allowable; + private BigDecimal so2Ratio; + private Integer so2Rank; + + private BigDecimal noxActually; + private BigDecimal noxAllowable; + private BigDecimal noxRatio; + private Integer noxRank; + + private BigDecimal pmActually; + private BigDecimal pmAllowable; + private BigDecimal pmRatio; + private Integer pmRank; + + private BigDecimal vocsActually; + private BigDecimal vocsAllowable; + private BigDecimal vocsRatio; + private Integer vocsRank; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionSolidWasteVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionSolidWasteVo.java new file mode 100644 index 0000000..89992be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionSolidWasteVo.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业排放信息-不同污染物年度排放趋势-固废对象 b_main_emission_pollution_solid_waste + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-固废") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionSolidWasteVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份 */ + private String pollYear; + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "数据源") + /** 数据源 */ + private String dataSource; + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别 */ + private String solidWasteType; + + @ApiModelProperty(value = "固体废物名称") + /** 固体废物名称 */ + private String solidWasteName; + + @ApiModelProperty(value = "年度计划产生量") + /** 年度计划产生量 */ + private String annualPlannedOutput; + + @ApiModelProperty(value = "年度实际产生量") + /** 年度实际产生量 */ + private String annualActualProduction; + + @ApiModelProperty(value = "年度贮存量") + /** 年度贮存量 */ + private String annualStorageCapacity; + + @ApiModelProperty(value = "年度转移量") + /** 年度转移量 */ + private String annualTransferVolume; + + @ApiModelProperty(value = "年度自行处置利用量") + /** 年度自行处置利用量 */ + private String annualDisposalUtilization; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.java new file mode 100644 index 0000000..2eeead2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废水对象 b_main_emission_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份 */ + private String pollYear; + + @ApiModelProperty(value = "污染类别") + /** 污染类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "数据源") + /** 数据源 */ + private String dataSource; + + @ApiModelProperty(value = "COD实际排放量") + /** COD实际排放量 */ + private String actuallyEmittingCod; + + @ApiModelProperty(value = "COD许可排放量") + /** COD许可排放量 */ + private String allowableEmissionCod; + + @ApiModelProperty(value = "氨氮实际排放量") + /** 氨氮实际排放量 */ + private String actuallyEmittingNhn; + + @ApiModelProperty(value = "氨氮许可排放量") + /** 氨氮许可排放量 */ + private String allowableEmissionNhn; + + @ApiModelProperty(value = "总氮实际排放量") + /** 总氮实际排放量 */ + private String actuallyEmittingTn; + + @ApiModelProperty(value = "总氮许可排放量") + /** 总氮许可排放量 */ + private String allowableEmissionTn; + + @ApiModelProperty(value = "总磷实际排放量") + /** 总磷实际排放量 */ + private String actuallyEmittingTp; + + @ApiModelProperty(value = "总磷许可排放量") + /** 总磷许可排放量 */ + private String allowableEmissionTp; + + @Data + public static class IndustryRank { + private String industryCategory; + + private BigDecimal codActually; + private BigDecimal codAllowable; + private BigDecimal codRatio; + private Integer codRank; + + private BigDecimal nhhActually; + private BigDecimal nhhAllowable; + private BigDecimal nhhRatio; + private Integer nhhRank; + + private BigDecimal tnActually; + private BigDecimal tnAllowable; + private BigDecimal tnRatio; + private Integer tnRank; + + private BigDecimal tpActually; + private BigDecimal tpAllowable; + private BigDecimal tpRatio; + private Integer tpRank; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.java new file mode 100644 index 0000000..0b2031a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业排放信息-多来源排放量对比-废气对象 b_main_emission_source_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionSourceAirVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份 */ + private String pollYear; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "SO2系统核算排放量") + /** SO2系统核算排放量 */ + private String systematicAccountingSo2; + + @ApiModelProperty(value = "SO2执行报告排放量") + /** SO2执行报告排放量 */ + private String actionReportsSo2; + + @ApiModelProperty(value = "SO2许可排放量") + /** SO2许可排放量 */ + private String permissionSo2; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.java new file mode 100644 index 0000000..6deaccf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业排放信息-多来源排放量对比-废水对象 b_main_emission_source_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionSourceWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份 */ + private String pollYear; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别 */ + private String pollutionCategory; + + @ApiModelProperty(value = "COD系统核算排放量") + /** COD系统核算排放量 */ + private String systematicAccountingCod; + + @ApiModelProperty(value = "COD执行报告排放量") + /** COD执行报告排放量 */ + private String actionReportsCod; + + @ApiModelProperty(value = "COD许可排放量") + /** COD许可排放量 */ + private String permissionCod; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckStepVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckStepVo.java new file mode 100644 index 0000000..4e998a2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckStepVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 移动执法信息-异常任务核查-流程步骤对象 b_main_exception_task_check_step + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-异常任务核查-流程步骤") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainExceptionTaskCheckStepVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "异常任务核查id") + /** 异常任务核查id */ + private String exceptionTaskCheckId; + + @ApiModelProperty(value = "步骤名") + /** 步骤名 */ + private String stepName; + + @ApiModelProperty(value = "操作时间") + /** 操作时间 */ + private String operateTime; + + @ApiModelProperty(value = "操作人名称") + /** 操作人名称 */ + private String operateUserName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.java new file mode 100644 index 0000000..d72b4e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.java @@ -0,0 +1,164 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; +import cn.cecep.talroad.domain.PcOutlet; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@ApiModel(value = "移动执法信息-异常任务核查vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainExceptionTaskCheckVo +{ + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + private String taskName; + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + private String taskSource; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + private String factoryAddr; + + @ApiModelProperty(value = "区域") + /** 区域 */ + private String regionName; + + @ApiModelProperty(value = "是否正面清单") + /** 是否正面清单 */ + private String isFrontList; + + @ApiModelProperty(value = "企业评级") + /** 企业评级 */ + private String factoryGrade; + + @ApiModelProperty(value = "签收时间") + /** 签收时间 */ + private String receiveTime; + + @ApiModelProperty(value = "核查时间") + /** 核查时间 */ + private String checkTime; + + @ApiModelProperty(value = "核查内容") + /** 核查内容 */ + private String checkContent; + + @ApiModelProperty(value = "核查状态") + /** 核查状态 */ + private String checkStatus; + + @ApiModelProperty(value = "核查内容-原因分类") + /** 核查内容-原因分类 */ + private String checkReasonType; + + @ApiModelProperty(value = "核查内容-原因细分") + /** 核查内容-原因细分 */ + private String checkReasonDetail; + + @ApiModelProperty(value = "核查内容-原因") + /** 核查内容-原因 */ + private String checkReason; + + @ApiModelProperty(value = "核查内容-附件") + /** 核查内容-附件 */ + private String checkFileUrl; + private String checkFileName; + + @ApiModelProperty(value = "核查内容-处理意见") + /** 核查内容-处理意见 */ + private String checkDealAdvise; + + @ApiModelProperty(value = "问题情况-是否存在问题") + /** 问题情况-是否存在问题 */ + private String isExistProblem; + + @ApiModelProperty(value = "处罚情况-是否立案处罚") + /** 处罚情况-是否立案处罚 */ + private String isRegisterPunish; + + @ApiModelProperty(value = "处罚情况-附件") + /** 处罚情况-附件 */ + private String punishFileUrl; + private String punishFileName; + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + private String completeTime; + + @ApiModelProperty(value = "办理状态") + /** 办理状态 */ + private String dealStatus; + + @ApiModelProperty(value = "任务状态") + /** 任务状态 */ + private String taskStatus; + + @ApiModelProperty(value = "执法人员,多个使用逗号分隔") + /** 执法人员,多个使用逗号分隔 */ + private String enforceUser; + + @ApiModelProperty(value = "执法方式") + /** 执法方式 */ + private String enforceWay; + + @ApiModelProperty(value = "现场执法原因") + /** 现场执法原因 */ + private String enforceReason; + + @ApiModelProperty(value = "浓度异常趋势-排口id,多个使用逗号分隔") + /** 浓度异常趋势-排口id,多个使用逗号分隔 */ + private String outletIds; + + @ApiModelProperty(value = "异常时间") + private String exceptionTime; + + @ApiModelProperty(value = "问题类型") + private String problemType; + + @ApiModelProperty(value = "查处情况") + private String ccqk; + + @ApiModelProperty(value = "问题描述") + private String problemDesc; + + @ApiModelProperty(value = "立案处罚原因") + private String punishReason; + + @Data + @ApiModel("异常任务核查详情vo") + public static class DetailVo extends BMainExceptionTaskCheckVo { + @ApiModelProperty(value = "排口列表") + private List outlets; + + @ApiModelProperty(value = "异常时间开始") + private String exceptionTimeStart; + + @ApiModelProperty(value = "异常时间开始") + private String exceptionTimeEnd; + + @ApiModelProperty(value = "任务流程步骤") + private List steps; + + @ApiModelProperty(value = "已完成的最后一步步骤号") + private int stepNum; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFactoryVerificationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFactoryVerificationVo.java new file mode 100644 index 0000000..08b6076 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFactoryVerificationVo.java @@ -0,0 +1,120 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 移动执法信息-企业核查对象 b_main_factory_verification + * + * @author szhpt + * @date 2023-03-30*/ +@ApiModel(value = "移动执法信息-企业核查") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainFactoryVerificationVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + private String taskName; + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + private String taskSource; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + private String factoryAddress; + + @ApiModelProperty(value = "所属区域") + /** 所属区域 */ + private String area; + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + private String creditCode; + + @ApiModelProperty(value = "当前办理人") + /** 当前办理人 */ + private String handlePerson; + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + private String completeTime; + + @ApiModelProperty(value = "核查内容") + /** 核查内容 */ + private String verificationContent; + + @ApiModelProperty(value = "核查时间") + /** 核查时间 */ + private String verificationTime; + + @ApiModelProperty(value = "任务状态;任务状态(0=办理中 4=已交办 5=已办结 9=已归档)") + /** 任务状态;任务状态(0=办理中 4=已交办 5=已办结 9=已归档) */ + private String taskStatus; + + @ApiModelProperty(value = "企业类型;1 涉水 2涉气 3固废 4其他") + /** 企业类型;1 涉水 2涉气 3固废 4其他 */ + private String factoryType; + + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + /** 是否现场执法;0 否 1 是 */ + private String isLawEnforcement; + + @ApiModelProperty(value = "下达隐患提示函;0 否 1 是") + /** 下达隐患提示函;0 否 1 是 */ + private String isHiddenDangerReminder; + + @ApiModelProperty(value = "是否存在问题;0 否 1 是") + /** 是否存在问题;0 否 1 是 */ + private String isProblem; + + @ApiModelProperty(value = "执法人员名称") + /** 执法人员名称 */ + private String lawEnforcementPerson; + + @ApiModelProperty(value = "执法小结") + /** 执法小结 */ + private String enforcementSummary; + + @ApiModelProperty(value = "备注信息") + /** 备注信息 */ + private String remark; + + @ApiModelProperty(value = "证据清单") + /** 证据清单 */ + private String evidenceList; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFileVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFileVo.java new file mode 100644 index 0000000..380a4a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainFileVo.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@ApiModel(value = "系统附件。") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainFileVo { + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "附件名称") + private String fileName; + + @ApiModelProperty(value = "附件路径") + private String filePath; + + @ApiModelProperty(value = "附件所属的业务来源 见FileConstant.Source枚举类") + private String businessSource; + + @ApiModelProperty(value = "业务id") + private String businessId; + + @ApiModelProperty(value = "创建人") + private String createBy; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModel(value = "系统附件-表单") + @Data + public static class FormVo { + @ApiModelProperty(value = "附件名称") + private String fileName; + + @ApiModelProperty(value = "附件路径") + private String filePath; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteCrVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteCrVo.java new file mode 100644 index 0000000..206703a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteCrVo.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 固体废物环境管理要求对象 b_main_hazardous_solid_waste_cr + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "固体废物环境管理要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteCrVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "设施类型") + /** 设施类型*/ + private String solidWasteType; + + @ApiModelProperty(value = "管理要求") + /** 管理要求*/ + private String controlRequirements; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.java new file mode 100644 index 0000000..dcbb506 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 自行贮存和自行利用处置设施信息对象 b_main_hazardous_solid_waste_fa + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "自行贮存和自行利用处置设施信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteFaVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别*/ + @Excel(name = "固体废物类别",sort = 9) + private String solidWasteType; + + @ApiModelProperty(value = "设施名称") + /** 设施名称*/ + @Excel(name = "设施名称",sort = 10) + private String facilityName; + + @ApiModelProperty(value = "设施编号") + /** 设施编号*/ + @Excel(name = "设施编号",sort = 11) + private String facilityCode; + + @ApiModelProperty(value = "设施类型") + /** 设施类型*/ + @Excel(name = "设施类型",sort = 12) + private String facilityType; + + @ApiModelProperty(value = "经度") + /** 经度*/ + @Excel(name = "位置-经度",sort = 13) + private String lon; + + @ApiModelProperty(value = "纬度") + /** 纬度*/ + @Excel(name = "位置-纬度",sort = 14) + private String lat; + + @ApiModelProperty(value = "污染防控技术要求") + /** 污染防控技术要求*/ + @Excel(name = "污染防控技术要求",sort = 15) + private String polluteTechnicalRequirements; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "排污许可证编码") + /** 排污许可证编码 */ + @Excel(name = "排污许可证编码",sort = 1) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + @Excel(name = "市编码") + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + @Excel(name = "市名称") + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + @Excel(name = "县编码") + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.java new file mode 100644 index 0000000..120d335 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 固体废物排放信息对象 b_main_hazardous_solid_waste_le + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteLeVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "固体废物id") + /** 固体废物id*/ + private String solidWasteId; + + @ApiModelProperty(value = "自行处置量(t/a)") + /** 自行处置量(t/a)*/ + private String selfDisposalVolume; + + @ApiModelProperty(value = "委托处置量") + /** 委托处置量*/ + private String entrustedDisposalVolume; + + @ApiModelProperty(value = "外委处置单位名称") + /** 外委处置单位名称*/ + private String entrustedDisposalUnitName; + + @ApiModelProperty(value = "危险废物处置单位名称") + /** 危险废物处置单位名称*/ + private String hazardousWasteUnitName; + + @ApiModelProperty(value = "危险废物处置单位经营许可证编号") + /** 危险废物处置单位经营许可证编号*/ + private String hazardousWasteLicenceCode; + + @ApiModelProperty(value = "自行贮存设施名称") + /** 自行贮存设施名称*/ + private String storageFacilityName; + + @ApiModelProperty(value = "自行贮存设施编号") + /** 自行贮存设施编号*/ + private String storageFacilityCode; + + @ApiModelProperty(value = "视频监控") + /** 视频监控*/ + private String videoSurveillance; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteVo.java new file mode 100644 index 0000000..5ada49c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousSolidWasteVo.java @@ -0,0 +1,133 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 固体废物基础信息对象 b_main_hazardous_solid_waste + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物基础信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "固体废物类别") + /** 固体废物类别*/ + @Excel(name = "固体废物类别",sort = 9) + private String solidWasteType; + + @ApiModelProperty(value = "固体废物名称") + /** 固体废物名称*/ + @Excel(name = "固体废物名称",sort = 10) + private String solidWasteName; + + @ApiModelProperty(value = "代码") + /** 代码*/ + @Excel(name = "代码",sort = 11) + private String solidWasteCode; + + @ApiModelProperty(value = "危险特性") + /** 危险特性*/ + @Excel(name = "危险特性",sort = 12) + private String hazardousCharacteristics; + + @ApiModelProperty(value = "类别") + /** 类别*/ + @Excel(name = "类别",sort = 13) + private String category; + + @ApiModelProperty(value = "物理性状") + /** 物理性状*/ + @Excel(name = "物理性状",sort = 14) + private String physicalCharacteristics; + + @ApiModelProperty(value = "产生环节") + /** 产生环节*/ + @Excel(name = "产生环节",sort = 15) + private String productionLink; + + @ApiModelProperty(value = "去向") + /** 去向*/ + @Excel(name = "去向",sort = 16) + private String whereAbouts; + + @ApiModelProperty(value = "备注") + /** 备注*/ + @Excel(name = "备注",sort = 17) + private String remark; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "排污许可证编码",sort = 1) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + @Excel(name = "市编码") + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + @Excel(name = "市名称") + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + @Excel(name = "县编码") + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + /** 排污许可行业名称 */ + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.java new file mode 100644 index 0000000..9740ce2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 危废产生与处理对象 b_main_hazardous_waste_output + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "危废产生与处理") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousWasteOutputVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份*/ + private String particularYear; + + @ApiModelProperty(value = "月份") + /** 月份*/ + private String particularMonth; + + @ApiModelProperty(value = "废物类别") + /** 废物类别*/ + private String materialsType; + + @ApiModelProperty(value = "废物代码") + /** 废物代码*/ + private String materialsCode; + + @ApiModelProperty(value = "废物名称") + /** 废物名称*/ + private String materialsName; + + @ApiModelProperty(value = "上月贮存量") + /** 上月贮存量*/ + private String materialsLastMonth; + + @ApiModelProperty(value = "产生量") + /** 产生量*/ + private String materialsOutput; + + @ApiModelProperty(value = "修正量") + /** 修正量*/ + private String materialsAllowance; + + @ApiModelProperty(value = "转移量") + /** 转移量*/ + private String materialsAsFollows; + + @ApiModelProperty(value = "利用处置量") + /** 利用处置量*/ + private String materialsUse; + + @ApiModelProperty(value = "期末库存") + /** 期末库存*/ + private String materialsRepertory; + + @ApiModelProperty(value = "期末超一年库存") + /** 期末超一年库存*/ + private String materialsRepertoryYear; + + @ApiModelProperty(value = "计量单位") + /** 计量单位*/ + private String unit; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainMobileEnforcementVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainMobileEnforcementVo.java new file mode 100644 index 0000000..031b626 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainMobileEnforcementVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 移动执法信息对象 b_main_mobile_enforcement + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "移动执法信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainMobileEnforcementVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "任务类型") + /** 任务类型*/ + private String taskType; + + @ApiModelProperty(value = "检查人") + /** 检查人*/ + private String enforcementPersion; + + @ApiModelProperty(value = "检查时间") + /** 检查时间*/ + private String enforcementTime; + + @ApiModelProperty(value = "执法小结") + /** 执法小结*/ + private String enforcementNodulus; + + @ApiModelProperty(value = "处理意见及相关要求") + /** 处理意见及相关要求*/ + private String enforcementOpinion; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainNoiseEmissionsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainNoiseEmissionsVo.java new file mode 100644 index 0000000..e3027b7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainNoiseEmissionsVo.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 噪声排放信息对象 b_main_noise_emissions + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "噪声排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainNoiseEmissionsVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "噪声类别id") + /** 噪声类别id*/ + private String noiseTypeId; + + @ApiModelProperty(value = "生产时间段-昼间") + /** 生产时间段-昼间*/ + private String productionPeriodDaytime; + + @ApiModelProperty(value = "生产时间段-夜间") + /** 生产时间段-夜间*/ + private String productionPeriodNighttime +; + + @ApiModelProperty(value = "执行排放标准") + /** 执行排放标准*/ + private String implementationEmissionStandards; + + @ApiModelProperty(value = "厂界噪声排放限值昼间dB(a)") + /** 厂界噪声排放限值昼间dB(a)*/ + private String noiseEmissionsDaytime; + + @ApiModelProperty(value = "厂界噪声排放限值夜间dB(a)") + /** 厂界噪声排放限值夜间dB(a)*/ + private String noiseEmissionsNighttime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEmlRecordVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEmlRecordVo.java new file mode 100644 index 0000000..4b362de --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEmlRecordVo.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可环境管理台账对象 b_main_poll_dis_eml_record + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理台账") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisEmlRecordVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long emlId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息",sort = 13) + private String othersInformation; + + @ApiModelProperty(value = "主要内容") + /** 主要内容 */ + private String mainContent; + + @ApiModelProperty(value = "上报频次") + /** 上报频次 */ + private String reportingFrequency; + + @ApiModelProperty(value = "类别") + /** 类别 */ + @Excel(name = "类别",sort = 9) + private String emlType; + + @ApiModelProperty(value = "记录内容") + /** 记录内容 */ + @Excel(name = "记录内容",sort = 10) + private String recordContent; + + @ApiModelProperty(value = "记录频次") + /** 记录频次 */ + @Excel(name = "记录频次",sort = 11) + private String recordFrequency; + + @ApiModelProperty(value = "记录形式") + /** 记录形式 */ + @Excel(name = "记录形式",sort = 12) + private String openContent; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编号",sort = 1) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEnforcementVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEnforcementVo.java new file mode 100644 index 0000000..5048af2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisEnforcementVo.java @@ -0,0 +1,112 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可执行守法报告对象 b_main_poll_dis_enforcement + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可执行守法报告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisEnforcementVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long enforcementId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "类别") + /** 类别 */ + private String emlType; + + @ApiModelProperty(value = "记录内容") + /** 记录内容 */ + @Excel(name = "主要内容",sort = 9) + private String recordContent; + + @ApiModelProperty(value = "记录频次") + /** 记录频次 */ + @Excel(name = "上报频次",sort = 10) + private String recordFrequency; + + @ApiModelProperty(value = "记录形式") + /** 记录形式 */ + private String openContent; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息",sort = 11) + private String otherInformation; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编号",sort = 1) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisFileVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisFileVo.java new file mode 100644 index 0000000..a5f5bba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisFileVo.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可附件信息对象 b_main_poll_dis_file + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可附件信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisFileVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long fileId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "文件类型名称") + /** 文件类型名称 */ + private String fileType; + + @ApiModelProperty(value = "文件名称") + /** 文件名称 */ + private String fileName; + + @ApiModelProperty(value = "文件地址") + /** 文件地址 */ + private String fileUrl; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasMoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasMoutVo.java new file mode 100644 index 0000000..f6da9c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasMoutVo.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可大气主排放口对象 b_main_poll_dis_gas_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气主排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasMoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long moutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + private String outletUseTotal; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值 */ + private String pollutantsMgHour; + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值 */ + private String pollutantsMgDay; + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + private String pollutantsMgRate; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值 */ + private String exactDemandsPollutantsMg; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.java new file mode 100644 index 0000000..078a97b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可大气一般排放口对象 b_main_poll_dis_gas_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气一般排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasOoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long ooutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + private String outletUseTotal; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值 */ + private String pollutantsMgHour; + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值 */ + private String pollutantsMgDay; + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + private String pollutantsMgRate; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值 */ + private String exactDemandsPollutantsMg; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.java new file mode 100644 index 0000000..ac833f1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可大气特殊情况对象 b_main_poll_dis_gas_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气特殊情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasSoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long soutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物类型") + /** 污染物类型 */ + private String pollutantType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "许可排放时段") + /** 许可排放时段 */ + private String pollutantsTimeFrame; + + @ApiModelProperty(value = "许可排放浓度限值") + /** 许可排放浓度限值 */ + private String pollutantsConcentration; + + @ApiModelProperty(value = "许可日排放量限值") + /** 许可日排放量限值 */ + private String pollutantsDisDay; + + @ApiModelProperty(value = "许可月排放量限值") + /** 许可月排放量限值 */ + private String pollutantsDisMonth; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasToutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasToutVo.java new file mode 100644 index 0000000..5138f72 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisGasToutVo.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可大气排放总计对象 b_main_poll_dis_gas_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasToutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long toutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisInformationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisInformationVo.java new file mode 100644 index 0000000..14023d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisInformationVo.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可信息公开对象 b_main_poll_dis_information + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可信息公开") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisInformationVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long informationId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "公开方式") + /** 公开方式 */ + @Excel(name = "公开方式",sort = 9) + private String openProcedure; + + @ApiModelProperty(value = "时间节点") + /** 时间节点 */ + @Excel(name = "时间节点",sort = 10) + private String timeNodes; + + @ApiModelProperty(value = "公开内容") + /** 公开内容 */ + @Excel(name = "公开内容",sort = 11) + private String openContent; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + @Excel(name = "其他信息",sort = 12) + private String otherInformation; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "许可证编号") + @Excel(name = "许可证编号",sort = 1) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRegulationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRegulationVo.java new file mode 100644 index 0000000..fc6dbc7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRegulationVo.java @@ -0,0 +1,101 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可其他许可改正规定对象 b_main_poll_dis_noise_regulation + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可改正规定") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseRegulationVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long regulationId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "整改问题") + /** 整改问题 */ + @Excel(name = "整改问题", sort = 9) + private String rectificationProblem; + + @ApiModelProperty(value = "整改措施") + /** 整改措施 */ + @Excel(name = "整改措施", sort = 10) + private String rectificationMeasures; + + @ApiModelProperty(value = "整改时限") + /** 整改时限 */ + @Excel(name = "整改时限", sort = 11) + private String rectificationTime; + + @ApiModelProperty(value = "整改计划") + /** 整改计划 */ + @Excel(name = "整改计划", sort = 12) + private String rectificationPlan; + + @ApiModelProperty(value = "是否完成整改") + /** 是否完成整改 */ + @Excel(name = "是否完成整改", sort = 13,readConverterExp = "0=否,1=是") + private String rectificationIsComplete; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编号",sort = 1) + private String pollDisLicenseCode; + + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.java new file mode 100644 index 0000000..96cbf48 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可环境管理要求对象 b_main_poll_dis_noise_require + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseRequireVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long requireId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "大气环境管理要求") + /** 大气环境管理要求 */ + private String requireGas; + + @ApiModelProperty(value = "水环境管理要求") + /** 水环境管理要求 */ + private String requireWater; + + @ApiModelProperty(value = "土壤污染防治要求") + /** 土壤污染防治要求 */ + private String requireSoil; + + @ApiModelProperty(value = "固体废物污染环境要求") + /** 固体废物污染环境要求 */ + private String requireSolid; + + @ApiModelProperty(value = "其他控制及管理要求") + /** 其他控制及管理要求 */ + private String otherInformationRequire; + + @ApiModelProperty(value = "其他许可的内容") + /** 其他许可的内容 */ + private String requireOthers; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseVo.java new file mode 100644 index 0000000..1acbb6f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisNoiseVo.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可其他许可噪声排放对象 b_main_poll_dis_noise + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可噪声排放") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long noiseId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "噪声类别") + /** 噪声类别 */ + private String noiseType; + + @ApiModelProperty(value = "生产时段昼间") + /** 生产时段昼间 */ + private String productionTimeDay; + + @ApiModelProperty(value = "生产时段夜间") + /** 生产时段夜间 */ + private String productionTimeNight; + + @ApiModelProperty(value = "执行排放标准名称") + /** 执行排放标准名称 */ + private String emissionStandardsName; + + @ApiModelProperty(value = "厂界噪声排放限制昼间") + /** 厂界噪声排放限制昼间 */ + private String noiseOuelatDay; + + @ApiModelProperty(value = "厂界噪声排放限制夜间") + /** 厂界噪声排放限制夜间 */ + private String noiseOuelatNight; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + private String otherInformation; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.java new file mode 100644 index 0000000..16dba39 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.java @@ -0,0 +1,90 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可自行监测记录对象 b_main_poll_dis_self_mon_other + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisSelfMonOtherVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long monOtherId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantType; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "监测内容") + /** 监测内容 */ + private String monitoringContent; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String pollutantsName; + + @ApiModelProperty(value = "监测设施") + /** 监测设施 */ + private String monitoringFacility; + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网 */ + private String monitoringAutomaticNetworking; + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称 */ + private String monitoringAutomaticName; + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置 */ + private String monitoringAutomaticAddress; + + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + /** 自动监测实施是否符合管理要求 */ + private String monitoringAutomaticRequire; + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数 */ + private String monitoringManualSampling; + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次 */ + private String monitoringManualFrequency; + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法 */ + private String monitoringManualMeans; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + private String otherInformation; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonVo.java new file mode 100644 index 0000000..d0c5824 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisSelfMonVo.java @@ -0,0 +1,90 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可自行监测要求对象 b_main_poll_dis_self_mon + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisSelfMonVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long monId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantType; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "监测内容") + /** 监测内容 */ + private String monitoringContent; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String pollutantsName; + + @ApiModelProperty(value = "监测设施") + /** 监测设施 */ + private String monitoringFacility; + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网 */ + private String monitoringAutomaticNetworking; + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称 */ + private String monitoringAutomaticName; + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置 */ + private String monitoringAutomaticAddress; + + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + /** 自动监测实施是否符合管理要求 */ + private String monitoringAutomaticRequire; + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数 */ + private String monitoringManualSampling; + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次 */ + private String monitoringManualFrequency; + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法 */ + private String monitoringManualMeans; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + private String otherInformation; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisVo.java new file mode 100644 index 0000000..8d5c268 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisVo.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + + +/** + * 排污许可对象 b_main_poll_dis + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "许可证编号") + /** 许可证编号 */ + private String pollDisLicenseCode; + + @ApiModelProperty(value = "业务类型") + /** 业务类型 */ + private String businessType; + + @ApiModelProperty(value = "版本") + /** 版本 */ + private String editionCode; + + @ApiModelProperty(value = "办结日期") + /** 办结日期 */ + private Date completionTime; + + @ApiModelProperty(value = "有效期限") + /** 有效期限 */ + private String pollDisLicenseDeadline; + + @ApiModelProperty(value = "许可证正本") + /** 许可证正本 */ + private String pollDisOriginal; + + @ApiModelProperty(value = "许可证副本") + /** 许可证副本 */ + private String pollDisEctype; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterMoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterMoutVo.java new file mode 100644 index 0000000..54415aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterMoutVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可水污染物主排放口对象 b_main_poll_dis_water_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物主排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterMoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long moutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + private String outletUseTotal; + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + private String pollutantsMgRate; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterOoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterOoutVo.java new file mode 100644 index 0000000..e1e1726 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterOoutVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可水污染物一般排放口对象 b_main_poll_dis_water_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物一般排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterOoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long ooutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口是否合计") + /** 排放口是否合计 */ + private String outletUseTotal; + + @ApiModelProperty(value = "许可排放速率限值") + /** 许可排放速率限值 */ + private String pollutantsMgRate; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.java new file mode 100644 index 0000000..ecaff4e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可水污染物特殊情况对象 b_main_poll_dis_water_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物特殊情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterSoutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long soutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantType; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "许可排放时段") + /** 许可排放时段 */ + private String pollutantsTimeFrame; + + @ApiModelProperty(value = "许可排放浓度限值") + /** 许可排放浓度限值 */ + private String pollutantsConcentration; + + @ApiModelProperty(value = "许可日排放量限值") + /** 许可日排放量限值 */ + private String pollutantsDis; + + @ApiModelProperty(value = "其他信息") + /** 其他信息 */ + private String otherDetail; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.java new file mode 100644 index 0000000..851edda --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污许可水污染物排放总计对象 b_main_poll_dis_water_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterToutVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long toutId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可表id") + /** 排污许可表id */ + private String pollDisId; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + @ApiModelProperty(value = "第一年") + /** 第一年 */ + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + /** 第二年 */ + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + /** 第三年 */ + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + /** 第四年 */ + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + /** 第五年 */ + private String pollutantsTotalFifth; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionInorgGasVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionInorgGasVo.java new file mode 100644 index 0000000..4e48282 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionInorgGasVo.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 废气无组织排放产治排信息对象 b_main_production_inorg_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气无组织排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionInorgGasVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "许可证无组织监测点位名称") + /** 许可证无组织监测点位名称 */ + private String licenceMonName; + + @ApiModelProperty(value = "监测类型") + /** 监测类型 */ + private String monitoringType; + + @ApiModelProperty(value = "无组织监测点位") + /** 无组织监测点位 */ + private String monitoringInorganization; + + @ApiModelProperty(value = "主要污染防治措施") + /** 主要污染防治措施 */ + private String pollutionPrevention; + + @ApiModelProperty(value = "产污环节") + /** 产污环节 */ + private String pollutionProductionLink; + + @ApiModelProperty(value = "对应生产设施编号") + /** 对应生产设施编号 */ + private String correspondingProductionCode; + + @ApiModelProperty(value = "视频监控") + /** 视频监控 */ + private String devId; + + @ApiModelProperty(value = "对应生产设施名称") + /** 对应生产设施名称 */ + private String correspondingProductionName; + + @ApiModelProperty(value = "生产设施参数") + /** 生产设施参数 */ + private String proFacilityParam; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutionType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.java new file mode 100644 index 0000000..45cf517 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气有组织排放产治排信息对象 b_main_production_organiz_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气有组织排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionOrganizGasVo +{ + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口类型") + /** 排放口类型 */ + private String outletType; + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型 */ + private String outletMonType; + + @ApiModelProperty(value = "治理设施编号") + /** 治理设施编号 */ + private String cepFacilityCode; + + @ApiModelProperty(value = "治理设施名称") + /** 治理设施名称 */ + private String cepFacilityName; + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺 */ + private String cepFacilityCraft; + + @ApiModelProperty(value = "生产设施编号") + /** 生产设施编号 */ + private String proFacilityCode; + + @ApiModelProperty(value = "生产设施名称") + /** 生产设施名称 */ + private String proFacilityName; + + @ApiModelProperty(value = "视频监控") + /** 视频监控 */ + private Long devId; + + @ApiModelProperty(value = "生产设施参数") + /** 生产设施参数 */ + private String proFacilityParam; + + @ApiModelProperty(value = "对应产污环节名称") + /** 对应产污环节名称 */ + private String pollutionProductionLink; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutionType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionWaterVo.java new file mode 100644 index 0000000..81d6698 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainProductionWaterVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 废水排放产治排信息对象 b_main_production_water + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废水排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口类型") + /** 排放口类型 */ + private String outletType; + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型 */ + private String outletMonType; + + @ApiModelProperty(value = "治理设施编号") + /** 治理设施编号 */ + private String cepFacilityCode; + + @ApiModelProperty(value = "治理设施名称") + /** 治理设施名称 */ + private String cepFacilityName; + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺 */ + private String cepFacilityCraft; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutionType; + + @ApiModelProperty(value = "废水类别") + /** 废水类别 */ + private String waterType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidHazardousVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidHazardousVo.java new file mode 100644 index 0000000..720de75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidHazardousVo.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 固危废贮存信息对象 b_main_solid_hazardous + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "固危废贮存信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainSolidHazardousVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "自行贮存设施名称") + /** 自行贮存设施名称 */ + private String facilityName; + + @ApiModelProperty(value = "自行贮存设施编号") + /** 自行贮存设施编号 */ + private String facilityCode; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.java new file mode 100644 index 0000000..8352baa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 固废产生与处理对象 b_main_solid_waste_output + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固废产生与处理") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainSolidWasteOutputVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份*/ + private String particularYear; + + @ApiModelProperty(value = "月份") + /** 月份*/ + private String particularMonth; + + @ApiModelProperty(value = "废物类别") + /** 废物类别*/ + private String materialsType; + + @ApiModelProperty(value = "废物代码") + /** 废物代码*/ + private String materialsCode; + + @ApiModelProperty(value = "废物名称") + /** 废物名称*/ + private String materialsName; + + @ApiModelProperty(value = "产生量(吨)") + /** 产生量(吨)*/ + private String materialsOutput; + + @ApiModelProperty(value = "期初贮存量") + /** 期初贮存量*/ + private String materialsPreliminaryStage; + + @ApiModelProperty(value = "累计贮存量") + /** 累计贮存量*/ + private String materialsAccumulated; + + @ApiModelProperty(value = "自行利用数量") + /** 自行利用数量*/ + private String materialsUse; + + @ApiModelProperty(value = "自行处置数量") + /** 自行处置数量*/ + private String materialsDispose; + + @ApiModelProperty(value = "委托利用数量") + /** 委托利用数量*/ + private String materialsEntrustUse; + + @ApiModelProperty(value = "委托处置数量") + /** 委托处置数量*/ + private String materialsEntrustDispose; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSysFeedbackVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSysFeedbackVo.java new file mode 100644 index 0000000..bc55855 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainSysFeedbackVo.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import java.util.Date; +import java.util.List; + +@ApiModel(value = "系统使用反馈vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainSysFeedbackVo { + private String id; + + @ApiModelProperty(value = "反馈类型 1:系统问题, 2:功能建议") + private String type; + + @ApiModelProperty(value = "反馈内容") + private String content; + + @ApiModelProperty(value = "反馈人") + private String feedbackUser; + + @ApiModelProperty(value = "联系电话") + private String phone; + + @ApiModelProperty(value = "附件列表") + private List files; + + @ApiModelProperty(value = "反馈状态 1:未读, 2:已读") + private String status; + + @ApiModelProperty(value = "创建人") + private String createByName; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModel(value = "系统使用反馈列表搜索条件vo") + @Data + public static class SearchVo extends PageQuery { + @ApiModelProperty(value = "反馈类型 1:系统问题, 2:功能建议") + private String type; + + @ApiModelProperty(value = "反馈内容") + private String content; + + @ApiModelProperty(value = "反馈状态 1:未读, 2:已读") + private String status; + } + + @ApiModel(value = "系统使用反馈新增表单") + @Data + public static class AddForm { + @NotBlank(message = "反馈类型不能为空") + @ApiModelProperty(value = "反馈类型 1:系统问题, 2:功能建议") + private String type; + + @NotBlank(message = "反馈内容不能为空") + @ApiModelProperty(value = "反馈内容") + private String content; + + @NotBlank(message = "反馈人不能为空") + @ApiModelProperty(value = "反馈人") + private String feedbackUser; + + @NotBlank(message = "联系电话不能为空") + @ApiModelProperty(value = "联系电话") + private String phone; + + @ApiModelProperty(value = "附件列表") + private List files; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcRecordVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcRecordVo.java new file mode 100644 index 0000000..e02730e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcRecordVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 三监联动执法信息记录对象 b_main_three_supervision_enforc_record + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainThreeSupervisionEnforcRecordVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String recordId; + + @ApiModelProperty(value = "父任务id") + /** 父任务id */ + private String taskId; + + @ApiModelProperty(value = "办理部门") + /** 办理部门 */ + private String handleDeptId; + + @ApiModelProperty(value = "办理部门名称") + /** 办理部门名称 */ + private String handleDeptName; + + @ApiModelProperty(value = "实际办理人员") + /** 实际办理人员 */ + private String handlePerson; + + @ApiModelProperty(value = "办理时间") + /** 办理时间 */ + private String handleTime; + + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + /** 是否现场执法;0 否 1 是 */ + private String isEnforcement; + + @ApiModelProperty(value = "结论(多个结论逗号分割)") + /** 结论(多个结论逗号分割) */ + private String conclusion; + + @ApiModelProperty(value = "具体结论") + /** 具体结论 */ + private String specificConclusion; + + @ApiModelProperty(value = "问题附件") + /** 问题附件 */ + private String questionAttachment; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.java new file mode 100644 index 0000000..02276b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + +/** + * 三监联动执法信息对象 b_main_three_supervision_enforc + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainThreeSupervisionEnforcVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String taskId; + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + private String taskName; + + @ApiModelProperty(value = "排污单位") + /** 排污单位 */ + private String factoryId; + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + private String factoryName; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + private String districtName; + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + @ApiModelProperty(value = "所属行业名称") + /** 所属行业名称 */ + private String industryCategoryName; + + @ApiModelProperty(value = "所属行业编码") + /** 所属行业编码 */ + private String industryCategoryCode; + + @ApiModelProperty(value = "管理类别;(重点=focus、简化=simplify、登记=register)") + /** 管理类别;(重点=focus、简化=simplify、登记=register) */ + private String manType; + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + private String industryCategory; + + @ApiModelProperty(value = "办结时间") + /** 办结时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date closingTime; + + @ApiModelProperty(value = "归档时间") + /** 归档时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date archiveTime; + + @ApiModelProperty(value = "任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档)") + /** 任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档) */ + private String taskStatus; + + @ApiModelProperty(value = "发起时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date initiatingTime; + + @ApiModelProperty(value = "发起部门id") + /** 发起部门id */ + private String initiatingDeptId; + + @ApiModelProperty(value = "发起部门名称") + /** 发起部门名称 */ + private String initiatingDeptName; + + @ApiModelProperty(value = "紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急)") + /** 紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急) */ + private String emergencyLevel; + + @ApiModelProperty(value = "预计完成时间") + /** 预计完成时间 */ + private Date estimatedCompletionTime; + + @ApiModelProperty(value = "单位地址") + /** 单位地址 */ + private String factoryAddress; + + @ApiModelProperty(value = "具体问题") + /** 具体问题 */ + private String specificIssues; + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + private String taskDetails; + + @ApiModelProperty(value = "问题附件") + /** 问题附件 */ + private String questionAttachment; + + @ApiModelProperty(value = "接受部门ids") + /** 接受部门ids */ + private String receivingDeptIds; + + @ApiModelProperty(value = "接受部门名称(逗号分割)") + /** 接受部门名称(逗号分割) */ + private String receivingDeptNames; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createTime; + + private List receivingDeptList; + + private List recordList; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.java new file mode 100644 index 0000000..74888ce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 移动执法信息-双随机任务-流程步骤对象 b_main_two_random_task_step + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-双随机任务-流程步骤") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainTwoRandomTaskStepVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "双随机任务id") + /** 双随机任务id */ + private String twoRandomTaskId; + + @ApiModelProperty(value = "步骤名") + /** 步骤名 */ + private String stepName; + + @ApiModelProperty(value = "操作时间") + /** 操作时间 */ + private String operateTime; + + @ApiModelProperty(value = "操作人名称") + /** 操作人名称 */ + private String operateUserName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskVo.java new file mode 100644 index 0000000..f62fe16 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BMainTwoRandomTaskVo.java @@ -0,0 +1,154 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 移动执法信息-双随机任务对象 b_main_two_random_task + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-双随机任务") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainTwoRandomTaskVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "任务类型") + /** 任务类型 */ + private String taskType; + + @ApiModelProperty(value = "任务状态") + /** 任务状态 */ + private String taskStatus; + + @ApiModelProperty(value = "执法人员") + /** 执法人员 */ + private String enforceUser; + + @ApiModelProperty(value = "当前办理人") + /** 当前办理人 */ + private String currentDealUser; + + @ApiModelProperty(value = "联合抽查部门") + /** 联合抽查部门 */ + private String checkDept; + + @ApiModelProperty(value = "联合抽查人") + /** 联合抽查人 */ + private String checkUser; + + @ApiModelProperty(value = "计划完成时间") + /** 计划完成时间 */ + private String planCompleteTime; + + @ApiModelProperty(value = "完成时间") + /** 完成时间 */ + private String completeTime; + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + private String taksDesc; + + @ApiModelProperty(value = "企业类别") + /** 企业类别 */ + private String factoryType; + + @ApiModelProperty(value = "法定代表人") + /** 法定代表人 */ + private String factoryPrincipalMan; + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + private String factoryAddr; + + @ApiModelProperty(value = "统一信用编码") + /** 统一信用编码 */ + private String factoryUscCode; + + @ApiModelProperty(value = "排污许可证号") + /** 排污许可证号 */ + private String factoryPollDisLicenseCode; + + @ApiModelProperty(value = "环保负责人") + /** 环保负责人 */ + private String factoryEnvUser; + + @ApiModelProperty(value = "联系电话") + /** 联系电话 */ + private String factoryPhone; + + @ApiModelProperty(value = "企业类型") + /** 企业类型 */ + private String factoryPollutantType; + + @ApiModelProperty(value = "企业状态") + /** 企业状态 */ + private String factoryStatus; + + @ApiModelProperty(value = "在线监测情况") + /** 在线监测情况 */ + private String factoryMonitor; + + @ApiModelProperty(value = "内部联合抽查") + /** 内部联合抽查 */ + private String isInnerCheck; + + @ApiModelProperty(value = "现场执法") + /** 现场执法 */ + private String isSceneEnforce; + + @ApiModelProperty(value = "非现场执法") + /** 非现场执法 */ + private String noSceneEnforce; + + @ApiModelProperty(value = "涉及环境问题") + /** 涉及环境问题 */ + private String withEnvProblem; + + @ApiModelProperty(value = "下达隐患提示函") + /** 下达隐患提示函 */ + private String isHiddenTroubleLetter; + + @ApiModelProperty(value = "公示结果") + /** 公示结果 */ + private String publicResult; + + @ApiModelProperty(value = "执法结论") + /** 执法结论 */ + private String enforceConclusion; + + @ApiModelProperty(value = "核查结论备注") + /** 核查结论备注 */ + private String checkRemarks; + + @ApiModelProperty(value = "证据清单附件") + /** 证据清单附件 */ + private String evidenceFileUrl; + private String evidenceFileName; + + @ApiModelProperty(value = "流程步骤") + private List steps; + + @ApiModelProperty(value = "已完成的最后一步步骤号") + private int stepNum; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductionFacilitiesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductionFacilitiesVo.java new file mode 100644 index 0000000..f882f18 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductionFacilitiesVo.java @@ -0,0 +1,124 @@ +package cn.cecep.talroad.vo; + +//import cn.cecep.talroad.common.core.annotation.ExcelNew; +import cn.cecep.talroad.domain.BStatTablePwxkProductionFacilitiesParams; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class BStatTablePwxkProductionFacilitiesVo { + + private Long id; + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ +// @ExcelNew(needMerge = true,name = "排污单位名称",sort = 2) + private String factoryName; + + @ApiModelProperty(value = "县名称") + /** 县名称 */ +// @ExcelNew(needMerge = true,name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ +// @ExcelNew(needMerge = true,name = "管理类别",sort = 3) + private String licenseManType; + + @ApiModelProperty(name = "排污许可行业名称") +// @ExcelNew(needMerge = true,name = "行业",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ +// @ExcelNew(needMerge = true,name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ +// @ExcelNew(needMerge = true,name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ +// @ExcelNew(needMerge = true,name = "所属流域",sort = 5) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + /** 排污许可证编码 */ +// @ExcelNew(needMerge = true,name = "许可证编号",sort = 1) + private String pollDisLicenseCode; + /** + * 生产线类型 + */ + @TableField(value = "production_line_type") + @ApiModelProperty(value = "生产线类型") +// @ExcelNew(needMerge = true,name = "生产线类型",sort = 9) + private String productionLineType; + + /** + * 生产线编号 + */ + @TableField(value = "production_line_code") + @ApiModelProperty(value = "生产线编号") +// @ExcelNew(needMerge = true,name = "生产线编号",sort = 10) + private String productionLineCode; + + /** + * 主要生产单元名称 + */ + @TableField(value = "production_unit_name") + @ApiModelProperty(value = "主要生产单元名称") +// @ExcelNew(needMerge = true,name = "主要生产单元名称",sort = 11) + private String productionUnitName; + + /** + * 主要工艺名称 + */ + @TableField(value = "craft_name") + @ApiModelProperty(value = "主要工艺名称") +// @ExcelNew(needMerge = true,name = "主要工艺名称",sort = 12) + private Short craftName; + + /** + * 生产设施名称 + */ + @TableField(value = "facility_name") + @ApiModelProperty(value = "生产设施名称") +// @ExcelNew(needMerge = true,name = "生产设施名称",sort = 13) + private String facilityName; + + /** + * 是否涉及商业秘密(0否1是) + */ + @TableField(value = "trade_secrets") + @ApiModelProperty(value = "是否涉及商业秘密(0否1是)") +// @ExcelNew(needMerge = true,name = "是否涉及商业秘密",sort = 14,readConverterExp = "0=否,1=是") + private String tradeSecrets; + + /** + * 生产设施编号 + */ + @TableField(value = "production_facility_code") + @ApiModelProperty(value = "生产设施编号") +// @ExcelNew(needMerge = true,name = "生产设施编号",sort = 15) + private String productionFacilityCode; + + /** + * 其他设施信息 + */ + @TableField(value = "other_facility_info") + @ApiModelProperty(value = "其他设施信息") +// @ExcelNew(needMerge = true,name = "其他设施信息",sort = 17) + private String otherFacilityInfo; + + /** + * 其他工艺信息 + */ + @TableField(value = "other_craft_info") + @ApiModelProperty(value = "其他工艺信息") +// @ExcelNew(needMerge = true,name = "其他工艺信息",sort = 18) + private String otherCraftInfo; + +// @ExcelNew(name = "设施参数",sort = 19) + private List params; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductsVo.java new file mode 100644 index 0000000..f84a2a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkProductsVo.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BStatTablePwxkProducts; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BStatTablePwxkProductsVo extends BStatTablePwxkProducts { + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 4) + private String countryName; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + @Excel(name = "管理类别",sort = 3) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 6) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 7) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 5) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + /** 排污许可证编码 */ + @Excel(name = "许可证编号",sort = 1) + private String pollDisLicenseCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInTotalVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInTotalVo.java new file mode 100644 index 0000000..ec4d32e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInTotalVo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BStatTablePwxkWaterIndustryInTotal; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BStatTablePwxkWaterIndustryInTotalVo extends BStatTablePwxkWaterIndustryInTotal { + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 6) + private String countryName; + + @ApiModelProperty(value = "许可管理类别:重点FOCUS、简化 SIMPLIFY、登记 REGISTER") + /** 许可管理类别 */ + @Excel(name = "管理类别",readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",sort = 5) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区", sort = 9) + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + /** 排污许可行业名称 */ + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 10) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 11) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 7) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编码",sort = 1) + private String pollDisLicenseCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInVo.java new file mode 100644 index 0000000..4cdaa0e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterIndustryInVo.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.annotation.Excels; +import cn.cecep.talroad.domain.BStatTablePwxkWaterIndustryIn; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BStatTablePwxkWaterIndustryInVo extends BStatTablePwxkWaterIndustryIn { + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excels(value = {@Excel(name = "排污单位名称",sort = 2),@Excel(name = "排污单位名称",sort = 14)}) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + + @Excels(value = {@Excel(name = "所在地",sort = 20),@Excel(name = "所在区县",sort = 6)}) + private String countryName; + + @ApiModelProperty(value = "许可管理类别:重点FOCUS、简化 SIMPLIFY、登记 REGISTER") + /** 许可管理类别 */ + @Excel(name = "管理类别",readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",sort = 5) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区", sort = 9) + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excels(value = {@Excel(name = "所属行业",sort = 19),@Excel(name = "行业类别",sort = 8)}) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 10) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 11) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 7) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + @Excels(value = {@Excel(name = "许可证编码",sort = 1),@Excel(name = "排污许可证编码",sort = 16)}) + private String pollDisLicenseCode; + + @ApiModelProperty(value = "组织机构代码") + /** 组织机构代码 */ + @Excel(name = "组织机构代码",sort = 18) + private String insFramCode; + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + @Excel(name = "统一社会信用代码",sort = 17) + private String uscCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterLifeInVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterLifeInVo.java new file mode 100644 index 0000000..2bab3db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterLifeInVo.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BStatTablePwxkWaterLifeIn; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BStatTablePwxkWaterLifeInVo extends BStatTablePwxkWaterLifeIn { + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 6) + private String countryName; + + @ApiModelProperty(value = "许可管理类别:重点FOCUS、简化 SIMPLIFY、登记 REGISTER") + /** 许可管理类别 */ + @Excel(name = "管理类别",readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",sort = 5) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区", sort = 9) + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 10) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 11) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 7) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编码",sort = 1) + private String pollDisLicenseCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentInAskVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentInAskVo.java new file mode 100644 index 0000000..e2d78fe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentInAskVo.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BStatTablePwxkWaterTreatmentInAsk; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +/** + * 排污许可执行分析废水固废和其他* + */ +public class BStatTablePwxkWaterTreatmentInAskVo extends BStatTablePwxkWaterTreatmentInAsk { + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 6) + private String countryName; + + @ApiModelProperty(value = "许可管理类别:重点FOCUS、简化 SIMPLIFY、登记 REGISTER") + /** 许可管理类别 */ + @Excel(name = "管理类别",readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",sort = 5) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区", sort = 9) + private String whetherLocalPark; + @ApiModelProperty(name = "排污许可行业名称") + /** 排污许可行业名称 */ + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 10) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 11) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 7) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编码",sort = 1) + private String pollDisLicenseCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentLineVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentLineVo.java new file mode 100644 index 0000000..642fbd2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTablePwxkWaterTreatmentLineVo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BStatTablePwxkWaterTreatmentLine; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BStatTablePwxkWaterTreatmentLineVo extends BStatTablePwxkWaterTreatmentLine { + + @ApiModelProperty(value = "排污单位名称") + /** 排污单位名称 */ + @Excel(name = "排污单位名称",sort = 2) + private String factoryName; + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + @Excel(name = "所在区县",sort = 6) + private String countryName; + + @ApiModelProperty(value = "许可管理类别:重点FOCUS、简化 SIMPLIFY、登记 REGISTER") + /** 许可管理类别 */ + @Excel(name = "管理类别",readConverterExp = "FOCUS=重点,SIMPLIFY=简化,REGISTER=登记",sort = 5) + private String licenseManType; + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + @Excel(name = "是否位于工业园区", sort = 9) + private String whetherLocalPark; + + @ApiModelProperty(value = "排污许可行业名称") + @Excel(name = "行业类别",sort = 8) + private String industryPermissionName; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + @Excel(name = "所属工业园区名称",sort = 10) + private String industrialParkName; + + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + @Excel(name = "所属工业园区编码",sort = 11) + private String industrialParkCode; + @ApiModelProperty(value = "所属流域") + /** 工业园区编码 */ + @Excel(name = "所属流域",sort = 7) + private String riverBasin; + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "许可证编码",sort = 1) + private String pollDisLicenseCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgJbxxInfoVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgJbxxInfoVo.java new file mode 100644 index 0000000..648bcbe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgJbxxInfoVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--企业基本信息对象 b_stat_table_zxbg_jbxx_info + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--企业基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgJbxxInfoVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "执行报告记录内容") + /** 执行报告记录内容 */ + private String zxbgRecord; + + @ApiModelProperty(value = "执行报告生产单元") + /** 执行报告生产单元 */ + private String zxbgProPress; + + @ApiModelProperty(value = "名称") + /** 名称 */ + private String zxbgName; + + @ApiModelProperty(value = "参数") + /** 参数 */ + private String zxbgParam; + + @ApiModelProperty(value = "单位") + /** 单位 */ + private String zxbgUnit; + + @ApiModelProperty(value = "数量") + /** 数量 */ + private Long zxbgNum; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String zsbgRemark; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOtherVo.java new file mode 100644 index 0000000..358cdb3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOtherVo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废气其他排放总计对象 b_stat_table_zxbg_pfl_air_other + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气其他排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirOtherVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String zxbgRemark; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOverproofVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOverproofVo.java new file mode 100644 index 0000000..72ec66b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirOverproofVo.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废气超标排放信息对象 b_stat_table_zxbg_pfl_air_overproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废气超标排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirOverproofVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String zxbgOutletCode; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + /** 实际排放浓度(折标,mg/m3) */ + private String zxbgDischargeTrue; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + + @ApiModelProperty(value = "生产设施编号") + /** 生产设施编号 */ + private String zxbgProCode; + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + private String overStartTime; + + @ApiModelProperty(value = "超标截止时间") + /** 超标截止时间 */ + private String overEndTime; + + @ApiModelProperty(value = "超标原因说明") + /** 超标原因说明 */ + private String overRemark; + + @ApiModelProperty(value = "计量单位") + /** 计量单位 */ + private String overUnit; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirSpecialVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirSpecialVo.java new file mode 100644 index 0000000..3ebcf80 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirSpecialVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--特殊时段废气排放量对象 b_stat_table_zxbg_pfl_air_special + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--特殊时段废气排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirSpecialVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "类型:重污染、冬防") + /** 类型:重污染、冬防 */ + private String zxbgAirType; + + @ApiModelProperty(value = "废气类型 有组织、无组织、全场总计") + /** 废气类型 有组织、无组织、全场总计 */ + private String zxbgAirAllType; + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + private String zxbgDischargeXk; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "时间") + /** 时间 */ + private String zxbgTime; + + @ApiModelProperty(value = "超标原因") + /** 超标原因 */ + private String overCause; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirStatVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirStatVo.java new file mode 100644 index 0000000..663e237 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirStatVo.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--总计废气实际排放量对象 b_stat_table_zxbg_pfl_air_stat + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废气实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirStatVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirVo.java new file mode 100644 index 0000000..504d4e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflAirVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废气实际排放量对象 b_stat_table_zxbg_pfl_air + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "排口编码") + /** 排口编码 */ + private String zxbgOutletCode; + + @ApiModelProperty(value = "排口名称") + /** 排口名称 */ + private String zxbgOutletName; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVo.java new file mode 100644 index 0000000..909669d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废水实际排放量对象 b_stat_table_zxbg_pfl_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "排口编码") + /** 排口编码 */ + private String zxbgOutletCode; + + @ApiModelProperty(value = "排口名称") + /** 排口名称 */ + private String zxbgOutletName; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + @ApiModelProperty(value = "排放类型、直接排放、间接排放") + /** 排放类型、直接排放、间接排放 */ + private String zxbgEmissionType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVoerproofVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVoerproofVo.java new file mode 100644 index 0000000..c004ef6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflWaterVoerproofVo.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废水超标排放信息对象 b_stat_table_zxbg_pfl_water_voerproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水超标排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflWaterVoerproofVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "排口编码") + /** 排口编码 */ + private String zxbgOutletCode; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + /** 实际排放浓度(折标,mg/m3) */ + private String zxbgDischargeTrue; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + private String overStartTime; + + @ApiModelProperty(value = "超标截止时间") + /** 超标截止时间 */ + private String overEndTime; + + @ApiModelProperty(value = "超标原因说明") + /** 超标原因说明 */ + private String overRemark; + + @ApiModelProperty(value = "计量单位") + /** 计量单位 */ + private String overUnit; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflallWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflallWaterVo.java new file mode 100644 index 0000000..6451ccd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPflallWaterVo.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--总计废水实际排放量对象 b_stat_table_zxbg_pflall_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废水实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflallWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + @ApiModelProperty(value = "排放形式、直接排放、间接排放") + /** 排放形式、直接排放、间接排放 */ + private String zxbgEmissionType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPfltotalWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPfltotalWaterVo.java new file mode 100644 index 0000000..a89a4d0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgPfltotalWaterVo.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)对象 b_stat_table_zxbg_pfltotal_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水正常排放总计(一般排放口)") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPfltotalWaterVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "年许可排放量") + /** 年许可排放量 */ + private String zxbgDischargeYear; + + @ApiModelProperty(value = "实际排放值") + /** 实际排放值 */ + private String zxbgDischargeActual; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "是否删除") + /** 是否删除 */ + private String isDelete; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String zxbgOutletId; + + @ApiModelProperty(value = "排放方式、直接排放、间接排放") + /** 排放方式、直接排放、间接排放 */ + private String zxbgEmissionType; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlAbnormalitiesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlAbnormalitiesVo.java new file mode 100644 index 0000000..3c70cc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlAbnormalitiesVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--污染治理设施异常情况对象 b_stat_table_zxbg_wrzl_abnormalities + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施异常情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgWrzlAbnormalitiesVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "类型") + /** 类型 */ + private String zxbgPollutantType; + + @ApiModelProperty(value = "超标开始时间") + /** 超标开始时间 */ + private String overStartTime; + + @ApiModelProperty(value = "超标结束时间") + /** 超标结束时间 */ + private String overEndTime; + + @ApiModelProperty(value = "故障设备名称") + /** 故障设备名称 */ + private String facilityName; + + @ApiModelProperty(value = "故障设备编号") + /** 故障设备编号 */ + private String facilityCode; + + @ApiModelProperty(value = "污染因子") + /** 污染因子 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "排放范围") + /** 排放范围 */ + private String dischargeRange; + + @ApiModelProperty(value = "应对措施") + /** 应对措施 */ + private String solutions; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlTotalVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlTotalVo.java new file mode 100644 index 0000000..a8653d9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BStatTableZxbgWrzlTotalVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总对象 b_stat_table_zxbg_wrzl_total + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施正常情况汇总") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgWrzlTotalVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + /** 执行报告类型,0:月报,1:季报,2:年报 */ + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + /** 执行报告周期 */ + private String zxbgPeriod; + + @ApiModelProperty(value = "污染源类型") + /** 污染源类型 */ + private String zxbgPollutant; + + @ApiModelProperty(value = "污染治理设施编号") + /** 污染治理设施编号 */ + private String pollutionControlFacilityCode; + + @ApiModelProperty(value = "污染治理设施名称") + /** 污染治理设施名称 */ + private String pollutionControlFacilityName; + + @ApiModelProperty(value = "运行参数") + /** 运行参数 */ + private String processParameter; + + @ApiModelProperty(value = "数量") + /** 数量 */ + private String amount; + + @ApiModelProperty(value = "单位") + /** 单位 */ + private String unit; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDevToElecVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDevToElecVo.java new file mode 100644 index 0000000..8de5658 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDevToElecVo.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 有组织-分表计电设备对应对象 bas_dev_to_elec + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDevToElecVo +{ + + + @ApiModelProperty(value = "有组织设备ID") + /** 有组织设备ID */ + private String deviceId; + + @ApiModelProperty(value = "计电设备ID") + /** 计电设备ID */ + private String elecDeviceId; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceConfigVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceConfigVo.java new file mode 100644 index 0000000..2a29800 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceConfigVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业设备参数配置对象 bas_device_config + * + * @author szhpt + * @date 2023-04-05*/ +@ApiModel(value = "企业设备参数配置") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceConfigVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "data_id",type = IdType.ASSIGN_UUID) + private String dataId; + + @ApiModelProperty(value = "企业ID") + /** 企业ID */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + private String paramCode; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String paramName; + + @ApiModelProperty(value = "单位") + /** 单位 */ + private String unit; + + @ApiModelProperty(value = "行业") + /** 行业 */ + private String industry; + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + private String deviceType; + + @ApiModelProperty(value = "配置值") + /** 配置值 */ + private String normalValue; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamExcelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamExcelVo.java new file mode 100644 index 0000000..c7a451e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamExcelVo.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.cecep.talroad.domain.BasDeviceParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "DCS系统参数设置ExcelVo") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceDCSSystemParamExcelVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + @Excel(name = "序号") + private Integer serialnumber; + + @ApiModelProperty(value = "工序") + /** 所属工序名 */ + @Excel(name = "工序") + private String workStep; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "设备名称") + private String name; + + + @Excel(name = "参数名称") + private String paramName; + @Excel(name = "参数单位") + private String paramUnit; + + + @ApiModelProperty(value = "正常值") + /** 正常值 */ + @Excel(name = "正常生产或设计值") + private Double normalValue; + + + @ApiModelProperty(value = "最小值") + /** 最小值 */ + @Excel(name = "正常运行低限") + private Double minValue; + + + @ApiModelProperty(value = "最大值") + /** 最大值 */ + @Excel(name = "正常运行高限") + private Double maxValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.java new file mode 100644 index 0000000..ddf6ee3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.cecep.talroad.domain.BasDeviceParam; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "DCS系统参数设置Vo") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceDCSSystemParamVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String name; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + + @ApiModelProperty(value = "所属工序名") + /** 所属工序名 */ + private String workStep; + + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + /** 设备类型 枚举。焦炉/烧结机... */ + private String type; + List basDeviceParamList; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceExcelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceExcelVo.java new file mode 100644 index 0000000..b1e6622 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceExcelVo.java @@ -0,0 +1,218 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备信息(有组织)") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceExcelVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @Excel(name = "序号") + private Integer serialnumber; + + @ApiModelProperty(value = "所属企业") + /** 所属企业 */ + private String factoryId; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + @Excel(name = "生产设施名称") + private String name; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + + @ApiModelProperty(value = "所属工序名") + /** 所属工序名 */ + @Excel(name = "所在工序名") + private String workStep; + + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + /** 设备类型 枚举。焦炉/烧结机... */ + private String type; + + + @ApiModelProperty(value = "状态 ≤0=停用,>0=正常") + /** 状态 ≤0=停用,>0=正常 */ + @TableField(fill = FieldFill.INSERT) + private Long status; + + + @ApiModelProperty(value = "工艺参数值 停限产计算用") + /** 工艺参数值 停限产计算用 */ + private String craftParamValue; + + + @ApiModelProperty(value = "工艺参数 JSON。展示用") + /** 工艺参数 JSON。展示用 */ + private String craftParam; + + + @ApiModelProperty(value = "DCS系统品牌") + /** DCS系统品牌 */ + private String dcsBrand; + + + @ApiModelProperty(value = "DCS系统型号") + /** DCS系统型号 */ + private String dcsModel; + + + @ApiModelProperty(value = "脱硫工艺") + /** 脱硫工艺 */ + private String tlCraft; + + + @ApiModelProperty(value = "脱硫设施数量") + /** 脱硫设施数量 */ + private String tlNum; + + + @ApiModelProperty(value = "脱硝工艺") + /** 脱硝工艺 */ + private String txCraft; + + + @ApiModelProperty(value = "脱硝设施数量") + /** 脱硝设施数量 */ + private String txNum; + + + @ApiModelProperty(value = "除尘工艺") + /** 除尘工艺 */ + private String ccCraft; + + + @ApiModelProperty(value = "除尘设施数量") + /** 除尘设施数量 */ + private String ccNum; + + + @ApiModelProperty(value = "CEMS系统数量") + /** CEMS系统数量 */ + private String cemsNum; + + + @ApiModelProperty(value = "主设备ID 本设备为从设备时,注明与哪个主设备共用数据") + /** 主设备ID 本设备为从设备时,注明与哪个主设备共用数据 */ + private String shareDevId; + + + @ApiModelProperty(value = "共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1...") + /** 共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1... */ + private String shareType; + + + @ApiModelProperty(value = "经度(原始)") + /** 经度(原始) */ + private String lon; + + + @ApiModelProperty(value = "纬度(原始)") + /** 纬度(原始) */ + private String lat; + + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + @Excel(name = "经度") + private String lonMap; + + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + @Excel(name = "纬度") + private String latMap; + + + @ApiModelProperty(value = "原始设备ID 用于在通信协议中识别设备") + /** 原始设备ID 用于在通信协议中识别设备 */ + private String oriDeviceId; + + + @ApiModelProperty(value = "原始设备密码") + /** 原始设备密码 */ + private String oriPwd; + + + @ApiModelProperty(value = "工艺流程图用参数 JSON") + /** 工艺流程图用参数 JSON */ + private String craftImageArg; + + + @ApiModelProperty(value = "对应的视频设备ID JSON") + /** 对应的视频设备ID JSON */ + private String videoDevId; + + private Date createTime; + + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String memo; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("deviceId", getDeviceId()) + .append("factoryId", getFactoryId()) + .append("name", getName()) + .append("industry", getIndustry()) + .append("workStep", getWorkStep()) + .append("type", getType()) + .append("status", getStatus()) + .append("craftParamValue", getCraftParamValue()) + .append("craftParam", getCraftParam()) + .append("dcsBrand", getDcsBrand()) + .append("dcsModel", getDcsModel()) + .append("tlCraft", getTlCraft()) + .append("tlNum", getTlNum()) + .append("txCraft", getTxCraft()) + .append("txNum", getTxNum()) + .append("ccCraft", getCcCraft()) + .append("ccNum", getCcNum()) + .append("cemsNum", getCemsNum()) + .append("shareDevId", getShareDevId()) + .append("shareType", getShareType()) + .append("lon", getLon()) + .append("lat", getLat()) + .append("lonMap", getLonMap()) + .append("latMap", getLatMap()) + .append("oriDeviceId", getOriDeviceId()) + .append("oriPwd", getOriPwd()) + .append("craftImageArg", getCraftImageArg()) + .append("videoDevId", getVideoDevId()) + .append("memo", getMemo()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceIndustryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceIndustryVo.java new file mode 100644 index 0000000..b796dc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceIndustryVo.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备信息(有组织)出参") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceIndustryVo +{ + + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "所属企业") + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + + @ApiModelProperty(value = "所属工序名") + private String workStep; + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + private String type; + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + private String typeTxt; + + @ApiModelProperty(value = "状态 ≤0=禁用(0=无此设备),>0=正常") + private Long status; + + @ApiModelProperty(value = "工艺参数") + private String craftParam; + + @ApiModelProperty(value = "DCS系统品牌") + private String dcsBrand; + + @ApiModelProperty(value = "DCS系统型号") + private String dcsModel; + + @ApiModelProperty(value = "脱硫工艺") + private String tlCraft; + + @ApiModelProperty(value = "脱硝工艺") + private String txCraft; + + @ApiModelProperty(value = "脱硝设施数量") + private String txNum; + + @ApiModelProperty(value = "除尘工艺") + private String ccCraft; + + @ApiModelProperty(value = "除尘设施数量") + private String ccNum; + + @ApiModelProperty(value = "CEMS系统数量") + private String cemsNum; + + @ApiModelProperty(value = "视频设备ID。JSON") + private String videoDevId; + + + @ApiModelProperty(value="设备状态对应的文本") + private String statusTxt; + + @ApiModelProperty(value = "212协议中的设备MN号") + private String hj212Mn; + + @ApiModelProperty(value = "经度(原始)") + private String lon; + + @ApiModelProperty(value = "纬度(原始)") + private String lat; + + @ApiModelProperty(value = "经度(地图)") + private String lonMap; + + @ApiModelProperty(value = "纬度(地图)") + private String latMap; + + @ApiModelProperty(value = "排污许可设施编码") + private String pollutantCode; + + @ApiModelProperty(value = "排污许可设施名称") + private String pollutantName; + + + /** 设置设备状态 */ + public void setStatus(Long in) + { + if(in == null) + return; + this.status = in; + if(in < 0) + setStatusTxt("停用"); + else if(in == 0) + setStatusTxt("停产"); + else + setStatusTxt("正常"); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamListVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamListVo.java new file mode 100644 index 0000000..14a1712 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamListVo.java @@ -0,0 +1,148 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + + +/** + * 各设备的监测参数属性对象 bas_device_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "各设备的监测参数属性ListVo") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceParamListVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "ID") + /** ID */ + private Long id; + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + + @ApiModelProperty(value = "参数ID") + /** 参数ID */ + private String paramId; + + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + /** 所属设备类别 枚举。焦炉/烧结机... */ + private String deviceType; + + + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + /** 所属设施类别 枚举。生产/CEMS... */ + private String facilityType; + + + @ApiModelProperty(value = "正常值") + /** 正常值 */ + private Double normalValue; + + + @ApiModelProperty(value = "最小值") + /** 最小值 */ + private Double minValue; + + + @ApiModelProperty(value = "最大值") + /** 最大值 */ + private Double maxValue; + + + @ApiModelProperty(value = "Q1(下四分位)值 用于异常值判断") + /** Q1(下四分位)值 用于异常值判断 */ + private String q1Value; + + + @ApiModelProperty(value = "Q2(上四分位)值 用于异常值判断") + /** Q2(上四分位)值 用于异常值判断 */ + private String q2Value; + + + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + /** 参数是否联网 0=否,1=是 */ + private Long isOnline; + + + @ApiModelProperty(value = "备用值数量 数量不含原值") + /** 备用值数量 数量不含原值 */ + private Long standbyNum; + + + @ApiModelProperty(value = "多值数量 数量不含原值") + /** 多值数量 数量不含原值 */ + private Long multiNum; + + + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + /** 超标阈值 超过此值则认为超标 */ + private String overMaxVal; + + @ApiModelProperty(value = "放散时间配置:分析几小时内的炉数") + private Long releaseValue; + + @ApiModelProperty(value = "停产阈值") + private String stopValue; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 参数单位 + */ + private String paramUnit; + /** + * 是否启用,0:未启用,1:启用 + */ + private String isStatus; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deviceId", getDeviceId()) + .append("paramId", getParamId()) + .append("industry", getIndustry()) + .append("deviceType", getDeviceType()) + .append("facilityType", getFacilityType()) + .append("normalValue", getNormalValue()) + .append("minValue", getMinValue()) + .append("maxValue", getMaxValue()) + .append("q1Value", getQ1Value()) + .append("q2Value", getQ2Value()) + .append("isOnline", getIsOnline()) + .append("standbyNum", getStandbyNum()) + .append("multiNum", getMultiNum()) + .append("overMaxVal", getOverMaxVal()) + .append("createTime", getCreateTime()) + .append("isStatus", getIsStatus()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamVo.java new file mode 100644 index 0000000..d364fd7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceParamVo.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 各设备的监测参数属性对象 bas_device_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "各设备的监测参数属性") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceParamVo +{ + + + @ApiModelProperty(value = "ID") + /** ID */ + private Long id; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "参数ID") + /** 参数ID */ + private String paramId; + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + /** 所属设备类别 枚举。焦炉/烧结机... */ + private String deviceType; + + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + /** 所属设施类别 枚举。生产/CEMS... */ + private String facilityType; + + @ApiModelProperty(value = "正常值") + /** 正常值 */ + private BigDecimal normalValue; + + @ApiModelProperty(value = "最小值") + /** 最小值 */ + private BigDecimal minValue; + + @ApiModelProperty(value = "最大值") + /** 最大值 */ + private BigDecimal maxValue; + + @ApiModelProperty(value = "Q1(下四分位)值 用于异常值判断") + /** Q1(下四分位)值 用于异常值判断 */ + private String q1Value; + + @ApiModelProperty(value = "Q2(上四分位)值 用于异常值判断") + /** Q2(上四分位)值 用于异常值判断 */ + private String q2Value; + + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + /** 参数是否联网 0=否,1=是 */ + private Long isOnline; + + @ApiModelProperty(value = "备用值数量 数量不含原值") + /** 备用值数量 数量不含原值 */ + private Long standbyNum; + + @ApiModelProperty(value = "多值数量 数量不含原值") + /** 多值数量 数量不含原值 */ + private Long multiNum; + + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + /** 超标阈值 超过此值则认为超标 */ + private String overMaxVal; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 参数单位 + */ + private String paramUnit; + + @ApiModelProperty(value = "参数编码") + private String paramCodeSvc; + @ApiModelProperty(value = "停限产阈值") + private String stopValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.java new file mode 100644 index 0000000..5be09d9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@ApiModel(value = "设备点位类型vo") +@EqualsAndHashCode(callSuper = false) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BasDeviceSiteDeviceTypeVo +{ + + @ApiModelProperty(value = "code") + private String code; + + @ApiModelProperty(value = "name") + private String name; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.java new file mode 100644 index 0000000..0dbae02 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +@ApiModel(value = "设备点位表") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceSiteExcelVo extends BaseEntity { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + @Excel(name = "序号",sort = 0) + private Integer serialnumber; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "点位名称") + @Excel(name = "检测点名称",sort = 1) + private String name; + + @ApiModelProperty(value = "对应名称") + @Excel(name = "对应设施名称",sort = 2) + private String deviceName; + @ApiModelProperty(value = "点位经度") + private String pointLng; + + @ApiModelProperty(value = "点位纬度") + private String pointLat; + + @ApiModelProperty(value = "分表计电-状态: 正常,停运,掉线") + private String status; + + @ApiModelProperty(value = "点位类型: 生产监测点位...") + @Excel(name = "对应设施类型",sort = 3) + private String type; + + @ApiModelProperty(value = "对应装备名称") + private String equipName; + + @ApiModelProperty(value = "所属企业") + private String factoryId; + + @ApiModelProperty(value = "额定功率") + @Excel(name = "额定功率",sort = 4) + private String normalValue; + + @ApiModelProperty(value = "最小功率") + private String minValue; + + @ApiModelProperty(value = "是否统计") + private String isStat; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteVo.java new file mode 100644 index 0000000..83f9e0b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceSiteVo.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +@ApiModel(value = "设备点位vo") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceSiteVo extends BaseEntity { + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "点位名称") + private String name; + + @ApiModelProperty(value = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "点位经度") + private String pointLng; + + @ApiModelProperty(value = "点位纬度") + private String pointLat; + + @ApiModelProperty(value = "分表计电-状态: 正常,停运,掉线") + private String status; + + @ApiModelProperty(value = "点位类型: 生产监测点位...") + private String type; + + @ApiModelProperty(value = "对应装备名称") + private String equipName; + + @ApiModelProperty(value = "所属企业") + private String factoryId; + + @ApiModelProperty(value = "额定功率") + private String normalValue; + + @ApiModelProperty(value = "最小功率") + private String minValue; + + @ApiModelProperty(value = "是否统计") + private String isStat; + + @Data + public static class SimpleVo { + private String id; + + @ApiModelProperty(value = "点位名称") + private String name; + + @ApiModelProperty(value = "曲线图展示的参数") + private List pollutantVos; + } + + @ApiModel(value = "分表计电数量总览") + @Data + public static class CountOverview { + @ApiModelProperty(value = "分表计电点位") + private Long count; + + @ApiModelProperty(value = "生产设施监测点位") + private Long scCount; + + @ApiModelProperty(value = "治理设施监测点位") + private Long zlCount; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceVo.java new file mode 100644 index 0000000..6f462c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceVo.java @@ -0,0 +1,258 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备信息(有组织)Vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceVo +{ + + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "所属企业") + /** 所属企业 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String name; + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + @ApiModelProperty(value = "所属工序名") + /** 所属工序名 */ + private String workStep; + + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + /** 设备类型 枚举。焦炉/烧结机... */ + private String type; + + @ApiModelProperty(value = "状态 ≤0=停用,>0=正常") + /** 状态 ≤0=停用,>0=正常 */ + private Long status; + + @ApiModelProperty(value = "工艺参数值 停限产计算用") + /** 工艺参数值 停限产计算用 */ + private String craftParamValue; + + @ApiModelProperty(value = "工艺参数 JSON。展示用") + /** 工艺参数 JSON。展示用 */ + private String craftParam; + + @ApiModelProperty(value = "DCS系统品牌") + /** DCS系统品牌 */ + private String dcsBrand; + + @ApiModelProperty(value = "DCS系统型号") + /** DCS系统型号 */ + private String dcsModel; + + @ApiModelProperty(value = "脱硫工艺") + /** 脱硫工艺 */ + private String tlCraft; + + @ApiModelProperty(value = "脱硫设施数量") + /** 脱硫设施数量 */ + private String tlNum; + + @ApiModelProperty(value = "脱硝工艺") + /** 脱硝工艺 */ + private String txCraft; + + @ApiModelProperty(value = "脱硝设施数量") + /** 脱硝设施数量 */ + private String txNum; + + @ApiModelProperty(value = "除尘工艺") + /** 除尘工艺 */ + private String ccCraft; + + @ApiModelProperty(value = "除尘设施数量") + /** 除尘设施数量 */ + private String ccNum; + + @ApiModelProperty(value = "CEMS系统数量") + /** CEMS系统数量 */ + private String cemsNum; + + @ApiModelProperty(value = "主设备ID 本设备为从设备时,注明与哪个主设备共用数据") + /** 主设备ID 本设备为从设备时,注明与哪个主设备共用数据 */ + private String shareDevId; + + @ApiModelProperty(value = "共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1...") + /** 共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1... */ + private String shareType; + + @ApiModelProperty(value = "经度(原始)") + /** 经度(原始) */ + private BigDecimal lon; + + @ApiModelProperty(value = "纬度(原始)") + /** 纬度(原始) */ + private BigDecimal lat; + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + private BigDecimal lonMap; + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + private BigDecimal latMap; + + @ApiModelProperty(value = "原始设备ID 用于在通信协议中识别设备") + /** 原始设备ID 用于在通信协议中识别设备 */ + private String oriDeviceId; + + + @ApiModelProperty(value = "原始设备密码") + /** 原始设备密码 */ + private String oriPwd; + + @ApiModelProperty(value = "工艺流程图用参数 JSON") + /** 工艺流程图用参数 JSON */ + private String craftImageArg; + + @ApiModelProperty(value = "对应的视频设备ID JSON") + /** 对应的视频设备ID JSON */ + private String videoDevId; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String memo; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @Data + public static class SimpleVo { + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "曲线图展示的参数") + private List pollutantVos; + } + + @Data + public static class SimpleStatusVo { + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + private String industry; + } + + /** + * dcs和在线监测合并到一个图表的vo + */ + @Data + public static class DcsOnlineVo { + @ApiModelProperty(value = "DCS的vo") + private SimpleVo dcsSimpleVo; + + @ApiModelProperty(value = "在线监测的vo") + private PcOutletVo.SimpleVo onlineSimpleVo; + } + + @ApiModel(value = "工况监控数量总览vo") + @Data + public static class CountOverview { + @ApiModelProperty(value = "工况监控企业") + private Long factoryCount; + + @ApiModelProperty(value = "行业数") + private Long industryCount; + + @ApiModelProperty(value = "工序数量") + private Long workStepCount; + + @ApiModelProperty(value = "设备数量") + private Long deviceCount; + + @ApiModelProperty(value = "正常生产设备数") + private Long normalCount; + + @ApiModelProperty(value = "停产设备数") + private Long stopCount; + + @ApiModelProperty(value = "启停设备数") + private Long startStopCount; + + @ApiModelProperty(value = "掉线设备数") + private Long offlineCount; + } + + @ApiModel(value = "煤气放散分析大屏-煤气放散数量vo") + @Data + public static class CoalCountOverview { + @ApiModelProperty(value = "钢铁-行业企业数") + private Integer gtFactoryCount; + + @ApiModelProperty(value = "钢铁-高炉煤气放散火炬") + private Integer gtGLMQCount; + + @ApiModelProperty(value = "钢铁-高炉煤气炬") + private Integer gtGLMQGCount; + + @ApiModelProperty(value = "钢铁-转炉") + private Integer gtZLCount; + + @ApiModelProperty(value = "钢铁-焦炉煤气管网") + private Integer gtMQGWCount; + + @ApiModelProperty(value = "焦化行业企业数") + private Integer jhFactoryCount; + + @ApiModelProperty(value = "焦化-焦炉煤气管网") + private Integer jhMQGWCount; + } + + @ApiModel(value = "煤气放散分析大屏-煤气放散清单vo") + @Data + public static class CoalDiffuse { + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "生产经营场所中心经度") + private String productionLon; + + @ApiModelProperty(value = "生产经营场所中心纬度") + private String productionLat; + + @ApiModelProperty(value = "设备id") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String deviceName; + + @ApiModelProperty(value = "当前状态 1正常放散,2异常放散,3未放散,4离线") + private String status; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceZlConfigVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceZlConfigVo.java new file mode 100644 index 0000000..3466f65 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasDeviceZlConfigVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 转炉设备与转炉煤气放散设备映射关系对象 bas_device_zl_config + * + * @author szhpt + * @date 2023-06-30*/ +@ApiModel(value = "转炉设备与转炉煤气放散设备映射关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceZlConfigVo +{ + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String dataId; + + @ApiModelProperty(value = "企业ID") + /** 企业ID */ + private String factoryId; + + @ApiModelProperty(value = "转炉设备ID") + /** 转炉设备ID */ + private String deviceId; + + @ApiModelProperty(value = "转炉煤气放散设备ID") + /** 转炉煤气放散设备ID */ + private String fsDeviceId; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasElecDeviceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasElecDeviceVo.java new file mode 100644 index 0000000..56b7e64 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasElecDeviceVo.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasElecDeviceVo +{ + + + @ApiModelProperty(value = "计电设备ID") + /** 计电设备ID */ + private String elecDeviceId; + + @ApiModelProperty(value = "所属企业") + /** 所属企业 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String name; + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String memo; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasParamVo.java new file mode 100644 index 0000000..44b7635 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasParamVo.java @@ -0,0 +1,118 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 监测参数汇总(有组织)对象 bas_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "监测参数汇总(有组织)") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasParamVo +{ + + + @ApiModelProperty(value = "参数ID 212协议编码") + /** 参数ID 212协议编码 */ + private String paramId; + + @ApiModelProperty(value = "参数ID 212协议编码(新)") + /** 参数ID 212协议编码(新) */ + private String paramIdNew; + + @ApiModelProperty(value = "接口中的参数名 不同参数可能有同名") + /** 接口中的参数名 不同参数可能有同名 */ + private String paramCodeSvc; + + @ApiModelProperty(value = "名称") + /** 名称 */ + private String name; + + @ApiModelProperty(value = "参数类型") + /** 参数类型 */ + private String paramType; + + @ApiModelProperty(value = "Java数据类型 Double,String...") + /** Java数据类型 Double,String... */ + private String dataTypeJava; + + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + /** 所属行业 枚举。钢铁/焦化/水泥... */ + private String industry; + + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + /** 所属设备类别 枚举。焦炉/烧结机... */ + private String deviceType; + + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + /** 所属设施类别 枚举。生产/CEMS... */ + private String facilityType; + + @ApiModelProperty(value = "所属设施名称") + /** 所属设施名称 */ + private String facilityName; + + @ApiModelProperty(value = "实时值的单位") + /** 实时值的单位 */ + private String unitReal; + + @ApiModelProperty(value = "统计值的单位") + /** 统计值的单位 */ + private String unitStat; + + @ApiModelProperty(value = "小数点后保留的位数") + /** 小数点后保留的位数 */ + private Long scale; + + @ApiModelProperty(value = "参与统计的最小值 小于此值则不参与统计(对所有值有效)") + /** 参与统计的最小值 小于此值则不参与统计(对所有值有效) */ + private String statMinValue; + + @ApiModelProperty(value = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)") + /** 参与统计的最大值 大于此值则不参与统计(只对实时值有效) */ + private String statMaxValue; + + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + /** 超标阈值 超过此值则认为超标 */ + private String overMaxVal; + + @ApiModelProperty(value = "停产判断阈值 不同参数含义不同,可能为比例值或阈值等") + /** 停产判断阈值 不同参数含义不同,可能为比例值或阈值等 */ + private String stopValue; + + @ApiModelProperty(value = "停产判断阈值备注") + /** 停产判断阈值备注 */ + private String stopValueMemo; + + @ApiModelProperty(value = "是否检查恒定值报警 0=否,1=是") + /** 是否检查恒定值报警 0=否,1=是 */ + private Long isChkSame; + + @ApiModelProperty(value = "是否检查异常值报警 0=否,1=是") + /** 是否检查异常值报警 0=否,1=是 */ + private Long isChkAbnormal; + + @ApiModelProperty(value = "显示顺序 同一类别下的显示顺序") + /** 显示顺序 同一类别下的显示顺序 */ + private Long showOrder; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "状态 0=停用,1=启用") + /** 状态 0=停用,1=启用 */ + private Long status; + + @ApiModelProperty(value = "最小宽度(用与前端表头渲染)") + /** 最小宽度(用与前端表头渲染) */ + private Long minWidth; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.java new file mode 100644 index 0000000..8697f92 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasProductionDeviceOperationLog; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: BasProductionDeviceOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:26 + * @Company: Copyright© [2023/04/28 15:26] by [Mr.Yanghongtao] + **/ + +/** + * 生产设施坐标操作日志 + */ +@ApiModel(value = "生产设施坐标操作日志query") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasProductionDeviceOperationLogQuery extends PageQuery +{ + private String logId; + + /** + * 操作时间 + */ + private Date operationTime; + + /** + * 生产设施名称 + */ + private String deviceName; + + /** + * 操作前经度 + */ + private String beforeModifyLng; + + /** + * 操作前纬度 + */ + private String beforeModifyLag; + + /** + * 操作状态 + */ + private String operationStatus; + + /** + * 操作后经度 + */ + private String afterModifyLng; + + /** + * 操作后纬度 + */ + private String afterModifyLag; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 所在工序 + */ + private String workProcedure; + + /** + * 企业ID + */ + private String factoryId; + + + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + + public static QueryWrapper createLambdaQueryWrapper(BasProductionDeviceOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.like(StrUtil.isNotBlank(query.getWorkProcedure()), "work_procedure", query.getWorkProcedure()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + + + wrapper.orderByDesc("operation_time"); + return wrapper; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasThresholdConfigVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasThresholdConfigVo.java new file mode 100644 index 0000000..55183c2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BasThresholdConfigVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析-阈值设置对象 bas_threshold_config + * + * @author szhpt + * @date 2023-05-18*/ +@ApiModel(value = "关联分析-阈值设置") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasThresholdConfigVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private Long dataId; + + @ApiModelProperty(value = "分析任务名称") + /** 分析任务名称 */ + private String taskName; + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + private String paramCode; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String paramName; + + @ApiModelProperty(value = "阈值频次:D:日 H:小时") + /** 阈值频次:D:日 H:小时 */ + private String frequency; + + @ApiModelProperty(value = "阈值") + /** 阈值 */ + private String thresholdValue; + + @ApiModelProperty(value = "单位") + /** 单位 */ + private String unit; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseControlConcentStandardsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseControlConcentStandardsVo.java new file mode 100644 index 0000000..2a9ac34 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseControlConcentStandardsVo.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.BaseControlConcentStandards; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +@ApiModel("管控浓度标准VO") +public class BaseControlConcentStandardsVo extends BaseControlConcentStandards { + + /** + * 区县code + */ + @ApiModelProperty(value="区县名称") + @Excel(name = "区县名称",sort = 2) + private String countryName; + + @Excel(name = "行业名称",sort = 3) + @ApiModelProperty(value="行业名称") + private String industryCategoryName; + + @ApiModelProperty(value="行业Code") + private String industryCategoryCode; + + @ApiModelProperty(value="污染物名称") + @TableField(exist = false) + @Excel(name = "污染物名称",sort = 5) + private String pollName; + + @ApiModelProperty(value="企业名称") + @Excel(name = "企业名称" ,sort = 1,width = 30) + private String factoryName; + + @Excel(name = "监测点位名称",sort =4) + private String monitoringPointName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.java new file mode 100644 index 0000000..3465419 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.domain.BaseRegionalControlObjectives; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class BaseRegionalControlObjectivesVo extends BaseRegionalControlObjectives { + + /** + * 区县code + */ + @ApiModelProperty(value="区县名称") + @TableField(exist = false) + private String countryName; + + /** + * 区县code + */ + @ApiModelProperty(value="污染物名称") + @TableField(exist = false) + private String pollName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ChartVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ChartVo.java new file mode 100644 index 0000000..c9d8bd9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ChartVo.java @@ -0,0 +1,209 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.exception.ServiceException; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * @Author: weizhuang + * @Date:2023/2/6 15:10 + * @Version 1.0 + */ +@Data +@ApiModel("echartsVo") +public class ChartVo { + private Object[] legendData; + private Object[] xsxisData; + private List> yaxisData; + private List> seriesData; + // ... + + /** + * 空气污染物 + */ + public enum AirPollutant { + + P_1("SO₂","二氧化硫", "μg/m³"), + + P_2("NOₓ","氮氧化物", "μg/m³"), + + P_3("颗粒物","颗粒物", ""), + + P_4("VOCs","挥发性有机物", ""); + + public String code; + public String desc; + public String unit; + + public static ChartVo.AirPollutant getByCode(String code) { + return Arrays.stream(ChartVo.AirPollutant.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + public String getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public String getUnit() { + return unit; + } + + AirPollutant(String code, String desc, String unit) { + this.code = code; + this.desc = desc; + this.unit = unit; + } + } + + + /** + * 空气污染物 + */ + public enum WaterPollutant { + + P_1("COD","化学需氧量", ""), + + P_2("氨氮","氨氮", ""), + + P_3("总氮","总氮", ""), + + P_4("总磷","总磷", ""); + + public String code; + public String desc; + public String unit; + + public static ChartVo.WaterPollutant getByCode(String code) { + return Arrays.stream(ChartVo.WaterPollutant.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + public String getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public String getUnit() { + return unit; + } + + WaterPollutant(String code, String desc, String unit) { + this.code = code; + this.desc = desc; + this.unit = unit; + } + } + + /** + * s_env_gas_mon_real表污染物 + */ + public enum EnvGasMonRealPollutant { + + P_1("二氧化硫","SO₂", "mg/m³", "so2"), +// P_2("二氧化硫折算","二氧化硫折算", "ug/m³", "so2Convert"), + P_3("氮氧化物","NOx", "mg/m³", "nox"), +// P_4("氮氧化物折算","氮氧化物折算", "ug/m³", "noxConvert"), +// P_5("一氧化氮","一氧化氮", "ug/m³", "no"), +// P_6("一氧化氮折算","一氧化氮折算", "ug/m³", "noConvert"), +// P_7("二氧化氮","二氧化氮", "ug/m³", "no2"), +// P_8("二氧化氮折算","二氧化氮折算", "ug/m³", "no2Convert"), +// P_9("烟尘","烟尘", "ug/m³", "smokeDust"), +// P_10("烟尘折算","烟尘折算", "ug/m³", "smokeDustConvert"), +// P_11("氧气含量","氧气含量", "ug/m³", "o3"), +// P_12("废气","废气", "ug/m³", "oxygen"), +// P_13("烟气温度","烟气温度", "℃", "smokeDustTem"), +// P_14("烟气压力","烟气压力", "Pa", "smokeDustPressure"), +// P_15("烟气流速","烟气流速", "m/s", "smokeDustFlowVelocity"), +// P_16("烟气湿度","烟气湿度", "%RH", "smokeDustHumidity"), + P_17("VOCs","VOCs", "mg/m³", "vocs"), + P_18("颗粒物","颗粒物", "mg/m³", "pm"); + + public String code; + public String desc; + public String unit; + public String column; + + public static ChartVo.EnvGasMonRealPollutant getByCode(String code) { + return Arrays.stream(ChartVo.EnvGasMonRealPollutant.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + public String getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public String getUnit() { + return unit; + } + + public String getColumn() { + return column; + } + + EnvGasMonRealPollutant(String code, String desc, String unit, String column) { + this.code = code; + this.desc = desc; + this.unit = unit; + this.column = column; + } + } + + /** + * s_env_water_mon_real表污染物 + */ + public enum EnvGasWaterRealPollutant { + + P_1("COD","COD", "mg/L", "codConcentration"), + P_2("总磷","总磷", "mg/m³", "phosphorusConcentration"), + P_3("总氮","总氮", "mg/m³", "nitrogenConcentration"), + P_4("氨氮","氨氮", "mg/m³", "ammoniaNitrogen"); + + public String code; + public String desc; + public String unit; + public String column; + + public static ChartVo.EnvGasWaterRealPollutant getByCode(String code) { + return Arrays.stream(ChartVo.EnvGasWaterRealPollutant.values()) + .filter(enums -> enums.code.equals(code)).findFirst().orElseThrow(() -> new ServiceException("EnumException")); + } + + public String getCode() { + return code; + } + + public String getDesc() { + return desc; + } + + public String getUnit() { + return unit; + } + + public String getColumn() { + return column; + } + + EnvGasWaterRealPollutant(String code, String desc, String unit, String column) { + this.code = code; + this.desc = desc; + this.unit = unit; + this.column = column; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DistributionOfMajorEmittersVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DistributionOfMajorEmittersVo.java new file mode 100644 index 0000000..ad0edd3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DistributionOfMajorEmittersVo.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * @author changyw + * @date 2023/3/8 + */ +@Data +@ApiModel("排放大户分布") +public class DistributionOfMajorEmittersVo { + + private List> industryEmissionsCount; + + private List xData; + + private List factoryEmissionsCount; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DropDownVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DropDownVO.java new file mode 100644 index 0000000..de9e044 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/DropDownVO.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "通用下拉列表返回对象") +public class DropDownVO { + + @ApiModelProperty(value = "下拉列表Key") + private String id; + + @ApiModelProperty(value = "下拉列表Value") + private String label; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EChartsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EChartsVO.java new file mode 100644 index 0000000..36980eb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EChartsVO.java @@ -0,0 +1,158 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +@ApiModel(value = "echarts图表数据返回实体") +@Data +public class EChartsVO { + + @ApiModelProperty("legend数据") + private List legendData; + + @ApiModelProperty("x轴数据") + private List xData; + + @ApiModelProperty("系列数据") + private List series; + + @ApiModelProperty("危废系列数据") + private List materialsSeries; + + @ApiModelProperty("图表名称") + private String name; + + @ApiModelProperty("渲染标识 1:状态随时间变化") + private String renderFlag; + + @ApiModel + @Data + public static class MaterialsSeriesObj { + @ApiModelProperty("固危废名称") + private String name; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("危废数据") + private List series; + } + + @ApiModel + @Data + public static class SeriesObj { + @ApiModelProperty("系列名称") + private String name; + + @ApiModelProperty("取值属性名") + private String prop; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("额外的属性,可根据不同使用场景设置") + private String other; + + @ApiModelProperty("系列值") + private List values; + + @ApiModelProperty("危废系列值") + private List value; + + @ApiModelProperty("标记线") + private MarkLine markLine; + + @ApiModelProperty("标记线") + private MarkArea markArea; + + @ApiModelProperty("系列类型 上限:upperLimit, 下限:lowerLimit, 问题参数:problem") + private String seriesType; + } + + @ApiModel + @Data + public static class MarkLine { + @ApiModelProperty("标记线数据,格式具体见echarts文档") + private List data; + + public MarkLine() { + } + + public MarkLine(List data) { + this.data = data; + } + } + + @ApiModel + @Data + public static class MarkArea { + @ApiModelProperty("标记区域数据,格式具体见echarts文档") + private List data; + + public MarkArea() { + } + + public MarkArea(List data) { + this.data = data; + } + } + + @ApiModel(value = "echarts 旭日图(sunburst)数据结构") + @Data + public static class Sunburst { + private String name; + private Long value; + private List children; + + // 以下属性不是echarts要求的,用于构建树使用 + private String id; + private String parentId; + } + + @ApiModel(value = "echarts 箱型图(diagram)数据结构") + @Data + public static class DiagramVo { + + private BigDecimal avgValue; + + private List diagrams; + } + + @ApiModel(value = "echarts 箱型图(diagram)数据结构") + @Data + public static class Diagram { + + private String name; + /** + * 最小值--正常运行低限 + */ + private Double minValue; + + /** + * 最大值--正常运行高限 + */ + private Double maxValue; + + /** + * Q1(下四分位)值 用于异常值判断 + */ + private Double q1Value; + + /** + * Q2(上四分位)值 用于异常值判断 + */ + private Double q2Value; + + /** + * 平均值 + */ + private Double avgValue; + + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EarlyWarningVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EarlyWarningVo.java new file mode 100644 index 0000000..474fb24 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EarlyWarningVo.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 管控浓度超标预警对象 early_warning + * + * @author szhpt + * @date 2023-04-24*/ +@ApiModel(value = "管控浓度超标预警") +@EqualsAndHashCode(callSuper = false) +@Data +public class EarlyWarningVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String ewId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "行业编码") + /** 行业编码 */ + private String industryCode; + + @ApiModelProperty(value = "在线监测点位id") + /** 在线监测点位id */ + private String stationId; + + @ApiModelProperty(value = "预警时间") + /** 预警时间 */ + private String warningTime; + + @ApiModelProperty(value = "预警内容") + /** 预警内容 */ + private String warningContent; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "在线监测点位名称") + /** 在线监测点位名称 */ + private String stationName; + + @ApiModelProperty(value = "区县编码") + /** 区县编码 */ + private String countryCode; + + @ApiModelProperty(value = "区县名称") + /** 区县名称 */ + private String countryName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EmissionsStatVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EmissionsStatVo.java new file mode 100644 index 0000000..ec23e53 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EmissionsStatVo.java @@ -0,0 +1,220 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.config.BigDecimalSerialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 排放量汇总统计相关vo + */ +public class EmissionsStatVo { + + @Data + @ApiModel("公共的查询参数") + public static class BaseSearch { + @ApiModelProperty("开始时间") + private String startTime; + + @ApiModelProperty("结束时间") + private String endTime; + + @ApiModelProperty("污染物种类") + private String pollutantCode; + + @ApiModelProperty("行业类别") + private String industryCode; + + @ApiModelProperty("是否超标 0:否, 1:是") + private String over; + } + + @Data + @ApiModel("监测点排放量统计查询条件vo") + public static class PointSearch extends BaseSearch { + @ApiModelProperty("企业id") + private String factoryId; + + @ApiModelProperty("企业名称") + private String factoryName; + + @ApiModelProperty("区县编码") + private String regionCode; + + @ApiModelProperty("监测点位名称") + private String pointName; + + @ApiModelProperty(value="页数") + private Integer pageNum; + + @ApiModelProperty(value="条数") + private Integer pageSize; + + @ApiModelProperty(value="是否重点管控点位:0否 1是") + private String controlPoints; + } + + @Data + @ApiModel("企业排放量统计查询条件vo") + public static class FactorySearch extends BaseSearch { + @ApiModelProperty("企业id") + private String factoryId; + + @ApiModelProperty("企业名称") + private String factoryName; + + @ApiModelProperty("区县编码") + private String regionCode; + + @ApiModelProperty(value="页数") + private Integer pageNum; + + @ApiModelProperty(value="条数") + private Integer pageSize; + } + + @Data + @ApiModel("区域排放量统计查询条件vo") + public static class RegionSearch extends BaseSearch { + } + + @Data + @ApiModel("公共的数据行属性vo") + public static class BaseRow { + @ApiModelProperty("区县编码") + private String regionCode; + + @ApiModelProperty("区县名称") + @Excel(name = "区县名称", sort = 100) + private String regionName; + + @ApiModelProperty("行业类别") + @Excel(name = "行业类别", sort = 110) + private String industryName; + + @ApiModelProperty("污染物code") + private String pollutantCode; + + @ApiModelProperty("污染物种类") + @Excel(name = "污染物种类", sort = 120) + private String pollutantName; + + @ApiModelProperty("管控浓度排放量(kg)") + @Excel(name = "管控浓度排放量(kg)", sort = 140, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal manageEmissions; + + @ApiModelProperty("实际排放量(kg)") + @Excel(name = "实际排放量(kg)", sort = 150, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal realEmissions; + + @ApiModelProperty("是否超标") + @Excel(name = "是否超标") + private String over; + } + + @Data + @ApiModel("监测点排放量统计查询数据行vo") + public static class PointRow extends BaseRow { + @ApiModelProperty("监测点位id") + private String pointId; + + @ApiModelProperty("监测点位名称") + @Excel(name = "监测点位名称", sort = 1) + private String pointName; + + @ApiModelProperty(value="是否重点管控点位:0否 1是") + @Excel(name = "是否重点管控点位", readConverterExp = "0=否,1=是", sort = 3) + private String controlPoints; + + @ApiModelProperty("企业id") + private String factoryId; + + @ApiModelProperty("企业名称") + @Excel(name = "企业名称", sort = 5) + private String factoryName; + + @ApiModelProperty("管控浓度标准") + private BigDecimal controlStandard; + + @ApiModelProperty(value = "小时数据数量") + private Long hourDataCount; + + @ApiModelProperty("管控浓度排放量与实际排放量差值(kg)") + @Excel(name = "管控浓度排放量与实际排放量差值(kg)", sort = 170, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal manageRealDiff; + } + + @Data + @ApiModel("企业排放量统计查询数据行vo") + public static class FactoryRow extends BaseRow { + @ApiModelProperty("企业名称") + @Excel(name = "企业名称", sort = 1) + private String factoryName; + + @ApiModelProperty("企业id") + private String factoryId; + + @ApiModelProperty("基准排放量(kg)") + @Excel(name = "基准排放量(kg)", sort = 121, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal basisEmissions; + + @ApiModelProperty("非重点管控点位实际排放量(kg)") + @Excel(name = "非重点管控点位实际排放量(kg)", sort = 122, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal nonKeyRealEmissions; + + @ApiModelProperty("基准排放量与实际排放量差值(kg)") + @Excel(name = "基准排放量与实际排放量差值(kg)", sort = 160, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal basisRealDiff; + } + + @Data + @ApiModel("区域排放量统计查询数据行vo") + public static class RegionRow extends BaseRow { + @ApiModelProperty("管控目标排放量(kg)") + @Excel(name = "管控目标排放量(kg)", sort = 121, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal ctrlTargetEmissions; + + @ApiModelProperty("基准排放量(kg)") + @Excel(name = "基准排放量(kg)", sort = 122, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal basisEmissions; + + @ApiModelProperty("非重点管控点位实际排放量(kg)") + @Excel(name = "非重点管控点位实际排放量(kg)", sort = 143, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal nonKeyRealEmissions; + + @ApiModelProperty("管控目标与实际排放量差值(kg)") + @Excel(name = "管控目标与实际排放量差值(kg)", sort = 153, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal ctrlTargetRealDiff; + + @ApiModelProperty("基准排放量与实际排放量差值(kg)") + @Excel(name = "基准排放量与实际排放量差值(kg)", sort = 156, scale = 9) + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal basisRealDiff; + } + + @Data + @ApiModel("区域排放量统计查询vo") + public static class Region { + @ApiModelProperty("曲线图数据") + private EChartsVO chartsVO; + + @ApiModelProperty("表格数据") + private List rows; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EnvironmentCreditPropVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EnvironmentCreditPropVo.java new file mode 100644 index 0000000..205a31a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/EnvironmentCreditPropVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "企业精准画像分析-生态环境信用占比") +@EqualsAndHashCode(callSuper = false) +@Data +public class EnvironmentCreditPropVo { + + @ApiModelProperty(value = "A") + private BigDecimal overviewA; + @ApiModelProperty(value = "B") + private BigDecimal overviewB; + @ApiModelProperty(value = "C") + private BigDecimal overviewC; + @ApiModelProperty(value = "D") + private BigDecimal overviewD; + @ApiModelProperty(value = "E") + private BigDecimal overviewE; + + @ApiModelProperty(value = "总数") + private Integer enterprises; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.java new file mode 100644 index 0000000..adbe3aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @className: FacilityInformationManagementVO + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 11:07 + * @Company: Copyright© [2023/04/28 11:07] by [Mr.Yanghongtao] + **/ +@Data +@ApiModel(value = "设施信息管理VO") +public class FacilityInformationManagementDCSVO extends FacilityInformationManagementVO { + + @ApiModelProperty(name = "workStep", value = "所在工序") + @Excel(name = "所在工序") + private String workStep; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementVO.java new file mode 100644 index 0000000..64c1cc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FacilityInformationManagementVO.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @className: FacilityInformationManagementVO + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 11:07 + * @Company: Copyright© [2023/04/28 11:07] by [Mr.Yanghongtao] + **/ +@Data +@ApiModel(value = "设施信息管理VO") +public class FacilityInformationManagementVO { + + @ApiModelProperty(name = "deviceId",value = "设施ID") + private String deviceId; + + @ApiModelProperty(name="deviceName",value = "设施名称") + @Excel(name = "设施名称") + private String deviceName; + + @ApiModelProperty(name = "workStep",value = "所在工序") + private String workStep; + + @ApiModelProperty(name = "pollutantName",value = "排污许可设施名称") + @Excel(name = "排污许可设施名称") + private String pollutantName; + + @ApiModelProperty(name = "pollutantCode",value = "排污许可设施编号") + @Excel(name = "排污许可设施编号") + private String pollutantCode; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryDeviceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryDeviceVo.java new file mode 100644 index 0000000..d517796 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryDeviceVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-04-27 15:20 + * @Class: FactoryDeviceVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class FactoryDeviceVo { + + @ApiModelProperty(value = "企业ID") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "区域编码") + private String cityCode; + @ApiModelProperty(value = "区域名称") + private String cityName; + @ApiModelProperty(value = "行业编码") + private String industry; + @ApiModelProperty(value = "行业名称") + private String industryName; + @ApiModelProperty(value = "绩效级别") + private String preConLevel; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备类型") + private String deviceType; + @ApiModelProperty(value = "工序") + private String workStep; + @ApiModelProperty(value = "排污许可行业名称") + /** 异常情况 */ + private String industryPermissionName; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryLicenseVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryLicenseVo.java new file mode 100644 index 0000000..fb802c2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryLicenseVo.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.vo; + +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-06-21 16:32 + * @Class: FactoryLicenseVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class FactoryLicenseVo { + + private String factoryId; + + private String labelValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingManifestVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingManifestVo.java new file mode 100644 index 0000000..654048a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingManifestVo.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业信息上报任务清单对象 factory_reporting_manifest + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务清单") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingManifestVo +{ + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + private String uscCode; + + @ApiModelProperty(value = "所属行业") + /** 所属行业 */ + private String industryCategory; + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + private String contact; + + @ApiModelProperty(value = "联系电话") + /** 联系电话 */ + private String contactPhone; + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String fmId; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "factory_reporting_task表关联id") + /** factory_reporting_task表关联id */ + private String frId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingRemindersVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingRemindersVo.java new file mode 100644 index 0000000..39e96db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingRemindersVo.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业信息上报提交提示对象 factory_reporting_reminders + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报提交提示") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingRemindersVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String feId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "区县名称") + /** 区县名称 */ + private String regionName; + + @ApiModelProperty(value = "区县编码") + /** 区县编码 */ + private String regionCode; + + @ApiModelProperty(value = "行业类别") + /** 行业 */ + private String industryCategory; + + @ApiModelProperty(value = "行业") + /** 行业 */ + private String industryPermissionName; + + @ApiModelProperty(value = "企业信息提交状态0未提交,1已提交") + /** 企业信息提交状态0未提交,1已提交 */ + private String submitStatus; + + @ApiModelProperty(value = "提交时间") + /** 提交时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date submitTime; + + @ApiModelProperty(value = "企业信息弹窗显示状态0不显示,1显示") + /** 企业信息弹窗显示状态0不显示,1显示 */ + private String remindersStatus; + + @ApiModelProperty(value = "提交用户") + /** 提交用户 */ + private String submitUser; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingTaskVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingTaskVo.java new file mode 100644 index 0000000..8bf2179 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/FactoryReportingTaskVo.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业信息上报任务对象 factory_reporting_task + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingTaskVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String frId; + + @ApiModelProperty(value = "任务名称") + /** 任务名称 */ + private String taskName; + + @ApiModelProperty(value = "任务来源") + /** 任务来源 */ + private String taskSource; + + @ApiModelProperty(value = "所属区域") + /** 所属区域 */ + private String regionName; + + @ApiModelProperty(value = "任务描述") + /** 任务描述 */ + private String taskDescription; + + @ApiModelProperty(value = "创建任务时间") + /** 创建任务时间 */ + private String taskTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPEMonitoringPointVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPEMonitoringPointVO.java new file mode 100644 index 0000000..75e20cb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPEMonitoringPointVO.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "废气无组织VO") +public class GasPEMonitoringPointVO { + + @ApiModelProperty(value = "监测点主键标识") + private String monitoringPointId; + + @ApiModelProperty(value = "无组织监测点位名称") + @Excel(name = "无组织监测点位名称", width = 25, sort = 1) + private String monitoringPointName; + + @ApiModelProperty(value = "无组织监测点位编号") + @Excel(name = "无组织监测点位编号", width = 25, sort = 2) + private String outletCode; + + @ApiModelProperty(value = "是否手工填报 1-是/该字段为1时,才可以对数据进行编辑| 删除时 该字段传-1/编辑传空即可") + private String isManualEntry; + + public String getMonitoringPointId() { + return (monitoringPointId != null) ? monitoringPointId : ""; + } + + public void setMonitoringPointId(String monitoringPointId) { + this.monitoringPointId = monitoringPointId; + } + + public String getMonitoringPointName() { + return (monitoringPointName != null) ? monitoringPointName : ""; + } + + public void setMonitoringPointName(String monitoringPointName) { + this.monitoringPointName = monitoringPointName; + } + + public String getOutletCode() { + return (outletCode != null) ? outletCode : ""; + } + + public void setOutletCode(String outletCode) { + this.outletCode = outletCode; + } + + public String getIsManualEntry() { + return isManualEntry; + } + + public void setIsManualEntry(String isManualEntry) { + this.isManualEntry = isManualEntry; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPollEmissionsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPollEmissionsVO.java new file mode 100644 index 0000000..0a15692 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/GasPollEmissionsVO.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author changyw + * @date 2023/4/7 + */ +@Data +public class GasPollEmissionsVO { + + private String groupByField; + + private BigDecimal so2Emissions; + + private BigDecimal noEmissions; + + private BigDecimal no2Emissions; + + private BigDecimal noxEmissions; + + private BigDecimal pmEmissions; + + private BigDecimal vocsEmissions; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ImportPollutionDischargeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ImportPollutionDischargeVo.java new file mode 100644 index 0000000..1e16603 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/ImportPollutionDischargeVo.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "企业精准画像分析-重点排污单位") +@EqualsAndHashCode(callSuper = false) +@Data +public class ImportPollutionDischargeVo { + + @ApiModelProperty(value = "标签code") + private String argumentsCode; + + @ApiModelProperty(value = "标签名称") + private String argumentsName; + + @ApiModelProperty(value = "统计数量") + private Integer count; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.java new file mode 100644 index 0000000..0ebea8d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "重点排放行业分析-行业企业总览-行业危废产生及处置利用") +@EqualsAndHashCode(callSuper = false) +@Data +public class IndustrialHazardousWasteVo { + + private String particularYear; + + private String particularMonth; + + @ApiModelProperty(value = "废物类别") + private String materialsType; + + @ApiModelProperty(value = "废物名称") + private String materialsName; + + @ApiModelProperty(value = "废物代码") + private String materialsCode; + + @ApiModelProperty(value = "贮存量") + private String materialsStorage; + + @ApiModelProperty(value = "转移量") + private String materialsAsFollows; + + @ApiModelProperty(value = "利用处置量") + private String materialsUse; + + @ApiModelProperty(value = "污染物排放量行业排名") + private String pollutantEmissionsIndustryRanking; + + @ApiModelProperty(value = "行业排放大户数量") + private String majorEmittersInTheIndustryNumber; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryCompanyOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryCompanyOverviewVo.java new file mode 100644 index 0000000..b73581c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryCompanyOverviewVo.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author szhpt + */ +@ApiModel(value = "重点排放行业分析-行业企业总览") +@EqualsAndHashCode(callSuper = false) +@Data +public class IndustryCompanyOverviewVo { + + @ApiModelProperty(value = "排污单位总数") + private String overviewPollutingUnits; + @ApiModelProperty(value = "重点排污单位数") + private String overviewPollutingEmphasis; + @ApiModelProperty(value = "超低排放单位数量") + private String overviewUltraLowEmissionsUnit; + + @ApiModelProperty(value = "重点管理") + private String overviewKeyManagement; + @ApiModelProperty(value = "简化管理") + private String overviewSimplifyManagement; + @ApiModelProperty(value = "登记管理") + private String overviewRegisterManagement; + + @ApiModelProperty(value = "废水排口") + private String waterMainOutlet; + @ApiModelProperty(value = "废水自动监测排口") + private String waterAutoOutlet; + + @ApiModelProperty(value = "废气排口") + private String airMainOutlet; + @ApiModelProperty(value = "废气自动监测排口") + private String airAutoOutlet; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.java new file mode 100644 index 0000000..a38ef84 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "重点排放行业分析-行业企业总览-行业污染物排放跟踪") +@EqualsAndHashCode(callSuper = false) +@Data +public class IndustryEmissionTrackingOverviewVo +{ + + @ApiModelProperty(value = "污染物名称") + private String pollName; + + @ApiModelProperty(value = "实际排放") + private BigDecimal emissionsActual; + + @ApiModelProperty(value = "许可排放") + private BigDecimal emissionsPermit; + + @ApiModelProperty(value = "比较值") + private BigDecimal calculate; + + @ApiModelProperty(value = "实际排放占比") + private BigDecimal emissionsActualRatio; + + @ApiModelProperty(value = "实际排放排名") + private Integer rank; + + @ApiModelProperty(value = "当前污染物排放大户数量") + private Integer majorEmittersInTheIndustryNumber; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryPollutantEmissionsTop10Vo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryPollutantEmissionsTop10Vo.java new file mode 100644 index 0000000..48f6419 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/IndustryPollutantEmissionsTop10Vo.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "重点排放行业分析-行业企业总览-行业污染物排放TOP10企业") +@EqualsAndHashCode(callSuper = false) +@Data +public class IndustryPollutantEmissionsTop10Vo { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "所属区县") + private String district; + + @ApiModelProperty(value = "排放量(t)") + private BigDecimal emissions; + + @ApiModelProperty(value = "是否排放大户(0否 1是)") + private Integer isBigEmitter; + + @ApiModelProperty(value = "当前排名(序号,不连续,如果排放量一样,则排名相同)") + private Integer rank; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.java new file mode 100644 index 0000000..43c0ae1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author wyw + * @date 2023/6/20 17:08 + */ +@ApiModel(value = "执法情况饼图统计") +@EqualsAndHashCode(callSuper = false) +@Data +public class LawEnforcementPieStatisticsVo { + + @ApiModelProperty(value = "任务类型") + private String taskType; + + @ApiModelProperty(value = "任务数量") + private String percentageOfTask; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.java new file mode 100644 index 0000000..5c0791e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.cecep.talroad.vo.query.MAmVideoDevFiQuery; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +/** + * @className: MAmVideoCoordinateOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:27 + * @Company: Copyright© [2023/04/28 15:27] by [Mr.Yanghongtao] + **/ + +/** + * 视频坐标操作日志表 + */ +@ApiModel(value = "视频坐标操作日志表") +@Data +@EqualsAndHashCode(callSuper = false) +public class MAmVideoCoordinateOperationLogQuery extends PageQuery { + /** + * 主键标识 + */ + private String logId; + + /** + * 操作时间 + */ + private Date operationTime; + + /** + * 视频监测点位名称 + */ + private String videoStationName; + + /** + * 操作前经度 + */ + private String beforeModifyLng; + + /** + * 操作前纬度 + */ + private String beforeModifyLag; + + /** + * 操作状态 + */ + private String operationStatus; + + /** + * 操作后经度 + */ + private String afterModifyLng; + + /** + * 操作后纬度 + */ + private String afterModifyLag; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 视频通道ID + */ + private String videoChannel; + + /** + * 企业ID + */ + private String factoryId; + + + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + + public static QueryWrapper createLambdaQueryWrapper(MAmVideoCoordinateOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.like(ObjectUtil.isNotNull(query.getVideoStationName()), "video_station_name", query.getVideoStationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.orderByDesc("operation_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.java new file mode 100644 index 0000000..3ba1a75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 基础信息 与 产治排跟踪--视频设施清单对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "基础信息 与 产治排跟踪--视频设施清单") +@Data +@EqualsAndHashCode(callSuper = false) +public class MAmVideoDevFiExcelVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "设备主键") + /** 设备主键 */ + @TableId(value = "id",type = IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + + @Excel(name = "序号") + @TableField(exist = false) + private Integer serialnumber; + + @ApiModelProperty(value = "摄像头ID") + /** 摄像头ID */ + private String devId; + + + @ApiModelProperty(value = "摄像头名称") + /** 摄像头名称 */ + @Excel(name = "视频监测点位名称") + private String devName; + + + @ApiModelProperty(value = "摄像头内部编号") + /** 摄像头内部编号 */ + private String devInsideCode; + + + @ApiModelProperty(value = "验证码") + /** 验证码 */ + private String devCode; + + + @ApiModelProperty(value = "型号") + /** 型号 */ + private String model; + + + @ApiModelProperty(value = "通道号") + /** 通道号 */ + private String modelRoad; + + + @ApiModelProperty(value = "安装位置") + /** 安装位置 */ + private String location; + + + @ApiModelProperty(value = "备注说明") + /** 备注说明 */ + private String descrAny; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + private String devType; + + + @ApiModelProperty(value = "设备来源") + /** 设备来源 */ + private String devSource; + @ApiModelProperty(value = "设备来源") + /** 视频通道id */ + @Excel(name = "视频通道id") + private String channelId; + + + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + @Excel(name = "经度") + private String lonMap; + + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + @Excel(name = "纬度") + private String latMap; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("devId", getDevId()) + .append("devName", getDevName()) + .append("devInsideCode", getDevInsideCode()) + .append("devCode", getDevCode()) + .append("model", getModel()) + .append("modelRoad", getModelRoad()) + .append("location", getLocation()) + .append("lonMap", getLonMap()) + .append("latMap", getLatMap()) + .append("descrAny", getDescrAny()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("devType", getDevType()) + .append("devSource", getDevSource()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiVo.java new file mode 100644 index 0000000..432c598 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MAmVideoDevFiVo.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.math.BigInteger; + + +/** + * 基础信息 与 产治排跟踪--视频设施清单对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "基础信息 与 产治排跟踪--视频设施清单") +@EqualsAndHashCode(callSuper = false) +@Data +public class MAmVideoDevFiVo +{ + + + @ApiModelProperty(value = "设备主键") + /** 设备主键 */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + @ApiModelProperty(value = "摄像头ID") + /** 摄像头ID */ + private String devId; + + @ApiModelProperty(value = "摄像头名称") + /** 摄像头名称 */ + private String devName; + + @ApiModelProperty(value = "摄像头内部编号") + /** 摄像头内部编号 */ + private String devInsideCode; + + @ApiModelProperty(value = "验证码") + /** 验证码 */ + private String devCode; + + @ApiModelProperty(value = "型号") + /** 型号 */ + private String model; + + @ApiModelProperty(value = "通道号") + /** 通道号 */ + private String modelRoad; + + @ApiModelProperty(value = "安装位置") + /** 安装位置 */ + private String location; + + @ApiModelProperty(value = "经度(地图)") + /** 经度(地图) */ + private BigDecimal lonMap; + + @ApiModelProperty(value = "纬度(地图)") + /** 纬度(地图) */ + private BigDecimal latMap; + + @ApiModelProperty(value = "备注说明") + /** 备注说明 */ + private String descrAny; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + private String updateTime; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + private String devType; + + @ApiModelProperty(value = "设备来源") + /** 设备来源 */ + private String devSource; + @ApiModelProperty(value = "设备id,用于视频来源于GB28181") + /** 设备id,用于视频来源于GB28181 */ + private String gbsDeviceId; + private String channelId; + private String status; + private String stationBuildingMn; + private String deviceId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MapPointVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MapPointVo.java new file mode 100644 index 0000000..1a9e558 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MapPointVo.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @Author: weizhuang + * @Date:2023/2/16 10:12 + * @Version 1.0 + */ +@Data +@ApiModel("地图点Vo") +public class MapPointVo { + @ApiModelProperty("点位名称") + private String pointName; + @ApiModelProperty("点位编码") + private String pointCode; + @ApiModelProperty("点位位置") + private String pointLocation; + @ApiModelProperty("点经度") + private BigDecimal pointLng; + @ApiModelProperty("点纬度") + private BigDecimal pointLat; + @ApiModelProperty("点位状态") + private String pointStatus; + @ApiModelProperty("点位类型[门禁、生产监控、煤气放散监控、在线监测、无组织监控、分表计电、视频监控]") + private String pointType; + @ApiModelProperty("点位类型对应小类") + private String pointSubClass; + @ApiModelProperty("点位图标内展示内容") + private Object pointIconContent; + @ApiModelProperty("点位附加数据{name:'',value:''}") + private List> addDatas; + + @ApiModelProperty("企业id") + private String factoryId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlHourVo.java new file mode 100644 index 0000000..b263921 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlHourVo.java @@ -0,0 +1,198 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-玻璃-小时 保存设备的小时数据对象 mon_dev_bl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + private String bs100; + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + private String bs101; + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + private String bs102; + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + private String bs103; + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + private String bs104; + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + private String bs105; + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + private String bs106; + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + private String bs107; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String bz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String bz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String bz102; + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + private String bz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String bz104; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String bz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String bz106; + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + private String bz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String bz108; + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + private String bz109; + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + private String bz110; + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + private String bz111; + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + private String bz112; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + private String g140; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + private String g329; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + private String g605; + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + private String g983; + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + private String g984; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + private String g985; + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + private String g986; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlOtherVo.java new file mode 100644 index 0000000..3b01dc0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlOtherVo.java @@ -0,0 +1,198 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据对象 mon_dev_bl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + private String bs100; + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + private String bs101; + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + private String bs102; + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + private String bs103; + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + private String bs104; + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + private String bs105; + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + private String bs106; + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + private String bs107; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String bz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String bz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String bz102; + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + private String bz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String bz104; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String bz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String bz106; + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + private String bz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String bz108; + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + private String bz109; + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + private String bz110; + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + private String bz111; + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + private String bz112; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + private String g140; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + private String g329; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + private String g605; + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + private String g983; + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + private String g984; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + private String g985; + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + private String g986; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlRealVo.java new file mode 100644 index 0000000..86b3c5f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlRealVo.java @@ -0,0 +1,201 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-玻璃-实时 保存设备的实时数据对象 mon_dev_bl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "混合机温度 单位: ℃") + /** 混合机温度 单位: ℃ */ + private String bs100; + + @ApiModelProperty(value = "原熔皮带电流 单位: A") + /** 原熔皮带电流 单位: A */ + private String bs101; + + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + /** 投料机输出频率 单位: HZ */ + private String bs102; + + @ApiModelProperty(value = "助燃风量 单位: m3/h") + /** 助燃风量 单位: m3/h */ + private String bs103; + + @ApiModelProperty(value = "熔窑温度 单位: ℃") + /** 熔窑温度 单位: ℃ */ + private String bs104; + + @ApiModelProperty(value = "煤气流量 单位: m3/h") + /** 煤气流量 单位: m3/h */ + private String bs105; + + @ApiModelProperty(value = "天然气流量 单位: m3/h") + /** 天然气流量 单位: m3/h */ + private String bs106; + + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + /** 退火窑辊道车速 单位: m/h */ + private String bs107; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String bz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String bz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String bz102; + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + /** 脱硫洗涤塔pH值 单位: */ + private String bz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String bz104; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String bz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String bz106; + + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + /** 脱硝反应区温度 单位: ℃ */ + private String bz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String bz108; + + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + /** 脱硝供给泵电流 单位: A */ + private String bz109; + + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + /** 氨喷射系统电流 单位: A */ + private String bz110; + + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + /** 氨泵风机状态 单位: 1=运行,0=停止 */ + private String bz111; + + @ApiModelProperty(value = "氨泵风机电流 单位: A") + /** 氨泵风机电流 单位: A */ + private String bz112; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + /** 脱硫_湿法脱硫剂使用量 单位: kg */ + private String g140; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + /** 脱硫_脱硫剂仓料(液)位 单位: m */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + /** 脱硝_脱硝剂仓料(液)位 单位: m */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + /** 脱硝_反应器入口烟气温度(SCR 单位: ℃ */ + private String g329; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + /** 袋式除尘器_风机电流 单位: A */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + /** 袋式除尘器_清灰周期 单位: h */ + private String g605; + + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + /** 入料_原料配比后的总重量 单位: kg */ + private String g983; + + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + /** 锡槽成型、退火_主传动速度 单位: m/s */ + private String g984; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + /** 液氨/氨水储存区_氨气泄漏报警信号 */ + private String g985; + + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + /** 在线监测数据或超标报警数据 单位: mg/m3 */ + private String g986; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + /** 脱硫_干法脱硫剂使用量 单位: kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + /** 半干法脱硫_脱硫剂使用量 单位: kg */ + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlStringVO.java new file mode 100644 index 0000000..0689d94 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlStringVO.java @@ -0,0 +1,152 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + *

    + * 设备数据-玻璃-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-09 + */ +@Data +@ApiModel +public class MonDevBlStringVO { + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "混合机温度 单位:℃") + private String bs100; + + @ApiModelProperty(value = "原熔皮带电流 单位:A") + private String bs101; + + @ApiModelProperty(value = "投料机输出频率 单位:HZ") + private String bs102; + + @ApiModelProperty(value = "助燃风量 单位:m3/h") + private String bs103; + + @ApiModelProperty(value = "熔窑温度 单位:℃") + private String bs104; + + @ApiModelProperty(value = "煤气流量 单位:m3/h") + private String bs105; + + @ApiModelProperty(value = "天然气流量 单位:m3/h") + private String bs106; + + @ApiModelProperty(value = "退火窑辊道车速 单位:m/h") + private String bs107; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private String bz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String bz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String bz102; + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位:") + private String bz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String bz104; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String bz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private String bz106; + + @ApiModelProperty(value = "脱硝反应区温度 单位:℃") + private String bz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String bz108; + + @ApiModelProperty(value = "脱硝供给泵电流 单位:A") + private String bz109; + + @ApiModelProperty(value = "氨喷射系统电流 单位:A") + private String bz110; + + @ApiModelProperty(value = "氨泵风机状态 单位:1=运行,0=停止") + private String bz111; + + @ApiModelProperty(value = "氨泵风机电流 单位:A") + private String bz112; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private String g140; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 工艺) 单位:℃") + private String g329; + + @ApiModelProperty(value = "一次电压 单位:V") + private String g501; + + @ApiModelProperty(value = "一次电流 单位:A") + private String g502; + + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + + @ApiModelProperty(value = "原料配比后的总重量 单位:kg") + private String g983; + + @ApiModelProperty(value = "锡槽成型主传动速度 单位:m/s") + private String g984; + + @ApiModelProperty(value = "氨气泄漏报警信号 单位:") + private String g985; + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据 单位:mg/m3") + private String g986; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlVO.java new file mode 100644 index 0000000..311e382 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevBlVO.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + *

    + * 设备数据-玻璃-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-09 + */ +@Data +@ApiModel +public class MonDevBlVO +{ + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "混合机温度 单位:℃") + private Double bs100; + + @ApiModelProperty(value = "原熔皮带电流 单位:A") + private Double bs101; + + @ApiModelProperty(value = "投料机输出频率 单位:HZ") + private Double bs102; + + @ApiModelProperty(value = "助燃风量 单位:m3/h") + private Double bs103; + + @ApiModelProperty(value = "熔窑温度 单位:℃") + private Double bs104; + + @ApiModelProperty(value = "煤气流量 单位:m3/h") + private Double bs105; + + @ApiModelProperty(value = "天然气流量 单位:m3/h") + private Double bs106; + + @ApiModelProperty(value = "退火窑辊道车速 单位:m/h") + private Double bs107; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private Double bz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private Double bz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private Double bz102; + + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位:") + private Double bz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private Double bz104; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private Double bz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private Double bz106; + + @ApiModelProperty(value = "脱硝反应区温度 单位:℃") + private Double bz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private Double bz108; + + @ApiModelProperty(value = "脱硝供给泵电流 单位:A") + private Double bz109; + + @ApiModelProperty(value = "氨喷射系统电流 单位:A") + private Double bz110; + + @ApiModelProperty(value = "氨泵风机状态 单位:1=运行,0=停止") + private Double bz111; + + @ApiModelProperty(value = "氨泵风机电流 单位:A") + private Double bz112; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private Double g140; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private Double g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private Double g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 工艺) 单位:℃") + private Double g329; + + @ApiModelProperty(value = "一次电压 单位:V") + private Double g501; + + @ApiModelProperty(value = "一次电流 单位:A") + private Double g502; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private Double g605; + + @ApiModelProperty(value = "原料配比后的总重量 单位:kg") + private Double g983; + + @ApiModelProperty(value = "锡槽成型主传动速度 单位:m/s") + private Double g984; + + @ApiModelProperty(value = "氨气泄漏报警信号 单位:") + private Double g985; + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据 单位:mg/m3") + private Double g986; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private Double gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private Double gb09; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlHourVo.java new file mode 100644 index 0000000..9daeedd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlHourVo.java @@ -0,0 +1,466 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-电力-小时 保存设备的小时数据对象 mon_dev_dl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + private Long g101; + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + private String g102; + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + private String g104; + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + private Long g109; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + private String g115; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g119; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + private String g120; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g121; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g122; + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + private String g123; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g124; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + private String g125; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + private String g126; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g127; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + private String g128; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + private String g129; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g130; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g131; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g132; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + private String g133; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + private String g134; + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + private String g136; + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + private Long g138; + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + private String g139; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + private String g141; + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + private String g201; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + private String g202; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g213; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + private String g214; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + private String g215; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + private String g216; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + private String g217; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g218; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + private String g219; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + private String g220; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g221; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String g222; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + private String g223; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g224; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g225; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g226; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + private String g227; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + private String g228; + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + private String g301; + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + private Long g302; + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + private String g303; + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + private String g304; + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + private String g305; + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + private String g306; + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + private String g307; + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + private String g308; + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + private String g309; + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + private String g310; + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + private String g311; + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + private String g312; + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + private String g315; + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + private String g316; + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + private String g317; + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + private String g318; + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + private String g319; + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + private String g320; + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + private String g321; + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + private String g322; + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + private String g323; + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + private String g324; + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + private String g325; + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + private String g326; + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + private String g327; + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + private String g328; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + private String g705; + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + private String g903; + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + private String g904; + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + private Long g905; + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + private String g906; + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + private String g947; + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String gb00; + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String gb01; + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + private String gb02; + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String gb03; + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String gb04; + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String gb05; + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + private String gb06; + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + private String gb07; + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + private String gb09; + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + private String hq100; + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + private String hs100; + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + private String hs101; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String hz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String hz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String hz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String hz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String hz105; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String hz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private Long hz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String hz108; + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + private String p103; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + private String g103; + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + private String g203; + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + private String g204; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlOtherVo.java new file mode 100644 index 0000000..67034b8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlOtherVo.java @@ -0,0 +1,466 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据对象 mon_dev_dl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + private Long g101; + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + private String g102; + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + private String g104; + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + private Long g109; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + private String g115; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g119; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + private String g120; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g121; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g122; + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + private String g123; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g124; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + private String g125; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + private String g126; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g127; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + private String g128; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + private String g129; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g130; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g131; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g132; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + private String g133; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + private String g134; + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + private String g136; + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + private Long g138; + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + private String g139; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + private String g141; + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + private String g201; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + private String g202; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g213; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + private String g214; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + private String g215; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + private String g216; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + private String g217; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g218; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + private String g219; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + private String g220; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g221; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String g222; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + private String g223; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g224; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g225; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g226; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + private String g227; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + private String g228; + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + private String g301; + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + private Long g302; + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + private String g303; + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + private String g304; + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + private String g305; + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + private String g306; + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + private String g307; + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + private String g308; + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + private String g309; + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + private String g310; + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + private String g311; + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + private String g312; + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + private String g315; + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + private String g316; + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + private String g317; + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + private String g318; + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + private String g319; + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + private String g320; + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + private String g321; + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + private String g322; + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + private String g323; + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + private String g324; + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + private String g325; + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + private String g326; + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + private String g327; + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + private String g328; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + private String g705; + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + private String g903; + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + private String g904; + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + private Long g905; + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + private String g906; + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + private String g947; + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String gb00; + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String gb01; + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + private String gb02; + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String gb03; + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String gb04; + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String gb05; + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + private String gb06; + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + private String gb07; + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + private String gb09; + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + private String hq100; + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + private String hs100; + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + private String hs101; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String hz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String hz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String hz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String hz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String hz105; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String hz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private Long hz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String hz108; + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + private String p103; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + private String g103; + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + private String g203; + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + private String g204; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlRealVo.java new file mode 100644 index 0000000..feed2a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlRealVo.java @@ -0,0 +1,469 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-电力-实时 保存设备的实时数据对象 mon_dev_dl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + /** 湿法脱硫_增压风机状态 */ + private Long g101; + + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + /** 湿法脱硫_增压风机电流 单位: A */ + private String g102; + + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + /** 湿法脱硫_浆液循环泵电流 单位: A */ + private String g104; + + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + /** 湿法脱硫_浆液泵状态 单位: 1=运行,0=停止 */ + private Long g109; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3 */ + private String g115; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g119; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口 NOX信号 单位: mg/m3 */ + private String g120; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g121; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + /** 湿法脱硫_FGD 入口 O2信号 单位: % */ + private String g122; + + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + /** 湿法脱硫_FGD 单位: ℃ */ + private String g123; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g124; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + /** 湿法脱硫_FGD 入口压力信号 单位: kpa */ + private String g125; + + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + /** 湿法脱硫_FGD 入口湿度信号 单位: % */ + private String g126; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g127; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口 NOX信号 单位: mg/m3 */ + private String g128; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + /** 湿法脱硫_FGD 出口 O2信号 单位: % */ + private String g129; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + /** 湿法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g130; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + /** 湿法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g131; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 湿法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g132; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + /** 湿法脱硫_FGD 出口压力信号 单位: kpa */ + private String g133; + + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + /** 湿法脱硫_FGD 出口湿度信号 单位: % */ + private String g134; + + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + /** 湿法脱硫_浆液泵电流 单位: A */ + private String g136; + + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + /** 湿法脱硫_氧化风机状态 */ + private Long g138; + + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + /** 湿法脱硫_氧化风机电流 单位: A */ + private String g139; + + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + /** 湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2 */ + private String g141; + + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + /** 半干法脱硫_脱硫塔内喷水泵电流 单位: % */ + private String g201; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + /** 半干法脱硫_脱硫剂输送装置电流 单位: % */ + private String g202; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口SO2信号 单位: mg/m3 */ + private String g213; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口NOX信号 单位: mg/m3 */ + private String g214; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + /** 半干法脱硫_FGD 入口O2信号 单位: % */ + private String g215; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 入口流量信号 单位: m3/h */ + private String g216; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + /** 半干法脱硫_FGD 入口温度信号 单位: ℃ */ + private String g217; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 入口烟尘信号 单位: mg/m3 */ + private String g218; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + /** 半干法脱硫_FGD 入口压力信号 单位: kpa */ + private String g219; + + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + /** 半干法脱硫_FGD 入口湿度信号 单位: % */ + private String g220; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String g221; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String g222; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + /** 半干法脱硫_FGD 出口O2信号 单位: % */ + private String g223; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 半干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String g224; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + /** 半干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String g225; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 半干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String g226; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + /** 半干法脱硫_FGD 出口压力信号 单位: kpa */ + private String g227; + + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + /** 半干法脱硫_FGD 出口湿度信号 单位: % */ + private String g228; + + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + /** 脱硝_氨喷射系统电流 单位: A */ + private String g301; + + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + /** 脱硝_稀释风机状态 单位: 1=运行,0=停止 */ + private Long g302; + + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + /** 脱硝_稀释风机电流 单位: A */ + private String g303; + + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + /** 脱硝_氨泵风机状态 单位: 1=运行,0=停止 */ + private String g304; + + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + /** 脱硝_氨泵风机电流 单位: A */ + private String g305; + + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + /** 脱硝_旁路挡板状态 单位: 1=运行,0=停止 */ + private String g306; + + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + /** 脱硝_旁路挡板开度 单位: % */ + private String g307; + + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + /** 脱硝_旁路挡板左右压差 单位: kpa */ + private String g308; + + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + /** 脱硝_尿素溶液流量 单位: m3/h */ + private String g309; + + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + /** 脱硝_喷枪运行状态 单位: 1=运行,0=停止 */ + private String g310; + + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + /** 脱硝_尿素循环泵状态 单位: 1=运行,0=停止 */ + private String g311; + + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + /** 脱硝_尿素循环泵电流 单位: 安[培] */ + private String g312; + + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + /** 脱硝_入口NOX 单位: mg/m3 */ + private String g315; + + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + /** 脱硝_入口O2百分比 单位: % */ + private String g316; + + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + /** 脱硝_入口温度 单位: ℃ */ + private String g317; + + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + /** 脱硝_入口压力 单位: kpa */ + private String g318; + + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + /** 脱硝_入口流量 单位: m3/h */ + private String g319; + + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + /** 脱硝_入口湿度 单位: % */ + private String g320; + + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + /** 脱硝_入口NH3 单位: mg/m3 */ + private String g321; + + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + /** 脱硝_出口NOX 单位: mg/m3 */ + private String g322; + + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + /** 脱硝_出口O2百分比 单位: % */ + private String g323; + + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + /** 脱硝_出口温度 单位: ℃ */ + private String g324; + + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + /** 脱硝_出口压力 单位: kpa */ + private String g325; + + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + /** 脱硝_出口流量 单位: m3/h */ + private String g326; + + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + /** 脱硝_出口湿度 单位: % */ + private String g327; + + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + /** 脱硝_出口NH3 单位: mg/m3 */ + private String g328; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + /** 静电除尘器_一次电压 单位: V */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + /** 静电除尘器_一次电流 单位: A */ + private String g502; + + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + /** 袋式除尘器_进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + /** 氨法脱硫_吸收塔供氨流量 单位: m3/h */ + private String g705; + + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + /** 锅炉_锅炉燃料综合量 单位: t/h */ + private String g903; + + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + /** 锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1 */ + private String g904; + + @ApiModelProperty(value = "锅炉_引风机状态") + /** 锅炉_引风机状态 */ + private Long g905; + + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + /** 锅炉_引风机电流 单位: A */ + private String g906; + + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + /** 锅炉_机组负荷(有功功率) 单位: MW */ + private String g947; + + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + /** 干法脱硫_FGD 出口SO2信号 单位: mg/m3 */ + private String gb00; + + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + /** 干法脱硫_FGD 出口NOX信号 单位: mg/m3 */ + private String gb01; + + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + /** 干法脱硫_FGD 出口O2信号 单位: % */ + private String gb02; + + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + /** 干法脱硫_FGD 出口流量信号 单位: m3/h */ + private String gb03; + + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + /** 干法脱硫_FGD 出口温度信号 单位: ℃ */ + private String gb04; + + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + /** 干法脱硫_FGD 出口烟尘信号 单位: mg/m3 */ + private String gb05; + + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + /** 干法脱硫_FGD 出口压力信号 单位: kpa */ + private String gb06; + + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + /** 干法脱硫_FGD 出口湿度信号 单位: % */ + private String gb07; + + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + /** 干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + /** 半干法脱硫_脱硫剂使用量 单位: % */ + private String gb09; + + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + /** 发机侧气轮机功率 单位: MW */ + private String hq100; + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + /** 锅炉侧锅炉氧含量 单位: % */ + private String hs100; + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + /** 发机侧锅炉蒸发量 单位: m3/h */ + private String hs101; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + /** 布袋除尘器前后压差 单位: Pa */ + private String hz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + /** 电除尘器二次电流 单位: A */ + private String hz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + /** 电除尘器二次电压 单位: V */ + private String hz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String hz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + /** 脱硫供浆流量 单位: m3/h */ + private String hz105; + + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + /** 脱硫供料流量 单位: kg/h */ + private String hz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private Long hz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String hz108; + + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + /** 燃气轮机_燃气轮机功率 单位: MW */ + private String p103; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "浆液循环泵状态") + /** 浆液循环泵状态 */ + private String g103; + + @ApiModelProperty(value = "脱硫剂输送装置信号") + /** 脱硫剂输送装置信号 */ + private String g203; + + @ApiModelProperty(value = "脱硫塔温度") + /** 脱硫塔温度 */ + private String g204; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlStringVO.java new file mode 100644 index 0000000..b2ad68f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlStringVO.java @@ -0,0 +1,352 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + *

    + * 设备数据-电力-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevDlStringVO { + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "增压风机状态 单位:") + private String g101; + + @ApiModelProperty(value = "氧化风机电流 单位:A") + private String g102; + + @ApiModelProperty(value = "浆液循环泵状态 单位:") + private String g103; + + @ApiModelProperty(value = "浆液循环泵电流 单位:A") + private String g104; + + @ApiModelProperty(value = "浆液泵状态 单位:") + private String g109; + + @ApiModelProperty(value = "塔(或浆液池)内浆液密度 单位:kg/m3") + private String g115; + + @ApiModelProperty(value = "FGD入口SO2信号 单位:mg/m3") + private String g119; + + @ApiModelProperty(value = "FGD入口NOX信号 单位:mg/m3") + private String g120; + + @ApiModelProperty(value = "FGD入口O2信号 单位:%") + private String g121; + + @ApiModelProperty(value = "FGD入口流量信号 单位:m3/h") + private String g122; + + @ApiModelProperty(value = "FGD入口温度信号 单位:℃") + private String g123; + + @ApiModelProperty(value = "FGD入口烟尘信号 单位:mg/m3") + private String g124; + + @ApiModelProperty(value = "FGD入口压力信号 单位:KPa") + private String g125; + + @ApiModelProperty(value = "FGD入口湿度信号 单位:%") + private String g126; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private String g127; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private String g128; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private String g129; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private String g130; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private String g131; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private String g132; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private String g133; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private String g134; + + @ApiModelProperty(value = "浆液泵电流 单位:A") + private String g136; + + @ApiModelProperty(value = "氧化风机状态 单位:") + private String g138; + + @ApiModelProperty(value = "氧化风机电流 单位:A") + private String g139; + + @ApiModelProperty(value = "塔(或浆液池)内浆液液位 单位:m") + private String g141; + + @ApiModelProperty(value = "脱硫塔内喷水泵电流 单位:A") + private String g201; + + @ApiModelProperty(value = "脱硫剂输送装置电流 单位:A") + private String g202; + + @ApiModelProperty(value = "脱硫剂输送装置信号 单位:") + private String g203; + + @ApiModelProperty(value = "脱硫塔温度 单位:℃") + private String g204; + + @ApiModelProperty(value = "FGD入口SO2信号 单位:mg/m3") + private String g213; + + @ApiModelProperty(value = "FGD入口NOX信号 单位:mg/m3") + private String g214; + + @ApiModelProperty(value = "FGD入口O2信号 单位:%") + private String g215; + + @ApiModelProperty(value = "FGD入口流量信号 单位:m3/h") + private String g216; + + @ApiModelProperty(value = "FGD入口温度信号 单位:℃") + private String g217; + + @ApiModelProperty(value = "FGD入口烟尘信号 单位:mg/m3") + private String g218; + + @ApiModelProperty(value = "FGD入口压力信号 单位:KPa") + private String g219; + + @ApiModelProperty(value = "FGD入口湿度信号 单位:%") + private String g220; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private String g221; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private String g222; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private String g223; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private String g224; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private String g225; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private String g226; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private String g227; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private String g228; + + @ApiModelProperty(value = "氨喷射系统电流 单位:A") + private String g301; + + @ApiModelProperty(value = "稀释风机状态 单位:") + private String g302; + + @ApiModelProperty(value = "稀释风机电流 单位:A") + private String g303; + + @ApiModelProperty(value = "氨泵风机状态 单位:") + private String g304; + + @ApiModelProperty(value = "氨泵风机电流 单位:A") + private String g305; + + @ApiModelProperty(value = "旁路挡板状态 单位:") + private String g306; + + @ApiModelProperty(value = "旁路挡板状开度 单位:%") + private String g307; + + @ApiModelProperty(value = "旁路挡板左右压差 单位:KPa") + private String g308; + + @ApiModelProperty(value = "喷枪运行状态 单位:") + private String g310; + + @ApiModelProperty(value = "尿素循环泵状态 单位:") + private String g311; + + @ApiModelProperty(value = "尿素循环泵电流 单位:A") + private String g312; + + @ApiModelProperty(value = "入口 NOX 单位:mg/m3") + private String g315; + + @ApiModelProperty(value = "入口O2 单位:%") + private String g316; + + @ApiModelProperty(value = "入口温度 单位:℃") + private String g317; + + @ApiModelProperty(value = "入口压力 单位:KPa") + private String g318; + + @ApiModelProperty(value = "入口流量 单位:m3/h") + private String g319; + + @ApiModelProperty(value = "入口湿度 单位:%") + private String g320; + + @ApiModelProperty(value = "入口NH3 单位:mg/m3") + private String g321; + + @ApiModelProperty(value = "出口NOX 单位:mg/m3") + private String g322; + + @ApiModelProperty(value = "出口O2 单位:%") + private String g323; + + @ApiModelProperty(value = "出口温度 单位:℃") + private String g324; + + @ApiModelProperty(value = "出口压力 单位:KPa") + private String g325; + + @ApiModelProperty(value = "出口流量 单位:m3/h") + private String g326; + + @ApiModelProperty(value = "出口湿度 单位:%") + private String g327; + + @ApiModelProperty(value = "出口NH3 单位:mg/m3") + private String g328; + + @ApiModelProperty(value = "电除尘器一次电流 单位:A") + private String g501; + + @ApiModelProperty(value = "电除尘器一次电压 单位:V") + private String g502; + + @ApiModelProperty(value = "布袋除尘器进口温度 单位:℃") + private String g602; + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量立 单位:m3/h") + private String g705; + + @ApiModelProperty(value = "锅炉燃料给料量 单位:t/h") + private String g903; + + @ApiModelProperty(value = "锅炉机组锅炉 MFT信号 单位:") + private String g904; + + @ApiModelProperty(value = "引风机状态 单位:") + private String g905; + + @ApiModelProperty(value = "引风机电流 单位:A") + private String g906; + + @ApiModelProperty(value = "机组负荷(有功功率) 单位:MW") + private String g947; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private String gb00; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private String gb01; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private String gb02; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private String gb03; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private String gb04; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private String gb05; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private String gb06; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private String gb07; + + @ApiModelProperty(value = "脱硫剂或吸附剂喷入量 单位:kg/h") + private String gb08; + + @ApiModelProperty(value = "脱硫剂使用量 单位:kg/h") + private String gb09; + + @ApiModelProperty(value = "发机侧气轮机功率 单位:MW") + private String hq100; + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位:%") + private String hs100; + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位:m3/h") + private String hs101; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private String hz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String hz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String hz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值 单位:") + private String hz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String hz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String hz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private String hz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String hz108; + + @ApiModelProperty(value = "煤气轮机功率 单位:MW") + private String p103; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlVO.java new file mode 100644 index 0000000..3e0d804 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevDlVO.java @@ -0,0 +1,343 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

    + * 设备数据-电力-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevDlVO +{ + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + @ApiModelProperty(value = "增压风机状态 单位:") + private Double g101; + + @ApiModelProperty(value = "氧化风机电流 单位:A") + private Double g102; + + @ApiModelProperty(value = "浆液循环泵状态 单位:") + private Double g103; + + @ApiModelProperty(value = "浆液循环泵电流 单位:A") + private Double g104; + + @ApiModelProperty(value = "浆液泵状态 单位:") + private Double g109; + + @ApiModelProperty(value = "塔(或浆液池)内浆液密度 单位:kg/m3") + private Double g115; + + @ApiModelProperty(value = "FGD入口SO2信号 单位:mg/m3") + private Double g119; + + @ApiModelProperty(value = "FGD入口NOX信号 单位:mg/m3") + private Double g120; + + @ApiModelProperty(value = "FGD入口O2信号 单位:%") + private Double g121; + + @ApiModelProperty(value = "FGD入口流量信号 单位:m3/h") + private Double g122; + + @ApiModelProperty(value = "FGD入口温度信号 单位:℃") + private Double g123; + + @ApiModelProperty(value = "FGD入口烟尘信号 单位:mg/m3") + private Double g124; + + @ApiModelProperty(value = "FGD入口压力信号 单位:KPa") + private Double g125; + + @ApiModelProperty(value = "FGD入口湿度信号 单位:%") + private Double g126; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private Double g127; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private Double g128; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private Double g129; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private Double g130; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private Double g131; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private Double g132; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private Double g133; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private Double g134; + + @ApiModelProperty(value = "浆液泵电流 单位:A") + private Double g136; + + @ApiModelProperty(value = "氧化风机状态 单位:") + private Double g138; + + @ApiModelProperty(value = "氧化风机电流 单位:A") + private Double g139; + + @ApiModelProperty(value = "塔(或浆液池)内浆液液位 单位:m") + private Double g141; + + @ApiModelProperty(value = "脱硫塔内喷水泵电流 单位:A") + private Double g201; + + @ApiModelProperty(value = "脱硫剂输送装置电流 单位:A") + private Double g202; + + @ApiModelProperty(value = "脱硫剂输送装置信号 单位:") + private Double g203; + + @ApiModelProperty(value = "脱硫塔温度 单位:℃") + private Double g204; + + @ApiModelProperty(value = "FGD入口SO2信号 单位:mg/m3") + private Double g213; + + @ApiModelProperty(value = "FGD入口NOX信号 单位:mg/m3") + private Double g214; + + @ApiModelProperty(value = "FGD入口O2信号 单位:%") + private Double g215; + + @ApiModelProperty(value = "FGD入口流量信号 单位:m3/h") + private Double g216; + + @ApiModelProperty(value = "FGD入口温度信号 单位:℃") + private Double g217; + + @ApiModelProperty(value = "FGD入口烟尘信号 单位:mg/m3") + private Double g218; + + @ApiModelProperty(value = "FGD入口压力信号 单位:KPa") + private Double g219; + + @ApiModelProperty(value = "FGD入口湿度信号 单位:%") + private Double g220; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private Double g221; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private Double g222; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private Double g223; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private Double g224; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private Double g225; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private Double g226; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private Double g227; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private Double g228; + + @ApiModelProperty(value = "氨喷射系统电流 单位:A") + private Double g301; + + @ApiModelProperty(value = "稀释风机状态 单位:") + private Double g302; + + @ApiModelProperty(value = "稀释风机电流 单位:A") + private Double g303; + + @ApiModelProperty(value = "氨泵风机状态 单位:") + private Double g304; + + @ApiModelProperty(value = "氨泵风机电流 单位:A") + private Double g305; + + @ApiModelProperty(value = "旁路挡板状态 单位:") + private Double g306; + + @ApiModelProperty(value = "旁路挡板状开度 单位:%") + private Double g307; + + @ApiModelProperty(value = "旁路挡板左右压差 单位:KPa") + private Double g308; + + @ApiModelProperty(value = "喷枪运行状态 单位:") + private Double g310; + + @ApiModelProperty(value = "尿素循环泵状态 单位:") + private Double g311; + + @ApiModelProperty(value = "尿素循环泵电流 单位:A") + private Double g312; + + @ApiModelProperty(value = "入口 NOX 单位:mg/m3") + private Double g315; + + @ApiModelProperty(value = "入口O2 单位:%") + private Double g316; + + @ApiModelProperty(value = "入口温度 单位:℃") + private Double g317; + + @ApiModelProperty(value = "入口压力 单位:KPa") + private Double g318; + + @ApiModelProperty(value = "入口流量 单位:m3/h") + private Double g319; + + @ApiModelProperty(value = "入口湿度 单位:%") + private Double g320; + + @ApiModelProperty(value = "入口NH3 单位:mg/m3") + private Double g321; + + @ApiModelProperty(value = "出口NOX 单位:mg/m3") + private Double g322; + + @ApiModelProperty(value = "出口O2 单位:%") + private Double g323; + + @ApiModelProperty(value = "出口温度 单位:℃") + private Double g324; + + @ApiModelProperty(value = "出口压力 单位:KPa") + private Double g325; + + @ApiModelProperty(value = "出口流量 单位:m3/h") + private Double g326; + + @ApiModelProperty(value = "出口湿度 单位:%") + private Double g327; + + @ApiModelProperty(value = "出口NH3 单位:mg/m3") + private Double g328; + + @ApiModelProperty(value = "电除尘器一次电流 单位:A") + private Double g501; + + @ApiModelProperty(value = "电除尘器一次电压 单位:V") + private Double g502; + + @ApiModelProperty(value = "布袋除尘器进口温度 单位:℃") + private Double g602; + + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量立 单位:m3/h") + private Double g705; + + @ApiModelProperty(value = "锅炉燃料给料量 单位:t/h") + private Double g903; + + @ApiModelProperty(value = "锅炉机组锅炉 MFT信号 单位:") + private Double g904; + + @ApiModelProperty(value = "引风机状态 单位:") + private Double g905; + + @ApiModelProperty(value = "引风机电流 单位:A") + private Double g906; + + @ApiModelProperty(value = "机组负荷(有功功率) 单位:MW") + private Double g947; + + @ApiModelProperty(value = "FGD出口SO2信号 单位:mg/m3") + private Double gb00; + + @ApiModelProperty(value = "FGD出口NOX信号 单位:mg/m3") + private Double gb01; + + @ApiModelProperty(value = "FGD出口O2信号 单位:%") + private Double gb02; + + @ApiModelProperty(value = "FGD出口流量信号 单位:m3/h") + private Double gb03; + + @ApiModelProperty(value = "FGD出口温度信号 单位:℃") + private Double gb04; + + @ApiModelProperty(value = "FGD出口烟尘信号 单位:mg/m3") + private Double gb05; + + @ApiModelProperty(value = "FGD出口压力信号 单位:KPa") + private Double gb06; + + @ApiModelProperty(value = "FGD出口湿度信号 单位:%") + private Double gb07; + + @ApiModelProperty(value = "脱硫剂或吸附剂喷入量 单位:kg/h") + private Double gb08; + + @ApiModelProperty(value = "脱硫剂使用量 单位:kg/h") + private Double gb09; + + @ApiModelProperty(value = "发机侧气轮机功率 单位:MW") + private Double hq100; + + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位:%") + private Double hs100; + + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位:m3/h") + private Double hs101; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private Double hz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private Double hz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private Double hz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值 单位:") + private Double hz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private Double hz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private Double hz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private Double hz107; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private Double hz108; + + @ApiModelProperty(value = "煤气轮机功率 单位:MW") + private Double p103; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsHourVo.java new file mode 100644 index 0000000..b87f656 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsHourVo.java @@ -0,0 +1,294 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据对象 mon_dev_fs_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + private String fs100; + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + private String fs101; + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + private String fz100; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String fz101; + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + private String fz102; + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + private String fz103; + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + private String fz104; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + private String fz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String fz106; + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + private String fz107; + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + private String fz108; + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + private String g229; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + private String g230; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + private String g231; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + private String g232; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + private String g233; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + private String g234; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + private String g332; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + private String g333; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + private String g334; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + private String g335; + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + private String ga04; + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + private String gb14; + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + private String gb15; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + private String gb16; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + private String gb17; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + private String gb18; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + private String gb19; + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + private String gc00; + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + private String gc01; + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + private String gc02; + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + private String gc03; + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + private String gc04; + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + private String gc05; + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + private String gc06; + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + private String gc07; + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + private String gc08; + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + private String gc09; + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + private String gc10; + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + private String gc11; + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + private String gc12; + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + private String gc13; + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + private String gc14; + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + private String gc15; + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + private String gc16; + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + private String gc17; + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + private String gc19; + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + private String gc20; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + private String gc21; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + private String gc22; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + private String gc23; + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + private String gc25; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + private String gc26; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + private String gc27; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + private String gc28; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + private String gc29; + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + private String gc30; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + private String gc31; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + private String gc24; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsOtherVo.java new file mode 100644 index 0000000..5a800a2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsOtherVo.java @@ -0,0 +1,294 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据对象 mon_dev_fs_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + private String fs100; + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + private String fs101; + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + private String fz100; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String fz101; + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + private String fz102; + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + private String fz103; + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + private String fz104; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + private String fz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String fz106; + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + private String fz107; + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + private String fz108; + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + private String g229; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + private String g230; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + private String g231; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + private String g232; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + private String g233; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + private String g234; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + private String g332; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + private String g333; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + private String g334; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + private String g335; + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + private String ga04; + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + private String gb14; + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + private String gb15; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + private String gb16; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + private String gb17; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + private String gb18; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + private String gb19; + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + private String gc00; + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + private String gc01; + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + private String gc02; + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + private String gc03; + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + private String gc04; + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + private String gc05; + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + private String gc06; + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + private String gc07; + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + private String gc08; + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + private String gc09; + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + private String gc10; + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + private String gc11; + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + private String gc12; + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + private String gc13; + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + private String gc14; + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + private String gc15; + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + private String gc16; + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + private String gc17; + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + private String gc19; + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + private String gc20; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + private String gc21; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + private String gc22; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + private String gc23; + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + private String gc25; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + private String gc26; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + private String gc27; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + private String gc28; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + private String gc29; + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + private String gc30; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + private String gc31; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + private String gc24; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsRealVo.java new file mode 100644 index 0000000..26d168d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsRealVo.java @@ -0,0 +1,300 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据对象 mon_dev_fs_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + /** 传输系统垃圾处理量 单位: kg/h */ + private String fs100; + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + /** 焚烧炉炉膛温度 单位: ℃ */ + private String fs101; + + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + /** 脱硝烟气温度 单位: ℃ */ + private String fz100; + + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + /** 脱硝还原剂用量 单位: m3/h */ + private String fz101; + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + /** 脱硫半干法石灰浆用量 单位: kg/h */ + private String fz102; + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + /** 脱硫干法石灰石耗量 单位: kg/h */ + private String fz103; + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + /** 脱硫吸收塔内浆液pH值 */ + private String fz104; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + /** 脱硫湿法氧化风机电流 单位: A */ + private String fz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 单位: 1=运行,0=停止 */ + private String fz106; + + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + /** 活性炭用量 单位: kg/h */ + private String fz107; + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + /** 袋式除尘器进出口压差 单位: Pa */ + private String fz108; + + @ApiModelProperty(value = "风机电流 单位:A") + private String fz109; + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + /** 脱酸药剂浆液浓度 单位: % */ + private String g229; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + /** 烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h */ + private String g230; + + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + /** 烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A */ + private String g231; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + /** 烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: % */ + private String g232; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + /** 烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h */ + private String g233; + + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + /** 烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: */ + private String g234; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + /** 烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h */ + private String g332; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: % */ + private String g333; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h */ + private String g334; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + /** 烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃ */ + private String g335; + + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + /** 烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃ */ + private String g602; + + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + /** 烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A */ + private String ga04; + + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + /** 烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h */ + private String gb14; + + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + /** 烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A */ + private String gb15; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + /** 固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: % */ + private String gb16; + + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + /** 固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg */ + private String gb17; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A */ + private String gb18; + + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + /** 废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A */ + private String gb19; + + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + /** 各种入炉燃料进厂量_生活垃圾 单位: kg */ + private String gc00; + + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + /** 各种入炉燃料进厂量_污泥 单位: kg */ + private String gc01; + + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + /** 各种入炉燃料进厂量_一般工业固废 单位: kg */ + private String gc02; + + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + /** 各种入炉燃料进厂量_可入炉的医疗废物 单位: kg */ + private String gc03; + + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + /** 各种入炉燃料进厂量_其它 单位: kg */ + private String gc04; + + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + /** 脱酸剂进厂量_消石灰 单位: kg */ + private String gc05; + + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + /** 脱酸剂进厂量-生石灰 单位: kg */ + private String gc06; + + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + /** 脱酸剂进厂量_碳酸氢钠 单位: kg */ + private String gc07; + + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + /** 脱酸剂进厂量_氢氧化钠 单位: kg */ + private String gc08; + + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + /** 脱酸剂进厂量_其它 单位: kg */ + private String gc09; + + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + /** 危险废物进厂量_飞灰 单位: kg */ + private String gc10; + + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + /** 危险废物进厂量_废油及废油桶 单位: kg */ + private String gc11; + + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + /** 危险废物进厂量_废滤袋 单位: kg */ + private String gc12; + + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + /** 垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg */ + private String gc13; + + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + /** 危险废物进厂量_实验室废液 单位: kg */ + private String gc14; + + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + /** 危险废物进厂量_其它 单位: kg */ + private String gc15; + + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + /** 炉渣出厂量千克 单位: kg */ + private String gc16; + + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + /** 垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa */ + private String gc17; + + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + /** 垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m */ + private String gc19; + + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + /** 落料密封门开停信号 单位: 1=运行,0=停止 */ + private String gc20; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + /** 垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止 */ + private String gc21; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + /** 垃圾焚烧单元_焚烧工况_开始时间 */ + private String gc22; + + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + /** 垃圾焚烧单元_焚烧工况_截止时间 */ + private String gc23; + + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + /** 垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa */ + private String gc25; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h */ + private String gc26; + + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + /** 垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A */ + private String gc27; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h */ + private String gc28; + + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + /** 垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A */ + private String gc29; + + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + /** 垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃ */ + private String gc30; + + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + /** 烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: % */ + private String gc31; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + /** 炉膛内中部和上部温度(5 分钟均值) */ + private String gc24; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsStringVO.java new file mode 100644 index 0000000..da9bbe9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsStringVO.java @@ -0,0 +1,230 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + *

    + * 设备数据-垃圾焚烧-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevFsStringVO { + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "传输系统垃圾处理量 单位:kg/h") + private String fs100; + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位:℃") + private String fs101; + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + private String fz100; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String fz101; + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位:kg/h") + private String fz102; + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位:kg/h") + private String fz103; + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值 单位:") + private String fz104; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String fz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private String fz106; + + @ApiModelProperty(value = "活性炭用量 单位:kg/h") + private String fz107; + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位:KPa") + private String fz108; + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位:%") + private String g229; + + @ApiModelProperty(value = "脱酸剂投加速率 单位:kg/h") + private String g230; + + @ApiModelProperty(value = "雾化器电流 单位:A") + private String g231; + + @ApiModelProperty(value = "药剂浆液浓度 单位:%") + private String g232; + + @ApiModelProperty(value = "投加速率 单位:kg/h") + private String g233; + + @ApiModelProperty(value = "脱酸塔排出液 pH 值 单位:") + private String g234; + + @ApiModelProperty(value = "PNCR 脱硝剂投加速率 单位:kg/h") + private String g332; + + @ApiModelProperty(value = "硝药剂浆液浓度 单位:%") + private String g333; + + @ApiModelProperty(value = "投加速率 单位:kg/h") + private String g334; + + @ApiModelProperty(value = "脱硝反应器入口烟气温度 单位:℃") + private String g335; + + @ApiModelProperty(value = "进口温度 单位:℃") + private String g602; + + @ApiModelProperty(value = "喷射风机电流 单位:A") + private String ga04; + + @ApiModelProperty(value = "脱酸剂投加速率 单位:kg/h") + private String gb14; + + @ApiModelProperty(value = "风机风量 单位:m3/h") + private String gb15; + + @ApiModelProperty(value = "风机电流 单位:A") + private String fz109; + + @ApiModelProperty(value = "飞灰螯合剂浓度 单位:%") + private String gb16; + + @ApiModelProperty(value = "每批次螯合剂投加计量 单位:kg") + private String gb17; + + @ApiModelProperty(value = "臭气收集引风机电流 单位:kg") + private String gb18; + + @ApiModelProperty(value = "曝气风机电流 单位:kg") + private String gb19; + + @ApiModelProperty(value = "生活垃圾进厂量 单位:kg") + private String gc00; + + @ApiModelProperty(value = "污泥进厂量 单位:kg") + private String gc01; + + @ApiModelProperty(value = "一般工业固废进厂量 单位:kg") + private String gc02; + + @ApiModelProperty(value = "可入炉的医疗废物进厂量 单位:kg") + private String gc03; + + @ApiModelProperty(value = "其它燃料进厂量 单位:kg") + private String gc04; + + @ApiModelProperty(value = "消石灰进厂量 单位:kg") + private String gc05; + + @ApiModelProperty(value = "生石灰进厂量 单位:kg") + private String gc06; + + @ApiModelProperty(value = "碳酸氢钠进厂量 单位:kg") + private String gc07; + + @ApiModelProperty(value = "氢氧化钠进厂量 单位:kg") + private String gc08; + + @ApiModelProperty(value = "其它脱酸剂进厂量 单位:kg") + private String gc09; + + @ApiModelProperty(value = "飞灰进厂量 单位:kg") + private String gc10; + + @ApiModelProperty(value = "废油及废油桶进厂量 单位:kg") + private String gc11; + + @ApiModelProperty(value = "废滤袋进厂量 单位:kg") + private String gc12; + + @ApiModelProperty(value = "废钒钛系催化剂进厂量 单位:kg") + private String gc13; + + @ApiModelProperty(value = "实验室废液进厂量 单位:kg") + private String gc14; + + @ApiModelProperty(value = "其它危险废物进厂量 单位:kg") + private String gc15; + + @ApiModelProperty(value = "炉渣出厂量 单位:kg") + private String gc16; + + @ApiModelProperty(value = "垃圾池负压数值 单位:KPa") + private String gc17; + + @ApiModelProperty(value = "推料器位移行程 单位:m") + private String gc19; + + @ApiModelProperty(value = "落料密封门开停信号 单位:") + private String gc20; + + @ApiModelProperty(value = "焚烧工况_标记 单位:") + private String gc21; + + @ApiModelProperty(value = "焚烧工况_开始时间 单位:") + private String gc22; + + @ApiModelProperty(value = "焚烧工况_截止时间 单位:") + private String gc23; + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值) 单位:℃") + private String gc24; + + @ApiModelProperty(value = "炉膛内负压 单位:KPa") + private String gc25; + + @ApiModelProperty(value = "一次风风机流量 单位:m3/h") + private String gc26; + + @ApiModelProperty(value = "一次风风机电流 单位:A") + private String gc27; + + @ApiModelProperty(value = "二次风风机流量 单位:m3/h") + private String gc28; + + @ApiModelProperty(value = "二次风风机电流 单位:A") + private String gc29; + + @ApiModelProperty(value = "余热锅炉出口烟气温度 单位:℃") + private String gc30; + + @ApiModelProperty(value = "SNCR 脱硝剂(氨水、尿素等)浆液浓度 单位:%") + private String gc31; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsVO.java new file mode 100644 index 0000000..5977206 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevFsVO.java @@ -0,0 +1,221 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

    + * 设备数据-垃圾焚烧-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevFsVO +{ + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "传输系统垃圾处理量 单位:kg/h") + private Double fs100; + + @ApiModelProperty(value = "焚烧炉炉膛温度 单位:℃") + private Double fs101; + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + private Double fz100; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private Double fz101; + + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位:kg/h") + private Double fz102; + + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位:kg/h") + private Double fz103; + + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值 单位:") + private Double fz104; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private Double fz105; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:") + private Double fz106; + + @ApiModelProperty(value = "活性炭用量 单位:kg/h") + private Double fz107; + + @ApiModelProperty(value = "袋式除尘器进出口压差 单位:KPa") + private Double fz108; + + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位:%") + private Double g229; + + @ApiModelProperty(value = "脱酸剂投加速率 单位:kg/h") + private Double g230; + + @ApiModelProperty(value = "雾化器电流 单位:A") + private Double g231; + + @ApiModelProperty(value = "药剂浆液浓度 单位:%") + private Double g232; + + @ApiModelProperty(value = "投加速率 单位:kg/h") + private Double g233; + + @ApiModelProperty(value = "脱酸塔排出液 pH 值 单位:") + private Double g234; + + @ApiModelProperty(value = "PNCR 脱硝剂投加速率 单位:kg/h") + private Double g332; + + @ApiModelProperty(value = "硝药剂浆液浓度 单位:%") + private Double g333; + + @ApiModelProperty(value = "投加速率 单位:kg/h") + private Double g334; + + @ApiModelProperty(value = "脱硝反应器入口烟气温度 单位:℃") + private Double g335; + + @ApiModelProperty(value = "进口温度 单位:℃") + private Double g602; + + @ApiModelProperty(value = "喷射风机电流 单位:A") + private Double ga04; + + @ApiModelProperty(value = "脱酸剂投加速率 单位:kg/h") + private Double gb14; + + @ApiModelProperty(value = "风机风量 单位:m3/h") + private Double gb15; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double fz109; + + @ApiModelProperty(value = "飞灰螯合剂浓度 单位:%") + private Double gb16; + + @ApiModelProperty(value = "每批次螯合剂投加计量 单位:kg") + private Double gb17; + + @ApiModelProperty(value = "臭气收集引风机电流 单位:kg") + private Double gb18; + + @ApiModelProperty(value = "曝气风机电流 单位:kg") + private Double gb19; + + @ApiModelProperty(value = "生活垃圾进厂量 单位:kg") + private Double gc00; + + @ApiModelProperty(value = "污泥进厂量 单位:kg") + private Double gc01; + + @ApiModelProperty(value = "一般工业固废进厂量 单位:kg") + private Double gc02; + + @ApiModelProperty(value = "可入炉的医疗废物进厂量 单位:kg") + private Double gc03; + + @ApiModelProperty(value = "其它燃料进厂量 单位:kg") + private Double gc04; + + @ApiModelProperty(value = "消石灰进厂量 单位:kg") + private Double gc05; + + @ApiModelProperty(value = "生石灰进厂量 单位:kg") + private Double gc06; + + @ApiModelProperty(value = "碳酸氢钠进厂量 单位:kg") + private Double gc07; + + @ApiModelProperty(value = "氢氧化钠进厂量 单位:kg") + private Double gc08; + + @ApiModelProperty(value = "其它脱酸剂进厂量 单位:kg") + private Double gc09; + + @ApiModelProperty(value = "飞灰进厂量 单位:kg") + private Double gc10; + + @ApiModelProperty(value = "废油及废油桶进厂量 单位:kg") + private Double gc11; + + @ApiModelProperty(value = "废滤袋进厂量 单位:kg") + private Double gc12; + + @ApiModelProperty(value = "废钒钛系催化剂进厂量 单位:kg") + private Double gc13; + + @ApiModelProperty(value = "实验室废液进厂量 单位:kg") + private Double gc14; + + @ApiModelProperty(value = "其它危险废物进厂量 单位:kg") + private Double gc15; + + @ApiModelProperty(value = "炉渣出厂量 单位:kg") + private Double gc16; + + @ApiModelProperty(value = "垃圾池负压数值 单位:KPa") + private Double gc17; + + @ApiModelProperty(value = "推料器位移行程 单位:m") + private Double gc19; + + @ApiModelProperty(value = "落料密封门开停信号 单位:") + private Double gc20; + + @ApiModelProperty(value = "焚烧工况_标记 单位:") + private Double gc21; + + @ApiModelProperty(value = "焚烧工况_开始时间 单位:") + private String gc22; + + @ApiModelProperty(value = "焚烧工况_截止时间 单位:") + private String gc23; + + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值) 单位:℃") + private Double gc24; + + @ApiModelProperty(value = "炉膛内负压 单位:KPa") + private Double gc25; + + @ApiModelProperty(value = "一次风风机流量 单位:m3/h") + private Double gc26; + + @ApiModelProperty(value = "一次风风机电流 单位:A") + private Double gc27; + + @ApiModelProperty(value = "二次风风机流量 单位:m3/h") + private Double gc28; + + @ApiModelProperty(value = "二次风风机电流 单位:A") + private Double gc29; + + @ApiModelProperty(value = "余热锅炉出口烟气温度 单位:℃") + private Double gc30; + + @ApiModelProperty(value = "SNCR 脱硝剂(氨水、尿素等)浆液浓度 单位:%") + private Double gc31; + + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtRealVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtRealVO.java new file mode 100644 index 0000000..cc5d98d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtRealVO.java @@ -0,0 +1,415 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@ApiModel +public class MonDevGtRealVO { + + @ApiModelProperty(value = "数据ID") + private Long dataId; + + @ApiModelProperty(value = "工厂ID") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + + @ApiModelProperty(value = "采集时间") + private LocalDateTime dataTime; + + @ApiModelProperty(value = "flowIn数据标志") + private String flowInFlag; + + @ApiModelProperty(value = "tempIn数据标志") + private String tempInFlag; + + @ApiModelProperty(value = "noxIn数据标志") + private String noxInFlag; + + @ApiModelProperty(value = "pmIn数据标志") + private String pmInFlag; + + @ApiModelProperty(value = "so2In数据标志") + private String so2InFlag; + + @ApiModelProperty(value = "tspIn数据标志") + private String tspInFlag; + + @ApiModelProperty(value = "flowOut数据标志") + private String flowOutFlag; + + @ApiModelProperty(value = "tempOut数据标志") + private String tempOutFlag; + + @ApiModelProperty(value = "noxOut数据标志") + private String noxOutFlag; + + @ApiModelProperty(value = "o2Out数据标志") + private String o2OutFlag; + + @ApiModelProperty(value = "pmOut数据标志") + private String pmOutFlag; + + @ApiModelProperty(value = "so2Out数据标志") + private String so2OutFlag; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private Double a140; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double a141; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private Double b104; + + @ApiModelProperty(value = "煤气放散阀开度") + private Double b806; + + @ApiModelProperty(value = "烟气流量(入口) 单位:m3/h") + private Double flowIn; + + @ApiModelProperty(value = "烟气流量(出口) 单位:m3/h") + private Double flowOut; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private Double g140; + + @ApiModelProperty(value = "脱硫剂仓料 (液)位 单位:m") + private Double g141; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private Double g313; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private Double g314; + + @ApiModelProperty(value = "脱硝入口压力 单位:KPa") + private Double g318; + + @ApiModelProperty(value = "脱硝出口压力 单位:KPa") + private Double g325; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private Double g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + private Double g330; + + @ApiModelProperty(value = "一次电压 单位:V") + private Double g501; + + @ApiModelProperty(value = "一次电流 单位:A") + private Double g502; + + @ApiModelProperty(value = "二次电压 单位:V") + private Double g503; + + @ApiModelProperty(value = "二次电流 单位:A") + private Double g504; + + @ApiModelProperty(value = "压差 单位:KPa") + private Double g601; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private Double g605; + + @ApiModelProperty(value = "电机电流 单位:A") + private Double g606; + + @ApiModelProperty(value = "风门开度 单位:%") + private Double g912; + + @ApiModelProperty(value = "烧结矿产量 单位:kg") + private Double g914; + + @ApiModelProperty(value = "皮带秤作业时间 单位:") + private String g915; + + @ApiModelProperty(value = "皮带秤配料量 单位:kg") + private Double g916; + + @ApiModelProperty(value = "料层厚度 单位:m") + private Double g917; + + @ApiModelProperty(value = "燃料(煤气) 流量 单位:m3/h") + private Double g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间 单位:") + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量 单位:kg") + private Double g927; + + @ApiModelProperty(value = "出铁时间 单位:") + private String g928; + + @ApiModelProperty(value = "出铁量 单位:kg") + private Double g929; + + @ApiModelProperty(value = "热风炉鼓风量 单位:m3/s") + private Double g930; + + @ApiModelProperty(value = "鼓风含氧量 单位:%") + private Double g931; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private Double g932; + + @ApiModelProperty(value = "加料时间 单位:") + private String g935; + + @ApiModelProperty(value = "加铁水量 单位:kg") + private Double g936; + + @ApiModelProperty(value = "加废钢量 单位:kg") + private Double g937; + + @ApiModelProperty(value = "出钢量 单位:kg") + private Double g938; + + @ApiModelProperty(value = "出渣量 单位:kg") + private Double g939; + + @ApiModelProperty(value = "石灰窑温度 单位:℃") + private Double g941; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private Double g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private Double g943; + + @ApiModelProperty(value = "高炉煤量 单位:m3/h") + private Double g944; + + @ApiModelProperty(value = "锅炉累计运行小时 单位:个") + private Double g945; + + @ApiModelProperty(value = "") + private Double g947; + + @ApiModelProperty(value = "装煤量 单位:t") + private Double g952; + + @ApiModelProperty(value = "提升机作业时间 单位:") + private String g956; + + @ApiModelProperty(value = "装载量 单位:m3/h") + private Double g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + private Double g958; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private Double g961; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private Double g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private Double g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private Double g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private Double g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private Double g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + private Double g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private Double g968; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g969; + + @ApiModelProperty(value = "液位 单位:m") + private Double g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private Double g971; + + @ApiModelProperty(value = "(风机后)煤气管压力 单位:KPa") + private Double g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private Double g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private Double g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + private Double g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + private Double g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + private Double g977; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + private Double g979; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private Double g980; + + @ApiModelProperty(value = "放散口温度 单位:摄氏度") + private Double js201; + + @ApiModelProperty(value = "放散流速 单位:米/秒") + private Double js202; + + @ApiModelProperty(value = "液位 单位:m") + private Double g981; + + @ApiModelProperty(value = "温度 单位:℃") + private Double g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private Double g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private Double g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private Double g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private Double gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private Double gb09; + + @ApiModelProperty(value = "碱洗塔碱液使用量 单位:L") + private Double gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private Double gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量 单位:L") + private Double gb13; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double h959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double h960; + + @ApiModelProperty(value = "均压回收阀门状态 单位:1=开,0=关") + private Double mq1; + + @ApiModelProperty(value = "放散阀门状态 单位:1=开,0=关") + private Double mq2; + + @ApiModelProperty(value = "均压煤气回收流量 单位:m3/h") + private Double mq3; + + @ApiModelProperty(value = "均压累计煤气回收量 单位:m3/次") + private Double mq4; + + @ApiModelProperty(value = "放散口温度 单位:℃") + private Double mq5; + + @ApiModelProperty(value = "放散管流速 单位:m/s") + private Double mq6; + + @ApiModelProperty(value = "氮氧化物(入口) 单位:mg/m3") + private Double noxIn; + + @ApiModelProperty(value = "氮氧化物(出口) 单位:mg/m3") + private Double noxOut; + + @ApiModelProperty(value = "含氧量(出口) 单位:%") + private Double o2Out; + + @ApiModelProperty(value = "燃气流量 单位:m3/h") + private Double p1; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double p2; + + @ApiModelProperty(value = "机组运行功率 单位:MW") + private Double p3; + + @ApiModelProperty(value = "动力鼓风机风量 单位:m3/h") + private Double p4; + + @ApiModelProperty(value = "颗粒物(料仓) 单位:mg/m3") + private Double pmCc1; + + @ApiModelProperty(value = "颗粒物(出铁场) 单位:mg/m3") + private Double pmCc2; + + @ApiModelProperty(value = "颗粒物(入口) 单位:mg/m3") + private Double pmIn; + + @ApiModelProperty(value = "颗粒物(出口) 单位:mg/m3") + private Double pmOut; + + @ApiModelProperty(value = "二氧化硫(装煤) 单位:mg/m3") + private Double so2Cc1; + + @ApiModelProperty(value = "二氧化硫(推焦) 单位:mg/m3") + private Double so2Cc2; + + @ApiModelProperty(value = "二氧化硫(入口) 单位:mg/m3") + private Double so2In; + + @ApiModelProperty(value = "二氧化硫(出口) 单位:mg/m3") + private Double so2Out; + + @ApiModelProperty(value = "温度(入口) 单位:℃") + private Double tempIn; + + @ApiModelProperty(value = "温度(出口) 单位:℃") + private Double tempOut; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private Double tljVol; + + @ApiModelProperty(value = "推焦时间 单位:1=开始,0=停止") + private String tmTime; + + @ApiModelProperty(value = "脱硝剂使用量 单位:m3/h") + private Double txjVol; + + @ApiModelProperty(value = "风机电流(料仓) 单位:A") + private Double windElecCc1; + + @ApiModelProperty(value = "风机电流(出铁场) 单位:A") + private Double windElecCc2; + + @ApiModelProperty(value = "风量(料仓) 单位:m3/s") + private Double windVolCc1; + + @ApiModelProperty(value = "风量(出铁场) 单位:m3/s") + private Double windVolCc2; + + @ApiModelProperty(value = "装煤时间 单位:1=开始,0=停止") + private String zmTime; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtStringVO.java new file mode 100644 index 0000000..80cf5fc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtStringVO.java @@ -0,0 +1,424 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +@Data +@ApiModel +public class MonDevGtStringVO { + + @ApiModelProperty(value = "数据ID") + private Long dataId; + + @ApiModelProperty(value = "工厂ID") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + + @ApiModelProperty(value = "采集时间") + private String dataTime; + + @ApiModelProperty(value = "flowIn数据标志") + private String flowInFlag; + + @ApiModelProperty(value = "tempIn数据标志") + private String tempInFlag; + + @ApiModelProperty(value = "noxIn数据标志") + private String noxInFlag; + + @ApiModelProperty(value = "pmIn数据标志") + private String pmInFlag; + + @ApiModelProperty(value = "so2In数据标志") + private String so2InFlag; + + @ApiModelProperty(value = "tspIn数据标志") + private String tspInFlag; + + @ApiModelProperty(value = "flowOut数据标志") + private String flowOutFlag; + + @ApiModelProperty(value = "tempOut数据标志") + private String tempOutFlag; + + @ApiModelProperty(value = "noxOut数据标志") + private String noxOutFlag; + + @ApiModelProperty(value = "o2Out数据标志") + private String o2OutFlag; + + @ApiModelProperty(value = "pmOut数据标志") + private String pmOutFlag; + + @ApiModelProperty(value = "so2Out数据标志") + private String so2OutFlag; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private String a140; + + @ApiModelProperty(value = "风机电流 单位:A") + private String a141; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String b104; + + @ApiModelProperty(value = "煤气放散阀开度") + private String b806; + + @ApiModelProperty(value = "烟气流量(入口) 单位:m3/h") + private String flowIn; + + @ApiModelProperty(value = "烟气流量(出口) 单位:m3/h") + private String flowOut; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private String g140; + + @ApiModelProperty(value = "脱硫剂仓料 (液)位 单位:m") + private String g141; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private String g313; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + + @ApiModelProperty(value = "脱硝入口压力 单位:KPa") + private String g318; + + @ApiModelProperty(value = "脱硝出口压力 单位:KPa") + private String g325; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + private String g330; + + @ApiModelProperty(value = "一次电压 单位:V") + private String g501; + + @ApiModelProperty(value = "一次电流 单位:A") + private String g502; + + @ApiModelProperty(value = "二次电压 单位:V") + private String g503; + + @ApiModelProperty(value = "二次电流 单位:A") + private String g504; + + @ApiModelProperty(value = "压差 单位:KPa") + private String g601; + + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + + @ApiModelProperty(value = "电机电流 单位:A") + private String g606; + + @ApiModelProperty(value = "风门开度 单位:%") + private String g912; + + @ApiModelProperty(value = "烧结矿产量 单位:kg") + private String g914; + + @ApiModelProperty(value = "皮带秤作业时间 单位:") + private String g915; + + @ApiModelProperty(value = "皮带秤配料量 单位:kg") + private String g916; + + @ApiModelProperty(value = "料层厚度 单位:m") + private String g917; + + @ApiModelProperty(value = "燃料(煤气) 流量 单位:m3/h") + private String g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间 单位:") + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量 单位:kg") + private String g927; + + @ApiModelProperty(value = "出铁时间 单位:") + private String g928; + + @ApiModelProperty(value = "出铁量 单位:kg") + private String g929; + + @ApiModelProperty(value = "热风炉鼓风量 单位:m3/s") + private String g930; + + @ApiModelProperty(value = "鼓风含氧量 单位:%") + private String g931; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String g932; + + @ApiModelProperty(value = "加料时间 单位:") + private String g935; + + @ApiModelProperty(value = "加铁水量 单位:kg") + private String g936; + + @ApiModelProperty(value = "加废钢量 单位:kg") + private String g937; + + @ApiModelProperty(value = "出钢量 单位:kg") + private String g938; + + @ApiModelProperty(value = "出渣量 单位:kg") + private String g939; + + @ApiModelProperty(value = "石灰窑温度 单位:℃") + private String g941; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private String g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private String g943; + + @ApiModelProperty(value = "高炉煤量 单位:m3/h") + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时 单位:个") + private String g945; + + @ApiModelProperty(value = "") + private String g947; + + @ApiModelProperty(value = "装煤量 单位:t") + private String g952; + + @ApiModelProperty(value = "提升机作业时间 单位:") + private String g956; + + @ApiModelProperty(value = "装载量 单位:m3/h") + private String g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + private String g958; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private String g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private String g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private String g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + private String g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private String g968; + + @ApiModelProperty(value = "压力 单位:KPa") + private String g969; + + @ApiModelProperty(value = "液位 单位:m") + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private String g971; + + @ApiModelProperty(value = "(风机后)煤气管压力 单位:KPa") + private String g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private String g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private String g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + private String g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + private String g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + private String g977; + + @ApiModelProperty(value = "压力 单位:KPa") + private String g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private String g980; + + @ApiModelProperty(value = "放散口温度 单位:摄氏度") + private String js201; + + @ApiModelProperty(value = "放散流速 单位:米/秒") + private String js202; + + @ApiModelProperty(value = "液位 单位:m") + private String g981; + + @ApiModelProperty(value = "温度 单位:℃") + private String g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private String g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private String g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private String gb09; + + @ApiModelProperty(value = "碱洗塔碱液使用量 单位:L") + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量 单位:L") + private String gb13; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private String h959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private String h960; + + @ApiModelProperty(value = "均压回收阀门状态 单位:1=开,0=关") + private String mq1; + + @ApiModelProperty(value = "放散阀门状态 单位:1=开,0=关") + private String mq2; + + @ApiModelProperty(value = "均压煤气回收流量 单位:m3/h") + private String mq3; + + @ApiModelProperty(value = "均压累计煤气回收量 单位:m3/次") + private String mq4; + + @ApiModelProperty(value = "放散口温度 单位:℃") + private String mq5; + + @ApiModelProperty(value = "放散管流速 单位:m/s") + private String mq6; + + @ApiModelProperty(value = "氮氧化物(入口) 单位:mg/m3") + private String noxIn; + + @ApiModelProperty(value = "氮氧化物(出口) 单位:mg/m3") + private String noxOut; + + @ApiModelProperty(value = "含氧量(出口) 单位:%") + private String o2Out; + + @ApiModelProperty(value = "燃气流量 单位:m3/h") + private String p1; + + @ApiModelProperty(value = "压力 单位:KPa") + private String p2; + + @ApiModelProperty(value = "机组运行功率 单位:MW") + private String p3; + + @ApiModelProperty(value = "动力鼓风机风量 单位:m3/h") + private String p4; + + @ApiModelProperty(value = "颗粒物(料仓) 单位:mg/m3") + private String pmCc1; + + @ApiModelProperty(value = "颗粒物(出铁场) 单位:mg/m3") + private String pmCc2; + + @ApiModelProperty(value = "颗粒物(入口) 单位:mg/m3") + private String pmIn; + + @ApiModelProperty(value = "颗粒物(出口) 单位:mg/m3") + private String pmOut; + + @ApiModelProperty(value = "二氧化硫(装煤) 单位:mg/m3") + private String so2Cc1; + + @ApiModelProperty(value = "二氧化硫(推焦) 单位:mg/m3") + private String so2Cc2; + + @ApiModelProperty(value = "二氧化硫(入口) 单位:mg/m3") + private String so2In; + + @ApiModelProperty(value = "二氧化硫(出口) 单位:mg/m3") + private String so2Out; + + @ApiModelProperty(value = "温度(入口) 单位:℃") + private String tempIn; + + @ApiModelProperty(value = "温度(出口) 单位:℃") + private String tempOut; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private String tljVol; + + @ApiModelProperty(value = "推焦时间 单位:1=开始,0=停止") + private String tmTime; + + @ApiModelProperty(value = "脱硝剂使用量 单位:m3/h") + private String txjVol; + + @ApiModelProperty(value = "风机电流(料仓) 单位:A") + private String windElecCc1; + + @ApiModelProperty(value = "风机电流(出铁场) 单位:A") + private String windElecCc2; + + @ApiModelProperty(value = "风量(料仓) 单位:m3/s") + private String windVolCc1; + + @ApiModelProperty(value = "风量(出铁场) 单位:m3/s") + private String windVolCc2; + + @ApiModelProperty(value = "装煤时间 单位:1=开始,0=停止") + private String zmTime; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtVO.java new file mode 100644 index 0000000..56e79c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevGtVO.java @@ -0,0 +1,402 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class MonDevGtVO { + + @ApiModelProperty(value = "数据ID") + private Long dataId; + + @ApiModelProperty(value = "工厂ID") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + + @ApiModelProperty(value = "采集时间") + private String dataTime; + + @ApiModelProperty(value = "flowIn数据标志") + private String flowInFlag; + + @ApiModelProperty(value = "tempIn数据标志") + private String tempInFlag; + + @ApiModelProperty(value = "noxIn数据标志") + private String noxInFlag; + + @ApiModelProperty(value = "pmIn数据标志") + private String pmInFlag; + + @ApiModelProperty(value = "so2In数据标志") + private String so2InFlag; + + @ApiModelProperty(value = "tspIn数据标志") + private String tspInFlag; + + @ApiModelProperty(value = "flowOut数据标志") + private String flowOutFlag; + + @ApiModelProperty(value = "tempOut数据标志") + private String tempOutFlag; + + @ApiModelProperty(value = "noxOut数据标志") + private String noxOutFlag; + + @ApiModelProperty(value = "o2Out数据标志") + private String o2OutFlag; + + @ApiModelProperty(value = "pmOut数据标志") + private String pmOutFlag; + + @ApiModelProperty(value = "so2Out数据标志") + private String so2OutFlag; + + + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private Double a140; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double a141; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private Double b104; + + @ApiModelProperty(value = "煤气放散阀开度") + private Double b806; + + @ApiModelProperty(value = "烟气流量(入口) 单位:m3/h") + private Double flowIn; + + @ApiModelProperty(value = "烟气流量(出口) 单位:m3/h") + private Double flowOut; + + @ApiModelProperty(value = "脱硫剂仓料 (液)位 单位:m") + private Double g141; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private Double g313; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private Double g314; + + @ApiModelProperty(value = "脱硝入口压力 单位:KPa") + private Double g318; + + @ApiModelProperty(value = "脱硝出口压力 单位:KPa") + private Double g325; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private Double g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + private Double g330; + + @ApiModelProperty(value = "一次电压 单位:V") + private Double g501; + + @ApiModelProperty(value = "一次电流 单位:A") + private Double g502; + + @ApiModelProperty(value = "二次电压 单位:V") + private Double g503; + + @ApiModelProperty(value = "二次电流 单位:A") + private Double g504; + + @ApiModelProperty(value = "压差 单位:KPa") + private Double g601; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private Double g605; + + @ApiModelProperty(value = "电机电流 单位:A") + private Double g606; + + @ApiModelProperty(value = "风门开度 单位:%") + private Double g912; + + @ApiModelProperty(value = "烧结矿产量 单位:kg") + private Double g914; + + @ApiModelProperty(value = "皮带秤作业时间 单位:") + private String g915; + + @ApiModelProperty(value = "皮带秤配料量 单位:kg") + private Double g916; + + @ApiModelProperty(value = "料层厚度 单位:m") + private Double g917; + + @ApiModelProperty(value = "燃料(煤气) 流量 单位:m3/h") + private Double g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间 单位:") + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量 单位:kg") + private Double g927; + + @ApiModelProperty(value = "出铁时间 单位:") + private String g928; + + @ApiModelProperty(value = "出铁量 单位:kg") + private Double g929; + + @ApiModelProperty(value = "热风炉鼓风量 单位:m3/s") + private Double g930; + + @ApiModelProperty(value = "鼓风含氧量 单位:%") + private Double g931; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private Double g932; + + @ApiModelProperty(value = "加料时间 单位:") + private String g935; + + @ApiModelProperty(value = "加铁水量 单位:kg") + private Double g936; + + @ApiModelProperty(value = "加废钢量 单位:kg") + private Double g937; + + @ApiModelProperty(value = "出钢量 单位:kg") + private Double g938; + + @ApiModelProperty(value = "出渣量 单位:kg") + private Double g939; + + @ApiModelProperty(value = "石灰窑温度 单位:℃") + private Double g941; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private Double g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private Double g943; + + @ApiModelProperty(value = "高炉煤量 单位:m3/h") + private Double g944; + + @ApiModelProperty(value = "锅炉累计运行小时 单位:个") + private Double g945; + + @ApiModelProperty(value = "装煤量 单位:t") + private Double g952; + + @ApiModelProperty(value = "提升机作业时间 单位:") + private String g956; + + @ApiModelProperty(value = "装载量 单位:m3/h") + private Double g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + private Double g958; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private Double g961; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private Double g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private Double g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private Double g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private Double g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private Double g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + private Double g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private Double g968; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g969; + + @ApiModelProperty(value = "液位 单位:m") + private Double g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private Double g971; + + @ApiModelProperty(value = "(风机后)煤气管压力 单位:KPa") + private Double g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private Double g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private Double g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + private Double g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + private Double g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + private Double g977; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + private Double g979; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private Double g980; + + @ApiModelProperty(value = "液位 单位:m") + private Double g981; + + @ApiModelProperty(value = "温度 单位:℃") + private Double g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private Double g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private Double g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private Double g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private Double gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private Double gb09; + + @ApiModelProperty(value = "碱洗塔碱液使用量 单位:L") + private Double gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private Double gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量 单位:L") + private Double gb13; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double h959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double h960; + + @ApiModelProperty(value = "均压回收阀门状态 单位:1=开,0=关") + private Double mq1; + + @ApiModelProperty(value = "放散阀门状态 单位:1=开,0=关") + private Double mq2; + + @ApiModelProperty(value = "均压煤气回收流量 单位:m3/h") + private Double mq3; + + @ApiModelProperty(value = "均压累计煤气回收量 单位:m3/次") + private Double mq4; + + @ApiModelProperty(value = "放散口温度 单位:℃") + private Double mq5; + + @ApiModelProperty(value = "放散管流速 单位:m/s") + private Double mq6; + + @ApiModelProperty(value = "氮氧化物(入口) 单位:mg/m3") + private Double noxIn; + + @ApiModelProperty(value = "氮氧化物(出口) 单位:mg/m3") + private Double noxOut; + + @ApiModelProperty(value = "含氧量(出口) 单位:%") + private Double o2Out; + + @ApiModelProperty(value = "燃气流量 单位:m3/h") + private Double p1; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double p2; + + @ApiModelProperty(value = "机组运行功率 单位:MW") + private Double p3; + + @ApiModelProperty(value = "动力鼓风机风量 单位:m3/h") + private Double p4; + + @ApiModelProperty(value = "颗粒物(料仓) 单位:mg/m3") + private Double pmCc1; + + @ApiModelProperty(value = "颗粒物(出铁场) 单位:mg/m3") + private Double pmCc2; + + @ApiModelProperty(value = "颗粒物(入口) 单位:mg/m3") + private Double pmIn; + + @ApiModelProperty(value = "颗粒物(出口) 单位:mg/m3") + private Double pmOut; + + @ApiModelProperty(value = "二氧化硫(装煤) 单位:mg/m3") + private Double so2Cc1; + + @ApiModelProperty(value = "二氧化硫(推焦) 单位:mg/m3") + private Double so2Cc2; + + @ApiModelProperty(value = "二氧化硫(入口) 单位:mg/m3") + private Double so2In; + + @ApiModelProperty(value = "二氧化硫(出口) 单位:mg/m3") + private Double so2Out; + + @ApiModelProperty(value = "温度(入口) 单位:℃") + private Double tempIn; + + @ApiModelProperty(value = "温度(出口) 单位:℃") + private Double tempOut; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private Double tljVol; + + @ApiModelProperty(value = "推焦时间 单位:1=开始,0=停止") + private String tmTime; + + @ApiModelProperty(value = "脱硝剂使用量 单位:m3/h") + private Double txjVol; + + @ApiModelProperty(value = "风机电流(料仓) 单位:A") + private Double windElecCc1; + + @ApiModelProperty(value = "风机电流(出铁场) 单位:A") + private Double windElecCc2; + + @ApiModelProperty(value = "风量(料仓) 单位:m3/s") + private Double windVolCc1; + + @ApiModelProperty(value = "风量(出铁场) 单位:m3/s") + private Double windVolCc2; + + @ApiModelProperty(value = "装煤时间 单位:1=开始,0=停止") + private String zmTime; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevHourVo.java new file mode 100644 index 0000000..3604ab2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevHourVo.java @@ -0,0 +1,566 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + private String zmTime; + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + private String tmTime; + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + private String p1; + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + private String p2; + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + private String p3; + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + private String p4; + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + private String flowIn; + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + private String tempIn; + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + private String noxIn; + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + private String pmIn; + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + private String so2In; + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + private String flowOut; + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + private String tempOut; + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + private String noxOut; + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + private String o2Out; + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + private String pmOut; + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + private String so2Out; + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + private String tljVol; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjVol; + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + private String so2Cc1; + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + private String pmCc1; + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + private String windElecCc1; + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + private String windVolCc1; + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + private String so2Cc2; + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + private String pmCc2; + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + private String windElecCc2; + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + private String windVolCc2; + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + private String windElecCc3; + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + private String mq1; + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + private String mq2; + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + private String mq3; + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + private String mq4; + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + private String mq5; + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + private String mq6; + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + private String g329; + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + private String g501; + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + private String g502; + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + private String g503; + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + private String g504; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + private String g605; + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + private String g606; + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + private String g912; + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + private String g914; + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + private String g915; + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + private String g916; + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + private String g917; + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + private String g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + private String g927; + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + private String g928; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g929; + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + private String g930; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g931; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String g932; + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + private String g935; + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + private String g936; + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + private String g937; + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + private String g938; + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + private String g939; + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + private String g941; + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + private String g942; + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + private String g945; + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + private String g994; + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + private String gb08; + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + private String gb09; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2InFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String o2OutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2OutFlag; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "烟气-排放量") + /** 烟气-排放量 */ + private String flowOutTotal; + + @ApiModelProperty(value = "NOx-排放量") + /** NOx-排放量 */ + private String noxOutTotal; + + @ApiModelProperty(value = "氧气-排放量") + /** 氧气-排放量 */ + private String o2OutTotal; + + @ApiModelProperty(value = "颗粒物-排放量") + /** 颗粒物-排放量 */ + private String pmOutTotal; + + @ApiModelProperty(value = "SO2-排放量") + /** SO2-排放量 */ + private String so2OutTotal; + + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + /** 转炉-产量 =炉数*容量 */ + private String zlProduct; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String b104; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String g313; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + private String g330; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String g604; + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + private String g943; + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + private String g957; + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + private String g958; + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + private String g963; + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + private String g966; + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + private String g967; + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + private String g968; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g969; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + private String g971; + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + private String g974; + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + private String g975; + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + private String g976; + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + private String g977; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g978; + + @ApiModelProperty(value = "流量") + /** 流量 */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g981; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String g982; + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + private String gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + private String gb13; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhHourVo.java new file mode 100644 index 0000000..592e976 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhHourVo.java @@ -0,0 +1,426 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-焦化-小时 保存设备的小时数据对象 mon_dev_jh_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + private String js100; + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + private String js101; + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + private String js102; + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + private String js103; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + private String js104; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + private String jz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + private String jz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + private String jz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String jz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String jz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String jz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String jz107; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String jz108; + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + private String jz109; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String jz110; + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + private String js200; + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + private String js201; + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + private String js202; + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + private String js203; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + private String g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + private String g330; + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + private String g605; + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + private String g606; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + private String g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + private String g943; + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + private String g945; + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + private String g949; + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + private String g951; + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + private String g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + private String g958; + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + private String g960; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + private String g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + private String g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + private String g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + private String g968; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g969; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + private String g971; + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + private String g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + private String g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + private String g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + private String g977; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g981; + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + private String g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + private String g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + private String gb09; + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb12; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb13; + + @ApiModelProperty(value = "颗粒物浓度1") + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2") + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc2; + + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc1; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + private String a100; + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + private String a101; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String a102; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String a103; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String a104; + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + private String a105; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String a111; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjvol; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a120; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a121; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a130; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a131; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + private String g140; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String g959; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String j959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String j960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhOtherVo.java new file mode 100644 index 0000000..537610c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhOtherVo.java @@ -0,0 +1,426 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据对象 mon_dev_jh_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + private String js100; + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + private String js101; + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + private String js102; + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + private String js103; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + private String js104; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + private String jz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + private String jz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + private String jz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String jz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String jz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String jz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String jz107; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String jz108; + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + private String jz109; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String jz110; + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + private String js200; + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + private String js201; + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + private String js202; + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + private String js203; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + private String g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + private String g330; + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + private String g605; + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + private String g606; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + private String g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + private String g943; + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + private String g945; + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + private String g949; + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + private String g951; + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + private String g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + private String g958; + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + private String g960; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + private String g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + private String g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + private String g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + private String g968; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g969; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + private String g971; + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + private String g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + private String g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + private String g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + private String g977; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g981; + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + private String g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + private String g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + private String gb09; + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb12; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb13; + + @ApiModelProperty(value = "颗粒物浓度1") + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2") + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc2; + + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc1; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + private String a100; + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + private String a101; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String a102; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String a103; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String a104; + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + private String a105; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String a111; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjvol; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a120; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a121; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a130; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a131; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + private String g140; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String g959; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String j959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String j960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhRealVo.java new file mode 100644 index 0000000..cddbd40 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhRealVo.java @@ -0,0 +1,433 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-焦化-实时 保存设备的实时数据对象 mon_dev_jh_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + /** 装煤时间 1=运行,0=停止 */ + private String js100; + + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + /** 推焦时间 1=运行,0=停止 */ + private String js101; + + @ApiModelProperty(value = "装煤车电流 单位:A") + /** 装煤车电流 单位:A */ + private String js102; + + @ApiModelProperty(value = "推焦车电流 单位:A") + /** 推焦车电流 单位:A */ + private String js103; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + /** 煤气使用量 单位:m3/h */ + private String js104; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + /** 布袋除尘器前后压差 单位:kPa */ + private String jz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + /** 电除尘器二次电流 单位:A */ + private String jz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + /** 电除尘器二次电压 单位:V */ + private String jz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值") + /** 脱硫吸收剂pH值 */ + private String jz103; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String jz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String jz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String jz107; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String jz108; + + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + /** 脱硝烟气温度 单位:℃ */ + private String jz109; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String jz110; + + @ApiModelProperty(value = "放散流量 单位:m3/h") + /** 放散流量 单位:m3/h */ + private String js200; + + @ApiModelProperty(value = "放散温度 单位 ℃,") + /** 放散温度 单位 ℃, */ + private String js201; + + @ApiModelProperty(value = "放散流速 单位:m/s") + /** 放散流速 单位:m/s */ + private String js202; + + @ApiModelProperty(value = "放散压力 单位:KPa") + /** 放散压力 单位:KPa */ + private String js203; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + /** 脱硫剂仓料(液)位 单位:m */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + /** 脱硝剂仓料(液)位 单位:m */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + /** 反应器入口烟气温度(SCR 艺) 单位:℃ */ + private String g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + /** 风机流量 单位:m3/h */ + private String g330; + + @ApiModelProperty(value = "风机电流 单位:A") + /** 风机电流 单位:A */ + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + /** 清灰周期 单位:h */ + private String g605; + + @ApiModelProperty(value = "电机电流 单位:A") + /** 电机电流 单位:A */ + private String g606; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + /** 主蒸汽流量 单位:m3/s */ + private String g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + /** 燃料瞬时流量 单位:m3/s */ + private String g943; + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + /** 高炉煤气量 单位:m3/h */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + /** 锅炉累计运行小时数 单位:个 */ + private String g945; + + @ApiModelProperty(value = "计划装煤时间") + /** 计划装煤时间 */ + private String g949; + + @ApiModelProperty(value = "计划装煤量 单位:kg") + /** 计划装煤量 单位:kg */ + private String g951; + + @ApiModelProperty(value = "实际装煤量 单位:kg") + /** 实际装煤量 单位:kg */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "提升机装载量 单位:kg") + /** 提升机装载量 单位:kg */ + private String g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + /** 提升机电流 单位:A */ + private String g958; + + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + /** SO2浓度 单位:mg/m3 */ + private String g960; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + /** 地面放散口压力 单位:KPa */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + /** 硫酸使用量 单位:m3/h */ + private String g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + /** 洗油使用量 单位:m3/h */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + /** 脱苯塔塔顶回流量 单位:m3/h */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + /** 粗苯外送量 单位:m3/h */ + private String g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + /** 塔釜温度 单位:℃ */ + private String g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + /** 洗油外送量 单位:m3/h */ + private String g968; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g969; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + /** 负压煤气管网压力 单位:KPa */ + private String g971; + + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + /** 风机后煤气管压力 单位:KPa */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + /** 外供煤气流量 单位:m3/h */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + /** 煤气柜容量 单位:m3 */ + private String g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + /** 气柜高度 单位:m */ + private String g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + /** 气柜压力 单位:KPa */ + private String g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + /** 水封液位高度 单位:m */ + private String g977; + + @ApiModelProperty(value = "压力 单位:KPa") + /** 压力 单位:KPa */ + private String g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + /** 流量 单位:m3/h */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位 单位:m") + /** 液位 单位:m */ + private String g981; + + @ApiModelProperty(value = "温度 单位:℃") + /** 温度 单位:℃ */ + private String g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + /** 转炉煤气量 单位:m3/h */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + /** 焦炉煤气量 单位:m3/h */ + private String g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + /** 其它燃料量 单位:m3/h */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + /** 干法脱硫剂使用量 单位:kg */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + /** 半干法脱硫剂使用量 单位:kg */ + private String gb09; + + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + /** 酸洗塔碱液使用量 单位:L */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb12; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + /** 酸洗塔酸液使用量 单位:L */ + private String gb13; + + @ApiModelProperty(value = "颗粒物浓度1 单位:mg/m3") + /** 颗粒物浓度1 单位:mg/m3 */ + private String ppmCc1; + + @ApiModelProperty(value = "颗粒物浓度2 单位:mg/m3") + /** 颗粒物浓度2 单位:mg/m3 */ + private String ppmCc2; + + @ApiModelProperty(value = "颗粒物浓度") + /** 颗粒物浓度 */ + private String ppmUnitCc2; + + @ApiModelProperty(value = "颗粒物浓度") + /** 颗粒物浓度 */ + private String ppmUnitCc1; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "烟气流量") + /** 烟气流量 */ + private String a100; + + @ApiModelProperty(value = "含氧量") + /** 含氧量 */ + private String a101; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String a102; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String a103; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String a104; + + @ApiModelProperty(value = "氮氧化物浓度") + /** 氮氧化物浓度 */ + private String a105; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String a111; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjvol; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a120; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a121; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a130; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a131; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "湿法脱硫剂使用量") + /** 湿法脱硫剂使用量 */ + private String g140; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String g959; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String j959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String j960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhStringVO.java new file mode 100644 index 0000000..193a43e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhStringVO.java @@ -0,0 +1,311 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + *

    + * 设备数据-焦化-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevJhStringVO { + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "烟气流量 单位:m3/h") + private String a100; + + @ApiModelProperty(value = "含氧量 单位:") + private String a101; + + @ApiModelProperty(value = "温度 单位:℃") + private String a102; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private String a103; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private String a104; + + @ApiModelProperty(value = "氮氧化物浓度 单位:mg/m3") + private String a105; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private String a111; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private String a120; + + @ApiModelProperty(value = "风机电流 单位:A") + private String a121; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private String a130; + + @ApiModelProperty(value = "风机电流 单位:A") + private String a131; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private String a140; + + @ApiModelProperty(value = "风机电流 单位:A") + private String a141; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private String g140; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + + @ApiModelProperty(value = "脱硝入口压力 单位:KPa") + private String g318; + + @ApiModelProperty(value = "脱硝出口压力 单位:KPa") + private String g325; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + private String g330; + + @ApiModelProperty(value = "压差 单位:KPa") + private String g601; + + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + + @ApiModelProperty(value = "电机电流 单位:A") + private String g606; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private String g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private String g943; + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + private String g944; + + @ApiModelProperty(value = "累计运行小时 单位:个") + private String g945; + + @ApiModelProperty(value = "装煤量 单位:t") + private String g952; + + @ApiModelProperty(value = "提升机作业时间 单位:") + private String g956; + + @ApiModelProperty(value = "装载量 单位:kg") + private String g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + private String g958; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private String g959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private String g960; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:") + private String g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private String g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private String g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + private String g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private String g968; + + @ApiModelProperty(value = "压力 单位:KPa") + private String g969; + + @ApiModelProperty(value = "液位 单位:m") + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private String g971; + + @ApiModelProperty(value = "(风机后)煤气管压力 单位:KPa") + private String g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private String g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private String g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + private String g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + private String g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + private String g977; + + @ApiModelProperty(value = "压力 单位:KPa") + private String g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private String g980; + + @ApiModelProperty(value = "液位 单位:m") + private String g981; + + @ApiModelProperty(value = "温度 单位:℃") + private String g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private String g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private String g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private String gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private String gb09; + + @ApiModelProperty(value = "碱洗塔碱液使用量 单位:L") + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量 单位:L") + private String gb13; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private String h959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private String h960; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private String j959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private String j960; + + @ApiModelProperty(value = "装煤时间 单位:") + private String js100; + + @ApiModelProperty(value = "推焦时间 单位:") + private String js101; + + @ApiModelProperty(value = "装煤车电流 单位:A") + private String js102; + + @ApiModelProperty(value = "推焦车电流 单位:A") + private String js103; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String js104; + + @ApiModelProperty(value = "放散流量 单位:m3/h") + private String js200; + + @ApiModelProperty(value = "放散温度 单位:℃") + private String js201; + + @ApiModelProperty(value = "放散流速 单位:m/s") + private String js202; + + @ApiModelProperty(value = "放散压力 单位:KPa") + private String js203; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private String jz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String jz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String jz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值 单位:") + private String jz103; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:m3/h") + private String jz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String jz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:1=运行,0=停止") + private String jz107; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String jz109; + + @ApiModelProperty(value = "脱硝还原剂使用量 单位:m3/h") + private String jz110; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private String txjVol; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhVO.java new file mode 100644 index 0000000..f5da383 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevJhVO.java @@ -0,0 +1,303 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

    + * 设备数据-焦化-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevJhVO +{ + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "烟气流量 单位:m3/h") + private Double a100; + + @ApiModelProperty(value = "含氧量 单位:") + private Double a101; + + @ApiModelProperty(value = "温度 单位:℃") + private Double a102; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double a103; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double a104; + + @ApiModelProperty(value = "氮氧化物浓度 单位:mg/m3") + private Double a105; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private Double a111; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private Double a120; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double a121; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private Double a130; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double a131; + + @ApiModelProperty(value = "除尘器风量 单位:m3/h") + private Double a140; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double a141; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:kg/h") + private Double g140; + + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private Double g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private Double g314; + + @ApiModelProperty(value = "脱硝入口压力 单位:KPa") + private Double g318; + + @ApiModelProperty(value = "脱硝出口压力 单位:KPa") + private Double g325; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private Double g329; + + @ApiModelProperty(value = "风机流量 单位:m3/h") + private Double g330; + + @ApiModelProperty(value = "压差 单位:KPa") + private Double g601; + + @ApiModelProperty(value = "风机电流 单位:A") + private Double g604; + + @ApiModelProperty(value = "清灰周期 单位:h") + private Double g605; + + @ApiModelProperty(value = "电机电流 单位:A") + private Double g606; + + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private Double g942; + + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private Double g943; + + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + private Double g944; + + @ApiModelProperty(value = "累计运行小时 单位:个") + private Double g945; + + @ApiModelProperty(value = "装煤量 单位:t") + private Double g952; + + @ApiModelProperty(value = "提升机作业时间 单位:") + private String g956; + + @ApiModelProperty(value = "装载量 单位:kg") + private Double g957; + + @ApiModelProperty(value = "提升机电流 单位:A") + private Double g958; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double g959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double g960; + + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private Double g961; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:") + private Double g962; + + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private Double g963; + + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private Double g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private Double g965; + + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private Double g966; + + @ApiModelProperty(value = "塔釜温度 单位:℃") + private Double g967; + + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private Double g968; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g969; + + @ApiModelProperty(value = "液位 单位:m") + private Double g970; + + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private Double g971; + + @ApiModelProperty(value = "(风机后)煤气管压力 单位:KPa") + private Double g972; + + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private Double g973; + + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private Double g974; + + @ApiModelProperty(value = "气柜高度 单位:m") + private Double g975; + + @ApiModelProperty(value = "气柜压力 单位:KPa") + private Double g976; + + @ApiModelProperty(value = "水封液位高度 单位:m") + private Double g977; + + @ApiModelProperty(value = "压力 单位:KPa") + private Double g978; + + @ApiModelProperty(value = "流量 单位:m3/h") + private Double g979; + + @ApiModelProperty(value = "火炬点火器启动记录 单位:1=开,0=关") + private Double g980; + + @ApiModelProperty(value = "液位 单位:m") + private Double g981; + + @ApiModelProperty(value = "温度 单位:℃") + private Double g982; + + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private Double g993; + + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private Double g994; + + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private Double g995; + + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg/h") + private Double gb08; + + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg/h") + private Double gb09; + + @ApiModelProperty(value = "碱洗塔碱液使用量 单位:L") + private Double gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private Double gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量 单位:L") + private Double gb13; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double h959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double h960; + + @ApiModelProperty(value = "颗粒物 单位:mg/m3") + private Double j959; + + @ApiModelProperty(value = "二氧化硫 单位:mg/m3") + private Double j960; + + @ApiModelProperty(value = "装煤时间 单位:") + private String js100; + + @ApiModelProperty(value = "推焦时间 单位:") + private String js101; + + @ApiModelProperty(value = "装煤车电流 单位:A") + private Double js102; + + @ApiModelProperty(value = "推焦车电流 单位:A") + private Double js103; + + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private Double js104; + + @ApiModelProperty(value = "放散流量 单位:m3/h") + private Double js200; + + @ApiModelProperty(value = "放散温度 单位:℃") + private Double js201; + + @ApiModelProperty(value = "放散流速 单位:m/s") + private Double js202; + + @ApiModelProperty(value = "放散压力 单位:KPa") + private Double js203; + + @ApiModelProperty(value = "布袋除尘器前后压差 单位:Pa") + private Double jz100; + + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private Double jz101; + + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private Double jz102; + + @ApiModelProperty(value = "脱硫吸收剂pH值 单位:") + private Double jz103; + + @ApiModelProperty(value = "湿法脱硫剂使用量 单位:m3/h") + private Double jz105; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private Double jz106; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位:1=运行,0=停止") + private Double jz107; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private Double jz108; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private Double jz109; + + @ApiModelProperty(value = "脱硝还原剂使用量 单位:m3/h") + private Double jz110; + + @ApiModelProperty(value = "脱硝剂使用量 单位:kg/h") + private Double txjVol; + + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevOtherVo.java new file mode 100644 index 0000000..1968872 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevOtherVo.java @@ -0,0 +1,566 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + private String zmTime; + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + private String tmTime; + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + private String p1; + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + private String p2; + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + private String p3; + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + private String p4; + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + private String flowIn; + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + private String tempIn; + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + private String noxIn; + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + private String pmIn; + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + private String so2In; + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + private String flowOut; + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + private String tempOut; + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + private String noxOut; + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + private String o2Out; + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + private String pmOut; + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + private String so2Out; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2InFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String o2OutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2OutFlag; + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + private String tljVol; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjVol; + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + private String so2Cc1; + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + private String pmCc1; + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + private String windElecCc1; + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + private String windVolCc1; + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + private String so2Cc2; + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + private String pmCc2; + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + private String windElecCc2; + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + private String windVolCc2; + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + private String windElecCc3; + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + private String mq1; + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + private String mq2; + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + private String mq3; + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + private String mq4; + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + private String mq5; + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + private String mq6; + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + private String g329; + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + private String g501; + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + private String g502; + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + private String g503; + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + private String g504; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + private String g605; + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + private String g606; + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + private String g912; + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + private String g914; + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + private String g915; + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + private String g916; + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + private String g917; + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + private String g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + private String g927; + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + private String g928; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g929; + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + private String g930; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g931; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String g932; + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + private String g935; + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + private String g936; + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + private String g937; + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + private String g938; + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + private String g939; + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + private String g941; + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + private String g942; + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + private String g945; + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + private String g994; + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + private String gb08; + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "烟气-排放量") + /** 烟气-排放量 */ + private String flowOutTotal; + + @ApiModelProperty(value = "NOx-排放量") + /** NOx-排放量 */ + private String noxOutTotal; + + @ApiModelProperty(value = "氧气-排放量") + /** 氧气-排放量 */ + private String o2OutTotal; + + @ApiModelProperty(value = "颗粒物-排放量") + /** 颗粒物-排放量 */ + private String pmOutTotal; + + @ApiModelProperty(value = "SO2-排放量") + /** SO2-排放量 */ + private String so2OutTotal; + + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + /** 转炉-产量 =炉数*容量 */ + private String zlProduct; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String b104; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String g313; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + private String g330; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String g604; + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + private String g943; + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + private String g957; + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + private String g958; + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + private String g963; + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + private String g966; + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + private String g967; + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + private String g968; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g969; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + private String g971; + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + private String g974; + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + private String g975; + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + private String g976; + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + private String g977; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g978; + + @ApiModelProperty(value = "流量") + /** 流量 */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g981; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String g982; + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + private String gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + private String gb13; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevRealVo.java new file mode 100644 index 0000000..53faa93 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevRealVo.java @@ -0,0 +1,542 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数对象 mon_dev_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "装煤时间") + /** 装煤时间 */ + private String zmTime; + + @ApiModelProperty(value = "推焦时间") + /** 推焦时间 */ + private String tmTime; + + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + /** 生产过程参数1 含义因设备而异 */ + private String p1; + + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + /** 生产过程参数2 含义因设备而异 */ + private String p2; + + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + /** 生产过程参数3 含义因设备而异 */ + private String p3; + + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + /** 生产过程参数4 含义因设备而异 */ + private String p4; + + @ApiModelProperty(value = "烟气流量-in") + /** 烟气流量-in */ + private String flowIn; + + @ApiModelProperty(value = "温度-in") + /** 温度-in */ + private String tempIn; + + @ApiModelProperty(value = "NOx-in") + /** NOx-in */ + private String noxIn; + + @ApiModelProperty(value = "颗粒物-in") + /** 颗粒物-in */ + private String pmIn; + + @ApiModelProperty(value = "SO2-in") + /** SO2-in */ + private String so2In; + + @ApiModelProperty(value = "烟气流量-out") + /** 烟气流量-out */ + private String flowOut; + + @ApiModelProperty(value = "温度-out") + /** 温度-out */ + private String tempOut; + + @ApiModelProperty(value = "NOx-out") + /** NOx-out */ + private String noxOut; + + @ApiModelProperty(value = "含氧量-out") + /** 含氧量-out */ + private String o2Out; + + @ApiModelProperty(value = "颗粒物-out") + /** 颗粒物-out */ + private String pmOut; + + @ApiModelProperty(value = "SO2-out") + /** SO2-out */ + private String so2Out; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmInFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2InFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String flowOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String tempOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String noxOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String o2OutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String pmOutFlag; + + @ApiModelProperty(value = "数据标志") + /** 数据标志 */ + private String so2OutFlag; + + @ApiModelProperty(value = "脱硫剂使用量") + /** 脱硫剂使用量 */ + private String tljVol; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String txjVol; + + @ApiModelProperty(value = "SO2-除尘1") + /** SO2-除尘1 */ + private String so2Cc1; + + @ApiModelProperty(value = "颗粒物-除尘1") + /** 颗粒物-除尘1 */ + private String pmCc1; + + @ApiModelProperty(value = "风机电流-除尘1") + /** 风机电流-除尘1 */ + private String windElecCc1; + + @ApiModelProperty(value = "除尘器风量-除尘1") + /** 除尘器风量-除尘1 */ + private String windVolCc1; + + @ApiModelProperty(value = "SO2-除尘2") + /** SO2-除尘2 */ + private String so2Cc2; + + @ApiModelProperty(value = "颗粒物-除尘2") + /** 颗粒物-除尘2 */ + private String pmCc2; + + @ApiModelProperty(value = "风机电流-除尘2") + /** 风机电流-除尘2 */ + private String windElecCc2; + + @ApiModelProperty(value = "除尘器风量-除尘2") + /** 除尘器风量-除尘2 */ + private String windVolCc2; + + @ApiModelProperty(value = "风机电流-除尘3") + /** 风机电流-除尘3 */ + private String windElecCc3; + + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + /** 煤气参数3 含义因设备而异 */ + private String mq1; + + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + /** 煤气参数2 含义因设备而异 */ + private String mq2; + + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + /** 煤气参数1 含义因设备而异 */ + private String mq3; + + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + /** 煤气参数4 含义因设备而异 */ + private String mq4; + + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + /** 煤气参数5 含义因设备而异 */ + private String mq5; + + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + /** 煤气参数6 含义因设备而异 */ + private String mq6; + + @ApiModelProperty(value = "脱硫剂仓料(液)位") + /** 脱硫剂仓料(液)位 */ + private String g141; + + @ApiModelProperty(value = "脱硝剂仓料(液)位") + /** 脱硝剂仓料(液)位 */ + private String g314; + + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + /** 反应器入口烟气温度(SCR工艺) */ + private String g329; + + @ApiModelProperty(value = "静电除尘器一次电压") + /** 静电除尘器一次电压 */ + private String g501; + + @ApiModelProperty(value = "静电除尘器一次电流") + /** 静电除尘器一次电流 */ + private String g502; + + @ApiModelProperty(value = "静电除尘器二次电压") + /** 静电除尘器二次电压 */ + private String g503; + + @ApiModelProperty(value = "静电除尘器二次电流") + /** 静电除尘器二次电流 */ + private String g504; + + @ApiModelProperty(value = "压差") + /** 压差 */ + private String g601; + + @ApiModelProperty(value = "清灰周期") + /** 清灰周期 */ + private String g605; + + @ApiModelProperty(value = "电机电流") + /** 电机电流 */ + private String g606; + + @ApiModelProperty(value = "风门开度") + /** 风门开度 */ + private String g912; + + @ApiModelProperty(value = "烧结矿产量") + /** 烧结矿产量 */ + private String g914; + + @ApiModelProperty(value = "皮带秤作业时间") + /** 皮带秤作业时间 */ + private String g915; + + @ApiModelProperty(value = "皮带秤配料量") + /** 皮带秤配料量 */ + private String g916; + + @ApiModelProperty(value = "料层厚度") + /** 料层厚度 */ + private String g917; + + @ApiModelProperty(value = "燃料(煤气)流量") + /** 燃料(煤气)流量 */ + private String g921; + + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + /** 矿槽称量漏斗作业时间 */ + private String g926; + + @ApiModelProperty(value = "矿槽称量漏斗装料量") + /** 矿槽称量漏斗装料量 */ + private String g927; + + @ApiModelProperty(value = "出铁时间") + /** 出铁时间 */ + private String g928; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g929; + + @ApiModelProperty(value = "热风炉鼓风量") + /** 热风炉鼓风量 */ + private String g930; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String g931; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String g932; + + @ApiModelProperty(value = "加料时间") + /** 加料时间 */ + private String g935; + + @ApiModelProperty(value = "加铁水量") + /** 加铁水量 */ + private String g936; + + @ApiModelProperty(value = "加废钢量") + /** 加废钢量 */ + private String g937; + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + private String g938; + + @ApiModelProperty(value = "出渣量") + /** 出渣量 */ + private String g939; + + @ApiModelProperty(value = "石灰窑温度") + /** 石灰窑温度 */ + private String g941; + + @ApiModelProperty(value = "主蒸汽流量") + /** 主蒸汽流量 */ + private String g942; + + @ApiModelProperty(value = "高炉煤气") + /** 高炉煤气 */ + private String g944; + + @ApiModelProperty(value = "锅炉累计运行小时数") + /** 锅炉累计运行小时数 */ + private String g945; + + @ApiModelProperty(value = "转炉煤气") + /** 转炉煤气 */ + private String g993; + + @ApiModelProperty(value = "焦炉煤气") + /** 焦炉煤气 */ + private String g994; + + @ApiModelProperty(value = "其它燃料量") + /** 其它燃料量 */ + private String g995; + + @ApiModelProperty(value = "干法脱硫剂使用量") + /** 干法脱硫剂使用量 */ + private String gb08; + + @ApiModelProperty(value = "半干发脱硫剂使用量") + /** 半干发脱硫剂使用量 */ + private String gb09; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "除尘器风量") + /** 除尘器风量 */ + private String a140; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String a141; + + @ApiModelProperty(value = "煤气使用量") + /** 煤气使用量 */ + private String b104; + + @ApiModelProperty(value = "脱硝剂使用量") + /** 脱硝剂使用量 */ + private String g313; + + @ApiModelProperty(value = "脱硝入口压力") + /** 脱硝入口压力 */ + private String g318; + + @ApiModelProperty(value = "脱硝出口压力") + /** 脱硝出口压力 */ + private String g325; + + @ApiModelProperty(value = "风机流量") + /** 风机流量 */ + private String g330; + + @ApiModelProperty(value = "风机电流") + /** 风机电流 */ + private String g604; + + @ApiModelProperty(value = "燃料瞬时流量") + /** 燃料瞬时流量 */ + private String g943; + + @ApiModelProperty(value = "装煤量") + /** 装煤量 */ + private String g952; + + @ApiModelProperty(value = "提升机作业时间") + /** 提升机作业时间 */ + private String g956; + + @ApiModelProperty(value = "装载量") + /** 装载量 */ + private String g957; + + @ApiModelProperty(value = "提升机电流") + /** 提升机电流 */ + private String g958; + + @ApiModelProperty(value = "地面放散口压力") + /** 地面放散口压力 */ + private String g961; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g962; + + @ApiModelProperty(value = "硫酸使用量") + /** 硫酸使用量 */ + private String g963; + + @ApiModelProperty(value = "洗油使用量") + /** 洗油使用量 */ + private String g964; + + @ApiModelProperty(value = "脱苯塔塔顶回流量") + /** 脱苯塔塔顶回流量 */ + private String g965; + + @ApiModelProperty(value = "粗苯外送量") + /** 粗苯外送量 */ + private String g966; + + @ApiModelProperty(value = "塔釜温度") + /** 塔釜温度 */ + private String g967; + + @ApiModelProperty(value = "洗油外送量") + /** 洗油外送量 */ + private String g968; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g969; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g970; + + @ApiModelProperty(value = "负压煤气管网压力") + /** 负压煤气管网压力 */ + private String g971; + + @ApiModelProperty(value = "(风机后)煤气管压力") + /** (风机后)煤气管压力 */ + private String g972; + + @ApiModelProperty(value = "外供煤气流量") + /** 外供煤气流量 */ + private String g973; + + @ApiModelProperty(value = "煤气柜容量") + /** 煤气柜容量 */ + private String g974; + + @ApiModelProperty(value = "气柜高度") + /** 气柜高度 */ + private String g975; + + @ApiModelProperty(value = "气柜压力") + /** 气柜压力 */ + private String g976; + + @ApiModelProperty(value = "水封液位高度") + /** 水封液位高度 */ + private String g977; + + @ApiModelProperty(value = "压力") + /** 压力 */ + private String g978; + + @ApiModelProperty(value = "流量") + /** 流量 */ + private String g979; + + @ApiModelProperty(value = "火炬点火器启动记录") + /** 火炬点火器启动记录 */ + private String g980; + + @ApiModelProperty(value = "液位") + /** 液位 */ + private String g981; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String g982; + + @ApiModelProperty(value = "碱洗塔碱液使用量") + /** 碱洗塔碱液使用量 */ + private String gb11; + + @ApiModelProperty(value = "酸洗塔酸液使用量") + /** 酸洗塔酸液使用量 */ + private String gb12; + + @ApiModelProperty(value = "洗油塔洗油使用量") + /** 洗油塔洗油使用量 */ + private String gb13; + + @ApiModelProperty(value = "颗粒物") + /** 颗粒物 */ + private String h959; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String h960; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnHourVo.java new file mode 100644 index 0000000..aa964cf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnHourVo.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-水泥-小时 保存设备的小时数据对象 mon_dev_sn_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + private String ss100; + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + private String ss101; + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + private String sz100; + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + private String sz101; + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + private String sz102; + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + private String sz103; + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + private String sz104; + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + private String sz105; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String sz106; + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + private String sz107; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String sz108; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String sz109; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String sz110; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String sz111; + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + private String sz112; + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + private String sz113; + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + private String sz114; + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + private String sz115; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnOtherVo.java new file mode 100644 index 0000000..cc0a9ff --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnOtherVo.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据对象 mon_dev_sn_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + private String ss100; + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + private String ss101; + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + private String sz100; + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + private String sz101; + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + private String sz102; + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + private String sz103; + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + private String sz104; + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + private String sz105; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String sz106; + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + private String sz107; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String sz108; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String sz109; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String sz110; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String sz111; + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + private String sz112; + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + private String sz113; + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + private String sz114; + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + private String sz115; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnRealVo.java new file mode 100644 index 0000000..43e4546 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnRealVo.java @@ -0,0 +1,129 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-水泥-实时 保存设备的实时数据对象 mon_dev_sn_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + /** 生产端加料量 单位:kg/h */ + private String ss100; + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + /** 生产端窑尾烟室温度 单位:℃ */ + private String ss101; + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + /** 窑头布袋除尘器前后压差 单位:Pa */ + private String sz100; + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + /** 窑尾布袋除尘器前后压差 单位:Pa */ + private String sz101; + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + /** 窑头电除尘器二次电流 单位:A */ + private String sz102; + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + /** 窑尾电除尘器二次电流 单位:A */ + private String sz103; + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + /** 窑头电除尘器二次电压 单位:V */ + private String sz104; + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + /** 窑尾电除尘器二次电压 单位:V */ + private String sz105; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + /** 脱硝还原剂用量 单位:m3/h */ + private String sz106; + + @ApiModelProperty(value = "脱硫洗涤塔pH值") + /** 脱硫洗涤塔pH值 */ + private String sz107; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + /** 脱硫供浆流量 单位:m3/h */ + private String sz108; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + /** 脱硫供料流量 单位:kg/h */ + private String sz109; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + /** 脱硫浆液循环泵运行状态 1=运行,0=停止 */ + private String sz110; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + /** 脱硫湿法氧化风机电流 单位:A */ + private String sz111; + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + /** 窑头除尘器进口压力 单位:kPa */ + private String sz112; + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + /** 窑头除尘器出口压力 单位:kPa */ + private String sz113; + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + /** 窑尾除尘器出口压力 单位:kPa */ + private String sz114; + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + /** 窑尾除尘器进口压力 单位:kPa */ + private String sz115; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnStringVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnStringVO.java new file mode 100644 index 0000000..7435081 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnStringVO.java @@ -0,0 +1,101 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +/** + *

    + * 设备数据-水泥-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevSnStringVO { + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + private String ss100; + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + private String ss101; + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + private String sz102; + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + private String sz103; + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + private String sz104; + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + private String sz105; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String sz106; + + @ApiModelProperty(value = "脱硫洗涤塔pH值v") + private String sz107; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String sz108; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String sz109; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + private String sz112; + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + private String sz113; + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; + + /** 处理数据时间:将秒部分清零 */ + public void cleanDataTime() + { + if( StringUtils.isEmpty(dataTime) ) + return; + if(dataTime.length() == "2022-01-01 00:00:00".length()) + dataTime = dataTime.substring(0,dataTime.length()-2) + "00"; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnVO.java new file mode 100644 index 0000000..5259c29 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevSnVO.java @@ -0,0 +1,91 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

    + * 设备数据-水泥-实时 保存设备的实时数据 + *

    + * + * @author wl + * @since 2021-10-08 + */ +@Data +@ApiModel +public class MonDevSnVO +{ + + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "设备名称") + private String name; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + private Double ss100; + + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + private Double ss101; + + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + private Double sz100; + + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + private Double sz101; + + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + private Double sz102; + + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + private Double sz103; + + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + private Double sz104; + + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + private Double sz105; + + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private Double sz106; + + @ApiModelProperty(value = "脱硫洗涤塔pH值v") + private Double sz107; + + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private Double sz108; + + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private Double sz109; + + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private Double sz110; + + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private Double sz111; + + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + private Double sz112; + + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + private Double sz113; + + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + private Double sz114; + + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + private Double sz115; + + @ApiModelProperty(value = "附加参数 JSON") + private String addiParam; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcHourVo.java new file mode 100644 index 0000000..aceb6e8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcHourVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据对象 mon_dev_tc_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcHourVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + private String g983; + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + private String g987; + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + private String g988; + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + private String g989; + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + private String g990; + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + private String g991; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + private String g985; + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + private String g986; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + private String g140; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + private String gb09; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + private String g329; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + private String g605; + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + private String g601; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + private String g502; + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + private String g503; + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + private String g504; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcOtherVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcOtherVo.java new file mode 100644 index 0000000..b0b532d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcOtherVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据对象 mon_dev_tc_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcOtherVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + /** 时间类型 枚举。分钟/小时... */ + private String timeType; + + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + /** 数据时间 格式因时间类型而异 */ + private String dataTime; + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + private String g983; + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + private String g987; + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + private String g988; + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + private String g989; + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + private String g990; + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + private String g991; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + private String g985; + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + private String g986; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + private String g140; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + private String gb09; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + private String g329; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + private String g605; + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + private String g601; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + private String g502; + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + private String g503; + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + private String g504; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcRealVo.java new file mode 100644 index 0000000..9cad181 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonDevTcRealVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据对象 mon_dev_tc_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcRealVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "设备ID") + /** 设备ID */ + private String deviceId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + /** 入料_原料配比后的总重量 千克 */ + private String g983; + + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + /** 煤气发生炉_供气量 立方纳米/小时 */ + private String g987; + + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + /** 喷雾干燥塔_水分蒸发量 单位:千克/小时 */ + private String g988; + + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + /** 喷雾干燥塔_供气量 单位:立方纳米/小时 */ + private String g989; + + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + /** 辊道窑、隧道窑_水分蒸发量 单位:千克/小时 */ + private String g990; + + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + /** 辊道窑、隧道窑_供气量 单位:立方纳米/小时 */ + private String g991; + + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + /** 液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警 */ + private String g985; + + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + /** 储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米 */ + private String g986; + + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + /** 脱硫_湿法脱硫剂使用量 单位:千克 */ + private String g140; + + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + /** 脱硫_干法脱硫剂使用量 单位:千克 */ + private String gb08; + + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + /** 半干法脱硫_脱硫剂使用量 单位:千克 */ + private String gb09; + + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + /** 脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步 */ + private String g141; + + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + /** 脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克 */ + private String g313; + + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + /** 脱硝_脱硝剂仓料(液)位 单位:米 */ + private String g314; + + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + /** 脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 */ + private String g329; + + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + /** 袋式除尘器_风机电流 单位:安[培] */ + private String g604; + + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + /** 袋式除尘器_清灰周期 单位:小时 */ + private String g605; + + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + /** 袋式除尘器_压差 单位:千帕 */ + private String g601; + + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + /** 静电除尘器_一次电压 单位:伏[特] */ + private String g501; + + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + /** 静电除尘器_一次电流 单位:安[培] */ + private String g502; + + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + /** 静电除尘器_二次电压 单位:伏[特] */ + private String g503; + + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + /** 静电除尘器_二次电流 单位:安[培] */ + private String g504; + + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + /** 附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...} */ + private String addiParam; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecEventVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecEventVo.java new file mode 100644 index 0000000..ab1a1c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecEventVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系对象 mon_elec_event + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应 两类设备为多对多的关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonElecEventVo +{ + + + @ApiModelProperty(value = "数据ID") + /** 数据ID */ + private Long dataId; + + @ApiModelProperty(value = "企业ID 冗余") + /** 企业ID 冗余 */ + private String factoryId; + + @ApiModelProperty(value = "点位ID") + /** 点位ID */ + private String siteId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + /** 时间类型 枚举。总为“实时” */ + private String timeType; + + @ApiModelProperty(value = "数据时间") + /** 数据时间 */ + private String dataTime; + + @ApiModelProperty(value = "停上电 0=上电,1=停电") + /** 停上电 0=上电,1=停电 */ + private Long tn50; + + @ApiModelProperty(value = "设备状态 0=关机状态,1=开机状态") + /** 设备状态 0=关机状态,1=开机状态 */ + private Long tn62; + + @ApiModelProperty(value = "电流幅值突变 百分比的分子值") + /** 电流幅值突变 百分比的分子值 */ + private String tn63; + + @ApiModelProperty(value = "电压幅值突变 百分比的分子值") + /** 电压幅值突变 百分比的分子值 */ + private String tn64; + + @ApiModelProperty(value = "设备异常破坏 0=关,1=开") + /** 设备异常破坏 0=关,1=开 */ + private Long tn65; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecOperationLogQuery.java new file mode 100644 index 0000000..77863a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecOperationLogQuery.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonElecOperationLog; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: MonElecOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:25 + * @Company: Copyright© [2023/04/28 15:25] by [Mr.Yanghongtao] + **/ + +/** + * 分表计电系统参数设置操作日志表 + */ +@ApiModel(value = "分表计电系统参数设置操作日志vo") +@Data +@EqualsAndHashCode(callSuper = false) +public class MonElecOperationLogQuery extends PageQuery { + /** + * 主键标识 + */ + private String logId; + + /** + * 操作时间 + */ + private Date operationTime; + + /** + * 分表计电监测点位名称 + */ + private String elecStationName; + + /** + * 对应设施名称 + */ + private String deviceName; + + /** + * 操作前额定功率(kw) + */ + private String beforeModifyNormal; + + /** + * 操作后额定功率(kw) + */ + private String afterModifyNormal; + + /** + * 操作人 + */ + private String operator; + + /** + * 操作人ID + */ + private String operatorId; + + /** + * 企业ID + */ + private String factoryId; + + @ApiModelProperty(value = "开始时间") + private Date startTime; + + @ApiModelProperty(value = "结束时间") + private Date endTime; + public static QueryWrapper createLambdaQueryWrapper(MonElecOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getElecStationName()), "elec_station_name", query.getElecStationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.orderByDesc("operation_time"); + return wrapper; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealSiteVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealSiteVo.java new file mode 100644 index 0000000..2674968 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealSiteVo.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-05-08 10:15 + * @Class: MonElecRealSiteVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class MonElecRealSiteVo { + + @ApiModelProperty(value = "设备点位ID") + private String deviceSiteId; + @ApiModelProperty(value = "企业ID") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型") + private String timeType; + @ApiModelProperty(value = "监测时间") + private String dataTime; + @ApiModelProperty(value = "功率") + private String activePower; + @ApiModelProperty(value = "额定功率10%最小值:停产阈值") + private String minValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealVo.java new file mode 100644 index 0000000..51b4243 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/MonElecRealVo.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系对象 mon_elec_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备-点位对应 设备与点位为多对多的关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonElecRealVo +{ + @ApiModelProperty(value = "数据ID") + private Long dataId; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @Excel(name = "数据时间") + @ApiModelProperty(value = "数据时间") + private String dataTime; + + @ApiModelProperty(value = "设备名称") + @Excel(name = "设备名称") + private String deviceName; + + private String deviceSiteId; + + @Excel(name = "点位") + private String deviceSiteName; + + @ApiModelProperty(value = "总有功功率(千瓦)") + @Excel(name = "总有功功率(千瓦)") + private String activePower; + + @ApiModelProperty(value = "总无功功率(千瓦)") + @Excel(name = "总无功功率(千瓦)") + private String reactivePower; + + @ApiModelProperty(value = "总有功电量示值(安)") + @Excel(name = "总有功电量示值(安)") + private String activePowerQuantity; + + @ApiModelProperty(value = "总无功电量示值(安)") + @Excel(name = "总无功电量示值(安)") + private String reactivePowerQuantity; + + @ApiModelProperty(value = "总功率因数") + @Excel(name = "总功率因数") + private String totalPower; + + @ApiModelProperty(value = "A相电流(安)") + @Excel(name = "A相电流(安)") + private String currentAp; + + @ApiModelProperty(value = "B相电流(安)") + @Excel(name = "B相电流(安)") + private String currentBp; + + @ApiModelProperty(value = "C相电流(安)") + @Excel(name = "C相电流(安)") + private String currentCp; + + @ApiModelProperty(value = "单相电流(安)") + @Excel(name = "单相电流(安)") + private String currentSinglePhase; + + @ApiModelProperty(value = "A相电压(伏)") + @Excel(name = "A相电压(伏)") + private String voltageAp; + + @ApiModelProperty(value = "B相电压(伏)") + @Excel(name = "B相电压(伏)") + private String voltageBp; + + @ApiModelProperty(value = "C相电压(伏)") + @Excel(name = "C相电压(伏)") + private String voltageCp; + + @ApiModel(value = "分表计电大屏-用电量监控vo") + @Data + public static class KwhMonitorVo { + @ApiModelProperty(value = "分组名称") + private String name; + + @ApiModelProperty(value = "用电量") + private BigDecimal kwh; + + @ApiModelProperty(value = "百分比") + private String percentage; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsAirRegionHourIVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsAirRegionHourIVo.java new file mode 100644 index 0000000..05ed1df --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsAirRegionHourIVo.java @@ -0,0 +1,235 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_air_region_hour_i + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsAirRegionHourIVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String datatime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String uploadtime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value2473; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value2481; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value2483; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value2484; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4402; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4404; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4405; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4406; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4407; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4467; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4468; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4471; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4d71; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4472; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4474; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4482; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4485; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4486; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4487; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4488; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value4489; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value448a; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String value448b; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status2473; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status2481; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status2483; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status2484; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4402; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4404; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4405; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4406; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4407; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4467; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4468; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4471; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4d71; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4472; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4474; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4482; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4485; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4486; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4487; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4488; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status4489; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status448a; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String status448b; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String code; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String name; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String cityname; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String provincename; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.java new file mode 100644 index 0000000..52bd671 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.java @@ -0,0 +1,147 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_inorganization_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsInorganizationWeiStationHourIVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String stationId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String stationCode; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String receiveTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String co; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String no2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String so2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String o3; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String voc; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String noise; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String pm25; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String pm10; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String temperature; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String utc; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String humidity; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String wdirect; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String wspeed; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String apress; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String equstatename; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String equstate; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String no; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String tsp; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String aqi; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String aqiLevel; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String priPollute; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String type; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String o38h; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String createTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String updateTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String nox; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String tvoc; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingShStationHourIVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingShStationHourIVo.java new file mode 100644 index 0000000..7f8d432 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingShStationHourIVo.java @@ -0,0 +1,159 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * ods层网格化市控站点小时增量对象 ods_meshing_sh_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化市控站点小时增量") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsMeshingShStationHourIVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "站点id") + /** 站点id */ + private String stationId; + + @ApiModelProperty(value = "站点编码") + /** 站点编码 */ + private String stationCode; + + @ApiModelProperty(value = "数据采集时间") + /** 数据采集时间 */ + private String receiveTime; + + @ApiModelProperty(value = "SO2浓度实况值") + /** SO2浓度实况值 */ + private String so2Live; + + @ApiModelProperty(value = "NO2浓度实况值") + /** NO2浓度实况值 */ + private String no2Live; + + @ApiModelProperty(value = "CO浓度实况值") + /** CO浓度实况值 */ + private String coLive; + + @ApiModelProperty(value = "O3浓度实况值") + /** O3浓度实况值 */ + private String o3Live; + + @ApiModelProperty(value = "PM10浓度实况值") + /** PM10浓度实况值 */ + private String pm10Live; + + @ApiModelProperty(value = "PM2.5浓度实况值") + /** PM2.5浓度实况值 */ + private String pm25Live; + + @ApiModelProperty(value = "温度") + /** 温度 */ + private String temperature; + + @ApiModelProperty(value = "湿度") + /** 湿度 */ + private String humidity; + + @ApiModelProperty(value = "大气压") + /** 大气压 */ + private String apress; + + @ApiModelProperty(value = "风向") + /** 风向 */ + private String wdirect; + + @ApiModelProperty(value = "风速") + /** 风速 */ + private String wspeed; + + @ApiModelProperty(value = "噪声") + /** 噪声 */ + private String noise; + + @ApiModelProperty(value = "MAXID值") + /** MAXID值 */ + private String maxId; + + @ApiModelProperty(value = "无用") + /** 无用 */ + private String flag; + + @ApiModelProperty(value = "PM10标况值") + /** PM10标况值 */ + private String pm10Bk; + + @ApiModelProperty(value = "PM25标况值") + /** PM25标况值 */ + private String pm25Bk; + + @ApiModelProperty(value = "SO2标况值") + /** SO2标况值 */ + private String so2Bk; + + @ApiModelProperty(value = "NO2标况值") + /** NO2标况值 */ + private String no2Bk; + + @ApiModelProperty(value = "CO标况值") + /** CO标况值 */ + private String coBk; + + @ApiModelProperty(value = "O3标况值") + /** O3标况值 */ + private String o3Bk; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String pmi; + + @ApiModelProperty(value = "PMI标况值") + /** PMI标况值 */ + private String pmiBk; + + @ApiModelProperty(value = "TSP实况值") + /** TSP实况值 */ + private String tspLive; + + @ApiModelProperty(value = "TSP标况值") + /** TSP标况值 */ + private String tspBk; + + @ApiModelProperty(value = "NO实况值") + /** NO实况值 */ + private String noLive; + + @ApiModelProperty(value = "TVOC值") + /** TVOC值 */ + private String tvoc; + + @ApiModelProperty(value = "co2浓度值") + /** co2浓度值 */ + private String co2; + + @ApiModelProperty(value = "氮氧化物浓度值") + /** 氮氧化物浓度值 */ + private String nox; + + @ApiModelProperty(value = "数据创建时间") + /** 数据创建时间 */ + private String createTime; + + @ApiModelProperty(value = "数据更新时间") + /** 数据更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.java new file mode 100644 index 0000000..7999c9a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.java @@ -0,0 +1,147 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * ods层网格化微站站点小时增量对象 ods_meshing_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化微站站点小时增量") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsMeshingWeiStationHourIVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "站点id") + /** 站点id */ + private String stationId; + + @ApiModelProperty(value = "站点编码") + /** 站点编码 */ + private String stationCode; + + @ApiModelProperty(value = "数据采集时间") + /** 数据采集时间 */ + private String receiveTime; + + @ApiModelProperty(value = "co浓度值 单位 mg/m3") + /** co浓度值 单位 mg/m3 */ + private String co; + + @ApiModelProperty(value = "NO2浓度值 单位μg/m3") + /** NO2浓度值 单位μg/m3 */ + private String no2; + + @ApiModelProperty(value = "SO2 浓度值 单位μg/m3") + /** SO2 浓度值 单位μg/m3 */ + private String so2; + + @ApiModelProperty(value = "O3浓度值 单位μg/m3") + /** O3浓度值 单位μg/m3 */ + private String o3; + + @ApiModelProperty(value = "VOC浓度值 单位PPB") + /** VOC浓度值 单位PPB */ + private String voc; + + @ApiModelProperty(value = "噪声") + /** 噪声 */ + private String noise; + + @ApiModelProperty(value = "PM2.5浓度值 单位μg/m3") + /** PM2.5浓度值 单位μg/m3 */ + private String pm25; + + @ApiModelProperty(value = "PM10浓度值 单位μg/m3") + /** PM10浓度值 单位μg/m3 */ + private String pm10; + + @ApiModelProperty(value = "温度 单位 ℃") + /** 温度 单位 ℃ */ + private String temperature; + + @ApiModelProperty(value = "utc") + /** utc */ + private String utc; + + @ApiModelProperty(value = "湿度 单位%RH") + /** 湿度 单位%RH */ + private String humidity; + + @ApiModelProperty(value = "风向 单位°") + /** 风向 单位° */ + private String wdirect; + + @ApiModelProperty(value = "风速 单位 m/s") + /** 风速 单位 m/s */ + private String wspeed; + + @ApiModelProperty(value = "大气压 单位 hPa") + /** 大气压 单位 hPa */ + private String apress; + + @ApiModelProperty(value = "设备状态") + /** 设备状态 */ + private String equstatename; + + @ApiModelProperty(value = "设备状态码") + /** 设备状态码 */ + private String equstate; + + @ApiModelProperty(value = "NO 浓度值 单位μg/m3") + /** NO 浓度值 单位μg/m3 */ + private String no; + + @ApiModelProperty(value = "TSP 浓度值") + /** TSP 浓度值 */ + private String tsp; + + @ApiModelProperty(value = "AQI值") + /** AQI值 */ + private String aqi; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String aqiLevel; + + @ApiModelProperty(value = "首要污染物") + /** 首要污染物 */ + private String priPollute; + + @ApiModelProperty(value = "PointHour 表示微型站数据,VocHour 表示 VOC 站数据") + /** PointHour 表示微型站数据,VocHour 表示 VOC 站数据 */ + private String type; + + @ApiModelProperty(value = "O38H浓度值 单位μg/m3") + /** O38H浓度值 单位μg/m3 */ + private String o38h; + + @ApiModelProperty(value = "数据创建时间") + /** 数据创建时间 */ + private String createTime; + + @ApiModelProperty(value = "数据更新时间") + /** 数据更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "氮氧化物浓度值") + /** 氮氧化物浓度值 */ + private String nox; + + @ApiModelProperty(value = "TVOC值") + /** TVOC值 */ + private String tvoc; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlDgiinfoAVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlDgiinfoAVo.java new file mode 100644 index 0000000..c1a2966 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlDgiinfoAVo.java @@ -0,0 +1,119 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_online_ol_dgiinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlDgiinfoAVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "企业主键ID") + /** 企业主键ID */ + private String psId; + + @ApiModelProperty(value = "mn编码") + /** mn编码 */ + private String dgiMn; + + @ApiModelProperty(value = "数采仪密码") + /** 数采仪密码 */ + private String dgiPwd; + + @ApiModelProperty(value = "ip地址") + /** ip地址 */ + private String ip; + + @ApiModelProperty(value = "端口") + /** 端口 */ + private String port; + + @ApiModelProperty(value = "sim卡号") + /** sim卡号 */ + private String simNo; + + @ApiModelProperty(value = "领用人") + /** 领用人 */ + private String getter; + + @ApiModelProperty(value = "领用单位") + /** 领用单位 */ + private String getUnit; + + @ApiModelProperty(value = "领用日期") + /** 领用日期 */ + private String getDate; + + @ApiModelProperty(value = "启用日期") + /** 启用日期 */ + private String useDate; + + @ApiModelProperty(value = "间隔时间") + /** 间隔时间 */ + private String intervalTime; + + @ApiModelProperty(value = "生产厂家设备品牌") + /** 生产厂家设备品牌 */ + private String manufactor; + + @ApiModelProperty(value = "设备出厂编号") + /** 设备出厂编号 */ + private String equipmentFactoryNumber; + + @ApiModelProperty(value = "设备型号") + /** 设备型号 */ + private String equipmentTypeCode; + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + private String contact; + + @ApiModelProperty(value = "联系人手机") + /** 联系人手机 */ + private String contactPhone; + + @ApiModelProperty(value = "检查状态") + /** 检查状态 */ + private String checkState; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "禁用时间") + /** 禁用时间 */ + private String deleteTime; + + @ApiModelProperty(value = "禁用后再次启用时间") + /** 禁用后再次启用时间 */ + private String enableTime; + + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + /** 是否启用,1-启用 0-禁用 */ + private String enable; + + @ApiModelProperty(value = "是否具备防作假功能,1-是 0-否") + /** 是否具备防作假功能,1-是 0-否 */ + private Long preventFaking; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPortinfoAVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPortinfoAVo.java new file mode 100644 index 0000000..33f08b8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPortinfoAVo.java @@ -0,0 +1,167 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_online_ol_portinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPortinfoAVo +{ + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String id; + + @ApiModelProperty(value = "企业主键ID") + /** 企业主键ID */ + private String psId; + + @ApiModelProperty(value = "监控点编码(保留字典不参与业务)") + /** 监控点编码(保留字典不参与业务) */ + private String portCode; + + @ApiModelProperty(value = "监控点编号(保留字典不参与业务)") + /** 监控点编号(保留字典不参与业务) */ + private String portNum; + + @ApiModelProperty(value = "监测点名称后缀") + /** 监测点名称后缀 */ + private String portNameSuffix; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String portName; + + @ApiModelProperty(value = "排口类型,如:水、气(字典数据)") + /** 排口类型,如:水、气(字典数据) */ + private String portTypeId; + + @ApiModelProperty(value = "监控点位置") + /** 监控点位置 */ + private String portPosition; + + @ApiModelProperty(value = "经度") + /** 经度 */ + private String longitude; + + @ApiModelProperty(value = "纬度") + /** 纬度 */ + private String latitude; + + @ApiModelProperty(value = "监测点类型代码") + /** 监测点类型代码 */ + private String monitorTypeId; + + @ApiModelProperty(value = "行政区划编码") + /** 行政区划编码 */ + private String regionId; + + @ApiModelProperty(value = "是否烧结,1-否 1-是 ") + /** 是否烧结,1-否 1-是 */ + private String isSintering; + + @ApiModelProperty(value = "是否启用,0-否 1-是") + /** 是否启用,0-否 1-是 */ + private String enable; + + @ApiModelProperty(value = "联网时间") + /** 联网时间 */ + private String networkTime; + + @ApiModelProperty(value = "是否联网,1-是 0-否") + /** 是否联网,1-是 0-否 */ + private Long networkStatus; + + @ApiModelProperty(value = "运维标记联网时间") + /** 运维标记联网时间 */ + private String opFlagNetworkTime; + + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + /** 运维标记是否联网 1-是 0-否 */ + private Long opFlagNetworkStatus; + + @ApiModelProperty(value = "异常上限") + /** 异常上限 */ + private String abnormalUp; + + @ApiModelProperty(value = "异常下限") + /** 异常下限 */ + private String abnormalDown; + + @ApiModelProperty(value = "是否高架源,0-否 1-是") + /** 是否高架源,0-否 1-是 */ + private String highChimney; + + @ApiModelProperty(value = "是否垃圾焚烧,0-否 1-是") + /** 是否垃圾焚烧,0-否 1-是 */ + private String rubbish; + + @ApiModelProperty(value = "排放规律") + /** 排放规律 */ + private String outputRule; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + private String updateTime; + + @ApiModelProperty(value = "delete_time") + /** delete_time */ + private String deleteTime; + + @ApiModelProperty(value = "由禁用改为启用时间") + /** 由禁用改为启用时间 */ + private String enableTime; + + @ApiModelProperty(value = "监测点状态,1-在线 2-超标 3-异常 4-离线") + /** 监测点状态,1-在线 2-超标 3-异常 4-离线 */ + private String portState; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String isSync; + + @ApiModelProperty(value = "排放口id") + /** 排放口id */ + private String outletId; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createdBy; + + @ApiModelProperty(value = "编辑人") + /** 编辑人 */ + private String updatedBy; + + @ApiModelProperty(value = "基准含氧量") + /** 基准含氧量 */ + private String outletYq; + + @ApiModelProperty(value = "排污许可编号") + /** 排污许可编号 */ + private String pwxkBh; + + @ApiModelProperty(value = "国发监测点id") + /** 国发监测点id */ + private String gfPortId; + + @ApiModelProperty(value = "是否同步给长天 1同步 0不同步") + /** 是否同步给长天 1同步 0不同步 */ + private Long sySky; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.java new file mode 100644 index 0000000..d875235 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.java @@ -0,0 +1,131 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_online_ol_ps_whitelist_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPsWhitelistAVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String regionId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String factoryId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String portNum; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String portName; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String pollutantCode; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String startTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String endTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String operator; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String userId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String reason; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String createTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String updateTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String deleteTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String enable; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String remarks; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifyStatusId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifyRemarks; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifierId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifierName; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifyTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String verifierMobile; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String startTime2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String endTime2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String createTime2; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String receiveTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String infoType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsinfoAVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsinfoAVo.java new file mode 100644 index 0000000..2db62a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlPsinfoAVo.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_online_ol_psinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPsinfoAVo +{ + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String id; + + @ApiModelProperty(value = "企业代码:社会统计信用代码") + /** 企业代码:社会统计信用代码 */ + private String psCode; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String psName; + + @ApiModelProperty(value = "企业名拼音") + /** 企业名拼音 */ + private String psLetter; + + @ApiModelProperty(value = "企业地址") + /** 企业地址 */ + private String address; + + @ApiModelProperty(value = "国民经济行业代码") + /** 国民经济行业代码 */ + private String industryCode; + + @ApiModelProperty(value = "环保行业代码") + /** 环保行业代码 */ + private String regulationIndustryId; + + @ApiModelProperty(value = "行政区划代码ID,区县级") + /** 行政区划代码ID,区县级 */ + private String regionId; + + @ApiModelProperty(value = "企业经度") + /** 企业经度 */ + private String longitude; + + @ApiModelProperty(value = "企业纬度") + /** 企业纬度 */ + private String latitude; + + @ApiModelProperty(value = "联系人") + /** 联系人 */ + private String contact; + + @ApiModelProperty(value = "联系人手机") + /** 联系人手机 */ + private String contactphone; + + @ApiModelProperty(value = "是否高架源,1-是") + /** 是否高架源,1-是 */ + private String isHighChimney; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String isRubbish; + + @ApiModelProperty(value = "重点非重点code") + /** 重点非重点code */ + private String categoryTypeId; + + @ApiModelProperty(value = "是否有排污许可证 0否 1是") + /** 是否有排污许可证 0否 1是 */ + private String isPwxk; + + @ApiModelProperty(value = "企业状态,1-在线 2-超标 3-异常 4-离线") + /** 企业状态,1-在线 2-超标 3-异常 4-离线 */ + private String psState; + + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + /** 是否启用,1-启用 0-禁用 */ + private String enable; + + @ApiModelProperty(value = "联网时间") + /** 联网时间 */ + private String networkTime; + + @ApiModelProperty(value = "是否联网,1-是 0-否") + /** 是否联网,1-是 0-否 */ + private Long networkStatus; + + @ApiModelProperty(value = "运维标记联网时间") + /** 运维标记联网时间 */ + private String opFlagNetworkTime; + + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + /** 运维标记是否联网 1-是 0-否 */ + private Long opFlagNetworkStatus; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "停用改启用时间") + /** 停用改启用时间 */ + private String enableTime; + + @ApiModelProperty(value = "禁用时间") + /** 禁用时间 */ + private String deleteTime; + + @ApiModelProperty(value = "是否同步给省厅 1同步 0不同步") + /** 是否同步给省厅 1同步 0不同步 */ + private Long syProvince; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Long sySky; + + @ApiModelProperty(value = "企业类型 0线上(非现场执法),1线下") + /** 企业类型 0线上(非现场执法),1线下 */ + private Long psType; + + @ApiModelProperty(value = "企业是否生成处置单 0不生成,1生成") + /** 企业是否生成处置单 0不生成,1生成 */ + private Long psDisposal; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlStopinfoAVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlStopinfoAVo.java new file mode 100644 index 0000000..a848967 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OdsOnlineOlStopinfoAVo.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 【请填写功能名称】对象 ods_online_ol_stopinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlStopinfoAVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String factoryId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String portNum; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String portName; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String startTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String endTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String dcsType; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String operator; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String reason; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String createTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String updateTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String deleteTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String enable; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String infoSources; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String userId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String remarks; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String startTimeFormat; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String endTimeFormat; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String createTimeFormat; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String checkTime; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String checkUserId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String checkUserName; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Long checkStatus; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String checkRemarks; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Long startTimeUnix; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private Long endTimeUnix; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OutletNameVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OutletNameVO.java new file mode 100644 index 0000000..e387a1f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/OutletNameVO.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "对应许可证排口名称下拉框") +public class OutletNameVO { + + @ApiModelProperty(value = "唯一标识") + private String id; + + @ApiModelProperty(value = "对应许可证排口名称") + private String outletName; + + @ApiModelProperty(value = "对应许可证排口编号") + private String outletCode; + + @ApiModelProperty(value = "排口类型") + private String outletTypes; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslFactoryVo.java new file mode 100644 index 0000000..8ca12bc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslFactoryVo.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业与接入数据类型关联对象 pc_adsl_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业与接入数据类型关联") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcAdslFactoryVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "接入数据类型id") + /** 接入数据类型id */ + private String adslId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslVo.java new file mode 100644 index 0000000..4c7380b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcAdslVo.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业接入数据类型对象 pc_adsl + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业接入数据类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcAdslVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private Long adslId; + + @ApiModelProperty(value = "接入数据类型编码") + /** 接入数据类型编码 */ + private String adslName; + + @ApiModelProperty(value = "接入数据类型名称") + /** 接入数据类型名称 */ + private String adslCode; + + @ApiModelProperty(value = "是否启用") + /** 是否启用 */ + private String adslEnable; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcArchivesFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcArchivesFactoryVo.java new file mode 100644 index 0000000..1e7e01e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcArchivesFactoryVo.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel(value = "企业分类档案相关vo") +@Data +public class PcArchivesFactoryVo { + + @ApiModelProperty("重点关注列表") + private List followList; + + @ApiModelProperty("分类列表") + private List typeList; + + + @ApiModel(value = "企业档案vo") + @Data + public static class Archives { + @ApiModelProperty("企业分类档案表id") + private String pcArchivesFactoryId; + + @ApiModelProperty("档案名称") + private String name; + + @ApiModelProperty("档案url") + private String url; + } + + + @ApiModel(value = "企业分类档案类型vo") + @Data + public static class Type { + @ApiModelProperty("分类名称") + private String name; + + @ApiModelProperty("档案列表") + private List archives; + + @ApiModelProperty("还原档案列表") + private List hideArchives; + } + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcControlRequirementsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcControlRequirementsVo.java new file mode 100644 index 0000000..552295a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcControlRequirementsVo.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 管控要求对象 pc_control_requirements + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "管控要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcControlRequirementsVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "污染物种类id") + /** 污染物种类id*/ + private String pollutantId; + + @ApiModelProperty(value = "国家或地方污染物排放标准名") + /** 国家或地方污染物排放标准名*/ + private String pollutantStandardName; + + @ApiModelProperty(value = "排放标准浓度限值") + /** 排放标准浓度限值*/ + private String emissionStandardConcentrationLim; + + @ApiModelProperty(value = "排放标准浓度单位") + /** 排放标准浓度单位*/ + private String emissionStandardConcentrationUnit; + + @ApiModelProperty(value = "排放标准速率限值(kg/h)") + /** 排放标准速率限值(kg/h)*/ + private String emissionStandardRateLim; + + @ApiModelProperty(value = "环境影响评价批复要求") + /** 环境影响评价批复要求*/ + private String approvalRequirements; + + @ApiModelProperty(value = "许可排放小时浓度限值") + /** 许可排放小时浓度限值*/ + private String permissibleConcentrationLimHour; + + @ApiModelProperty(value = "许可排放日均浓度限值") + /** 许可排放日均浓度限值*/ + private String permissibleConcentrationLimDay; + + @ApiModelProperty(value = "许可排放速率限值(kg/h)") + /** 许可排放速率限值(kg/h)*/ + private String permissibleRateLim; + + @ApiModelProperty(value = "许可年排放量限值-第一年(t/a)") + /** 许可年排放量限值-第一年(t/a)*/ + private String permissibleLimFirst; + + @ApiModelProperty(value = "许可年排放量限值-第二年(t/a)") + /** 许可年排放量限值-第二年(t/a)*/ + private String permissibleLimSecond; + + @ApiModelProperty(value = "许可年排放量限值-第三年(t/a)") + /** 许可年排放量限值-第三年(t/a)*/ + private String permissibleLimThird; + + @ApiModelProperty(value = "许可年排放量限值-第四年(t/a)") + /** 许可年排放量限值-第四年(t/a)*/ + private String permissibleLimFourth; + + @ApiModelProperty(value = "许可年排放量限值-第五年(t/a)") + /** 许可年排放量限值-第五年(t/a)*/ + private String permissibleLimSfifth; + + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + /** 承诺更加严格排放浓度限值*/ + private String commitmentEmissionLim; + + @ApiModelProperty(value = "监测设施") + /** 监测设施*/ + private String monitoringFacilities; + + @ApiModelProperty(value = "自动监测是否联网") + /** 自动监测是否联网*/ + private String whetherAutoMonitorConn; + + @ApiModelProperty(value = "自动监测仪器名称") + /** 自动监测仪器名称*/ + private String autoMonitorName; + + @ApiModelProperty(value = "自动监测设施安装位置") + /** 自动监测设施安装位置*/ + private String autoMonitorAddress; + + @ApiModelProperty(value = "自动监测设施是否符合安装、运行、维护等管理要求") + /** 自动监测设施是否符合安装、运行、维护等管理要求*/ + private String whetherAutoMonitorRequire; + + @ApiModelProperty(value = "手工监测采样方法及个数") + /** 手工监测采样方法及个数*/ + private String manualMonitorNumber; + + @ApiModelProperty(value = "手工监测频次") + /** 手工监测频次*/ + private String manualMonitorFrequency; + + @ApiModelProperty(value = "手工测定方法") + /** 手工测定方法*/ + private String manualMonitorMethod; + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + private String otherInformation; + @ApiModelProperty(value = "管控要求污染物名称-用于页签") + /** 管控要求污染物名称-用于页签*/ + private String pollutantName; + + @ApiModelProperty(value = "主要污染防治措施") + /** 主要污染防治措施*/ + private String pollutionPreventionMeasures; + + @ApiModelProperty(value = "申请特殊时段许可排放量限值") + /** 申请特殊时段许可排放量限值*/ + private String commitmentEmissionPromise; + + @ApiModelProperty(value = "许可排放浓度限值(水)") + private String permissibleConcentrationLimWater; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcCountryLicensingStatusVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcCountryLicensingStatusVo.java new file mode 100644 index 0000000..9472594 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcCountryLicensingStatusVo.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "区县许可证发放统计") +@Data +public class PcCountryLicensingStatusVo { + + @ApiModelProperty(value = "区县名称") + private String countryName; + + @ApiModelProperty(value = "登记管理") + private String register; + + @ApiModelProperty(value = "简化管理") + private String simplify; + + @ApiModelProperty(value = "重点管理") + private String focus; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlCoordinateOperationLogVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlCoordinateOperationLogVo.java new file mode 100644 index 0000000..2c5c41a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlCoordinateOperationLogVo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="pc_factory_access_control_coordinate_operation_logVo") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryAccessControlCoordinateOperationLogVo +{ + + /**主键标识*/ + @ApiModelProperty(value = "主键标识") + @Excel(name = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + @Excel(name = "操作时间") + private java.util.Date operationTime; + /**门禁名称*/ + @ApiModelProperty(value = "门禁名称") + @Excel(name = "门禁名称") + private String accessControlName; + /**操作前经度*/ + @ApiModelProperty(value = "操作前经度") + @Excel(name = "操作前经度") + private String beforeModifyLng; + /**操作前纬度*/ + @ApiModelProperty(value = "操作前纬度") + @Excel(name = "操作前纬度") + private String beforeModifyLag; + /**操作状态*/ + @ApiModelProperty(value = "操作状态") + @Excel(name = "操作状态") + private String operationStatus; + /**操作后经度*/ + @ApiModelProperty(value = "操作后经度") + @Excel(name = "操作后经度") + private String afterModifyLng; + /**操作后纬度*/ + @ApiModelProperty(value = "操作后纬度") + @Excel(name = "操作后纬度") + private String afterModifyLag; + /**操作人*/ + @ApiModelProperty(value = "操作人") + @Excel(name = "操作人") + private String operator; + /**操作人ID*/ + @ApiModelProperty(value = "操作人ID") + @Excel(name = "操作人ID") + private String operatorId; + /**门禁编码*/ + @ApiModelProperty(value = "门禁编码") + @Excel(name = "门禁编码") + private String accessControlCode; + /**企业ID*/ + @ApiModelProperty(value = "企业ID") + @Excel(name = "企业ID") + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlVo.java new file mode 100644 index 0000000..e8f0c75 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryAccessControlVo.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * @Description: 企业门禁信息 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="企业门禁信息出参") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryAccessControlVo +{ + @Excel(name = "序号") + @TableField(exist = false) + private Integer serialnumber; + /**企业id*/ + @ApiModelProperty(value = "企业id") + private String factoryId; + /**门禁名称*/ + @ApiModelProperty(value = "门禁名称") + @Excel(name = "门禁名称") + private String accessControlName; + /**门禁编码*/ + @ApiModelProperty(value = "门禁编码") + private String accessControlCode; + /**门禁经度*/ + @ApiModelProperty(value = "经度") + @Excel(name = "经度") + private String accessControlLng; + /**门禁纬度*/ + @ApiModelProperty(value = "纬度") + @Excel(name = "纬度") + private String accessControlLat; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateOperationLogVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateOperationLogVo.java new file mode 100644 index 0000000..28f9043 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateOperationLogVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="企业坐标操作记录表出参") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryCoordinateOperationLogVo +{ + + /**主键标识*/ + @ApiModelProperty(value = "主键标识") + @Excel(name = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + @Excel(name = "操作时间") + private java.util.Date operationTime; + /**accessControlName*/ + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称") + private String factoryName; + /**beforeModifyLng*/ + @ApiModelProperty(value = "操作前经度") + @Excel(name = "操作前经度") + private String beforeModifyLng; + /**beforeModifyLag*/ + @ApiModelProperty(value = "操作前纬度") + @Excel(name = "操作前纬度") + private String beforeModifyLag; + /**operationStatus*/ + @ApiModelProperty(value = "操作状态") + @Excel(name = "操作状态") + private String operationStatus; + /**afterModifyLng*/ + @ApiModelProperty(value = "操作后经度") + @Excel(name = "操作后经度") + private String afterModifyLng; + /**afterModifyLag*/ + @ApiModelProperty(value = "操作后纬度") + @Excel(name = "操作后纬度") + private String afterModifyLag; + /**operator*/ + @ApiModelProperty(value = "操作人") + @Excel(name = "操作人") + private String operator; + /**operatorId*/ + @ApiModelProperty(value = "操作人id") + @Excel(name = "操作人id") + private String operatorId; + /**factoryId*/ + @ApiModelProperty(value = "企业id") + @Excel(name = "企业id") + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateVo.java new file mode 100644 index 0000000..a8e236d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryCoordinateVo.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@ApiModel(value = "企业坐标信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryCoordinateVo +{ + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @Excel(name = "序号") + @TableField(exist = false) + private Integer serialnumber; + + @ApiModelProperty(value = "排污单位名称") + @Excel(name = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "经度") + /** 生产经营场所中心经度 */ + @Excel(name = "经度") + private String productionLon; + + @ApiModelProperty(value = "纬度") + /** 生产经营场所中心纬度 */ + @Excel(name = "纬度") + private String productionLat; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryLicensingStatusVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryLicensingStatusVo.java new file mode 100644 index 0000000..a4e0c53 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryLicensingStatusVo.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@ApiModel(value = "企业许可证发放情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryLicensingStatusVo { + + @ApiModelProperty(value = "企业总数") + private Integer factoryCount; + + @ApiModelProperty(value = "登记管理总数") + private Integer registerCount; + + @ApiModelProperty(value = "简化管理总数") + private Integer simplifyCount; + + @ApiModelProperty(value = "重点管理总数") + private Integer focusCount; + + private List pcCountryLicensingStatusVo; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.java new file mode 100644 index 0000000..0d7f8ce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 污染排放跟踪(实际排放/许可排放)对象 pc_factory_pollutant_emissions_rank + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "污染排放跟踪(实际排放/许可排放)") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryPollutantEmissionsRankVo +{ + + + @ApiModelProperty(value = "主键ID") + /** 主键ID */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "污染物id") + /** 污染物id */ + private String pollutantId; + + @ApiModelProperty(value = "排放量排名") + /** 排放量排名 */ + private String emissionsRank; + + @ApiModelProperty(value = "实际排放量") + /** 实际排放量 */ + private String emissionsActual; + + @ApiModelProperty(value = "许可排放量") + /** 许可排放量 */ + private String emissionsPermit; + + @ApiModelProperty(value = "占比") + /** 占比 */ + private String emissionsRatio; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantVo.java new file mode 100644 index 0000000..4e5ee71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryPollutantVo.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业与污染物关系对象 pc_factory_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "企业与污染物关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryPollutantVo +{ + + + @ApiModelProperty(value = "中间表id") + /** 中间表id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "污染物id") + /** 污染物id*/ + private String pollutantId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryVo.java new file mode 100644 index 0000000..599a304 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcFactoryVo.java @@ -0,0 +1,308 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@ApiModel(value = "企业基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryVo +{ + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "排污单位名称") + @Excel(name = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "市编码") + /** 市编码 */ + private String cityCode; + + @ApiModelProperty(value = "市名称") + /** 市名称 */ + private String cityName; + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + @ApiModelProperty(value = "县名称") + /** 县名称 */ + private String countryName; + + @ApiModelProperty(value = "是否重点排污单位") + /** 是否重点排污单位 */ + private String wipollunit; + + @ApiModelProperty(value = "许可管理类别") + /** 许可管理类别 */ + private String licenseManType; + + @ApiModelProperty(value = "许可是否整改") + /** 许可是否整改 */ + private String licenseWabarbeitung; + + @ApiModelProperty(value = "绩效管控级别") + /** 绩效管控级别 */ + private String preConLevel; + + @ApiModelProperty(value = "排污许可证编码") + @Excel(name = "排污许可证编码") + private String pollDisLicenseCode; + + @ApiModelProperty(value = "排污许可证有效期限") + /** 排污许可证有效期限 */ + private String pollDisLicenseDeadline; + + @ApiModelProperty(value = "排污许可证发证机关") + /** 排污许可证发证机关 */ + private String pollDisLicenseIssuing; + + @ApiModelProperty(value = "统一社会信用代码") + /** 统一社会信用代码 */ + private String uscCode; + + @ApiModelProperty(value = "组织机构代码") + /** 组织机构代码 */ + private String insFramCode; + + @ApiModelProperty(value = "注册地址") + /** 注册地址 */ + private String address; + + @Excel(name = "生产经营场所地址") + @ApiModelProperty(value = "生产经营场所地址") + /** 生产经营场所地址 */ + private String prodBusiOperation; + + @ApiModelProperty(value = "邮政编码") + /** 邮政编码 */ + private String postalCode; + + @ApiModelProperty(value = "行业类别编码") + private String industryCategory; + + @Excel(name = "行业类别") + @ApiModelProperty(value = "行业类别名称") + private String industryCategoryName; + + @ApiModelProperty(value = "其他行业类别") + /** 其他行业类别 */ + private String industryCategoryOther; + + @ApiModelProperty(value = "是否投产") + /** 是否投产 */ + private String whetherProduction; + + @ApiModelProperty(value = "投产日期") + /** 投产日期 */ + private String productionDate; + + @ApiModelProperty(value = "生产经营场所中心经度") + /** 生产经营场所中心经度 */ + private String productionLon; + + @ApiModelProperty(value = "生产经营场所中心纬度") + /** 生产经营场所中心纬度 */ + private String productionLat; + + @Excel(name = "联系人") + @ApiModelProperty(value = "法定代表人(主要负责人)") + /** 法定代表人(主要负责人) */ + private String principalMan; + + @ApiModelProperty(value = "技术负责人") + /** 技术负责人 */ + private String technicalMan; + + @ApiModelProperty(value = "固定电话") + /** 固定电话 */ + private String tel; + + @ApiModelProperty(value = "移动电话") + /** 移动电话 */ + @Excel(name = "联系方式") + private String mobileTelephone; + + @ApiModelProperty(value = "所在地是否属于大气重点控制区") + /** 所在地是否属于大气重点控制区 */ + private String whetherLocalKeyAri; + + @ApiModelProperty(value = "所在地是否属于总磷控制区") + /** 所在地是否属于总磷控制区 */ + private String whetherLocalKeyPho; + + @ApiModelProperty(value = "所在地是否属于总氮控制区") + /** 所在地是否属于总氮控制区 */ + private String whetherLocalKeyNitrogen; + + @ApiModelProperty(value = "所在地是否属于重金属污染物特别排放限值实施区域") + /** 所在地是否属于重金属污染物特别排放限值实施区域 */ + private String whetherLocalKeyPollArea; + + @ApiModelProperty(value = "是否位于工业园区") + /** 是否位于工业园区 */ + private String whetherLocalPark; + + @ApiModelProperty(value = "是否有环评审批文件") + /** 是否有环评审批文件 */ + private String whetherReviewFile; + + @ApiModelProperty(value = "是否有地方政府对违规项目的认定或备案文件") + /** 是否有地方政府对违规项目的认定或备案文件 */ + private String whetherGovProFile; + + @ApiModelProperty(value = "环境影响评价审批文件文号或备案编号") + /** 环境影响评价审批文件文号或备案编号 */ + private String environmentalCode; + + @ApiModelProperty(value = "地方政府对违规项目的认定或备案文件文号") + /** 地方政府对违规项目的认定或备案文件文号 */ + private String govProIdentFile; + + @ApiModelProperty(value = "主要污染物总量分配计划文件文号") + /** 主要污染物总量分配计划文件文号 */ + private String majorPollutantsCode; + + @ApiModelProperty(value = "主要污染物类别") + private String majorPollutantCategories; + + @ApiModelProperty(value = "主要污染物类别名称") + private String majorPollutantCategoriesName; + @ApiModelProperty(value = "大气主要污染物种类") + /** 大气主要污染物种类 */ + private String airMainPollutants; + @ApiModelProperty(value = "大气污染物排放规律") + /** 大气污染物排放规律 */ + private String airEmissionPollutants; + @ApiModelProperty(value = "大气污染物排放执行标准") + /** 大气污染物排放执行标准 */ + private String airDischargePollutants; + @ApiModelProperty(value = "废水主要污染物种类") + /** 废水主要污染物种类 */ + private String waterMainPollutants; + @ApiModelProperty(value = "废水污染物排放规律") + /** 废水污染物排放规律 */ + private String waterEmissionPollutants; + @ApiModelProperty(value = "废水污染物排放执行标准") + /** 废水污染物排放执行标准 */ + private String waterDischargePollutants; + @ApiModelProperty(value = "排污权使用和交易信息") + /** 排污权使用和交易信息 */ + private String useTradingEmission; + @ApiModelProperty(value = "委托贮存/利用/处置环节污染防控技术要求") + /** 委托贮存/利用/处置环节污染防控技术要求 */ + private String sudLinksPollutionPrevention; + @ApiModelProperty(value = "工业园区名称") + /** 工业园区名称 */ + private String industrialParkName; + @ApiModelProperty(value = "工业园区编码") + /** 工业园区编码 */ + private String industrialParkCode; + @ApiModelProperty(value = "是否有主要污染物总量分配计划文件") + /** 是否有主要污染物总量分配计划文件 */ + private String pollutantTotalFileWhere; + @ApiModelProperty(value = "生态环境信用类别") + private String ecoEnvCreditLevel; + @ApiModelProperty(value = "重点标签") + private List labels; + @ApiModelProperty(value = "非重点标签") + private List nonMajorLabels; + @Excel(name = "标签") + private String labelStr; + @Excel(name = "所在区县") + private String regionStr; + @ApiModelProperty("许可证二维码地址") + private String qrCodeUrl; + @ApiModelProperty("实际排放量") + private BigDecimal emissionsActual; + @ApiModelProperty(name = "排污许可行业名称") + private String industryPermissionName; + + public String getMajorPollutantCategoriesName() { + if (StringUtils.isNotEmpty(majorPollutantCategories)) { + Map majorMap = new HashMap<>(); + majorMap.put("1", "大气环境"); + majorMap.put("2", "水环境"); + majorMap.put("3", "土壤环境"); + majorMap.put("4", "噪声环境"); + + String[] split = majorPollutantCategories.split(","); + List names = new ArrayList<>(); + + for (String s : split) { + String name = majorMap.get(s); + if (name != null) { + names.add(name); + } + } + return String.join(",", names); + } + return null; + } + + @ApiModel(value = "高级搜索地图点位vo") + @Data + public static class MapPointVo { + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "生产经营场所中心经度") + private String productionLon; + + @ApiModelProperty(value = "生产经营场所中心纬度") + private String productionLat; + + @ApiModelProperty("实际排放量") + private BigDecimal emissionsActual; + + @ApiModelProperty(value = "许可管理类别") + private String licenseManType; + + @ApiModelProperty(value = "许可是否整改") + private String licenseWabarbeitung; + + @ApiModelProperty(value = "县编码") + /** 县编码 */ + private String countryCode; + + @ApiModelProperty(value = "行业类别名称") + private String industryCategoryName; + } + + @ApiModel(value = "分表计电大屏-报警企业排名vo") + @Data + public static class WarningRank { + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "报警数量") + private Long waringCount; + + public WarningRank() { + } + + public WarningRank(String factoryName, Long waringCount) { + this.factoryName = factoryName; + this.waringCount = waringCount; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcIndustryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcIndustryVo.java new file mode 100644 index 0000000..57a7472 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcIndustryVo.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 行业对象 pc_industry + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "行业") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcIndustryVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + + @ApiModelProperty(value = "行业编码") + /** 行业编码*/ + private String indusCode; + + @ApiModelProperty(value = "行业名称") + /** 行业名称 */ + private String indusName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelFactoryVo.java new file mode 100644 index 0000000..3faa316 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelFactoryVo.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 特征标签-与企业关系中间对象 pc_label_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-与企业关系中间") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelFactoryVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "特征标签id") + /** 特征标签id */ + private String labelId; + + @ApiModelProperty(value = "特征标签名称") + private String labelName; + + @ApiModelProperty(value = "是否是企业重点展示标签") + /** 特征标签id */ + private String lableUseing; + + @ApiModelProperty(value = "标签值") + private String labelValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelValueVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelValueVo.java new file mode 100644 index 0000000..36cc663 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelValueVo.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 特征标签-参数值对象 pc_label_value + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-参数值") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelValueVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "特征标签id") + /** 特征标签id */ + private String labelId; + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + private String argumentsCode; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String argumentsName; + + @ApiModelProperty(value = "排序") + /** 排序*/ + private int orderNum; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelVo.java new file mode 100644 index 0000000..49bba43 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcLabelVo.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * 特征标签对象 pc_label + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "特征标签") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelVo +{ + + @ApiModelProperty(value = "标签类型id") + /** 标签类型id*/ + private String id; + + @ApiModelProperty(value = "标签类型") + /** 标签类型*/ + private String labelType; + + @ApiModelProperty(value = "标签类别") + /** 标签类别*/ + private String labelCategory; + + @ApiModelProperty(value = "标签编码") + /** 标签编码*/ + private String labelCode; + + @ApiModelProperty(value = "标签值") + /** 标签值*/ + private String labelVal; + + @ApiModelProperty(value = "标签级别") + /** 标签级别*/ + private String labelLevel; + + @ApiModelProperty(value = "标签父类id") + /** 标签父类id*/ + private String labelParamid; + + @ApiModelProperty(value = "更新时间") + /** 更新时间*/ + private String updateTimes; + + @ApiModelProperty(value = "排序") + /** 排序*/ + private int orderNum; + + @ApiModelProperty(value = "参数是否多选(0:单选,1:多选)") + /** 参数是否多选(0:单选,1:多选)*/ + private String labelMultipleChoice; + + @ApiModelProperty(value = "参数列表") + /** 参数列表*/ + @TableField(exist = false) + private List pcLabelValueVos; + + @ApiModelProperty(value = "企业id", notes = "可能为空") + @TableField(exist = false) + /** 企业id */ + private String factoryId; + + /** + * 选择的参数Id + */ + private String[] selectedIds; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcManagementFacilitiesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcManagementFacilitiesVo.java new file mode 100644 index 0000000..974b3d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcManagementFacilitiesVo.java @@ -0,0 +1,26 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 治理设施对象 pc_management_facilities + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "治理设施") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcManagementFacilitiesVo +{ + + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String id; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuFactoryVo.java new file mode 100644 index 0000000..902fd45 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuFactoryVo.java @@ -0,0 +1,46 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业档案菜单与企业关联中间对象 pc_menu_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单与企业关联中间") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcMenuFactoryVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "菜单表id") + /** 菜单表id */ + private String menuId; + + @ApiModelProperty(value = "是否启用(移除功能)") + /** 是否启用(移除功能) */ + private String menuIfUse; + + @ApiModelProperty(value = "是否重点关注") + /** 是否重点关注 */ + private String menuFocus; + + @ApiModelProperty(value = "是否重点排序") + /** 是否重点排序 */ + private String menuFocusIndex; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuVo.java new file mode 100644 index 0000000..9693d72 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcMenuVo.java @@ -0,0 +1,38 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业档案菜单管理对象 pc_menu + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单管理") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcMenuVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "菜单名称") + /** 菜单名称 */ + private String menuCode; + + @ApiModelProperty(value = "菜单编码") + /** 菜单编码 */ + private String menuName; + + @ApiModelProperty(value = "是否启用") + /** 是否启用 */ + private String menuIfUse; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcNoiseTypeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcNoiseTypeVo.java new file mode 100644 index 0000000..278dea1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcNoiseTypeVo.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 噪声排放类型对象 pc_noise_type + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "噪声排放类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcNoiseTypeVo +{ + + + @ApiModelProperty(value = "噪声类别id") + /** 噪声类别id*/ + private String id; + + @ApiModelProperty(value = "噪声类型名称") + /** 噪声类型名称*/ + private String noiseTypeName; + + @ApiModelProperty(value = "噪声编码") + /** 噪声编码*/ + private String noiseTypeCode; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateOperationLogVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateOperationLogVo.java new file mode 100644 index 0000000..425a861 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateOperationLogVo.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.utils.StringUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +@ApiModel(value="在线监测,无组织点位,排口经纬度坐标操作记录出参") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletCoordinateOperationLogVo +{ + + /**主键标识*/ + @ApiModelProperty(value = "主键标识") + @Excel(name = "主键标识") + private String logId; + /**操作时间*/ + @ApiModelProperty(value = "操作时间") + @Excel(name = "操作时间") + private java.util.Date operationTime; + /**污染物类型(1废气、2废水、3无组织、4在线监测)*/ + @ApiModelProperty(value = "污染物类型(1废气、2废水、3无组织、4在线监测)") + @Excel(name = "污染物类型(1废气、2废水、3无组织、4在线监测)") + private String pollutantType; + /**在线监测点位名称/无组织点位名称*/ + @ApiModelProperty(value = "在线监测点位名称/无组织点位名称") + @Excel(name = "在线监测点位名称/无组织点位名称") + private String monitoringPointName; + /**排口名称称*/ + @ApiModelProperty(value = "排口名称称") + @Excel(name = "排口名称称") + private String outletName; + /**操作前经度*/ + @ApiModelProperty(value = "操作前经度") + @Excel(name = "操作前经度") + private String beforeModifyLng; + /**操作前纬度*/ + @ApiModelProperty(value = "操作前纬度") + @Excel(name = "操作前纬度") + private String beforeModifyLag; + /**操作状态*/ + @ApiModelProperty(value = "操作状态") + @Excel(name = "操作状态") + private String operationStatus; + /**操作后经度*/ + @ApiModelProperty(value = "操作后经度") + @Excel(name = "操作后经度") + private String afterModifyLng; + /**操作后纬度*/ + @ApiModelProperty(value = "操作后纬度") + @Excel(name = "操作后纬度") + private String afterModifyLag; + /**操作人*/ + @ApiModelProperty(value = "操作人") + @Excel(name = "操作人") + private String operator; + /**操作人ID*/ + @ApiModelProperty(value = "操作人ID") + @Excel(name = "操作人ID") + private String operatorId; + /**企业ID*/ + @ApiModelProperty(value = "企业ID") + @Excel(name = "企业ID") + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateVo.java new file mode 100644 index 0000000..8d3f330 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletCoordinateVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 导出在线监测,无组织,排口坐标出参 + * + * @author szhpt + * @date 2023-07-19*/ +@ApiModel(value = "导出在线监测,无组织,排口坐标出参") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletCoordinateVo { + + @Excel(name = "序号") + @TableField(exist = false) + private Integer serialnumber; + /**企业id*/ + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "在线监测点位名称") + @Excel(name = "在线监测点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "无组织点位名称") + @Excel(name = "无组织点位名称") + private String inorganizationPointName; + @ApiModelProperty(value = "排口名称") + @Excel(name = "排口名称") + private String outletName; + @ApiModelProperty(value = "经度") + @Excel(name = "经度") + private BigDecimal outletLon; + @ApiModelProperty(value = "纬度") + @Excel(name = "纬度") + private BigDecimal outletLat; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletGasVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletGasVO.java new file mode 100644 index 0000000..dd713dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletGasVO.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "废气有组织在线监测点位匹配") +public class PcOutletGasVO { + + @ApiModelProperty(value = "主键标识ID") + private String monitoringPointId; + + @ApiModelProperty(value = "排口类型") + @Excel(name = "排口类型", width = 20, sort = 4) + private String outletTypes; + + @ApiModelProperty(value = "在线监测点位名称") + @Excel(name = "在线监测点位名称", width = 30, sort = 1) + private String monitoringPointName; + + @ApiModelProperty(value = "对应许可证排口名称") + @Excel(name = "对应许可证排口名称", width = 30, sort = 2) + private String outletName; + + @ApiModelProperty(value = "对应许可证排口编号") + @Excel(name = "对应许可证排口编号", width = 30, sort = 3) + private String outletCode; + + @ApiModelProperty(value = "父级排口Id") + private String parentOutletId; + + + public String getMonitoringPointId() { + return (monitoringPointId != null) ? monitoringPointId : ""; + } + + public void setMonitoringPointId(String monitoringPointId) { + this.monitoringPointId = monitoringPointId; + } + + public String getOutletTypes() { + return (outletTypes != null) ? outletTypes : ""; + } + + public void setOutletTypes(String outletTypes) { + this.outletTypes = outletTypes; + } + + public String getMonitoringPointName() { + return (monitoringPointName != null) ? monitoringPointName : ""; + } + + public void setMonitoringPointName(String monitoringPointName) { + this.monitoringPointName = monitoringPointName; + } + + public String getOutletName() { + return (outletName != null) ? outletName : ""; + } + + public void setOutletName(String outletName) { + this.outletName = outletName; + } + + public String getOutletCode() { + return (outletCode != null) ? outletCode : ""; + } + + public void setOutletCode(String outletCode) { + this.outletCode = outletCode; + } + + public String getParentOutletId() { + return (parentOutletId != null) ? parentOutletId : ""; + } + + public void setParentOutletId(String parentOutletId) { + this.parentOutletId = parentOutletId; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletVo.java new file mode 100644 index 0000000..d06d131 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcOutletVo.java @@ -0,0 +1,198 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.service.IProductionManageService; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + + +/** + * 废气有组织、无组织排口对象 pc_outlet + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "废气有组织、无组织排口") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "污染物类型(废气、废水)") + /** 污染物类型(废气、废水)*/ + private String pollutantType; + + @ApiModelProperty(value = "排口分类(有组织、无组织)") + /** 排口分类(有组织、无组织)*/ + private String pollutantOutletType; + + @ApiModelProperty(value = "排放形式") + /** 排放形式*/ + private String emissionsForm; + + @ApiModelProperty(value = "排放口设置是否符合要求") + /** 排放口设置是否符合要求*/ + private String whetherOutletRequirements; + + @ApiModelProperty(value = "产污环节") + /** 产污环节*/ + private String productionProcess; + + @ApiModelProperty(value = "排口类型(主要排口、一般排扣)") + /** 排口类型(主要排口、一般排扣)*/ + private String outletTypes; + + @ApiModelProperty(value = "对应监测点位名称") + /** 对应监测点位名称*/ + private String monitoringPointName; + + @ApiModelProperty(value = "对应治理设施编号") + /** 对应治理设施编号*/ + private String manageFacilitiesCode; + + @ApiModelProperty(value = "对应治理设施名称") + /** 对应治理设施名称*/ + private String manageFacilitiesName; + + @ApiModelProperty(value = "对应生产设施编号") + /** 对应生产设施编号*/ + private String productionFacilitiesCode; + + @ApiModelProperty(value = "对应生产设施名称") + /** 对应生产设施名称 */ + private String productionFacilitiesName; + + @ApiModelProperty(value = "排口经度") + /** 排口经度*/ + private String outletLon; + + @ApiModelProperty(value = "排口纬度") + /** 排口纬度*/ + private String outletLat; + + @ApiModelProperty(value = "排气筒高度(m)") + /** 排气筒高度(m)*/ + private String exhaustFunnelHight; + + @ApiModelProperty(value = "排气筒出口内径(m)") + /** 排气筒出口内径(m)*/ + private String exhaustFunnelInner; + + @ApiModelProperty(value = "排气温度") + /** 排气温度*/ + private String exhaustGasTemperature; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号*/ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称*/ + private String outletName; + + @ApiModelProperty(value = "排口监测类型") + /** 排口监测类型*/ + private String outletMonitorName; + + @ApiModelProperty(value = "治理设施工艺") + /** 治理设施工艺*/ + private String treatmentFacilityProcess; + + @ApiModelProperty(value = "视频监控") + /** 视频监控*/ + private String videoSurveillance; + + @ApiModelProperty(value = "许可证无组织监测点位名称") + /** 许可证无组织监测点位名称*/ + private String stationName; + + @ApiModelProperty(value = "无组织监测点位") + /** 无组织监测点位*/ + private String stationId; + + @ApiModelProperty(value = "主要污染防治措施") + /** 主要污染防治措施*/ + private String pollutionPreventionMeasures; + + @ApiModelProperty(value = "废水来源") + /** 废水来源*/ + private String sourcesWastewater; + + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + private String moreDetails; + + + @ApiModelProperty(value = "排水去向") + /** 排水去向*/ + private String directionDrainage; + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + private String dischargeLaw; + @ApiModelProperty(value = "间歇式排放时段") + /** 间歇式排放时段*/ + private String intermittentEmissionPeriod; + @ApiModelProperty(value = "受纳污水处理厂名称") + /** 受纳污水处理厂名称*/ + private String treatmentPlantAcceptedName; + + @ApiModelProperty(value = "入河排污口批复文号") + /** 入河排污口批复文号*/ + private String approvalDocument; + + @ApiModelProperty(value = "受纳自然水体信息-名称") + /** 受纳自然水体信息-名称*/ + private String receivingWaterName; + + @ApiModelProperty(value = "受纳自然水体信息-功能目标") + /** 受纳自然水体信息-功能目标*/ + private String receivingWaterObjective; + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度") + /** 汇入受纳自然水体处地理坐标-经度*/ + private String receivingWaterLon; + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度") + /** 汇入受纳自然水体处地理坐标-纬度*/ + private String receivingWaterLat; + + @ApiModelProperty(value = "入河口名称") + /** 入河口名称*/ + private String riversOutletName; + + @ApiModelProperty(value = "入河口编号") + /** 入河口编号*/ + private String riversOutletCode; + + @ApiModelProperty(value = "标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + /** 标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限*/ + private String mark; + + @Data + public static class SimpleVo { + @ApiModelProperty(value = "主键id") + private String id; + + private String pollutantType; + private String pollutantOutletType; + + @ApiModelProperty(value = "对应监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcPollutantVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcPollutantVo.java new file mode 100644 index 0000000..2d59391 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcPollutantVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 污染物对象 pc_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "污染物") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcPollutantVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "污染物类别") + /** 污染物类别*/ + private String pollCategory; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称*/ + private String pollName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码*/ + private String pollCode; + + @ApiModelProperty(value = "污染物单位") + /** 污染物单位*/ + private String pollUnit; + + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + private String emissionsLaws; + + @ApiModelProperty(value = "执行标准") + /** 执行标准*/ + private String executiveStandard; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProductionFacilityVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProductionFacilityVo.java new file mode 100644 index 0000000..e87ff01 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProductionFacilityVo.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 生产设施对象 pc_production_facility + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "生产设施") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcProductionFacilityVo +{ + + + @ApiModelProperty(value = "中间表id") + /** 中间表id */ + private String id; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProfessionLicensingStatusVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProfessionLicensingStatusVo.java new file mode 100644 index 0000000..eb10da5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcProfessionLicensingStatusVo.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + +@ApiModel(value = "企业行业许可证发放情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcProfessionLicensingStatusVo { + + @ApiModelProperty(value = "x轴行业数据") + private List dataX; + + @ApiModelProperty(value = "行业许可证数据") + private List> series; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcSolidHazardousTypeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcSolidHazardousTypeVo.java new file mode 100644 index 0000000..c859d2a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcSolidHazardousTypeVo.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固危废贮存信息--危险废物名录类型对象 pc_solid_hazardous_type + * + * @author szhpt + * @date 2023-03-21*/ +@ApiModel(value = "固危废贮存信息--危险废物名录类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcSolidHazardousTypeVo +{ + + + @ApiModelProperty(value = "ID") + /** ID */ + private String id; + + @ApiModelProperty(value = "废物类别") + /** 废物类别 */ + private String type; + + @ApiModelProperty(value = "类别名称") + /** 类别名称 */ + private String name; + + @ApiModelProperty(value = "行业来源") + /** 行业来源 */ + private String source; + + @ApiModelProperty(value = "废物代码") + /** 废物代码 */ + private String code; + + @ApiModelProperty(value = "物描述") + /** 物描述 */ + private String describe; + + @ApiModelProperty(value = "危险特性") + /** 危险特性 */ + private String characteristics; + + @ApiModelProperty(value = "状态 N 停用 Y启用") + /** 状态 N 停用 Y启用 */ + private String state; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String entityCreatedate; + + @ApiModelProperty(value = "修改时间") + /** 修改时间 */ + private String entityModifydate; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String entityCreateuser; + + @ApiModelProperty(value = "修改人") + /** 修改人 */ + private String entityModifyuser; + + @ApiModelProperty(value = "版本号") + /** 版本号 */ + private String version; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String valid; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingEntranceGuVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingEntranceGuVo.java new file mode 100644 index 0000000..f7e7530 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingEntranceGuVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 站房门禁监管信息对象 pc_station_building_entrance_gu + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房门禁监管信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingEntranceGuVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "站房id") + /** 站房id*/ + private String stationBuildingId; + + @ApiModelProperty(value = "刷卡时间") + /** 刷卡时间*/ + private String visitTime; + + @ApiModelProperty(value = "门禁卡号") + /** 门禁卡号*/ + private String entranceGuardCode; + + @ApiModelProperty(value = "持卡人名称") + /** 持卡人名称*/ + private String entranceGuardSignature; + + @ApiModelProperty(value = "门禁卡类型") + /** 门禁卡类型*/ + private String entranceGuardType; + + @ApiModelProperty(value = "图片") + /** 图片*/ + private String entranceGuardImage; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingOpsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingOpsVo.java new file mode 100644 index 0000000..0bec65b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingOpsVo.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 站房运维签到信息对象 pc_station_building_ops + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房运维签到信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingOpsVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "站房id") + /** 站房id*/ + private String stationBuildingId; + + @ApiModelProperty(value = "签到人员") + /** 签到人员*/ + private String signInPersonnel; + + @ApiModelProperty(value = "签到时间") + /** 签到时间*/ + private String signInTime; + + @ApiModelProperty(value = "签到图片") + /** 签到图片*/ + private String signInImage; + + @ApiModelProperty(value = "运维活动") + /** 运维活动*/ + private String signOutPersonnel; + + @ApiModelProperty(value = "签退时间") + /** 签退时间*/ + private String signOutTime; + + @ApiModelProperty(value = "签退图片") + /** 签退图片*/ + private String signOutImage; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingStatVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingStatVo.java new file mode 100644 index 0000000..4937be6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingStatVo.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.Date; + + + +/** + * 站房信息--站房门禁进出统计分析对象 pc_station_building_stat + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "站房信息--站房门禁进出统计分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingStatVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + @ApiModelProperty(value = "企业表主键id") + /** 企业表主键id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + @Excel(name = "行业类别") + private String industryPermissionName; + + @ApiModelProperty(value = "区县编码") + /** 区县编码 */ + private String countryCode; + + @ApiModelProperty(value = "区县名称") + /** 区县名称 */ + @Excel(name = "区县名称") + private String countryName; + + @ApiModelProperty(value = "站房表主键id") + /** 站房表主键id */ + private Long stationBuildingId; + + @ApiModelProperty(value = "站房名称") + /** 站房名称 */ + @Excel(name = "站房名称") + private String stationBuildingName; + + @ApiModelProperty(value = "站房编号") + /** 站房编号 */ + @Excel(name = "站房编号") + private String stationBuildingCode; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + @Excel(name = "统计时间") + private String statisticalTime; + + @ApiModelProperty(value = "刷卡次数") + /** 刷卡次数 */ + @Excel(name = "刷卡次数") + private Long swipesOfNumber; + + @ApiModelProperty(value = "添加时间") + /** 添加时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingVo.java new file mode 100644 index 0000000..d16311d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PcStationBuildingVo.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 站房基本信息对象 pc_station_building + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "站房序号") + /** 站房序号*/ + private String stationBuildingCode; + + @ApiModelProperty(value = "站房名称") + /** 站房名称*/ + private String stationBuildingName; + + @ApiModelProperty(value = "CEMS设备品牌") + /** CEMS设备品牌*/ + private String equipmentBrandCems; + + @ApiModelProperty(value = "对应监测点位id") + /** 对应监测点位id*/ + private String stationId; + + @ApiModelProperty(value = "对应监测点位名称") + /** 对应监测点位名称*/ + private String stationName; + + @ApiModelProperty(value = "对应排口id") + /** 对应排口id*/ + private String outletId; + + @ApiModelProperty(value = "对应排口名称") + /** 对应排口名称*/ + private String outletName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PermitRequirementVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PermitRequirementVo.java new file mode 100644 index 0000000..fcd1d57 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PermitRequirementVo.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: weizhuang + * @Date:2023/2/22 14:03 + * @Version 1.0 + */ +@Data +@ApiModel("许可量要求") +public class PermitRequirementVo { + + @ApiModelProperty(value = "类型") + private String vent; + + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PointIsOfflineVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PointIsOfflineVO.java new file mode 100644 index 0000000..3d1d343 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/PointIsOfflineVO.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * @className: PointIsOfflineVo + * @description: 点位是否离线VO表 + * @author: Mr.Yanghongtao + * @date: 2023/04/15 5:17 PM + * @Company: Copyright© [2023/04/15 5:17 PM] by [Mr.Yanghongtao] + **/ +@Data +public class PointIsOfflineVO { + + private String outletId; + private String factoryId; + private String factoryName; + private String outletName; + private Date monitoringTime; + private String pollutantOutletType; + + private String wzzStatus; + + private String outletStatus; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonDayVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonDayVo.java new file mode 100644 index 0000000..8af34d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonDayVo.java @@ -0,0 +1,232 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonDayVo +{ + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + @ApiModelProperty(value = "排口名称") + /** 排口名称*/ + @Excel(name = "排口名称",sort = 2) + private String outletName; + + @ApiModelProperty(value = "排口编号") + /** 排口名称*/ + @Excel(name = "排口编号",sort = 3) + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称",sort = 1) + private String monitoringPointName; + + @ApiModelProperty(value = "标记说明") +// @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + private String dataType; + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "时间",sort = 4) + private String monitoringTime; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "SO2实测(mg/m³)",sort = 5) + private String so2; + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "SO2折算(mg/m³)",sort = 6) + private String so2Convert; + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "SO2排放量(kg)",sort = 7) + private String so2Emission; + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "NOx实测(mg/m³)",sort =8) + private String nox; + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "NOx折算(mg/m³)",sort = 9) + private String noxConvert; + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "NOx排放量(kg)",sort = 10) + private String noxEmission; + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + private String no; + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + private String noConvert; + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + private String noEmission; + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + private String no2; + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + private String no2Convert; + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + private String no2Emission; + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + private String smokeDust; + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + private String smokeDustConvert; + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ +// @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测(mg/m³)",sort = 11) + private String pm; + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算(mg/m³)",sort = 12) + private String pmConvert; + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量(kg)",sort = 13) + private String pmEmission; + + @ApiModelProperty(value = "VOCs实测") + /** vocs实测 */ + @Excel(name = "VOCs实测(mg/m³)",sort = 14) + private String vocs; + + @ApiModelProperty(value = "VOCs折算") + /** vocs折算 */ + @Excel(name = "VOCs折算(mg/m³)",sort = 15) + private String vocsConvert; + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "VOCs排放量(kg)",sort = 16) + private String vocsEmission; + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量(%)",sort = 17) + private String o3; + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气流量(m³/s)",sort = 18) + private String oxygen; + + @ApiModelProperty(value = "废气排放量") + @Excel(name = "废气排放量(m³)",sort = 19) + private String oxygenEmission; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度(℃)",sort = 20) + private String smokeDustTem; + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力(kPa)",sort = 21) + private String smokeDustPressure; + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速(m/s)",sort = 22) + private String smokeDustFlowVelocity; + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度(%)",sort = 23) + private String smokeDustHumidity; + + @Data + public static class EmissionSumVo { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "二氧化硫排放量总和") + private BigDecimal so2EmissionSum; + + @ApiModelProperty(value = "氮氧化物排放量总和") + private BigDecimal noxEmissionSum; + + @ApiModelProperty(value = "一氧化氮排放量总和") + private BigDecimal noEmissionSum; + + @ApiModelProperty(value = "二氧化氮排放量总和") + private BigDecimal no2EmissionSum; + + @ApiModelProperty(value = "烟尘排放量总和") + private BigDecimal smokeDustEmissionSum; + + @ApiModelProperty(value = "颗粒物排放量总和") + private BigDecimal pmEmissionSum; + + @ApiModelProperty(value = "vocs排放量总和") + private BigDecimal vocsEmissionSum; + + @ApiModelProperty(value = "废气排放量总和") + private BigDecimal oxygenEmissionSum; + + @ApiModelProperty(value = "小时数据数量") + private Long hourDataCount; + } + + @Data + public static class OxygenEmissionAvg { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "废气排放量平均值") + private BigDecimal oxygenEmissionAvg; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonHourVo.java new file mode 100644 index 0000000..205f29d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonHourVo.java @@ -0,0 +1,232 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonHourVo +{ + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + @ApiModelProperty(value = "排口名称") + /** 排口名称*/ + @Excel(name = "排口名称",sort = 2) + private String outletName; + + @ApiModelProperty(value = "排口编号") + /** 排口名称*/ + @Excel(name = "排口编号",sort = 3) + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称",sort = 1) + private String monitoringPointName; + + @ApiModelProperty(value = "标记说明") +// @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + private String dataType; + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "时间",sort = 4) + private String monitoringTime; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "SO2实测(mg/m³)",sort = 5) + private String so2; + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "SO2折算(mg/m³)",sort = 6) + private String so2Convert; + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "SO2排放量(kg)",sort = 7) + private String so2Emission; + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "NOx实测(mg/m³)",sort =8) + private String nox; + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "NOx折算(mg/m³)",sort = 9) + private String noxConvert; + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "NOx排放量(kg)",sort = 10) + private String noxEmission; + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + private String no; + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + private String noConvert; + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + private String noEmission; + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + private String no2; + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + private String no2Convert; + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + private String no2Emission; + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + private String smokeDust; + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + private String smokeDustConvert; + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ +// @Excel(name = "烟尘排放量") + private String smokeDustEmission; + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测(mg/m³)",sort = 11) + private String pm; + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算(mg/m³)",sort = 12) + private String pmConvert; + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量(kg)",sort = 13) + private String pmEmission; + + @ApiModelProperty(value = "VOCs实测") + /** vocs实测 */ + @Excel(name = "VOCs实测(mg/m³)",sort = 14) + private String vocs; + + @ApiModelProperty(value = "VOCs折算") + /** vocs折算 */ + @Excel(name = "VOCs折算(mg/m³)",sort = 15) + private String vocsConvert; + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "VOCs排放量(kg)",sort = 16) + private String vocsEmission; + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量(%)",sort = 17) + private String o3; + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气流量(m³/s)",sort = 18) + private String oxygen; + + @ApiModelProperty(value = "废气排放量") + @Excel(name = "废气排放量(m³)",sort = 19) + private String oxygenEmission; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度(℃)",sort = 20) + private String smokeDustTem; + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力(kPa)",sort = 21) + private String smokeDustPressure; + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速(m/s)",sort = 22) + private String smokeDustFlowVelocity; + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度(%)",sort = 23) + private String smokeDustHumidity; + + @Data + public static class EmissionSumVo { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "二氧化硫排放量总和") + private BigDecimal so2EmissionSum; + + @ApiModelProperty(value = "氮氧化物排放量总和") + private BigDecimal noxEmissionSum; + + @ApiModelProperty(value = "一氧化氮排放量总和") + private BigDecimal noEmissionSum; + + @ApiModelProperty(value = "二氧化氮排放量总和") + private BigDecimal no2EmissionSum; + + @ApiModelProperty(value = "烟尘排放量总和") + private BigDecimal smokeDustEmissionSum; + + @ApiModelProperty(value = "颗粒物排放量总和") + private BigDecimal pmEmissionSum; + + @ApiModelProperty(value = "vocs排放量总和") + private BigDecimal vocsEmissionSum; + + @ApiModelProperty(value = "废气排放量总和") + private BigDecimal oxygenEmissionSum; + + @ApiModelProperty(value = "小时数据数量") + private Long hourDataCount; + } + + @Data + public static class OxygenEmissionAvg { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "废气排放量平均值") + private BigDecimal oxygenEmissionAvg; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonRealVo.java new file mode 100644 index 0000000..da54c91 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasMonRealVo.java @@ -0,0 +1,226 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonRealVo +{ + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "排口名称") + @Excel(name = "排口名称",sort = 2) + private String outletName; + + @ApiModelProperty(value = "排口编号") + @Excel(name = "排口编号",sort = 3) + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称",sort = 1) + private String monitoringPointName; + + @ApiModelProperty(value = "标记说明") +// @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + + @ApiModelProperty(value = "日期") + @Excel(name = "时间",sort = 4) + private String monitoringTime; + + @ApiModelProperty(value = "二氧化硫") + @Excel(name = "SO₂实测(mg/m³)",sort = 5) + private String so2; + + @ApiModelProperty(value = "二氧化硫折算") + @Excel(name = "SO₂折算(mg/m³)",sort = 6) + private String so2Convert; + + @ApiModelProperty(value = "二氧化硫排放量") + @Excel(name = "SO₂排放量(kg)",sort = 7) + private String so2Emission; + + @ApiModelProperty(value = "氮氧化物") + @Excel(name = "NOx实测(mg/m³)",sort =8) + private String nox; + + @ApiModelProperty(value = "氮氧化物折算") + @Excel(name = "NOx折算(mg/m³)",sort = 9) + private String noxConvert; + + @ApiModelProperty(value = "氮氧化物排放量") + @Excel(name = "NOx排放量(kg)",sort = 10) + private String noxEmission; + + @ApiModelProperty(value = "一氧化氮") + @Excel(name = "NO实测(mg/m³)", sort = 250) + private String no; + + @ApiModelProperty(value = "一氧化氮折算") + @Excel(name = "NO折算(mg/m³)", sort = 251) + private String noConvert; + + @ApiModelProperty(value = "一氧化氮排放量") + @Excel(name = "NO排放量(kg)", sort = 252) + private String noEmission; + + @ApiModelProperty(value = "二氧化氮") + @Excel(name = "NO₂实测(mg/m³)", sort = 253) + private String no2; + + @ApiModelProperty(value = "二氧化氮折算") + @Excel(name = "NO₂折算(mg/m³)", sort = 254) + private String no2Convert; + + @ApiModelProperty(value = "二氧化氮排放量") + @Excel(name = "NO₂排放量(kg)", sort = 255) + private String no2Emission; + + @ApiModelProperty(value = "烟尘") + @Excel(name = "烟尘实测(mg/m³)", sort = 30) + private String smokeDust; + + @ApiModelProperty(value = "烟尘折算") + @Excel(name = "烟尘折算(mg/m³)", sort = 31) + private String smokeDustConvert; + + @ApiModelProperty(value = "烟尘排放量") + @Excel(name = "烟尘排放量(kg)", sort = 32) + private String smokeDustEmission; + + @ApiModelProperty(value = "颗粒物实测") + private String pm; + + @ApiModelProperty(value = "颗粒物折算") + private String pmConvert; + + @ApiModelProperty(value = "颗粒物排放量") + private String pmEmission; + + @ApiModelProperty(value = "VOCs实测") + @Excel(name = "VOCs实测(mg/m³)",sort = 14) + private String vocs; + + @ApiModelProperty(value = "VOCs折算") + @Excel(name = "VOCs折算(mg/m³)",sort = 15) + private String vocsConvert; + + @ApiModelProperty(value = "vocs排放量") + @Excel(name = "VOCs排放量(kg)",sort = 16) + private String vocsEmission; + + @ApiModelProperty(value = "氧气含量") + @Excel(name = "氧气含量(%)",sort = 17) + private String o3; + + @ApiModelProperty(value = "废气") + @Excel(name = "废气流量(m³/s)",sort = 18) + private String oxygen; + + @ApiModelProperty(value = "废气排放量") + @Excel(name = "废气排放量(m³)",sort = 19) + private String oxygenEmission; + + @ApiModelProperty(value = "烟气温度") + @Excel(name = "烟气温度(℃)",sort = 200) + private String smokeDustTem; + + @ApiModelProperty(value = "烟气压力") + @Excel(name = "烟气压力(kPa)",sort = 201) + private String smokeDustPressure; + + @ApiModelProperty(value = "烟气流速") + @Excel(name = "烟气流速(m/s)",sort = 202) + private String smokeDustFlowVelocity; + + @ApiModelProperty(value = "烟气湿度") + @Excel(name = "烟气湿度(%)",sort = 203) + private String smokeDustHumidity; + + private String so2Flag; + private String noxFlag; + private String noFlag; + private String no2Flag; + private String smokeDustFlag; + private String pmFlag; + private String vocsFlag; + private String o3Flag; + private String oxygenFlag; + private String smokeDustTemFlag; + private String smokeDustPressureFlag; + private String smokeDustFlowVelocityFlag; + private String smokeDustHumidityFlag; + + private String dataFlag; + + public String getDataFlag() { + SEnvGasMonReal.DataFlagEnum byEnumName = SEnvGasMonReal.DataFlagEnum.getByEnumName(dataFlag); + return byEnumName != null ? byEnumName.label : null; + } + + @Data + public static class EmissionSumVo { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "二氧化硫排放量总和") + private BigDecimal so2EmissionSum; + + @ApiModelProperty(value = "氮氧化物排放量总和") + private BigDecimal noxEmissionSum; + + @ApiModelProperty(value = "一氧化氮排放量总和") + private BigDecimal noEmissionSum; + + @ApiModelProperty(value = "二氧化氮排放量总和") + private BigDecimal no2EmissionSum; + + @ApiModelProperty(value = "烟尘排放量总和") + private BigDecimal smokeDustEmissionSum; + + @ApiModelProperty(value = "颗粒物排放量总和") + private BigDecimal pmEmissionSum; + + @ApiModelProperty(value = "vocs排放量总和") + private BigDecimal vocsEmissionSum; + + @ApiModelProperty(value = "废气排放量总和") + private BigDecimal oxygenEmissionSum; + + @ApiModelProperty(value = "小时数据数量") + private Long hourDataCount; + } + + @Data + public static class OxygenEmissionAvg { + @ApiModelProperty(value = "排口id") + private String outletId; + + @ApiModelProperty(value = "废气排放量平均值") + private BigDecimal oxygenEmissionAvg; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasRealVo.java new file mode 100644 index 0000000..7d91687 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasRealVo.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 无组织监控数据对象 s_env_gas_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "无组织监控数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasRealVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称*/ + private String stationName; + + @ApiModelProperty(value = "数据类型") + /** 数据类型*/ + private String dataType; + + @ApiModelProperty(value = "对应许可证无组织监测点位名称") + /** 对应许可证无组织监测点位名称*/ + private String licenceStationName; + + @ApiModelProperty(value = "日期") + /** 日期*/ + private String monitoringTime; + + @ApiModelProperty(value = "PM10") + /** PM10*/ + private String pm10; + + @ApiModelProperty(value = "PM2.5") + /** PM2.5*/ + private String pm25; + + @ApiModelProperty(value = "TSP") + /** TSP*/ + private String tsp; + + @ApiModelProperty(value = "NMHC") + /** NMHC*/ + private String nmhc; + + @ApiModelProperty(value = "甲烷") + /** 甲烷*/ + private String ch4; + + @ApiModelProperty(value = "总烃") + /** 总烃*/ + private String hydrocarbon; + + @ApiModelProperty(value = "苯") + /** 苯*/ + private String benzene; + + @ApiModelProperty(value = "甲苯") + /** 甲苯*/ + private String methylbenzene; + + @ApiModelProperty(value = "温度") + /** 温度*/ + private String temperature; + + @ApiModelProperty(value = "湿度") + /** 湿度*/ + private String humidity; + + @ApiModelProperty(value = "风向") + /** 风向*/ + private String windDirection; + + @ApiModelProperty(value = "风速") + /** 风速*/ + private String windSpeed; + + @ApiModelProperty(value = "大气压") + /** 大气压*/ + private String barometricPressure; + + @ApiModelProperty(value = "企业id") + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasSelfDayVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasSelfDayVo.java new file mode 100644 index 0000000..a9e80f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvGasSelfDayVo.java @@ -0,0 +1,251 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 多源排放量汇总分析-废气-手工监测数据对象 s_env_gas_self_day + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "多源排放量汇总分析-废气-手工监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasSelfDayVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + /** 数据类型(日:D;小时:H;分钟:M) */ + private String dataType; + + @ApiModelProperty(value = "日期") + /** 日期*/ + private String monitoringTime; + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + private String so2; + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + private String so2Convert; + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + private String so2Emission; + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + private String nox; + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + private String noxConvert; + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + private String noxEmission; + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + private String no; + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + private String noConvert; + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + private String noEmission; + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + private String no2; + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + private String no2Convert; + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + private String no2Emission; + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + private String smokeDust; + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + private String smokeDustConvert; + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + private String smokeDustEmission; + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + private String pm; + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + private String pmConvert; + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + private String pmEmission; + + @ApiModelProperty(value = "voc实测") + /** voc实测 */ + private String vocs; + + @ApiModelProperty(value = "voc折算") + /** voc折算 */ + private String vocsConvert; + + @ApiModelProperty(value = "voc排放量") + /** voc排放量 */ + private String vocsEmission; + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + private String o3; + + @ApiModelProperty(value = "废气") + /** 废气 */ + private String oxygen; + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + private String smokeDustTem; + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + private String smokeDustPressure; + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + private String smokeDustFlowVelocity; + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + private String smokeDustHumidity; + + @ApiModelProperty(value = "采集时间(时间类型)") + /** 采集时间(时间类型) */ + private String dateTime; + + @ApiModelProperty(value = "废气折算") + /** 废气折算 */ + private String oxygenConvert; + + @ApiModelProperty(value = "废气排放量") + /** 废气排放量 */ + private String oxygenEmission; + + @ApiModelProperty(value = "非甲烷总烃") + /** 非甲烷总烃 */ + private String nmhc; + + @ApiModelProperty(value = "非甲烷总烃折算") + /** 非甲烷总烃折算 */ + private String nmhcConvert; + + @ApiModelProperty(value = "非甲烷总烃排放量") + /** 非甲烷总烃排放量 */ + private String nmhcEmission; + + @ApiModelProperty(value = "二氧化硫数据标记") + /** 二氧化硫数据标记 */ + private String so2Flag; + + @ApiModelProperty(value = "氮氧化物数据标记") + /** 氮氧化物数据标记 */ + private String noxFlag; + + @ApiModelProperty(value = "一氧化氮数据标记") + /** 一氧化氮数据标记 */ + private String noFlag; + + @ApiModelProperty(value = "二氧化氮数据标记") + /** 二氧化氮数据标记 */ + private String no2Flag; + + @ApiModelProperty(value = "烟尘数据标记") + /** 烟尘数据标记 */ + private String smokeDustFlag; + + @ApiModelProperty(value = "颗粒物数据标记") + /** 颗粒物数据标记 */ + private String pmFlag; + + @ApiModelProperty(value = "voc数据标记") + /** voc数据标记 */ + private String vocsFlag; + + @ApiModelProperty(value = "氧气含量数据标记") + /** 氧气含量数据标记 */ + private String o3Flag; + + @ApiModelProperty(value = "废气数据标记") + /** 废气数据标记 */ + private String oxygenFlag; + + @ApiModelProperty(value = "烟气温度数据标记") + /** 烟气温度数据标记 */ + private String smokeDustTemFlag; + + @ApiModelProperty(value = "烟气压力数据标记") + /** 烟气压力数据标记 */ + private String smokeDustPressureFlag; + + @ApiModelProperty(value = "烟气流速数据标记") + /** 烟气流速数据标记 */ + private String smokeDustFlowVelocityFlag; + + @ApiModelProperty(value = "烟气湿度数据标记") + /** 烟气湿度数据标记 */ + private String smokeDustHumidityFlag; + + @ApiModelProperty(value = "非甲烷总烃数据标记") + /** 非甲烷总烃数据标记 */ + private String nmhcFlag; + + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + /** 数据标记 见字典类型anal_data_flag */ + private String dataFlag; + + @ApiModelProperty(value = "so2修约排放量") + /** so2修约排放量 */ + private String so2CorrectEmission; + + @ApiModelProperty(value = "nox修约排放量") + /** nox修约排放量 */ + private String noxCorrectEmission; + + @ApiModelProperty(value = "vocs修约排放量 ") + /** vocs修约排放量 */ + private String vocsCorrectEmission; + + @ApiModelProperty(value = "smoke修约排放量") + /** smoke修约排放量 */ + private String smokeDustCorrectEmission; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonDayVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonDayVo.java new file mode 100644 index 0000000..15d414d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonDayVo.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonDayVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + private String dataType; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "排口名称") + /** 排口名称*/ + @Excel(name = "排口名称") + private String outletName; + + @ApiModelProperty(value = "排口编号") + /** 排口名称*/ + @Excel(name = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "时间") + private String monitoringTime; + + @ApiModelProperty(value = "标记说明") + @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "污水") + /** 污水 */ + private String sewage; + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + private String sewageEmission; + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + private String cod; + + @ApiModelProperty(value = "COD浓度") + /** cod浓度 */ + @Excel(name = "COD浓度") + private String codConcentration; + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + private String codEmission; + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮浓度") + private String ammoniaNitrogen; + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + private String ammoniaNitrogenEmission; + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + private String nitrogenConcentrationEmission; + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + private String phosphorusConcentrationEmission; + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "PH值") + private String phValue; + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonHourVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonHourVo.java new file mode 100644 index 0000000..7090cf6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonHourVo.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonHourVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + private String dataType; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "排口名称") + /** 排口名称*/ + @Excel(name = "排口名称") + private String outletName; + + @ApiModelProperty(value = "排口编号") + /** 排口名称*/ + @Excel(name = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "时间") + private String monitoringTime; + + @ApiModelProperty(value = "标记说明") + @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "污水") + /** 污水 */ + private String sewage; + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + private String sewageEmission; + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + private String cod; + + @ApiModelProperty(value = "COD浓度") + /** cod浓度 */ + @Excel(name = "COD浓度") + private String codConcentration; + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + private String codEmission; + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮浓度") + private String ammoniaNitrogen; + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + private String ammoniaNitrogenEmission; + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + private String nitrogenConcentrationEmission; + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + private String phosphorusConcentrationEmission; + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "PH值") + private String phValue; + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonRealVo.java new file mode 100644 index 0000000..ca0f0f8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterMonRealVo.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonRealVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + private String dataType; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "排口名称") + /** 排口名称*/ + @Excel(name = "排口名称") + private String outletName; + + @ApiModelProperty(value = "排口编号") + /** 排口名称*/ + @Excel(name = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "时间") + private String monitoringTime; + + @ApiModelProperty(value = "标记说明") + @Excel(name = "标记说明", readConverterExp="N=正常,F=停运,M=维护/维修,S=手工输入的设定值,D=故障/断电,C=校准,T=超测量上限") + private String mark; + + @ApiModelProperty(value = "污水") + /** 污水 */ + private String sewage; + + @ApiModelProperty(value = "污水排放量") + /** 污水排放量 */ + private String sewageEmission; + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + private String cod; + + @ApiModelProperty(value = "COD浓度") + /** cod浓度 */ + @Excel(name = "COD浓度") + private String codConcentration; + + @ApiModelProperty(value = "化学需氧量排放量") + /** 化学需氧量排放量 */ + private String codEmission; + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + @Excel(name = "氨氮浓度") + private String ammoniaNitrogen; + + @ApiModelProperty(value = "氨氮排放量") + /** 氨氮排放量 */ + private String ammoniaNitrogenEmission; + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + @Excel(name = "总氮浓度") + private String nitrogenConcentration; + + @ApiModelProperty(value = "总氮排放量") + /** 总氮排放量 */ + private String nitrogenConcentrationEmission; + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + @Excel(name = "总磷浓度") + private String phosphorusConcentration; + + @ApiModelProperty(value = "总磷排放量") + /** 总磷排放量 */ + private String phosphorusConcentrationEmission; + + @ApiModelProperty(value = "ph值") + /** ph值 */ + @Excel(name = "PH值") + private String phValue; + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + @Excel(name = "废水流量") + private String wastewaterFlow; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterSelfDayVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterSelfDayVo.java new file mode 100644 index 0000000..90d4c9a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SEnvWaterSelfDayVo.java @@ -0,0 +1,143 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 多源排放量汇总分析-废水-手工监测数据对象 s_env_water_self_day + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "多源排放量汇总分析-废水-手工监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterSelfDayVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + /** 数据类型(日:D;小时:H;分钟:M) */ + private String dataType; + + @ApiModelProperty(value = "日期") + /** 日期*/ + private String monitoringTime; + + @ApiModelProperty(value = "污水") + /** 污水*/ + private String sewage; + + @ApiModelProperty(value = "污水排放") + /** 污水排放 */ + private String sewageEmission; + + @ApiModelProperty(value = "PH值") + /** PH值 */ + private String phValue; + + @ApiModelProperty(value = "化学需氧量") + /** 化学需氧量 */ + private String cod; + + @ApiModelProperty(value = "化学需氧量排放") + /** 化学需氧量排放 */ + private String codEmission; + + @ApiModelProperty(value = "氨氮") + /** 氨氮 */ + private String ammoniaNitrogen; + + @ApiModelProperty(value = "氨氮折算排放") + /** 氨氮折算排放 */ + private String ammoniaNitrogenEmission; + + @ApiModelProperty(value = "COD浓度") + /** COD浓度 */ + private String codConcentration; + + @ApiModelProperty(value = "废水流量") + /** 废水流量 */ + private String wastewaterFlow; + + @ApiModelProperty(value = "总氮浓度") + /** 总氮浓度 */ + private String nitrogenConcentration; + + @ApiModelProperty(value = "总氮排放") + /** 总氮排放 */ + private String nitrogenConcentrationEmission; + + @ApiModelProperty(value = "总磷浓度") + /** 总磷浓度 */ + private String phosphorusConcentration; + + @ApiModelProperty(value = "总磷排放") + /** 总磷排放 */ + private String phosphorusConcentrationEmission; + + @ApiModelProperty(value = "采集时间(时间类型)") + /** 采集时间(时间类型) */ + private String dateTime; + + @ApiModelProperty(value = "污水数据标记") + /** 污水数据标记 */ + private String sewageFlag; + + @ApiModelProperty(value = "PH值数据标记") + /** PH值数据标记 */ + private String phValueFlag; + + @ApiModelProperty(value = "化学需氧量数据标记") + /** 化学需氧量数据标记 */ + private String codFlag; + + @ApiModelProperty(value = "氨氮数据标记") + /** 氨氮数据标记 */ + private String ammoniaNitrogenFlag; + + @ApiModelProperty(value = "总氮数据标记") + /** 总氮数据标记 */ + private String nitrogenConcentrationFlag; + + @ApiModelProperty(value = "总磷数据标记") + /** 总磷数据标记 */ + private String phosphorusConcentrationFlag; + + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + /** 数据标记 见字典类型anal_data_flag */ + private String dataFlag; + + @ApiModelProperty(value = "cod修约排放量") + /** cod修约排放量 */ + private String codCorrectEmission; + + @ApiModelProperty(value = "氨氮修约排放量") + /** 氨氮修约排放量 */ + private String ammoniaCorrectEmission; + + @ApiModelProperty(value = "总氮修约排放量") + /** 总氮修约排放量 */ + private String nitrogenCorrectEmission; + + @ApiModelProperty(value = "总磷修约排放量") + /** 总磷修约排放量 */ + private String phosphorusCorrectEmission; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.java new file mode 100644 index 0000000..ff50ccc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 日常检查信息对象 s_integrated_routine_inspection + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "日常检查信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SIntegratedRoutineInspectionVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id*/ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "年份") + /** 年份*/ + private String particularYear; + + @ApiModelProperty(value = "检查轮次") + /** 检查轮次*/ + private String checkRounds; + + @ApiModelProperty(value = "检查时间") + /** 检查时间*/ + private String checkTime; + + @ApiModelProperty(value = "检查人员") + /** 检查人员*/ + private String inspector; + + @ApiModelProperty(value = "检查评分") + /** 检查评分*/ + private String checkScore; + + @ApiModelProperty(value = "总分") + /** 总分*/ + private String totalPoints; + + @ApiModelProperty(value = "审查类型") + /** 审查类型*/ + private String reviewTypes; + + @ApiModelProperty(value = "审核状态") + /** 审核状态*/ + private String reviewStatus; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.java new file mode 100644 index 0000000..9e93764 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联对象 s_main_dynamic_control_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlFactoryVo +{ + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + @ApiModelProperty(value = "实测值") + /** 实测值 */ + private String measuredValue; + + @ApiModelProperty(value = "验收标准值") + /** 验收标准值 */ + private String standardValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlParamVo.java new file mode 100644 index 0000000..1332694 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlParamVo.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数对象 s_main_dynamic_control_param + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlParamVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "管控类型编码") + /** 管控类型编码 */ + private String controlTypeCode; + + @ApiModelProperty(value = "参数编码") + /** 参数编码 */ + private String argumentsCode; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String argumentsName; + + @ApiModelProperty(value = "是否启用") + /** 是否启用 */ + private String argumentsEnable; + + @ApiModel(value = "参数表格") + @Data + public static class Table { + @ApiModelProperty(value = "参数表格头") + private List> paramHeaders; + + @ApiModelProperty(value = "参数表格数据") + private List> paramData; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlVo.java new file mode 100644 index 0000000..a4fcc1a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SMainDynamicControlVo.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 基本信息-废气、废水排口档案-动态管控信息对象 s_main_dynamic_control + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlVo +{ + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id */ + private String outletId; + + @ApiModelProperty(value = "CEMS设备品牌") + /** CEMS设备品牌 */ + private String equipmentBrandCems; + + @ApiModelProperty(value = "仪器状态") + /** 仪器状态 */ + private String equipmentState; + + @ApiModelProperty(value = "管控类型编码") + /** 管控类型编码 */ + private String controlTypeCode; + + @ApiModelProperty(value = "管控类型名称") + /** 管控类型名称 */ + private String controlTypeName; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.java new file mode 100644 index 0000000..dbf0953 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.java @@ -0,0 +1,99 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据对象 s_ra_real_time_analysis_run_one + * + * @author szhpt + * @date 2023-05-17*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRunOneVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + /** 设备类型(生产设备/治理设备) */ + private String deviceType; + + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + /** 运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常) */ + private String operationStatus; + + @ApiModelProperty(value = "判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断)") + /** 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) */ + private String judgementBasis; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "运行时间段") + /** 运行时间段 */ + private String runEtc; + + @ApiModelProperty(value = "异常情况") + /** 异常情况 */ + private String goingsOn; + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") + /** 总有功电量示值(安)(用电量) */ + private String activePowerQuantityTmp; + + @ApiModelProperty(value = "总有功电量示值(安)(用电量)") + /** 总有功电量示值(安)(用电量) */ + private String activePowerQuantity; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/STaskYieldTrendVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/STaskYieldTrendVo.java new file mode 100644 index 0000000..295d615 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/STaskYieldTrendVo.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 产量趋势指标小时天月数据表 + */ +@ApiModel(value="产量趋势指标小时天月数据表") +@Data +public class STaskYieldTrendVo { + /** + * 数据ID + */ + @ApiModelProperty(value="数据ID") + private Long dataId; + + /** + * 企业主键 + */ + @ApiModelProperty(value="企业主键") + private String factoryId; + + /** + * 时间类型(日:D;小时:H;分钟:M) + */ + @ApiModelProperty(value="时间类型(日:D;小时:H;分钟:M)") + private String timeType; + + /** + * 数据时间 + */ + @ApiModelProperty(value="数据时间") + private String dataTime; + + /** + * 数量 + */ + @ApiModelProperty(value="数量") + private BigDecimal number; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * pc_yield_trend编码 + */ + @ApiModelProperty(value="pc_yield_trend编码") + private String dictCode; + + /** + * code码对应中文名称 + */ + @ApiModelProperty(value="code码对应中文名称") + private String small; + + /** + * 单位 + */ + @ApiModelProperty(value="单位") + private String unit; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SetParamInfoVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SetParamInfoVo.java new file mode 100644 index 0000000..483cc5e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SetParamInfoVo.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 门禁监控对象 m_am_door_monitor_account_fi + * + * @author szhpt + * @date 2023-01-10 + */ +@ApiModel(value = "更新信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SetParamInfoVo { + private int id; + + private String name; + + private String unit; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SupermonitorDrainOutletVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SupermonitorDrainOutletVo.java new file mode 100644 index 0000000..cf3ba47 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SupermonitorDrainOutletVo.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 排污口对象 m_supermonitor_drain_outlet + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "排污口") +@EqualsAndHashCode(callSuper = false) +@Data +public class SupermonitorDrainOutletVo +{ + + + @ApiModelProperty(value = "主键id ") + /** 主键id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id*/ + private String factoryId; + + @ApiModelProperty(value = "排口id") + /** 排口id*/ + private String outletId; + + @ApiModelProperty(value = "排放口类型(入河、雨水)") + /** 排放口类型(入河、雨水)*/ + private String outletType; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号*/ + private String outletCode; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称*/ + private String outletName; + + @ApiModelProperty(value = "入河排污口批复文号") + /** 入河排污口批复文号*/ + private String approvalDocument; + + @ApiModelProperty(value = "其他信息") + /** 其他信息*/ + private String otherInformation; + + @ApiModelProperty(value = "排放口地理位置-经度") + /** 排放口地理位置-经度*/ + private String lon; + + @ApiModelProperty(value = "排放口地理位置-纬度") + /** 排放口地理位置-纬度*/ + private String lat; + + @ApiModelProperty(value = "排水去向") + /** 排水去向*/ + private String drainageTo; + + @ApiModelProperty(value = "排放规律") + /** 排放规律*/ + private String emissionsLaws; + + @ApiModelProperty(value = "间歇式排放时间段") + /** 间歇式排放时间段*/ + private String intermittentEmissionPeriod; + + @ApiModelProperty(value = "受纳自然水体信息-名称") + /** 受纳自然水体信息-名称*/ + private String receivingWaterName; + + @ApiModelProperty(value = "受纳自然水体信息-功能目标") + /** 受纳自然水体信息-功能目标*/ + private String receivingWaterObjective; + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度") + /** 汇入受纳自然水体处地理坐标-经度*/ + private String receivingWaterLon; + + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度") + /** 汇入受纳自然水体处地理坐标-纬度*/ + private String receivingWaterLat; + + @ApiModelProperty(value = "入河口名称") + /** 入河口名称*/ + private String riversOutletName; + + @ApiModelProperty(value = "入河口编号") + /** 入河口编号*/ + private String riversOutletCode; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SysBasRegion.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SysBasRegion.java new file mode 100644 index 0000000..6754529 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/SysBasRegion.java @@ -0,0 +1,102 @@ +package cn.cecep.talroad.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @author changyw + * @date 2022/6/25 + */ +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class SysBasRegion implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 字典名称 */ + private String regionCode; + + /** 字典类型 */ + private String regionName; + + /** 字典类型 */ + private String mergerName; + + /** 字典层级 */ + private String parentCode; + + /** 墨迹天气经纬度 */ + private BigDecimal longitude; + + /** 墨迹天气经纬度 */ + private BigDecimal latitude; + + /** 使用状态 1在用,0停用 */ + private Integer isUsed; + + /** 当前层级 */ + private Integer level; + + /** 拼音首字母 */ + private String first; + + /** 子节点 */ + private List children; + + public SysBasRegion() { + } + + public SysBasRegion setRegionCode(String regionCode) { + this.regionCode = regionCode; + return this; + } + + public SysBasRegion setRegionName(String regionName) { + this.regionName = regionName; + return this; + } + + public SysBasRegion setMergerName(String mergerName) { + this.mergerName = mergerName; + return this; + } + + public SysBasRegion setParentCode(String parentCode) { + this.parentCode = parentCode; + return this; + } + + public SysBasRegion setLongitude(BigDecimal longitude) { + this.longitude = longitude; + return this; + } + + public SysBasRegion setLatitude(BigDecimal latitude) { + this.latitude = latitude; + return this; + } + + public SysBasRegion setIsUsed(Integer isUsed) { + this.isUsed = isUsed; + return this; + } + + public SysBasRegion setLevel(Integer level) { + this.level = level; + return this; + } + + public SysBasRegion setFirst(String first) { + this.first = first; + return this; + } + + public SysBasRegion setChildren(List children) { + this.children = children; + return this; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/TCodStationVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/TCodStationVo.java new file mode 100644 index 0000000..798f28d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/TCodStationVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo; + +import cn.cecep.talroad.domain.TCodStationDataAir; +import cn.cecep.talroad.domain.TCodStationDataWater; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + +@ApiModel(value = "大气环境、水环境站点vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class TCodStationVo { + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "站点名称") + private String stationName; + + @ApiModelProperty(value = "站点类型 1:废气,2废水") + private Long stationType; + + @ApiModelProperty(value = "类型名称") + private String typeName; + + @ApiModelProperty(value = "类型编码") + private String typeCode; + + @ApiModelProperty(value = "经度") + private BigDecimal lon; + + @ApiModelProperty(value = "纬度") + private BigDecimal lat; + + private String aqi; + private String airQualityClass; + private String waterlevel; + + @ApiModel(value = "大气环境、水环境站点查询条件vo") + @Data + public static class SearchVo { + @ApiModelProperty(value = "站点名称") + private String stationName; + + @ApiModelProperty(value = "站点类型字典id,多个用逗号分隔") + private List stationTypeDictIds; + } + + @ApiModel(value = "大气环境站点详情vo") + @Data + public static class Air { + @ApiModelProperty(value = "站点名称") + private String stationName; + + @ApiModelProperty(value = "最新监测数据") + private TCodStationDataAir realData; + + @ApiModelProperty(value = "图表数据") + private EChartsVO chartsVO; + } + + @ApiModel(value = "水环境站点详情vo") + @Data + public static class Water { + @ApiModelProperty(value = "站点名称") + private String stationName; + + @ApiModelProperty(value = "最新监测数据") + private TCodStationDataWater realData; + + @ApiModelProperty(value = "图表数据") + private EChartsVO chartsVO; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WarningEnvGasMonRealVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WarningEnvGasMonRealVo.java new file mode 100644 index 0000000..cc24391 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WarningEnvGasMonRealVo.java @@ -0,0 +1,262 @@ +package cn.cecep.talroad.vo; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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 org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("s_env_gas_mon_real") +public class WarningEnvGasMonRealVo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "主键id") + /** 主键id */ + @TableId(value = "id",type = IdType.AUTO) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + @Excel(name = "企业id") + private String factoryId; + + + @ApiModelProperty(value = "排口id") + /** 排口id */ + @Excel(name = "排口id") + private String outletId; + + + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + /** 数据类型(日:d;小时:h;分钟:m) */ + @Excel(name = "数据类型", readConverterExp = "日=:d;小时:h;分钟:m") + private String dataType; + + + @ApiModelProperty(value = "日期") + /** 日期 */ + @Excel(name = "日期") + private String monitoringTime; + + + @ApiModelProperty(value = "二氧化硫") + /** 二氧化硫 */ + @Excel(name = "二氧化硫") + private BigDecimal so2; + + + @ApiModelProperty(value = "二氧化硫折算") + /** 二氧化硫折算 */ + @Excel(name = "二氧化硫折算") + private BigDecimal so2Convert; + + + @ApiModelProperty(value = "二氧化硫排放量") + /** 二氧化硫排放量 */ + @Excel(name = "二氧化硫排放量") + private BigDecimal so2Emission; + + + @ApiModelProperty(value = "氮氧化物") + /** 氮氧化物 */ + @Excel(name = "氮氧化物") + private BigDecimal nox; + + + @ApiModelProperty(value = "氮氧化物折算") + /** 氮氧化物折算 */ + @Excel(name = "氮氧化物折算") + private BigDecimal noxConvert; + + + @ApiModelProperty(value = "氮氧化物排放量") + /** 氮氧化物排放量 */ + @Excel(name = "氮氧化物排放量") + private BigDecimal noxEmission; + + + @ApiModelProperty(value = "一氧化氮") + /** 一氧化氮 */ + @Excel(name = "一氧化氮") + private BigDecimal no; + + + @ApiModelProperty(value = "一氧化氮折算") + /** 一氧化氮折算 */ + @Excel(name = "一氧化氮折算") + private BigDecimal noConvert; + + + @ApiModelProperty(value = "一氧化氮排放量") + /** 一氧化氮排放量 */ + @Excel(name = "一氧化氮排放量") + private BigDecimal noEmission; + + + @ApiModelProperty(value = "二氧化氮") + /** 二氧化氮 */ + @Excel(name = "二氧化氮") + private BigDecimal no2; + + + @ApiModelProperty(value = "二氧化氮折算") + /** 二氧化氮折算 */ + @Excel(name = "二氧化氮折算") + private BigDecimal no2Convert; + + + @ApiModelProperty(value = "二氧化氮排放量") + /** 二氧化氮排放量 */ + @Excel(name = "二氧化氮排放量") + private BigDecimal no2Emission; + + + @ApiModelProperty(value = "烟尘") + /** 烟尘 */ + @Excel(name = "烟尘") + private BigDecimal smokeDust; + + + @ApiModelProperty(value = "烟尘折算") + /** 烟尘折算 */ + @Excel(name = "烟尘折算") + private BigDecimal smokeDustConvert; + + + @ApiModelProperty(value = "烟尘排放量") + /** 烟尘排放量 */ + @Excel(name = "烟尘排放量") + private BigDecimal smokeDustEmission; + + + @ApiModelProperty(value = "颗粒物实测") + /** 颗粒物实测 */ + @Excel(name = "颗粒物实测") + private BigDecimal pm; + + + @ApiModelProperty(value = "颗粒物折算") + /** 颗粒物折算 */ + @Excel(name = "颗粒物折算") + private BigDecimal pmConvert; + + + @ApiModelProperty(value = "颗粒物排放量") + /** 颗粒物排放量 */ + @Excel(name = "颗粒物排放量") + private BigDecimal pmEmission; + + + @ApiModelProperty(value = "vocs实测") + /** vocs实测 */ + @Excel(name = "vocs实测") + private BigDecimal vocs; + + + @ApiModelProperty(value = "vocs折算") + /** vocs折算 */ + @Excel(name = "vocs折算") + private BigDecimal vocsConvert; + + + @ApiModelProperty(value = "vocs排放量") + /** vocs排放量 */ + @Excel(name = "vocs排放量") + private BigDecimal vocsEmission; + + + @ApiModelProperty(value = "氧气含量") + /** 氧气含量 */ + @Excel(name = "氧气含量") + private BigDecimal o3; + + + @ApiModelProperty(value = "废气") + /** 废气 */ + @Excel(name = "废气") + private BigDecimal oxygen; + + + @ApiModelProperty(value = "烟气温度") + /** 烟气温度 */ + @Excel(name = "烟气温度") + private BigDecimal smokeDustTem; + + + @ApiModelProperty(value = "烟气压力") + /** 烟气压力 */ + @Excel(name = "烟气压力") + private BigDecimal smokeDustPressure; + + + @ApiModelProperty(value = "烟气流速") + /** 烟气流速 */ + @Excel(name = "烟气流速") + private BigDecimal smokeDustFlowVelocity; + + + @ApiModelProperty(value = "烟气湿度") + /** 烟气湿度 */ + @Excel(name = "烟气湿度") + private BigDecimal smokeDustHumidity; + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryId", getFactoryId()) + .append("outletId", getOutletId()) + .append("dataType", getDataType()) + .append("monitoringTime", getMonitoringTime()) + .append("so2", getSo2()) + .append("so2Convert", getSo2Convert()) + .append("so2Emission", getSo2Emission()) + .append("nox", getNox()) + .append("noxConvert", getNoxConvert()) + .append("noxEmission", getNoxEmission()) + .append("no", getNo()) + .append("noConvert", getNoConvert()) + .append("noEmission", getNoEmission()) + .append("no2", getNo2()) + .append("no2Convert", getNo2Convert()) + .append("no2Emission", getNo2Emission()) + .append("smokeDust", getSmokeDust()) + .append("smokeDustConvert", getSmokeDustConvert()) + .append("smokeDustEmission", getSmokeDustEmission()) + .append("pm", getPm()) + .append("pmConvert", getPmConvert()) + .append("pmEmission", getPmEmission()) + .append("vocs", getVocs()) + .append("vocsConvert", getVocsConvert()) + .append("vocsEmission", getVocsEmission()) + .append("o3", getO3()) + .append("oxygen", getOxygen()) + .append("smokeDustTem", getSmokeDustTem()) + .append("smokeDustPressure", getSmokeDustPressure()) + .append("smokeDustFlowVelocity", getSmokeDustFlowVelocity()) + .append("smokeDustHumidity", getSmokeDustHumidity()) + .toString(); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WaterPollEmissionsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WaterPollEmissionsVO.java new file mode 100644 index 0000000..4529626 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/WaterPollEmissionsVO.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author changyw + * @date 2023/4/7 + */ +@Data +public class WaterPollEmissionsVO { + + private String groupByField; + + private BigDecimal codEmissions; + + private BigDecimal totalNitrogenEmissions; + + private BigDecimal totalPhosphorusEmissions; + + private BigDecimal ammoniaNitrogenEmissions; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/AvgValueVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/AvgValueVo.java new file mode 100644 index 0000000..58a1599 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/AvgValueVo.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-06-02 10:52 + * @Class: AvgValueVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class AvgValueVo { + + private String deviceId; + + private BigDecimal avgValue; + + private BigDecimal avgValue2; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.java new file mode 100644 index 0000000..2a58271 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * CO放散计划信息列表数据---产治排 + */ +@Data +public class CoAndMaintenancePlanAllInfo extends PageQuery { + + @ApiModelProperty(value = "上报时间") + @Excel(name = "上报时间", width = 25, sort = 10) + private Date createTime; + + @ApiModelProperty(value = "上报人") + @Excel(name = "上报人", width = 25, sort = 11) + private String createUser; + /** + * 企业名 + */ + @ApiModelProperty(value = "企业名") + @Excel(name = "企业名称", width = 25, sort = 1) + private String factoryName; + + /** + * 县名称 + */ + @ApiModelProperty(value = "县名称") + @Excel(name = "区县名称", width = 25, sort = 2) + private String countryName; + + /** + * 行业名 + */ + @ApiModelProperty(value = "行业名") + @Excel(name = "行业名称", width = 25, sort = 3) + private String industryCategoryName; + + @ApiModelProperty(value="类型") + @Excel(name = "装备类型", width = 25, sort = 4) + private String type; + + @ApiModelProperty(value="设备名称") + @Excel(name = "装备名称", width = 25, sort = 5) + private String name; + + @ApiModelProperty(value="计划开始时间") + @Excel(name = "计划开始时间", width = 25, sort = 7) + private Date planStartTime; + + @ApiModelProperty(value="计划结束时间") + @Excel(name = "计划结束时间", width = 25, sort = 8) + private Date planEndTime; + + @ApiModelProperty(value="备注") + @Excel(name = "备注", width = 25, sort = 9) + private String remarks; + + @ApiModelProperty(value="当前状态") + @Excel(name = "当前状态", width = 25, sort = 6) + private String status; + + @ApiModelProperty(value="上报开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createStartTime; + @ApiModelProperty(value="上报结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createEndTime; + + private String statusSource; + private String statusSourceMQ; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.java new file mode 100644 index 0000000..d1bd02a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.java @@ -0,0 +1,12 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "设备状态企业列表") +public class CoDeviceDiffuseStatusFactoryVO { + private String deviceType; + private String diffuseStatus; + private String factoryName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.java new file mode 100644 index 0000000..8fb8842 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "CO放散设备类型展示类") +public class CoDeviceTypeCountVO { + + @ApiModelProperty(value = "高炉煤气放散火炬数量") + private Integer GLMQCount; + @ApiModelProperty(value = "高炉煤气柜数量") + private Integer GLMQGCount; + @ApiModelProperty(value = "转炉数量") + private Integer ZLCount; + @ApiModelProperty(value = "煤气管网数量") + private Integer MQGWCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.java new file mode 100644 index 0000000..e57000f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.java @@ -0,0 +1,16 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "设备状态数量") +public class CoDeviceTypeDiffuseStatusVO { + @ApiModelProperty(value = "设备类型") + private String deviceType; + @ApiModelProperty(value = "数据状态") + private String diffuseStatus; + @ApiModelProperty(value = "数量") + private String deviceId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoPlanAllInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoPlanAllInfo.java new file mode 100644 index 0000000..de99f26 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/CoPlanAllInfo.java @@ -0,0 +1,89 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * CO放散计划信息列表数据---产治排 + */ +@Data +public class CoPlanAllInfo extends PageQuery { + + @ApiModelProperty(value = "上报时间") + @Excel(name = "上报时间", width = 25, sort = 10,dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "上报人") + @Excel(name = "上报人", width = 25, sort = 11) + private String createUser; + /** + * 企业名 + */ + @ApiModelProperty(value = "企业名") + @Excel(name = "企业名称", width = 25, sort = 1) + private String factoryName; + + /** + * 县名称 + */ + @ApiModelProperty(value = "县名称") + @Excel(name = "区县名称", width = 25, sort = 2) + private String countryName; + + /** + * 县名称 + */ + @ApiModelProperty(value = "地区code集合") + private List regionCodes; + + /** + * 行业名 + */ + @ApiModelProperty(value = "行业名") + @Excel(name = "行业名称", width = 25, sort = 3) + private String industryCategoryName; + + @ApiModelProperty(value="类型") + @Excel(name = "煤气放散口类型", width = 25, sort = 4) + private String type; + + @ApiModelProperty(value="设备名称") + @Excel(name = "放散设备名称", width = 25, sort = 5) + private String name; + + @ApiModelProperty(value="计划开始时间") + @Excel(name = "计划放散开始时间", width = 25, sort = 7,dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date planStartTime; + + @ApiModelProperty(value="计划结束时间") + @Excel(name = "计划放散结束时间", width = 25, sort = 8,dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date planEndTime; + + @ApiModelProperty(value="备注") + @Excel(name = "备注", width = 25, sort = 9) + private String remarks; + + @ApiModelProperty(value="当前状态") + @Excel(name = "当前放散状态", width = 25, sort = 6) + private String status; + + @ApiModelProperty(value="上报开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createStartTime; + @ApiModelProperty(value="上报结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createEndTime; + + private String statusSource; + private String statusSourceMQ; + + private Integer planId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.java new file mode 100644 index 0000000..5fff8f6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.java @@ -0,0 +1,23 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 设备状态工序数量统计类 + */ +@Data +public class DeviceStatusWorkStepVO { + + /** + * 设备工序 + */ + private String workStep; + /** + * 设备id + */ + private String deviceId; + /** + * 设备状态集合 + */ + private String deviceStatuses; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.java new file mode 100644 index 0000000..9981c44 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "企业行业类别分组问题数量统计展示类") +public class FactoryIndustryProblemCountVO { + + @ApiModelProperty(value = "问题类别") + private String name; + @ApiModelProperty(value = "问题数量") + private Integer totalCount; + @ApiModelProperty(value = "行业类别") + private String industryPermissionName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletStaticsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletStaticsVo.java new file mode 100644 index 0000000..e5184e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletStaticsVo.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-07-14 11:52 + * @Class: FactoryOutletStaticsVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class FactoryOutletStaticsVo { + + private String factoryId; + private String outletId; + private String outletName; + private String paramName; + private Integer actualCount; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletVo.java new file mode 100644 index 0000000..e58e380 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryOutletVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-07-14 14:11 + * @Class: FactoryOutletVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class FactoryOutletVo { + + @ApiModelProperty(value = "企业ID") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "区域编码") + private String cityCode; + @ApiModelProperty(value = "区域名称") + private String cityName; + @ApiModelProperty(value = "行业编码") + private String industry; + @ApiModelProperty(value = "行业名称") + private String industryName; + @ApiModelProperty(value = "设备ID") + private String outletId; + @ApiModelProperty(value = "设备名称") + private String outletName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.java new file mode 100644 index 0000000..f432c60 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.java @@ -0,0 +1,11 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "企业top10问题数量展示类") +public class FactoryTop10ProblemCountVO { + private String factoryName; + private Integer problemCount; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTransferRateParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTransferRateParamVo.java new file mode 100644 index 0000000..8c18cc5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/FactoryTransferRateParamVo.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * @Title FactoryTransferRateVo + * @Description: + * @author: Gaohaoyun + * @date: 2023/6/12 20:39 + */ +@Data +public class FactoryTransferRateParamVo { + + private Long id; + + private String factoryId; + + private String deviceId; + + private String industry; + + private String deviceType; + + private String deviceName; + + private String paramId; + + private String paramCodeSvc; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.java new file mode 100644 index 0000000..95788bf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.java @@ -0,0 +1,81 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +@Data +public class MaintenancePlanAllInfo extends PageQuery { + @ApiModelProperty(value = "上报时间") + @Excel(name = "上报时间", width = 25, sort = 10,dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "上报人") + @Excel(name = "上报人", width = 25, sort = 11) + private String createUser; + /** + * 企业名 + */ + @ApiModelProperty(value = "企业名") + @Excel(name = "企业名称", width = 25, sort = 1) + private String factoryName; + + /** + * 县名称 + */ + @ApiModelProperty(value = "县名称") + @Excel(name = "区县名称", width = 25, sort = 2) + private String countryName; + + private List regionCodes; + + /** + * 行业名 + */ + @ApiModelProperty(value = "行业名") + @Excel(name = "行业名称", width = 25, sort = 3) + private String industryCategoryName; + + @ApiModelProperty(value="类型") + @Excel(name = "装备类型", width = 25, sort = 4) + private String type; + + @ApiModelProperty(value="设备名称") + @Excel(name = "装备名称", width = 25, sort = 5) + private String name; + + @ApiModelProperty(value="计划开始时间") + @Excel(name = "计划检修开始时间", width = 25, sort = 7,dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date planStartTime; + + @ApiModelProperty(value="计划结束时间") + @Excel(name = "计划检修结束时间", width = 25, sort = 8,dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date planEndTime; + + @ApiModelProperty(value="备注") + @Excel(name = "备注", width = 25, sort = 9) + private String remarks; + + @ApiModelProperty(value="当前状态") + @Excel(name = "当前生产状态", width = 25, sort = 6) + private String status; + + @ApiModelProperty(value="上报开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createStartTime; + @ApiModelProperty(value="上报结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createEndTime; + + private String statusSource; + private String statusSourceMQ; + + private Integer planId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.java new file mode 100644 index 0000000..8192cc8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 720小时内最大排放量 + */ +@Data +public class MaxEmissionsVO { + /** + * 污染物名称 + */ + private String pollutantName; + + /** + * 最大排放量 + */ + private String maxEmissions; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.java new file mode 100644 index 0000000..2cff643 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 月/季度总排放量 + */ +@Data +public class MonthTotalEmissionsVO { + /** + * 污染物名称 + */ + private String pollutantName; + + /** + * 月总排放量 + */ + private String totalEmissions; + + + /** + * 查询类型1月,2季度 + */ + private int selectType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPermitPollutantVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPermitPollutantVO.java new file mode 100644 index 0000000..6b5ed9e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPermitPollutantVO.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.analysis; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 排口因子排污许可限值与监测类型实体 + */ +@Data +public class OutletPermitPollutantVO { + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantsType; + + private String pollutantCode; + + /** 第一年 */ + private String pollutantsTotalFrist; + + + /** 第二年 */ + private String pollutantsTotalSecond; + + + /** 第三年 */ + private String pollutantsTotalThird; + + + /** 第四年 */ + private String pollutantsTotalFourth; + + + /** 第五年 */ + private String pollutantsTotalFifth; + + /** + * 污染源id + */ + private String factoryId; + + /** + * 污染源名称 + */ + private String factoryName; + + /** + * 排口编号 + */ + private String outletCode; + + /** + * 废气小时浓度限值 + */ + private String pollutantsMgHour; + + /** + * 废水流速限值 + */ + private String pollutantsMgRate; + + /** + * 排口类型(1主要排口,2一般排口) + */ + private Integer outletType; + + /** + * 监测类型 + */ + private String outletMonType; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPollutantVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPollutantVO.java new file mode 100644 index 0000000..698a4db --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/OutletPollutantVO.java @@ -0,0 +1,15 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 排口因子排污许可限值与监测类型实体 + */ +@Data +public class OutletPollutantVO extends OutletPermitPollutantVO{ + + private String outletName; + + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.java new file mode 100644 index 0000000..3300c15 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.vo.analysis; +import cn.cecep.talroad.domain.PcOutlet; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.Map; + + +/** + * 排口信息 排口排污许可信息复合实体 + * + * @date 2023-01-11*/ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PcOutletPermitPollutantVO +{ + + /** + * 排污许可编号 + */ + private String outletCode; + + /** + * 企业id + */ + private String factoryId; + + /** + * 排口实体 + */ + private PcOutlet pcOutlet; + + /** + * 排口排污许可监测类型复合实体,k:污染编码,v:排污许可限值 + */ + private Map outletPermitPollutantVOMap; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcRaProblemTypeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcRaProblemTypeVo.java new file mode 100644 index 0000000..ad16f88 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PcRaProblemTypeVo.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 问题分类对象 pc_ra_problem_type + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "问题分类") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcRaProblemTypeVo +{ + + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "分类名称") + private String name; + + @ApiModelProperty(value = "父分类id") + private String parentId; + + @ApiModelProperty(value = "排序") + private Long sort; + + @ApiModelProperty(value = "问题分类路径") + private List path; + + @ApiModelProperty(value = "详情跳转路由") + private String route; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PermitEmissionsFactoryVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PermitEmissionsFactoryVO.java new file mode 100644 index 0000000..df9ab82 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PermitEmissionsFactoryVO.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 排污许可排放企业展示类 + */ +@Data +public class PermitEmissionsFactoryVO { + + + /** + * 排污许可id + */ + private int licenseId; + + /** + * 排污许可证唯一id + */ + private String dataId; + + /** + * 企业id + */ + private String factoryId; + + /** + * 排污许可编号 + */ + private String licenseCode; + + /** + * 排污许可开始时间 + */ + private String startDate; + + /** + * 排污许可结束时间 + */ + private String endDate; + + + /** + * 企业名称 + */ + private String factoryName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.java new file mode 100644 index 0000000..076b686 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.vo.analysis; + +import lombok.Data; + +/** + * 废气废水排口排污许可浓度展示类 + */ +@Data +public class PollDisPollutantGroupVO { + + /** + * 污染物名称 + */ + private String pollutantType; + + /** + * 小时浓度限值 + */ + private String pollutantsMgHour; + + /** + * 日浓度限值 + */ + private String pollutantsMgDay; + + /** + * 排放速率限值 + */ + private String pollutantsMgRate; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PumpStateVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PumpStateVo.java new file mode 100644 index 0000000..2f80400 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/PumpStateVo.java @@ -0,0 +1,21 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import lombok.Data; + +/** + * @Auther: cjh + * @Date: 2023-06-02 16:44 + * @Class: PumpStateVo + * @Deseription: + * @Version V1.0 + */ +@Data +public class PumpStateVo { + + private String deviceId; + + private BigDecimal stateValue; + + private String addiParam; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisCarVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisCarVo.java new file mode 100644 index 0000000..38407ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisCarVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_car + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "管控期车辆异常分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAbNalysisCarVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String workingProcedure; + + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long inOutNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "管控时间") + /** 管控时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisLowCarVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisLowCarVo.java new file mode 100644 index 0000000..488d038 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAbNalysisLowCarVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_low_car + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "管控期车辆异常分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAbNalysisLowCarVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String workingProcedure; + + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + /** 国四及以下车辆进出厂次数 */ + private Long inOutNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "分析时间(原型中日期)") + /** 分析时间(原型中日期) */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.java new file mode 100644 index 0000000..76bcbee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 执行报告实际排放情况对象 s_ra_action_reports_actual_emissions + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际排放情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsActualEmissionsVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + @ApiModelProperty(value = "执行报告时间;年:2023 季:20232(2023第二个季度) 月: 2023-02") + /** 执行报告时间;年:2023 季:20232(2023第二个季度) 月: 2023-02 */ + private String reportTime; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排放类型;排放类型(1废气,2废水)") + /** 排放类型;排放类型(1废气,2废水) */ + private String outletType; + + @ApiModelProperty(value = "排放口名称") + /** 排放口名称 */ + private String outletName; + + @ApiModelProperty(value = "排放口编号") + /** 排放口编号 */ + private String outletCode; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String pollutantName; + + @ApiModelProperty(value = "污染物code") + /** 污染物code */ + private String pollutantCode; + + @ApiModelProperty(value = "许可排放量(t)") + /** 许可排放量(t) */ + private BigDecimal permittedEmissions; + + @ApiModelProperty(value = "实际排放量(t)") + /** 实际排放量(t) */ + private BigDecimal actualEmissions; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.java new file mode 100644 index 0000000..dca6300 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 执行报告实际产量情况对象 s_ra_action_reports_actual_yield + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际产量情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsActualYieldVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + @ApiModelProperty(value = "执行报告时间;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") + /** 执行报告时间;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01 */ + private String reportTime; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "主要生产单元") + /** 主要生产单元 */ + private String productionUnit; + + @ApiModelProperty(value = "运行参数code") + /** 运行参数code */ + private String runningParamCode; + + @ApiModelProperty(value = "运行参数名称") + /** 运行参数名称 */ + private String runningParamName; + + @ApiModelProperty(value = "产量(t)") + /** 产量(t) */ + private BigDecimal actualEmissions; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.java new file mode 100644 index 0000000..2bd6aa6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.analysis; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 执行报告规范性审核记录对象 s_ra_action_reports_audit_record + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditRecordVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告id") + /** 执行报告id */ + private String reportId; + + @ApiModelProperty(value = "系统审核时间") + /** 系统审核时间 */ + private Date auditTime; + + @ApiModelProperty(value = "应提交企业数量") + /** 应提交企业数量 */ + private Long totalEnterprises; + + @ApiModelProperty(value = "已提交企业数量") + /** 已提交企业数量 */ + private Long submittedEnterprises; + + @ApiModelProperty(value = "已审核企业数量") + /** 已审核企业数量 */ + private Long auditedEnterprises; + + @ApiModelProperty(value = "存在问题企业数") + /** 存在问题企业数 */ + private Long problemsEnterprises; + + @ApiModelProperty(value = "审核状态;审核状态:1 审核中 9 审核完成") + /** 审核状态;审核状态:1 审核中 9 审核完成 */ + private Long auditStatus; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditResultVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditResultVo.java new file mode 100644 index 0000000..1b8c6f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditResultVo.java @@ -0,0 +1,137 @@ +package cn.cecep.talroad.vo.analysis; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 执行报告规范性审核结果对象 s_ra_action_reports_audit_result + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核结果") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditResultVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告审核记录id") + /** 执行报告审核记录id */ + private String recordId; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "报告期;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") + /** 报告期;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01 */ + private String reportTime; + + @ApiModelProperty(value = "排污许可证编号") + /** 排污许可证编号 */ + private String pollDisLicenseCode; + + @ApiModelProperty(value = "执行报告提交") + /** 执行报告提交 */ + private Date reportSubmissionTime; + + @ApiModelProperty(value = "审核时间") + /** 审核时间 */ + private Date auditTime; + + @ApiModelProperty(value = "排污单位基本信息表") + /** 排污单位基本信息表 */ + private String factoryBasicInfo; + + @ApiModelProperty(value = "污染防治设施正常情况汇总表--废水污染防治设施") + /** 污染防治设施正常情况汇总表--废水污染防治设施 */ + private String waterPreventionFacilities; + + @ApiModelProperty(value = "污染防治设施正常情况汇总表--废气污染防治设施") + /** 污染防治设施正常情况汇总表--废气污染防治设施 */ + private String gasPreventionFacilities; + + @ApiModelProperty(value = "污染防治设施异常情况汇总表--废气/废水防治设施") + /** 污染防治设施异常情况汇总表--废气/废水防治设施 */ + private String preventionFacilities; + + @ApiModelProperty(value = "污染防治设施-异常情况汇总表") + /** 污染防治设施-异常情况汇总表 */ + private String abnormalSituation; + + @ApiModelProperty(value = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表") + /** (正常监测时段)有组织废气污染物排放浓度监测数据统计表 */ + private String organizedGasMonitoringData; + + @ApiModelProperty(value = "(正常监测时段)废水污染物排放浓度监测数据统计表") + /** (正常监测时段)废水污染物排放浓度监测数据统计表 */ + private String waterMonitoringData; + + @ApiModelProperty(value = "(正常监测时段)超标率") + /** (正常监测时段)超标率 */ + private String exceedingRate; + + @ApiModelProperty(value = "非正常工况/特殊时段有组织废气污染物监测数据统计表") + /** 非正常工况/特殊时段有组织废气污染物监测数据统计表 */ + private String abnormalOrganizedGasMonitoringData; + + @ApiModelProperty(value = "监测频次合规") + /** 监测频次合规 */ + private String monitoringFrequency; + + @ApiModelProperty(value = "实际排放量") + /** 实际排放量 */ + private String actualEmissions; + + @ApiModelProperty(value = "超标排放信息") + /** 超标排放信息 */ + private String excessiveEmissions; + + @ApiModelProperty(value = "附图附件-自行监测布点图") + /** 附图附件-自行监测布点图 */ + private String attachment; + + @ApiModelProperty(value = "污染物实际排放量计算过程") + /** 污染物实际排放量计算过程 */ + private String calculationProcess; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + + @ApiModelProperty(value = "核查表下载url") + /** 核查表下载url */ + private String checklist; + + @ApiModelProperty(value = "问题清单下载url") + /** 问题清单下载url */ + private String questionList; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.java new file mode 100644 index 0000000..101186c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 执行报告规范性审核对象 s_ra_action_reports_audit + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + @ApiModelProperty(value = "报告期;年:2023 月:2023-02 日: 2023-02-01") + /** 报告期;年:2023 月:2023-02 日: 2023-02-01 */ + private String reportTime; + + @ApiModelProperty(value = "应提交企业数量") + /** 应提交企业数量 */ + private Long totalEnterprises; + + @ApiModelProperty(value = "已提交企业数量") + /** 已提交企业数量 */ + private Long submittedEnterprises; + + @ApiModelProperty(value = "提交率") + /** 提交率 */ + private BigDecimal submissionRate; + + @ApiModelProperty(value = "未提交企业清单") + /** 未提交企业清单 */ + private String nonSubmittedEnterprisesUrl; + + @ApiModelProperty(value = "规范性审核;审核状态:1 审核中 9 审核完成") + /** 规范性审核;审核状态:1 审核中 9 审核完成 */ + private Long auditStatus; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaRegulatoryIssuesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaRegulatoryIssuesVo.java new file mode 100644 index 0000000..ac486a7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaRegulatoryIssuesVo.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 区域证后监管问题总表对象 s_ra_area_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "区域证后监管问题总表") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAreaRegulatoryIssuesVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + private String districtName; + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + private String industryCategory; + + @ApiModelProperty(value = "月份") + /** 月份 */ + private String month; + + @ApiModelProperty(value = "治理设施异常问题个数") + /** 治理设施异常问题个数 */ + private Long abnormalProblemsNum; + + @ApiModelProperty(value = "在线监测有效监测率") + /** 在线监测有效监测率 */ + private String effectiveMonitoringComplianceRate; + + @ApiModelProperty(value = "在线监测达标率") + /** 在线监测达标率 */ + private BigDecimal onlineMonitoringComplianceRate; + + @ApiModelProperty(value = "手工监测频次合格率") + /** 手工监测频次合格率 */ + private BigDecimal manualMonitoringFrequencyPassRate; + + @ApiModelProperty(value = "系统核算实际排放合格率") + /** 系统核算实际排放合格率 */ + private BigDecimal sysAccActualEmissionPassRate; + + @ApiModelProperty(value = "执行报告实际排放合格率") + /** 执行报告实际排放合格率 */ + private BigDecimal reportActualEmissionPassRate; + + @ApiModelProperty(value = "重污染管控执行率") + /** 重污染管控执行率 */ + private BigDecimal heavyPollutionControlExacutiveRate; + + @ApiModelProperty(value = "应提交执行报告企业数量") + /** 应提交执行报告企业数量 */ + private Long totalEnterprises; + + @ApiModelProperty(value = "执行报告提交率") + /** 执行报告提交率 */ + private BigDecimal submissionRate; + + @ApiModelProperty(value = "执行报告规范性存在问题企业数量") + /** 执行报告规范性存在问题企业数量 */ + private Long problemsEnterprises; + + @ApiModelProperty(value = "规范性问题率") + /** 规范性问题率 */ + private BigDecimal normativeQuestionRate; + + @ApiModelProperty(value = "执行报告结果统计时间") + /** 执行报告结果统计时间 */ + private Date reportResultStatisticalTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.java new file mode 100644 index 0000000..5221e27 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.java @@ -0,0 +1,142 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 区域传输率分析对象 s_ra_area_transfer_rate_analysis + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "区域传输率分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAreaTransferRateAnalysisVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + private String districtName; + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private Date statisticsTime; + + @ApiModelProperty(value = "分表计电-应传个数") + /** 分表计电-应传个数 */ + private Long elecTransmittNum; + + @ApiModelProperty(value = "分表计电-实际上传个数") + /** 分表计电-实际上传个数 */ + private Long elecActualTransmittNum; + + @ApiModelProperty(value = "分表计电-传输率") + /** 分表计电-传输率 */ + private BigDecimal elecTransmissionRate; + + @ApiModelProperty(value = "无组织管控-分钟数据-应传个数") + /** 无组织管控-分钟数据-应传个数 */ + private Long unorganizedTransmittMinuteNum; + + @ApiModelProperty(value = "无组织管控-分钟数据-实际上传个数") + /** 无组织管控-分钟数据-实际上传个数 */ + private Long unorganizedActualTransmittMinuteNum; + + @ApiModelProperty(value = "无组织管控-分钟数据-传输率") + /** 无组织管控-分钟数据-传输率 */ + private BigDecimal unorganizedTransmissionMinuteRate; + + @ApiModelProperty(value = "无组织管控-小时数据-应传个数") + /** 无组织管控-小时数据-应传个数 */ + private Long unorganizedTransmittHourNum; + + @ApiModelProperty(value = "无组织管控-小时数据-实际上传个数") + /** 无组织管控-小时数据-实际上传个数 */ + private Long unorganizedActualTransmittHourNum; + + @ApiModelProperty(value = "无组织管控-小时数据-传输率") + /** 无组织管控-小时数据-传输率 */ + private BigDecimal unorganizedTransmissionHourRate; + + @ApiModelProperty(value = "dcs监控数据-应传个数") + /** dcs监控数据-应传个数 */ + private Long dcsTransmittMinuteNum; + + @ApiModelProperty(value = "dcs监控数据-实际上传个数") + /** dcs监控数据-实际上传个数 */ + private Long dcsActualTransmittNum; + + @ApiModelProperty(value = "dcs监控数据-传输率") + /** dcs监控数据-传输率 */ + private BigDecimal dcsTransmissionRate; + + @ApiModelProperty(value = "网格化数据-分钟数据-应传个数") + /** 网格化数据-分钟数据-应传个数 */ + private Long griddedTransmittMinuteNum; + + @ApiModelProperty(value = "网格化数据-分钟数据-实际上传个数") + /** 网格化数据-分钟数据-实际上传个数 */ + private Long griddedActualTransmittMinuteNum; + + @ApiModelProperty(value = "网格化数据-分钟数据-传输率") + /** 网格化数据-分钟数据-传输率 */ + private BigDecimal griddedTransmissionMinuteRate; + + @ApiModelProperty(value = "网格化数据-小时数据-应传个数") + /** 网格化数据-小时数据-应传个数 */ + private Long griddedTransmittHourNum; + + @ApiModelProperty(value = "网格化数据-小时数据-实际上传个数") + /** 网格化数据-小时数据-实际上传个数 */ + private Long griddedActualTransmittHourNum; + + @ApiModelProperty(value = "网格化数据-小时数据-传输率") + /** 网格化数据-小时数据-传输率 */ + private BigDecimal griddedTransmissionHourRate; + + @ApiModelProperty(value = "网格化数据-日数据-应传个数") + /** 网格化数据-日数据-应传个数 */ + private Long griddedTransmittDayNum; + + @ApiModelProperty(value = "网格化数据-日数据-实际上传个数") + /** 网格化数据-日数据-实际上传个数 */ + private Long griddedActualTransmittGriddedTransmittDayNum; + + @ApiModelProperty(value = "网格化数据-日数据-传输率") + /** 网格化数据-日数据-传输率 */ + private BigDecimal griddedTransmissionDayRate; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaControlSchemeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaControlSchemeVo.java new file mode 100644 index 0000000..181bfea --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaControlSchemeVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-减排方案管理-管控时间段信息对象 s_ra_control_scheme + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-减排方案管理-管控时间段信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaControlSchemeVo +{ + + + @ApiModelProperty(value = "方案主键") + /** 方案主键 */ + private String schemeId; + + @ApiModelProperty(value = "方案名称") + /** 方案名称 */ + private String schemeName; + + @ApiModelProperty(value = "预警级别(1-红色预警,2-橙色预警,3-黄色预警)") + /** 预警级别(1-红色预警,2-橙色预警,3-黄色预警) */ + private String warningLevel; + + @ApiModelProperty(value = "管控措施") + /** 管控措施 */ + private String controlMeasures; + + @ApiModelProperty(value = "管控开始时间") + /** 管控开始时间 */ + private String controlStartTime; + + @ApiModelProperty(value = "管控截至时间") + /** 管控截至时间 */ + private String controlEndTime; + + @ApiModelProperty(value = "停止国四及以下车辆通行(0-否,1-是)") + /** 停止国四及以下车辆通行(0-否,1-是) */ + private String stopCar; + + @ApiModelProperty(value = "基准开始时间") + /** 基准开始时间 */ + private String noControlStartTime; + + @ApiModelProperty(value = "基准截至时间") + /** 基准截至时间 */ + private String noControlEndTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.java new file mode 100644 index 0000000..c4bd8af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.java @@ -0,0 +1,90 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业排放量差异分析对象 s_ra_emissions_diff + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业排放量差异分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsDiffVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "县名称") + @Excel(name = "所在区县") + /** 县名称 */ + private String regionName; + + @ApiModelProperty(value = "县编码") + /** 县名称 */ + private String regionCode; + + @ApiModelProperty(value = "所在行业") + @Excel(name = "所在行业") + /** 所在行业 */ + private String industryName; + + @ApiModelProperty(value = "月份") + @Excel(name = "月份") + /** 分析日期 */ + private String analyseDate; + + @ApiModelProperty(value = "污染物名称") + @Excel(name = "污染物名称") + /** 污染物名称 */ + private String pollutantName; + + @ApiModelProperty(value = "系统核算排放量(t)") + @Excel(name = "系统核算排放量(t)") + /** 系统核算排放量(t) */ + private String sysEmissions; + + @ApiModelProperty(value = "执行报告上报排放量(t)") + @Excel(name = "执行报告上报排放量(t)") + /** 执行报告上报排放量(t) */ + private String reportEmissions; + + @ApiModelProperty(value = "排放差异率") + @Excel(name = "排放差异率") + /** 排放差异率 */ + private String diffRate; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.java new file mode 100644 index 0000000..6e37d97 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.java @@ -0,0 +1,112 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.Date; + + + +/** + * 企业异常行为分析-企业排放分析-监测差异分析对象 s_ra_emissions_monitoring_variance + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "企业异常行为分析-企业排放分析-监测差异分析vo") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsMonitoringVarianceVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @Excel(name = "行业类别") + @ApiModelProperty(value = "行业类别") + /** 行业类别 */ + private String industryPermissionName; + + @ApiModelProperty(value = "区县编码") + /** 区县名称 */ + private String countryCode; + + @Excel(name = "区县名称") + @ApiModelProperty(value = "区县名称") + /** 区县名称 */ + private String countryName; + + @Excel(name = "监测时间") + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String stationTime; + + @Excel(name = "监测排口名称") + @ApiModelProperty(value = "监测排口名称") + /** 监测排口名称 */ + private String outletName; + + @Excel(name = "监测排口编号") + @ApiModelProperty(value = "监测排口编号") + /** 监测排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private Long stationId; + + @ApiModelProperty(value = "污染物种类id") + /** 污染物种类id */ + private String pollId; + + @Excel(name = "污染物种类") + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollName; + + @Excel(name = "在线监测浓度") + @ApiModelProperty(value = "在线监测浓度") + /** 在线监测浓度 */ + private String concentrationOnline; + + @Excel(name = "自行监测浓度") + @ApiModelProperty(value = "自行监测浓度") + /** 自行监测浓度 */ + private String concentrationPm; + + @Excel(name = "执法监测浓度") + @ApiModelProperty(value = "执法监测浓度") + /** 执法监测浓度 */ + private String concentrationEtl; + + @Excel(name = "差异率") + @ApiModelProperty(value = "差异率") + /** 差异率 */ + private String differenceRatio; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.java new file mode 100644 index 0000000..3a214a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@ApiModel(value = "企业排放量超标分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsOverFactoryVo +{ + + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @Excel(name = "行业名称") + @ApiModelProperty(value = "行业名称") + private String industryName; + + @Excel(name = "统计范围") + @ApiModelProperty(value = "统计范围") + private String statScope; + + @Excel(name = "参数名称") + @ApiModelProperty(value = "参数名称") + private String pollutantName; + + @Excel(name = "统计年份") + @ApiModelProperty(value = "统计年份") + private String statYear; + + @Excel(name = "分析类型", readConverterExp = "1=排放量超过许可排放量,2=排放量达到许可排放量90%,3=排放量预测超过许可排放量") + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + private String analyseType; + + @Excel(name = "问题说明") + @ApiModelProperty(value = "问题说明") + private String problemDesc; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.java new file mode 100644 index 0000000..5eb01e1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@ApiModel(value = "区域、行业排放量超标分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsOverVo +{ + + @ApiModelProperty(value = "参数名称") + @Excel(name = "参数名称") + private String pollutantName; + + @ApiModelProperty(value = "统计年份") + @Excel(name = "统计年份") + private String statYear; + + @ApiModelProperty(value = "许可排放量(t/a)") + @Excel(name = "许可排放量(t/a))") + private String permitEmmisons; + + @ApiModelProperty(value = "实际排放量(t/a)") + @Excel(name = "实际排放量(t/a)") + private String realityEmmisons; + + @ApiModelProperty(value = "排放占比(实际排放量/许可排放量,%)") + @Excel(name = "排放占比(实际排放量/许可排放量,%)") + private String emmisonsRatio; + + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + @Excel(name = "超标分析类型", readConverterExp = "1=排放量超过许可排放量,2=排放量达到许可排放量90%,3=排放量预测超过许可排放量") + private String analyseType; + + + @ApiModel(value = "区域排放量超标分析vo") + @Data + public static class RegionVo extends SRaEmissionsOverVo { + @ApiModelProperty(value = "区域名称") + @Excel(name = "区域名称", sort = 1) + private String regionName; + } + + @ApiModel(value = "行业排放量超标分析vo") + @Data + public static class IndustryVo extends SRaEmissionsOverVo { + @ApiModelProperty(value = "行业名称") + @Excel(name = "区域名称", sort = 1) + private String industryName; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.java new file mode 100644 index 0000000..e0cff54 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.java @@ -0,0 +1,74 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业排放水平分析对象 s_ra_emissions_standard + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业排放水平分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsStandardVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "分析年份") + /** 分析年份 */ + private String analyseYear; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String pollutantName; + + @ApiModelProperty(value = "区域排名") + /** 区域排名 */ + private String regionRanking; + + @ApiModelProperty(value = "行业排名") + /** 行业排名 */ + private String industryRanking; + + @ApiModelProperty(value = "是否排放大户") + /** 是否排放大户 */ + private String isEmissionsBigUser; + + @ApiModelProperty(value = "排放规模") + /** 排放规模 */ + private String emissionsScale; + + @ApiModelProperty(value = "单位产品排放量强度") + /** 单位产品排放量强度 */ + private String unitEmissions; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryRegulatoryIssuesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryRegulatoryIssuesVo.java new file mode 100644 index 0000000..14f619a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryRegulatoryIssuesVo.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业证后监管问题总对象 s_ra_factory_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "企业证后监管问题总") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaFactoryRegulatoryIssuesVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + /** 执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报) */ + private String reportType; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "排污许可证编号") + /** 排污许可证编号 */ + private String pollDisLicenseCode; + + @ApiModelProperty(value = "月份") + /** 月份 */ + private String month; + + @ApiModelProperty(value = "治理设施异常问题个数") + /** 治理设施异常问题个数 */ + private String abnormalProblemsNum; + + @ApiModelProperty(value = "在线监测有效监测率") + /** 在线监测有效监测率 */ + private String effectiveMonitoringComplianceRate; + + @ApiModelProperty(value = "在线监测达标率") + /** 在线监测达标率 */ + private String onlineMonitoringComplianceRate; + + @ApiModelProperty(value = "手工监测频次合格率") + /** 手工监测频次合格率 */ + private String manualMonitoringFrequencyPassRate; + + @ApiModelProperty(value = "系统核算实际排放合格率") + /** 系统核算实际排放合格率 */ + private String sysAccActualEmissionPassRate; + + @ApiModelProperty(value = "执行报告实际排放合格率") + /** 执行报告实际排放合格率 */ + private String reportActualEmissionPassRate; + + @ApiModelProperty(value = "重污染管控执行率") + /** 重污染管控执行率 */ + private String heavyPollutionControlExacutiveRate; + + @ApiModelProperty(value = "是否需要提交执行报告") + /** 是否需要提交执行报告 */ + private String reportNeedSubmit; + + @ApiModelProperty(value = "执行报告是否提交") + /** 执行报告是否提交 */ + private String reportSubmit; + + @ApiModelProperty(value = "执行报告规范性") + /** 执行报告规范性 */ + private String reportNormative; + + @ApiModelProperty(value = "执行报告结果统计时间") + /** 执行报告结果统计时间 */ + private String reportStatisticsTime; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.java new file mode 100644 index 0000000..05d64a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo.analysis; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 企业传输率分析对象 s_ra_factory_transfer_rate_analysis + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "企业传输率分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaFactoryTransferRateAnalysisVo +{ + + + @ApiModelProperty(value = "id") + /** id */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "数据来源") + /** 数据来源 */ + private String dataSource; + + @ApiModelProperty(value = "点位/设备名称") + /** 点位/设备名称 */ + private String outletName; + + @ApiModelProperty(value = "点位/设备编号") + /** 点位/设备编号 */ + private String outletCode; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private Date statisticsTime; + + @ApiModelProperty(value = "应传个数") + /** 应传个数 */ + private Long transmittNum; + + @ApiModelProperty(value = "实际上传个数") + /** 实际上传个数 */ + private Long actualTransmittNum; + + @ApiModelProperty(value = "传输率") + /** 传输率 */ + private BigDecimal transmissionRate; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private Date createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private Date updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasFlagVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasFlagVo.java new file mode 100644 index 0000000..e3c13dd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasFlagVo.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.config.BigDecimalSerialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +public class SRaGasFlagVo { + + @ApiModel(value = "废气在线监测标记汇总表格数据") + @Data + public static class Row extends BaseVo { + @Excel(name = "开始时间", sort = 80) + @ApiModelProperty(value = "开始时间") + private String startTime; + + @Excel(name = "结束时间", sort = 90) + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty("监测点位id") + private String pointId; + + @Excel(name = "时长", sort = 100, cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "时长") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal duration; + + @Excel(name = "平均时长", sort = 110, cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "平均时长") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal durationAvg; + } + + @ApiModel(value = "废气在线监测标记明细表格数据") + @Data + public static class DetailRow extends BaseVo { + @Excel(name = "监测时间", sort = 80) + @ApiModelProperty(value = "监测时间") + private String monitorTime; + } + + @Data + public static class BaseVo { + @Excel(name = "企业名称", sort = 10) + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @Excel(name = "行业名称", sort = 20) + @ApiModelProperty("行业名称") + private String industryName; + + @Excel(name = "区县名称", sort = 30) + @ApiModelProperty("区县名称") + private String regionName; + + @Excel(name = "监测点位名称", sort = 40) + @ApiModelProperty("监测点位名称") + private String pointName; + + @Excel(name = "排口编号", sort = 50) + @ApiModelProperty(value = "排口编号") + private String outletCode; + + @Excel(name = "排口类型(1主要排口、2一般排口)", readConverterExp = "1=主要排口,2=一般排口", sort = 60) + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletTypes; + + @Excel(name = "标记类型", sort = 70) + @ApiModelProperty(value = "标记类型名称") + private String dataFlagName; + + @ApiModelProperty(value = "标记类型") + private String dataFlag; + + @Excel(name = "废气排放量(m³)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "废气排放量(m³)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal oxygenEmission; + + @Excel(name = "烟尘折算浓度(mg/m³)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "烟尘折算浓度(mg/m³)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal smokeDustConvert; + + @Excel(name = "烟尘排放量(kg)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "烟尘排放量(kg)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal smokeDustEmission; + + @Excel(name = "NOx折算浓度(mg/m³)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "NOx折算浓度(mg/m³)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal noxConvert; + + @Excel(name = "NOx排放量(kg)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "NOx排放量(kg)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal noxEmission; + + @Excel(name = "SO₂折算浓度(mg/m³)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "SO₂折算浓度(mg/m³)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal so2Convert; + + @Excel(name = "SO₂排放量(kg)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "SO₂排放量(kg)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal so2Emission; + + @Excel(name = "氧含量均值(%)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "氧含量均值(%)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal o3; + + @Excel(name = "烟气流速平均值(m/s)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "烟气流速平均值(m/s)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal smokeDustFlowVelocity; + + @Excel(name = "烟气温度平均值(℃)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "烟气温度平均值(℃)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal smokeDustTem; + + @Excel(name = "烟气压力平均值(千帕)", cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "烟气压力平均值(千帕)") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal smokeDustPressure; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedEmissionsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedEmissionsVo.java new file mode 100644 index 0000000..f1a8964 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedEmissionsVo.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 许可排放量废气明细对象 s_ra_gas_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废气明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaGasPermittedEmissionsVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "NOx排放量(kg)") + /** NOx排放量(kg) */ + private String nox; + + @ApiModelProperty(value = "NOx修约量(kg)") + /** NOx修约量(kg) */ + private String noxAmendments; + + @ApiModelProperty(value = "SO2排放量(kg)") + /** SO2排放量(kg) */ + private String so2; + + @ApiModelProperty(value = "so2修约量(kg)") + /** so2修约量(kg) */ + private String so2Amendments; + + @ApiModelProperty(value = "颗粒物排放量(kg)") + /** 颗粒物排放量(kg) */ + private String pm; + + @ApiModelProperty(value = "颗粒物修约量(kg)") + /** 颗粒物修约量(kg) */ + private String pmAmendments; + + @ApiModelProperty(value = "vocs排放量(kg)") + /** vocs排放量(kg) */ + private String vocs; + + @ApiModelProperty(value = "vocs修约量(kg)") + /** vocs修约量(kg) */ + private String vocsAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedOnlineVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedOnlineVo.java new file mode 100644 index 0000000..02caebe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaGasPermittedOnlineVo.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 在线排放量废气明细对象 s_ra_gas_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "在线排放量废气明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaGasPermittedOnlineVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "NOx排放量(kg)") + /** NOx排放量(kg) */ + private String nox; + + @ApiModelProperty(value = "NOx修约量(kg)") + /** NOx修约量(kg) */ + private String noxAmendments; + + @ApiModelProperty(value = "SO2排放量(kg)") + /** SO2排放量(kg) */ + private String so2; + + @ApiModelProperty(value = "so2修约量(kg)") + /** so2修约量(kg) */ + private String so2Amendments; + + @ApiModelProperty(value = "颗粒物排放量(kg)") + /** 颗粒物排放量(kg) */ + private String pm; + + @ApiModelProperty(value = "颗粒物修约量(kg)") + /** 颗粒物修约量(kg) */ + private String pmAmendments; + + @ApiModelProperty(value = "vocs排放量(kg)") + /** vocs排放量(kg) */ + private String vocs; + + @ApiModelProperty(value = "vocs修约量(kg)") + /** vocs修约量(kg) */ + private String vocsAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算,无效数据是否用修约量计算") + /** 纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算,无效数据是否用修约量计算 */ + private String includedEmissions; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.java new file mode 100644 index 0000000..f1c4753 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 手工监测排放监控-气污染要素对象 s_ra_handwork_emissions_gas + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "手工监测排放监控-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaHandworkEmissionsGasVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String pointName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantName; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "监测浓度") + /** 监测浓度 */ + private String monitorVal; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String unit; + + @ApiModelProperty(value = "烟气流量(m³/h)") + /** 烟气流量(m³/h) */ + private String flueGasFlow; + + @ApiModelProperty(value = "核算周期开始") + /** 核算周期开始 */ + private String checkCycleStart; + + @ApiModelProperty(value = "核算周期结束") + /** 核算周期结束 */ + private String checkCycleEnd; + + @ApiModelProperty(value = "核算周期生产运行时间") + /** 核算周期生产运行时间 */ + private String checkRunTime; + + @ApiModelProperty(value = "运行时间来源") + /** 运行时间来源 */ + private String runTimeSource; + + @ApiModelProperty(value = "排放量(t)") + /** 排放量(t) */ + private String emissions; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsWaterVo.java new file mode 100644 index 0000000..059a123 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsWaterVo.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 手工监测排放监控-水污染要素对象 s_ra_handwork_emissions_water + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "手工监测排放监控-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaHandworkEmissionsWaterVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String pointName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantName; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "监测浓度") + /** 监测浓度 */ + private String monitorVal; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String unit; + + @ApiModelProperty(value = "废水流量(m³/d)") + /** 废水流量(m³/d) */ + private String wasteWaterFlow; + + @ApiModelProperty(value = "核算周期开始") + /** 核算周期开始 */ + private String checkCycleStart; + + @ApiModelProperty(value = "核算周期结束") + /** 核算周期结束 */ + private String checkCycleEnd; + + @ApiModelProperty(value = "核算周期生产运行时间") + /** 核算周期生产运行时间 */ + private String checkRunTime; + + @ApiModelProperty(value = "运行时间来源") + /** 运行时间来源 */ + private String runTimeSource; + + @ApiModelProperty(value = "排放量(t)") + /** 排放量(t) */ + private String emissions; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.java new file mode 100644 index 0000000..95cc197 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 多源排放量汇总对象 s_ra_multi_source + * + * @author szhpt + * @date 2023-06-03*/ +@ApiModel(value = "多源排放量汇总") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaMultiSourceVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "污染物类型(1废气、2废水)") + /** 污染物类型(1废气、2废水) */ + private String pollutantsType; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String pollutantsName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + private String pollutantsCode; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private String monitorId; + + @ApiModelProperty(value = "许可排放量(kg)") + /** 许可排放量(kg) */ + private String permission; + + @ApiModelProperty(value = "许可修约量(kg)") + /** 许可修约量(kg) */ + private String permissionAmendments; + + @ApiModelProperty(value = "在线排放量(kg)") + /** 在线排放量(kg) */ + private String online; + + @ApiModelProperty(value = "在线修约量(kg)") + /** 在线修约量(kg) */ + private String onlineAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsGasVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsGasVo.java new file mode 100644 index 0000000..e8e6fe3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsGasVo.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 在线监测排放监控-气污染要素对象 s_ra_online_emissions_gas + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "在线监测排放监控-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOnlineEmissionsGasVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String pointName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantName; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "浓度小时均值") + /** 浓度小时均值 */ + private String hourAvg; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String unit; + + @ApiModelProperty(value = "烟气流量(m³/h)") + /** 烟气流量(m³/h) */ + private String flueGasFlow; + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + private String pollutantEmissions; + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + private String isValid; + + @ApiModelProperty(value = "修约排放量") + /** 修约排放量 */ + private String xyEmissions; + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + private String xyDesc; + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + private String bringIntoEmissions; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @Data + public static class ChartDataVo { + private String monitorTime; + private String pollutantEmissions; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.java new file mode 100644 index 0000000..682877f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.java @@ -0,0 +1,105 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 在线监测排放监控-水污染要素对象 s_ra_online_emissions_water + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "在线监测排放监控-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOnlineEmissionsWaterVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private String id; + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + @ApiModelProperty(value = "监测点位名称") + /** 监测点位名称 */ + private String pointName; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "排口类型") + /** 排口类型 */ + private String outletType; + + @ApiModelProperty(value = "污染物种类") + /** 污染物种类 */ + private String pollutantName; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "浓度日均值") + /** 浓度日均值 */ + private String dayAvg; + + @ApiModelProperty(value = "浓度单位") + /** 浓度单位 */ + private String unit; + + @ApiModelProperty(value = "废水流量(m³/d)") + /** 废水流量(m³/d) */ + private String wasteWaterFlow; + + @ApiModelProperty(value = "污染物排放量(kg)") + /** 污染物排放量(kg) */ + private String pollutantEmissions; + + @ApiModelProperty(value = "是否有效") + /** 是否有效 */ + private String isValid; + + @ApiModelProperty(value = "修约排放量") + /** 修约排放量 */ + private String xyEmissions; + + @ApiModelProperty(value = "修约说明") + /** 修约说明 */ + private String xyDesc; + + @ApiModelProperty(value = "纳入计算排放量(kg)") + /** 纳入计算排放量(kg) */ + private String bringIntoEmissions; + + @ApiModelProperty(value = "创建人") + /** 创建人 */ + private String createBy; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "更新人") + /** 更新人 */ + private String updateBy; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @Data + public static class ChartDataVo { + private String monitorTime; + private String pollutantEmissions; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateGasVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateGasVo.java new file mode 100644 index 0000000..5ad331c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateGasVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +@ApiModel(value = "超标率分析-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOverRateGasVo +{ + @Excel(name = "统计时间") + @ApiModelProperty(value = "统计时间") + private String statisticsTime; + + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @Excel(name = "行业名称") + @ApiModelProperty(value = "行业名称") + private String argumentsName; + + @Excel(name = "区县名称") + @ApiModelProperty(value = "区县名称") + private String countryName; + + @Excel(name = "监测点位名称") + @ApiModelProperty(value = "监测点位名称") + private String pointName; + + @Excel(name = "排口编号") + @ApiModelProperty(value = "排口编号") + private String outletCode; + + @Excel(name = "有效监测数据(小时值)数量") + @ApiModelProperty(value = "有效监测数据(小时值)数量") + private String validDataCount; + + @Excel(name = "so2超标次数") + @ApiModelProperty(value = "so2超标次数") + private String so2OverCount; + + @Excel(name = "so2超标率") + @ApiModelProperty(value = "so2超标率") + private String so2OverRate; + + @Excel(name = "NOx超标次数") + @ApiModelProperty(value = "NOx超标次数") + private String noxOverCount; + + @Excel(name = "NOx超标率") + @ApiModelProperty(value = "NOx超标率") + private String noxOverRate; + + @Excel(name = "颗粒物超标次数") + @ApiModelProperty(value = "颗粒物超标次数") + private String pmOverCount; + + @Excel(name = "颗粒物超标率") + @ApiModelProperty(value = "颗粒物超标率") + private String pmOverRate; + + @Excel(name = "VOCs超标次数") + @ApiModelProperty(value = "VOCs超标次数") + private String vocsOverCount; + + @Excel(name = "VOCs超标率") + @ApiModelProperty(value = "VOCs超标率") + private String vocsOverRate; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateWaterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateWaterVo.java new file mode 100644 index 0000000..b30639b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaOverRateWaterVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@ApiModel(value = "超标率分析-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOverRateWaterVo +{ + + @ApiModelProperty(value = "统计时间") + @Excel(name = "统计时间") + private String statisticsTime; + + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称") + private String factoryName; + + @Excel(name = "行业名称") + @ApiModelProperty(value = "行业名称") + private String argumentsName; + + @Excel(name = "区县名称") + @ApiModelProperty(value = "区县名称") + private String countryName; + + @ApiModelProperty(value = "监测点位名称") + @Excel(name = "监测点位名称") + private String pointName; + + @ApiModelProperty(value = "排口编号") + @Excel(name = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "有效监测数据(日均值)数量") + @Excel(name = "有效监测数据(日均值)数量") + private String validDataCount; + + @ApiModelProperty(value = "COD超标次数") + @Excel(name = "COD超标次数") + private String codOverCount; + + @ApiModelProperty(value = "COD超标率") + @Excel(name = "COD超标率") + private String codOverRate; + + @ApiModelProperty(value = "氨氮超标次数") + @Excel(name = "氨氮超标次数") + private String nh3OverCount; + + @ApiModelProperty(value = "氨氮超标率") + @Excel(name = "氨氮超标率") + private String nh3OverRate; + + @ApiModelProperty(value = "总磷超标次数") + @Excel(name = "总磷超标次数") + private String tpOverCount; + + @ApiModelProperty(value = "总磷超标率") + @Excel(name = "总磷超标率") + private String tpOverRate; + + @ApiModelProperty(value = "总氮超标次数") + @Excel(name = "总氮超标次数") + private String tnOverCount; + + @ApiModelProperty(value = "总氮超标率") + @Excel(name = "总氮超标率") + private String tnOverRate; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitMonitorVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitMonitorVo.java new file mode 100644 index 0000000..101b424 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitMonitorVo.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位对象 s_ra_real_time_analysic_comsit_monitor + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysicComsitMonitorVo extends PageQuery +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger dataId; + + @ApiModelProperty(value = "分组表id") + /** 分组表id */ + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger comsitId; + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private String monitorId; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + @Excel(name = "行业") + @ApiModelProperty(value = "行业名称") + private String industryCategoryName; + @Excel(name = "参数名称") + @ApiModelProperty(value = "参数名称") + private String parameterName; + @Excel(name = "监测点位名称") + @ApiModelProperty(value = "对应监测点位名称") + /** 对应监测点位名称*/ + private String monitoringPointName; + + @ApiModelProperty(value = "对应治理设施名称") + /** 对应治理设施名称*/ + private String manageFacilitiesName; + + + @ApiModelProperty(value = "对应生产设施名称") + /** 对应生产设施名称 */ + private String productionFacilitiesName; + + @ApiModelProperty(value = "生产单元名称") + /** 生产单元名称 */ + private String productionUnitName; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "分析时间") + /** 数据分析时间 */ + @Excel(name = "分析时间",dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date analysisTime; + @ApiModelProperty(value = "异常说明") + @Excel(name = "异常说明") + private String exceptionEclaration; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitVo.java new file mode 100644 index 0000000..1d95a1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysicComsitVo.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组对象 s_ra_real_time_analysic_comsit + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysicComsitVo +{ + + + @ApiModelProperty(value = "主键") + /** 主键 */ + private Long dataId; + + @ApiModelProperty(value = "分组名称") + /** 分组名称 */ + private String sectionalizationName; + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + private String paramName; + + @ApiModelProperty(value = "数据分析时间") + /** 数据分析时间 */ + private String analysisTime; + + @ApiModelProperty(value = "监测点数量") + /** 监测点数量 */ + private Long stationNum; + + @ApiModelProperty(value = "创建时间") + /** 创建时间 */ + private String createTime; + + @ApiModelProperty(value = "平均值") + /** 平均值 */ + private String avgValue; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCementVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCementVo.java new file mode 100644 index 0000000..1726545 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCementVo.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析对象 s_ra_real_time_analysis_cement + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-水泥熟料产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCementVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "$column.columnComment") + /** $column.columnComment */ + private String deviceType; + + @ApiModelProperty(value = "生产端加料量小时均值(t)") + /** 生产端加料量小时均值(t) */ + private String addNumber; + + @ApiModelProperty(value = "水泥熟料产量(t)") + /** 水泥熟料产量(t) */ + private String grogNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.java new file mode 100644 index 0000000..be28864 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * co放散分析对象 s_ra_real_time_analysis_co + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "co放散分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCoVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "放散情况") + /** 放散情况 */ + private String diffuse; + + @ApiModelProperty(value = "备注") + /** 备注 */ + private String remark; + + @ApiModelProperty(value = "工序") + /** 工序 */ + private String workingProcedure; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "分析时间") + /** 分析时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.java new file mode 100644 index 0000000..99ee337 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 装煤推焦次数分析对象 s_ra_real_time_analysis_coal + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "装煤推焦次数分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCoalVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "放散情况") + /** 放散情况 */ + private Long coalNumber; + + @ApiModelProperty(value = "推焦次数") + /** 推焦次数 */ + private Long cokeNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.java new file mode 100644 index 0000000..04ff125 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析对象 s_ra_real_time_analysis_coke + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-焦炭产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCokeVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "设备类型") + /** 设备类型 */ + private String deviceType; + + @ApiModelProperty(value = "炭化室有效容积(m3)") + /** 炭化室有效容积(m3) */ + private String volumeNumber; + + @ApiModelProperty(value = "小时推焦数") + /** 小时推焦数 */ + private Long pushNumber; + + @ApiModelProperty(value = "焦炭产量(t)") + /** 焦炭产量(t) */ + private String cokeNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisConverterVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisConverterVo.java new file mode 100644 index 0000000..f3ce7b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisConverterVo.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 转炉产量分析对象 s_ra_real_time_analysis_converter + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "转炉产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisConverterVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "炉数") + /** 炉数 */ + private Long converterNumber; + + @ApiModelProperty(value = "公称容量") + /** 公称容量 */ + private String nominalNumber; + + @ApiModelProperty(value = "产量") + /** 产量 */ + private String outputNumber; + + @ApiModelProperty(value = "出钢量") + /** 出钢量 */ + private String tapNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.java new file mode 100644 index 0000000..dbca326 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 高炉产量分析对象 s_ra_real_time_analysis_furnace + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "高炉产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisFurnaceVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "出铁量") + /** 出铁量 */ + private String tapNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisGlassVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisGlassVo.java new file mode 100644 index 0000000..5b2ebaa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisGlassVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析对象 s_ra_real_time_analysis_glass + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-玻璃产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisGlassVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "退火窑实时车速小时均值(m/小时)") + /** 退火窑实时车速小时均值(m/小时) */ + private String kilnNumber; + + @ApiModelProperty(value = "额定车速(m/小时)") + /** 额定车速(m/小时) */ + private String ratedNumber; + + @ApiModelProperty(value = "设计产能(t)") + /** 设计产能(t) */ + private String planNumber; + + @ApiModelProperty(value = "玻璃产量(t)") + /** 玻璃产量(t) */ + private String glassNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisKwhVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisKwhVo.java new file mode 100644 index 0000000..87ee27c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisKwhVo.java @@ -0,0 +1,94 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业用电水平分析对象 s_ra_real_time_analysis_kwh + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业用电水平分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisKwhVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + private String districtName; + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + @ApiModelProperty(value = "参数名称(污染物全写)") + /** 参数名称(污染物全写) */ + private String paramName; + + @ApiModelProperty(value = "区域排名") + /** 区域排名 */ + private Long areaRank; + + @ApiModelProperty(value = "行业排名") + /** 行业排名 */ + private Long industryRank; + + @ApiModelProperty(value = "是否用电大户(0-否,1-是)") + /** 是否用电大户(0-否,1-是) */ + private String largeHouse; + + @ApiModelProperty(value = "用电规模") + /** 用电规模 */ + private String scale; + + @ApiModelProperty(value = "单位产品用电强度") + /** 单位产品用电强度 */ + private String vol; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "年份(yyyy)") + /** 年份(yyyy) */ + private String year; + + @ApiModelProperty(value = "参数编码(污染物简写)") + /** 参数编码(污染物简写) */ + private String paramCode; + + @ApiModelProperty(value = "参数单位(污染物单位)") + /** 参数单位(污染物单位) */ + private String paramUnit; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.java new file mode 100644 index 0000000..0599590 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析对象 s_ra_real_time_analysis_power + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-机组负荷分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisPowerVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "机组负荷(MW)") + /** 机组负荷(MW) */ + private String powerNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRubbishVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRubbishVo.java new file mode 100644 index 0000000..936b3fe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRubbishVo.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析对象 s_ra_real_time_analysis_rubbish + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-垃圾处理量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRubbishVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "垃圾处理量(kg)") + /** 垃圾处理量(kg) */ + private String rubbishNumber; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "统计时间") + /** 统计时间 */ + private String analyseTime; + + @ApiModelProperty(value = "入炉方式") + /** 入炉方式 */ + private String feedingMethod; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.java new file mode 100644 index 0000000..9faa3e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业装备运行情况实时分析对象 s_ra_real_time_analysis_run + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业装备运行情况实时分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRunVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + /** 设备类型(生产设备/治理设备) */ + private String equipmentType; + + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失)") + /** 运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失) */ + private String operationStatus; + + @ApiModelProperty(value = "判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断)") + /** 判断依据(1=工况数据,2=分表计电数据,3=数据缺失,4=无法判断) */ + private String judgementBasis; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisStopVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisStopVo.java new file mode 100644 index 0000000..243be83 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisStopVo.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +/** + * 企业装备停限产分析报(DCS)对象 s_ra_real_time_analysis_stop + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业装备停限产分析报(DCS)") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisStopVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "绩效级别") + /** 绩效级别 */ + private String performanceLevel; + + @ApiModelProperty(value = "设备名称") + /** 设备名称 */ + private String deviceName; + + @ApiModelProperty(value = "设备编号") + /** 设备编号 */ + private String deviceId; + + @ApiModelProperty(value = "运行状态时间段") + /** 运行状态时间段 */ + private String runEtc; + + @ApiModelProperty(value = "异常情况") + /** 异常情况 */ + private String goingsOn; + + @ApiModelProperty(value = "工序") + /** 工序 */ + private String workingProcedure; + + @ApiModelProperty(value = "更新时间") + /** 更新时间 */ + private String updateTime; + + @ApiModelProperty(value = "创建时间(默认当前时间)") + /** 创建时间(默认当前时间) */ + private String createTime; + + @ApiModelProperty(value = "分析时间") + /** 分析时间 */ + private String analyseTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaSelfMonitoringDataVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaSelfMonitoringDataVo.java new file mode 100644 index 0000000..7faea86 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaSelfMonitoringDataVo.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 关联分析系统-企业自行监测数据对象 s_ra_self_monitoring_data + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "关联分析系统-企业自行监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaSelfMonitoringDataVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "存企业表排污许可行业字段类别名称(多个使用'、'拼接)") + /** 存企业表排污许可行业字段类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "存企业表排污许可行业字段类别编码(多个使用'、'拼接)") + /** 存企业表排污许可行业字段类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "污染物名称") + /** 污染物名称 */ + private String pollutantsName; + + @ApiModelProperty(value = "污染物编码") + /** 污染物编码 */ + private String pollutantsCode; + + @ApiModelProperty(value = "采样时间") + /** 采样时间 */ + private String monitorTime; + + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "监测点id") + /** 监测点id */ + private String monitorId; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String monitoringName; + + @ApiModelProperty(value = "流量(m3/h)") + /** 流量(m3/h) */ + private String flow; + + @ApiModelProperty(value = "温度(%)") + /** 温度(%) */ + private String temperatureHumidity; + + @ApiModelProperty(value = "含氧量(%)") + /** 含氧量(%) */ + private String oxygenContent; + + @ApiModelProperty(value = "流速(m/s)") + /** 流速(m/s) */ + private String velocity; + + @ApiModelProperty(value = "生产负荷(%)") + /** 生产负荷(%) */ + private String productionLoad; + + @ApiModelProperty(value = "实测浓度") + /** 实测浓度 */ + private String actualConcentration; + + @ApiModelProperty(value = "折算浓度") + /** 折算浓度 */ + private String obversionConcentration; + + @ApiModelProperty(value = "限值上限") + /** 限值上限 */ + private String upperValue; + + @ApiModelProperty(value = "限值下限") + /** 限值下限 */ + private String lowerValue; + + @ApiModelProperty(value = "频次单位") + /** 频次单位 */ + private String frequencyUnit; + + @ApiModelProperty(value = "是否超标;0---否,1----是") + /** 是否超标;0---否,1----是 */ + private String exceedingStandard; + + @ApiModelProperty(value = "超标倍数") + /** 超标倍数 */ + private String exceedingMultiple; + + @ApiModelProperty(value = "湿度") + /** 湿度 */ + private String humidity; + + @ApiModelProperty(value = "频次值") + /** 频次值 */ + private String frequencyValue; + + @ApiModelProperty(value = "超标原因") + /** 超标原因 */ + private String reason; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.java new file mode 100644 index 0000000..b73d752 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.config.BigDecimalSerialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +public class SRaWaterFlagVo { + + @ApiModel(value = "废水在线监测标记汇总表格数据") + @Data + public static class Row extends BaseVo { + @Excel(name = "开始时间", sort = 80) + @ApiModelProperty(value = "开始时间") + private String startTime; + + @Excel(name = "结束时间", sort = 90) + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty("监测点位id") + private String pointId; + + @Excel(name = "时长", sort = 100, cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "时长") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal duration; + + @Excel(name = "平均时长", sort = 110, cellType = Excel.ColumnType.NUMERIC) + @ApiModelProperty(value = "平均时长") + @JsonSerialize(using = BigDecimalSerialize.class) + private BigDecimal durationAvg; + } + + @ApiModel(value = "废水在线监测标记明细表格数据") + @Data + public static class DetailRow extends BaseVo { + @Excel(name = "监测时间", sort = 80) + @ApiModelProperty(value = "监测时间") + private String monitorTime; + } + + @Data + public static class BaseVo { + @Excel(name = "企业名称", sort = 10) + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @Excel(name = "行业名称", sort = 20) + @ApiModelProperty("行业名称") + private String industryName; + + @Excel(name = "区县名称", sort = 30) + @ApiModelProperty("区县名称") + private String regionName; + + @Excel(name = "监测点位名称", sort = 40) + @ApiModelProperty("监测点位名称") + private String pointName; + + @Excel(name = "排口编号", sort = 50) + @ApiModelProperty(value = "排口编号") + private String outletCode; + + @Excel(name = "排口类型(1主要排口、2一般排口)", readConverterExp = "1=主要排口,2=一般排口", sort = 60) + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletTypes; + + @Excel(name = "标记类型", sort = 70) + @ApiModelProperty(value = "标记类型名称") + private String dataFlagName; + + @ApiModelProperty(value = "标记类型") + private String dataFlag; + + @Excel(name = "COD浓度(mg/L)", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "COD浓度(mg/L)") + private BigDecimal codConcentration; + + @Excel(name = "氨氮浓度(mg/L)", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "氨氮浓度(mg/L)") + private BigDecimal ammoniaNitrogen; + + @Excel(name = "总氮浓度(mg/L)", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "总氮浓度(mg/L)") + private BigDecimal nitrogenConcentration; + + @Excel(name = "总磷浓度(mg/L)", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "总磷浓度(mg/L)") + private BigDecimal phosphorusConcentration; + + @Excel(name = "PH值", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "PH值") + private BigDecimal phValue; + + @Excel(name = "废水流量(m³)", cellType = Excel.ColumnType.NUMERIC) + @JsonSerialize(using = BigDecimalSerialize.class) + @ApiModelProperty(value = "废水流量(m³)") + private BigDecimal wastewaterFlow; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.java new file mode 100644 index 0000000..4c30b49 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaWaterPermittedEmissionsVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "cod排放量(kg)") + /** cod排放量(kg) */ + private String cod; + + @ApiModelProperty(value = "cod修约量(kg)") + /** cod修约量(kg) */ + private String codAmendments; + + @ApiModelProperty(value = "总氮排放量(kg)") + /** 总氮排放量(kg) */ + private String nitrogen; + + @ApiModelProperty(value = "总氮修约量(kg)") + /** 总氮修约量(kg) */ + private String nitrogenAmendments; + + @ApiModelProperty(value = "氨氮排放量(kg)") + /** 氨氮排放量(kg) */ + private String ammonia; + + @ApiModelProperty(value = "氨氮修约量(kg)") + /** 氨氮修约量(kg) */ + private String ammoniaAmendments; + + @ApiModelProperty(value = "总磷排放量(kg)") + /** 总磷排放量(kg) */ + private String phosphorus; + + @ApiModelProperty(value = "总磷修约量(kg)") + /** 总磷修约量(kg) */ + private String phosphorusAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedOnlineVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedOnlineVo.java new file mode 100644 index 0000000..9336f65 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/SRaWaterPermittedOnlineVo.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaWaterPermittedOnlineVo +{ + + + @ApiModelProperty(value = "数据主键") + /** 数据主键 */ + private String dataId; + + @ApiModelProperty(value = "企业主键") + /** 企业主键 */ + private String factoryId; + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + private String factoryName; + + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + /** 行业类别名称(多个使用'、'拼接) */ + private String industryCategoryName; + + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + /** 行业类别编码(多个使用'、'拼接) */ + private String industryCategoryCode; + + @ApiModelProperty(value = "所在区县名称") + /** 所在区县名称 */ + private String districtName; + + @ApiModelProperty(value = "所在区县编码") + /** 所在区县编码 */ + private String districtCode; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + /** 排口类型(1主要排口、2一般排口) */ + private String outletType; + + @ApiModelProperty(value = "监测点名称") + /** 监测点名称 */ + private String moitorName; + + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + /** 监测类型(1自动监测、2手工检测) */ + private String monitorType; + + @ApiModelProperty(value = "监测时间") + /** 监测时间 */ + private String monitorTime; + + @ApiModelProperty(value = "排口编号") + /** 排口编号 */ + private String outletCode; + + @ApiModelProperty(value = "cod排放量(kg)") + /** cod排放量(kg) */ + private String cod; + + @ApiModelProperty(value = "cod修约量(kg)") + /** cod修约量(kg) */ + private String codAmendments; + + @ApiModelProperty(value = "总氮排放量(kg)") + /** 总氮排放量(kg) */ + private String nitrogen; + + @ApiModelProperty(value = "总氮修约量(kg)") + /** 总氮修约量(kg) */ + private String nitrogenAmendments; + + @ApiModelProperty(value = "氨氮排放量(kg)") + /** 氨氮排放量(kg) */ + private String ammonia; + + @ApiModelProperty(value = "氨氮修约量(kg)") + /** 氨氮修约量(kg) */ + private String ammoniaAmendments; + + @ApiModelProperty(value = "总磷排放量(kg)") + /** 总磷排放量(kg) */ + private String phosphorus; + + @ApiModelProperty(value = "总磷修约量(kg)") + /** 总磷修约量(kg) */ + private String phosphorusAmendments; + + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String dataFlag; + + @ApiModelProperty(value = "入库时间") + /** 入库时间 */ + private String createTime; + + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + /** 纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算 */ + private String includedEmissions; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/WaterPollutionTraceabilityVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/WaterPollutionTraceabilityVo.java new file mode 100644 index 0000000..a804359 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/analysis/WaterPollutionTraceabilityVo.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.vo.analysis; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class WaterPollutionTraceabilityVo { + + private String id; + @ApiModelProperty("点位名称") + private String pointName; + @ApiModelProperty("编号") + private String code ; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("点位类型:1,直排,2:间排,3:污水处理厂,4:入河口") + private String type; + + private String longitude; + + private String latitude; + + private String nowConcentration; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirParmaVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirParmaVo.java new file mode 100644 index 0000000..8a1a14e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirParmaVo.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo.effective; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhangshiji + * @date 2022/7/13 + */ +@ApiModel(value = "日均 自定义数据 查询参数VO") +@Data +public class AirParmaVo { + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "区域code") + private String regionCode; + @ApiModelProperty(value = "站点id集合") + private List stationIdList; + @ApiModelProperty(value = "区域code集合") + private List regionCodeList; + @ApiModelProperty(value = "时间点") + private String datetime; + + @ApiModelProperty(value = "时间类型",hidden = true) + private Integer dateType; + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + @ApiModelProperty(value = "1:小时 2:天 3:月 4:年 5:自定义") + private Integer timeType; + @ApiModelProperty(value = "1:站点 2:区域") + private Integer siteOrRegion; + @ApiModelProperty(value = " 337城市 168城市 2+26城市 省内地市 县市区 街镇等,目前改为动态的了") + private Integer airRegionCity; + @ApiModelProperty(value = "对比类型 1:同比 2:环比") + private Integer contrastType; + @ApiModelProperty(value = "同比年份") + private Integer yearOnYear; + + @ApiModelProperty(value = "页码") + private Integer pageNum; + @ApiModelProperty(value = "每页条数") + private Integer pageSize; + + + @ApiModelProperty(value = "是否通过时间 倒序排序 0:否 1:是") + private Integer descSort; + @ApiModelProperty(value = "是否通过时间 正序排序 0:否 1:是") + private Integer ascSort; + @ApiModelProperty(value = "省内code") + private String provinceCode; + + private String userRegionCode; + private String userProvinceCode; + + public AirParmaVo() { + this.descSort = 1; + this.pageNum = 1; + this.pageSize = 10; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityConverter.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityConverter.java new file mode 100644 index 0000000..1ddb22a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityConverter.java @@ -0,0 +1,325 @@ +package cn.cecep.talroad.vo.effective; +/* +*@Author: liuwenshuang +*@date: 2019/7/18 +*/ + + +import cn.cecep.talroad.util.effective.AirQualityLevelType; +import cn.cecep.talroad.util.effective.FieldCache; +import cn.cecep.talroad.util.effective.PollutantConcType; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Map; + +@Component +public class AirQualityConverter { + //小时值 + public static final Integer[][]aqiLevel = {{0, 50}, {51, 100}, {101, 150}, {151, 200}, {201, 300}, {301, 1000}}; + public static final Integer[][]pm25Level = {{0, 35}, {36, 75}, {76, 115}, {116, 150}, {151, 250}, {251, 10000}}; + public static final Integer[][]pm10Level = {{0, 50}, {51, 150}, {151, 250}, {251, 350}, {351, 420}, {421, 1000}}; + public static final Integer[][]coLevel = {{0, 500}, {600, 1000}, {1100, 3500}, {3600, 6000}, {6100, 9000}, {9100, 100000}}; + public static final Integer[][]no2Level = {{0, 100}, {101, 200}, {201, 700}, {701, 1200}, {1201, 2340}, {2341, 30000}}; + public static final Integer[][]so2Level = {{0, 150}, {151, 500}, {501, 650}, {651, 800}, {801, 1600}, {1601, 20000}}; + public static final Integer[][]o3Level = {{0, 160}, {161, 200}, {201, 300}, {301, 400}, {401, 800}, {801, 10000}}; + public static final Integer[][]tspLevel = {{0, 100}, {101, 160}, {161, 215}, {216, 265}, {266, 800}, {801, 1000}}; + public static final Integer[][]tvocLevel = {{0, 100}, {101, 160}, {161, 215}, {216, 265}, {266, 800}, {801, 1000}}; + public static final Integer[][]noxLevel = {{0, 100}, {101, 160}, {161, 215}, {216, 265}, {266, 800}, {801, 1000}}; + public static final Integer[][]o38hLevel = {{0, 100}, {101, 160}, {161, 215}, {216, 265}, {266, 800}, {801, 1000}}; + public static final Integer[][]pmiLevel = {{0, 50}, {51, 100}, {101, 150}, {151, 200}, {201, 300}, {301, 1000}}; + //24h值 + public static final Integer[][] so2Level_24 = {{0,50},{51,150},{151,475},{476,800},{801,1600},{1601,2100},{2101,2620}}; + public static final Integer[][] no2level_24 = {{0,40},{41,80},{81,180},{181,280},{281,565},{566,750},{751,940}}; + public static final Integer[][] coLevel_24 = {{0,20},{30,40},{50,140},{150,240},{250,360},{370,480},{490,600}}; + public static final Integer[][] coLevel_24YYY = {{0,2},{3,4},{5,14},{15,24},{25,36},{37,48},{49,60}}; + public static final String[] airLevel = { "优", "良", "轻度污染", "中度污染", "重度污染", "严重污染" }; + public static final String[] airLevelSimple = { "优", "良", "轻度", "中度", "重度", "严重" }; + public static final String[] airLevelColor = { "43CE16", "EFDC31", "FF7E00", "FF0000", "99004C", "7E0023" }; + private static AirQualityConverter utils; + @Autowired + private FieldCache fieldCache; + + public static AirQualityLevelType levelNumToAQLevel(int level) + { + if ((level < 1) || (level > AirQualityLevelType.values().length)) { + return null; + } + return AirQualityLevelType.values()[(level - 1)]; + } + + public static int ConcToIAQI(PollutantConcType pct, int iConc) + { + return pct.getIAQIByConc(iConc); + } + + public static int IAQIToConc(PollutantConcType pct, int iIAQI) + { + return pct.getConcByIAQI(iIAQI); + } + + public static AirQualityLevelType IAQIToAQLevel(int iIAQI) + { + int iAQLevelFigure = PollutantConcType.getAQLevelFigureByIAQI(iIAQI); + if (iAQLevelFigure < 1) { + return null; + } + return AirQualityLevelType.values()[(iAQLevelFigure - 1)]; + } + + // 计算AQI + public static int concAQI(Map iaqiParam) { + + int max=0; + if(iaqiParam != null && iaqiParam.size () > 0) { + for(Map.Entry entry : iaqiParam.entrySet()){ + if((int)entry.getValue()>max){ + max = (int) entry.getValue(); + } + } + } + return max; + } + + // 计算PMI + public static BigDecimal concPMI(Map iaqiParam) { + + BigDecimal max = new BigDecimal (0); + if(iaqiParam != null && iaqiParam.size () > 0) { + for(Map.Entry entry: iaqiParam.entrySet()){ + if(entry==null||entry.getValue()==null){ + continue; + } + if(((BigDecimal)entry.getValue()).compareTo (max) == 1){ + max = (BigDecimal)entry.getValue(); + } + } + } + return max; + } + + public static String concMainPollutant(Map iaqiParam) { + + if(iaqiParam.size () <= 0) { + return null; + } else { + int max=0; + String key = ""; + for(Map.Entry entry: iaqiParam.entrySet()){ + if((int)entry.getValue()>max){ + max = (int) entry.getValue(); + key = (String) entry.getKey(); + } + } + return key; + } + } + + /** + * 计算综合指数 + * @param pct + * @param iConc + * @return + */ + public static BigDecimal concToIPMI(PollutantConcType pct, BigDecimal iConc) { + return pct.getIPMIByConc (iConc); + } + + public static int getIsOverByStandardHour(PollutantConcType pct, int iaqi) { + return pct.getIsOverByStandardHour (iaqi); + } + + /** + * 根据六参数计算AQI + * @param + * @return + */ + //24小时平均 + public static int concAqiBySixParam(BigDecimal pm25, BigDecimal pm10, BigDecimal so2, BigDecimal no2, BigDecimal co, BigDecimal o3) { + int pm25IAQI = PollutantConcType.PM25_24.getIAQIByConc(pm25.intValue()); + int pm10IAQI = PollutantConcType.PM10_24.getIAQIByConc(pm10.intValue()); + int so2IAQI = PollutantConcType.SO2_24.getIAQIByConc(so2.intValue()); + int no2IAQI = PollutantConcType.NO2_24.getIAQIByConc(no2.intValue()); + int coIAQI = PollutantConcType.CO_24.getIAQIByConc(co.multiply(new BigDecimal("1000")).intValue()); + int o3IAQI = PollutantConcType.O3_1.getIAQIByConc(o3.intValue()); + int[] array = {pm25IAQI, pm10IAQI, so2IAQI, no2IAQI, coIAQI, o3IAQI}; + return Arrays.stream(array).max().getAsInt(); + } + + //自定义时间计算平均,日数据 + public static int concAqiBySixParamByCustomTime(BigDecimal pm25, BigDecimal pm10, BigDecimal so2, BigDecimal no2, BigDecimal co, BigDecimal o3) { + int pm25IAQI = PollutantConcType.PM25_24.getIAQIByConc(pm25.intValue()); + int pm10IAQI = PollutantConcType.PM10_24.getIAQIByConc(pm10.intValue()); + int so2IAQI = PollutantConcType.SO2_24.getIAQIByConc(so2.intValue()); + int no2IAQI = PollutantConcType.NO2_24.getIAQIByConc(no2.intValue()); + int coIAQI = PollutantConcType.CO_24.getIAQIByConc(co.multiply(new BigDecimal("1000")).intValue()); + int o3IAQI = PollutantConcType.O3_8.getIAQIByConc(o3.intValue()); + int[] array = {pm25IAQI, pm10IAQI, so2IAQI, no2IAQI, coIAQI, o3IAQI}; + return Arrays.stream(array).max().getAsInt(); + } + + /** + * 根据七参数计算AQI + * @param + * @return + */ + //1小时平均 + public static int concAqiBySevenParam(BigDecimal pm25, BigDecimal pm10, BigDecimal so2, BigDecimal no2, BigDecimal co, BigDecimal o3,BigDecimal o38h) { + int pm25IAQI = PollutantConcType.PM25_24.getIAQIByConc(pm25.intValue()); + int pm10IAQI = PollutantConcType.PM10_24.getIAQIByConc(pm10.intValue()); + int so2IAQI = PollutantConcType.SO2_1.getIAQIByConc(so2.intValue()); + int no2IAQI = PollutantConcType.NO2_1.getIAQIByConc(no2.intValue()); + int coIAQI = PollutantConcType.CO_1.getIAQIByConc(co.multiply(new BigDecimal("1000")).intValue()); + int o3IAQI = PollutantConcType.O3_1.getIAQIByConc(o3.intValue()); + int o38hIAQI = PollutantConcType.O3_8.getIAQIByConc(o38h.intValue()); + int[] array = {pm25IAQI, pm10IAQI, so2IAQI, no2IAQI, coIAQI, o3IAQI,o38hIAQI}; + return Arrays.stream(array).max().getAsInt(); + } + + //1小时平均 + public static int concAqiBySixParam2(int pm25, int pm10, int so2, int no2, int co, int o3) { + int pm25IAQI = PollutantConcType.PM25_24.getIAQIByConc(pm25); + int pm10IAQI = PollutantConcType.PM10_24.getIAQIByConc(pm10); + int so2IAQI = PollutantConcType.SO2_1.getIAQIByConc(so2); + int no2IAQI = PollutantConcType.NO2_1.getIAQIByConc(no2); + int coIAQI = PollutantConcType.CO_1.getIAQIByConc(co*1000); + int o3IAQI = PollutantConcType.O3_1.getIAQIByConc(o3); + int[] array = {pm25IAQI, pm10IAQI, so2IAQI, no2IAQI, coIAQI, o3IAQI}; + return Arrays.stream(array).max().getAsInt(); + } + + public static BigDecimal concPMIBySixParam(BigDecimal pm25, BigDecimal pm10, BigDecimal so2, BigDecimal no2, BigDecimal co, BigDecimal o3) { + BigDecimal pmi = new BigDecimal(0); + pmi = pmi.add(PollutantConcType.PM25_HOUR.getIPMIByConc(pm25)); + pmi = pmi.add(PollutantConcType.PM10_HOUR.getIPMIByConc(pm10)); + pmi = pmi.add(PollutantConcType.SO2_HOUR.getIPMIByConc(so2)); + pmi = pmi.add(PollutantConcType.NO2_HOUR.getIPMIByConc(no2)); + pmi = pmi.add(PollutantConcType.CO_HOUR.getIPMIByConc(co)); + pmi = pmi.add(PollutantConcType.O3_HOUR.getIPMIByConc(o3)); + return pmi; + } + + /** + * 百分位 计算方法 + * + * @param data + * @param p + * @return + */ + public static BigDecimal percentile(Object[] data, BigDecimal p) { + BigDecimal n = new BigDecimal(data.length); + Arrays.sort(data); + BigDecimal px = p.multiply(n.subtract(new BigDecimal(1))); + int i = (int) Math.floor(px.doubleValue()); + BigDecimal g = px.subtract(new BigDecimal(i)); + if (g.compareTo(new BigDecimal(0)) == 0) { + return (BigDecimal) data[i]; + } else { + BigDecimal data1 = (BigDecimal) data[i]; + BigDecimal data2 = (BigDecimal) data[i + 1]; + BigDecimal value = (new BigDecimal(1).subtract(g)).multiply(data1).add(g.multiply(data2)); + return value; + } + } + + /** + * 根据因子判断等级 (优 良) + * @param pollutant 污染物名称 pm25 + * @param val 污染值 1.11 + * @param type 返回数组类型 1:全称 2:简称 + * @param is24 是否用24小时的 + * @return + */ + public static String airQualityLevel(String pollutant,BigDecimal val,Integer type,boolean is24){ + if(StringUtils.isNotBlank(pollutant)){ + if((is24==true && "o3".equals(pollutant)) || "o3_8h".equals(pollutant)){ + pollutant = "o38h"; + } + if(ObjectUtils.isNotEmpty(val)){ + //co*10好判断 + if("co".equals(pollutant)){ + val = val.multiply(new BigDecimal(10)); + } + AirQualityLevelVo qualityLevelVo = new AirQualityLevelVo(); + String propertyName = pollutant.concat("Level"); + //只有这三个有24小时区间 + if("so2".equals(pollutant) || "no2".equals(pollutant) || "co".equals(pollutant)){ + propertyName = is24 ? propertyName.concat("24") : pollutant.concat("Level"); + } + //通过因子名称获取对应的区间数组 + Integer[][] poLevel = (Integer[][]) utils.fieldCache.get(qualityLevelVo, propertyName); + if(ArrayUtils.isNotEmpty(poLevel)){ + for (int i = 0; i < poLevel.length; i++) { + if(val.compareTo(new BigDecimal(poLevel[i][0])) > -1 && val.compareTo(new BigDecimal(poLevel[i][1])) < 1){ + String levelStr = type == 1 ? airLevel[i] : airLevelSimple[i]; + return levelStr; + } + } + } + } + } + return "--"; + } + + /** + * + * @param pollutant 污染物名称 + * @param val 值 + * @param is24 是否使用24小时限值 天true 小时 false + * @return + */ + public static Integer airQualityLevelNumber(String pollutant,BigDecimal val,boolean is24){ + if(StringUtils.isNotBlank(pollutant)){ + if((is24==true && "o3".equals(pollutant)) || "o3_8h".equals(pollutant)){ + pollutant = "o38h"; + } + if(ObjectUtils.isNotEmpty(val)){ + //co*10好判断 + if("co".equals(pollutant)){ + val = val.multiply(new BigDecimal(10)); + } + AirQualityLevelVo qualityLevelVo = new AirQualityLevelVo(); + String propertyName = pollutant.concat("Level"); + //只有这三个有24小时区间 + if("so2".equals(pollutant) || "no2".equals(pollutant) || "co".equals(pollutant)){ + pollutant = is24 ? pollutant.concat("_24") : pollutant; + } + //通过因子名称获取对应的区间数组 + Integer[][] poLevel = (Integer[][]) utils.fieldCache.get(qualityLevelVo, propertyName); + if(ArrayUtils.isNotEmpty(poLevel)){ + for (int i = 0; i < poLevel.length; i++) { + if(val.compareTo(new BigDecimal(poLevel[i][0])) > -1 && val.compareTo(new BigDecimal(poLevel[i][1])) < 1){ + return i + 1; + } + } + } + } + } + return null; + } + + public static String airQualityLevelColor(String airLevelStr,Integer type){ + String nullValueStr = "--"; + if(StringUtils.isNotBlank(airLevelStr) && !nullValueStr.equals(airLevelStr)){ + for (int i = 0; i < airLevel.length; i++) { + if(airLevelStr.equals(type == 1 ? airLevel[i] : airLevelSimple[i])){ + return airLevelColor[i]; + } + } + } + return ""; + } + + @PostConstruct + public void init(){ + utils = this; + System.out.println("执行大气操作=======》"); + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityData.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityData.java new file mode 100644 index 0000000..1d93c0d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityData.java @@ -0,0 +1,233 @@ +package cn.cecep.talroad.vo.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author zhangshiji + * @date 2022/7/13 + */ +@ApiModel(value = "空气监测数据VO") +@Data +public class AirQualityData implements Serializable { + /** + * 空气质量 + */ + @Excel(name = "AQI") + @ApiModelProperty(value = "aqi") + private Integer aqi; + @Excel(name = "PMI") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pmi") + private BigDecimal pmi; + @Excel(name = "PM2.5") + @ApiModelProperty(value = "pm25 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal pm25; + @Excel(name = "PM10") + @ApiModelProperty(value = "pm10 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal pm10; + @Excel(name = "SO2") + @ApiModelProperty(value = "so2 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal so2; + @Excel(name = "NO2") + @ApiModelProperty(value = "no2 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal no2; + @Excel(name = "CO") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "co 监测值") + private BigDecimal co; + @Excel(name = "O3") + @ApiModelProperty(value = "o3 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal o3; + @Excel(name = "O3_8H") + @ApiModelProperty(value = "臭氧八小时 监测值") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal o38h; + @ApiModelProperty(value = "日最大o3值 监测值") + private BigDecimal dayMaxO3; + @ApiModelProperty(value = "o3 95百分位 监测值") + private BigDecimal co95Percent; + @ApiModelProperty(value = "o38h 90百分位 监测值") + private BigDecimal o38h90Percnet; + @ApiModelProperty(value = "tvoc 监测值") + private BigDecimal tvoc; + @ApiModelProperty(value = "tsp 监测值") + private BigDecimal tsp; + @ApiModelProperty(value = "nox监测值") + private BigDecimal nox; + /** + * 气象值 + */ + @ApiModelProperty(value = "风速") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal winds; + @ApiModelProperty(value = "气压") + private BigDecimal pres; + @ApiModelProperty(value = "湿度") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal humi; + @ApiModelProperty(value = "温度") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal temp; + @ApiModelProperty(value = "风向") + @JsonFormat(shape = JsonFormat.Shape.STRING) + + private BigDecimal windd; + @ApiModelProperty(value = "风力级别") + private String windLevel; + @ApiModelProperty(value = "风向 中文") + private String windDirection; + /** + * 分指数值 + */ + @Excel(name = "PM2.5-分指数") + @ApiModelProperty(value = "pm25 分指数") + private Integer iaqiPm25; + @Excel(name = "PM10-分指数") + @ApiModelProperty(value = "pm10 分指数") + private Integer iaqiPm10; + @Excel(name = "SO2-分指数") + @ApiModelProperty(value = "so2 分指数") + private Integer iaqiSo2; + @Excel(name = "NO2-分指数") + @ApiModelProperty(value = "no2 分指数") + private Integer iaqiNo2; + @Excel(name = "CO-分指数") + @ApiModelProperty(value = "co 分指数") + private Integer iaqiCo; + @Excel(name = "O3-分指数") + @ApiModelProperty(value = "o3 分指数") + private Integer iaqiO3; + @Excel(name = "O3_8H-分指数") + @ApiModelProperty(value = "o38h 分指数") + private Integer iaqiO38h; + /** + * 综合指数值 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pm25 综合指数") + private BigDecimal ipmiPm25; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "pm10 综合指数") + private BigDecimal ipmiPm10; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "so2 综合指数") + private BigDecimal ipmiSo2; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "no2 综合指数") + private BigDecimal ipmiNo2; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "co 综合指数") + private BigDecimal ipmiCo; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "o3 综合指数") + private BigDecimal ipmiO3; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "o38h 综合指数") + private BigDecimal ipmiO38h; + /** + * 部分业务值 + */ + @ApiModelProperty(value = "首要污染物id") + private String fkPollutantId; + @ApiModelProperty(value = "首要污染物名称") + private String fkPollutantName; + @ApiModelProperty(value = "空气质量类别 id") + private Integer fkAqiLevelId; + @ApiModelProperty(value = "空气质量类别 名称") + private String fkAqiLevelName; + @ApiModelProperty(value = "空气质量类别 颜色") + private String fkAqiLevelColor; + @ApiModelProperty(value = "空气质量最大指数") + private Integer maxIpmi; + + @Excel(name = "监测时间") + @ApiModelProperty(value = "监测时间") + private String monitorTime; + + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "站点名称") + private String stationName; + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + @ApiModelProperty(value = "纬度") + private BigDecimal latitude; + @ApiModelProperty(value = "站点控制级别id") + private Integer stationLevel; + @ApiModelProperty(value = "站点控制级别名称") + private String stationLevelName; + + @ApiModelProperty(value = "区县编号") + private String regionCode; + @Excel(name = "区域名称") + @ApiModelProperty(value = "区县名称") + private String regionName; + @ApiModelProperty(value = "省份编号") + private String provinceCode; + @ApiModelProperty(value = "省份名称") + private String provinceName; + @ApiModelProperty(value = "区域级别") + private String regionlevel; + @ApiModelProperty(value = "日期别名") + private String dateAlias; + + + private Integer indexNo; + + + public void setPmi(BigDecimal pmi) { + this.pmi = pmi == null ? null : pmi.setScale(2, BigDecimal.ROUND_HALF_EVEN); + } + + public void setPm25(BigDecimal pm25) { + this.pm25 = pm25 == null ? null : pm25.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setPm10(BigDecimal pm10) { + this.pm10 = pm10 == null ? null : pm10.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setSo2(BigDecimal so2) { + this.so2 = so2 == null ? null : so2.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setNo2(BigDecimal no2) { + this.no2 = no2 == null ? null : no2.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setCo(BigDecimal co) { + this.co = co == null ? null : co.setScale(1, BigDecimal.ROUND_HALF_EVEN); + } + + public void setO3(BigDecimal o3) { + this.o3 = o3 == null ? null : o3.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setO38h(BigDecimal o38h) { + this.o38h = o38h == null ? null : o38h.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } + + public void setDayMaxO3(BigDecimal dayMaxO3) { + this.dayMaxO3 = dayMaxO3 == null ? null : dayMaxO3.setScale(0, BigDecimal.ROUND_HALF_EVEN); + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityLevelVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityLevelVo.java new file mode 100644 index 0000000..0cd78c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/AirQualityLevelVo.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.vo.effective; + +import lombok.Data; + +/** + * @author zhangshiji + * @date 2022/4/14 + */ +@Data +public class AirQualityLevelVo { + private Integer[][] aqiLevel; + private Integer[][] pm25Level; + private Integer[][] pm10Level; + private Integer[][] coLevel; + private Integer[][] no2Level; + private Integer[][] so2Level; + private Integer[][] o3Level; + private Integer[][] tspLevel; + private Integer[][] tvocLevel; + private Integer[][] noxLevel; + private Integer[][] o38hLevel; + private Integer[][] pmiLevel; + private Integer[][] so2Level24; + private Integer[][] no2Level24; + private Integer[][] coLevel24; + + public AirQualityLevelVo(){ + this.aqiLevel = AirQualityConverter.aqiLevel; + this.pm25Level = AirQualityConverter.pm25Level; + this.pm10Level = AirQualityConverter.pm10Level; + this.coLevel = AirQualityConverter.coLevel; + this.no2Level = AirQualityConverter.no2Level; + this.so2Level = AirQualityConverter.so2Level; + this.o3Level = AirQualityConverter.o3Level; + this.tspLevel = AirQualityConverter.tspLevel; + this.tvocLevel = AirQualityConverter.tvocLevel; + this.noxLevel = AirQualityConverter.noxLevel; + this.o38hLevel = AirQualityConverter.o38hLevel; + this.pmiLevel = AirQualityConverter.pmiLevel; + this.so2Level24 = AirQualityConverter.so2Level_24; + this.no2Level24 = AirQualityConverter.no2level_24; + this.coLevel24 = AirQualityConverter.coLevel_24; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/BasYearTargetVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/BasYearTargetVo.java new file mode 100644 index 0000000..78e708b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/BasYearTargetVo.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.vo.effective; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author zhangshiji + * @date 2022/9/20 + */ +@ApiModel +@Data +public class BasYearTargetVo { + + @ApiModelProperty(value = "pm25目标值") + private BigDecimal pm25Target; + @ApiModelProperty(value = "pm25锁定状态") + private boolean pm25Lock; + @ApiModelProperty(value = "pm10目标值") + private BigDecimal pm10Target; + @ApiModelProperty(value = "pm10锁定状态") + private boolean pm10Lock; + @ApiModelProperty(value = "so2目标值") + private BigDecimal so2Target; + @ApiModelProperty(value = "so2锁定状态") + private boolean so2Lock; + @ApiModelProperty(value = "no2目标值") + private BigDecimal no2Target; + @ApiModelProperty(value = "no2锁定状态") + private boolean no2Lock; + @JsonFormat(shape = JsonFormat.Shape.STRING) + @ApiModelProperty(value = "co目标值") + private BigDecimal coTarget; + @ApiModelProperty(value = "co锁定状态") + private boolean coLock; + @ApiModelProperty(value = "o38h目标值") + private BigDecimal o38hTarget; + @ApiModelProperty(value = "o38h锁定状态") + private boolean o38hLock; + @ApiModelProperty(value = "优良天数") + private BigDecimal goodDaysTarget; + @ApiModelProperty(value = "优良天数锁定状态") + private boolean goodDaysLock; + @ApiModelProperty(value = "重污染天数") + private BigDecimal heavyDaysTarget; + @ApiModelProperty(value = "重污染天数锁定状态") + private boolean heavyDaysLock; + private BigDecimal o38hOverDaysTarget; + private BigDecimal coOverDaysTarget; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ERmStationInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ERmStationInfo.java new file mode 100644 index 0000000..c95bc55 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ERmStationInfo.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.effective; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = true) +@Data +public class ERmStationInfo extends PageQuery { + /** + * 站点名称 + */ + @ApiModelProperty(value="站点名称") + private String stationName; + + /** + * 超标因子 + */ + @ApiModelProperty(value="超标因子") + private String exceedFactor; + + /** + * 超标类型 + */ + @ApiModelProperty(value="超标类型") + private String exceedType; + + /** + * 超标时间 + */ + @TableField(value = "exceed_time") + @ApiModelProperty(value="超标时间") + @JsonFormat(pattern = "yyyy-MM-dd HH" ,timezone = "GMT+8") + private Date exceedTime; + + @ApiModelProperty(value="站点类型") + private String stationType; + + @ApiModelProperty(value="经度") + private String longitude; + + /** + * 维度 + */ + @ApiModelProperty(value="维度") + private String latitude; + + + private String id; + @ApiModelProperty(value="小写污染物,gis使用") + private String lowerExceedFactor; + @ApiModelProperty(value="风向(°)") + private String windDirection; + @ApiModelProperty(value="风速") + private String windPower; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/FactoryRectificationEffectCountVO.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/FactoryRectificationEffectCountVO.java new file mode 100644 index 0000000..baa717b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/FactoryRectificationEffectCountVO.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.vo.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "企业整改效果完成情况展示类") +public class FactoryRectificationEffectCountVO { + @Excel(name = "企业名称") + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别") + @Excel(name = "行业类别") + private String indusName; + @ApiModelProperty(value = "区县名称") + @Excel(name = "区县名称") + private String countryName; + @ApiModelProperty(value = "完成数量") + @Excel(name = "完成数量") + private Integer finishCount; + @ApiModelProperty(value = "未完成数量") + @Excel(name = "未完成数量") + private Integer unFinishCount; + @ApiModelProperty(value = "按时完成数量") + @Excel(name = "按时完成数量") + private Integer inTimeFinishCount; + @ApiModelProperty(value = "延期完成数量") + @Excel(name = "延期完成数量") + private Integer outTimeFinishCount; + @ApiModelProperty(value = "延期未完成数量") + @Excel(name = "延期未完成数量") + private Integer outTimeUnFinishCount; + @ApiModelProperty(value = "按时完成率") + @Excel(name = "按时完成率") + private String inTimeFinishedRate; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ForecastAccuracyInfo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ForecastAccuracyInfo.java new file mode 100644 index 0000000..e0c972d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/ForecastAccuracyInfo.java @@ -0,0 +1,17 @@ +package cn.cecep.talroad.vo.effective; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ForecastAccuracyInfo { + + @ApiModelProperty("问题名") + private String problemName; + @ApiModelProperty("发现问题数") + private String total; + @ApiModelProperty("判断为真问题数") + private String trueSum; + @ApiModelProperty("比例") + private String result; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MGovernanceTechnologyEstimate.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MGovernanceTechnologyEstimate.java new file mode 100644 index 0000000..48040a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MGovernanceTechnologyEstimate.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.vo.effective; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +/** + * 成效评估--治理技术评估 + */ +@ApiModel(description="成效评估--治理技术评估") +@Data +public class MGovernanceTechnologyEstimate implements Serializable { + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业名称 + */ + @ApiModelProperty(value="企业名称") + private String factoryName; + + /** + * 行业类别 + */ + @ApiModelProperty(value="行业类别") + private String industryCategory; + + /** + * 县名称 + */ + @ApiModelProperty(value="县名称") + private String countryName; + + /** + * 治理技术 + */ + @ApiModelProperty(value="治理技术") + private String governanceTechnology; + + /** + * 治理设施 + */ + @ApiModelProperty(value="治理设施") + private String governanceFacilities; + + /** + * 工序 + */ + @ApiModelProperty(value="工序") + private String procedure; + + /** + * 评估结果 + */ + @ApiModelProperty(value="评估结果") + private String administerResults; + + /** + * 治理效果--治理效率 + */ + @ApiModelProperty(value="治理效果--治理效率") + private String administerEfficiency; + + /** + * 治理效果--单位产品污染物排放量(kg/t + */ + @ApiModelProperty(value="治理效果--单位产品污染物排放量(kg/t") + private String administerPollutantNum; + + /** + * 治理效果--单位产品污染物排放浓度(mg/m3) + */ + @ApiModelProperty(value="治理效果--单位产品污染物排放浓度(mg/m3)") + private String administerPollutantConcentration; + + /** + * 运行经济性--单位产品药剂投加量 + */ + @ApiModelProperty(value="运行经济性--单位产品药剂投加量") + private String operationDrugNum; + + /** + * 运行经济性--单位污染物排放药剂投加量 + */ + @ApiModelProperty(value="运行经济性--单位污染物排放药剂投加量") + private String operationPollutantDrugNum; + + /** + * 运行经济性--单位污染物排放治理设施用电量(KW/kg) + */ + @ApiModelProperty(value="运行经济性--单位污染物排放治理设施用电量(KW/kg)") + private String operationPollutantElectricityNum; + + /** + * 管理控制水平--生产治理运行时间比 + */ + @ApiModelProperty(value="管理控制水平--生产治理运行时间比") + private String managementLevelTimeRatio; + + /** + * 管理控制水平--单位产品排放超标次数 + */ + @ApiModelProperty(value="管理控制水平--单位产品排放超标次数") + private String managementExcessNum; + + /** + * 管理控制水平--单位产品排放预警次数 + */ + @ApiModelProperty(value="管理控制水平--单位产品排放预警次数") + private String managementWarningNum; + + /** + * 管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3 + */ + @ApiModelProperty(value="管理控制水平--生产设施开启后1小时内平均排放浓度(mg/m3") + private String managementConcentration; + + /** + * 季度:1,2,3,4 + */ + @ApiModelProperty(value="季度:1,2,3,4") + private String quarter; + + /** + * 年份 + */ + @ApiModelProperty(value="年份") + private String year; + + @ApiModelProperty(value="治理设施数量") + private Integer facilitiesNum; + @ApiModelProperty(value="治理设施数量") + private Integer factoryNum; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MonthDataVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MonthDataVo.java new file mode 100644 index 0000000..7923a9f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/MonthDataVo.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.vo.effective; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author zhangshiji + * @date 2022/9/15 + */ +@Data +public class MonthDataVo { + private BigDecimal pm25; + private BigDecimal pm10; + private BigDecimal so2; + private BigDecimal no2; + private BigDecimal co; + private BigDecimal o38h; + private String monthTime; + private String monthNum; + private BigDecimal heavyDays; + private BigDecimal goodDays; + private BigDecimal coOverDays; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCityRanking.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCityRanking.java new file mode 100644 index 0000000..d3c6e41 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCityRanking.java @@ -0,0 +1,132 @@ +package cn.cecep.talroad.vo.effective; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + + +@Data +public class PcNationalCityRanking { + /** + * 主键id + */ + @ApiModelProperty(value = "主键id") + private Integer id; + + /** + * 省编码 + */ + @ApiModelProperty(value = "省编码") + private String pcode; + + /** + * 省名称 + */ + @ApiModelProperty(value = "省名称") + private String pname; + + /** + * 城市名称 + */ + @ApiModelProperty(value = "城市名称") + private String cityName; + + /** + * 城市行政区划代码 + */ + @ApiModelProperty(value = "城市行政区划代码") + private Integer cityId; + + /** + * AQI + */ + @ApiModelProperty(value = "AQI") + private String aqi; + + /** + * 最大污染物 + */ + @ApiModelProperty(value = "最大污染物") + private String maxPollution; + + /** + * pm25 + */ + @ApiModelProperty(value = "pm25") + private String pm25; + + /** + * pm10 + */ + @ApiModelProperty(value = "pm10") + private String pm10; + + /** + * o3 + */ + @ApiModelProperty(value = "o3") + private String o3; + + /** + * so2 + */ + @ApiModelProperty(value = "so2") + private String so2; + + /** + * no2 + */ + @ApiModelProperty(value = "no2") + private String no2; + + /** + * co + */ + @ApiModelProperty(value = "co") + private String co; + + /** + * 数据时间 小时 + */ + @ApiModelProperty(value = "数据时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date dateTime; + + /** + * 排名 + */ + @ApiModelProperty(value = "337排名") + private String index337; + + /** + * + */ + @ApiModelProperty(value = "") + private String is337; + + /** + * + */ + @ApiModelProperty(value = "") + private String is168; + + /** + * + */ + @ApiModelProperty(value = "168排名") + private String index168; + + private String dateType; + @ApiModelProperty(value = "省内城市排名") + private String indexProvinceCity; + + private String dateStr; + + + private String index; + + private String aqiType; +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCountyRanking.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCountyRanking.java new file mode 100644 index 0000000..404e445 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/PcNationalCountyRanking.java @@ -0,0 +1,113 @@ +package cn.cecep.talroad.vo.effective; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/16 17:58 + * @Version: 1.0 + */ +@Data +public class PcNationalCountyRanking { + /** + * 主键id + */ + @ApiModelProperty(value = "主键id") + private Long id; + /** + * 市级编码 + */ + @ApiModelProperty(value = "市级编码") + private String citycode; + + /** + * 市级名称 + */ + @ApiModelProperty(value = "市级名称") + private String cityname; + /** + * AQI + */ + @ApiModelProperty(value = "AQI") + private String aqi; + + /** + * 县编码 + */ + @ApiModelProperty(value = "县编码") + private String countrycode; + + /** + * 县名称 + */ + @ApiModelProperty(value = "县名称") + private String countryname; + + /** + * 爬取的城市名称 + */ + @ApiModelProperty(value = "爬取的城市名称") + private Integer allname; + + /** + * 最大污染物 + */ + @ApiModelProperty(value = "最大污染物") + private String maxpollution; + + + /** + * pm25 + */ + @ApiModelProperty(value = "pm25") + private String pm25; + /** + * pm10 + */ + @ApiModelProperty(value = "pm10") + private String pm10; + /** + * o3 + */ + @ApiModelProperty(value = "o3") + private String o3; + + + /** + * so2 + */ + @ApiModelProperty(value = "so2") + private String so2; + + + /** + * no2 + */ + @ApiModelProperty(value = "no2") + private String no2; + /** + * co + */ + @ApiModelProperty(value = "co") + private String co; + /** + * 数据时间 小时 + */ + @ApiModelProperty(value = "数据时间 小时") + private Date dateTime; + /** + * 排名 + */ + @ApiModelProperty(value = "排名") + private String index; + + /** + * 日:D,月:M,年:Y + */ + @ApiModelProperty(value="日:D,月:M,年:Y") + private String dateType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.java new file mode 100644 index 0000000..2a0b0a2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.java @@ -0,0 +1,149 @@ +package cn.cecep.talroad.vo.effective; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

    + * + *

    + * + * @author author + * @since 2022-09-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="QEnvgasAreaTarget对象", description="") +public class QEnvgasAreaTargetVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String pkId; + + @ApiModelProperty(value = "1:日 2:月 3:年 4:秋防 5:冬防 6:秋冬防总计") + @TableField("time_type") + private String timeType; + + @ApiModelProperty(value = "时间 年:yyyy 月yyyy-MM 日 yyyy-MM-dd") + @TableField("time") + private String time; + + @ApiModelProperty(value = "目标值") + @TableField("target_value") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal targetValue; + + @ApiModelProperty(value = "累计值") + @TableField("actual_value") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private BigDecimal actualValue; + + @ApiModelProperty(value = "因子id(关联表p_code_index_pollutant)") + @TableField("fk_factor_id") + private Integer fkFactorId; + + @ApiModelProperty(value = "区域编号") + @TableField("region_code") + private String regionCode; + + @ApiModelProperty(value = "0:未删除 1:已删除") + @TableField("delete_flag") + private Integer deleteFlag; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "区域名称") + @TableField("region_name") + private String regionName; + + + @ApiModelProperty(value = "污染源名称") + private String pollutantName; + + @ApiModelProperty(value = "污染源字段") + private String field; + + + @ApiModelProperty(value = "最大限值") + private BigDecimal threshold; + + @ApiModelProperty(value = "同期") + private BigDecimal contemporary; + + @ApiModelProperty(value = "同比变化率") + private String basisChange; + + @ApiModelProperty(value = "达标推算") + private String calculation; + + + + @ApiModelProperty(value = "同比改善率") + private String improvement; + + @ApiModelProperty(value = "同比改善率 升降 1上升 2下降") + private String lifting; + + @ApiModelProperty(value = "达标差距") + private BigDecimal standard; + + @ApiModelProperty(value = "累计超标天数x天") + private BigDecimal exceedanceDays; + + @ApiModelProperty(value = "剩余控制天数x天") + private BigDecimal controlDay; + + @ApiModelProperty(value = "数据时间") + @TableField("data_time") + private Date dataTime; + + @ApiModelProperty(value = "AQI") + @TableField("aqi") + private BigDecimal aqi; + + + @ApiModelProperty(value = "二氧化硫") + @TableField("so2") + private BigDecimal so2; + + @ApiModelProperty(value = "二氧化氮") + @TableField("no2") + private BigDecimal no2; + + @ApiModelProperty(value = "PM10") + @TableField("pm10") + private BigDecimal pm10; + + @ApiModelProperty(value = "PM2.5") + @TableField("pm25") + private BigDecimal pm25; + + @ApiModelProperty(value = "一氧化碳") + @TableField("co") + private BigDecimal co; + + + @ApiModelProperty(value = "臭氧") + @TableField("o3") + private BigDecimal o3; + + + @ApiModelProperty(value = "臭氧") + @TableField("o3_8h") + private BigDecimal o38h; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportParamVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportParamVo.java new file mode 100644 index 0000000..8ff5e51 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportParamVo.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.effective; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhangshiji + * @date 2022/8/26 + */ +@Data +@ApiModel(value = "报告列表查询参数VO") +public class QReportParamVo { + /** + * 报告参数 + */ + @ApiModelProperty(value = "文件类型") + private Integer fileType; + @ApiModelProperty(value = "报告类型") + private Integer reportType; + @ApiModelProperty(value = "报告名称") + private String reportName; + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + + /** + * 模板参数 + */ + @ApiModelProperty(value = "模板类型") + private Integer templateCategory; + @ApiModelProperty(value = "模板时间类型") + private Integer templateTimeType; + @ApiModelProperty(value = "模板名称") + private String templateName; + + + + @ApiModelProperty(value = "页码") + private Integer pageNum; + @ApiModelProperty(value = "条数") + private Integer pageSize; + + + private String regionCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportTemplate.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportTemplate.java new file mode 100644 index 0000000..77ef075 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/QReportTemplate.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.vo.effective; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 报告模板对象 q_report_template + * @author talroad + * @date 2022-08-26 10:41:48 + */ +@Data +@ApiModel(value="报告模板模型") +public class QReportTemplate +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(value = "template_id", type = IdType.AUTO) + @ApiModelProperty(value="主键") + private Integer templateId; + + /** 模板所属区域 */ + @Excel(name = "模板所属区域") + @ApiModelProperty(value="模板所属区域") + private Long regionCode; + + /** 模板名称 */ + @Excel(name = "模板名称") + @ApiModelProperty(value="模板名称") + private String templateName; + + /** 模板内容 */ + @Excel(name = "模板内容") + @ApiModelProperty(value="模板内容") + private String templateContent; + + /** 模板类型 hour:小时报 day:日报 */ + @Excel(name = "模板类型 hour:小时报 day:日报 ") + @ApiModelProperty(value="模板类型 hour:小时报 day:日报 ") + private String templateType; + + /** 1:常规报告 2:专项报告 3:异常报告 4:达标报告 5:管控报告 */ + @Excel(name = "1:常规报告 2:专项报告 3:异常报告 4:达标报告 5:管控报告") + @ApiModelProperty(value="1:常规报告 2:专项报告 3:异常报告 4:达标报告 5:管控报告") + private Integer templateCategory; + + /** 应用时间 */ + @Excel(name = "应用时间", width = 30, dateFormat = "yyyy-MM-dd") + @ApiModelProperty(value="应用时间") + private Date applyTime; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.java new file mode 100644 index 0000000..2893263 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.java @@ -0,0 +1,13 @@ +package cn.cecep.talroad.vo.effective; + +import lombok.Data; + +@Data + +public class SEnvGasMonValueVo { + private String factoryId; + private String field; + private String id; + private String monitoringTime; + private String name; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/AmVideoDevFiExport.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/AmVideoDevFiExport.java new file mode 100644 index 0000000..03abf99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/AmVideoDevFiExport.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo.export; + +import cn.cecep.talroad.common.core.annotation.Excel; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.List; +import java.util.Map; + + +/** + * 视频监控对象 m_am_video_dev_fi + */ +@ApiModel(value = "视频监控Export") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmVideoDevFiExport +{ + + @ApiModelProperty(value = "主键id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty("设备id") + private String deviceId; + + @ApiModelProperty(value = "摄像头名称") + @Excel(name = "视频监测点位名称") + private String devName; + + @ApiModelProperty(value = "liveGBS设备通道id") + @Excel(name = "视频通道ID") + private String channelId; + + @ApiModelProperty(value = "对应排污许可生产设施名称") + @Excel(name = "对应排污许可生产设施名称") + private String outletName; + + @ApiModelProperty(value = "对应排污许可生产设施编号") + @Excel(name = "对应排污许可生产设施编号") + private String outletCode; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/BasDeviceSiteExport.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/BasDeviceSiteExport.java new file mode 100644 index 0000000..7e359ce --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/BasDeviceSiteExport.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.vo.export; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +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; + + +@ApiModel(value = "设备点位表") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceSiteExport extends BaseEntity { + private static final long serialVersionUID = 1L; + + private String id; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "企业ID") + private String factoryId; + + @ApiModelProperty(value = "点位名称") + @Excel(name = "点位名称") + private String name; + + @ApiModelProperty(value = "对应设施名称") + @Excel(name = "对应设施名称") + private String deviceName; + + @ApiModelProperty(value = "设施类型:生产设施、治理设施") + @Excel(name = "设施类型") + private String deviceType; + + @ApiModelProperty(value = "点位经度") + @Excel(name = "点位经度") + private String pointLng; + + @ApiModelProperty(value = "点位纬度") + @Excel(name = "点位纬度") + private String pointLat; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.java new file mode 100644 index 0000000..19c8093 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.vo.export; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/15 14:46 + * @Version: 1.0 + */ +@Data +public class PcNationalCityRankingExport { + +// @Excel(name = "序号") + private String id; + + private String type; + private String dateType; + private String date; + /** + * 省名称 + */ +// @ApiModelProperty(value = "省名称") +// @Excel(name = "省名称") + private String pname; + + /** + * 城市名称 + */ + @ApiModelProperty(value = "城市名称") + @Excel(name = "城市名称") + private String cityname; + + + /** + * 排名 + */ + @ApiModelProperty(value = "排名") + @Excel(name = "排名") + private String index; + + + /** + * 168排名 + */ + @ApiModelProperty(value = "168排名") + private String index168; + + + /* + *省内城市排名 + */ + @ApiModelProperty(value = "省内城市排名") + private String indexprovincecity; + + /** + * AQI + */ + @ApiModelProperty(value = "AQI") + @Excel(name = "AQI") + private String aqi; + /** + * pm10 + */ + @ApiModelProperty(value = "pm10") + @Excel(name = "PM₁₀(μg/m3)") + private String pm10; + /** + * pm25 + */ + @ApiModelProperty(value = "pm25") + @Excel(name = "PM₂.₅(μg/m3)") + private String pm25; + /** + * so2 + */ + @ApiModelProperty(value = "so2") + @Excel(name = "SO₂(μg/m3)") + private String so2; + /** + * no2 + */ + @ApiModelProperty(value = "no2") + @Excel(name = "NO₂(μg/m3)") + private String no2; + /** + * co + */ + @ApiModelProperty(value = "co") + @Excel(name = "CO(μg/m3)") + private String co; + /** + * o3 + */ + @ApiModelProperty(value = "o3") + @Excel(name = "O₃(μg/m3)") + private String o3; + /** + * 最大污染物 + */ + @ApiModelProperty(value = "最大污染物") + @Excel(name = "首要污染物") + private String maxpollution; + + + + /** + * 数据时间 小时 + */ + @ApiModelProperty(value = "数据时间") +// @Excel(name = "数据时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date dateTime; + + + + /* + * 省内城市排名 + */ + @ApiModelProperty(value = "省内区县排名") +// @Excel(name = "省内区县排名") + private String indexprovincecounty; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCountyRankingExport.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCountyRankingExport.java new file mode 100644 index 0000000..f97e41b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/export/PcNationalCountyRankingExport.java @@ -0,0 +1,103 @@ +package cn.cecep.talroad.vo.export; + +import cn.cecep.talroad.common.core.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * @Author: wyg + * @Description: + * @Date: 2023/6/16 18:12 + * @Version: 1.0 + */ +@Data +public class PcNationalCountyRankingExport { + /** + * 主键id + */ +// @Excel(name = "序号") + private Integer id; + + + /** + * 市级名称 + */ + @Excel(name = "城市名称") + private String allname; + + @Excel(name = "排名") + private String index; + /** + * AQI + */ + @Excel(name = "AQI") + private String aqi; + /** + * pm10 + */ + @Excel(name = "PM₁₀(μg/m3)") + private String pm10; + /** + * pm25 + */ + @Excel(name = "PM₂.₅(μg/m3)") + private String pm25; + /** + * so2 + */ + @Excel(name = "SO₂(μg/m3)") + private String so2; + /** + * no2 + */ + @Excel(name = "NO₂(μg/m3)") + private String no2; + /** + * co + */ + @Excel(name = "CO(μg/m3)") + private String co; + /** + * o3 + */ + @Excel(name = "O₃(μg/m3)") + private String o3; + + + /** + * 县名称 + */ +// @Excel(name = "县名称") + private String countryname; + + + + /** + * 爬取的城市名称 + + @Excel(name = "县名称") + private Integer allname; + */ + + /** + * 最大污染物 + */ + @Excel(name = "首要污染物") + private String maxpollution; + + + + /** + * 数据时间 小时 + */ +// @Excel(name = "数据时间") + private Date dateTime; + + + private String type; + private String dateType; + private String date; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.java new file mode 100644 index 0000000..a86ba04 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo.homepage; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + + +@ApiModel(value = "大屏-在线监控分析--企业问题TOP10") +@EqualsAndHashCode(callSuper = false) +@Data +public class EnterpriseIssuesTopVo implements Serializable +{ + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "预警数") + private String warning; + + @ApiModelProperty(value = "报警数") + private String exceeding; + + @ApiModelProperty(value = "异常数") + private String abnormal; + + @ApiModelProperty(value = "问题数") + private String problem; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmCompanyOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmCompanyOverviewVo.java new file mode 100644 index 0000000..994ecb9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmCompanyOverviewVo.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-企业总揽") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmCompanyOverviewVo implements Serializable +{ + + @ApiModelProperty(value = "排污单位总数") + private String overviewPollutingUnits; + @ApiModelProperty(value = "重点排污单位数") + private String overviewPollutingEmphasis; + @ApiModelProperty(value = "重点管理") + private String overviewKeyManagement; + @ApiModelProperty(value = "简化管理") + private String overviewSimplifyManagement; + @ApiModelProperty(value = "限期整改") + private String overviewAbarbeitungTimes; + @ApiModelProperty(value = "登记管理") + private String overviewRegisterManagement; + + @ApiModelProperty(value = "涉水企业") + private String waterEnterprise; + @ApiModelProperty(value = "主要排口") + private String waterMainOutlet; + @ApiModelProperty(value = "一般排口") + private String waterOrdinaryOutlet; + @ApiModelProperty(value = "雨水排口") + private String waterRainwaterOutlet; + @ApiModelProperty(value = "涉气企业") + private String airEnterprise; + @ApiModelProperty(value = "主要排口") + private String airMainOutlet; + @ApiModelProperty(value = "一般排口") + private String airOrdinaryOutlet; + + @ApiModelProperty(value = "无组织管控") + private String airInorganization; + + @ApiModelProperty(value = "涉废企业") + private String wasteEnterprise; + @ApiModelProperty(value = "涉固废企业") + private String solidWasteEnterprise; + @ApiModelProperty(value = "涉危废企业") + private String hazardousWasteEnterprise; + + @ApiModelProperty(value = "工业园区占比") + private BigDecimal whetherLocalParkProp; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionRatioOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionRatioOverviewVo.java new file mode 100644 index 0000000..d84f0e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionRatioOverviewVo.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-企业总揽") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEmissionRatioOverviewVo +{ + + @ApiModelProperty(value = "SO2自动监测") + private String actualDischargeSo2; + @ApiModelProperty(value = "SO2手工监测") + private String permissibleDischargeSo2; + @ApiModelProperty(value = "NOx自动监测") + private String actualDischargeNox; + @ApiModelProperty(value = "NOx手工监测") + private String permissibleDischargeNox; + @ApiModelProperty(value = "颗粒物自动监测") + private String actualDischargePm; + @ApiModelProperty(value = "颗粒物手工监测") + private String permissibleDischargePm; + @ApiModelProperty(value = "VOCs自动监测") + private String actualDischargeVocs; + @ApiModelProperty(value = "VOCs手工监测") + private String permissibleDischargeVocs; + @ApiModelProperty(value = "COD自动监测") + private String actualDischargeCod; + @ApiModelProperty(value = "COD手工监测") + private String permissibleDischargeCod; + @ApiModelProperty(value = "氨氮自动监测") + private String actualDischargeNhn; + @ApiModelProperty(value = "氨氮手工监测") + private String permissibleDischargeNhn; + @ApiModelProperty(value = "总氮自动监测") + private String actualDischargeTn; + @ApiModelProperty(value = "总氮手工监测") + private String permissibleDischargeTn; + @ApiModelProperty(value = "总磷自动监测") + private String actualDischargeTp; + @ApiModelProperty(value = "总磷手工监测") + private String permissibleDischargeTp; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingMonVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingMonVo.java new file mode 100644 index 0000000..0d9ecac --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingMonVo.java @@ -0,0 +1,30 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * + * @author lisong + * @date 2023-06-20*/ +@ApiModel(value = "首页-许可要求-排放跟踪") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEmissionTrackingMonVo +{ + @ApiModelProperty(value = "排放指标名称") + private String name; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "月份") + private List xData; + @ApiModelProperty(value = "排放量") + private List yData; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingOverviewVo.java new file mode 100644 index 0000000..fa48774 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEmissionTrackingOverviewVo.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-企业总揽") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEmissionTrackingOverviewVo +{ + + @ApiModelProperty(value = "SO2实际排放") + private BigDecimal actualDischargeSo2; + @ApiModelProperty(value = "SO2许可排放") + private BigDecimal permissibleDischargeSo2; + @ApiModelProperty(value = "SO2许可占比") + private BigDecimal ratioSo2; + + @ApiModelProperty(value = "NOx实际排放") + private BigDecimal actualDischargeNox; + @ApiModelProperty(value = "NOx许可排放") + private BigDecimal permissibleDischargeNox; + @ApiModelProperty(value = "NOx许可占比") + private BigDecimal ratioNox; + + @ApiModelProperty(value = "颗粒物实际排放") + private BigDecimal actualDischargePm; + @ApiModelProperty(value = "颗粒物许可排放") + private BigDecimal permissibleDischargePm; + @ApiModelProperty(value = "颗粒物许可占比") + private BigDecimal ratioPm; + + @ApiModelProperty(value = "VOCs实际排放") + private BigDecimal actualDischargeVocs; + @ApiModelProperty(value = "VOCs许可排放") + private BigDecimal permissibleDischargeVocs; + @ApiModelProperty(value = "VOCs许可占比") + private BigDecimal ratioVocs; + + @ApiModelProperty(value = "COD实际排放") + private BigDecimal actualDischargeCod; + @ApiModelProperty(value = "COD许可排放") + private BigDecimal permissibleDischargeCod; + @ApiModelProperty(value = "COD许可占比") + private BigDecimal ratioCod; + + @ApiModelProperty(value = "氨氮实际排放") + private BigDecimal actualDischargeNhn; + @ApiModelProperty(value = "氨氮许可排放") + private BigDecimal permissibleDischargeNhn; + @ApiModelProperty(value = "氨氮许可占比") + private BigDecimal ratioNhn; + + @ApiModelProperty(value = "总氮实际排放") + private BigDecimal actualDischargeTn; + @ApiModelProperty(value = "总氮许可排放") + private BigDecimal permissibleDischargeTn; + @ApiModelProperty(value = "总氮许可占比") + private BigDecimal ratioTn; + + @ApiModelProperty(value = "总磷实际排放") + private BigDecimal actualDischargeTp; + @ApiModelProperty(value = "总磷许可排放") + private BigDecimal permissibleDischargeTp; + @ApiModelProperty(value = "总磷许可占比") + private BigDecimal ratioTp; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.java new file mode 100644 index 0000000..4fcf31e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo.homepage; + +import cn.cecep.talroad.vo.PcFactoryVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-地图点位企业坐标、高级搜索条件VO") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEnterpriseOverviewVo +{ + + + @ApiModelProperty(value = "企业名称") + private String enterpriseName; + @ApiModelProperty(value = "企业地图显示tip窗颜色 1:重点管理;2:简化管理;3:限期整改;4:登记管理") + private String enterpriseTip; + @ApiModelProperty(value = "行业") + private String enterpriseIndustry; + @ApiModelProperty(value = "区县编码") + private String enterpriseCountycode; + @ApiModelProperty(value = "是否重点排污单位 1:是;2:否") + private String pollutantDischargingUnit; + @ApiModelProperty(value = "重点排污单位名录类别 1:大气环境;2:水环境;3:土壤环境;4:声环境") + private String pollutantDischargingUnitCategory; + @ApiModelProperty(value = "许可管理类别 1:重点管理;2:简化管理;3:登记管理;") + private String licenseManagementCategory; + @ApiModelProperty(value = "许可是否整改 1:是;2:否") + private String licenseAbarbeitung; + @ApiModelProperty(value = "管控级别 等级 A/B/B-/C/D/X/Y/Z。X=非绩效引领,Y=豁免,Z=未评级") + private String controlLevel; + @ApiModelProperty(value = "生态环境信用级别 等级 A/B/C/D/E。") + private String ecologicalEnvironmentCreditRating; + @ApiModelProperty(value = "实际排放量告警 1:实际排放量达到80%;2:实际排放量达到90%;3:实际排放量超标;") + private String actualEmissionAlarm; + @ApiModelProperty(value = "返回企业列表") + private List pcFactoryVoList; + @ApiModelProperty(value = "返回企业列表条数") + private String pcFactorySize; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterprisePopVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterprisePopVo.java new file mode 100644 index 0000000..c9ee106 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnterprisePopVo.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * 地图首页弹出层 + * + * @author szhpt + * @date 2023-01-10 + */ +@ApiModel(value = "首页-地图点位企业坐标弹出层VO") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEnterprisePopVo { + + @ApiModelProperty(value = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "企业标签列表") + private List factoryLabelList; + + @ApiModelProperty(value = "行业类别") + private String industryCategory; + + @ApiModelProperty(value = "市") + private String cityName; + + @ApiModelProperty(value = "县") + private String countryName; + + @ApiModelProperty(value = "是否重点排污单位") + private String wipollunit; + + @ApiModelProperty(value = "生产经营场所地址") + private String prodBusiOperation; + +// @ApiModelProperty(value = "排放趋势") +// private EChartsVO.SeriesObj emissionTrend; +// +// @ApiModelProperty(value = "产量趋势") +// private EChartsVO.SeriesObj yieldTrend; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.java new file mode 100644 index 0000000..b751905 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.java @@ -0,0 +1,33 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-企业总揽") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmEnvironmentOverviewVo +{ + + + @ApiModelProperty(value = "绿色标志 A") + private String overviewGreen; + @ApiModelProperty(value = "蓝色标识 B") + private String overviewBlue; + @ApiModelProperty(value = "黄色标识 C") + private String overviewYellow; + @ApiModelProperty(value = "红色标识 D") + private String overviewRed; + @ApiModelProperty(value = "灰色标识 E") + private String overviewGray; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmMeriRatingOverviewVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmMeriRatingOverviewVo.java new file mode 100644 index 0000000..571cae4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/HpmMeriRatingOverviewVo.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.vo.homepage; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "首页-绩效评级总览") +@EqualsAndHashCode(callSuper = false) +@Data +public class HpmMeriRatingOverviewVo +{ + + @ApiModelProperty(value = "绩效评级行业总数") + private Integer overviewIndustryAmount; + + @ApiModelProperty(value = "总企业数") + private Integer enterprises; + + @ApiModelProperty(value = "A级企业") + private Integer enterpriseA; + @ApiModelProperty(value = "B级企业") + private Integer enterpriseB; + @ApiModelProperty(value = "B-级企业") + private Integer enterpriseBdown; + @ApiModelProperty(value = "C级企业") + private Integer enterpriseC; + @ApiModelProperty(value = "D级企业") + private Integer enterpriseD; + @ApiModelProperty(value = "豁免类企业") + private Integer enterpriseExempt; + @ApiModelProperty(value = "未评级企业") + private Integer enterpriseExemptUnrated; + @ApiModelProperty(value = "非绩效企业") + private Integer enterpriseNonPerformance; + @ApiModelProperty(value = "绩效企业") + private Integer enterprisePerformance=0; + + @ApiModelProperty(value = "非完成评级数量") + @JsonIgnore + private int incompleteRatingNum; + + @ApiModelProperty(value = "完成评级数量") + @JsonIgnore + private int completeRatingNum; + + @ApiModelProperty(value = "非完成评级占比") + private BigDecimal incompleteRatingProp; + + @ApiModelProperty(value = "完成评级占比") + private BigDecimal completeRatingProp; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.java new file mode 100644 index 0000000..f4dead7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.vo.homepage; + +import cn.cecep.talroad.common.core.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + + +@ApiModel(value = "大屏-在线监控分析--监测点位预警报警情况详情") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonitoringPointWarningDetailsVo implements Serializable +{ + + @ApiModelProperty(value = "污染物") + @Excel(name = "污染物",sort = 3) + private String paramName; + + @ApiModelProperty(value = "浓度") + @Excel(name = "浓度",sort = 6) + private String concentration; + + @ApiModelProperty(value = "详情") + @Excel(name = "详情",sort = 7) + private String problemDetails; + @ApiModelProperty(value = "企业名称") + @Excel(name = "企业名称",sort = 1) + private String factoryName; + + @ApiModelProperty(value = "问题分类") + @Excel(name = "问题分类",sort = 5) + private String name; + + @ApiModelProperty(value = "报警类型") + @Excel(name = "报警类型",sort = 4) + private String problemType; + @ApiModelProperty(value = "污染种类") + @Excel(name = "污染种类",sort = 2) + private String pollutantOutletType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.java new file mode 100644 index 0000000..86d3019 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + + +@ApiModel(value = "大屏-在线监控分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonitoringPointWarningVo implements Serializable +{ + + @ApiModelProperty(value = "废气监测预警") + private String gasMonitoringWarning; + + @ApiModelProperty(value = "废气监测超标") + private String gasMonitoringExceeding; + + @ApiModelProperty(value = "废气监测异常") + private String gasMonitoringAbnormal; + @ApiModelProperty(value = "废水监测预警") + private String waterMonitoringWarning; + + @ApiModelProperty(value = "废水监测超标") + private String waterMonitoringExceeding; + + @ApiModelProperty(value = "废水监测异常") + private String waterMonitoringAbnormal; + + public MonitoringPointWarningVo() { + } + + public MonitoringPointWarningVo(String gasMonitoringWarning, String gasMonitoringExceeding, String gasMonitoringAbnormal, String waterMonitoringWarning, String waterMonitoringExceeding, String waterMonitoringAbnormal) { + this.gasMonitoringWarning = gasMonitoringWarning; + this.gasMonitoringExceeding = gasMonitoringExceeding; + this.gasMonitoringAbnormal = gasMonitoringAbnormal; + this.waterMonitoringWarning = waterMonitoringWarning; + this.waterMonitoringExceeding = waterMonitoringExceeding; + this.waterMonitoringAbnormal = waterMonitoringAbnormal; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.java new file mode 100644 index 0000000..c311132 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.java @@ -0,0 +1,41 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + + +@ApiModel(value = "大屏-在线监控分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class OverviewOnlineMonitorsVo implements Serializable +{ + + @ApiModelProperty(value = "在线监测企业") + private String onlineEnterprise; + + @ApiModelProperty(value = "涉水企业") + private String waterEnterprise; + + @ApiModelProperty(value = "涉气企业") + private String airEnterprise; + + @ApiModelProperty(value = "在线监测点位") + private String onlinePoint; + + @ApiModelProperty(value = "废气监测点位") + private String airOnlinePoint; + + @ApiModelProperty(value = "废水监测点位") + private String waterOnlinePoint; + + @ApiModelProperty(value = "匹配排污许可废气排口") + private String airMainOutlet; + + @ApiModelProperty(value = "匹配排污许可废水排口") + private String waterMainOutlet; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewUnorganizedMonitorsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewUnorganizedMonitorsVo.java new file mode 100644 index 0000000..9cc5764 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewUnorganizedMonitorsVo.java @@ -0,0 +1,25 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + + +@ApiModel(value = "大屏-无组织监控分析-无组织监测总览") +@EqualsAndHashCode(callSuper = false) +@Data +public class OverviewUnorganizedMonitorsVo implements Serializable +{ + + @ApiModelProperty(value = "无组织企业数") + private String unorganizedEnterprise; + + @ApiModelProperty(value = "无组织监测点数") + private String monitorNumber; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.java new file mode 100644 index 0000000..90a2671 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.java @@ -0,0 +1,31 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + + +@ApiModel(value = "大屏-视频监控分析-视频与门禁监控总览") +@EqualsAndHashCode(callSuper = false) +@Data +public class OverviewVideoMonitorsVo implements Serializable +{ + + @ApiModelProperty(value = "视频监控企业数") + private String videoEnterprise; + + @ApiModelProperty(value = "视频监控数量") + private String videoNumber; + + @ApiModelProperty(value = "门禁监控企业数") + private String accessControlEnterprise; + + @ApiModelProperty(value = "门禁监控数量") + private String accessControlNumber; + private Date eaTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/ProportionVideoMonitorsVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/ProportionVideoMonitorsVo.java new file mode 100644 index 0000000..80025e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/ProportionVideoMonitorsVo.java @@ -0,0 +1,32 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +@ApiModel(value = "大屏-视频监控分析-视频与门禁监控总览") +@EqualsAndHashCode(callSuper = false) +@Data +public class ProportionVideoMonitorsVo implements Serializable +{ + + @ApiModelProperty(value = "视频监控企业数") + private BigDecimal videoEnterprise; + + @ApiModelProperty(value = "视频监控数量") + private BigDecimal videoNumber; + + @ApiModelProperty(value = "门禁监控企业数") + private BigDecimal accessControlEnterprise; + + @ApiModelProperty(value = "门禁监控数量") + private BigDecimal accessControlNumber; + private Date eaTime; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/RegionalOnlineMonitoringVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/RegionalOnlineMonitoringVo.java new file mode 100644 index 0000000..e8ae13c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/RegionalOnlineMonitoringVo.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + + +@ApiModel(value = "大屏-在线监测-区域在线监测有效监测率及超标率") +@EqualsAndHashCode(callSuper = false) +@Data +public class RegionalOnlineMonitoringVo implements Serializable +{ + + @ApiModelProperty(value = "区域名称") + private String regionName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + + @ApiModelProperty(value = "监测点位数量") + private String numberMonitoringPoints; + + @ApiModelProperty(value = "有效监测率") + private String monitoringRate; + + @ApiModelProperty(value = "超标率") + private String excessRate; + + private BigDecimal total; + + private BigDecimal divisor; + @ApiModelProperty(value = "许可行业名称") + private String industryPermissionName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/VideoMonitoringIssuesVo.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/VideoMonitoringIssuesVo.java new file mode 100644 index 0000000..457e539 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/homepage/VideoMonitoringIssuesVo.java @@ -0,0 +1,56 @@ +package cn.cecep.talroad.vo.homepage; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + + +@ApiModel(value = "大屏-视频监控分析-监控问题视频") +@EqualsAndHashCode(callSuper = false) +@Data +public class VideoMonitoringIssuesVo implements Serializable +{ + + @ApiModelProperty(value = "视频时间") + private String videoTime; + + @ApiModelProperty(value = "截图url") + private String videoPath; + + @ApiModelProperty(value = "视频数据类型 1:视频截图, 2:视频回放") + private String videoType; + + @ApiModelProperty(value = "视频回放开始时间") + private String startTime; + + @ApiModelProperty(value = "视频回放结束时间") + private String endTime; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "点位名称") + private String devName; + + @ApiModelProperty(value = "摄像头ID") + private String devId; + + @ApiModelProperty(value = "设备通道id") + private String channelId; + + @ApiModelProperty(value = "摄像头状态 1:在线, 2:离线") + private String status; + + @ApiModelProperty(value = "设备id,用于视频来源于GB28181") + private String gbsDeviceId; + + @ApiModelProperty(value = "设备来源 1:GB28181, 2:污染源动态管控") + private String devSource; + + @ApiModelProperty(value = "是否启用,0:未启用,1:启用") + private String isStatus; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.java new file mode 100644 index 0000000..50da5fb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmDoorMonitorAccountFi; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 门禁监控对象 m_am_door_monitor_account_fi + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "门禁监控") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmDoorMonitorAccountFiQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "车牌号码") + private String lpnCode; + @ApiModelProperty(value = "出入类型") + private String entryType; + @ApiModelProperty(value = "出入开始时间") + private String entryStartTime; + @ApiModelProperty(value = "出入结束时间") + private String entryEndTime; + @ApiModelProperty(value = "车队名称") + private String carTeam; + @ApiModelProperty(value = "排放阶段") + private String dischargeStage; + @ApiModelProperty(value = "发动机号码") + private String ngineCode; + @ApiModelProperty(value = "货物名称") + private String ioType; + @ApiModelProperty(value = "货物净重") + private String cargoQuantity; + @ApiModelProperty(value = "行驶证照片") + private String drivingLicenseImage; + @ApiModelProperty(value = "随车清单") + private String accessoryListImage; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(AmDoorMonitorAccountFiQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getLpnCode()), "lpn_code", query.getLpnCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getEntryType()), "entry_type", query.getEntryType()); + wrapper.between(StringUtils.isNotEmpty(query.getEntryStartTime()) && StringUtils.isNotEmpty(query.getEntryEndTime()), "entry_time", query.getEntryStartTime(), query.getEntryEndTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getCarTeam()), "car_team", query.getCarTeam()); + wrapper.eq(StringUtils.isNotEmpty(query.getDischargeStage()), "discharge_stage", query.getDischargeStage()); + wrapper.eq(StringUtils.isNotEmpty(query.getNgineCode()), "ngine_code", query.getNgineCode()); + wrapper.like(StringUtils.isNotEmpty(query.getIoType()), "io_type", query.getIoType()); + wrapper.eq(StringUtils.isNotEmpty(query.getCargoQuantity()), "cargo_quantity", query.getCargoQuantity()); + wrapper.eq(StringUtils.isNotEmpty(query.getDrivingLicenseImage()), "driving_license_image", query.getDrivingLicenseImage()); + wrapper.eq(StringUtils.isNotEmpty(query.getAccessoryListImage()), "accessory_list_image", query.getAccessoryListImage()); + + wrapper.orderByDesc("entry_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiQuery.java new file mode 100644 index 0000000..babc1da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiQuery.java @@ -0,0 +1,101 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +@ApiModel(value = "预警报警信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmProblemFiQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "问题来源 1:关联分析系统, 2:分表计电系统, 3:动态管控系统") + private String problemSources; + + @ApiModelProperty(value = "问题分类 多个使用逗号分隔") + private List problemTypes; + + @ApiModelProperty(value = "监测点位名称") + private String stationName; + + @ApiModelProperty(value = "参数名称") + private String paramName; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业编码") + private String industryCode; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码列表") + private List regionCodeList; + + @ApiModelProperty(value = "分析时间开始 格式:yyyy-MM-dd") + private String analyseTimeStart; + + @ApiModelProperty(value = "分析时间结束 格式:yyyy-MM-dd") + private String analyseTimeEnd; + + @ApiModelProperty(value = "污染要素分类 1:气污染要素, 2:水污染要素") + private String pollutantSourceAi; + + @ApiModelProperty(value = "状态 1:查看, 2:验证") + private String status; + + @ApiModelProperty(value = "类型 0-预警,1-报警") + private Integer type; + + @ApiModelProperty(value = "问题状态:100:初始化/待签收,200:待整改,300:待审核,400:审核不通过,500:已办结/已签收") + private String problemStatus; + + @ApiModelProperty(value = "问题状态 多个使用逗号分隔") + private List problemStatusList; + + @ApiModelProperty(value = "问题审核人类型:1:值守,2:执法") + private String problemAuditType; + + private Boolean noRegion = false;//为true时查询不限制区域 + + @ApiModelProperty(value = "查询类型,问题分类大类 、0:预警,1:不涉及违法问题,2涉及违法问题") + private String topType;//查询类型 + + @ApiModel(value = "查询图表数据参数") + @Data + public static class ChartDataParam { + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "问题类型") + private List problemType; + + @ApiModelProperty(value = "日期类型 日:D, 月:N") + private String dateType; + + @ApiModelProperty(value = "开始日期") + private String startTime; + + @ApiModelProperty(value = "结束日期") + private String endTime; + + @ApiModelProperty("行业") + private String industry; + + @ApiModelProperty("问题类型以指定字符串开头的") + private String problemTypeStartWith; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.java new file mode 100644 index 0000000..b22a9b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.AmProblemFiRatio; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 预警报警信息-预警比例定制对象 m_am_problem_fi_ratio + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "预警报警信息-预警比例定制") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmProblemFiRatioQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "监测点位id") + private String stationId; + @ApiModelProperty(value = "污染物id") + private String pollId; + @ApiModelProperty(value = "预警比例") + private String problemRatio; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "修改时间") + private String updateTime; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "监测点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "污染物名称") + private String pollName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(AmProblemFiRatioQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollId()), "poll_id", query.getPollId()); + wrapper.eq(ObjectUtil.isNotNull(query.getProblemRatio()), "problem_ratio", query.getProblemRatio()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.java new file mode 100644 index 0000000..72eba09 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.AmVideoDevFi; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Arrays; +import java.util.List; + + +/** + * 视频监控对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "视频监控") +@EqualsAndHashCode(callSuper = false) +@Data +public class AmVideoDevFiQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + + @ApiModelProperty(value = "企业id") + private String factoryId; + + private String outletId; + + @ApiModelProperty("对应排污许可行业") + private String industry; + + @ApiModelProperty("对应排污许可生产设施名称") + private String deviceName; + + @ApiModelProperty("对应排污许可生产设施编号") + private String deviceCode; + + @ApiModelProperty(value = "视频通道ID") + private String channelId; + + @ApiModelProperty(value = "视频监测点位名称") + private String devName; + + @ApiModelProperty("站房id") + private String stationBuildingId; + + + @ApiModelProperty("设备id") + private String deviceId; + + @ApiModelProperty("设备来源 1:GB28181, 2:污染源动态管控") + private List devSource; + + @ApiModelProperty("操作时间,只有日志查询使用") + private String startTime; + + @ApiModelProperty("操作时间,只有日志查询使用") + private String endTime; + + @ApiModelProperty("是否启用") + private String isStatus; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(AmVideoDevFiQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.like(StringUtils.isNotEmpty(query.getDevName()), "dev_name", query.getDevName()); + wrapper.like(StringUtils.isNotEmpty(query.getDeviceName()), "deviceName", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getStationBuildingId()), "station_building_id", query.getStationBuildingId()); + + // 若未指定则查询1和2的 + if (query.getDevSource() == null || query.getDevSource().isEmpty()) { + wrapper.in( "dev_source", Arrays.asList("1", "2")); + } else { + wrapper.in( "dev_source", query.getDevSource()); + } + + wrapper.orderByAsc("status", "id"); + return wrapper; + } + + public static QueryWrapper createLambdaQueryWrapperFactory(AmVideoDevFiQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "mam.id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "mam.factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getChannelId()), "mam.channel_id", query.getChannelId()); + wrapper.like(StringUtils.isNotEmpty(query.getDeviceCode()), "poc.pollutant_code", query.getDeviceCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDeviceName()), "poc.pollutant_name", query.getDeviceName()); + wrapper.like(StringUtils.isNotEmpty(query.getDevName()), "mam.dev_name", query.getDevName()); + wrapper.eq(StringUtils.isNotEmpty(query.getStationBuildingId()), "station_building_id", query.getStationBuildingId()); + + // 若未指定则查询1和2的 + if (query.getDevSource() == null || query.getDevSource().isEmpty()) { + wrapper.in( "dev_source", Arrays.asList("1", "2")); + } else { + wrapper.in( "dev_source", query.getDevSource()); + } + + wrapper.orderByAsc("mam.status", "mam.id"); + return wrapper; + } + public static QueryWrapper createLambdaQueryWrapperXK(AmVideoDevFiQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "poc.factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustry()), "poc.industry", query.getIndustry()); + wrapper.like(StringUtils.isNotEmpty(query.getDeviceCode()), "poc.pollutant_code", query.getDeviceCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDeviceName()), "poc.pollutant_name", query.getDeviceName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.java new file mode 100644 index 0000000..f391e22 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.AppVersionAddressManagement; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + + +/** + * @Description: app版本管理表 + * @Author: code-generate + * @Date: 2023-07-06 + * @Version: V1.0 + */ +@ApiModel(value="app_version_address_management查询对象") +@EqualsAndHashCode(callSuper = false) +@Data +public class AppVersionAddressManagementQuery extends PageQuery +{ + + /**主键*/ + @ApiModelProperty(value = "主键") + private String id; + /**下载地址*/ + @ApiModelProperty(value = "下载地址") + private String downloadUrl; + /**log图片地址*/ + @ApiModelProperty(value = "log图片地址") + private String logimgUrl; + /**相对的文件地址*/ + @ApiModelProperty(value = "相对的文件地址") + private String downloadRelativelyUrl; + /**版本号*/ + @ApiModelProperty(value = "版本号") + private String versionName; + /**更新提示语*/ + @ApiModelProperty(value = "更新提示语") + private String updateHint; + /**是否强制更新 0 否 1是*/ + @ApiModelProperty(value = "是否强制更新 0 否 1是") + private Integer isForcedUpdate; + /**是否生产 0: 测试 1: 生产*/ + @ApiModelProperty(value = "是否生产 0: 测试 1: 生产") + private Integer isDebug; + /**0 正常 1 删除 2禁用 3测试*/ + @ApiModelProperty(value = "0 正常 1 删除 2禁用 3测试") + private Integer status; + /**添加时间*/ + @ApiModelProperty(value = "添加时间") + private java.util.Date addTime; + /**修改时间*/ + @ApiModelProperty(value = "修改时间") + private java.util.Date updateTime; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(AppVersionAddressManagementQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDownloadUrl()), "downloadUrl", query.getDownloadUrl()); + wrapper.eq(ObjectUtil.isNotNull(query.getLogimgUrl()), "logimgUrl", query.getLogimgUrl()); + wrapper.eq(ObjectUtil.isNotNull(query.getDownloadRelativelyUrl()), "downloadRelativelyUrl", query.getDownloadRelativelyUrl()); + wrapper.eq(ObjectUtil.isNotNull(query.getVersionName()), "versionName", query.getVersionName()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateHint()), "updateHint", query.getUpdateHint()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsForcedUpdate()), "isForcedUpdate", query.getIsForcedUpdate()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDebug()), "isDebug", query.getIsDebug()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "status", query.getStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddTime()), "addTime", query.getAddTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "updateTime", query.getUpdateTime()); + + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrBusinessAlertsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrBusinessAlertsQuery.java new file mode 100644 index 0000000..b2a67bb --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrBusinessAlertsQuery.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrBusinessAlerts; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.text.ParseException; +import java.util.Date; + + +/** + * 通知提醒-业务提醒对象 b_enterprise_ir_business_alerts + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-业务提醒") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrBusinessAlertsQuery extends PageQuery +{ + + @ApiModelProperty(value = "通知提醒主键") + private Long businessId; + @ApiModelProperty(value = "企业id") + @NotBlank(message = "请指定查询企业主键") + private String factoryId; + @ApiModelProperty(value = "业务类型") + private String businessType; + @ApiModelProperty(value = "提醒内容") + private String businessDetails; + @ApiModelProperty(value = "提醒日期") + private Date businessTime; + @ApiModelProperty(value = "状态") + private String status; + + @ApiModelProperty(value = "检索开始时间(yyyy-MM-dd)") + private String searchBeginTime; + + @ApiModelProperty(value = "检索截至时间(yyyy-MM-dd)") + private String searchEndTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrBusinessAlertsQuery query) throws ParseException { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getBusinessId()), "business_id", query.getBusinessId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getBusinessType()), "business_type", query.getBusinessType()); + wrapper.like(StringUtils.isNotEmpty(query.getBusinessDetails()), "business_details", query.getBusinessDetails()); + wrapper.eq(ObjectUtil.isNotNull(query.getBusinessTime()), "business_time", query.getBusinessTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); + wrapper.eq("del_flag", "0"); + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginTime()) && ObjectUtil.isNotEmpty(query.getSearchEndTime()), "business_time", ObjectUtil.isNotEmpty(query.getSearchBeginTime()) ? DateUtils.parseDate(query.getSearchBeginTime(), DateUtils.YYYY_MM_DD) : query.getSearchBeginTime(), ObjectUtil.isNotEmpty(query.getSearchEndTime()) ? DateUtils.parseDate(query.getSearchEndTime()+" 23:59:59", DateUtils.YYYY_MM_DD_HH_MM_SS) : query.getSearchEndTime()); + wrapper.orderByDesc("business_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesQuery.java new file mode 100644 index 0000000..d783576 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrEes; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 知识库-生态环境标准对象 b_enterprise_ir_ees + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrEesQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "标准分类:水环境保护-101、大气环境保护-102、环境噪声与振动-103、土壤环境保护-104、固体废物与化学品环境污染控制-105、核辐射与电磁辐射环境保护-106、生态环境保护-107、环境影响评价-108、排污许可-109、其他环境保护标准-110、污染防治技术政策-111、环境检测方法标准及监测规范-112。") + private String eesClassify; + @ApiModelProperty(value = "标准子类:10101水环境质量标准、10102水污染排放标准、10103相关标准;10201大气环境质量标准、10202大气固定源污染物排放标准、10203大气移动原污染物排放标准、10204相关标准;10301生环境质量标准、10302环境噪声排放标准;10401土壤环境标准;...") + private String eesType; + @ApiModelProperty(value = "标准名称") + private String eesName; + @ApiModelProperty(value = "标准标题") + private String eesTitle; + @ApiModelProperty(value = "标准内容") + private String eesDetails; + @ApiModelProperty(value = "标准附件名称") + private String eesFileName; + @ApiModelProperty(value = "标准附件url") + private String eesFileUrl; + @ApiModelProperty(value = "标准实施时间") + private String eesTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrEesQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesClassify()), "ees_classify", query.getEesClassify()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesType()), "ees_type", query.getEesType()); + wrapper.like(StringUtils.isNotEmpty(query.getEesName()), "ees_name", query.getEesName()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesTitle()), "ees_title", query.getEesTitle()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesDetails()), "ees_details", query.getEesDetails()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesFileName()), "ees_file_name", query.getEesFileName()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesFileUrl()), "ees_file_url", query.getEesFileUrl()); + wrapper.eq(StringUtils.isNotEmpty(query.getEesTime()), "ees_time", query.getEesTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.java new file mode 100644 index 0000000..68ffeed --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BEnterpriseIrEesType; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 知识库-生态环境标准-分类对象 b_enterprise_ir_ees_type + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-生态环境标准-分类") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrEesTypeQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "分类编码;主类编码以10开头,如水环境 101,大气环境102;子类编码为父类编码加序号如水环境质量10101,水污染物排放10102") + private String eesClassify; + @ApiModelProperty(value = "分类名称") + private String eesType; + @ApiModelProperty(value = "分类级别") + private String eesName; + @ApiModelProperty(value = "分类父编码,主类父编码默认为0") + private String eesTitle; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrEesTypeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getEesClassify()), "ees_classify", query.getEesClassify()); + wrapper.eq(ObjectUtil.isNotNull(query.getEesType()), "ees_type", query.getEesType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEesName()), "ees_name", query.getEesName()); + wrapper.eq(ObjectUtil.isNotNull(query.getEesTitle()), "ees_title", query.getEesTitle()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.java new file mode 100644 index 0000000..eeec59a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrLegal; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 知识库-法律法规对象 b_enterprise_ir_legal + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-法律法规") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrLegalQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "法律法规分类") + private String legalType; + @ApiModelProperty(value = "法律法规名称") + private String legalName; + @ApiModelProperty(value = "法律法规标题") + private String legalTitle; + @ApiModelProperty(value = "法律法规内容") + private String legalDetails; + @ApiModelProperty(value = "法律法规附件名称") + private String legalFileName; + @ApiModelProperty(value = "法律法规附件url") + private String legalFileUrl; + @ApiModelProperty(value = "发布时间") + private String legalTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrLegalQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getLegalType()), "legal_type", query.getLegalType()); + wrapper.like(StringUtils.isNotEmpty(query.getLegalName()), "legal_name", query.getLegalName()); + //wrapper.eq(StringUtils.isNotEmpty(query.getLegalTitle()), "legal_title", query.getLegalTitle()); + wrapper.like(StringUtils.isNotEmpty(query.getLegalTitle()), "legal_title", query.getLegalTitle()); + wrapper.eq(StringUtils.isNotEmpty(query.getLegalDetails()), "legal_details", query.getLegalDetails()); + wrapper.eq(StringUtils.isNotEmpty(query.getLegalFileName()), "legal_file_name", query.getLegalFileName()); + wrapper.eq(StringUtils.isNotEmpty(query.getLegalFileUrl()), "legal_file_url", query.getLegalFileUrl()); + wrapper.eq(StringUtils.isNotEmpty(query.getLegalTime()), "legal_time", query.getLegalTime()); + wrapper.orderByDesc("legal_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.java new file mode 100644 index 0000000..19e0a71 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrNotifierproNotice; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.text.ParseException; +import java.util.Date; + + +/** + * 通知提醒-通知公告对象 b_enterprise_ir_notifierpro_notice + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "通知提醒-通知公告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrNotifierproNoticeQuery extends PageQuery +{ + + @ApiModelProperty(value = "通知公告主键") + private Long noticeId; + @ApiModelProperty(value = "企业id") + @NotBlank(message = "请指定查询企业主键") + private String factoryId; + @ApiModelProperty(value = "公告类型") + private String announcementType; + @ApiModelProperty(value = "公告标题") + private String announcementTitle; + @ApiModelProperty(value = "公告内容") + private String announcementDetails; + @ApiModelProperty(value = "公告发布时间") + private Date announcementTime; + @ApiModelProperty(value = "状态") + private String status; + + @ApiModelProperty(value = "检索开始时间(yyyy-MM-dd)") + private String searchBeginTime; + + @ApiModelProperty(value = "检索截至时间(yyyy-MM-dd)") + private String searchEndTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrNotifierproNoticeQuery query) throws ParseException { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getNoticeId()), "notice_id", query.getNoticeId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getAnnouncementType()), "announcement_type", query.getAnnouncementType()); + wrapper.like(StringUtils.isNotEmpty(query.getAnnouncementTitle()), "announcement_title", query.getAnnouncementTitle()); + wrapper.eq(StringUtils.isNotEmpty(query.getAnnouncementDetails()), "announcement_details", query.getAnnouncementDetails()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnouncementTime()), "announcement_time", query.getAnnouncementTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); + wrapper.eq("del_flag", "0"); + wrapper.between(StringUtils.isNotEmpty(query.getSearchBeginTime()) && StringUtils.isNotEmpty(query.getSearchEndTime()), "announcement_time", StringUtils.isNotEmpty(query.getSearchBeginTime()) ? DateUtils.parseDate(query.getSearchBeginTime(), DateUtils.YYYY_MM_DD) : query.getSearchBeginTime(), StringUtils.isNotEmpty(query.getSearchEndTime()) ? DateUtils.parseDate(query.getSearchEndTime()+" 23:59:59", DateUtils.YYYY_MM_DD_HH_MM_SS) : query.getSearchEndTime()); + wrapper.orderByDesc("announcement_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.java new file mode 100644 index 0000000..0a30347 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BEnterpriseIrSdoept; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 知识库-排污治理科普库对象 b_enterprise_ir_sdoept + * + * @author szhpt + * @date 2023-03-14*/ +@ApiModel(value = "知识库-排污治理科普库") +@EqualsAndHashCode(callSuper = false) +@Data +public class BEnterpriseIrSdoeptQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "排污治理科普库分类") + private String sdoeptType; + @ApiModelProperty(value = "排污治理科普库名称") + private String sdoeptName; + @ApiModelProperty(value = "排污治理科普库标题") + private String sdoeptTitle; + @ApiModelProperty(value = "排污治理科普库内容") + private String sdoeptDetails; + @ApiModelProperty(value = "排污治理科普库附件名称") + private String sdoeptFileName; + @ApiModelProperty(value = "排污治理科普库附件url") + private String sdoeptFileUrl; + @ApiModelProperty(value = "实施时间") + private String sdoeptTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BEnterpriseIrSdoeptQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getSdoeptType()), "sdoept_type", query.getSdoeptType()); + wrapper.like(StringUtils.isNotEmpty(query.getSdoeptName()), "sdoept_name", query.getSdoeptName()); + wrapper.like(StringUtils.isNotEmpty(query.getSdoeptTitle()), "sdoept_title", query.getSdoeptTitle()); + wrapper.eq(StringUtils.isNotEmpty(query.getSdoeptDetails()), "sdoept_details", query.getSdoeptDetails()); + wrapper.eq(StringUtils.isNotEmpty(query.getSdoeptFileName()), "sdoept_file_name", query.getSdoeptFileName()); + wrapper.eq(StringUtils.isNotEmpty(query.getSdoeptFileUrl()), "sdoept_file_url", query.getSdoeptFileUrl()); + wrapper.eq(StringUtils.isNotEmpty(query.getSdoeptTime()), "sdoept_time", query.getSdoeptTime()); + wrapper.orderByDesc("sdoept_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainActionReportsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainActionReportsQuery.java new file mode 100644 index 0000000..a1798c8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainActionReportsQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainActionReports; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 执行报告对象 b_main_action_reports + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "执行报告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainActionReportsQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "报告类型") + private String reportsType; + @ApiModelProperty(value = "报告期") + private String reportsTime; + @ApiModelProperty(value = "执行报告") + private String reportsFile; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainActionReportsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getReportsType()), "reports_type", query.getReportsType()); + wrapper.eq(StringUtils.isNotEmpty(query.getReportsTime()), "reports_time", query.getReportsTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getReportsFile()), "reports_file", query.getReportsFile()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.java new file mode 100644 index 0000000..9163774 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.java @@ -0,0 +1,95 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainAllowablePollutionAir; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 总许可量-大气排放总许可量要求对象 b_main_allowable_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量-大气排放总许可量要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainAllowablePollutionAirQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "许可证id") + private String pollDisId; + @ApiModelProperty(value = "污染物类别") + private String pollutionCategory; + @ApiModelProperty(value = "全厂有组织排放总计-第一年") + private String organizedFrist; + @ApiModelProperty(value = "全厂有组织排放总计-第二年") + private String organizedSecond; + @ApiModelProperty(value = "全厂有组织排放总计-第三年") + private String organizedThird; + @ApiModelProperty(value = "全厂有组织排放总计-第四年") + private String organizedFourth; + @ApiModelProperty(value = "全厂有组织排放总计-第五年") + private String organizedFifth; + @ApiModelProperty(value = "全厂无组织排放总计-第一年") + private String inorganizationFrist; + @ApiModelProperty(value = "全厂无组织排放总计-第二年") + private String inorganizationSecond; + @ApiModelProperty(value = "全厂无组织排放总计-第三年") + private String inorganizationThird; + @ApiModelProperty(value = "全厂无组织排放总计-第四年") + private String inorganizationFourth; + @ApiModelProperty(value = "全厂无组织排放总计-第五年") + private String inorganizationFifth; + @ApiModelProperty(value = "全厂合计-第一年") + private String totalFrist; + @ApiModelProperty(value = "全厂合计-第二年") + private String totalSecond; + @ApiModelProperty(value = "全厂合计-第三年") + private String totalThird; + @ApiModelProperty(value = "全厂合计-第四年") + private String totalFourth; + @ApiModelProperty(value = "全厂合计-第五年") + private String totalFifth; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainAllowablePollutionAirQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedFrist()), "organized_frist", query.getOrganizedFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedSecond()), "organized_second", query.getOrganizedSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedThird()), "organized_third", query.getOrganizedThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedFourth()), "organized_fourth", query.getOrganizedFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedFifth()), "organized_fifth", query.getOrganizedFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getInorganizationFrist()), "inorganization_frist", query.getInorganizationFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getInorganizationSecond()), "inorganization_second", query.getInorganizationSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getInorganizationThird()), "inorganization_third", query.getInorganizationThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getInorganizationFourth()), "inorganization_fourth", query.getInorganizationFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getInorganizationFifth()), "inorganization_fifth", query.getInorganizationFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalFrist()), "total_frist", query.getTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalSecond()), "total_second", query.getTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalThird()), "total_third", query.getTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalFourth()), "total_fourth", query.getTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalFifth()), "total_fifth", query.getTotalFifth()); + + wrapper.orderByAsc("pollution_category", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.java new file mode 100644 index 0000000..4839b17 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainAllowablePollutionWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 总许可量- 废水排放总许可量要求对象 b_main_allowable_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "总许可量- 废水排放总许可量要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainAllowablePollutionWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "许可证id") + private String pollDisId; + @ApiModelProperty(value = "污染物类别") + private String pollutionCategory; + @ApiModelProperty(value = "申请年排放量限值-第一年") + private String applyFrist; + @ApiModelProperty(value = "申请年排放量限值-第二年") + private String applySecond; + @ApiModelProperty(value = "申请年排放量限值-第三年") + private String applyThird; + @ApiModelProperty(value = "申请年排放量限值-第四年") + private String applyFourth; + @ApiModelProperty(value = "申请年排放量限值-第五年") + private String applyFifth; + @ApiModelProperty(value = "申请特殊时段排放量限值") + private String applyDischargeLimitingValue; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainAllowablePollutionWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplyFrist()), "apply_frist", query.getApplyFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplySecond()), "apply_second", query.getApplySecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplyThird()), "apply_third", query.getApplyThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplyFourth()), "apply_fourth", query.getApplyFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplyFifth()), "apply_fifth", query.getApplyFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getApplyDischargeLimitingValue()), "apply_discharge_limiting_value", query.getApplyDischargeLimitingValue()); + wrapper.orderByAsc("pollution_category", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonAirQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonAirQuery.java new file mode 100644 index 0000000..5f5d1a6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonAirQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainEmissionOnlineMonAir; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.text.ParseException; +import java.util.Date; + + +/** + * 企业排放信息-在线监测排放趋势-废气对象 b_main_emission_online_mon_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionOnlineMonAirQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + @NotBlank(message = "请指定查询企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "监测点位名称") + @NotBlank(message = "请指定监测点位名称") + private String monName; + @ApiModelProperty(value = "污染物类别") + private String pollutionCategory; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutionType; + @ApiModelProperty(value = "监测时间") + private Date monitoningTime; + @ApiModelProperty(value = "浓度小时均值") + private String meanConcentrationHour; + @ApiModelProperty(value = "浓度单位") + private String meanUnit; + @ApiModelProperty(value = "烟气流量(m3/h)") + private String flueGasFlowRate; + @ApiModelProperty(value = "污染物排放量(kg)") + private String pollutionDischarge; + @ApiModelProperty(value = "是否有效") + private String whetherEffective; + @ApiModelProperty(value = "修约排放量(kg)") + private String revisingDischarge; + @ApiModelProperty(value = "修约说明") + private String revisingExplain; + @ApiModelProperty(value = "纳入计算排放量(kg)") + private String inclusionCalculationDischarge; + @ApiModelProperty(value = "标记说明:N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + private String tagExplain; + + @ApiModelProperty(value = "污染类别[废水、废气]") + @NotBlank(message = "请指定污染类别[废水、废气]") + @TableField(exist = false) + private String facts; + + @ApiModelProperty(value = "检索开始时间(yyyy-MM-dd)") + @TableField(exist = false) + private String searchBeginTime; + + @ApiModelProperty(value = "检索截至时间(yyyy-MM-dd)") + @TableField(exist = false) + private String searchEndTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionOnlineMonAirQuery query) throws ParseException { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonName()), "mon_name", query.getMonName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionType()), "pollution_type", query.getPollutionType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoningTime()), "monitoning_time", query.getMonitoningTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getMeanConcentrationHour()), "mean_concentration_hour", query.getMeanConcentrationHour()); + wrapper.eq(ObjectUtil.isNotNull(query.getMeanUnit()), "mean_unit", query.getMeanUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlueGasFlowRate()), "flue_gas_flow_rate", query.getFlueGasFlowRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionDischarge()), "pollution_discharge", query.getPollutionDischarge()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherEffective()), "whether_effective", query.getWhetherEffective()); + wrapper.eq(ObjectUtil.isNotNull(query.getRevisingDischarge()), "revising_discharge", query.getRevisingDischarge()); + wrapper.eq(ObjectUtil.isNotNull(query.getRevisingExplain()), "revising_explain", query.getRevisingExplain()); + wrapper.eq(ObjectUtil.isNotNull(query.getInclusionCalculationDischarge()), "inclusion_calculation_discharge", query.getInclusionCalculationDischarge()); + //检索起止年份 + wrapper.between(StringUtils.isNotEmpty(query.getSearchBeginTime()) && StringUtils.isNotEmpty(query.getSearchEndTime()), "monitoning_time", DateUtils.parseDate(query.getSearchBeginTime()), DateUtils.parseDate(query.getSearchEndTime())); + wrapper.orderByAsc("monitoning_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.java new file mode 100644 index 0000000..adb2d9b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.java @@ -0,0 +1,123 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainEmissionOnlineMonWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.text.ParseException; +import java.util.Date; + + +/** + * 企业排放信息-在线监测排放趋势-废水对象 b_main_emission_online_mon_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-在线监测排放趋势-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionOnlineMonWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "监测点位名称") + private String monName; + @ApiModelProperty(value = "污染物类别") + private String pollutionCategory; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutionType; + @ApiModelProperty(value = "监测时间") + private Date monitoningTime; + @ApiModelProperty(value = "浓度日均值") + private String meanConcentrationDay; + @ApiModelProperty(value = "浓度单位") + private String meanUnit; + @ApiModelProperty(value = "烟气流量(m3/h)") + private String flueGasFlowRate; + @ApiModelProperty(value = "污染物排放量(kg)") + private String pollutionDischarge; + @ApiModelProperty(value = "是否有效") + private String whetherEffective; + @ApiModelProperty(value = "修约排放量(kg)") + private String revisingDischarge; + @ApiModelProperty(value = "修约说明") + private String revisingExplain; + @ApiModelProperty(value = "纳入计算排放量(kg)") + private String inclusionCalculationDischarge; + @ApiModelProperty(value = "标记说明:N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + private String tagExplain; + + @ApiModelProperty(value = "污染类别[废水、废气]") + @NotBlank(message = "请指定污染类别[废水、废气]") + @TableField(exist = false) + private String facts; + + @ApiModelProperty(value = "检索开始时间(yyyy-MM-dd)") + @TableField(exist = false) + private String searchBeginTime; + + @ApiModelProperty(value = "检索截至时间(yyyy-MM-dd)") + @TableField(exist = false) + private String searchEndTime; + + public BMainEmissionOnlineMonWaterQuery(String monName, String searchBeginTime, String searchEndTime) { + this.monName = monName; + this.searchBeginTime = searchBeginTime; + this.searchEndTime = searchEndTime; + } + + public BMainEmissionOnlineMonWaterQuery() { + + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionOnlineMonWaterQuery query) throws ParseException { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonName()), "mon_name", query.getMonName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionType()), "pollution_type", query.getPollutionType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoningTime()), "monitoning_time", query.getMonitoningTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getMeanConcentrationDay()), "mean_concentration_day", query.getMeanConcentrationDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getMeanUnit()), "mean_unit", query.getMeanUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlueGasFlowRate()), "flue_gas_flow_rate", query.getFlueGasFlowRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionDischarge()), "pollution_discharge", query.getPollutionDischarge()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherEffective()), "whether_effective", query.getWhetherEffective()); + wrapper.eq(ObjectUtil.isNotNull(query.getRevisingDischarge()), "revising_discharge", query.getRevisingDischarge()); + wrapper.eq(ObjectUtil.isNotNull(query.getRevisingExplain()), "revising_explain", query.getRevisingExplain()); + wrapper.eq(ObjectUtil.isNotNull(query.getInclusionCalculationDischarge()), "inclusion_calculation_discharge", query.getInclusionCalculationDischarge()); + //检索起止年份 + wrapper.between(StringUtils.isNotEmpty(query.getSearchBeginTime()) && StringUtils.isNotEmpty(query.getSearchEndTime()), "monitoning_time", DateUtils.parseDate(query.getSearchBeginTime()), DateUtils.parseDate(query.getSearchEndTime())); + wrapper.orderByAsc("monitoning_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.java new file mode 100644 index 0000000..d0c05e2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainEmissionPollutionAir; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废气对象 b_main_emission_pollution_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionAirQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String pollYear; + @ApiModelProperty(value = "污染类别") + @NotBlank(message = "请指定污染类别[废气、废水、固废]") + private String pollutionCategory; + @NotBlank(message = "请指定数据源[系统核算、执行报告]") + @ApiModelProperty(value = "数据源") + private String dataSource; + @ApiModelProperty(value = "SO2实际排放量") + private String actuallyEmittingSo2; + @ApiModelProperty(value = "SO2许可排放量") + private String allowableEmissionSo2; + @ApiModelProperty(value = "NOx实际排放量") + private String actuallyEmittingNox; + @ApiModelProperty(value = "NOx许可排放量") + private String allowableEmissionNox; + @ApiModelProperty(value = "颗粒物实际排放量") + private String actuallyEmittingPm; + @ApiModelProperty(value = "颗粒物许可排放量") + private String allowableEmissionPm; + @ApiModelProperty(value = "VOCs实际排放量") + private String actuallyEmittingVocs; + @ApiModelProperty(value = "VOCs许可排放量") + private String allowableEmissionVocs; + + @ApiModelProperty(value = "检索开始年份(yyyy)") + @TableField(exist = false) + private Integer searchBeginYear; + + @ApiModelProperty(value = "检索截至年份(yyyy)") + @TableField(exist = false) + private Integer searchEndYear; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionPollutionAirQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollYear()), "poll_year", query.getPollYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingSo2()), "actually_emitting_so2", query.getActuallyEmittingSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionSo2()), "allowable_emission_so2", query.getAllowableEmissionSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingNox()), "actually_emitting_nox", query.getActuallyEmittingNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionNox()), "allowable_emission_nox", query.getAllowableEmissionNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingPm()), "actually_emitting_pm", query.getActuallyEmittingPm()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionPm()), "allowable_emission_pm", query.getAllowableEmissionPm()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingVocs()), "actually_emitting_vocs", query.getActuallyEmittingVocs()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionVocs()), "allowable_emission_vocs", query.getAllowableEmissionVocs()); + //检索起止年份 + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginYear()) && ObjectUtil.isNotEmpty(query.getSearchEndYear()), "poll_year", query.getSearchBeginYear()+"", query.getSearchEndYear()+""); + wrapper.orderByAsc("poll_year"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.java new file mode 100644 index 0000000..ff566ec --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.java @@ -0,0 +1,96 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainEmissionPollutionSolidWaste; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业排放信息-不同污染物年度排放趋势-固废对象 b_main_emission_pollution_solid_waste + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-固废") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionSolidWasteQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String pollYear; + @ApiModelProperty(value = "污染类别") + private String pollutionCategory; + @ApiModelProperty(value = "数据源") + private String dataSource; + @ApiModelProperty(value = "固体废物类别") + private String solidWasteType; + @ApiModelProperty(value = "固体废物名称") + private String solidWasteName; + @ApiModelProperty(value = "年度计划产生量") + private String annualPlannedOutput; + @ApiModelProperty(value = "年度实际产生量") + private String annualActualProduction; + @ApiModelProperty(value = "年度贮存量") + private String annualStorageCapacity; + @ApiModelProperty(value = "年度转移量") + private String annualTransferVolume; + @ApiModelProperty(value = "年度自行处置利用量") + private String annualDisposalUtilization; + + @ApiModelProperty(value = "检索开始年份(yyyy)") + @TableField(exist = false) + private Integer searchBeginYear; + + @ApiModelProperty(value = "检索截至年份(yyyy)") + @TableField(exist = false) + private Integer searchEndYear; + + public BMainEmissionPollutionSolidWasteQuery(String pollutionCategory, String dataSource, Integer searchBeginYear, Integer searchEndYear, String factoryId) { + this.pollutionCategory = pollutionCategory; + this.dataSource = dataSource; + this.searchBeginYear = searchBeginYear; + this.searchEndYear = searchEndYear; + this.factoryId = factoryId; + } + + public BMainEmissionPollutionSolidWasteQuery() { + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionPollutionSolidWasteQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollYear()), "poll_year", query.getPollYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteType()), "solid_waste_type", query.getSolidWasteType()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteName()), "solid_waste_name", query.getSolidWasteName()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnualPlannedOutput()), "annual_planned_output", query.getAnnualPlannedOutput()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnualActualProduction()), "annual_actual_production", query.getAnnualActualProduction()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnualStorageCapacity()), "annual_storage_capacity", query.getAnnualStorageCapacity()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnualTransferVolume()), "annual_transfer_volume", query.getAnnualTransferVolume()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnnualDisposalUtilization()), "annual_disposal_utilization", query.getAnnualDisposalUtilization()); + //检索起止年份 + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginYear()) && ObjectUtil.isNotEmpty(query.getSearchEndYear()), "poll_year", query.getSearchBeginYear()+"", query.getSearchEndYear()+""); + wrapper.orderByAsc("poll_year"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionWaterQuery.java new file mode 100644 index 0000000..e299897 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionPollutionWaterQuery.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainEmissionPollutionWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业排放信息-不同污染物年度排放趋势-废水对象 b_main_emission_pollution_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-不同污染物年度排放趋势-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionPollutionWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String pollYear; + @ApiModelProperty(value = "污染类别") + private String pollutionCategory; + @ApiModelProperty(value = "数据源") + private String dataSource; + @ApiModelProperty(value = "COD实际排放量") + private String actuallyEmittingCod; + @ApiModelProperty(value = "COD许可排放量") + private String allowableEmissionCod; + @ApiModelProperty(value = "氨氮实际排放量") + private String actuallyEmittingNhn; + @ApiModelProperty(value = "氨氮许可排放量") + private String allowableEmissionNhn; + @ApiModelProperty(value = "总氮实际排放量") + private String actuallyEmittingTn; + @ApiModelProperty(value = "总氮许可排放量") + private String allowableEmissionTn; + @ApiModelProperty(value = "总磷实际排放量") + private String actuallyEmittingTp; + @ApiModelProperty(value = "总磷许可排放量") + private String allowableEmissionTp; + + @ApiModelProperty(value = "检索开始年份(yyyy)") + @TableField(exist = false) + private Integer searchBeginYear; + + @ApiModelProperty(value = "检索截至年份(yyyy)") + @TableField(exist = false) + private Integer searchEndYear; + + public BMainEmissionPollutionWaterQuery(String pollutionCategory, String dataSource, Integer searchBeginYear, Integer searchEndYear, String factoryId) { + this.pollutionCategory = pollutionCategory; + this.dataSource = dataSource; + this.searchBeginYear = searchBeginYear; + this.searchEndYear = searchEndYear; + this.factoryId = factoryId; + } + + public BMainEmissionPollutionWaterQuery() { + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionPollutionWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollYear()), "poll_year", query.getPollYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingCod()), "actually_emitting_cod", query.getActuallyEmittingCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionCod()), "allowable_emission_cod", query.getAllowableEmissionCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingNhn()), "actually_emitting_nhn", query.getActuallyEmittingNhn()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionNhn()), "allowable_emission_nhn", query.getAllowableEmissionNhn()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingTn()), "actually_emitting_tn", query.getActuallyEmittingTn()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionTn()), "allowable_emission_tn", query.getAllowableEmissionTn()); + wrapper.eq(ObjectUtil.isNotNull(query.getActuallyEmittingTp()), "actually_emitting_tp", query.getActuallyEmittingTp()); + wrapper.eq(ObjectUtil.isNotNull(query.getAllowableEmissionTp()), "allowable_emission_tp", query.getAllowableEmissionTp()); + //检索起止年份 + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginYear()) && ObjectUtil.isNotEmpty(query.getSearchEndYear()), "poll_year", query.getSearchBeginYear()+"", query.getSearchEndYear()+""); + wrapper.orderByAsc("poll_year"); + return wrapper; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirQuery.java new file mode 100644 index 0000000..ab65c42 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirQuery.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainEmissionSourceAir; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + + +/** + * 企业排放信息-多来源排放量对比-废气对象 b_main_emission_source_air + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionSourceAirQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + @NotBlank(message = "请指定查询企业主键ID") + private String factoryId; + @ApiModelProperty(value = "年份") + private String pollYear; + @ApiModelProperty(value = "污染物类别") + @NotBlank(message = "请指定污染物类别[COD、VOCs...]") + private String pollutionCategory; + @ApiModelProperty(value = "SO2系统核算排放量") + private String systematicAccountingSo2; + @ApiModelProperty(value = "SO2执行报告排放量") + private String actionReportsSo2; + @ApiModelProperty(value = "SO2许可排放量") + private String permissionSo2; + + @ApiModelProperty(value = "污染类别[废水、废气]") + @NotBlank(message = "请指定污染类别[废水、废气]") + @TableField(exist = false) + private String facts; + + @ApiModelProperty(value = "检索开始年份(yyyy)") + @TableField(exist = false) + private Integer searchBeginYear; + + @ApiModelProperty(value = "检索截至年份(yyyy)") + @TableField(exist = false) + private Integer searchEndYear; + + public BMainEmissionSourceAirQuery(String pollutionCategory,Integer searchBeginYear, Integer searchEndYear) { + this.pollutionCategory = pollutionCategory; + this.searchBeginYear = searchBeginYear; + this.searchEndYear = searchEndYear; + } + + public BMainEmissionSourceAirQuery() { + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionSourceAirQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollYear()), "poll_year", query.getPollYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getSystematicAccountingSo2()), "systematic_accounting_so2", query.getSystematicAccountingSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getActionReportsSo2()), "action_reports_so2", query.getActionReportsSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPermissionSo2()), "permission_so2", query.getPermissionSo2()); + //检索起止年份 + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginYear()) && ObjectUtil.isNotEmpty(query.getSearchEndYear()), "poll_year", query.getSearchBeginYear()+"", query.getSearchEndYear()+""); + wrapper.orderByAsc("poll_year"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.java new file mode 100644 index 0000000..9d024cf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.vo.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + + +/** + * 企业排放监控-废气、废水、固废排放趋势 BMainEmissionSourceAirWaterSolidQuery + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废气") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionSourceAirWaterSolidQuery +{ + + + @ApiModelProperty(value = "企业id") + @NotBlank(message = "请指定查询企业主键ID") + private String factoryId; + + @ApiModelProperty(value = "数据类型[日、月、年]") + @NotBlank(message = "请指定数据类型[日、月、年]") + private String dataType; + + @ApiModelProperty(value = "污染类别[废水、废气、固废、行业]") + @NotBlank(message = "请指定污染类别[废水、废气、固废、行业]") + private String facts; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceWaterQuery.java new file mode 100644 index 0000000..b981c2e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainEmissionSourceWaterQuery.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainEmissionSourceWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业排放信息-多来源排放量对比-废水对象 b_main_emission_source_water + * + * @author szhpt + * @date 2023-01-31*/ +@ApiModel(value = "企业排放信息-多来源排放量对比-废水") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainEmissionSourceWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String pollYear; + @ApiModelProperty(value = "污染物类别") + private String pollutionCategory; + @ApiModelProperty(value = "COD系统核算排放量") + private String systematicAccountingCod; + @ApiModelProperty(value = "COD执行报告排放量") + private String actionReportsCod; + @ApiModelProperty(value = "COD许可排放量") + private String permissionCod; + + @ApiModelProperty(value = "检索开始年份(yyyy)") + @TableField(exist = false) + private Integer searchBeginYear; + + @ApiModelProperty(value = "检索截至年份(yyyy)") + @TableField(exist = false) + private Integer searchEndYear; + + public BMainEmissionSourceWaterQuery(String pollutionCategory,Integer searchBeginYear, Integer searchEndYear,String factoryId) { + this.pollutionCategory = pollutionCategory; + this.searchBeginYear = searchBeginYear; + this.searchEndYear = searchEndYear; + this.factoryId = factoryId; + } + + public BMainEmissionSourceWaterQuery() { + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainEmissionSourceWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollYear()), "poll_year", query.getPollYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionCategory()), "pollution_category", query.getPollutionCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getSystematicAccountingCod()), "systematic_accounting_cod", query.getSystematicAccountingCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getActionReportsCod()), "action_reports_cod", query.getActionReportsCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getPermissionCod()), "permission_cod", query.getPermissionCod()); + //检索起止年份 + wrapper.between(ObjectUtil.isNotEmpty(query.getSearchBeginYear()) && ObjectUtil.isNotEmpty(query.getSearchEndYear()), "poll_year", query.getSearchBeginYear()+"", query.getSearchEndYear()+""); + wrapper.orderByAsc("poll_year"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.java new file mode 100644 index 0000000..deedfd3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.java @@ -0,0 +1,40 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainExceptionTaskCheck; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@ApiModel(value = "移动执法信息-异常任务核查query") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainExceptionTaskCheckQuery extends PageQuery +{ + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "任务来源") + private String taskSource; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "企业地址") + private String factoryAddr; + @ApiModelProperty(value = "区域") + private String regionName; + + public static QueryWrapper createLambdaQueryWrapper(BMainExceptionTaskCheckQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.like(StringUtils.isNotEmpty(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_Id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryAddr()), "factory_addr", query.getFactoryAddr()); + wrapper.like(StringUtils.isNotEmpty(query.getRegionName()), "region_name", query.getRegionName()); + wrapper.orderByAsc("task_name", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckStepQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckStepQuery.java new file mode 100644 index 0000000..3599a1b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckStepQuery.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BMainExceptionTaskCheckStep; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 移动执法信息-异常任务核查-流程步骤对象 b_main_exception_task_check_step + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-异常任务核查-流程步骤") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainExceptionTaskCheckStepQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "异常任务核查id") + private String exceptionTaskCheckId; + @ApiModelProperty(value = "步骤名") + private String stepName; + @ApiModelProperty(value = "操作时间") + private String operateTime; + @ApiModelProperty(value = "操作人名称") + private String operateUserName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainExceptionTaskCheckStepQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getExceptionTaskCheckId()), "exception_task_check_id", query.getExceptionTaskCheckId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStepName()), "step_name", query.getStepName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperateTime()), "operate_time", query.getOperateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperateUserName()), "operate_user_name", query.getOperateUserName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainFactoryVerificationQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainFactoryVerificationQuery.java new file mode 100644 index 0000000..d3e4e83 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainFactoryVerificationQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BMainFactoryVerification; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 移动执法信息-企业核查对象 b_main_factory_verification + * + * @author szhpt + * @date 2023-03-30*/ +@ApiModel(value = "移动执法信息-企业核查") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainFactoryVerificationQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "任务来源") + private String taskSource; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "企业地址") + private String factoryAddress; + @ApiModelProperty(value = "所属区域") + private String area; + @ApiModelProperty(value = "统一社会信用代码") + private String creditCode; + @ApiModelProperty(value = "当前办理人") + private String handlePerson; + @ApiModelProperty(value = "完成时间") + private String completeTime; + @ApiModelProperty(value = "核查内容") + private String verificationContent; + @ApiModelProperty(value = "核查时间") + private String verificationTime; + @ApiModelProperty(value = "任务状态;任务状态(0=办理中 4=已交办 5=已办结 9=已归档)") + private String taskStatus; + @ApiModelProperty(value = "企业类型;1 涉水 2涉气 3固废 4其他") + private String factoryType; + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + private String isLawEnforcement; + @ApiModelProperty(value = "下达隐患提示函;0 否 1 是") + private String isHiddenDangerReminder; + @ApiModelProperty(value = "是否存在问题;0 否 1 是") + private String isProblem; + @ApiModelProperty(value = "执法人员名称") + private String lawEnforcementPerson; + @ApiModelProperty(value = "执法小结") + private String enforcementSummary; + @ApiModelProperty(value = "备注信息") + private String remark; + @ApiModelProperty(value = "证据清单") + private String evidenceList; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainFactoryVerificationQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.like(ObjectUtil.isNotEmpty(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getTaskSource()), "task_source", query.getTaskSource()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryAddress()), "factory_address", query.getFactoryAddress()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getArea()), "area", query.getArea()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreditCode()), "credit_code", query.getCreditCode()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getHandlePerson()), "handle_person", query.getHandlePerson()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCompleteTime()), "complete_time", query.getCompleteTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getVerificationContent()), "verification_content", query.getVerificationContent()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getVerificationTime()), "verification_time", query.getVerificationTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getTaskStatus()), "task_status", query.getTaskStatus()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryType()), "factory_type", query.getFactoryType()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getIsLawEnforcement()), "is_law_enforcement", query.getIsLawEnforcement()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getIsHiddenDangerReminder()), "is_hidden_danger_reminder", query.getIsHiddenDangerReminder()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getIsProblem()), "is_problem", query.getIsProblem()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getLawEnforcementPerson()), "law_enforcement_person", query.getLawEnforcementPerson()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getEnforcementSummary()), "enforcement_summary", query.getEnforcementSummary()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getRemark()), "remark", query.getRemark()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getEvidenceList()), "evidence_list", query.getEvidenceList()); + + wrapper.orderByAsc("create_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteCrQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteCrQuery.java new file mode 100644 index 0000000..c9170e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteCrQuery.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteCr; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固体废物环境管理要求对象 b_main_hazardous_solid_waste_cr + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "固体废物环境管理要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteCrQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "设施类型") + private String solidWasteType; + @ApiModelProperty(value = "管理要求") + private String controlRequirements; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainHazardousSolidWasteCrQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteType()), "solid_waste_type", query.getSolidWasteType()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlRequirements()), "control_requirements", query.getControlRequirements()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteFaQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteFaQuery.java new file mode 100644 index 0000000..3eb1f44 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteFaQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteFa; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 自行贮存和自行利用处置设施信息对象 b_main_hazardous_solid_waste_fa + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "自行贮存和自行利用处置设施信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteFaQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "固体废物类别") + private String solidWasteType; + @ApiModelProperty(value = "设施名称") + private String facilityName; + @ApiModelProperty(value = "设施编号") + private String facilityCode; + @ApiModelProperty(value = "设施类型") + private String facilityType; + @ApiModelProperty(value = "经度") + private String lon; + @ApiModelProperty(value = "纬度") + private String lat; + @ApiModelProperty(value = "污染防控技术要求") + private String polluteTechnicalRequirements; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainHazardousSolidWasteFaQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteType()), "solid_waste_type", query.getSolidWasteType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityName()), "facility_name", query.getFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityCode()), "facility_code", query.getFacilityCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityType()), "facility_type", query.getFacilityType()); + wrapper.eq(ObjectUtil.isNotNull(query.getLon()), "lon", query.getLon()); + wrapper.eq(ObjectUtil.isNotNull(query.getLat()), "lat", query.getLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getPolluteTechnicalRequirements()), "pollute_technical_requirements", query.getPolluteTechnicalRequirements()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.java new file mode 100644 index 0000000..c6ffc07 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainHazardousSolidWasteLe; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固体废物排放信息对象 b_main_hazardous_solid_waste_le + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteLeQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "固体废物id") + private String solidWasteId; + @ApiModelProperty(value = "自行处置量(t/a)") + private String selfDisposalVolume; + @ApiModelProperty(value = "委托处置量") + private String entrustedDisposalVolume; + @ApiModelProperty(value = "外委处置单位名称") + private String entrustedDisposalUnitName; + @ApiModelProperty(value = "危险废物处置单位名称") + private String hazardousWasteUnitName; + @ApiModelProperty(value = "危险废物处置单位经营许可证编号") + private String hazardousWasteLicenceCode; + @ApiModelProperty(value = "自行贮存设施名称") + private String storageFacilityName; + @ApiModelProperty(value = "自行贮存设施编号") + private String storageFacilityCode; + @ApiModelProperty(value = "视频监控") + private String videoSurveillance; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainHazardousSolidWasteLeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteId()), "solid_waste_id", query.getSolidWasteId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSelfDisposalVolume()), "self_disposal_volume", query.getSelfDisposalVolume()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntrustedDisposalVolume()), "entrusted_disposal_volume", query.getEntrustedDisposalVolume()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntrustedDisposalUnitName()), "entrusted_disposal_unit_name", query.getEntrustedDisposalUnitName()); + wrapper.eq(ObjectUtil.isNotNull(query.getHazardousWasteUnitName()), "hazardous_waste_unit_name", query.getHazardousWasteUnitName()); + wrapper.eq(ObjectUtil.isNotNull(query.getHazardousWasteLicenceCode()), "hazardous_waste_licence_code", query.getHazardousWasteLicenceCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getStorageFacilityName()), "storage_facility_name", query.getStorageFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getStorageFacilityCode()), "storage_facility_code", query.getStorageFacilityCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getVideoSurveillance()), "video_surveillance", query.getVideoSurveillance()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.java new file mode 100644 index 0000000..1c62763 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainHazardousSolidWaste; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固体废物基础信息对象 b_main_hazardous_solid_waste + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固体废物基础信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousSolidWasteQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "固体废物类别") + private String solidWasteType; + @ApiModelProperty(value = "固体废物名称") + private String solidWasteName; + @ApiModelProperty(value = "代码") + private String solidWasteCode; + @ApiModelProperty(value = "危险特性") + private String hazardousCharacteristics; + @ApiModelProperty(value = "类别") + private String category; + @ApiModelProperty(value = "物理性状") + private String physicalCharacteristics; + @ApiModelProperty(value = "产生环节") + private String productionLink; + @ApiModelProperty(value = "去向") + private String whereAbouts; + @ApiModelProperty(value = "备注") + private String remark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainHazardousSolidWasteQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteType()), "solid_waste_type", query.getSolidWasteType()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteName()), "solid_waste_name", query.getSolidWasteName()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolidWasteCode()), "solid_waste_code", query.getSolidWasteCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getHazardousCharacteristics()), "hazardous_characteristics", query.getHazardousCharacteristics()); + wrapper.eq(ObjectUtil.isNotNull(query.getCategory()), "category", query.getCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhysicalCharacteristics()), "physical_characteristics", query.getPhysicalCharacteristics()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionLink()), "production_link", query.getProductionLink()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhereAbouts()), "where_abouts", query.getWhereAbouts()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousWasteOutputQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousWasteOutputQuery.java new file mode 100644 index 0000000..c82291d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainHazardousWasteOutputQuery.java @@ -0,0 +1,98 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainHazardousWasteOutput; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * 危废产生与处理对象 b_main_hazardous_waste_output + * + * @author szhpt + * @date 2023-01-10 + */ +@ApiModel(value = "危废产生与处理") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainHazardousWasteOutputQuery extends PageQuery { + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String particularYear; + @ApiModelProperty(value = "月份") + private String particularMonth; + + @ApiModelProperty(value = "开始年月") + private String startDate; + @ApiModelProperty(value = "结束年月") + private String endDate; + + @ApiModelProperty(value = "废物类别") + private String materialsType; + @ApiModelProperty(value = "废物代码") + private String materialsCode; + @ApiModelProperty(value = "废物名称") + private String materialsName; + @ApiModelProperty(value = "上月贮存量") + private String materialsLastMonth; + @ApiModelProperty(value = "产生量") + private String materialsOutput; + @ApiModelProperty(value = "修正量") + private String materialsAllowance; + @ApiModelProperty(value = "转移量") + private String materialsAsFollows; + @ApiModelProperty(value = "利用处置量") + private String materialsUse; + @ApiModelProperty(value = "期末库存") + private String materialsRepertory; + @ApiModelProperty(value = "期末超一年库存") + private String materialsRepertoryYear; + + /** + * @throws + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + */ + public static QueryWrapper createLambdaQueryWrapper(BMainHazardousWasteOutputQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getParticularYear()), "particular_year", query.getParticularYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getParticularMonth()), "particular_month", query.getParticularMonth()); + if (StringUtils.isNotEmpty(query.getStartDate()) && StringUtils.isNotEmpty(query.getEndDate())) { + wrapper.between("particular_year || '-'||particular_month",query.getStartDate(), query.getEndDate()); + } + if(StringUtils.isNotEmpty(query.getMaterialsType())){ + String[] split = query.getMaterialsType().split(","); + wrapper.in(StringUtils.isNotEmpty(query.getMaterialsType()), "materials_type",split); + } + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsCode()), "materials_code", query.getMaterialsCode()); + wrapper.like(StringUtils.isNotEmpty(query.getMaterialsName()), "materials_name", query.getMaterialsName()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsLastMonth()), "materials_last_month", query.getMaterialsLastMonth()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsOutput()), "materials_output", query.getMaterialsOutput()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsAllowance()), "materials_allowance", query.getMaterialsAllowance()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsAsFollows()), "materials_as_follows", query.getMaterialsAsFollows()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsUse()), "materials_use", query.getMaterialsUse()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsRepertory()), "materials_repertory", query.getMaterialsRepertory()); + wrapper.eq(StringUtils.isNotEmpty(query.getMaterialsRepertoryYear()), "materials_repertory_year", query.getMaterialsRepertoryYear()); + wrapper.orderByDesc("particular_year", "particular_month::varchar"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.java new file mode 100644 index 0000000..dfa4094 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainMobileEnforcement; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 移动执法信息对象 b_main_mobile_enforcement + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "移动执法信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainMobileEnforcementQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "任务类型") + private String taskType; + @ApiModelProperty(value = "检查人") + private String enforcementPersion; + @ApiModelProperty(value = "检查时间") + private String enforcementStartTime; + @ApiModelProperty(value = "检查时间") + private String enforcementEndTime; + @ApiModelProperty(value = "执法小结") + private String enforcementNodulus; + @ApiModelProperty(value = "处理意见及相关要求") + private String enforcementOpinion; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainMobileEnforcementQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskType()), "task_type", query.getTaskType()); + wrapper.eq(StringUtils.isNotEmpty(query.getEnforcementPersion()), "enforcement_persion", query.getEnforcementPersion()); + wrapper.between(StringUtils.isNotEmpty(query.getEnforcementStartTime()) && StringUtils.isNotEmpty(query.getEnforcementEndTime()), "enforcement_time", query.getEnforcementStartTime(), query.getEnforcementEndTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getEnforcementNodulus()), "enforcement_nodulus", query.getEnforcementNodulus()); + wrapper.eq(StringUtils.isNotEmpty(query.getEnforcementOpinion()), "enforcement_opinion", query.getEnforcementOpinion()); + + wrapper.orderByDesc("enforcement_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.java new file mode 100644 index 0000000..ed02402 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainNoiseEmissions; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 噪声排放信息对象 b_main_noise_emissions + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "噪声排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainNoiseEmissionsQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "噪声类别id") + private String noiseTypeId; + @ApiModelProperty(value = "生产时间段-昼间") + private String productionPeriodDaytime; + @ApiModelProperty(value = "生产时间段-夜间") + private String productionPeriodNighttime +; + @ApiModelProperty(value = "执行排放标准") + private String implementationEmissionStandards; + @ApiModelProperty(value = "厂界噪声排放限值昼间dB(a)") + private String noiseEmissionsDaytime; + @ApiModelProperty(value = "厂界噪声排放限值夜间dB(a)") + private String noiseEmissionsNighttime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainNoiseEmissionsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseTypeId()), "noise_type_id", query.getNoiseTypeId()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionPeriodDaytime()), "production_period_daytime", query.getProductionPeriodDaytime()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionPeriodNighttime()), "production_period_nighttime", query.getProductionPeriodNighttime()); + wrapper.eq(ObjectUtil.isNotNull(query.getImplementationEmissionStandards()), "implementation_emission_standards", query.getImplementationEmissionStandards()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseEmissionsDaytime()), "noise_emissions_daytime", query.getNoiseEmissionsDaytime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseEmissionsNighttime()), "noise_emissions_nighttime", query.getNoiseEmissionsNighttime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEmlRecordQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEmlRecordQuery.java new file mode 100644 index 0000000..15f8c04 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEmlRecordQuery.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisEmlRecord; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可环境管理台账对象 b_main_poll_dis_eml_record + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理台账") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisEmlRecordQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long emlId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "其他信息") + private String othersInformation; + @ApiModelProperty(value = "主要内容") + private String mainContent; + @ApiModelProperty(value = "上报频次") + private String reportingFrequency; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisEmlRecordQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getEmlId()), "eml_id", query.getEmlId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOthersInformation()), "others_information", query.getOthersInformation()); + wrapper.eq(ObjectUtil.isNotNull(query.getMainContent()), "main_content", query.getMainContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportingFrequency()), "reporting_frequency", query.getReportingFrequency()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.java new file mode 100644 index 0000000..2cb1106 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisEnforcement; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可执行守法报告对象 b_main_poll_dis_enforcement + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可执行守法报告") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisEnforcementQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long enforcementId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "类别") + private String emlType; + @ApiModelProperty(value = "记录内容") + private String recordContent; + @ApiModelProperty(value = "记录频次") + private String recordFrequency; + @ApiModelProperty(value = "记录形式") + private String openContent; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisEnforcementQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getEnforcementId()), "enforcement_id", query.getEnforcementId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmlType()), "eml_type", query.getEmlType()); + wrapper.eq(ObjectUtil.isNotNull(query.getRecordContent()), "record_content", query.getRecordContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getRecordFrequency()), "record_frequency", query.getRecordFrequency()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpenContent()), "open_content", query.getOpenContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.java new file mode 100644 index 0000000..5794391 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisFile; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可附件信息对象 b_main_poll_dis_file + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可附件信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisFileQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long fileId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "文件类型名称") + private String fileType; + @ApiModelProperty(value = "文件名称") + private String fileName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisFileQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getFileId()), "file_id", query.getFileId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFileType()), "file_type", query.getFileType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFileName()), "file_name", query.getFileName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasMoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasMoutQuery.java new file mode 100644 index 0000000..6a076b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasMoutQuery.java @@ -0,0 +1,86 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisGasMout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可大气主排放口对象 b_main_poll_dis_gas_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气主排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasMoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long moutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口是否合计") + private String outletUseTotal; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "许可排放小时浓度限值") + private String pollutantsMgHour; + @ApiModelProperty(value = "许可排放日均浓度限值") + private String pollutantsMgDay; + @ApiModelProperty(value = "许可排放速率限值") + private String pollutantsMgRate; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + private String exactDemandsPollutantsMg; + @ApiModelProperty(value = "排放口类型(主要排放口,一般排放口)") + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisGasMoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getMoutId()), "mout_id", query.getMoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletUseTotal()), "outlet_use_total", query.getOutletUseTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgHour()), "pollutants_mg_hour", query.getPollutantsMgHour()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgDay()), "pollutants_mg_day", query.getPollutantsMgDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgRate()), "pollutants_mg_rate", query.getPollutantsMgRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getExactDemandsPollutantsMg()), "exact_demands_pollutants_mg", query.getExactDemandsPollutantsMg()); + wrapper.orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.java new file mode 100644 index 0000000..73f9cba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisGasOout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可大气一般排放口对象 b_main_poll_dis_gas_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气一般排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasOoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long ooutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口是否合计") + private String outletUseTotal; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "许可排放小时浓度限值") + private String pollutantsMgHour; + @ApiModelProperty(value = "许可排放日均浓度限值") + private String pollutantsMgDay; + @ApiModelProperty(value = "许可排放速率限值") + private String pollutantsMgRate; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + @ApiModelProperty(value = "承诺更加严格排放浓度限值") + private String exactDemandsPollutantsMg; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisGasOoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getOoutId()), "oout_id", query.getOoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletUseTotal()), "outlet_use_total", query.getOutletUseTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgHour()), "pollutants_mg_hour", query.getPollutantsMgHour()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgDay()), "pollutants_mg_day", query.getPollutantsMgDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgRate()), "pollutants_mg_rate", query.getPollutantsMgRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getExactDemandsPollutantsMg()), "exact_demands_pollutants_mg", query.getExactDemandsPollutantsMg()); + wrapper.orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.java new file mode 100644 index 0000000..5f71ed7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisGasSout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + + +/** + * 排污许可大气特殊情况对象 b_main_poll_dis_gas_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气特殊情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasSoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long soutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物类型(0-主要排放口,1-一般排放口,2-无组织排放口,3-全厂合计)") + private String pollutantType; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "许可排放时段") + private String pollutantsTimeFrame; + @ApiModelProperty(value = "许可排放浓度限值") + private String pollutantsConcentration; + @ApiModelProperty(value = "许可日排放量限值") + private String pollutantsDisDay; + @ApiModelProperty(value = "许可月排放量限值") + private String pollutantsDisMonth; + @ApiModelProperty(value = "要求(1-环境质量限期达标规划要求, 2-重污染天气应对要求)") + @NotBlank(message = "请指定[1-环境质量限期达标规划要求, 2-重污染天气应对要求]") + private String ask; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisGasSoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getSoutId()), "sout_id", query.getSoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTimeFrame()), "pollutants_time_frame", query.getPollutantsTimeFrame()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsConcentration()), "pollutants_concentration", query.getPollutantsConcentration()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsDisDay()), "pollutants_dis_day", query.getPollutantsDisDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsDisMonth()), "pollutants_dis_month", query.getPollutantsDisMonth()); + wrapper.eq(ObjectUtil.isNotNull(query.getAsk()), "ask", query.getAsk()); + wrapper.orderByAsc("pollutant_type"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasToutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasToutQuery.java new file mode 100644 index 0000000..c13d598 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisGasToutQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisGasTout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可大气排放总计对象 b_main_poll_dis_gas_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可大气排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisGasToutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long toutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisGasToutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getToutId()), "tout_id", query.getToutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.java new file mode 100644 index 0000000..ca24e45 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisInformation; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可信息公开对象 b_main_poll_dis_information + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可信息公开") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisInformationQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long informationId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "公开方式") + private String openProcedure; + @ApiModelProperty(value = "时间节点") + private String timeNodes; + @ApiModelProperty(value = "公开内容") + private String openContent; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisInformationQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getInformationId()), "information_id", query.getInformationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpenProcedure()), "open_procedure", query.getOpenProcedure()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeNodes()), "time_nodes", query.getTimeNodes()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpenContent()), "open_content", query.getOpenContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseQuery.java new file mode 100644 index 0000000..fbf6a93 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseQuery.java @@ -0,0 +1,66 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisNoise; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可其他许可噪声排放对象 b_main_poll_dis_noise + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可噪声排放") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long noiseId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "噪声类别") + private String noiseType; + @ApiModelProperty(value = "生产时段昼间") + private String productionTimeDay; + @ApiModelProperty(value = "生产时段夜间") + private String productionTimeNight; + @ApiModelProperty(value = "执行排放标准名称") + private String emissionStandardsName; + @ApiModelProperty(value = "厂界噪声排放限制昼间") + private String noiseOuelatDay; + @ApiModelProperty(value = "厂界噪声排放限制夜间") + private String noiseOuelatNight; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisNoiseQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseId()), "noise_id", query.getNoiseId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseType()), "noise_type", query.getNoiseType()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionTimeDay()), "production_time_day", query.getProductionTimeDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionTimeNight()), "production_time_night", query.getProductionTimeNight()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionStandardsName()), "emission_standards_name", query.getEmissionStandardsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseOuelatDay()), "noise_ouelat_day", query.getNoiseOuelatDay()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseOuelatNight()), "noise_ouelat_night", query.getNoiseOuelatNight()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRegulationQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRegulationQuery.java new file mode 100644 index 0000000..028dd3d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRegulationQuery.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisNoiseRegulation; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可其他许可改正规定对象 b_main_poll_dis_noise_regulation + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可其他许可改正规定") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseRegulationQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long regulationId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "整改问题") + private String rectificationProblem; + @ApiModelProperty(value = "整改措施") + private String rectificationMeasures; + @ApiModelProperty(value = "整改时限") + private String rectificationTime; + @ApiModelProperty(value = "整改计划") + private String rectificationPlan; + @ApiModelProperty(value = "是否完成整改") + private String rectificationIsComplete; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisNoiseRegulationQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getRegulationId()), "regulation_id", query.getRegulationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRectificationProblem()), "rectification_problem", query.getRectificationProblem()); + wrapper.eq(ObjectUtil.isNotNull(query.getRectificationMeasures()), "rectification_measures", query.getRectificationMeasures()); + wrapper.eq(ObjectUtil.isNotNull(query.getRectificationTime()), "rectification_time", query.getRectificationTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getRectificationPlan()), "rectification_plan", query.getRectificationPlan()); + wrapper.eq(ObjectUtil.isNotNull(query.getRectificationIsComplete()), "rectification_is_complete", query.getRectificationIsComplete()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.java new file mode 100644 index 0000000..96f8fc2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisNoiseRequire; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可环境管理要求对象 b_main_poll_dis_noise_require + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可环境管理要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisNoiseRequireQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long requireId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "大气环境管理要求") + private String requireGas; + @ApiModelProperty(value = "水环境管理要求") + private String requireWater; + @ApiModelProperty(value = "土壤污染防治要求") + private String requireSoil; + @ApiModelProperty(value = "固体废物污染环境要求") + private String requireSolid; + @ApiModelProperty(value = "其他控制及管理要求") + private String otherInformationRequire; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisNoiseRequireQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getRequireId()), "require_id", query.getRequireId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRequireGas()), "require_gas", query.getRequireGas()); + wrapper.eq(ObjectUtil.isNotNull(query.getRequireWater()), "require_water", query.getRequireWater()); + wrapper.eq(ObjectUtil.isNotNull(query.getRequireSoil()), "require_soil", query.getRequireSoil()); + wrapper.eq(ObjectUtil.isNotNull(query.getRequireSolid()), "require_solid", query.getRequireSolid()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformationRequire()), "other_information_require", query.getOtherInformationRequire()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisQuery.java new file mode 100644 index 0000000..13102f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisQuery.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainPollDis; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + +/** + * 排污许可对象 b_main_poll_dis + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "许可证编号") + private String pollDisLicenseCode; + @ApiModelProperty(value = "业务类型") + private String businessType; + @ApiModelProperty(value = "版本") + private String editionCode; + @ApiModelProperty(value = "办结日期") + private Date completionTime; + @ApiModelProperty(value = "有效期限") + private String pollDisLicenseDeadline; + @ApiModelProperty(value = "许可证正本") + private String pollDisOriginal; + @ApiModelProperty(value = "许可证副本") + private String pollDisEctype; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseCode()), "poll_dis_license_code", query.getPollDisLicenseCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getBusinessType()), "business_type", query.getBusinessType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEditionCode()), "edition_code", query.getEditionCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getCompletionTime()), "completion_time", query.getCompletionTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseDeadline()), "poll_dis_license_deadline", query.getPollDisLicenseDeadline()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisOriginal()), "poll_dis_original", query.getPollDisOriginal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisEctype()), "poll_dis_ectype", query.getPollDisEctype()); + wrapper.orderByDesc("completion_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.java new file mode 100644 index 0000000..5b9f68f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisSelfMonOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可自行监测记录对象 b_main_poll_dis_self_mon_other + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisSelfMonOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long monOtherId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantType; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "监测内容") + private String monitoringContent; + @ApiModelProperty(value = "污染物名称") + private String pollutantsName; + @ApiModelProperty(value = "监测设施") + private String monitoringFacility; + @ApiModelProperty(value = "自动监测是否联网") + private String monitoringAutomaticNetworking; + @ApiModelProperty(value = "自动监测仪器名称") + private String monitoringAutomaticName; + @ApiModelProperty(value = "自动监测设施安装位置") + private String monitoringAutomaticAddress; + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + private String monitoringAutomaticRequire; + @ApiModelProperty(value = "手工监测采样方法及个数") + private String monitoringManualSampling; + @ApiModelProperty(value = "手工监测频次") + private String monitoringManualFrequency; + @ApiModelProperty(value = "手工测定方法") + private String monitoringManualMeans; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisSelfMonOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getMonOtherId()), "mon_other_id", query.getMonOtherId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringContent()), "monitoring_content", query.getMonitoringContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsName()), "pollutants_name", query.getPollutantsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringFacility()), "monitoring_facility", query.getMonitoringFacility()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticNetworking()), "monitoring_automatic_networking", query.getMonitoringAutomaticNetworking()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticName()), "monitoring_automatic_name", query.getMonitoringAutomaticName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticAddress()), "monitoring_automatic_address", query.getMonitoringAutomaticAddress()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticRequire()), "monitoring_automatic_require", query.getMonitoringAutomaticRequire()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualSampling()), "monitoring_manual_sampling", query.getMonitoringManualSampling()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualFrequency()), "monitoring_manual_frequency", query.getMonitoringManualFrequency()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualMeans()), "monitoring_manual_means", query.getMonitoringManualMeans()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + wrapper.orderByAsc("pollutant_type").orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonQuery.java new file mode 100644 index 0000000..0846bf4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisSelfMonQuery.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisSelfMon; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可自行监测要求对象 b_main_poll_dis_self_mon + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可自行监测要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisSelfMonQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long monId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantType; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "监测内容") + private String monitoringContent; + @ApiModelProperty(value = "污染物名称") + private String pollutantsName; + @ApiModelProperty(value = "监测设施") + private String monitoringFacility; + @ApiModelProperty(value = "自动监测是否联网") + private String monitoringAutomaticNetworking; + @ApiModelProperty(value = "自动监测仪器名称") + private String monitoringAutomaticName; + @ApiModelProperty(value = "自动监测设施安装位置") + private String monitoringAutomaticAddress; + @ApiModelProperty(value = "自动监测实施是否符合管理要求") + private String monitoringAutomaticRequire; + @ApiModelProperty(value = "手工监测采样方法及个数") + private String monitoringManualSampling; + @ApiModelProperty(value = "手工监测频次") + private String monitoringManualFrequency; + @ApiModelProperty(value = "手工测定方法") + private String monitoringManualMeans; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisSelfMonQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getMonId()), "mon_id", query.getMonId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringContent()), "monitoring_content", query.getMonitoringContent()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsName()), "pollutants_name", query.getPollutantsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringFacility()), "monitoring_facility", query.getMonitoringFacility()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticNetworking()), "monitoring_automatic_networking", query.getMonitoringAutomaticNetworking()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticName()), "monitoring_automatic_name", query.getMonitoringAutomaticName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticAddress()), "monitoring_automatic_address", query.getMonitoringAutomaticAddress()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringAutomaticRequire()), "monitoring_automatic_require", query.getMonitoringAutomaticRequire()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualSampling()), "monitoring_manual_sampling", query.getMonitoringManualSampling()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualFrequency()), "monitoring_manual_frequency", query.getMonitoringManualFrequency()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringManualMeans()), "monitoring_manual_means", query.getMonitoringManualMeans()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + wrapper.orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterMoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterMoutQuery.java new file mode 100644 index 0000000..b223f0a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterMoutQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisWaterMout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可水污染物主排放口对象 b_main_poll_dis_water_mout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物主排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterMoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long moutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口是否合计") + private String outletUseTotal; + @ApiModelProperty(value = "许可排放速率限值") + private String pollutantsMgRate; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisWaterMoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getMoutId()), "mout_id", query.getMoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletUseTotal()), "outlet_use_total", query.getOutletUseTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgRate()), "pollutants_mg_rate", query.getPollutantsMgRate()); + wrapper.orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.java new file mode 100644 index 0000000..7172284 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisWaterOout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可水污染物一般排放口对象 b_main_poll_dis_water_oout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物一般排放口") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterOoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long ooutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口是否合计") + private String outletUseTotal; + @ApiModelProperty(value = "许可排放速率限值") + private String pollutantsMgRate; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisWaterOoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getOoutId()), "oout_id", query.getOoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletUseTotal()), "outlet_use_total", query.getOutletUseTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsMgRate()), "pollutants_mg_rate", query.getPollutantsMgRate()); + wrapper.orderByAsc("outlet_code"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.java new file mode 100644 index 0000000..ffce22f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisWaterSout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可水污染物特殊情况对象 b_main_poll_dis_water_sout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物特殊情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterSoutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long soutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantType; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "许可排放时段") + private String pollutantsTimeFrame; + @ApiModelProperty(value = "许可排放浓度限值") + private String pollutantsConcentration; + @ApiModelProperty(value = "许可日排放量限值") + private String pollutantsDis; + @ApiModelProperty(value = "其他信息") + private String otherDetail; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisWaterSoutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getSoutId()), "sout_id", query.getSoutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTimeFrame()), "pollutants_time_frame", query.getPollutantsTimeFrame()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsConcentration()), "pollutants_concentration", query.getPollutantsConcentration()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsDis()), "pollutants_dis", query.getPollutantsDis()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherDetail()), "other_detail", query.getOtherDetail()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.java new file mode 100644 index 0000000..c5ec216 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainPollDisWaterTout; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污许可水污染物排放总计对象 b_main_poll_dis_water_tout + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "排污许可水污染物排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainPollDisWaterToutQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long toutId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可表id") + private String pollDisId; + @ApiModelProperty(value = "污染物种类") + private String pollutantsType; + @ApiModelProperty(value = "第一年") + private String pollutantsTotalFrist; + @ApiModelProperty(value = "第二年") + private String pollutantsTotalSecond; + @ApiModelProperty(value = "第三年") + private String pollutantsTotalThird; + @ApiModelProperty(value = "第四年") + private String pollutantsTotalFourth; + @ApiModelProperty(value = "第五年") + private String pollutantsTotalFifth; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainPollDisWaterToutQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getToutId()), "tout_id", query.getToutId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisId()), "poll_dis_id", query.getPollDisId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFrist()), "pollutants_total_frist", query.getPollutantsTotalFrist()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalSecond()), "pollutants_total_second", query.getPollutantsTotalSecond()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalThird()), "pollutants_total_third", query.getPollutantsTotalThird()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFourth()), "pollutants_total_fourth", query.getPollutantsTotalFourth()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsTotalFifth()), "pollutants_total_fifth", query.getPollutantsTotalFifth()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.java new file mode 100644 index 0000000..2aa7dad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionInorgGas; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气无组织排放产治排信息对象 b_main_production_inorg_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气无组织排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionInorgGasQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "许可证无组织监测点位名称") + private String licenceMonName; + @ApiModelProperty(value = "监测类型") + private String monitoringType; + @ApiModelProperty(value = "无组织监测点位") + private String monitoringInorganization; + @ApiModelProperty(value = "主要污染防治措施") + private String pollutionPrevention; + @ApiModelProperty(value = "产污环节") + private String pollutionProductionLink; + @ApiModelProperty(value = "对应生产设施编号") + private String correspondingProductionCode; + @ApiModelProperty(value = "视频监控") + private String devId; + @ApiModelProperty(value = "对应生产设施名称") + private String correspondingProductionName; + @ApiModelProperty(value = "生产设施参数") + private String proFacilityParam; + @ApiModelProperty(value = "污染物种类") + private String pollutionType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainProductionInorgGasQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getLicenceMonName()), "licence_mon_name", query.getLicenceMonName()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitoringType()), "monitoring_type", query.getMonitoringType()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitoringInorganization()), "monitoring_inorganization", query.getMonitoringInorganization()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionPrevention()), "pollution_prevention", query.getPollutionPrevention()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionProductionLink()), "pollution_production_link", query.getPollutionProductionLink()); + wrapper.eq(StringUtils.isNotEmpty(query.getCorrespondingProductionCode()), "corresponding_production_code", query.getCorrespondingProductionCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDevId()), "dev_id", query.getDevId()); + wrapper.eq(StringUtils.isNotEmpty(query.getCorrespondingProductionName()), "corresponding_production_name", query.getCorrespondingProductionName()); + wrapper.eq(StringUtils.isNotEmpty(query.getProFacilityParam()), "pro_facility_param", query.getProFacilityParam()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionType()), "pollution_type", query.getPollutionType()); + wrapper.orderByAsc("licence_mon_name", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.java new file mode 100644 index 0000000..d092e18 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionOrganizGas; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气有组织排放产治排信息对象 b_main_production_organiz_gas + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废气有组织排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionOrganizGasQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口类型") + private String outletType; + @ApiModelProperty(value = "排口监测类型") + private String outletMonType; + @ApiModelProperty(value = "治理设施编号") + private String cepFacilityCode; + @ApiModelProperty(value = "治理设施名称") + private String cepFacilityName; + @ApiModelProperty(value = "治理设施工艺") + private String cepFacilityCraft; + @ApiModelProperty(value = "生产设施编号") + private String proFacilityCode; + @ApiModelProperty(value = "生产设施名称") + private String proFacilityName; + @ApiModelProperty(value = "视频监控") + private Long devId; + @ApiModelProperty(value = "生产设施参数") + private String proFacilityParam; + @ApiModelProperty(value = "对应产污环节名称") + private String pollutionProductionLink; + @ApiModelProperty(value = "污染物种类") + private String pollutionType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainProductionOrganizGasQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletMonType()), "outlet_mon_type", query.getOutletMonType()); + wrapper.like(StringUtils.isNotEmpty(query.getCepFacilityCode()), "cep_facility_code", query.getCepFacilityCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getCepFacilityName()), "cep_facility_name", query.getCepFacilityName()); + wrapper.eq(StringUtils.isNotEmpty(query.getCepFacilityCraft()), "cep_facility_craft", query.getCepFacilityCraft()); + wrapper.like(StringUtils.isNotEmpty(query.getProFacilityCode()), "pro_facility_code", query.getProFacilityCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getProFacilityName()), "pro_facility_name", query.getProFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevId()), "dev_id", query.getDevId()); + wrapper.eq(StringUtils.isNotEmpty(query.getProFacilityParam()), "pro_facility_param", query.getProFacilityParam()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionProductionLink()), "pollution_production_link", query.getPollutionProductionLink()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionType()), "pollution_type", query.getPollutionType()); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionWaterQuery.java new file mode 100644 index 0000000..4712709 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainProductionWaterQuery.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainProductionWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废水排放产治排信息对象 b_main_production_water + * + * @author szhpt + * @date 2023-02-08*/ +@ApiModel(value = "废水排放产治排信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainProductionWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口类型") + private String outletType; + @ApiModelProperty(value = "排口监测类型") + private String outletMonType; + @ApiModelProperty(value = "治理设施编号") + private String cepFacilityCode; + @ApiModelProperty(value = "治理设施名称") + private String cepFacilityName; + @ApiModelProperty(value = "治理设施工艺") + private String cepFacilityCraft; + @ApiModelProperty(value = "污染物种类") + private String pollutionType; + @ApiModelProperty(value = "废水类别") + private String waterType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainProductionWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletMonType()), "outlet_mon_type", query.getOutletMonType()); + wrapper.like(StringUtils.isNotEmpty(query.getCepFacilityCode()), "cep_facility_code", query.getCepFacilityCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getCepFacilityName()), "cep_facility_name", query.getCepFacilityName()); + wrapper.eq(StringUtils.isNotEmpty(query.getCepFacilityCraft()), "cep_facility_craft", query.getCepFacilityCraft()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutionType()), "pollution_type", query.getPollutionType()); + wrapper.eq(StringUtils.isNotEmpty(query.getWaterType()), "water_type", query.getWaterType()); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidHazardousQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidHazardousQuery.java new file mode 100644 index 0000000..9d3b4da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidHazardousQuery.java @@ -0,0 +1,49 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BMainSolidHazardous; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固危废贮存信息对象 b_main_solid_hazardous + * + * @author szhpt + * @date 2023-01-18*/ +@ApiModel(value = "固危废贮存信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainSolidHazardousQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "自行贮存设施名称") + private String facilityName; + @ApiModelProperty(value = "自行贮存设施编号") + private String facilityCode; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainSolidHazardousQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityName()), "facility_name", query.getFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityCode()), "facility_code", query.getFacilityCode()); + wrapper.orderByAsc("facility_name", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.java new file mode 100644 index 0000000..5ff1077 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.java @@ -0,0 +1,99 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainSolidWasteOutput; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固废产生与处理对象 b_main_solid_waste_output + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "固废产生与处理") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainSolidWasteOutputQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String particularYear; + @ApiModelProperty(value = "月份") + private String particularMonth; + + @ApiModelProperty(value = "开始年月") + private String startDate; + @ApiModelProperty(value = "结束年月") + private String endDate; + + @ApiModelProperty(value = "废物类别") + private String materialsType; + @ApiModelProperty(value = "废物代码") + private String materialsCode; + @ApiModelProperty(value = "废物名称") + private String materialsName; + @ApiModelProperty(value = "产生量(吨)") + private String materialsOutput; + @ApiModelProperty(value = "期初贮存量") + private String materialsPreliminaryStage; + @ApiModelProperty(value = "累计贮存量") + private String materialsAccumulated; + @ApiModelProperty(value = "自行利用数量") + private String materialsUse; + @ApiModelProperty(value = "自行处置数量") + private String materialsDispose; + @ApiModelProperty(value = "委托利用数量") + private String materialsEntrustUse; + @ApiModelProperty(value = "委托处置数量") + private String materialsEntrustDispose; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainSolidWasteOutputQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getParticularYear()), "particular_year", query.getParticularYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getParticularMonth()), "particular_month", query.getParticularMonth()); + + + if (StringUtils.isNotEmpty(query.getStartDate()) && StringUtils.isNotEmpty(query.getEndDate())) { + DateTime startDate = DateUtil.parseDate(query.getStartDate()); + DateTime endDate = DateUtil.parseDate(query.getEndDate()); + wrapper.between("particular_year", String.valueOf(startDate.year()), String.valueOf(endDate.year())); + wrapper.between("particular_month", String.valueOf(startDate.monthStartFromOne()), String.valueOf(endDate.monthStartFromOne())); + } + + + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsType()), "materials_type", query.getMaterialsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsCode()), "materials_code", query.getMaterialsCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsName()), "materials_name", query.getMaterialsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsOutput()), "materials_output", query.getMaterialsOutput()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsPreliminaryStage()), "materials_preliminary_stage", query.getMaterialsPreliminaryStage()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsAccumulated()), "materials_accumulated", query.getMaterialsAccumulated()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsUse()), "materials_use", query.getMaterialsUse()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsDispose()), "materials_dispose", query.getMaterialsDispose()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsEntrustUse()), "materials_entrust_use", query.getMaterialsEntrustUse()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaterialsEntrustDispose()), "materials_entrust_dispose", query.getMaterialsEntrustDispose()); + + wrapper.orderByDesc("particular_year", "particular_month"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.java new file mode 100644 index 0000000..0421788 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforc; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 三监联动执法信息对象 b_main_three_supervision_enforc + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainThreeSupervisionEnforcQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String taskId; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "排污单位") + private String factoryId; + @ApiModelProperty(value = "排污单位名称") + private String factoryName; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + @ApiModelProperty(value = "所属行业名称") + private String industryCategoryName; + @ApiModelProperty(value = "所属行业编码") + private String industryCategoryCode; + @ApiModelProperty(value = "管理类别;(重点=focus、简化=simplify、登记=register)") + private String manType; + @ApiModelProperty(value = "行业类别") + private String industryCategory; + @ApiModelProperty(value = "办结时间") + private Date closingTime; + @ApiModelProperty(value = "归档时间") + private Date archiveTime; + @ApiModelProperty(value = "任务状态;字典bus_task_status(任务状态(0=办理中 5=已办结 9=已归档)") + private String taskStatus; + @ApiModelProperty(value = "发起部门id") + private String initiatingDeptId; + @ApiModelProperty(value = "发起部门名称") + private String initiatingDeptName; + @ApiModelProperty(value = "紧急程度;字典bus_emergency_level(1=一般,2=紧急,3=特急)") + private String emergencyLevel; + @ApiModelProperty(value = "发起时间") + private Date initiatingTime; + @ApiModelProperty(value = "预计完成时间") + private Date estimatedCompletionTime; + @ApiModelProperty(value = "单位地址") + private String factoryAddress; + @ApiModelProperty(value = "具体问题") + private String specificIssues; + @ApiModelProperty(value = "任务描述") + private String taskDetails; + @ApiModelProperty(value = "问题附件") + private String questionAttachment; + @ApiModelProperty(value = "接受部门ids") + private String receivingDeptIds; + @ApiModelProperty(value = "接受部门名称") + private String receivingDeptNames; + + @ApiModelProperty(value = "创建开始时间") + private String startTime; + @ApiModelProperty(value = "创建时间") + private String endTime; + + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainThreeSupervisionEnforcQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskId()), "task_id", query.getTaskId()); + wrapper.like(StringUtils.isNotEmpty(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getManType()), "man_type", query.getManType()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategory()), "industry_category", query.getIndustryCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getClosingTime()), "closing_time", query.getClosingTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getArchiveTime()), "archive_time", query.getArchiveTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskStatus()), "task_status", query.getTaskStatus()); + wrapper.eq(StringUtils.isNotEmpty(query.getInitiatingDeptId()), "initiating_dept_id", query.getInitiatingDeptId()); + wrapper.eq(StringUtils.isNotEmpty(query.getInitiatingDeptName()), "initiating_dept_name", query.getInitiatingDeptName()); + wrapper.eq(StringUtils.isNotEmpty(query.getEmergencyLevel()), "emergency_level", query.getEmergencyLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getInitiatingTime()), "initiating_time", query.getInitiatingTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEstimatedCompletionTime()), "estimated_completion_time", query.getEstimatedCompletionTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryAddress()), "factory_address", query.getFactoryAddress()); + wrapper.eq(StringUtils.isNotEmpty(query.getSpecificIssues()), "specific_issues", query.getSpecificIssues()); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskDetails()), "task_details", query.getTaskDetails()); + wrapper.eq(StringUtils.isNotEmpty(query.getQuestionAttachment()), "question_attachment", query.getQuestionAttachment()); + wrapper.eq(StringUtils.isNotEmpty(query.getReceivingDeptIds()), "receiving_dept_id", query.getReceivingDeptIds()); + wrapper.eq(StringUtils.isNotEmpty(query.getReceivingDeptNames()), "receiving_dept_name", query.getReceivingDeptNames()); + + wrapper.between(ObjectUtil.isNotNull(query.getStartTime()) && ObjectUtil.isNotNull(query.getEndTime()), "to_char(create_time, 'YYYY-MM-DD')", query.getStartTime(), query.getEndTime()); + + wrapper.orderByDesc("create_time"); + + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.java new file mode 100644 index 0000000..831d762 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.java @@ -0,0 +1,80 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BMainThreeSupervisionEnforcRecord; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 三监联动执法信息记录对象 b_main_three_supervision_enforc_record + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "三监联动执法信息记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainThreeSupervisionEnforcRecordQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String recordId; + @ApiModelProperty(value = "父任务id") + private String taskId; + @ApiModelProperty(value = "办理部门") + private String handleDeptId; + @ApiModelProperty(value = "办理部门名称") + private String handleDeptName; + @ApiModelProperty(value = "实际办理人员") + private String handlePerson; + @ApiModelProperty(value = "办理时间") + private String handleTime; + @ApiModelProperty(value = "是否现场执法;0 否 1 是") + private String isEnforcement; + @ApiModelProperty(value = "结论(多个结论逗号分割)") + private String conclusion; + @ApiModelProperty(value = "具体结论") + private String specificConclusion; + @ApiModelProperty(value = "问题附件") + private String questionAttachment; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainThreeSupervisionEnforcRecordQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getRecordId()), "record_id", query.getRecordId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskId()), "task_id", query.getTaskId()); + wrapper.eq(ObjectUtil.isNotNull(query.getHandleDeptId()), "handle_dept_id", query.getHandleDeptId()); + wrapper.eq(ObjectUtil.isNotNull(query.getHandleDeptName()), "handle_dept_name", query.getHandleDeptName()); + wrapper.eq(ObjectUtil.isNotNull(query.getHandlePerson()), "handle_person", query.getHandlePerson()); + wrapper.eq(ObjectUtil.isNotNull(query.getHandleTime()), "handle_time", query.getHandleTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsEnforcement()), "is_enforcement", query.getIsEnforcement()); + wrapper.eq(ObjectUtil.isNotNull(query.getConclusion()), "conclusion", query.getConclusion()); + wrapper.eq(ObjectUtil.isNotNull(query.getSpecificConclusion()), "specific_conclusion", query.getSpecificConclusion()); + wrapper.eq(ObjectUtil.isNotNull(query.getQuestionAttachment()), "question_attachment", query.getQuestionAttachment()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} + diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.java new file mode 100644 index 0000000..0f2dbe5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BMainTwoRandomTask; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 移动执法信息-双随机任务对象 b_main_two_random_task + */ +@ApiModel(value = "移动执法信息-双随机任务") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainTwoRandomTaskQuery extends PageQuery +{ + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "任务类型") + private String taskType; + @ApiModelProperty(value = "任务状态") + private String taskStatus; + + public static QueryWrapper createLambdaQueryWrapper(BMainTwoRandomTaskQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskType()), "task_type", query.getTaskType()); + wrapper.eq(StringUtils.isNotEmpty(query.getTaskStatus()), "task_status", query.getTaskStatus()); + wrapper.orderByAsc("factory_name", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskStepQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskStepQuery.java new file mode 100644 index 0000000..18df63c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BMainTwoRandomTaskStepQuery.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BMainTwoRandomTaskStep; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 移动执法信息-双随机任务-流程步骤对象 b_main_two_random_task_step + * + * @author szhpt + * @date 2023-03-29*/ +@ApiModel(value = "移动执法信息-双随机任务-流程步骤") +@EqualsAndHashCode(callSuper = false) +@Data +public class BMainTwoRandomTaskStepQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "双随机任务id") + private String twoRandomTaskId; + @ApiModelProperty(value = "步骤名") + private String stepName; + @ApiModelProperty(value = "操作时间") + private String operateTime; + @ApiModelProperty(value = "操作人名称") + private String operateUserName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BMainTwoRandomTaskStepQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTwoRandomTaskId()), "two_random_task_id", query.getTwoRandomTaskId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStepName()), "step_name", query.getStepName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperateTime()), "operate_time", query.getOperateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperateUserName()), "operate_user_name", query.getOperateUserName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgJbxxInfoQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgJbxxInfoQuery.java new file mode 100644 index 0000000..7b12719 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgJbxxInfoQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgJbxxInfo; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--企业基本信息对象 b_stat_table_zxbg_jbxx_info + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--企业基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgJbxxInfoQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "执行报告记录内容") + private String zxbgRecord; + @ApiModelProperty(value = "执行报告生产单元") + private String zxbgProPress; + @ApiModelProperty(value = "名称") + private String zxbgName; + @ApiModelProperty(value = "参数") + private String zxbgParam; + @ApiModelProperty(value = "单位") + private String zxbgUnit; + @ApiModelProperty(value = "数量") + private Long zxbgNum; + @ApiModelProperty(value = "备注") + private String zsbgRemark; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgJbxxInfoQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgRecord()), "zxbg_record", query.getZxbgRecord()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgProPress()), "zxbg_pro_press", query.getZxbgProPress()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgName()), "zxbg_name", query.getZxbgName()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgParam()), "zxbg_param", query.getZxbgParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgUnit()), "zxbg_unit", query.getZxbgUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgNum()), "zxbg_num", query.getZxbgNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getZsbgRemark()), "zsbg_remark", query.getZsbgRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOtherQuery.java new file mode 100644 index 0000000..9efc665 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOtherQuery.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOther; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气其他排放总计对象 b_stat_table_zxbg_pfl_air_other + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气其他排放总计") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "备注") + private String zxbgRemark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflAirOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgRemark()), "zxbg_remark", query.getZxbgRemark()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOverproofQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOverproofQuery.java new file mode 100644 index 0000000..a35eb62 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirOverproofQuery.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirOverproof; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气超标排放信息对象 b_stat_table_zxbg_pfl_air_overproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废气超标排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirOverproofQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "排放口编号") + private String zxbgOutletCode; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + private String zxbgDischargeTrue; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "生产设施编号") + private String zxbgProCode; + @ApiModelProperty(value = "超标开始时间") + private String overStartTime; + @ApiModelProperty(value = "超标截止时间") + private String overEndTime; + @ApiModelProperty(value = "超标原因说明") + private String overRemark; + @ApiModelProperty(value = "计量单位") + private String overUnit; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflAirOverproofQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletCode()), "zxbg_outlet_code", query.getZxbgOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeTrue()), "zxbg_discharge_true", query.getZxbgDischargeTrue()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgProCode()), "zxbg_pro_code", query.getZxbgProCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverStartTime()), "over_start_time", query.getOverStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverEndTime()), "over_end_time", query.getOverEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverRemark()), "over_remark", query.getOverRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverUnit()), "over_unit", query.getOverUnit()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirQuery.java new file mode 100644 index 0000000..92e4c03 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAir; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废气实际排放量对象 b_stat_table_zxbg_pfl_air + * + * @author szhpt + * @date 2023-07-27*/ +@ApiModel(value = "固定源产排治--执行报告--废气实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "排口编码") + private String zxbgOutletCode; + @ApiModelProperty(value = "排口名称") + private String zxbgOutletName; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "排放口id") + private String zxbgOutletId; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflAirQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletCode()), "zxbg_outlet_code", query.getZxbgOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletName()), "zxbg_outlet_name", query.getZxbgOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletId()), "zxbg_outlet_id", query.getZxbgOutletId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirSpecialQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirSpecialQuery.java new file mode 100644 index 0000000..0d20567 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirSpecialQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirSpecial; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--特殊时段废气排放量对象 b_stat_table_zxbg_pfl_air_special + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--特殊时段废气排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirSpecialQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "类型:重污染、冬防") + private String zxbgAirType; + @ApiModelProperty(value = "废气类型 有组织、无组织、全场总计") + private String zxbgAirAllType; + @ApiModelProperty(value = "许可排放量") + private String zxbgDischargeXk; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "时间") + private String zxbgTime; + @ApiModelProperty(value = "超标原因") + private String overCause; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflAirSpecialQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgAirType()), "zxbg_air_type", query.getZxbgAirType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgAirAllType()), "zxbg_air_all_type", query.getZxbgAirAllType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeXk()), "zxbg_discharge_xk", query.getZxbgDischargeXk()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgTime()), "zxbg_time", query.getZxbgTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverCause()), "over_cause", query.getOverCause()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirStatQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirStatQuery.java new file mode 100644 index 0000000..e9af16e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflAirStatQuery.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflAirStat; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--总计废气实际排放量对象 b_stat_table_zxbg_pfl_air_stat + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废气实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflAirStatQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflAirStatQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterQuery.java new file mode 100644 index 0000000..3db27c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWater; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水实际排放量对象 b_stat_table_zxbg_pfl_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "排口编码") + private String zxbgOutletCode; + @ApiModelProperty(value = "排口名称") + private String zxbgOutletName; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "排放口id") + private String zxbgOutletId; + @ApiModelProperty(value = "排放类型、直接排放、间接排放") + private String zxbgEmissionType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletCode()), "zxbg_outlet_code", query.getZxbgOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletName()), "zxbg_outlet_name", query.getZxbgOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletId()), "zxbg_outlet_id", query.getZxbgOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgEmissionType()), "zxbg_emission_type", query.getZxbgEmissionType()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterVoerproofQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterVoerproofQuery.java new file mode 100644 index 0000000..abb68d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflWaterVoerproofQuery.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflWaterVoerproof; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水超标排放信息对象 b_stat_table_zxbg_pfl_water_voerproof + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水超标排放信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflWaterVoerproofQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "排口编码") + private String zxbgOutletCode; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "实际排放浓度(折标,mg/m3)") + private String zxbgDischargeTrue; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "超标开始时间") + private String overStartTime; + @ApiModelProperty(value = "超标截止时间") + private String overEndTime; + @ApiModelProperty(value = "超标原因说明") + private String overRemark; + @ApiModelProperty(value = "计量单位") + private String overUnit; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflWaterVoerproofQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletCode()), "zxbg_outlet_code", query.getZxbgOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeTrue()), "zxbg_discharge_true", query.getZxbgDischargeTrue()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverStartTime()), "over_start_time", query.getOverStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverEndTime()), "over_end_time", query.getOverEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverRemark()), "over_remark", query.getOverRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverUnit()), "over_unit", query.getOverUnit()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflallWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflallWaterQuery.java new file mode 100644 index 0000000..8c4a890 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPflallWaterQuery.java @@ -0,0 +1,70 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPflallWater; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--总计废水实际排放量对象 b_stat_table_zxbg_pflall_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--总计废水实际排放量") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPflallWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "排放口id") + private String zxbgOutletId; + @ApiModelProperty(value = "排放形式、直接排放、间接排放") + private String zxbgEmissionType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPflallWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletId()), "zxbg_outlet_id", query.getZxbgOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgEmissionType()), "zxbg_emission_type", query.getZxbgEmissionType()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPfltotalWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPfltotalWaterQuery.java new file mode 100644 index 0000000..aeaac57 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgPfltotalWaterQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgPfltotalWater; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--废水正常排放总计(一般排放口)对象 b_stat_table_zxbg_pfltotal_water + * + * @author szhpt + * @date 2023-07-28*/ +@ApiModel(value = "固定源产排治--执行报告--废水正常排放总计(一般排放口)") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgPfltotalWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "污染物名称") + private String zxbgPollutant; + @ApiModelProperty(value = "年许可排放量") + private String zxbgDischargeYear; + @ApiModelProperty(value = "实际排放值") + private String zxbgDischargeActual; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否删除") + private String isDelete; + @ApiModelProperty(value = "排放口id") + private String zxbgOutletId; + @ApiModelProperty(value = "排放方式、直接排放、间接排放") + private String zxbgEmissionType; + @ApiModelProperty(value = "备注") + private String remark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgPfltotalWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeYear()), "zxbg_discharge_year", query.getZxbgDischargeYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgDischargeActual()), "zxbg_discharge_actual", query.getZxbgDischargeActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsDelete()), "is_delete", query.getIsDelete()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgOutletId()), "zxbg_outlet_id", query.getZxbgOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgEmissionType()), "zxbg_emission_type", query.getZxbgEmissionType()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgQuery.java new file mode 100644 index 0000000..629bcf0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgQuery.java @@ -0,0 +1,19 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Map; + +@Data +public class BStatTableZxbgQuery extends PageQuery { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "标签") + private Map labelMap; + + @ApiModelProperty(value = "是否展示企业重点标签") + private Boolean showMainLable; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlAbnormalitiesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlAbnormalitiesQuery.java new file mode 100644 index 0000000..d83502e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlAbnormalitiesQuery.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlAbnormalities; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--污染治理设施异常情况对象 b_stat_table_zxbg_wrzl_abnormalities + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施异常情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgWrzlAbnormalitiesQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "类型") + private String zxbgPollutantType; + @ApiModelProperty(value = "超标开始时间") + private String overStartTime; + @ApiModelProperty(value = "超标结束时间") + private String overEndTime; + @ApiModelProperty(value = "故障设备名称") + private String facilityName; + @ApiModelProperty(value = "故障设备编号") + private String facilityCode; + @ApiModelProperty(value = "污染因子") + private String zxbgPollutant; + @ApiModelProperty(value = "排放范围") + private String dischargeRange; + @ApiModelProperty(value = "应对措施") + private String solutions; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "备注") + private String remark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgWrzlAbnormalitiesQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutantType()), "zxbg_pollutant_type", query.getZxbgPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverStartTime()), "over_start_time", query.getOverStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverEndTime()), "over_end_time", query.getOverEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityName()), "facility_name", query.getFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityCode()), "facility_code", query.getFacilityCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getDischargeRange()), "discharge_range", query.getDischargeRange()); + wrapper.eq(ObjectUtil.isNotNull(query.getSolutions()), "solutions", query.getSolutions()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlTotalQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlTotalQuery.java new file mode 100644 index 0000000..a482d36 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTableZxbgWrzlTotalQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BStatTableZxbgWrzlTotal; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 固定源产排治--执行报告--污染治理设施正常情况汇总对象 b_stat_table_zxbg_wrzl_total + * + * @author szhpt + * @date 2023-07-31*/ +@ApiModel(value = "固定源产排治--执行报告--污染治理设施正常情况汇总") +@EqualsAndHashCode(callSuper = false) +@Data +public class BStatTableZxbgWrzlTotalQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + @ApiModelProperty(value = "污染源类型") + private String zxbgPollutant; + @ApiModelProperty(value = "污染治理设施编号") + private String pollutionControlFacilityCode; + @ApiModelProperty(value = "污染治理设施名称") + private String pollutionControlFacilityName; + @ApiModelProperty(value = "运行参数") + private String processParameter; + @ApiModelProperty(value = "数量") + private String amount; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BStatTableZxbgWrzlTotalQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgType()), "zxbg_type", query.getZxbgType()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPeriod()), "zxbg_period", query.getZxbgPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getZxbgPollutant()), "zxbg_pollutant", query.getZxbgPollutant()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionControlFacilityCode()), "pollution_control_facility_code", query.getPollutionControlFacilityCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionControlFacilityName()), "pollution_control_facility_name", query.getPollutionControlFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getProcessParameter()), "process_parameter", query.getProcessParameter()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmount()), "amount", query.getAmount()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTablepPwxkWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTablepPwxkWaterQuery.java new file mode 100644 index 0000000..d64dce5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BStatTablepPwxkWaterQuery.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiModelProperty; +import jdk.internal.dynalink.linker.LinkerServices; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class BStatTablepPwxkWaterQuery extends PageQuery { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "标签") + private Map labelMap; + + @ApiModelProperty(value = "是否展示企业重点标签") + private Boolean showMainLable; + + private Boolean exportOperate=false; + + @ApiModelProperty(value = "企业id集合") + private List factoryIdList; + + @ApiModelProperty(value = "执行报告类型,0:月报,1:季报,2:年报") + private String zxbgType; + + @ApiModelProperty(value = "执行报告周期") + private String zxbgPeriod; + + @ApiModelProperty(value = "执行报告记录内容") + private String zxbgRecord; + + @ApiModelProperty(value = "名称") + private String zxbgName; + + @ApiModelProperty(value = "参数") + private String zxbgParam; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDcsOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDcsOperationLogQuery.java new file mode 100644 index 0000000..5fbc215 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDcsOperationLogQuery.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasDcsOperationLog; +import cn.cecep.talroad.domain.MAmVideoCoordinateOperationLog; +import cn.cecep.talroad.vo.MAmVideoCoordinateOperationLogQuery; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * @className: BasDcsOperationLog + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 15:24 + * @Company: Copyright© [2023/04/28 15:24] by [Mr.Yanghongtao] + **/ + +/** + * DCS系统参数设置操作日志 + */ +@ApiModel(value = "DCS系统参数设置操作日志query") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDcsOperationLogQuery extends PageQuery { + + private String logId; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date operationTime; + private String workProcedure; + private String deviceId; + private String deviceName; + private String paramName; + private String beforeModifyParamUnit; + private String beforeModifyNormalValue; + private String afterModifyNormalValue; + private String operator; + private String operatorId; + private String factoryId; + private String afterModifyParamUnit; + private String beforeModifyMinValue; + private String afterModifyMinValue; + private String beforeModifyMaxValue; + private String afterModifyMaxValue; + + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + + @ApiModelProperty(value = "操作日志-工序名称") + private String workStep; + @ApiModelProperty(value = "操作日志-设备名称") + private String name; + + public static QueryWrapper createLambdaQueryWrapper(BasDcsOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + if (StrUtil.isNotBlank(query.getName())) { + query.setDeviceName(query.getName()); + } + if (StrUtil.isNotBlank(query.getWorkStep())) { + query.setWorkProcedure(query.getWorkStep()); + } + + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.like(StrUtil.isNotBlank(query.getParamName()), "param_name", query.getParamName()); + wrapper.like(StrUtil.isNotBlank(query.getWorkProcedure()), "work_procedure", query.getWorkProcedure()); + wrapper.orderByDesc("operation_time"); + return wrapper; + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDevToElecQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDevToElecQuery.java new file mode 100644 index 0000000..cde3930 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDevToElecQuery.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasDevToElec; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 有组织-分表计电设备对应对象 bas_dev_to_elec + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDevToElecQuery extends PageQuery +{ + + @ApiModelProperty(value = "有组织设备ID") + private String deviceId; + @ApiModelProperty(value = "计电设备ID") + private String elecDeviceId; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasDevToElecQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getElecDeviceId()), "elec_device_id", query.getElecDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceConfigQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceConfigQuery.java new file mode 100644 index 0000000..b03c948 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceConfigQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BasDeviceConfig; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业设备参数配置对象 bas_device_config + * + * @author szhpt + * @date 2023-04-05*/ +@ApiModel(value = "企业设备参数配置") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceConfigQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String dataId; + @ApiModelProperty(value = "企业ID") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "参数编码") + private String paramCode; + @ApiModelProperty(value = "参数名称") + private String paramName; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "行业") + private String industry; + @ApiModelProperty(value = "设备类型") + private String deviceType; + @ApiModelProperty(value = "配置值") + private String normalValue; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasDeviceConfigQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamCode()), "param_code", query.getParamCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamName()), "param_name", query.getParamName()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustry()), "industry", query.getIndustry()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormalValue()), "normal_value", query.getNormalValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceDCSSystemParamQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceDCSSystemParamQuery.java new file mode 100644 index 0000000..5d7eded --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceDCSSystemParamQuery.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasDevice; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "DCS系统参数设置Query") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceDCSSystemParamQuery extends PageQuery +{ + + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "所属企业") + private String factoryId; + @ApiModelProperty(value = "设备名称") + private String name; + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + @ApiModelProperty(value = "所属工序名") + private String workStep; + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + private String type; + @ApiModelProperty(value = "参数名称") + private String paramName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceParamQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceParamQuery.java new file mode 100644 index 0000000..2740ad7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceParamQuery.java @@ -0,0 +1,90 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasDeviceParam; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 各设备的监测参数属性对象 bas_device_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "各设备的监测参数属性") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceParamQuery extends PageQuery +{ + + @ApiModelProperty(value = "ID") + private Long id; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "参数ID") + private String paramId; + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + private String deviceType; + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + private String facilityType; + @ApiModelProperty(value = "正常值") + private String normalValue; + @ApiModelProperty(value = "最小值") + private String minValue; + @ApiModelProperty(value = "最大值") + private String maxValue; + @ApiModelProperty(value = "Q1(下四分位)值 用于异常值判断") + private String q1Value; + @ApiModelProperty(value = "Q2(上四分位)值 用于异常值判断") + private String q2Value; + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + private Long isOnline; + @ApiModelProperty(value = "备用值数量 数量不含原值") + private Long standbyNum; + @ApiModelProperty(value = "多值数量 数量不含原值") + private Long multiNum; + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + private String overMaxVal; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "是否启用,0:未启用,1:启用") + private String isStatus; + + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasDeviceParamQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamId()), "param_id", query.getParamId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustry()), "industry", query.getIndustry()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityType()), "facility_type", query.getFacilityType()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormalValue()), "normal_value", query.getNormalValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "min_value", query.getMinValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaxValue()), "max_value", query.getMaxValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getQ1Value()), "q1_value", query.getQ1Value()); + wrapper.eq(ObjectUtil.isNotNull(query.getQ2Value()), "q2_value", query.getQ2Value()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsOnline()), "is_online", query.getIsOnline()); + wrapper.eq(ObjectUtil.isNotNull(query.getStandbyNum()), "standby_num", query.getStandbyNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getMultiNum()), "multi_num", query.getMultiNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverMaxVal()), "over_max_val", query.getOverMaxVal()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(StrUtil.isNotBlank(query.getIsStatus()), "is_status", query.getIsStatus()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceQuery.java new file mode 100644 index 0000000..445a70e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceQuery.java @@ -0,0 +1,141 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.BasDevice; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备信息(有组织)对象 bas_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备信息(有组织)") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceQuery extends PageQuery +{ + + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "所属企业") + private String factoryId; + @ApiModelProperty(value = "设备名称") + private String name; + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + @ApiModelProperty(value = "所属工序名") + private String workStep; + @ApiModelProperty(value = "设备类型 枚举。焦炉/烧结机...") + private String type; + @ApiModelProperty(value = "状态 ≤0=停用,>0=正常") + private Long status; + @ApiModelProperty(value = "工艺参数值 停限产计算用") + private String craftParamValue; + @ApiModelProperty(value = "工艺参数 JSON。展示用") + private String craftParam; + @ApiModelProperty(value = "DCS系统品牌") + private String dcsBrand; + @ApiModelProperty(value = "DCS系统型号") + private String dcsModel; + @ApiModelProperty(value = "脱硫工艺") + private String tlCraft; + @ApiModelProperty(value = "脱硫设施数量") + private String tlNum; + @ApiModelProperty(value = "脱硝工艺") + private String txCraft; + @ApiModelProperty(value = "脱硝设施数量") + private String txNum; + @ApiModelProperty(value = "除尘工艺") + private String ccCraft; + @ApiModelProperty(value = "除尘设施数量") + private String ccNum; + @ApiModelProperty(value = "CEMS系统数量") + private String cemsNum; + @ApiModelProperty(value = "主设备ID 本设备为从设备时,注明与哪个主设备共用数据") + private String shareDevId; + @ApiModelProperty(value = "共用数据的设施类型 枚举列表,逗号分隔。CEMS/除尘1...") + private String shareType; + @ApiModelProperty(value = "经度(原始)") + private String lon; + @ApiModelProperty(value = "纬度(原始)") + private String lat; + @ApiModelProperty(value = "经度(地图)") + private String lonMap; + @ApiModelProperty(value = "纬度(地图)") + private String latMap; + @ApiModelProperty(value = "原始设备ID 用于在通信协议中识别设备") + private String oriDeviceId; + @ApiModelProperty(value = "原始设备密码") + private String oriPwd; + @ApiModelProperty(value = "工艺流程图用参数 JSON") + private String craftImageArg; + @ApiModelProperty(value = "对应的视频设备ID JSON") + private String videoDevId; + @ApiModelProperty(value = "备注") + private String memo; + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "排污许可设施编码") + private String pollutantCode; + + @ApiModelProperty(value = "排污许可设施名称") + private String pollutantName; + + @ApiModelProperty("是否启用") + private String isStatus; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasDeviceQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(StringUtils.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StrUtil.isNotBlank(query.getName()), "name", query.getName()); + wrapper.eq(StringUtils.isNotNull(query.getIndustry()), "industry", query.getIndustry()); + wrapper.eq(StrUtil.isNotBlank(query.getWorkStep()), "work_step", query.getWorkStep()); + wrapper.eq(StringUtils.isNotNull(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "status", query.getStatus()); + wrapper.eq(StringUtils.isNotNull(query.getCraftParamValue()), "craft_param_value", query.getCraftParamValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getCraftParam()), "craft_param", query.getCraftParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsBrand()), "dcs_brand", query.getDcsBrand()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsModel()), "dcs_model", query.getDcsModel()); + wrapper.eq(ObjectUtil.isNotNull(query.getTlCraft()), "tl_craft", query.getTlCraft()); + wrapper.eq(ObjectUtil.isNotNull(query.getTlNum()), "tl_num", query.getTlNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxCraft()), "tx_craft", query.getTxCraft()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxNum()), "tx_num", query.getTxNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getCcCraft()), "cc_craft", query.getCcCraft()); + wrapper.eq(ObjectUtil.isNotNull(query.getCcNum()), "cc_num", query.getCcNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getCemsNum()), "cems_num", query.getCemsNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getShareDevId()), "share_dev_id", query.getShareDevId()); + wrapper.eq(ObjectUtil.isNotNull(query.getShareType()), "share_type", query.getShareType()); + wrapper.eq(ObjectUtil.isNotNull(query.getLon()), "lon", query.getLon()); + wrapper.eq(ObjectUtil.isNotNull(query.getLat()), "lat", query.getLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getLonMap()), "lon_map", query.getLonMap()); + wrapper.eq(ObjectUtil.isNotNull(query.getLatMap()), "lat_map", query.getLatMap()); + wrapper.eq(ObjectUtil.isNotNull(query.getOriDeviceId()), "ori_device_id", query.getOriDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOriPwd()), "ori_pwd", query.getOriPwd()); + wrapper.eq(ObjectUtil.isNotNull(query.getCraftImageArg()), "craft_image_arg", query.getCraftImageArg()); + wrapper.eq(ObjectUtil.isNotNull(query.getVideoDevId()), "video_dev_id", query.getVideoDevId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMemo()), "memo", query.getMemo()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantCode()), "pollutant_code", query.getPollutantCode()); + wrapper.like(ObjectUtil.isNotNull(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.orderByAsc("device_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.java new file mode 100644 index 0000000..1b799fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.java @@ -0,0 +1,162 @@ +package cn.cecep.talroad.vo.query; + + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.web.domain.BaseEntity; +import cn.cecep.talroad.domain.BasDevice; +import cn.cecep.talroad.domain.BasDeviceSite; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.sf.jsqlparser.statement.select.Wait; + +import java.util.List; + + +@ApiModel(value = "设备点位表") +@Data +@EqualsAndHashCode(callSuper = false) +public class BasDeviceSiteQuery extends PageQuery { + + private String id; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "点位名称") + private String name; + + @ApiModelProperty(value = "点位经度") + private String pointLng; + + @ApiModelProperty(value = "点位纬度") + private String pointLat; + + @ApiModelProperty(value = "分表计电-状态: 正常,停运,掉线") + private String status; + + @ApiModelProperty(value = "点位类型: 生产监测点位...") + private String type; + + @ApiModelProperty(value = "对应装备名称") + private String equipName; + + @ApiModelProperty(value = "所属企业") + private String factoryId; + + @ApiModelProperty(value = "额定功率") + private String normalValue; + + @ApiModelProperty(value = "最小功率") + private String minValue; + + @ApiModelProperty(value = "是否统计") + private String isStat; + + @ApiModelProperty(value = "对应设施名称") + @Excel(name = "对应设施名称") + private String deviceName; + + @ApiModelProperty(value = "设施类型") + @Excel(name = "设施类型") + private String deviceType; + @ApiModelProperty("操作时间,只有日志查询使用") + private String startTime; + + @ApiModelProperty("操作时间,只有日志查询使用") + private String endTime; + + @ApiModelProperty(value = "设备IDs") + private List deviceIds; + + @ApiModelProperty("是否启用") + private String isStatus; + + /** + * @throws + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + */ + public static QueryWrapper createLambdaQueryWrapper(BasDeviceSiteQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "mam.id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "mam.device_id", query.getDeviceId()); + wrapper.like(StrUtil.isNotBlank(query.getName()), "mam.name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLat()), "mam.point_lat", query.getPointLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLng()), "mam.point_lng", query.getPointLng()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "mam.status", query.getStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getType()), "mam.type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipName()), "mam.equip_name", query.getEquipName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "mam.factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsStat()), "mam.is_stat", query.getIsStat()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormalValue()), "mam.normal_value", query.getNormalValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "mam.min_value", query.getMinValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "mam.is_status", query.getIsStatus()); + + + wrapper.like(StrUtil.isNotBlank(query.getDeviceName()), "poc.name", query.getDeviceName()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceType()), "poc.type", query.getDeviceType()); + wrapper.orderByAsc("mam.name", "mam.id"); + return wrapper; + } + /** + * @throws + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + */ + public static QueryWrapper createSingLambdaQueryWrapper(BasDeviceSiteQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.like(StrUtil.isNotBlank(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLat()), "point_lat", query.getPointLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLng()), "point_lng", query.getPointLng()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "status", query.getStatus()); + wrapper.eq(StrUtil.isNotBlank(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipName()), "equip_name", query.getEquipName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsStat()), "is_stat", query.getIsStat()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormalValue()), "normal_value", query.getNormalValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "min_value", query.getMinValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "mam.is_status", query.getIsStatus()); +// wrapper.like(StrUtil.isNotBlank(query.getDeviceName()), "name", query.getDeviceName()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceType()), "type", query.getDeviceType()); + wrapper.in(CollectionUtil.isNotEmpty(query.getDeviceIds()),"device_id",query.getDeviceIds()); + wrapper.orderByAsc("name", "id"); + return wrapper; + } + + public static QueryWrapper createSingLambdaQueryWrapperQiye(BasDeviceSiteQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.like(StrUtil.isNotBlank(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLat()), "point_lat", query.getPointLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getPointLng()), "point_lng", query.getPointLng()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "status", query.getStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipName()), "equip_name", query.getEquipName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "mam.factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsStat()), "is_stat", query.getIsStat()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormalValue()), "normal_value", query.getNormalValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "min_value", query.getMinValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinValue()), "mam.is_status", query.getIsStatus()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceName()), "poc.name", query.getDeviceName()); + wrapper.like(StrUtil.isNotBlank(query.getDeviceType()), "poc.type", query.getDeviceType()); + wrapper.orderByAsc("name", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.java new file mode 100644 index 0000000..3103e24 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BasDeviceZlConfig; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 转炉设备与转炉煤气放散设备映射关系对象 bas_device_zl_config + * + * @author szhpt + * @date 2023-06-30*/ +@ApiModel(value = "转炉设备与转炉煤气放散设备映射关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasDeviceZlConfigQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键ID") + private String dataId; + @ApiModelProperty(value = "企业ID") + private String factoryId; + @ApiModelProperty(value = "转炉设备ID") + private String deviceId; + @ApiModelProperty(value = "转炉煤气放散设备ID") + private String fsDeviceId; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasDeviceZlConfigQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFsDeviceId()), "fs_device_id", query.getFsDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasElecDeviceQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasElecDeviceQuery.java new file mode 100644 index 0000000..91c21d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasElecDeviceQuery.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasElecDevice; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 分表计电设备信息对象 bas_elec_device + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasElecDeviceQuery extends PageQuery +{ + + @ApiModelProperty(value = "计电设备ID") + private String elecDeviceId; + @ApiModelProperty(value = "所属企业") + private String factoryId; + @ApiModelProperty(value = "设备名称") + private String name; + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + @ApiModelProperty(value = "备注") + private String memo; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasElecDeviceQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getElecDeviceId()), "elec_device_id", query.getElecDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustry()), "industry", query.getIndustry()); + wrapper.eq(ObjectUtil.isNotNull(query.getMemo()), "memo", query.getMemo()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasParamQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasParamQuery.java new file mode 100644 index 0000000..9056597 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasParamQuery.java @@ -0,0 +1,108 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.BasParam; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 监测参数汇总(有组织)对象 bas_param + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "监测参数汇总(有组织)") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasParamQuery extends PageQuery +{ + + @ApiModelProperty(value = "参数ID 212协议编码") + private String paramId; + @ApiModelProperty(value = "参数ID 212协议编码(新)") + private String paramIdNew; + @ApiModelProperty(value = "接口中的参数名 不同参数可能有同名") + private String paramCodeSvc; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "参数类型") + private String paramType; + @ApiModelProperty(value = "Java数据类型 Double,String...") + private String dataTypeJava; + @ApiModelProperty(value = "所属行业 枚举。钢铁/焦化/水泥...") + private String industry; + @ApiModelProperty(value = "所属设备类别 枚举。焦炉/烧结机...") + private String deviceType; + @ApiModelProperty(value = "所属设施类别 枚举。生产/CEMS...") + private String facilityType; + @ApiModelProperty(value = "所属设施名称") + private String facilityName; + @ApiModelProperty(value = "实时值的单位") + private String unitReal; + @ApiModelProperty(value = "统计值的单位") + private String unitStat; + @ApiModelProperty(value = "小数点后保留的位数") + private Long scale; + @ApiModelProperty(value = "参与统计的最小值 小于此值则不参与统计(对所有值有效)") + private String statMinValue; + @ApiModelProperty(value = "参与统计的最大值 大于此值则不参与统计(只对实时值有效)") + private String statMaxValue; + @ApiModelProperty(value = "超标阈值 超过此值则认为超标") + private String overMaxVal; + @ApiModelProperty(value = "停产判断阈值 不同参数含义不同,可能为比例值或阈值等") + private String stopValue; + @ApiModelProperty(value = "停产判断阈值备注") + private String stopValueMemo; + @ApiModelProperty(value = "是否检查恒定值报警 0=否,1=是") + private Long isChkSame; + @ApiModelProperty(value = "是否检查异常值报警 0=否,1=是") + private Long isChkAbnormal; + @ApiModelProperty(value = "显示顺序 同一类别下的显示顺序") + private Long showOrder; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "状态 0=停用,1=启用") + private Long status; + @ApiModelProperty(value = "最小宽度(用与前端表头渲染)") + private Long minWidth; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasParamQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getParamId()), "param_id", query.getParamId()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamIdNew()), "param_id_new", query.getParamIdNew()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamCodeSvc()), "param_code_svc", query.getParamCodeSvc()); + wrapper.eq(ObjectUtil.isNotNull(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamType()), "param_type", query.getParamType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTypeJava()), "data_type_java", query.getDataTypeJava()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustry()), "industry", query.getIndustry()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityType()), "facility_type", query.getFacilityType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFacilityName()), "facility_name", query.getFacilityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnitReal()), "unit_real", query.getUnitReal()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnitStat()), "unit_stat", query.getUnitStat()); + wrapper.eq(ObjectUtil.isNotNull(query.getScale()), "scale", query.getScale()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatMinValue()), "stat_min_value", query.getStatMinValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatMaxValue()), "stat_max_value", query.getStatMaxValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getOverMaxVal()), "over_max_val", query.getOverMaxVal()); + wrapper.eq(ObjectUtil.isNotNull(query.getStopValue()), "stop_value", query.getStopValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getStopValueMemo()), "stop_value_memo", query.getStopValueMemo()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsChkSame()), "is_chk_same", query.getIsChkSame()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsChkAbnormal()), "is_chk_abnormal", query.getIsChkAbnormal()); + wrapper.eq(ObjectUtil.isNotNull(query.getShowOrder()), "show_order", query.getShowOrder()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus()), "status", query.getStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getMinWidth()), "min_width", query.getMinWidth()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.java new file mode 100644 index 0000000..7a3bba1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.BasThresholdConfig; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 关联分析-阈值设置对象 bas_threshold_config + * + * @author szhpt + * @date 2023-05-18*/ +@ApiModel(value = "关联分析-阈值设置") +@EqualsAndHashCode(callSuper = false) +@Data +public class BasThresholdConfigQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private Long dataId; + @ApiModelProperty(value = "分析任务名称") + private String taskName; + @ApiModelProperty(value = "参数编码") + private String paramCode; + @ApiModelProperty(value = "参数名称") + private String paramName; + @ApiModelProperty(value = "阈值频次:D:日 H:小时") + private String frequency; + @ApiModelProperty(value = "阈值") + private String thresholdValue; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasThresholdConfigQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamCode()), "param_code", query.getParamCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamName()), "param_name", query.getParamName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFrequency()), "frequency", query.getFrequency()); + wrapper.eq(ObjectUtil.isNotNull(query.getThresholdValue()), "threshold_value", query.getThresholdValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.java new file mode 100644 index 0000000..92da480 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +@ApiModel(value = "管控浓度标准") +@EqualsAndHashCode(callSuper = false) +@Data +public class BaseControlConcentStandardsQuery extends PageQuery { + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private String id; + + /** + * 企业id + */ + @ApiModelProperty(value="企业id") + private String factoryId; + + private String factoryName; + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + private String pollutantType; + + /** + * 管控浓度标准(mg/m3) + */ + @ApiModelProperty(value="管控浓度标准(mg/m3)") + private BigDecimal controlStandard; + + /** + * 纳入计算:0 否 1是 + */ + @ApiModelProperty(value="纳入计算:0 否 1是") + private String includeCalculations; + + @ApiModelProperty(value="是否重点管控点位:0 否 1是") + private String controlPoints; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value="更新时间") + private Date updateTime; + + /** + * 对应监测点位名称 + */ + @ApiModelProperty(value="对应监测点位名称") + private String monitoringPointName; + + private String countryCode; + + @ApiModelProperty(value="行业code") + private String industryCategoryCode; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.java new file mode 100644 index 0000000..8124e5a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +@ApiModel(value = "污染物") +@EqualsAndHashCode(callSuper = false) +@Data +public class BaseRegionalControlObjectivesQuery extends PageQuery { + /** + * 主键 + */ + @ApiModelProperty(value="主键") + private String id; + + /** + * 区县code + */ + @ApiModelProperty(value="区县code") + private String countryCode; + /** + * 区县code + */ + @ApiModelProperty(value="区县code") + @TableField(exist = false) + private String countryName; + + /** + * 污染物种类 + */ + @ApiModelProperty(value="污染物种类") + private String pollutantType; + + /** + * 建议目标排放量(kg/h) + */ + @ApiModelProperty(value="建议目标排放量(kg/h)") + private BigDecimal suggestedEmissions; + + /** + * 管控目标排放量(kg/h) + */ + @ApiModelProperty(value="管控目标排放量(kg/h)") + private BigDecimal controlEmissions; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value="更新时间") + private Date updateTime; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EarlyWarningQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EarlyWarningQuery.java new file mode 100644 index 0000000..c90397d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EarlyWarningQuery.java @@ -0,0 +1,81 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.EarlyWarning; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; + +import java.util.Date; +import java.util.List; + + +/** + * 管控浓度超标预警对象 early_warning + * + * @author szhpt + * @date 2023-04-24*/ +@ApiModel(value = "管控浓度超标预警") +@EqualsAndHashCode(callSuper = false) +@Data +public class EarlyWarningQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String ewId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "行业编码") + private String industryCode; + @ApiModelProperty(value = "在线监测点位id") + private String stationId; + @ApiModelProperty(value = "预警时间") + private Date warningTime; + @ApiModelProperty(value = "预警内容") + private String warningContent; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "在线监测点位名称") + private String stationName; + @ApiModelProperty(value = "区县编码") + private String countryCode; + @ApiModelProperty(value = "区县名称") + private String countryName; + @ApiModelProperty(value = "预警开始时间") + private String startWarningTime; + @ApiModelProperty(value = "预警结束时间") + private String endWarningTime; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(EarlyWarningQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(query.getEwId()), "ew_id", query.getEwId()); + wrapper.eq(StringUtils.isNotBlank(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotBlank(query.getIndustryCode()), "industry_code", query.getIndustryCode()); + wrapper.eq(StringUtils.isNotBlank(query.getStationId()), "station_id", query.getStationId()); + wrapper.between(StringUtils.isNotBlank(query.getStartWarningTime())&&StringUtils.isNotBlank(query.getEndWarningTime()),"warning_time", DateUtil.parse(query.getStartWarningTime(),"yyyy-MM-dd HH:mm:ss"),DateUtil.parse(query.getEndWarningTime(),"yyyy-MM-dd HH:mm:ss")); + wrapper.eq(StringUtils.isNotBlank(query.getWarningContent()), "warning_content", query.getWarningContent()); + wrapper.eq(StringUtils.isNotBlank(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.like(StringUtils.isNotBlank(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(StringUtils.isNotBlank(query.getStationName()), "station_name", query.getStationName()); + wrapper.eq(StringUtils.isNotBlank(query.getCountryCode()), "country_code", query.getCountryCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "country_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotBlank(query.getCountryName()), "country_name", query.getCountryName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EffectiveMonitoringRateQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EffectiveMonitoringRateQuery.java new file mode 100644 index 0000000..4fc4917 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/EffectiveMonitoringRateQuery.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.vo.AmProblemFiVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + + +/** + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "在线监测排放量变化趋势") +@EqualsAndHashCode(callSuper = false) +@Data +public class EffectiveMonitoringRateQuery extends PageQuery +{ + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + @ApiModelProperty(value = "类型1废气2废水") + private String type; + @ApiModelProperty(value = "月份 格式2023-06") + private String month; + + @ApiModelProperty(value = "开始日期",hidden = true) + private Date startTime; + @ApiModelProperty(value = "结束日期",hidden = true) + private Date endTime; + + private List regionCodes; + + @ApiModelProperty("行业编码 GT:钢铁, BL:玻璃, SN:水泥, JH:焦化, FS:垃圾焚烧, DL:电力") + private String industryCode; + + private String monitoringTime; + + private String regionCode; +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FacilityInformationQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FacilityInformationQuery.java new file mode 100644 index 0000000..6d00159 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FacilityInformationQuery.java @@ -0,0 +1,57 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @className: FacilityInformationQuery + * @description: TODO 类描述 + * @author: Mr.Yanghongtao + * @date: 2023/04/28 10:49 + * @Company: Copyright© [2023/04/28 10:49] by [Mr.Yanghongtao] + **/ +@Data +@ApiModel(value = "设施点位管理Query", description = "设施点位管理Query") +public class FacilityInformationQuery extends PageQuery { + @ApiModelProperty(name = "deviceId", value = "设施ID,保存的时候使用") + private String deviceId; + + @ApiModelProperty(name = "deviceName", value = "设施名称,查询或保存的时候使用") + private String deviceName; + + @ApiModelProperty(name = "pollutantName", value = "排污生产设施名称,查询或保存的时候使用") + private String pollutantName; + + @ApiModelProperty(name = "pollutantName", value = "排污生产设施编号,查询或保存的时候使用") + private String pollutantCode; + + @ApiModelProperty(name = "pollutantCodeOne", value = "排污生产设施编号,查询或保存的时候使用",hidden = true) + private String pollutantCodeOne; + + @ApiModelProperty(name = "factoryId", value = "企业ID,非前台传输", hidden = true) + private String factoryId; + + @ApiModelProperty(name = "deviceIds", value = "要更改的设备ID,非前台传输", hidden = true) + private List deviceIds; + + @ApiModelProperty(name = "queryType", value = "查询类型:1-分表计电生产设施匹配列表查询,2-分表计电治理设施匹配列表查询,3-DCS生产设施匹配列表查询") + private String queryType; + + @ApiModelProperty(name = "startTime", value = "操作时间,只有日志查询使用") + private String startTime; + + @ApiModelProperty(name = "startTime", value = "操作时间,只有日志查询使用") + private String endTime; + + public FacilityInformationQuery(String factoryId ,List deviceIds) { + this.factoryId = factoryId; + this.deviceIds = deviceIds; + } + + public FacilityInformationQuery() { + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.java new file mode 100644 index 0000000..944af10 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.FactoryReportingManifest; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业信息上报任务清单对象 factory_reporting_manifest + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务清单") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingManifestQuery extends PageQuery +{ + + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "统一社会信用代码") + private String uscCode; + @ApiModelProperty(value = "所属行业") + private String industryCategory; + @ApiModelProperty(value = "联系人") + private String contact; + @ApiModelProperty(value = "联系电话") + private String contactPhone; + @ApiModelProperty(value = "主键") + private String fmId; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "factory_reporting_task表关联id") + private String frId; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(FactoryReportingManifestQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getUscCode()), "usc_code", query.getUscCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategory()), "industry_category", query.getIndustryCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getContact()), "contact", query.getContact()); + wrapper.eq(ObjectUtil.isNotNull(query.getContactPhone()), "contact_phone", query.getContactPhone()); + wrapper.eq(ObjectUtil.isNotNull(query.getFmId()), "fm_id", query.getFmId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFrId()), "fr_id", query.getFrId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.java new file mode 100644 index 0000000..72762fa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.FactoryReportingReminders; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业信息上报提交提示对象 factory_reporting_reminders + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报提交提示") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingRemindersQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String feId; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "企业信息提交状态0未提交,1已提交") + private String submitStatus; + @ApiModelProperty(value = "区县编码") + private String regionCode; + @ApiModelProperty(value = "行业类别") + private String industryCategory; + @ApiModelProperty(value = "行业") + private String industryPermissionName; + @ApiModelProperty(value = "提交开始时间") + private String submitTimeStart; + @ApiModelProperty(value = "提交结束时间") + private String submitTimeEnd; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(FactoryReportingRemindersQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + // wrapper.eq(ObjectUtil.isNotNull(query.getFeId()), "fe_id", query.getFeId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getSubmitStatus()), "submit_status", query.getSubmitStatus()); + // wrapper.eq(ObjectUtil.isNotNull(query.getSubmitTime()), "submit_time", query.getSubmitTime()); + // wrapper.eq(ObjectUtil.isNotNull(query.getRemindersStatus()), "reminders_status", query.getRemindersStatus()); + // wrapper.eq(ObjectUtil.isNotNull(query.getSubmitUser()), "submit_user", query.getSubmitUser()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.java new file mode 100644 index 0000000..c497683 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.FactoryReportingTask; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业信息上报任务对象 factory_reporting_task + * + * @author szhpt + * @date 2023-05-09*/ +@ApiModel(value = "企业信息上报任务") +@EqualsAndHashCode(callSuper = false) +@Data +public class FactoryReportingTaskQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String frId; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "任务来源") + private String taskSource; + @ApiModelProperty(value = "所属区域") + private String regionName; + @ApiModelProperty(value = "任务描述") + private String taskDescription; + @ApiModelProperty(value = "创建任务时间") + private String taskTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(FactoryReportingTaskQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getFrId()), "fr_id", query.getFrId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskSource()), "task_source", query.getTaskSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getRegionName()), "region_name", query.getRegionName()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskDescription()), "task_description", query.getTaskDescription()); + wrapper.eq(ObjectUtil.isNotNull(query.getTaskTime()), "task_time", query.getTaskTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FindSequenceDataQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FindSequenceDataQuery.java new file mode 100644 index 0000000..4b602b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/FindSequenceDataQuery.java @@ -0,0 +1,24 @@ +package cn.cecep.talroad.vo.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * CO大气环境时间分布特征 + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "CO大气环境时间分布特征") +@EqualsAndHashCode(callSuper = false) +@Data +public class FindSequenceDataQuery { + + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + @ApiModelProperty(value = "站点id") + private String stationId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/GasPEMonitoringPointQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/GasPEMonitoringPointQuery.java new file mode 100644 index 0000000..1b52205 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/GasPEMonitoringPointQuery.java @@ -0,0 +1,18 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "废气无组织Query") +public class GasPEMonitoringPointQuery extends PageQuery { + + @ApiModelProperty(value = "无组织监测点位名称") + private String monitoringPointName; + + private String factoryId; + + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MAmVideoDevFiQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MAmVideoDevFiQuery.java new file mode 100644 index 0000000..82b475c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MAmVideoDevFiQuery.java @@ -0,0 +1,92 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MAmVideoDevFi; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 基础信息 与 产治排跟踪--视频设施清单对象 m_am_video_dev_fi + * + * @author szhpt + * @date 2023-02-10 + */ +@ApiModel(value = "基础信息 与 产治排跟踪--视频设施清单") +@EqualsAndHashCode(callSuper = false) +@Data +public class MAmVideoDevFiQuery extends PageQuery { + + @ApiModelProperty(value = "设备主键") + private Long id; + @ApiModelProperty(value = "摄像头ID") + private String devId; + @ApiModelProperty(value = "摄像头名称") + private String devName; + @ApiModelProperty(value = "摄像头内部编号") + private String devInsideCode; + @ApiModelProperty(value = "验证码") + private String devCode; + @ApiModelProperty(value = "型号") + private String model; + @ApiModelProperty(value = "通道号") + private String modelRoad; + @ApiModelProperty(value = "安装位置") + private String location; + @ApiModelProperty(value = "经度(地图)") + private String lonMap; + @ApiModelProperty(value = "纬度(地图)") + private String latMap; + @ApiModelProperty(value = "备注说明") + private String descrAny; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "修改时间") + private String updateTime; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "设备类型") + private String devType; + @ApiModelProperty(value = "设备来源") + private String devSource; + + private String status; + + /** + * @throws + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + */ + public static QueryWrapper createLambdaQueryWrapper(MAmVideoDevFiQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevId()), "dev_id", query.getDevId()); + wrapper.like(StrUtil.isNotBlank(query.getDevName()), "dev_name", query.getDevName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevInsideCode()), "dev_inside_code", query.getDevInsideCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevCode()), "dev_code", query.getDevCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getModel()), "model", query.getModel()); + wrapper.eq(ObjectUtil.isNotNull(query.getModelRoad()), "model_road", query.getModelRoad()); + wrapper.eq(ObjectUtil.isNotNull(query.getLocation()), "location", query.getLocation()); + wrapper.eq(ObjectUtil.isNotNull(query.getLonMap()), "lon_map", query.getLonMap()); + wrapper.eq(ObjectUtil.isNotNull(query.getLatMap()), "lat_map", query.getLatMap()); + wrapper.eq(ObjectUtil.isNotNull(query.getDescrAny()), "descr_any", query.getDescrAny()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevType()), "dev_type", query.getDevType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDevSource()), "dev_source", query.getDevSource()); + wrapper.eq(StrUtil.isNotBlank(query.getStatus()), "status", query.getStatus()); + wrapper.orderByAsc("id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlHourQuery.java new file mode 100644 index 0000000..97e84b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlHourQuery.java @@ -0,0 +1,168 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevBlHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-玻璃-小时 保存设备的小时数据对象 mon_dev_bl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "混合机温度 单位: ℃") + private String bs100; + @ApiModelProperty(value = "原熔皮带电流 单位: A") + private String bs101; + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + private String bs102; + @ApiModelProperty(value = "助燃风量 单位: m3/h") + private String bs103; + @ApiModelProperty(value = "熔窑温度 单位: ℃") + private String bs104; + @ApiModelProperty(value = "煤气流量 单位: m3/h") + private String bs105; + @ApiModelProperty(value = "天然气流量 单位: m3/h") + private String bs106; + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + private String bs107; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String bz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String bz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String bz102; + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + private String bz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String bz104; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String bz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + private String bz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String bz108; + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + private String bz109; + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + private String bz110; + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + @ApiModelProperty(value = "氨泵风机电流 单位: A") + private String bz112; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + private String g605; + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + private String g983; + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevBlHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs100()), "bs100", query.getBs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs101()), "bs101", query.getBs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs102()), "bs102", query.getBs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs103()), "bs103", query.getBs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs104()), "bs104", query.getBs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs105()), "bs105", query.getBs105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs106()), "bs106", query.getBs106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs107()), "bs107", query.getBs107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz100()), "bz100", query.getBz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz101()), "bz101", query.getBz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz102()), "bz102", query.getBz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz103()), "bz103", query.getBz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz104()), "bz104", query.getBz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz105()), "bz105", query.getBz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz106()), "bz106", query.getBz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz107()), "bz107", query.getBz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz108()), "bz108", query.getBz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz109()), "bz109", query.getBz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz110()), "bz110", query.getBz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz111()), "bz111", query.getBz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz112()), "bz112", query.getBz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG984()), "g984", query.getG984()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.java new file mode 100644 index 0000000..eaa21cf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.java @@ -0,0 +1,168 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevBlOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-玻璃-其它时间 保存设备的小时以上的数据对象 mon_dev_bl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "混合机温度 单位: ℃") + private String bs100; + @ApiModelProperty(value = "原熔皮带电流 单位: A") + private String bs101; + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + private String bs102; + @ApiModelProperty(value = "助燃风量 单位: m3/h") + private String bs103; + @ApiModelProperty(value = "熔窑温度 单位: ℃") + private String bs104; + @ApiModelProperty(value = "煤气流量 单位: m3/h") + private String bs105; + @ApiModelProperty(value = "天然气流量 单位: m3/h") + private String bs106; + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + private String bs107; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String bz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String bz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String bz102; + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + private String bz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String bz104; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String bz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + private String bz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String bz108; + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + private String bz109; + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + private String bz110; + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + @ApiModelProperty(value = "氨泵风机电流 单位: A") + private String bz112; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + private String g605; + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + private String g983; + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevBlOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs100()), "bs100", query.getBs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs101()), "bs101", query.getBs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs102()), "bs102", query.getBs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs103()), "bs103", query.getBs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs104()), "bs104", query.getBs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs105()), "bs105", query.getBs105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs106()), "bs106", query.getBs106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs107()), "bs107", query.getBs107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz100()), "bz100", query.getBz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz101()), "bz101", query.getBz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz102()), "bz102", query.getBz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz103()), "bz103", query.getBz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz104()), "bz104", query.getBz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz105()), "bz105", query.getBz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz106()), "bz106", query.getBz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz107()), "bz107", query.getBz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz108()), "bz108", query.getBz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz109()), "bz109", query.getBz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz110()), "bz110", query.getBz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz111()), "bz111", query.getBz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz112()), "bz112", query.getBz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG984()), "g984", query.getG984()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlRealQuery.java new file mode 100644 index 0000000..79445d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevBlRealQuery.java @@ -0,0 +1,168 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevBlReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-玻璃-实时 保存设备的实时数据对象 mon_dev_bl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-玻璃-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevBlRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "混合机温度 单位: ℃") + private String bs100; + @ApiModelProperty(value = "原熔皮带电流 单位: A") + private String bs101; + @ApiModelProperty(value = "投料机输出频率 单位: HZ") + private String bs102; + @ApiModelProperty(value = "助燃风量 单位: m3/h") + private String bs103; + @ApiModelProperty(value = "熔窑温度 单位: ℃") + private String bs104; + @ApiModelProperty(value = "煤气流量 单位: m3/h") + private String bs105; + @ApiModelProperty(value = "天然气流量 单位: m3/h") + private String bs106; + @ApiModelProperty(value = "退火窑辊道车速 单位: m/h") + private String bs107; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String bz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String bz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String bz102; + @ApiModelProperty(value = "脱硫洗涤塔pH值 单位: ") + private String bz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String bz104; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String bz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String bz106; + @ApiModelProperty(value = "脱硝反应区温度 单位: ℃") + private String bz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String bz108; + @ApiModelProperty(value = "脱硝供给泵电流 单位: A") + private String bz109; + @ApiModelProperty(value = "氨喷射系统电流 单位: A") + private String bz110; + @ApiModelProperty(value = "氨泵风机状态 单位: 1=运行,0=停止") + private String bz111; + @ApiModelProperty(value = "氨泵风机电流 单位: A") + private String bz112; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位: kg") + private String g140; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 单位: m") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位: kg") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位: m") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 单位: ℃") + private String g329; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位: A") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位: h") + private String g605; + @ApiModelProperty(value = "入料_原料配比后的总重量 单位: kg") + private String g983; + @ApiModelProperty(value = "锡槽成型、退火_主传动速度 单位: m/s") + private String g984; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号") + private String g985; + @ApiModelProperty(value = "在线监测数据或超标报警数据 单位: mg/m3") + private String g986; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位: kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: kg") + private String gb09; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevBlRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs100()), "bs100", query.getBs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs101()), "bs101", query.getBs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs102()), "bs102", query.getBs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs103()), "bs103", query.getBs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs104()), "bs104", query.getBs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs105()), "bs105", query.getBs105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs106()), "bs106", query.getBs106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBs107()), "bs107", query.getBs107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz100()), "bz100", query.getBz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz101()), "bz101", query.getBz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz102()), "bz102", query.getBz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz103()), "bz103", query.getBz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz104()), "bz104", query.getBz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz105()), "bz105", query.getBz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz106()), "bz106", query.getBz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz107()), "bz107", query.getBz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz108()), "bz108", query.getBz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz109()), "bz109", query.getBz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz110()), "bz110", query.getBz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz111()), "bz111", query.getBz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getBz112()), "bz112", query.getBz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG984()), "g984", query.getG984()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlHourQuery.java new file mode 100644 index 0000000..03e0eba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlHourQuery.java @@ -0,0 +1,369 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevDlHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-电力-小时 保存设备的小时数据对象 mon_dev_dl_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + private Long g101; + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + private String g102; + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + private String g115; + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + private String g123; + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + private Long g138; + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + private String g141; + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + private String g301; + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + private String g303; + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + private String g305; + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + private String g307; + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + private String g315; + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + private String g316; + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + private String g317; + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + private String g318; + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + private String g319; + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + private String g320; + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + private String g321; + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + private String g322; + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + private String g323; + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + private String g324; + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + private String g325; + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + private String g326; + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + private String g327; + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + private String g328; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + private String g904; + @ApiModelProperty(value = "锅炉_引风机状态") + private Long g905; + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + private String g906; + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + private String g947; + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + private String hq100; + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String hz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String hz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String hz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String hz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String hz105; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String hz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String hz108; + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "浆液循环泵状态") + private String g103; + @ApiModelProperty(value = "脱硫剂输送装置信号") + private String g203; + @ApiModelProperty(value = "脱硫塔温度") + private String g204; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevDlHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG101()), "g101", query.getG101()); + wrapper.eq(ObjectUtil.isNotNull(query.getG102()), "g102", query.getG102()); + wrapper.eq(ObjectUtil.isNotNull(query.getG104()), "g104", query.getG104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG109()), "g109", query.getG109()); + wrapper.eq(ObjectUtil.isNotNull(query.getG115()), "g115", query.getG115()); + wrapper.eq(ObjectUtil.isNotNull(query.getG119()), "g119", query.getG119()); + wrapper.eq(ObjectUtil.isNotNull(query.getG120()), "g120", query.getG120()); + wrapper.eq(ObjectUtil.isNotNull(query.getG121()), "g121", query.getG121()); + wrapper.eq(ObjectUtil.isNotNull(query.getG122()), "g122", query.getG122()); + wrapper.eq(ObjectUtil.isNotNull(query.getG123()), "g123", query.getG123()); + wrapper.eq(ObjectUtil.isNotNull(query.getG124()), "g124", query.getG124()); + wrapper.eq(ObjectUtil.isNotNull(query.getG125()), "g125", query.getG125()); + wrapper.eq(ObjectUtil.isNotNull(query.getG126()), "g126", query.getG126()); + wrapper.eq(ObjectUtil.isNotNull(query.getG127()), "g127", query.getG127()); + wrapper.eq(ObjectUtil.isNotNull(query.getG128()), "g128", query.getG128()); + wrapper.eq(ObjectUtil.isNotNull(query.getG129()), "g129", query.getG129()); + wrapper.eq(ObjectUtil.isNotNull(query.getG130()), "g130", query.getG130()); + wrapper.eq(ObjectUtil.isNotNull(query.getG131()), "g131", query.getG131()); + wrapper.eq(ObjectUtil.isNotNull(query.getG132()), "g132", query.getG132()); + wrapper.eq(ObjectUtil.isNotNull(query.getG133()), "g133", query.getG133()); + wrapper.eq(ObjectUtil.isNotNull(query.getG134()), "g134", query.getG134()); + wrapper.eq(ObjectUtil.isNotNull(query.getG136()), "g136", query.getG136()); + wrapper.eq(ObjectUtil.isNotNull(query.getG138()), "g138", query.getG138()); + wrapper.eq(ObjectUtil.isNotNull(query.getG139()), "g139", query.getG139()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG201()), "g201", query.getG201()); + wrapper.eq(ObjectUtil.isNotNull(query.getG202()), "g202", query.getG202()); + wrapper.eq(ObjectUtil.isNotNull(query.getG213()), "g213", query.getG213()); + wrapper.eq(ObjectUtil.isNotNull(query.getG214()), "g214", query.getG214()); + wrapper.eq(ObjectUtil.isNotNull(query.getG215()), "g215", query.getG215()); + wrapper.eq(ObjectUtil.isNotNull(query.getG216()), "g216", query.getG216()); + wrapper.eq(ObjectUtil.isNotNull(query.getG217()), "g217", query.getG217()); + wrapper.eq(ObjectUtil.isNotNull(query.getG218()), "g218", query.getG218()); + wrapper.eq(ObjectUtil.isNotNull(query.getG219()), "g219", query.getG219()); + wrapper.eq(ObjectUtil.isNotNull(query.getG220()), "g220", query.getG220()); + wrapper.eq(ObjectUtil.isNotNull(query.getG221()), "g221", query.getG221()); + wrapper.eq(ObjectUtil.isNotNull(query.getG222()), "g222", query.getG222()); + wrapper.eq(ObjectUtil.isNotNull(query.getG223()), "g223", query.getG223()); + wrapper.eq(ObjectUtil.isNotNull(query.getG224()), "g224", query.getG224()); + wrapper.eq(ObjectUtil.isNotNull(query.getG225()), "g225", query.getG225()); + wrapper.eq(ObjectUtil.isNotNull(query.getG226()), "g226", query.getG226()); + wrapper.eq(ObjectUtil.isNotNull(query.getG227()), "g227", query.getG227()); + wrapper.eq(ObjectUtil.isNotNull(query.getG228()), "g228", query.getG228()); + wrapper.eq(ObjectUtil.isNotNull(query.getG301()), "g301", query.getG301()); + wrapper.eq(ObjectUtil.isNotNull(query.getG302()), "g302", query.getG302()); + wrapper.eq(ObjectUtil.isNotNull(query.getG303()), "g303", query.getG303()); + wrapper.eq(ObjectUtil.isNotNull(query.getG304()), "g304", query.getG304()); + wrapper.eq(ObjectUtil.isNotNull(query.getG305()), "g305", query.getG305()); + wrapper.eq(ObjectUtil.isNotNull(query.getG306()), "g306", query.getG306()); + wrapper.eq(ObjectUtil.isNotNull(query.getG307()), "g307", query.getG307()); + wrapper.eq(ObjectUtil.isNotNull(query.getG308()), "g308", query.getG308()); + wrapper.eq(ObjectUtil.isNotNull(query.getG309()), "g309", query.getG309()); + wrapper.eq(ObjectUtil.isNotNull(query.getG310()), "g310", query.getG310()); + wrapper.eq(ObjectUtil.isNotNull(query.getG311()), "g311", query.getG311()); + wrapper.eq(ObjectUtil.isNotNull(query.getG312()), "g312", query.getG312()); + wrapper.eq(ObjectUtil.isNotNull(query.getG315()), "g315", query.getG315()); + wrapper.eq(ObjectUtil.isNotNull(query.getG316()), "g316", query.getG316()); + wrapper.eq(ObjectUtil.isNotNull(query.getG317()), "g317", query.getG317()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG319()), "g319", query.getG319()); + wrapper.eq(ObjectUtil.isNotNull(query.getG320()), "g320", query.getG320()); + wrapper.eq(ObjectUtil.isNotNull(query.getG321()), "g321", query.getG321()); + wrapper.eq(ObjectUtil.isNotNull(query.getG322()), "g322", query.getG322()); + wrapper.eq(ObjectUtil.isNotNull(query.getG323()), "g323", query.getG323()); + wrapper.eq(ObjectUtil.isNotNull(query.getG324()), "g324", query.getG324()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG326()), "g326", query.getG326()); + wrapper.eq(ObjectUtil.isNotNull(query.getG327()), "g327", query.getG327()); + wrapper.eq(ObjectUtil.isNotNull(query.getG328()), "g328", query.getG328()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getG705()), "g705", query.getG705()); + wrapper.eq(ObjectUtil.isNotNull(query.getG903()), "g903", query.getG903()); + wrapper.eq(ObjectUtil.isNotNull(query.getG904()), "g904", query.getG904()); + wrapper.eq(ObjectUtil.isNotNull(query.getG905()), "g905", query.getG905()); + wrapper.eq(ObjectUtil.isNotNull(query.getG906()), "g906", query.getG906()); + wrapper.eq(ObjectUtil.isNotNull(query.getG947()), "g947", query.getG947()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb00()), "gb00", query.getGb00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb01()), "gb01", query.getGb01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb02()), "gb02", query.getGb02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb03()), "gb03", query.getGb03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb04()), "gb04", query.getGb04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb05()), "gb05", query.getGb05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb06()), "gb06", query.getGb06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb07()), "gb07", query.getGb07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getHq100()), "hq100", query.getHq100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs100()), "hs100", query.getHs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs101()), "hs101", query.getHs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz100()), "hz100", query.getHz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz101()), "hz101", query.getHz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz102()), "hz102", query.getHz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz103()), "hz103", query.getHz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz105()), "hz105", query.getHz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz106()), "hz106", query.getHz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz107()), "hz107", query.getHz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz108()), "hz108", query.getHz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getP103()), "P103", query.getP103()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG103()), "g103", query.getG103()); + wrapper.eq(ObjectUtil.isNotNull(query.getG203()), "g203", query.getG203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG204()), "g204", query.getG204()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.java new file mode 100644 index 0000000..a73e0bc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.java @@ -0,0 +1,369 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevDlOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-电力-其它时间 保存设备的小时以上的数据对象 mon_dev_dl_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + private Long g101; + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + private String g102; + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + private String g115; + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + private String g123; + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + private Long g138; + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + private String g141; + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + private String g301; + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + private String g303; + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + private String g305; + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + private String g307; + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + private String g315; + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + private String g316; + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + private String g317; + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + private String g318; + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + private String g319; + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + private String g320; + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + private String g321; + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + private String g322; + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + private String g323; + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + private String g324; + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + private String g325; + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + private String g326; + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + private String g327; + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + private String g328; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + private String g904; + @ApiModelProperty(value = "锅炉_引风机状态") + private Long g905; + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + private String g906; + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + private String g947; + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + private String hq100; + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String hz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String hz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String hz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String hz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String hz105; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String hz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String hz108; + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "浆液循环泵状态") + private String g103; + @ApiModelProperty(value = "脱硫剂输送装置信号") + private String g203; + @ApiModelProperty(value = "脱硫塔温度") + private String g204; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevDlOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG101()), "g101", query.getG101()); + wrapper.eq(ObjectUtil.isNotNull(query.getG102()), "g102", query.getG102()); + wrapper.eq(ObjectUtil.isNotNull(query.getG104()), "g104", query.getG104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG109()), "g109", query.getG109()); + wrapper.eq(ObjectUtil.isNotNull(query.getG115()), "g115", query.getG115()); + wrapper.eq(ObjectUtil.isNotNull(query.getG119()), "g119", query.getG119()); + wrapper.eq(ObjectUtil.isNotNull(query.getG120()), "g120", query.getG120()); + wrapper.eq(ObjectUtil.isNotNull(query.getG121()), "g121", query.getG121()); + wrapper.eq(ObjectUtil.isNotNull(query.getG122()), "g122", query.getG122()); + wrapper.eq(ObjectUtil.isNotNull(query.getG123()), "g123", query.getG123()); + wrapper.eq(ObjectUtil.isNotNull(query.getG124()), "g124", query.getG124()); + wrapper.eq(ObjectUtil.isNotNull(query.getG125()), "g125", query.getG125()); + wrapper.eq(ObjectUtil.isNotNull(query.getG126()), "g126", query.getG126()); + wrapper.eq(ObjectUtil.isNotNull(query.getG127()), "g127", query.getG127()); + wrapper.eq(ObjectUtil.isNotNull(query.getG128()), "g128", query.getG128()); + wrapper.eq(ObjectUtil.isNotNull(query.getG129()), "g129", query.getG129()); + wrapper.eq(ObjectUtil.isNotNull(query.getG130()), "g130", query.getG130()); + wrapper.eq(ObjectUtil.isNotNull(query.getG131()), "g131", query.getG131()); + wrapper.eq(ObjectUtil.isNotNull(query.getG132()), "g132", query.getG132()); + wrapper.eq(ObjectUtil.isNotNull(query.getG133()), "g133", query.getG133()); + wrapper.eq(ObjectUtil.isNotNull(query.getG134()), "g134", query.getG134()); + wrapper.eq(ObjectUtil.isNotNull(query.getG136()), "g136", query.getG136()); + wrapper.eq(ObjectUtil.isNotNull(query.getG138()), "g138", query.getG138()); + wrapper.eq(ObjectUtil.isNotNull(query.getG139()), "g139", query.getG139()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG201()), "g201", query.getG201()); + wrapper.eq(ObjectUtil.isNotNull(query.getG202()), "g202", query.getG202()); + wrapper.eq(ObjectUtil.isNotNull(query.getG213()), "g213", query.getG213()); + wrapper.eq(ObjectUtil.isNotNull(query.getG214()), "g214", query.getG214()); + wrapper.eq(ObjectUtil.isNotNull(query.getG215()), "g215", query.getG215()); + wrapper.eq(ObjectUtil.isNotNull(query.getG216()), "g216", query.getG216()); + wrapper.eq(ObjectUtil.isNotNull(query.getG217()), "g217", query.getG217()); + wrapper.eq(ObjectUtil.isNotNull(query.getG218()), "g218", query.getG218()); + wrapper.eq(ObjectUtil.isNotNull(query.getG219()), "g219", query.getG219()); + wrapper.eq(ObjectUtil.isNotNull(query.getG220()), "g220", query.getG220()); + wrapper.eq(ObjectUtil.isNotNull(query.getG221()), "g221", query.getG221()); + wrapper.eq(ObjectUtil.isNotNull(query.getG222()), "g222", query.getG222()); + wrapper.eq(ObjectUtil.isNotNull(query.getG223()), "g223", query.getG223()); + wrapper.eq(ObjectUtil.isNotNull(query.getG224()), "g224", query.getG224()); + wrapper.eq(ObjectUtil.isNotNull(query.getG225()), "g225", query.getG225()); + wrapper.eq(ObjectUtil.isNotNull(query.getG226()), "g226", query.getG226()); + wrapper.eq(ObjectUtil.isNotNull(query.getG227()), "g227", query.getG227()); + wrapper.eq(ObjectUtil.isNotNull(query.getG228()), "g228", query.getG228()); + wrapper.eq(ObjectUtil.isNotNull(query.getG301()), "g301", query.getG301()); + wrapper.eq(ObjectUtil.isNotNull(query.getG302()), "g302", query.getG302()); + wrapper.eq(ObjectUtil.isNotNull(query.getG303()), "g303", query.getG303()); + wrapper.eq(ObjectUtil.isNotNull(query.getG304()), "g304", query.getG304()); + wrapper.eq(ObjectUtil.isNotNull(query.getG305()), "g305", query.getG305()); + wrapper.eq(ObjectUtil.isNotNull(query.getG306()), "g306", query.getG306()); + wrapper.eq(ObjectUtil.isNotNull(query.getG307()), "g307", query.getG307()); + wrapper.eq(ObjectUtil.isNotNull(query.getG308()), "g308", query.getG308()); + wrapper.eq(ObjectUtil.isNotNull(query.getG309()), "g309", query.getG309()); + wrapper.eq(ObjectUtil.isNotNull(query.getG310()), "g310", query.getG310()); + wrapper.eq(ObjectUtil.isNotNull(query.getG311()), "g311", query.getG311()); + wrapper.eq(ObjectUtil.isNotNull(query.getG312()), "g312", query.getG312()); + wrapper.eq(ObjectUtil.isNotNull(query.getG315()), "g315", query.getG315()); + wrapper.eq(ObjectUtil.isNotNull(query.getG316()), "g316", query.getG316()); + wrapper.eq(ObjectUtil.isNotNull(query.getG317()), "g317", query.getG317()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG319()), "g319", query.getG319()); + wrapper.eq(ObjectUtil.isNotNull(query.getG320()), "g320", query.getG320()); + wrapper.eq(ObjectUtil.isNotNull(query.getG321()), "g321", query.getG321()); + wrapper.eq(ObjectUtil.isNotNull(query.getG322()), "g322", query.getG322()); + wrapper.eq(ObjectUtil.isNotNull(query.getG323()), "g323", query.getG323()); + wrapper.eq(ObjectUtil.isNotNull(query.getG324()), "g324", query.getG324()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG326()), "g326", query.getG326()); + wrapper.eq(ObjectUtil.isNotNull(query.getG327()), "g327", query.getG327()); + wrapper.eq(ObjectUtil.isNotNull(query.getG328()), "g328", query.getG328()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getG705()), "g705", query.getG705()); + wrapper.eq(ObjectUtil.isNotNull(query.getG903()), "g903", query.getG903()); + wrapper.eq(ObjectUtil.isNotNull(query.getG904()), "g904", query.getG904()); + wrapper.eq(ObjectUtil.isNotNull(query.getG905()), "g905", query.getG905()); + wrapper.eq(ObjectUtil.isNotNull(query.getG906()), "g906", query.getG906()); + wrapper.eq(ObjectUtil.isNotNull(query.getG947()), "g947", query.getG947()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb00()), "gb00", query.getGb00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb01()), "gb01", query.getGb01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb02()), "gb02", query.getGb02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb03()), "gb03", query.getGb03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb04()), "gb04", query.getGb04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb05()), "gb05", query.getGb05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb06()), "gb06", query.getGb06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb07()), "gb07", query.getGb07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getHq100()), "hq100", query.getHq100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs100()), "hs100", query.getHs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs101()), "hs101", query.getHs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz100()), "hz100", query.getHz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz101()), "hz101", query.getHz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz102()), "hz102", query.getHz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz103()), "hz103", query.getHz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz105()), "hz105", query.getHz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz106()), "hz106", query.getHz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz107()), "hz107", query.getHz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz108()), "hz108", query.getHz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getP103()), "P103", query.getP103()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG103()), "g103", query.getG103()); + wrapper.eq(ObjectUtil.isNotNull(query.getG203()), "g203", query.getG203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG204()), "g204", query.getG204()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlRealQuery.java new file mode 100644 index 0000000..1ea9dbf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevDlRealQuery.java @@ -0,0 +1,369 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevDlReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-电力-实时 保存设备的实时数据对象 mon_dev_dl_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-电力-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevDlRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "湿法脱硫_增压风机状态") + private Long g101; + @ApiModelProperty(value = "湿法脱硫_增压风机电流 单位: A") + private String g102; + @ApiModelProperty(value = "湿法脱硫_浆液循环泵电流 单位: A") + private String g104; + @ApiModelProperty(value = "湿法脱硫_浆液泵状态 单位: 1=运行,0=停止") + private Long g109; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池)内浆液密度 单位: kg/m3") + private String g115; + @ApiModelProperty(value = "湿法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g119; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 NOX信号 单位: mg/m3") + private String g120; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g121; + @ApiModelProperty(value = "湿法脱硫_FGD 入口 O2信号 单位: %") + private String g122; + @ApiModelProperty(value = "湿法脱硫_FGD 单位: ℃") + private String g123; + @ApiModelProperty(value = "湿法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g124; + @ApiModelProperty(value = "湿法脱硫_FGD 入口压力信号 单位: kpa") + private String g125; + @ApiModelProperty(value = "湿法脱硫_FGD 入口湿度信号 单位: %") + private String g126; + @ApiModelProperty(value = "湿法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g127; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 NOX信号 单位: mg/m3") + private String g128; + @ApiModelProperty(value = "湿法脱硫_FGD 出口 O2信号 单位: %") + private String g129; + @ApiModelProperty(value = "湿法脱硫_FGD 出口流量信号 单位: m3/h") + private String g130; + @ApiModelProperty(value = "湿法脱硫_FGD 出口温度信号 单位: ℃") + private String g131; + @ApiModelProperty(value = "湿法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g132; + @ApiModelProperty(value = "湿法脱硫_FGD 出口压力信号 单位: kpa") + private String g133; + @ApiModelProperty(value = "湿法脱硫_FGD 出口湿度信号 单位: %") + private String g134; + @ApiModelProperty(value = "湿法脱硫_浆液泵电流 单位: A") + private String g136; + @ApiModelProperty(value = "湿法脱硫_氧化风机状态") + private Long g138; + @ApiModelProperty(value = "湿法脱硫_氧化风机电流 单位: A") + private String g139; + @ApiModelProperty(value = "湿法脱硫_脱硫吸收硫塔(或浆液池) 单位: N6.2") + private String g141; + @ApiModelProperty(value = "半干法脱硫_脱硫塔内喷水泵电流 单位: %") + private String g201; + @ApiModelProperty(value = "半干法脱硫_脱硫剂输送装置电流 单位: %") + private String g202; + @ApiModelProperty(value = "半干法脱硫_FGD 入口SO2信号 单位: mg/m3") + private String g213; + @ApiModelProperty(value = "半干法脱硫_FGD 入口NOX信号 单位: mg/m3") + private String g214; + @ApiModelProperty(value = "半干法脱硫_FGD 入口O2信号 单位: %") + private String g215; + @ApiModelProperty(value = "半干法脱硫_FGD 入口流量信号 单位: m3/h") + private String g216; + @ApiModelProperty(value = "半干法脱硫_FGD 入口温度信号 单位: ℃") + private String g217; + @ApiModelProperty(value = "半干法脱硫_FGD 入口烟尘信号 单位: mg/m3") + private String g218; + @ApiModelProperty(value = "半干法脱硫_FGD 入口压力信号 单位: kpa") + private String g219; + @ApiModelProperty(value = "半干法脱硫_FGD 入口湿度信号 单位: %") + private String g220; + @ApiModelProperty(value = "半干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String g221; + @ApiModelProperty(value = "半干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String g222; + @ApiModelProperty(value = "半干法脱硫_FGD 出口O2信号 单位: %") + private String g223; + @ApiModelProperty(value = "半干法脱硫_FGD 出口流量信号 单位: m3/h") + private String g224; + @ApiModelProperty(value = "半干法脱硫_FGD 出口温度信号 单位: ℃") + private String g225; + @ApiModelProperty(value = "半干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String g226; + @ApiModelProperty(value = "半干法脱硫_FGD 出口压力信号 单位: kpa") + private String g227; + @ApiModelProperty(value = "半干法脱硫_FGD 出口湿度信号 单位: %") + private String g228; + @ApiModelProperty(value = "脱硝_氨喷射系统电流 单位: A") + private String g301; + @ApiModelProperty(value = "脱硝_稀释风机状态 单位: 1=运行,0=停止") + private Long g302; + @ApiModelProperty(value = "脱硝_稀释风机电流 单位: A") + private String g303; + @ApiModelProperty(value = "脱硝_氨泵风机状态 单位: 1=运行,0=停止") + private String g304; + @ApiModelProperty(value = "脱硝_氨泵风机电流 单位: A") + private String g305; + @ApiModelProperty(value = "脱硝_旁路挡板状态 单位: 1=运行,0=停止") + private String g306; + @ApiModelProperty(value = "脱硝_旁路挡板开度 单位: %") + private String g307; + @ApiModelProperty(value = "脱硝_旁路挡板左右压差 单位: kpa") + private String g308; + @ApiModelProperty(value = "脱硝_尿素溶液流量 单位: m3/h") + private String g309; + @ApiModelProperty(value = "脱硝_喷枪运行状态 单位: 1=运行,0=停止") + private String g310; + @ApiModelProperty(value = "脱硝_尿素循环泵状态 单位: 1=运行,0=停止") + private String g311; + @ApiModelProperty(value = "脱硝_尿素循环泵电流 单位: 安[培]") + private String g312; + @ApiModelProperty(value = "脱硝_入口NOX 单位: mg/m3") + private String g315; + @ApiModelProperty(value = "脱硝_入口O2百分比 单位: %") + private String g316; + @ApiModelProperty(value = "脱硝_入口温度 单位: ℃") + private String g317; + @ApiModelProperty(value = "脱硝_入口压力 单位: kpa") + private String g318; + @ApiModelProperty(value = "脱硝_入口流量 单位: m3/h") + private String g319; + @ApiModelProperty(value = "脱硝_入口湿度 单位: %") + private String g320; + @ApiModelProperty(value = "脱硝_入口NH3 单位: mg/m3") + private String g321; + @ApiModelProperty(value = "脱硝_出口NOX 单位: mg/m3") + private String g322; + @ApiModelProperty(value = "脱硝_出口O2百分比 单位: %") + private String g323; + @ApiModelProperty(value = "脱硝_出口温度 单位: ℃") + private String g324; + @ApiModelProperty(value = "脱硝_出口压力 单位: kpa") + private String g325; + @ApiModelProperty(value = "脱硝_出口流量 单位: m3/h") + private String g326; + @ApiModelProperty(value = "脱硝_出口湿度 单位: %") + private String g327; + @ApiModelProperty(value = "脱硝_出口NH3 单位: mg/m3") + private String g328; + @ApiModelProperty(value = "静电除尘器_一次电压 单位: V") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位: A") + private String g502; + @ApiModelProperty(value = "袋式除尘器_进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "氨法脱硫_吸收塔供氨流量 单位: m3/h") + private String g705; + @ApiModelProperty(value = "锅炉_锅炉燃料综合量 单位: t/h") + private String g903; + @ApiModelProperty(value = "锅炉_锅炉机组锅炉MFT信号(锅炉主燃料跳闸)无量纲 单位: N1") + private String g904; + @ApiModelProperty(value = "锅炉_引风机状态") + private Long g905; + @ApiModelProperty(value = "锅炉_引风机电流 单位: A") + private String g906; + @ApiModelProperty(value = "锅炉_机组负荷(有功功率) 单位: MW") + private String g947; + @ApiModelProperty(value = "干法脱硫_FGD 出口SO2信号 单位: mg/m3") + private String gb00; + @ApiModelProperty(value = "干法脱硫_FGD 出口NOX信号 单位: mg/m3") + private String gb01; + @ApiModelProperty(value = "干法脱硫_FGD 出口O2信号 单位: %") + private String gb02; + @ApiModelProperty(value = "干法脱硫_FGD 出口流量信号 单位: m3/h") + private String gb03; + @ApiModelProperty(value = "干法脱硫_FGD 出口温度信号 单位: ℃") + private String gb04; + @ApiModelProperty(value = "干法脱硫_FGD 出口烟尘信号 单位: mg/m3") + private String gb05; + @ApiModelProperty(value = "干法脱硫_FGD 出口压力信号 单位: kpa") + private String gb06; + @ApiModelProperty(value = "干法脱硫_FGD 出口湿度信号 单位: %") + private String gb07; + @ApiModelProperty(value = "干法脱硫_脱硫剂或吸附剂喷入量 单位: kg/h") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位: %") + private String gb09; + @ApiModelProperty(value = "发机侧气轮机功率 单位: MW") + private String hq100; + @ApiModelProperty(value = "锅炉侧锅炉氧含量 单位: %") + private String hs100; + @ApiModelProperty(value = "发机侧锅炉蒸发量 单位: m3/h") + private String hs101; + @ApiModelProperty(value = "布袋除尘器前后压差 单位: Pa") + private String hz100; + @ApiModelProperty(value = "电除尘器二次电流 单位: A") + private String hz101; + @ApiModelProperty(value = "电除尘器二次电压 单位: V") + private String hz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String hz103; + @ApiModelProperty(value = "脱硫供浆流量 单位: m3/h") + private String hz105; + @ApiModelProperty(value = "脱硫供料流量 单位: kg/h") + private String hz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private Long hz107; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String hz108; + @ApiModelProperty(value = "燃气轮机_燃气轮机功率 单位: MW") + private String p103; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "浆液循环泵状态") + private String g103; + @ApiModelProperty(value = "脱硫剂输送装置信号") + private String g203; + @ApiModelProperty(value = "脱硫塔温度") + private String g204; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevDlRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG101()), "g101", query.getG101()); + wrapper.eq(ObjectUtil.isNotNull(query.getG102()), "g102", query.getG102()); + wrapper.eq(ObjectUtil.isNotNull(query.getG104()), "g104", query.getG104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG109()), "g109", query.getG109()); + wrapper.eq(ObjectUtil.isNotNull(query.getG115()), "g115", query.getG115()); + wrapper.eq(ObjectUtil.isNotNull(query.getG119()), "g119", query.getG119()); + wrapper.eq(ObjectUtil.isNotNull(query.getG120()), "g120", query.getG120()); + wrapper.eq(ObjectUtil.isNotNull(query.getG121()), "g121", query.getG121()); + wrapper.eq(ObjectUtil.isNotNull(query.getG122()), "g122", query.getG122()); + wrapper.eq(ObjectUtil.isNotNull(query.getG123()), "g123", query.getG123()); + wrapper.eq(ObjectUtil.isNotNull(query.getG124()), "g124", query.getG124()); + wrapper.eq(ObjectUtil.isNotNull(query.getG125()), "g125", query.getG125()); + wrapper.eq(ObjectUtil.isNotNull(query.getG126()), "g126", query.getG126()); + wrapper.eq(ObjectUtil.isNotNull(query.getG127()), "g127", query.getG127()); + wrapper.eq(ObjectUtil.isNotNull(query.getG128()), "g128", query.getG128()); + wrapper.eq(ObjectUtil.isNotNull(query.getG129()), "g129", query.getG129()); + wrapper.eq(ObjectUtil.isNotNull(query.getG130()), "g130", query.getG130()); + wrapper.eq(ObjectUtil.isNotNull(query.getG131()), "g131", query.getG131()); + wrapper.eq(ObjectUtil.isNotNull(query.getG132()), "g132", query.getG132()); + wrapper.eq(ObjectUtil.isNotNull(query.getG133()), "g133", query.getG133()); + wrapper.eq(ObjectUtil.isNotNull(query.getG134()), "g134", query.getG134()); + wrapper.eq(ObjectUtil.isNotNull(query.getG136()), "g136", query.getG136()); + wrapper.eq(ObjectUtil.isNotNull(query.getG138()), "g138", query.getG138()); + wrapper.eq(ObjectUtil.isNotNull(query.getG139()), "g139", query.getG139()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG201()), "g201", query.getG201()); + wrapper.eq(ObjectUtil.isNotNull(query.getG202()), "g202", query.getG202()); + wrapper.eq(ObjectUtil.isNotNull(query.getG213()), "g213", query.getG213()); + wrapper.eq(ObjectUtil.isNotNull(query.getG214()), "g214", query.getG214()); + wrapper.eq(ObjectUtil.isNotNull(query.getG215()), "g215", query.getG215()); + wrapper.eq(ObjectUtil.isNotNull(query.getG216()), "g216", query.getG216()); + wrapper.eq(ObjectUtil.isNotNull(query.getG217()), "g217", query.getG217()); + wrapper.eq(ObjectUtil.isNotNull(query.getG218()), "g218", query.getG218()); + wrapper.eq(ObjectUtil.isNotNull(query.getG219()), "g219", query.getG219()); + wrapper.eq(ObjectUtil.isNotNull(query.getG220()), "g220", query.getG220()); + wrapper.eq(ObjectUtil.isNotNull(query.getG221()), "g221", query.getG221()); + wrapper.eq(ObjectUtil.isNotNull(query.getG222()), "g222", query.getG222()); + wrapper.eq(ObjectUtil.isNotNull(query.getG223()), "g223", query.getG223()); + wrapper.eq(ObjectUtil.isNotNull(query.getG224()), "g224", query.getG224()); + wrapper.eq(ObjectUtil.isNotNull(query.getG225()), "g225", query.getG225()); + wrapper.eq(ObjectUtil.isNotNull(query.getG226()), "g226", query.getG226()); + wrapper.eq(ObjectUtil.isNotNull(query.getG227()), "g227", query.getG227()); + wrapper.eq(ObjectUtil.isNotNull(query.getG228()), "g228", query.getG228()); + wrapper.eq(ObjectUtil.isNotNull(query.getG301()), "g301", query.getG301()); + wrapper.eq(ObjectUtil.isNotNull(query.getG302()), "g302", query.getG302()); + wrapper.eq(ObjectUtil.isNotNull(query.getG303()), "g303", query.getG303()); + wrapper.eq(ObjectUtil.isNotNull(query.getG304()), "g304", query.getG304()); + wrapper.eq(ObjectUtil.isNotNull(query.getG305()), "g305", query.getG305()); + wrapper.eq(ObjectUtil.isNotNull(query.getG306()), "g306", query.getG306()); + wrapper.eq(ObjectUtil.isNotNull(query.getG307()), "g307", query.getG307()); + wrapper.eq(ObjectUtil.isNotNull(query.getG308()), "g308", query.getG308()); + wrapper.eq(ObjectUtil.isNotNull(query.getG309()), "g309", query.getG309()); + wrapper.eq(ObjectUtil.isNotNull(query.getG310()), "g310", query.getG310()); + wrapper.eq(ObjectUtil.isNotNull(query.getG311()), "g311", query.getG311()); + wrapper.eq(ObjectUtil.isNotNull(query.getG312()), "g312", query.getG312()); + wrapper.eq(ObjectUtil.isNotNull(query.getG315()), "g315", query.getG315()); + wrapper.eq(ObjectUtil.isNotNull(query.getG316()), "g316", query.getG316()); + wrapper.eq(ObjectUtil.isNotNull(query.getG317()), "g317", query.getG317()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG319()), "g319", query.getG319()); + wrapper.eq(ObjectUtil.isNotNull(query.getG320()), "g320", query.getG320()); + wrapper.eq(ObjectUtil.isNotNull(query.getG321()), "g321", query.getG321()); + wrapper.eq(ObjectUtil.isNotNull(query.getG322()), "g322", query.getG322()); + wrapper.eq(ObjectUtil.isNotNull(query.getG323()), "g323", query.getG323()); + wrapper.eq(ObjectUtil.isNotNull(query.getG324()), "g324", query.getG324()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG326()), "g326", query.getG326()); + wrapper.eq(ObjectUtil.isNotNull(query.getG327()), "g327", query.getG327()); + wrapper.eq(ObjectUtil.isNotNull(query.getG328()), "g328", query.getG328()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getG705()), "g705", query.getG705()); + wrapper.eq(ObjectUtil.isNotNull(query.getG903()), "g903", query.getG903()); + wrapper.eq(ObjectUtil.isNotNull(query.getG904()), "g904", query.getG904()); + wrapper.eq(ObjectUtil.isNotNull(query.getG905()), "g905", query.getG905()); + wrapper.eq(ObjectUtil.isNotNull(query.getG906()), "g906", query.getG906()); + wrapper.eq(ObjectUtil.isNotNull(query.getG947()), "g947", query.getG947()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb00()), "gb00", query.getGb00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb01()), "gb01", query.getGb01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb02()), "gb02", query.getGb02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb03()), "gb03", query.getGb03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb04()), "gb04", query.getGb04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb05()), "gb05", query.getGb05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb06()), "gb06", query.getGb06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb07()), "gb07", query.getGb07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getHq100()), "hq100", query.getHq100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs100()), "hs100", query.getHs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHs101()), "hs101", query.getHs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz100()), "hz100", query.getHz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz101()), "hz101", query.getHz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz102()), "hz102", query.getHz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz103()), "hz103", query.getHz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz105()), "hz105", query.getHz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz106()), "hz106", query.getHz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz107()), "hz107", query.getHz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getHz108()), "hz108", query.getHz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getP103()), "P103", query.getP103()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG103()), "g103", query.getG103()); + wrapper.eq(ObjectUtil.isNotNull(query.getG203()), "g203", query.getG203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG204()), "g204", query.getG204()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsHourQuery.java new file mode 100644 index 0000000..88dd8d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsHourQuery.java @@ -0,0 +1,240 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevFsHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-垃圾焚烧-小时 保存设备的小时数据对象 mon_dev_fs_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + private String fz100; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String fz101; + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + private String fz104; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + private String fz107; + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + private String g229; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + private String gb15; + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + private String gc15; + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + private String gc16; + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + private String gc31; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + private String gc24; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevFsHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs100()), "fs100", query.getFs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs101()), "fs101", query.getFs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz100()), "fz100", query.getFz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz101()), "fz101", query.getFz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz102()), "fz102", query.getFz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz103()), "fz103", query.getFz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz104()), "fz104", query.getFz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz105()), "fz105", query.getFz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz106()), "fz106", query.getFz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz107()), "fz107", query.getFz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz108()), "fz108", query.getFz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getG229()), "g229", query.getG229()); + wrapper.eq(ObjectUtil.isNotNull(query.getG230()), "g230", query.getG230()); + wrapper.eq(ObjectUtil.isNotNull(query.getG231()), "g231", query.getG231()); + wrapper.eq(ObjectUtil.isNotNull(query.getG232()), "g232", query.getG232()); + wrapper.eq(ObjectUtil.isNotNull(query.getG233()), "g233", query.getG233()); + wrapper.eq(ObjectUtil.isNotNull(query.getG234()), "g234", query.getG234()); + wrapper.eq(ObjectUtil.isNotNull(query.getG332()), "g332", query.getG332()); + wrapper.eq(ObjectUtil.isNotNull(query.getG333()), "g333", query.getG333()); + wrapper.eq(ObjectUtil.isNotNull(query.getG334()), "g334", query.getG334()); + wrapper.eq(ObjectUtil.isNotNull(query.getG335()), "g335", query.getG335()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getGa04()), "ga04", query.getGa04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb14()), "gb14", query.getGb14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb15()), "gb15", query.getGb15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb16()), "gb16", query.getGb16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb17()), "gb17", query.getGb17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb18()), "gb18", query.getGb18()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb19()), "gb19", query.getGb19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc00()), "gc00", query.getGc00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc01()), "gc01", query.getGc01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc02()), "gc02", query.getGc02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc03()), "gc03", query.getGc03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc04()), "gc04", query.getGc04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc05()), "gc05", query.getGc05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc06()), "gc06", query.getGc06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc07()), "gc07", query.getGc07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc08()), "gc08", query.getGc08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc09()), "gc09", query.getGc09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc10()), "gc10", query.getGc10()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc11()), "gc11", query.getGc11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc12()), "gc12", query.getGc12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc13()), "gc13", query.getGc13()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc14()), "gc14", query.getGc14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc15()), "gc15", query.getGc15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc16()), "gc16", query.getGc16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc17()), "gc17", query.getGc17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc19()), "gc19", query.getGc19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc20()), "gc20", query.getGc20()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc21()), "gc21", query.getGc21()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc22()), "gc22", query.getGc22()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc23()), "gc23", query.getGc23()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc25()), "gc25", query.getGc25()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc26()), "gc26", query.getGc26()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc27()), "gc27", query.getGc27()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc28()), "gc28", query.getGc28()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc29()), "gc29", query.getGc29()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc30()), "gc30", query.getGc30()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc31()), "gc31", query.getGc31()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc24()), "gc24", query.getGc24()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.java new file mode 100644 index 0000000..785fe55 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.java @@ -0,0 +1,240 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevFsOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据对象 mon_dev_fs_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + private String fz100; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String fz101; + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + private String fz104; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + private String fz107; + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + private String g229; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + private String gb15; + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + private String gc15; + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + private String gc16; + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + private String gc31; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + private String gc24; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevFsOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs100()), "fs100", query.getFs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs101()), "fs101", query.getFs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz100()), "fz100", query.getFz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz101()), "fz101", query.getFz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz102()), "fz102", query.getFz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz103()), "fz103", query.getFz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz104()), "fz104", query.getFz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz105()), "fz105", query.getFz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz106()), "fz106", query.getFz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz107()), "fz107", query.getFz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz108()), "fz108", query.getFz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getG229()), "g229", query.getG229()); + wrapper.eq(ObjectUtil.isNotNull(query.getG230()), "g230", query.getG230()); + wrapper.eq(ObjectUtil.isNotNull(query.getG231()), "g231", query.getG231()); + wrapper.eq(ObjectUtil.isNotNull(query.getG232()), "g232", query.getG232()); + wrapper.eq(ObjectUtil.isNotNull(query.getG233()), "g233", query.getG233()); + wrapper.eq(ObjectUtil.isNotNull(query.getG234()), "g234", query.getG234()); + wrapper.eq(ObjectUtil.isNotNull(query.getG332()), "g332", query.getG332()); + wrapper.eq(ObjectUtil.isNotNull(query.getG333()), "g333", query.getG333()); + wrapper.eq(ObjectUtil.isNotNull(query.getG334()), "g334", query.getG334()); + wrapper.eq(ObjectUtil.isNotNull(query.getG335()), "g335", query.getG335()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getGa04()), "ga04", query.getGa04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb14()), "gb14", query.getGb14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb15()), "gb15", query.getGb15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb16()), "gb16", query.getGb16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb17()), "gb17", query.getGb17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb18()), "gb18", query.getGb18()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb19()), "gb19", query.getGb19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc00()), "gc00", query.getGc00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc01()), "gc01", query.getGc01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc02()), "gc02", query.getGc02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc03()), "gc03", query.getGc03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc04()), "gc04", query.getGc04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc05()), "gc05", query.getGc05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc06()), "gc06", query.getGc06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc07()), "gc07", query.getGc07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc08()), "gc08", query.getGc08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc09()), "gc09", query.getGc09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc10()), "gc10", query.getGc10()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc11()), "gc11", query.getGc11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc12()), "gc12", query.getGc12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc13()), "gc13", query.getGc13()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc14()), "gc14", query.getGc14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc15()), "gc15", query.getGc15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc16()), "gc16", query.getGc16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc17()), "gc17", query.getGc17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc19()), "gc19", query.getGc19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc20()), "gc20", query.getGc20()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc21()), "gc21", query.getGc21()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc22()), "gc22", query.getGc22()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc23()), "gc23", query.getGc23()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc25()), "gc25", query.getGc25()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc26()), "gc26", query.getGc26()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc27()), "gc27", query.getGc27()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc28()), "gc28", query.getGc28()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc29()), "gc29", query.getGc29()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc30()), "gc30", query.getGc30()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc31()), "gc31", query.getGc31()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc24()), "gc24", query.getGc24()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsRealQuery.java new file mode 100644 index 0000000..b08f785 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevFsRealQuery.java @@ -0,0 +1,240 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevFsReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-垃圾焚烧-实时 保存设备的实时数据对象 mon_dev_fs_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-垃圾焚烧-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevFsRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "传输系统垃圾处理量 单位: kg/h") + private String fs100; + @ApiModelProperty(value = "焚烧炉炉膛温度 单位: ℃") + private String fs101; + @ApiModelProperty(value = "脱硝烟气温度 单位: ℃") + private String fz100; + @ApiModelProperty(value = "脱硝还原剂用量 单位: m3/h") + private String fz101; + @ApiModelProperty(value = "脱硫半干法石灰浆用量 单位: kg/h") + private String fz102; + @ApiModelProperty(value = "脱硫干法石灰石耗量 单位: kg/h") + private String fz103; + @ApiModelProperty(value = "脱硫吸收塔内浆液pH值") + private String fz104; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位: A") + private String fz105; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 单位: 1=运行,0=停止") + private String fz106; + @ApiModelProperty(value = "活性炭用量 单位: kg/h") + private String fz107; + @ApiModelProperty(value = "袋式除尘器进出口压差 单位: Pa") + private String fz108; + @ApiModelProperty(value = "脱酸药剂浆液浓度 单位: %") + private String g229; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_药剂投加速率 单位: kg/h") + private String g230; + @ApiModelProperty(value = "烟气净化单元_半干法脱酸系统_半干法脱酸塔雾化器电流 单位: A") + private String g231; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_湿法脱酸药剂浆液浓度 单位: %") + private String g232; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_投加速率 单位: kg/h") + private String g233; + @ApiModelProperty(value = "烟气净化单元_湿法脱酸系统_脱酸塔排出液 单位: ") + private String g234; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内PNCR脱硝设施_PNCR脱硝剂投加速率 单位: kg/h") + private String g332; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_喷入的脱硝药剂浆液浓度 单位: %") + private String g333; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_投加速率 单位: m3/h") + private String g334; + @ApiModelProperty(value = "烟气净化单元_焚烧炉外SCR脱硝设施_脱硝反应器入口烟气温度 单位: ℃") + private String g335; + @ApiModelProperty(value = "烟气净化单元_袋式除尘器_袋式除尘器烟气进口温度 单位: ℃") + private String g602; + @ApiModelProperty(value = "烟气净化单元_活性炭喷射装置_活性炭喷射风机电流 单位: A") + private String ga04; + @ApiModelProperty(value = "烟气净化单元_干法脱酸系统_干法脱酸剂投加速率千克/小时 单位: kg/h") + private String gb14; + @ApiModelProperty(value = "烟气净化单元_非正常工况(停炉)除臭系统_除臭系统风机风量及电流 单位: A") + private String gb15; + @ApiModelProperty(value = "固体废物处理单元_飞灰_飞灰螯合剂浓度 单位: %") + private String gb16; + @ApiModelProperty(value = "固体废物处理单元_飞灰_每批次螯合剂投加计量 单位: kg") + private String gb17; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_渗滤液处理站臭气收集引风机电流 单位: A") + private String gb18; + @ApiModelProperty(value = "废水处理单元_垃圾渗滤液处理站_曝气风机电流 单位: A") + private String gb19; + @ApiModelProperty(value = "各种入炉燃料进厂量_生活垃圾 单位: kg") + private String gc00; + @ApiModelProperty(value = "各种入炉燃料进厂量_污泥 单位: kg") + private String gc01; + @ApiModelProperty(value = "各种入炉燃料进厂量_一般工业固废 单位: kg") + private String gc02; + @ApiModelProperty(value = "各种入炉燃料进厂量_可入炉的医疗废物 单位: kg") + private String gc03; + @ApiModelProperty(value = "各种入炉燃料进厂量_其它 单位: kg") + private String gc04; + @ApiModelProperty(value = "脱酸剂进厂量_消石灰 单位: kg") + private String gc05; + @ApiModelProperty(value = "脱酸剂进厂量-生石灰 单位: kg") + private String gc06; + @ApiModelProperty(value = "脱酸剂进厂量_碳酸氢钠 单位: kg") + private String gc07; + @ApiModelProperty(value = "脱酸剂进厂量_氢氧化钠 单位: kg") + private String gc08; + @ApiModelProperty(value = "脱酸剂进厂量_其它 单位: kg") + private String gc09; + @ApiModelProperty(value = "危险废物进厂量_飞灰 单位: kg") + private String gc10; + @ApiModelProperty(value = "危险废物进厂量_废油及废油桶 单位: kg") + private String gc11; + @ApiModelProperty(value = "危险废物进厂量_废滤袋 单位: kg") + private String gc12; + @ApiModelProperty(value = "垃圾及其危险废物进厂量_废钒钛系催化剂 单位: kg") + private String gc13; + @ApiModelProperty(value = "危险废物进厂量_实验室废液 单位: kg") + private String gc14; + @ApiModelProperty(value = "危险废物进厂量_其它 单位: kg") + private String gc15; + @ApiModelProperty(value = "炉渣出厂量千克 单位: kg") + private String gc16; + @ApiModelProperty(value = "垃圾及其它物料接收贮存单元_垃圾池压力计_垃圾池负压数值千帕 单位: kpa") + private String gc17; + @ApiModelProperty(value = "垃圾焚烧单元_炉前垃圾给料系统_推料器位移行程米 单位: m") + private String gc19; + @ApiModelProperty(value = "落料密封门开停信号 单位: 1=运行,0=停止") + private String gc20; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_标记 单位: 1=运行,0=停止") + private String gc21; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_开始时间") + private String gc22; + @ApiModelProperty(value = "垃圾焚烧单元_焚烧工况_截止时间") + private String gc23; + @ApiModelProperty(value = "垃圾焚烧单元_炉膛内热电偶_炉膛压力剂_炉膛内负压 单位: kpa") + private String gc25; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机流量 单位: m3/h") + private String gc26; + @ApiModelProperty(value = "垃圾焚烧单元_一次风系统_炉膛压力剂_一次风风机电流 单位: A") + private String gc27; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机流量 单位: m3/h") + private String gc28; + @ApiModelProperty(value = "垃圾焚烧单元_二次风系统_炉膛压力剂_二次风风机电流安 单位: A") + private String gc29; + @ApiModelProperty(value = "垃圾焚烧单元_余热锅炉系统_余热锅炉出口烟气温度 单位: ℃") + private String gc30; + @ApiModelProperty(value = "烟气净化单元_焚烧炉内SNCR脱硝设施_脱硝剂(氨水、尿素等)浆液浓度 单位: %") + private String gc31; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "炉膛内中部和上部温度(5 分钟均值)") + private String gc24; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevFsRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs100()), "fs100", query.getFs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFs101()), "fs101", query.getFs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz100()), "fz100", query.getFz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz101()), "fz101", query.getFz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz102()), "fz102", query.getFz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz103()), "fz103", query.getFz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz104()), "fz104", query.getFz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz105()), "fz105", query.getFz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz106()), "fz106", query.getFz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz107()), "fz107", query.getFz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getFz108()), "fz108", query.getFz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getG229()), "g229", query.getG229()); + wrapper.eq(ObjectUtil.isNotNull(query.getG230()), "g230", query.getG230()); + wrapper.eq(ObjectUtil.isNotNull(query.getG231()), "g231", query.getG231()); + wrapper.eq(ObjectUtil.isNotNull(query.getG232()), "g232", query.getG232()); + wrapper.eq(ObjectUtil.isNotNull(query.getG233()), "g233", query.getG233()); + wrapper.eq(ObjectUtil.isNotNull(query.getG234()), "g234", query.getG234()); + wrapper.eq(ObjectUtil.isNotNull(query.getG332()), "g332", query.getG332()); + wrapper.eq(ObjectUtil.isNotNull(query.getG333()), "g333", query.getG333()); + wrapper.eq(ObjectUtil.isNotNull(query.getG334()), "g334", query.getG334()); + wrapper.eq(ObjectUtil.isNotNull(query.getG335()), "g335", query.getG335()); + wrapper.eq(ObjectUtil.isNotNull(query.getG602()), "g602", query.getG602()); + wrapper.eq(ObjectUtil.isNotNull(query.getGa04()), "ga04", query.getGa04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb14()), "gb14", query.getGb14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb15()), "gb15", query.getGb15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb16()), "gb16", query.getGb16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb17()), "gb17", query.getGb17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb18()), "gb18", query.getGb18()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb19()), "gb19", query.getGb19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc00()), "gc00", query.getGc00()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc01()), "gc01", query.getGc01()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc02()), "gc02", query.getGc02()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc03()), "gc03", query.getGc03()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc04()), "gc04", query.getGc04()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc05()), "gc05", query.getGc05()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc06()), "gc06", query.getGc06()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc07()), "gc07", query.getGc07()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc08()), "gc08", query.getGc08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc09()), "gc09", query.getGc09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc10()), "gc10", query.getGc10()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc11()), "gc11", query.getGc11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc12()), "gc12", query.getGc12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc13()), "gc13", query.getGc13()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc14()), "gc14", query.getGc14()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc15()), "gc15", query.getGc15()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc16()), "gc16", query.getGc16()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc17()), "gc17", query.getGc17()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc19()), "gc19", query.getGc19()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc20()), "gc20", query.getGc20()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc21()), "gc21", query.getGc21()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc22()), "gc22", query.getGc22()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc23()), "gc23", query.getGc23()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc25()), "gc25", query.getGc25()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc26()), "gc26", query.getGc26()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc27()), "gc27", query.getGc27()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc28()), "gc28", query.getGc28()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc29()), "gc29", query.getGc29()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc30()), "gc30", query.getGc30()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc31()), "gc31", query.getGc31()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getGc24()), "gc24", query.getGc24()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevHourQuery.java new file mode 100644 index 0000000..2ecc58c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevHourQuery.java @@ -0,0 +1,444 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "装煤时间") + private String zmTime; + @ApiModelProperty(value = "推焦时间") + private String tmTime; + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + private String p1; + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + private String p2; + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + private String p3; + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + private String p4; + @ApiModelProperty(value = "烟气流量-in") + private String flowIn; + @ApiModelProperty(value = "温度-in") + private String tempIn; + @ApiModelProperty(value = "NOx-in") + private String noxIn; + @ApiModelProperty(value = "颗粒物-in") + private String pmIn; + @ApiModelProperty(value = "SO2-in") + private String so2In; + @ApiModelProperty(value = "烟气流量-out") + private String flowOut; + @ApiModelProperty(value = "温度-out") + private String tempOut; + @ApiModelProperty(value = "NOx-out") + private String noxOut; + @ApiModelProperty(value = "含氧量-out") + private String o2Out; + @ApiModelProperty(value = "颗粒物-out") + private String pmOut; + @ApiModelProperty(value = "SO2-out") + private String so2Out; + @ApiModelProperty(value = "脱硫剂使用量") + private String tljVol; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjVol; + @ApiModelProperty(value = "SO2-除尘1") + private String so2Cc1; + @ApiModelProperty(value = "颗粒物-除尘1") + private String pmCc1; + @ApiModelProperty(value = "风机电流-除尘1") + private String windElecCc1; + @ApiModelProperty(value = "除尘器风量-除尘1") + private String windVolCc1; + @ApiModelProperty(value = "SO2-除尘2") + private String so2Cc2; + @ApiModelProperty(value = "颗粒物-除尘2") + private String pmCc2; + @ApiModelProperty(value = "风机电流-除尘2") + private String windElecCc2; + @ApiModelProperty(value = "除尘器风量-除尘2") + private String windVolCc2; + @ApiModelProperty(value = "风机电流-除尘3") + private String windElecCc3; + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + private String mq1; + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + private String mq2; + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + private String mq3; + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + private String mq4; + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + private String mq5; + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + private String mq6; + @ApiModelProperty(value = "脱硫剂仓料(液)位") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + private String g329; + @ApiModelProperty(value = "静电除尘器一次电压") + private String g501; + @ApiModelProperty(value = "静电除尘器一次电流") + private String g502; + @ApiModelProperty(value = "静电除尘器二次电压") + private String g503; + @ApiModelProperty(value = "静电除尘器二次电流") + private String g504; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "清灰周期") + private String g605; + @ApiModelProperty(value = "电机电流") + private String g606; + @ApiModelProperty(value = "风门开度") + private String g912; + @ApiModelProperty(value = "烧结矿产量") + private String g914; + @ApiModelProperty(value = "皮带秤作业时间") + private String g915; + @ApiModelProperty(value = "皮带秤配料量") + private String g916; + @ApiModelProperty(value = "料层厚度") + private String g917; + @ApiModelProperty(value = "燃料(煤气)流量") + private String g921; + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + private String g926; + @ApiModelProperty(value = "矿槽称量漏斗装料量") + private String g927; + @ApiModelProperty(value = "出铁时间") + private String g928; + @ApiModelProperty(value = "出铁量") + private String g929; + @ApiModelProperty(value = "热风炉鼓风量") + private String g930; + @ApiModelProperty(value = "出铁量") + private String g931; + @ApiModelProperty(value = "煤气使用量") + private String g932; + @ApiModelProperty(value = "加料时间") + private String g935; + @ApiModelProperty(value = "加铁水量") + private String g936; + @ApiModelProperty(value = "加废钢量") + private String g937; + @ApiModelProperty(value = "出钢量") + private String g938; + @ApiModelProperty(value = "出渣量") + private String g939; + @ApiModelProperty(value = "石灰窑温度") + private String g941; + @ApiModelProperty(value = "主蒸汽流量") + private String g942; + @ApiModelProperty(value = "高炉煤气") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数") + private String g945; + @ApiModelProperty(value = "转炉煤气") + private String g993; + @ApiModelProperty(value = "焦炉煤气") + private String g994; + @ApiModelProperty(value = "其它燃料量") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量") + private String gb08; + @ApiModelProperty(value = "半干发脱硫剂使用量") + private String gb09; + @ApiModelProperty(value = "数据标志") + private String flowInFlag; + @ApiModelProperty(value = "数据标志") + private String tempInFlag; + @ApiModelProperty(value = "数据标志") + private String noxInFlag; + @ApiModelProperty(value = "数据标志") + private String pmInFlag; + @ApiModelProperty(value = "数据标志") + private String so2InFlag; + @ApiModelProperty(value = "数据标志") + private String flowOutFlag; + @ApiModelProperty(value = "数据标志") + private String tempOutFlag; + @ApiModelProperty(value = "数据标志") + private String noxOutFlag; + @ApiModelProperty(value = "数据标志") + private String o2OutFlag; + @ApiModelProperty(value = "数据标志") + private String pmOutFlag; + @ApiModelProperty(value = "数据标志") + private String so2OutFlag; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "烟气-排放量") + private String flowOutTotal; + @ApiModelProperty(value = "NOx-排放量") + private String noxOutTotal; + @ApiModelProperty(value = "氧气-排放量") + private String o2OutTotal; + @ApiModelProperty(value = "颗粒物-排放量") + private String pmOutTotal; + @ApiModelProperty(value = "SO2-排放量") + private String so2OutTotal; + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + private String zlProduct; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "煤气使用量") + private String b104; + @ApiModelProperty(value = "脱硝剂使用量") + private String g313; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "风机流量") + private String g330; + @ApiModelProperty(value = "风机电流") + private String g604; + @ApiModelProperty(value = "燃料瞬时流量") + private String g943; + @ApiModelProperty(value = "装煤量") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "装载量") + private String g957; + @ApiModelProperty(value = "提升机电流") + private String g958; + @ApiModelProperty(value = "地面放散口压力") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量") + private String g963; + @ApiModelProperty(value = "洗油使用量") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量") + private String g965; + @ApiModelProperty(value = "粗苯外送量") + private String g966; + @ApiModelProperty(value = "塔釜温度") + private String g967; + @ApiModelProperty(value = "洗油外送量") + private String g968; + @ApiModelProperty(value = "压力") + private String g969; + @ApiModelProperty(value = "液位") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力") + private String g971; + @ApiModelProperty(value = "(风机后)煤气管压力") + private String g972; + @ApiModelProperty(value = "外供煤气流量") + private String g973; + @ApiModelProperty(value = "煤气柜容量") + private String g974; + @ApiModelProperty(value = "气柜高度") + private String g975; + @ApiModelProperty(value = "气柜压力") + private String g976; + @ApiModelProperty(value = "水封液位高度") + private String g977; + @ApiModelProperty(value = "压力") + private String g978; + @ApiModelProperty(value = "流量") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位") + private String g981; + @ApiModelProperty(value = "温度") + private String g982; + @ApiModelProperty(value = "碱洗塔碱液使用量") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量") + private String gb12; + @ApiModelProperty(value = "洗油塔洗油使用量") + private String gb13; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getZmTime()), "zm_time", query.getZmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTmTime()), "tm_time", query.getTmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getP1()), "p1", query.getP1()); + wrapper.eq(ObjectUtil.isNotNull(query.getP2()), "p2", query.getP2()); + wrapper.eq(ObjectUtil.isNotNull(query.getP3()), "p3", query.getP3()); + wrapper.eq(ObjectUtil.isNotNull(query.getP4()), "p4", query.getP4()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowIn()), "flow_in", query.getFlowIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempIn()), "temp_in", query.getTempIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxIn()), "nox_in", query.getNoxIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmIn()), "pm_in", query.getPmIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2In()), "so2_in", query.getSo2In()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOut()), "flow_out", query.getFlowOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOut()), "temp_out", query.getTempOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOut()), "nox_out", query.getNoxOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2Out()), "o2_out", query.getO2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOut()), "pm_out", query.getPmOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Out()), "so2_out", query.getSo2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getTljVol()), "tlj_vol", query.getTljVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjVol()), "txj_vol", query.getTxjVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc1()), "so2_cc1", query.getSo2Cc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc1()), "pm_cc1", query.getPmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc1()), "wind_elec_cc1", query.getWindElecCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc1()), "wind_vol_cc1", query.getWindVolCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc2()), "so2_cc2", query.getSo2Cc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc2()), "pm_cc2", query.getPmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc2()), "wind_elec_cc2", query.getWindElecCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc2()), "wind_vol_cc2", query.getWindVolCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc3()), "wind_elec_cc3", query.getWindElecCc3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq1()), "mq1", query.getMq1()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq2()), "mq2", query.getMq2()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq3()), "mq3", query.getMq3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq4()), "mq4", query.getMq4()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq5()), "mq5", query.getMq5()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq6()), "mq6", query.getMq6()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG912()), "g912", query.getG912()); + wrapper.eq(ObjectUtil.isNotNull(query.getG914()), "g914", query.getG914()); + wrapper.eq(ObjectUtil.isNotNull(query.getG915()), "g915", query.getG915()); + wrapper.eq(ObjectUtil.isNotNull(query.getG916()), "g916", query.getG916()); + wrapper.eq(ObjectUtil.isNotNull(query.getG917()), "g917", query.getG917()); + wrapper.eq(ObjectUtil.isNotNull(query.getG921()), "g921", query.getG921()); + wrapper.eq(ObjectUtil.isNotNull(query.getG926()), "g926", query.getG926()); + wrapper.eq(ObjectUtil.isNotNull(query.getG927()), "g927", query.getG927()); + wrapper.eq(ObjectUtil.isNotNull(query.getG928()), "g928", query.getG928()); + wrapper.eq(ObjectUtil.isNotNull(query.getG929()), "g929", query.getG929()); + wrapper.eq(ObjectUtil.isNotNull(query.getG930()), "g930", query.getG930()); + wrapper.eq(ObjectUtil.isNotNull(query.getG931()), "g931", query.getG931()); + wrapper.eq(ObjectUtil.isNotNull(query.getG932()), "g932", query.getG932()); + wrapper.eq(ObjectUtil.isNotNull(query.getG935()), "g935", query.getG935()); + wrapper.eq(ObjectUtil.isNotNull(query.getG936()), "g936", query.getG936()); + wrapper.eq(ObjectUtil.isNotNull(query.getG937()), "g937", query.getG937()); + wrapper.eq(ObjectUtil.isNotNull(query.getG938()), "g938", query.getG938()); + wrapper.eq(ObjectUtil.isNotNull(query.getG939()), "g939", query.getG939()); + wrapper.eq(ObjectUtil.isNotNull(query.getG941()), "g941", query.getG941()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowInFlag()), "flow_in_flag", query.getFlowInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempInFlag()), "temp_in_flag", query.getTempInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxInFlag()), "nox_in_flag", query.getNoxInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmInFlag()), "pm_in_flag", query.getPmInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2InFlag()), "so2_in_flag", query.getSo2InFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutFlag()), "flow_out_flag", query.getFlowOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOutFlag()), "temp_out_flag", query.getTempOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutFlag()), "nox_out_flag", query.getNoxOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutFlag()), "o2_out_flag", query.getO2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutFlag()), "pm_out_flag", query.getPmOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutFlag()), "so2_out_flag", query.getSo2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutTotal()), "flow_out_total", query.getFlowOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutTotal()), "nox_out_total", query.getNoxOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutTotal()), "o2_out_total", query.getO2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutTotal()), "pm_out_total", query.getPmOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutTotal()), "so2_out_total", query.getSo2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getZlProduct()), "zl_product", query.getZlProduct()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getB104()), "b104", query.getB104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhHourQuery.java new file mode 100644 index 0000000..3d07f3a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhHourQuery.java @@ -0,0 +1,342 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevJhHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-焦化-小时 保存设备的小时数据对象 mon_dev_jh_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + private String js100; + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + private String js101; + @ApiModelProperty(value = "装煤车电流 单位:A") + private String js102; + @ApiModelProperty(value = "推焦车电流 单位:A") + private String js103; + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String js104; + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + private String jz100; + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String jz101; + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String jz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String jz103; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String jz105; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String jz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + private String jz109; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String jz110; + @ApiModelProperty(value = "放散流量 单位:m3/h") + private String js200; + @ApiModelProperty(value = "放散温度 单位 ℃,") + private String js201; + @ApiModelProperty(value = "放散流速 单位:m/s") + private String js202; + @ApiModelProperty(value = "放散压力 单位:KPa") + private String js203; + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String g329; + @ApiModelProperty(value = "风机流量 单位:m3/h") + private String g330; + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + @ApiModelProperty(value = "电机电流 单位:A") + private String g606; + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private String g942; + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private String g943; + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + private String g945; + @ApiModelProperty(value = "计划装煤时间") + private String g949; + @ApiModelProperty(value = "计划装煤量 单位:kg") + private String g951; + @ApiModelProperty(value = "实际装煤量 单位:kg") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "提升机装载量 单位:kg") + private String g957; + @ApiModelProperty(value = "提升机电流 单位:A") + private String g958; + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + private String g960; + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private String g963; + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private String g966; + @ApiModelProperty(value = "塔釜温度 单位:℃") + private String g967; + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private String g968; + @ApiModelProperty(value = "压力 单位:KPa") + private String g969; + @ApiModelProperty(value = "液位 单位:m") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private String g971; + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + private String g972; + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private String g973; + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private String g974; + @ApiModelProperty(value = "气柜高度 单位:m") + private String g975; + @ApiModelProperty(value = "气柜压力 单位:KPa") + private String g976; + @ApiModelProperty(value = "水封液位高度 单位:m") + private String g977; + @ApiModelProperty(value = "压力 单位:KPa") + private String g978; + @ApiModelProperty(value = "流量 单位:m3/h") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位 单位:m") + private String g981; + @ApiModelProperty(value = "温度 单位:℃") + private String g982; + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private String g993; + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private String g994; + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + private String gb09; + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb12; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb13; + @ApiModelProperty(value = "颗粒物浓度1") + private String ppmCc1; + @ApiModelProperty(value = "颗粒物浓度2") + private String ppmCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc1; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "烟气流量") + private String a100; + @ApiModelProperty(value = "含氧量") + private String a101; + @ApiModelProperty(value = "温度") + private String a102; + @ApiModelProperty(value = "颗粒物") + private String a103; + @ApiModelProperty(value = "二氧化硫") + private String a104; + @ApiModelProperty(value = "氮氧化物浓度") + private String a105; + @ApiModelProperty(value = "脱硝剂使用量") + private String a111; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjvol; + @ApiModelProperty(value = "除尘器风量") + private String a120; + @ApiModelProperty(value = "风机电流") + private String a121; + @ApiModelProperty(value = "除尘器风量") + private String a130; + @ApiModelProperty(value = "风机电流") + private String a131; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "湿法脱硫剂使用量") + private String g140; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "颗粒物") + private String g959; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + @ApiModelProperty(value = "颗粒物") + private String j959; + @ApiModelProperty(value = "二氧化硫") + private String j960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevJhHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs100()), "js100", query.getJs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs101()), "js101", query.getJs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs102()), "js102", query.getJs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs103()), "js103", query.getJs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs104()), "js104", query.getJs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz100()), "jz100", query.getJz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz101()), "jz101", query.getJz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz102()), "jz102", query.getJz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz103()), "jz103", query.getJz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz105()), "jz105", query.getJz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz106()), "jz106", query.getJz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz107()), "jz107", query.getJz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz108()), "jz108", query.getJz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz109()), "jz109", query.getJz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz110()), "jz110", query.getJz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs200()), "js200", query.getJs200()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs201()), "js201", query.getJs201()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs202()), "js202", query.getJs202()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs203()), "js203", query.getJs203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG949()), "g949", query.getG949()); + wrapper.eq(ObjectUtil.isNotNull(query.getG951()), "g951", query.getG951()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG960()), "g960", query.getG960()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc1()), "ppm_cc1", query.getPpmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc2()), "ppm_cc2", query.getPpmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc2()), "ppm_unit_cc2", query.getPpmUnitCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc1()), "ppm_unit_cc1", query.getPpmUnitCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA100()), "a100", query.getA100()); + wrapper.eq(ObjectUtil.isNotNull(query.getA101()), "a101", query.getA101()); + wrapper.eq(ObjectUtil.isNotNull(query.getA102()), "a102", query.getA102()); + wrapper.eq(ObjectUtil.isNotNull(query.getA103()), "a103", query.getA103()); + wrapper.eq(ObjectUtil.isNotNull(query.getA104()), "a104", query.getA104()); + wrapper.eq(ObjectUtil.isNotNull(query.getA105()), "a105", query.getA105()); + wrapper.eq(ObjectUtil.isNotNull(query.getA111()), "a111", query.getA111()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjvol()), "txjVol", query.getTxjvol()); + wrapper.eq(ObjectUtil.isNotNull(query.getA120()), "a120", query.getA120()); + wrapper.eq(ObjectUtil.isNotNull(query.getA121()), "a121", query.getA121()); + wrapper.eq(ObjectUtil.isNotNull(query.getA130()), "a130", query.getA130()); + wrapper.eq(ObjectUtil.isNotNull(query.getA131()), "a131", query.getA131()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG959()), "g959", query.getG959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ959()), "j959", query.getJ959()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ960()), "j960", query.getJ960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.java new file mode 100644 index 0000000..cba7d65 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.java @@ -0,0 +1,342 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevJhOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-焦化-其它时间 保存设备的小时以上的数据对象 mon_dev_jh_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + private String js100; + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + private String js101; + @ApiModelProperty(value = "装煤车电流 单位:A") + private String js102; + @ApiModelProperty(value = "推焦车电流 单位:A") + private String js103; + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String js104; + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + private String jz100; + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String jz101; + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String jz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String jz103; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String jz105; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String jz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + private String jz109; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String jz110; + @ApiModelProperty(value = "放散流量 单位:m3/h") + private String js200; + @ApiModelProperty(value = "放散温度 单位 ℃,") + private String js201; + @ApiModelProperty(value = "放散流速 单位:m/s") + private String js202; + @ApiModelProperty(value = "放散压力 单位:KPa") + private String js203; + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String g329; + @ApiModelProperty(value = "风机流量 单位:m3/h") + private String g330; + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + @ApiModelProperty(value = "电机电流 单位:A") + private String g606; + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private String g942; + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private String g943; + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + private String g945; + @ApiModelProperty(value = "计划装煤时间") + private String g949; + @ApiModelProperty(value = "计划装煤量 单位:kg") + private String g951; + @ApiModelProperty(value = "实际装煤量 单位:kg") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "提升机装载量 单位:kg") + private String g957; + @ApiModelProperty(value = "提升机电流 单位:A") + private String g958; + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + private String g960; + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private String g963; + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private String g966; + @ApiModelProperty(value = "塔釜温度 单位:℃") + private String g967; + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private String g968; + @ApiModelProperty(value = "压力 单位:KPa") + private String g969; + @ApiModelProperty(value = "液位 单位:m") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private String g971; + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + private String g972; + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private String g973; + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private String g974; + @ApiModelProperty(value = "气柜高度 单位:m") + private String g975; + @ApiModelProperty(value = "气柜压力 单位:KPa") + private String g976; + @ApiModelProperty(value = "水封液位高度 单位:m") + private String g977; + @ApiModelProperty(value = "压力 单位:KPa") + private String g978; + @ApiModelProperty(value = "流量 单位:m3/h") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位 单位:m") + private String g981; + @ApiModelProperty(value = "温度 单位:℃") + private String g982; + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private String g993; + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private String g994; + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + private String gb09; + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb12; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb13; + @ApiModelProperty(value = "颗粒物浓度1") + private String ppmCc1; + @ApiModelProperty(value = "颗粒物浓度2") + private String ppmCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc1; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "烟气流量") + private String a100; + @ApiModelProperty(value = "含氧量") + private String a101; + @ApiModelProperty(value = "温度") + private String a102; + @ApiModelProperty(value = "颗粒物") + private String a103; + @ApiModelProperty(value = "二氧化硫") + private String a104; + @ApiModelProperty(value = "氮氧化物浓度") + private String a105; + @ApiModelProperty(value = "脱硝剂使用量") + private String a111; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjvol; + @ApiModelProperty(value = "除尘器风量") + private String a120; + @ApiModelProperty(value = "风机电流") + private String a121; + @ApiModelProperty(value = "除尘器风量") + private String a130; + @ApiModelProperty(value = "风机电流") + private String a131; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "湿法脱硫剂使用量") + private String g140; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "颗粒物") + private String g959; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + @ApiModelProperty(value = "颗粒物") + private String j959; + @ApiModelProperty(value = "二氧化硫") + private String j960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevJhOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs100()), "js100", query.getJs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs101()), "js101", query.getJs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs102()), "js102", query.getJs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs103()), "js103", query.getJs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs104()), "js104", query.getJs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz100()), "jz100", query.getJz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz101()), "jz101", query.getJz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz102()), "jz102", query.getJz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz103()), "jz103", query.getJz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz105()), "jz105", query.getJz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz106()), "jz106", query.getJz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz107()), "jz107", query.getJz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz108()), "jz108", query.getJz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz109()), "jz109", query.getJz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz110()), "jz110", query.getJz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs200()), "js200", query.getJs200()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs201()), "js201", query.getJs201()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs202()), "js202", query.getJs202()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs203()), "js203", query.getJs203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG949()), "g949", query.getG949()); + wrapper.eq(ObjectUtil.isNotNull(query.getG951()), "g951", query.getG951()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG960()), "g960", query.getG960()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc1()), "ppm_cc1", query.getPpmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc2()), "ppm_cc2", query.getPpmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc2()), "ppm_unit_cc2", query.getPpmUnitCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc1()), "ppm_unit_cc1", query.getPpmUnitCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA100()), "a100", query.getA100()); + wrapper.eq(ObjectUtil.isNotNull(query.getA101()), "a101", query.getA101()); + wrapper.eq(ObjectUtil.isNotNull(query.getA102()), "a102", query.getA102()); + wrapper.eq(ObjectUtil.isNotNull(query.getA103()), "a103", query.getA103()); + wrapper.eq(ObjectUtil.isNotNull(query.getA104()), "a104", query.getA104()); + wrapper.eq(ObjectUtil.isNotNull(query.getA105()), "a105", query.getA105()); + wrapper.eq(ObjectUtil.isNotNull(query.getA111()), "a111", query.getA111()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjvol()), "txjVol", query.getTxjvol()); + wrapper.eq(ObjectUtil.isNotNull(query.getA120()), "a120", query.getA120()); + wrapper.eq(ObjectUtil.isNotNull(query.getA121()), "a121", query.getA121()); + wrapper.eq(ObjectUtil.isNotNull(query.getA130()), "a130", query.getA130()); + wrapper.eq(ObjectUtil.isNotNull(query.getA131()), "a131", query.getA131()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG959()), "g959", query.getG959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ959()), "j959", query.getJ959()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ960()), "j960", query.getJ960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhRealQuery.java new file mode 100644 index 0000000..bf9d644 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevJhRealQuery.java @@ -0,0 +1,342 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevJhReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-焦化-实时 保存设备的实时数据对象 mon_dev_jh_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-焦化-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevJhRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "装煤时间 1=运行,0=停止") + private String js100; + @ApiModelProperty(value = "推焦时间 1=运行,0=停止") + private String js101; + @ApiModelProperty(value = "装煤车电流 单位:A") + private String js102; + @ApiModelProperty(value = "推焦车电流 单位:A") + private String js103; + @ApiModelProperty(value = "煤气使用量 单位:m3/h") + private String js104; + @ApiModelProperty(value = "布袋除尘器前后压差 单位:kPa") + private String jz100; + @ApiModelProperty(value = "电除尘器二次电流 单位:A") + private String jz101; + @ApiModelProperty(value = "电除尘器二次电压 单位:V") + private String jz102; + @ApiModelProperty(value = "脱硫吸收剂pH值") + private String jz103; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String jz105; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String jz106; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String jz107; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String jz108; + @ApiModelProperty(value = "脱硝烟气温度 单位:℃") + private String jz109; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String jz110; + @ApiModelProperty(value = "放散流量 单位:m3/h") + private String js200; + @ApiModelProperty(value = "放散温度 单位 ℃,") + private String js201; + @ApiModelProperty(value = "放散流速 单位:m/s") + private String js202; + @ApiModelProperty(value = "放散压力 单位:KPa") + private String js203; + @ApiModelProperty(value = "脱硫剂仓料(液)位 单位:m") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位 单位:m") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR 艺) 单位:℃") + private String g329; + @ApiModelProperty(value = "风机流量 单位:m3/h") + private String g330; + @ApiModelProperty(value = "风机电流 单位:A") + private String g604; + @ApiModelProperty(value = "清灰周期 单位:h") + private String g605; + @ApiModelProperty(value = "电机电流 单位:A") + private String g606; + @ApiModelProperty(value = "主蒸汽流量 单位:m3/s") + private String g942; + @ApiModelProperty(value = "燃料瞬时流量 单位:m3/s") + private String g943; + @ApiModelProperty(value = "高炉煤气量 单位:m3/h") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数 单位:个") + private String g945; + @ApiModelProperty(value = "计划装煤时间") + private String g949; + @ApiModelProperty(value = "计划装煤量 单位:kg") + private String g951; + @ApiModelProperty(value = "实际装煤量 单位:kg") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "提升机装载量 单位:kg") + private String g957; + @ApiModelProperty(value = "提升机电流 单位:A") + private String g958; + @ApiModelProperty(value = "SO2浓度 单位:mg/m3") + private String g960; + @ApiModelProperty(value = "地面放散口压力 单位:KPa") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量 单位:m3/h") + private String g963; + @ApiModelProperty(value = "洗油使用量 单位:m3/h") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量 单位:m3/h") + private String g965; + @ApiModelProperty(value = "粗苯外送量 单位:m3/h") + private String g966; + @ApiModelProperty(value = "塔釜温度 单位:℃") + private String g967; + @ApiModelProperty(value = "洗油外送量 单位:m3/h") + private String g968; + @ApiModelProperty(value = "压力 单位:KPa") + private String g969; + @ApiModelProperty(value = "液位 单位:m") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力 单位:KPa") + private String g971; + @ApiModelProperty(value = "风机后煤气管压力 单位:KPa") + private String g972; + @ApiModelProperty(value = "外供煤气流量 单位:m3/h") + private String g973; + @ApiModelProperty(value = "煤气柜容量 单位:m3") + private String g974; + @ApiModelProperty(value = "气柜高度 单位:m") + private String g975; + @ApiModelProperty(value = "气柜压力 单位:KPa") + private String g976; + @ApiModelProperty(value = "水封液位高度 单位:m") + private String g977; + @ApiModelProperty(value = "压力 单位:KPa") + private String g978; + @ApiModelProperty(value = "流量 单位:m3/h") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位 单位:m") + private String g981; + @ApiModelProperty(value = "温度 单位:℃") + private String g982; + @ApiModelProperty(value = "转炉煤气量 单位:m3/h") + private String g993; + @ApiModelProperty(value = "焦炉煤气量 单位:m3/h") + private String g994; + @ApiModelProperty(value = "其它燃料量 单位:m3/h") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量 单位:kg") + private String gb08; + @ApiModelProperty(value = "半干法脱硫剂使用量 单位:kg") + private String gb09; + @ApiModelProperty(value = "酸洗塔碱液使用量 单位:L") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb12; + @ApiModelProperty(value = "酸洗塔酸液使用量 单位:L") + private String gb13; + @ApiModelProperty(value = "颗粒物浓度1") + private String ppmCc1; + @ApiModelProperty(value = "颗粒物浓度2") + private String ppmCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc2; + @ApiModelProperty(value = "颗粒物浓度 单位:mg/m3") + private String ppmUnitCc1; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "烟气流量") + private String a100; + @ApiModelProperty(value = "含氧量") + private String a101; + @ApiModelProperty(value = "温度") + private String a102; + @ApiModelProperty(value = "颗粒物") + private String a103; + @ApiModelProperty(value = "二氧化硫") + private String a104; + @ApiModelProperty(value = "氮氧化物浓度") + private String a105; + @ApiModelProperty(value = "脱硝剂使用量") + private String a111; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjvol; + @ApiModelProperty(value = "除尘器风量") + private String a120; + @ApiModelProperty(value = "风机电流") + private String a121; + @ApiModelProperty(value = "除尘器风量") + private String a130; + @ApiModelProperty(value = "风机电流") + private String a131; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "湿法脱硫剂使用量") + private String g140; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "颗粒物") + private String g959; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + @ApiModelProperty(value = "颗粒物") + private String j959; + @ApiModelProperty(value = "二氧化硫") + private String j960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevJhRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs100()), "js100", query.getJs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs101()), "js101", query.getJs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs102()), "js102", query.getJs102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs103()), "js103", query.getJs103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs104()), "js104", query.getJs104()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz100()), "jz100", query.getJz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz101()), "jz101", query.getJz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz102()), "jz102", query.getJz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz103()), "jz103", query.getJz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz105()), "jz105", query.getJz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz106()), "jz106", query.getJz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz107()), "jz107", query.getJz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz108()), "jz108", query.getJz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz109()), "jz109", query.getJz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getJz110()), "jz110", query.getJz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs200()), "js200", query.getJs200()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs201()), "js201", query.getJs201()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs202()), "js202", query.getJs202()); + wrapper.eq(ObjectUtil.isNotNull(query.getJs203()), "js203", query.getJs203()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG949()), "g949", query.getG949()); + wrapper.eq(ObjectUtil.isNotNull(query.getG951()), "g951", query.getG951()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG960()), "g960", query.getG960()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc1()), "ppm_cc1", query.getPpmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmCc2()), "ppm_cc2", query.getPpmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc2()), "ppm_unit_cc2", query.getPpmUnitCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPpmUnitCc1()), "ppm_unit_cc1", query.getPpmUnitCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA100()), "a100", query.getA100()); + wrapper.eq(ObjectUtil.isNotNull(query.getA101()), "a101", query.getA101()); + wrapper.eq(ObjectUtil.isNotNull(query.getA102()), "a102", query.getA102()); + wrapper.eq(ObjectUtil.isNotNull(query.getA103()), "a103", query.getA103()); + wrapper.eq(ObjectUtil.isNotNull(query.getA104()), "a104", query.getA104()); + wrapper.eq(ObjectUtil.isNotNull(query.getA105()), "a105", query.getA105()); + wrapper.eq(ObjectUtil.isNotNull(query.getA111()), "a111", query.getA111()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjvol()), "txjVol", query.getTxjvol()); + wrapper.eq(ObjectUtil.isNotNull(query.getA120()), "a120", query.getA120()); + wrapper.eq(ObjectUtil.isNotNull(query.getA121()), "a121", query.getA121()); + wrapper.eq(ObjectUtil.isNotNull(query.getA130()), "a130", query.getA130()); + wrapper.eq(ObjectUtil.isNotNull(query.getA131()), "a131", query.getA131()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG959()), "g959", query.getG959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ959()), "j959", query.getJ959()); + wrapper.eq(ObjectUtil.isNotNull(query.getJ960()), "j960", query.getJ960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevOtherQuery.java new file mode 100644 index 0000000..a543657 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevOtherQuery.java @@ -0,0 +1,444 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据(有组织)-其它时间 保存设备的小时以上的数据对象 mon_dev_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "装煤时间") + private String zmTime; + @ApiModelProperty(value = "推焦时间") + private String tmTime; + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + private String p1; + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + private String p2; + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + private String p3; + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + private String p4; + @ApiModelProperty(value = "烟气流量-in") + private String flowIn; + @ApiModelProperty(value = "温度-in") + private String tempIn; + @ApiModelProperty(value = "NOx-in") + private String noxIn; + @ApiModelProperty(value = "颗粒物-in") + private String pmIn; + @ApiModelProperty(value = "SO2-in") + private String so2In; + @ApiModelProperty(value = "烟气流量-out") + private String flowOut; + @ApiModelProperty(value = "温度-out") + private String tempOut; + @ApiModelProperty(value = "NOx-out") + private String noxOut; + @ApiModelProperty(value = "含氧量-out") + private String o2Out; + @ApiModelProperty(value = "颗粒物-out") + private String pmOut; + @ApiModelProperty(value = "SO2-out") + private String so2Out; + @ApiModelProperty(value = "数据标志") + private String flowInFlag; + @ApiModelProperty(value = "数据标志") + private String tempInFlag; + @ApiModelProperty(value = "数据标志") + private String noxInFlag; + @ApiModelProperty(value = "数据标志") + private String pmInFlag; + @ApiModelProperty(value = "数据标志") + private String so2InFlag; + @ApiModelProperty(value = "数据标志") + private String flowOutFlag; + @ApiModelProperty(value = "数据标志") + private String tempOutFlag; + @ApiModelProperty(value = "数据标志") + private String noxOutFlag; + @ApiModelProperty(value = "数据标志") + private String o2OutFlag; + @ApiModelProperty(value = "数据标志") + private String pmOutFlag; + @ApiModelProperty(value = "数据标志") + private String so2OutFlag; + @ApiModelProperty(value = "脱硫剂使用量") + private String tljVol; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjVol; + @ApiModelProperty(value = "SO2-除尘1") + private String so2Cc1; + @ApiModelProperty(value = "颗粒物-除尘1") + private String pmCc1; + @ApiModelProperty(value = "风机电流-除尘1") + private String windElecCc1; + @ApiModelProperty(value = "除尘器风量-除尘1") + private String windVolCc1; + @ApiModelProperty(value = "SO2-除尘2") + private String so2Cc2; + @ApiModelProperty(value = "颗粒物-除尘2") + private String pmCc2; + @ApiModelProperty(value = "风机电流-除尘2") + private String windElecCc2; + @ApiModelProperty(value = "除尘器风量-除尘2") + private String windVolCc2; + @ApiModelProperty(value = "风机电流-除尘3") + private String windElecCc3; + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + private String mq1; + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + private String mq2; + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + private String mq3; + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + private String mq4; + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + private String mq5; + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + private String mq6; + @ApiModelProperty(value = "脱硫剂仓料(液)位") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + private String g329; + @ApiModelProperty(value = "静电除尘器一次电压") + private String g501; + @ApiModelProperty(value = "静电除尘器一次电流") + private String g502; + @ApiModelProperty(value = "静电除尘器二次电压") + private String g503; + @ApiModelProperty(value = "静电除尘器二次电流") + private String g504; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "清灰周期") + private String g605; + @ApiModelProperty(value = "电机电流") + private String g606; + @ApiModelProperty(value = "风门开度") + private String g912; + @ApiModelProperty(value = "烧结矿产量") + private String g914; + @ApiModelProperty(value = "皮带秤作业时间") + private String g915; + @ApiModelProperty(value = "皮带秤配料量") + private String g916; + @ApiModelProperty(value = "料层厚度") + private String g917; + @ApiModelProperty(value = "燃料(煤气)流量") + private String g921; + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + private String g926; + @ApiModelProperty(value = "矿槽称量漏斗装料量") + private String g927; + @ApiModelProperty(value = "出铁时间") + private String g928; + @ApiModelProperty(value = "出铁量") + private String g929; + @ApiModelProperty(value = "热风炉鼓风量") + private String g930; + @ApiModelProperty(value = "出铁量") + private String g931; + @ApiModelProperty(value = "煤气使用量") + private String g932; + @ApiModelProperty(value = "加料时间") + private String g935; + @ApiModelProperty(value = "加铁水量") + private String g936; + @ApiModelProperty(value = "加废钢量") + private String g937; + @ApiModelProperty(value = "出钢量") + private String g938; + @ApiModelProperty(value = "出渣量") + private String g939; + @ApiModelProperty(value = "石灰窑温度") + private String g941; + @ApiModelProperty(value = "主蒸汽流量") + private String g942; + @ApiModelProperty(value = "高炉煤气") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数") + private String g945; + @ApiModelProperty(value = "转炉煤气") + private String g993; + @ApiModelProperty(value = "焦炉煤气") + private String g994; + @ApiModelProperty(value = "其它燃料量") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量") + private String gb08; + @ApiModelProperty(value = "半干发脱硫剂使用量") + private String gb09; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "烟气-排放量") + private String flowOutTotal; + @ApiModelProperty(value = "NOx-排放量") + private String noxOutTotal; + @ApiModelProperty(value = "氧气-排放量") + private String o2OutTotal; + @ApiModelProperty(value = "颗粒物-排放量") + private String pmOutTotal; + @ApiModelProperty(value = "SO2-排放量") + private String so2OutTotal; + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + private String zlProduct; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "煤气使用量") + private String b104; + @ApiModelProperty(value = "脱硝剂使用量") + private String g313; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "风机流量") + private String g330; + @ApiModelProperty(value = "风机电流") + private String g604; + @ApiModelProperty(value = "燃料瞬时流量") + private String g943; + @ApiModelProperty(value = "装煤量") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "装载量") + private String g957; + @ApiModelProperty(value = "提升机电流") + private String g958; + @ApiModelProperty(value = "地面放散口压力") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量") + private String g963; + @ApiModelProperty(value = "洗油使用量") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量") + private String g965; + @ApiModelProperty(value = "粗苯外送量") + private String g966; + @ApiModelProperty(value = "塔釜温度") + private String g967; + @ApiModelProperty(value = "洗油外送量") + private String g968; + @ApiModelProperty(value = "压力") + private String g969; + @ApiModelProperty(value = "液位") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力") + private String g971; + @ApiModelProperty(value = "(风机后)煤气管压力") + private String g972; + @ApiModelProperty(value = "外供煤气流量") + private String g973; + @ApiModelProperty(value = "煤气柜容量") + private String g974; + @ApiModelProperty(value = "气柜高度") + private String g975; + @ApiModelProperty(value = "气柜压力") + private String g976; + @ApiModelProperty(value = "水封液位高度") + private String g977; + @ApiModelProperty(value = "压力") + private String g978; + @ApiModelProperty(value = "流量") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位") + private String g981; + @ApiModelProperty(value = "温度") + private String g982; + @ApiModelProperty(value = "碱洗塔碱液使用量") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量") + private String gb12; + @ApiModelProperty(value = "洗油塔洗油使用量") + private String gb13; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getZmTime()), "zm_time", query.getZmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTmTime()), "tm_time", query.getTmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getP1()), "p1", query.getP1()); + wrapper.eq(ObjectUtil.isNotNull(query.getP2()), "p2", query.getP2()); + wrapper.eq(ObjectUtil.isNotNull(query.getP3()), "p3", query.getP3()); + wrapper.eq(ObjectUtil.isNotNull(query.getP4()), "p4", query.getP4()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowIn()), "flow_in", query.getFlowIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempIn()), "temp_in", query.getTempIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxIn()), "nox_in", query.getNoxIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmIn()), "pm_in", query.getPmIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2In()), "so2_in", query.getSo2In()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOut()), "flow_out", query.getFlowOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOut()), "temp_out", query.getTempOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOut()), "nox_out", query.getNoxOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2Out()), "o2_out", query.getO2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOut()), "pm_out", query.getPmOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Out()), "so2_out", query.getSo2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getTljVol()), "tlj_vol", query.getTljVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjVol()), "txj_vol", query.getTxjVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc1()), "so2_cc1", query.getSo2Cc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc1()), "pm_cc1", query.getPmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc1()), "wind_elec_cc1", query.getWindElecCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc1()), "wind_vol_cc1", query.getWindVolCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc2()), "so2_cc2", query.getSo2Cc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc2()), "pm_cc2", query.getPmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc2()), "wind_elec_cc2", query.getWindElecCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc2()), "wind_vol_cc2", query.getWindVolCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc3()), "wind_elec_cc3", query.getWindElecCc3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq1()), "mq1", query.getMq1()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq2()), "mq2", query.getMq2()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq3()), "mq3", query.getMq3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq4()), "mq4", query.getMq4()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq5()), "mq5", query.getMq5()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq6()), "mq6", query.getMq6()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG912()), "g912", query.getG912()); + wrapper.eq(ObjectUtil.isNotNull(query.getG914()), "g914", query.getG914()); + wrapper.eq(ObjectUtil.isNotNull(query.getG915()), "g915", query.getG915()); + wrapper.eq(ObjectUtil.isNotNull(query.getG916()), "g916", query.getG916()); + wrapper.eq(ObjectUtil.isNotNull(query.getG917()), "g917", query.getG917()); + wrapper.eq(ObjectUtil.isNotNull(query.getG921()), "g921", query.getG921()); + wrapper.eq(ObjectUtil.isNotNull(query.getG926()), "g926", query.getG926()); + wrapper.eq(ObjectUtil.isNotNull(query.getG927()), "g927", query.getG927()); + wrapper.eq(ObjectUtil.isNotNull(query.getG928()), "g928", query.getG928()); + wrapper.eq(ObjectUtil.isNotNull(query.getG929()), "g929", query.getG929()); + wrapper.eq(ObjectUtil.isNotNull(query.getG930()), "g930", query.getG930()); + wrapper.eq(ObjectUtil.isNotNull(query.getG931()), "g931", query.getG931()); + wrapper.eq(ObjectUtil.isNotNull(query.getG932()), "g932", query.getG932()); + wrapper.eq(ObjectUtil.isNotNull(query.getG935()), "g935", query.getG935()); + wrapper.eq(ObjectUtil.isNotNull(query.getG936()), "g936", query.getG936()); + wrapper.eq(ObjectUtil.isNotNull(query.getG937()), "g937", query.getG937()); + wrapper.eq(ObjectUtil.isNotNull(query.getG938()), "g938", query.getG938()); + wrapper.eq(ObjectUtil.isNotNull(query.getG939()), "g939", query.getG939()); + wrapper.eq(ObjectUtil.isNotNull(query.getG941()), "g941", query.getG941()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowInFlag()), "flow_in_flag", query.getFlowInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempInFlag()), "temp_in_flag", query.getTempInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxInFlag()), "nox_in_flag", query.getNoxInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmInFlag()), "pm_in_flag", query.getPmInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2InFlag()), "so2_in_flag", query.getSo2InFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutFlag()), "flow_out_flag", query.getFlowOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOutFlag()), "temp_out_flag", query.getTempOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutFlag()), "nox_out_flag", query.getNoxOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutFlag()), "o2_out_flag", query.getO2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutFlag()), "pm_out_flag", query.getPmOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutFlag()), "so2_out_flag", query.getSo2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutTotal()), "flow_out_total", query.getFlowOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutTotal()), "nox_out_total", query.getNoxOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutTotal()), "o2_out_total", query.getO2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutTotal()), "pm_out_total", query.getPmOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutTotal()), "so2_out_total", query.getSo2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getZlProduct()), "zl_product", query.getZlProduct()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getB104()), "b104", query.getB104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevRealQuery.java new file mode 100644 index 0000000..77a252e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevRealQuery.java @@ -0,0 +1,444 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数对象 mon_dev_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据(有组织)-实时 保存有组织设备的实时数据。p1~pn字段对应各设备的生产过程类参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "装煤时间") + private String zmTime; + @ApiModelProperty(value = "推焦时间") + private String tmTime; + @ApiModelProperty(value = "生产过程参数1 含义因设备而异") + private String p1; + @ApiModelProperty(value = "生产过程参数2 含义因设备而异") + private String p2; + @ApiModelProperty(value = "生产过程参数3 含义因设备而异") + private String p3; + @ApiModelProperty(value = "生产过程参数4 含义因设备而异") + private String p4; + @ApiModelProperty(value = "烟气流量-in") + private String flowIn; + @ApiModelProperty(value = "温度-in") + private String tempIn; + @ApiModelProperty(value = "NOx-in") + private String noxIn; + @ApiModelProperty(value = "颗粒物-in") + private String pmIn; + @ApiModelProperty(value = "SO2-in") + private String so2In; + @ApiModelProperty(value = "烟气流量-out") + private String flowOut; + @ApiModelProperty(value = "温度-out") + private String tempOut; + @ApiModelProperty(value = "NOx-out") + private String noxOut; + @ApiModelProperty(value = "含氧量-out") + private String o2Out; + @ApiModelProperty(value = "颗粒物-out") + private String pmOut; + @ApiModelProperty(value = "SO2-out") + private String so2Out; + @ApiModelProperty(value = "数据标志") + private String flowInFlag; + @ApiModelProperty(value = "数据标志") + private String tempInFlag; + @ApiModelProperty(value = "数据标志") + private String noxInFlag; + @ApiModelProperty(value = "数据标志") + private String pmInFlag; + @ApiModelProperty(value = "数据标志") + private String so2InFlag; + @ApiModelProperty(value = "数据标志") + private String flowOutFlag; + @ApiModelProperty(value = "数据标志") + private String tempOutFlag; + @ApiModelProperty(value = "数据标志") + private String noxOutFlag; + @ApiModelProperty(value = "数据标志") + private String o2OutFlag; + @ApiModelProperty(value = "数据标志") + private String pmOutFlag; + @ApiModelProperty(value = "数据标志") + private String so2OutFlag; + @ApiModelProperty(value = "脱硫剂使用量") + private String tljVol; + @ApiModelProperty(value = "脱硝剂使用量") + private String txjVol; + @ApiModelProperty(value = "SO2-除尘1") + private String so2Cc1; + @ApiModelProperty(value = "颗粒物-除尘1") + private String pmCc1; + @ApiModelProperty(value = "风机电流-除尘1") + private String windElecCc1; + @ApiModelProperty(value = "除尘器风量-除尘1") + private String windVolCc1; + @ApiModelProperty(value = "SO2-除尘2") + private String so2Cc2; + @ApiModelProperty(value = "颗粒物-除尘2") + private String pmCc2; + @ApiModelProperty(value = "风机电流-除尘2") + private String windElecCc2; + @ApiModelProperty(value = "除尘器风量-除尘2") + private String windVolCc2; + @ApiModelProperty(value = "风机电流-除尘3") + private String windElecCc3; + @ApiModelProperty(value = "煤气参数3 含义因设备而异") + private String mq1; + @ApiModelProperty(value = "煤气参数2 含义因设备而异") + private String mq2; + @ApiModelProperty(value = "煤气参数1 含义因设备而异") + private String mq3; + @ApiModelProperty(value = "煤气参数4 含义因设备而异") + private String mq4; + @ApiModelProperty(value = "煤气参数5 含义因设备而异") + private String mq5; + @ApiModelProperty(value = "煤气参数6 含义因设备而异") + private String mq6; + @ApiModelProperty(value = "脱硫剂仓料(液)位") + private String g141; + @ApiModelProperty(value = "脱硝剂仓料(液)位") + private String g314; + @ApiModelProperty(value = "反应器入口烟气温度(SCR工艺)") + private String g329; + @ApiModelProperty(value = "静电除尘器一次电压") + private String g501; + @ApiModelProperty(value = "静电除尘器一次电流") + private String g502; + @ApiModelProperty(value = "静电除尘器二次电压") + private String g503; + @ApiModelProperty(value = "静电除尘器二次电流") + private String g504; + @ApiModelProperty(value = "压差") + private String g601; + @ApiModelProperty(value = "清灰周期") + private String g605; + @ApiModelProperty(value = "电机电流") + private String g606; + @ApiModelProperty(value = "风门开度") + private String g912; + @ApiModelProperty(value = "烧结矿产量") + private String g914; + @ApiModelProperty(value = "皮带秤作业时间") + private String g915; + @ApiModelProperty(value = "皮带秤配料量") + private String g916; + @ApiModelProperty(value = "料层厚度") + private String g917; + @ApiModelProperty(value = "燃料(煤气)流量") + private String g921; + @ApiModelProperty(value = "矿槽称量漏斗作业时间") + private String g926; + @ApiModelProperty(value = "矿槽称量漏斗装料量") + private String g927; + @ApiModelProperty(value = "出铁时间") + private String g928; + @ApiModelProperty(value = "出铁量") + private String g929; + @ApiModelProperty(value = "热风炉鼓风量") + private String g930; + @ApiModelProperty(value = "出铁量") + private String g931; + @ApiModelProperty(value = "煤气使用量") + private String g932; + @ApiModelProperty(value = "加料时间") + private String g935; + @ApiModelProperty(value = "加铁水量") + private String g936; + @ApiModelProperty(value = "加废钢量") + private String g937; + @ApiModelProperty(value = "出钢量") + private String g938; + @ApiModelProperty(value = "出渣量") + private String g939; + @ApiModelProperty(value = "石灰窑温度") + private String g941; + @ApiModelProperty(value = "主蒸汽流量") + private String g942; + @ApiModelProperty(value = "高炉煤气") + private String g944; + @ApiModelProperty(value = "锅炉累计运行小时数") + private String g945; + @ApiModelProperty(value = "转炉煤气") + private String g993; + @ApiModelProperty(value = "焦炉煤气") + private String g994; + @ApiModelProperty(value = "其它燃料量") + private String g995; + @ApiModelProperty(value = "干法脱硫剂使用量") + private String gb08; + @ApiModelProperty(value = "半干发脱硫剂使用量") + private String gb09; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "烟气-排放量") + private String flowOutTotal; + @ApiModelProperty(value = "NOx-排放量") + private String noxOutTotal; + @ApiModelProperty(value = "氧气-排放量") + private String o2OutTotal; + @ApiModelProperty(value = "颗粒物-排放量") + private String pmOutTotal; + @ApiModelProperty(value = "SO2-排放量") + private String so2OutTotal; + @ApiModelProperty(value = "转炉-产量 =炉数*容量") + private String zlProduct; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "除尘器风量") + private String a140; + @ApiModelProperty(value = "风机电流") + private String a141; + @ApiModelProperty(value = "煤气使用量") + private String b104; + @ApiModelProperty(value = "脱硝剂使用量") + private String g313; + @ApiModelProperty(value = "脱硝入口压力") + private String g318; + @ApiModelProperty(value = "脱硝出口压力") + private String g325; + @ApiModelProperty(value = "风机流量") + private String g330; + @ApiModelProperty(value = "风机电流") + private String g604; + @ApiModelProperty(value = "燃料瞬时流量") + private String g943; + @ApiModelProperty(value = "装煤量") + private String g952; + @ApiModelProperty(value = "提升机作业时间") + private String g956; + @ApiModelProperty(value = "装载量") + private String g957; + @ApiModelProperty(value = "提升机电流") + private String g958; + @ApiModelProperty(value = "地面放散口压力") + private String g961; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g962; + @ApiModelProperty(value = "硫酸使用量") + private String g963; + @ApiModelProperty(value = "洗油使用量") + private String g964; + @ApiModelProperty(value = "脱苯塔塔顶回流量") + private String g965; + @ApiModelProperty(value = "粗苯外送量") + private String g966; + @ApiModelProperty(value = "塔釜温度") + private String g967; + @ApiModelProperty(value = "洗油外送量") + private String g968; + @ApiModelProperty(value = "压力") + private String g969; + @ApiModelProperty(value = "液位") + private String g970; + @ApiModelProperty(value = "负压煤气管网压力") + private String g971; + @ApiModelProperty(value = "(风机后)煤气管压力") + private String g972; + @ApiModelProperty(value = "外供煤气流量") + private String g973; + @ApiModelProperty(value = "煤气柜容量") + private String g974; + @ApiModelProperty(value = "气柜高度") + private String g975; + @ApiModelProperty(value = "气柜压力") + private String g976; + @ApiModelProperty(value = "水封液位高度") + private String g977; + @ApiModelProperty(value = "压力") + private String g978; + @ApiModelProperty(value = "流量") + private String g979; + @ApiModelProperty(value = "火炬点火器启动记录") + private String g980; + @ApiModelProperty(value = "液位") + private String g981; + @ApiModelProperty(value = "温度") + private String g982; + @ApiModelProperty(value = "碱洗塔碱液使用量") + private String gb11; + @ApiModelProperty(value = "酸洗塔酸液使用量") + private String gb12; + @ApiModelProperty(value = "洗油塔洗油使用量") + private String gb13; + @ApiModelProperty(value = "颗粒物") + private String h959; + @ApiModelProperty(value = "二氧化硫") + private String h960; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getZmTime()), "zm_time", query.getZmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTmTime()), "tm_time", query.getTmTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getP1()), "p1", query.getP1()); + wrapper.eq(ObjectUtil.isNotNull(query.getP2()), "p2", query.getP2()); + wrapper.eq(ObjectUtil.isNotNull(query.getP3()), "p3", query.getP3()); + wrapper.eq(ObjectUtil.isNotNull(query.getP4()), "p4", query.getP4()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowIn()), "flow_in", query.getFlowIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempIn()), "temp_in", query.getTempIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxIn()), "nox_in", query.getNoxIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmIn()), "pm_in", query.getPmIn()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2In()), "so2_in", query.getSo2In()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOut()), "flow_out", query.getFlowOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOut()), "temp_out", query.getTempOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOut()), "nox_out", query.getNoxOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2Out()), "o2_out", query.getO2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOut()), "pm_out", query.getPmOut()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Out()), "so2_out", query.getSo2Out()); + wrapper.eq(ObjectUtil.isNotNull(query.getTljVol()), "tlj_vol", query.getTljVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getTxjVol()), "txj_vol", query.getTxjVol()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc1()), "so2_cc1", query.getSo2Cc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc1()), "pm_cc1", query.getPmCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc1()), "wind_elec_cc1", query.getWindElecCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc1()), "wind_vol_cc1", query.getWindVolCc1()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Cc2()), "so2_cc2", query.getSo2Cc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmCc2()), "pm_cc2", query.getPmCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc2()), "wind_elec_cc2", query.getWindElecCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindVolCc2()), "wind_vol_cc2", query.getWindVolCc2()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindElecCc3()), "wind_elec_cc3", query.getWindElecCc3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq1()), "mq1", query.getMq1()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq2()), "mq2", query.getMq2()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq3()), "mq3", query.getMq3()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq4()), "mq4", query.getMq4()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq5()), "mq5", query.getMq5()); + wrapper.eq(ObjectUtil.isNotNull(query.getMq6()), "mq6", query.getMq6()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG606()), "g606", query.getG606()); + wrapper.eq(ObjectUtil.isNotNull(query.getG912()), "g912", query.getG912()); + wrapper.eq(ObjectUtil.isNotNull(query.getG914()), "g914", query.getG914()); + wrapper.eq(ObjectUtil.isNotNull(query.getG915()), "g915", query.getG915()); + wrapper.eq(ObjectUtil.isNotNull(query.getG916()), "g916", query.getG916()); + wrapper.eq(ObjectUtil.isNotNull(query.getG917()), "g917", query.getG917()); + wrapper.eq(ObjectUtil.isNotNull(query.getG921()), "g921", query.getG921()); + wrapper.eq(ObjectUtil.isNotNull(query.getG926()), "g926", query.getG926()); + wrapper.eq(ObjectUtil.isNotNull(query.getG927()), "g927", query.getG927()); + wrapper.eq(ObjectUtil.isNotNull(query.getG928()), "g928", query.getG928()); + wrapper.eq(ObjectUtil.isNotNull(query.getG929()), "g929", query.getG929()); + wrapper.eq(ObjectUtil.isNotNull(query.getG930()), "g930", query.getG930()); + wrapper.eq(ObjectUtil.isNotNull(query.getG931()), "g931", query.getG931()); + wrapper.eq(ObjectUtil.isNotNull(query.getG932()), "g932", query.getG932()); + wrapper.eq(ObjectUtil.isNotNull(query.getG935()), "g935", query.getG935()); + wrapper.eq(ObjectUtil.isNotNull(query.getG936()), "g936", query.getG936()); + wrapper.eq(ObjectUtil.isNotNull(query.getG937()), "g937", query.getG937()); + wrapper.eq(ObjectUtil.isNotNull(query.getG938()), "g938", query.getG938()); + wrapper.eq(ObjectUtil.isNotNull(query.getG939()), "g939", query.getG939()); + wrapper.eq(ObjectUtil.isNotNull(query.getG941()), "g941", query.getG941()); + wrapper.eq(ObjectUtil.isNotNull(query.getG942()), "g942", query.getG942()); + wrapper.eq(ObjectUtil.isNotNull(query.getG944()), "g944", query.getG944()); + wrapper.eq(ObjectUtil.isNotNull(query.getG945()), "g945", query.getG945()); + wrapper.eq(ObjectUtil.isNotNull(query.getG993()), "g993", query.getG993()); + wrapper.eq(ObjectUtil.isNotNull(query.getG994()), "g994", query.getG994()); + wrapper.eq(ObjectUtil.isNotNull(query.getG995()), "g995", query.getG995()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowInFlag()), "flow_in_flag", query.getFlowInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempInFlag()), "temp_in_flag", query.getTempInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxInFlag()), "nox_in_flag", query.getNoxInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmInFlag()), "pm_in_flag", query.getPmInFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2InFlag()), "so2_in_flag", query.getSo2InFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutFlag()), "flow_out_flag", query.getFlowOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getTempOutFlag()), "temp_out_flag", query.getTempOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutFlag()), "nox_out_flag", query.getNoxOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutFlag()), "o2_out_flag", query.getO2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutFlag()), "pm_out_flag", query.getPmOutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutFlag()), "so2_out_flag", query.getSo2OutFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlowOutTotal()), "flow_out_total", query.getFlowOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxOutTotal()), "nox_out_total", query.getNoxOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getO2OutTotal()), "o2_out_total", query.getO2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmOutTotal()), "pm_out_total", query.getPmOutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2OutTotal()), "so2_out_total", query.getSo2OutTotal()); + wrapper.eq(ObjectUtil.isNotNull(query.getZlProduct()), "zl_product", query.getZlProduct()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getA140()), "a140", query.getA140()); + wrapper.eq(ObjectUtil.isNotNull(query.getA141()), "a141", query.getA141()); + wrapper.eq(ObjectUtil.isNotNull(query.getB104()), "b104", query.getB104()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG318()), "g318", query.getG318()); + wrapper.eq(ObjectUtil.isNotNull(query.getG325()), "g325", query.getG325()); + wrapper.eq(ObjectUtil.isNotNull(query.getG330()), "g330", query.getG330()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG943()), "g943", query.getG943()); + wrapper.eq(ObjectUtil.isNotNull(query.getG952()), "g952", query.getG952()); + wrapper.eq(ObjectUtil.isNotNull(query.getG956()), "g956", query.getG956()); + wrapper.eq(ObjectUtil.isNotNull(query.getG957()), "g957", query.getG957()); + wrapper.eq(ObjectUtil.isNotNull(query.getG958()), "g958", query.getG958()); + wrapper.eq(ObjectUtil.isNotNull(query.getG961()), "g961", query.getG961()); + wrapper.eq(ObjectUtil.isNotNull(query.getG962()), "g962", query.getG962()); + wrapper.eq(ObjectUtil.isNotNull(query.getG963()), "g963", query.getG963()); + wrapper.eq(ObjectUtil.isNotNull(query.getG964()), "g964", query.getG964()); + wrapper.eq(ObjectUtil.isNotNull(query.getG965()), "g965", query.getG965()); + wrapper.eq(ObjectUtil.isNotNull(query.getG966()), "g966", query.getG966()); + wrapper.eq(ObjectUtil.isNotNull(query.getG967()), "g967", query.getG967()); + wrapper.eq(ObjectUtil.isNotNull(query.getG968()), "g968", query.getG968()); + wrapper.eq(ObjectUtil.isNotNull(query.getG969()), "g969", query.getG969()); + wrapper.eq(ObjectUtil.isNotNull(query.getG970()), "g970", query.getG970()); + wrapper.eq(ObjectUtil.isNotNull(query.getG971()), "g971", query.getG971()); + wrapper.eq(ObjectUtil.isNotNull(query.getG972()), "g972", query.getG972()); + wrapper.eq(ObjectUtil.isNotNull(query.getG973()), "g973", query.getG973()); + wrapper.eq(ObjectUtil.isNotNull(query.getG974()), "g974", query.getG974()); + wrapper.eq(ObjectUtil.isNotNull(query.getG975()), "g975", query.getG975()); + wrapper.eq(ObjectUtil.isNotNull(query.getG976()), "g976", query.getG976()); + wrapper.eq(ObjectUtil.isNotNull(query.getG977()), "g977", query.getG977()); + wrapper.eq(ObjectUtil.isNotNull(query.getG978()), "g978", query.getG978()); + wrapper.eq(ObjectUtil.isNotNull(query.getG979()), "g979", query.getG979()); + wrapper.eq(ObjectUtil.isNotNull(query.getG980()), "g980", query.getG980()); + wrapper.eq(ObjectUtil.isNotNull(query.getG981()), "g981", query.getG981()); + wrapper.eq(ObjectUtil.isNotNull(query.getG982()), "g982", query.getG982()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb11()), "gb11", query.getGb11()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb12()), "gb12", query.getGb12()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb13()), "gb13", query.getGb13()); + wrapper.eq(ObjectUtil.isNotNull(query.getH959()), "h959", query.getH959()); + wrapper.eq(ObjectUtil.isNotNull(query.getH960()), "h960", query.getH960()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnHourQuery.java new file mode 100644 index 0000000..92b2e8c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnHourQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevSnHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-水泥-小时 保存设备的小时数据对象 mon_dev_sn_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + private String ss100; + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + private String ss101; + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + private String sz102; + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + private String sz103; + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + private String sz104; + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + private String sz105; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String sz106; + @ApiModelProperty(value = "脱硫洗涤塔pH值") + private String sz107; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String sz108; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String sz109; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + private String sz112; + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + private String sz113; + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevSnHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs100()), "ss100", query.getSs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs101()), "ss101", query.getSs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz100()), "sz100", query.getSz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz101()), "sz101", query.getSz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz102()), "sz102", query.getSz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz103()), "sz103", query.getSz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz104()), "sz104", query.getSz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz105()), "sz105", query.getSz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz106()), "sz106", query.getSz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz107()), "sz107", query.getSz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz108()), "sz108", query.getSz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz109()), "sz109", query.getSz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz110()), "sz110", query.getSz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz111()), "sz111", query.getSz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz112()), "sz112", query.getSz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz113()), "sz113", query.getSz113()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz114()), "sz114", query.getSz114()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz115()), "sz115", query.getSz115()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.java new file mode 100644 index 0000000..4f0e3ad --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevSnOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-水泥-其它时间 保存设备的小时以上的数据对象 mon_dev_sn_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + private String ss100; + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + private String ss101; + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + private String sz102; + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + private String sz103; + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + private String sz104; + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + private String sz105; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String sz106; + @ApiModelProperty(value = "脱硫洗涤塔pH值") + private String sz107; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String sz108; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String sz109; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + private String sz112; + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + private String sz113; + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevSnOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs100()), "ss100", query.getSs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs101()), "ss101", query.getSs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz100()), "sz100", query.getSz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz101()), "sz101", query.getSz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz102()), "sz102", query.getSz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz103()), "sz103", query.getSz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz104()), "sz104", query.getSz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz105()), "sz105", query.getSz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz106()), "sz106", query.getSz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz107()), "sz107", query.getSz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz108()), "sz108", query.getSz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz109()), "sz109", query.getSz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz110()), "sz110", query.getSz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz111()), "sz111", query.getSz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz112()), "sz112", query.getSz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz113()), "sz113", query.getSz113()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz114()), "sz114", query.getSz114()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz115()), "sz115", query.getSz115()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnRealQuery.java new file mode 100644 index 0000000..f8037a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevSnRealQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevSnReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-水泥-实时 保存设备的实时数据对象 mon_dev_sn_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-水泥-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevSnRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "生产端加料量 单位:kg/h") + private String ss100; + @ApiModelProperty(value = "生产端窑尾烟室温度 单位:℃") + private String ss101; + @ApiModelProperty(value = "窑头布袋除尘器前后压差 单位:Pa") + private String sz100; + @ApiModelProperty(value = "窑尾布袋除尘器前后压差 单位:Pa") + private String sz101; + @ApiModelProperty(value = "窑头电除尘器二次电流 单位:A") + private String sz102; + @ApiModelProperty(value = "窑尾电除尘器二次电流 单位:A") + private String sz103; + @ApiModelProperty(value = "窑头电除尘器二次电压 单位:V") + private String sz104; + @ApiModelProperty(value = "窑尾电除尘器二次电压 单位:V") + private String sz105; + @ApiModelProperty(value = "脱硝还原剂用量 单位:m3/h") + private String sz106; + @ApiModelProperty(value = "脱硫洗涤塔pH值") + private String sz107; + @ApiModelProperty(value = "脱硫供浆流量 单位:m3/h") + private String sz108; + @ApiModelProperty(value = "脱硫供料流量 单位:kg/h") + private String sz109; + @ApiModelProperty(value = "脱硫浆液循环泵运行状态 1=运行,0=停止") + private String sz110; + @ApiModelProperty(value = "脱硫湿法氧化风机电流 单位:A") + private String sz111; + @ApiModelProperty(value = "窑头除尘器进口压力 单位:kPa") + private String sz112; + @ApiModelProperty(value = "窑头除尘器出口压力 单位:kPa") + private String sz113; + @ApiModelProperty(value = "窑尾除尘器出口压力 单位:kPa") + private String sz114; + @ApiModelProperty(value = "窑尾除尘器进口压力 单位:kPa") + private String sz115; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevSnRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs100()), "ss100", query.getSs100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSs101()), "ss101", query.getSs101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz100()), "sz100", query.getSz100()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz101()), "sz101", query.getSz101()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz102()), "sz102", query.getSz102()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz103()), "sz103", query.getSz103()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz104()), "sz104", query.getSz104()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz105()), "sz105", query.getSz105()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz106()), "sz106", query.getSz106()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz107()), "sz107", query.getSz107()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz108()), "sz108", query.getSz108()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz109()), "sz109", query.getSz109()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz110()), "sz110", query.getSz110()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz111()), "sz111", query.getSz111()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz112()), "sz112", query.getSz112()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz113()), "sz113", query.getSz113()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz114()), "sz114", query.getSz114()); + wrapper.eq(ObjectUtil.isNotNull(query.getSz115()), "sz115", query.getSz115()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcHourQuery.java new file mode 100644 index 0000000..e84d3af --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcHourQuery.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevTcHour; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-陶瓷-小时 保存设备的小时数据对象 mon_dev_tc_hour + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-小时 保存设备的小时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + private String g983; + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + private String g329; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + private String g601; + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + private String g502; + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevTcHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG987()), "g987", query.getG987()); + wrapper.eq(ObjectUtil.isNotNull(query.getG988()), "g988", query.getG988()); + wrapper.eq(ObjectUtil.isNotNull(query.getG989()), "g989", query.getG989()); + wrapper.eq(ObjectUtil.isNotNull(query.getG990()), "g990", query.getG990()); + wrapper.eq(ObjectUtil.isNotNull(query.getG991()), "g991", query.getG991()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcOtherQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcOtherQuery.java new file mode 100644 index 0000000..2d25d99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcOtherQuery.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevTcOther; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-陶瓷-其它时间 保存设备的小时以上的数据对象 mon_dev_tc_other + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-其它时间 保存设备的小时以上的数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcOtherQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。分钟/小时...") + private String timeType; + @ApiModelProperty(value = "数据时间 格式因时间类型而异") + private String dataTime; + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + private String g983; + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + private String g329; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + private String g601; + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + private String g502; + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevTcOtherQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG987()), "g987", query.getG987()); + wrapper.eq(ObjectUtil.isNotNull(query.getG988()), "g988", query.getG988()); + wrapper.eq(ObjectUtil.isNotNull(query.getG989()), "g989", query.getG989()); + wrapper.eq(ObjectUtil.isNotNull(query.getG990()), "g990", query.getG990()); + wrapper.eq(ObjectUtil.isNotNull(query.getG991()), "g991", query.getG991()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcRealQuery.java new file mode 100644 index 0000000..5be67d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonDevTcRealQuery.java @@ -0,0 +1,126 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonDevTcReal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 设备数据-陶瓷-实时 保存设备的实时数据对象 mon_dev_tc_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "设备数据-陶瓷-实时 保存设备的实时数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonDevTcRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "入料_原料配比后的总重量 千克 ") + private String g983; + @ApiModelProperty(value = "煤气发生炉_供气量 立方纳米/小时") + private String g987; + @ApiModelProperty(value = "喷雾干燥塔_水分蒸发量 单位:千克/小时") + private String g988; + @ApiModelProperty(value = "喷雾干燥塔_供气量 单位:立方纳米/小时") + private String g989; + @ApiModelProperty(value = "辊道窑、隧道窑_水分蒸发量 单位:千克/小时") + private String g990; + @ApiModelProperty(value = "辊道窑、隧道窑_供气量 单位:立方纳米/小时") + private String g991; + @ApiModelProperty(value = "液氨/氨水储存区_氨气泄漏报警信号 无量纲 N1 1报警,0不报警") + private String g985; + @ApiModelProperty(value = "储油罐区_VOCs 在线监测数据或超标报警数据 单位:毫克/立方米") + private String g986; + @ApiModelProperty(value = "脱硫_湿法脱硫剂使用量 单位:千克") + private String g140; + @ApiModelProperty(value = "脱硫_干法脱硫剂使用量 单位:千克") + private String gb08; + @ApiModelProperty(value = "半干法脱硫_脱硫剂使用量 单位:千克") + private String gb09; + @ApiModelProperty(value = "脱硫_脱硫剂仓料(液)位 米 N6.2 与 CEMS 时间同步") + private String g141; + @ApiModelProperty(value = "脱硝_脱硝剂(还原剂或氧化剂)使用量 单位:千克") + private String g313; + @ApiModelProperty(value = "脱硝_脱硝剂仓料(液)位 单位:米") + private String g314; + @ApiModelProperty(value = "脱硝_反应器入口烟气温度(SCR 工艺) 单位:摄氏度 ") + private String g329; + @ApiModelProperty(value = "袋式除尘器_风机电流 单位:安[培]") + private String g604; + @ApiModelProperty(value = "袋式除尘器_清灰周期 单位:小时 ") + private String g605; + @ApiModelProperty(value = "袋式除尘器_压差 单位:千帕") + private String g601; + @ApiModelProperty(value = "静电除尘器_一次电压 单位:伏[特]") + private String g501; + @ApiModelProperty(value = "静电除尘器_一次电流 单位:安[培]") + private String g502; + @ApiModelProperty(value = "静电除尘器_二次电压 单位:伏[特] ") + private String g503; + @ApiModelProperty(value = "静电除尘器_二次电流 单位:安[培] ") + private String g504; + @ApiModelProperty(value = "附加参数 JSON。格式类似:{pmIn:{02:12,03:23},...}") + private String addiParam; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonDevTcRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getG983()), "g983", query.getG983()); + wrapper.eq(ObjectUtil.isNotNull(query.getG987()), "g987", query.getG987()); + wrapper.eq(ObjectUtil.isNotNull(query.getG988()), "g988", query.getG988()); + wrapper.eq(ObjectUtil.isNotNull(query.getG989()), "g989", query.getG989()); + wrapper.eq(ObjectUtil.isNotNull(query.getG990()), "g990", query.getG990()); + wrapper.eq(ObjectUtil.isNotNull(query.getG991()), "g991", query.getG991()); + wrapper.eq(ObjectUtil.isNotNull(query.getG985()), "g985", query.getG985()); + wrapper.eq(ObjectUtil.isNotNull(query.getG986()), "g986", query.getG986()); + wrapper.eq(ObjectUtil.isNotNull(query.getG140()), "g140", query.getG140()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb08()), "gb08", query.getGb08()); + wrapper.eq(ObjectUtil.isNotNull(query.getGb09()), "gb09", query.getGb09()); + wrapper.eq(ObjectUtil.isNotNull(query.getG141()), "g141", query.getG141()); + wrapper.eq(ObjectUtil.isNotNull(query.getG313()), "g313", query.getG313()); + wrapper.eq(ObjectUtil.isNotNull(query.getG314()), "g314", query.getG314()); + wrapper.eq(ObjectUtil.isNotNull(query.getG329()), "g329", query.getG329()); + wrapper.eq(ObjectUtil.isNotNull(query.getG604()), "g604", query.getG604()); + wrapper.eq(ObjectUtil.isNotNull(query.getG605()), "g605", query.getG605()); + wrapper.eq(ObjectUtil.isNotNull(query.getG601()), "g601", query.getG601()); + wrapper.eq(ObjectUtil.isNotNull(query.getG501()), "g501", query.getG501()); + wrapper.eq(ObjectUtil.isNotNull(query.getG502()), "g502", query.getG502()); + wrapper.eq(ObjectUtil.isNotNull(query.getG503()), "g503", query.getG503()); + wrapper.eq(ObjectUtil.isNotNull(query.getG504()), "g504", query.getG504()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddiParam()), "addi_param", query.getAddiParam()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecEventQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecEventQuery.java new file mode 100644 index 0000000..425dc9b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecEventQuery.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.MonElecEvent; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 有组织-分表计电设备对应 两类设备为多对多的关系对象 mon_elec_event + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "有组织-分表计电设备对应 两类设备为多对多的关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonElecEventQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据ID") + private Long dataId; + @ApiModelProperty(value = "企业ID 冗余") + private String factoryId; + @ApiModelProperty(value = "点位ID") + private String siteId; + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + @ApiModelProperty(value = "数据时间") + private String dataTime; + @ApiModelProperty(value = "停上电 0=上电,1=停电") + private Long tn50; + @ApiModelProperty(value = "设备状态 0=关机状态,1=开机状态") + private Long tn62; + @ApiModelProperty(value = "电流幅值突变 百分比的分子值") + private String tn63; + @ApiModelProperty(value = "电压幅值突变 百分比的分子值") + private String tn64; + @ApiModelProperty(value = "设备异常破坏 0=关,1=开") + private Long tn65; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonElecEventQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSiteId()), "site_id", query.getSiteId()); + wrapper.eq(ObjectUtil.isNotNull(query.getTimeType()), "time_type", query.getTimeType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataTime()), "data_time", query.getDataTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTn50()), "tn50", query.getTn50()); + wrapper.eq(ObjectUtil.isNotNull(query.getTn62()), "tn62", query.getTn62()); + wrapper.eq(ObjectUtil.isNotNull(query.getTn63()), "tn63", query.getTn63()); + wrapper.eq(ObjectUtil.isNotNull(query.getTn64()), "tn64", query.getTn64()); + wrapper.eq(ObjectUtil.isNotNull(query.getTn65()), "tn65", query.getTn65()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecRealQuery.java new file mode 100644 index 0000000..948740a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonElecRealQuery.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.MonElecReal; +import cn.cecep.talroad.vo.AmProblemFiVo; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.CollectionUtils; + +import java.util.List; + + +/** + * 分表计电设备-点位对应 设备与点位为多对多的关系对象 mon_elec_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "分表计电设备-点位对应 设备与点位为多对多的关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonElecRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "设备ID") + private String deviceId; + + @ApiModelProperty(value = "点位ID") + private String deviceSiteId; + + @ApiModelProperty(value = "点位ID列表") + private List deviceSiteIds; + + @ApiModelProperty(value = "时间类型 枚举。总为“实时”") + private String timeType; + + @ApiModelProperty(value = "数据时间开始") + private String dataTimeStart; + + @ApiModelProperty(value = "数据时间结束") + private String dataTimeEnd; + + @ApiModelProperty(value = "时间排序 正序:asc, 倒序:desc") + private String timeSortType; + + @ApiModelProperty(value = "曲线图返回指定的参数") + private List pollutantVos; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(MonElecRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(query.getDataTimeStart())) { + wrapper.ge("data_time", DateUtils.parseDate(query.getDataTimeStart())); + } + if (StringUtils.isNotEmpty(query.getDataTimeEnd())) { + wrapper.le("data_time", DateUtils.parseDate(query.getDataTimeEnd())); + } + + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceSiteId()), "device_site_id", query.getDeviceSiteId()); + wrapper.in(!CollectionUtils.isEmpty(query.getDeviceSiteIds()), "device_site_id", query.getDeviceSiteIds()); + + if ("asc".equals(query.getTimeSortType())) { + wrapper.orderByAsc("data_time"); + } else { + wrapper.orderByDesc("data_time"); + } + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.java new file mode 100644 index 0000000..03756ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 日志 + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "日志查询请求Query") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonitoringPointLogQuery extends PageQuery +{ + @ApiModelProperty(value = "在线监测点位名称/无组织监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "对应许可证排口名称") + private String outletName; + + @ApiModelProperty(value = "对应许可证排口编号/无组织监测点位编号") + private String outletCode; + + @ApiModelProperty(value = "操作开始时间") + private String operationTimeStart; + + @ApiModelProperty(value = "操作结束时间") + private String operationTimeEnt; + + @ApiModelProperty(value = "类型:1-废气有组织/2-废水") + private String monitoringPointType; + + private String factoryId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.java new file mode 100644 index 0000000..f123bd7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.java @@ -0,0 +1,196 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsAirRegionHourI; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_air_region_hour_i + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsAirRegionHourIQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "$column.columnComment") + private String datatime; + @ApiModelProperty(value = "$column.columnComment") + private String uploadtime; + @ApiModelProperty(value = "$column.columnComment") + private String value2473; + @ApiModelProperty(value = "$column.columnComment") + private String value2481; + @ApiModelProperty(value = "$column.columnComment") + private String value2483; + @ApiModelProperty(value = "$column.columnComment") + private String value2484; + @ApiModelProperty(value = "$column.columnComment") + private String value4402; + @ApiModelProperty(value = "$column.columnComment") + private String value4404; + @ApiModelProperty(value = "$column.columnComment") + private String value4405; + @ApiModelProperty(value = "$column.columnComment") + private String value4406; + @ApiModelProperty(value = "$column.columnComment") + private String value4407; + @ApiModelProperty(value = "$column.columnComment") + private String value4467; + @ApiModelProperty(value = "$column.columnComment") + private String value4468; + @ApiModelProperty(value = "$column.columnComment") + private String value4471; + @ApiModelProperty(value = "$column.columnComment") + private String value4d71; + @ApiModelProperty(value = "$column.columnComment") + private String value4472; + @ApiModelProperty(value = "$column.columnComment") + private String value4474; + @ApiModelProperty(value = "$column.columnComment") + private String value4482; + @ApiModelProperty(value = "$column.columnComment") + private String value4485; + @ApiModelProperty(value = "$column.columnComment") + private String value4486; + @ApiModelProperty(value = "$column.columnComment") + private String value4487; + @ApiModelProperty(value = "$column.columnComment") + private String value4488; + @ApiModelProperty(value = "$column.columnComment") + private String value4489; + @ApiModelProperty(value = "$column.columnComment") + private String value448a; + @ApiModelProperty(value = "$column.columnComment") + private String value448b; + @ApiModelProperty(value = "$column.columnComment") + private String status2473; + @ApiModelProperty(value = "$column.columnComment") + private String status2481; + @ApiModelProperty(value = "$column.columnComment") + private String status2483; + @ApiModelProperty(value = "$column.columnComment") + private String status2484; + @ApiModelProperty(value = "$column.columnComment") + private String status4402; + @ApiModelProperty(value = "$column.columnComment") + private String status4404; + @ApiModelProperty(value = "$column.columnComment") + private String status4405; + @ApiModelProperty(value = "$column.columnComment") + private String status4406; + @ApiModelProperty(value = "$column.columnComment") + private String status4407; + @ApiModelProperty(value = "$column.columnComment") + private String status4467; + @ApiModelProperty(value = "$column.columnComment") + private String status4468; + @ApiModelProperty(value = "$column.columnComment") + private String status4471; + @ApiModelProperty(value = "$column.columnComment") + private String status4d71; + @ApiModelProperty(value = "$column.columnComment") + private String status4472; + @ApiModelProperty(value = "$column.columnComment") + private String status4474; + @ApiModelProperty(value = "$column.columnComment") + private String status4482; + @ApiModelProperty(value = "$column.columnComment") + private String status4485; + @ApiModelProperty(value = "$column.columnComment") + private String status4486; + @ApiModelProperty(value = "$column.columnComment") + private String status4487; + @ApiModelProperty(value = "$column.columnComment") + private String status4488; + @ApiModelProperty(value = "$column.columnComment") + private String status4489; + @ApiModelProperty(value = "$column.columnComment") + private String status448a; + @ApiModelProperty(value = "$column.columnComment") + private String status448b; + @ApiModelProperty(value = "$column.columnComment") + private String code; + @ApiModelProperty(value = "$column.columnComment") + private String name; + @ApiModelProperty(value = "$column.columnComment") + private String cityname; + @ApiModelProperty(value = "$column.columnComment") + private String provincename; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsAirRegionHourIQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDatatime()), "datatime", query.getDatatime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUploadtime()), "uploadtime", query.getUploadtime()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue2473()), "value_2473", query.getValue2473()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue2481()), "value_2481", query.getValue2481()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue2483()), "value_2483", query.getValue2483()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue2484()), "value_2484", query.getValue2484()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4402()), "value_4402", query.getValue4402()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4404()), "value_4404", query.getValue4404()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4405()), "value_4405", query.getValue4405()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4406()), "value_4406", query.getValue4406()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4407()), "value_4407", query.getValue4407()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4467()), "value_4467", query.getValue4467()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4468()), "value_4468", query.getValue4468()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4471()), "value_4471", query.getValue4471()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4d71()), "value_4D71", query.getValue4d71()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4472()), "value_4472", query.getValue4472()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4474()), "value_4474", query.getValue4474()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4482()), "value_4482", query.getValue4482()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4485()), "value_4485", query.getValue4485()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4486()), "value_4486", query.getValue4486()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4487()), "value_4487", query.getValue4487()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4488()), "value_4488", query.getValue4488()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue4489()), "value_4489", query.getValue4489()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue448a()), "value_448A", query.getValue448a()); + wrapper.eq(ObjectUtil.isNotNull(query.getValue448b()), "value_448B", query.getValue448b()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus2473()), "status_2473", query.getStatus2473()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus2481()), "status_2481", query.getStatus2481()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus2483()), "status_2483", query.getStatus2483()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus2484()), "status_2484", query.getStatus2484()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4402()), "status_4402", query.getStatus4402()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4404()), "status_4404", query.getStatus4404()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4405()), "status_4405", query.getStatus4405()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4406()), "status_4406", query.getStatus4406()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4407()), "status_4407", query.getStatus4407()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4467()), "status_4467", query.getStatus4467()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4468()), "status_4468", query.getStatus4468()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4471()), "status_4471", query.getStatus4471()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4d71()), "status_4D71", query.getStatus4d71()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4472()), "status_4472", query.getStatus4472()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4474()), "status_4474", query.getStatus4474()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4482()), "status_4482", query.getStatus4482()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4485()), "status_4485", query.getStatus4485()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4486()), "status_4486", query.getStatus4486()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4487()), "status_4487", query.getStatus4487()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4488()), "status_4488", query.getStatus4488()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus4489()), "status_4489", query.getStatus4489()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus448a()), "status_448A", query.getStatus448a()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatus448b()), "status_448B", query.getStatus448b()); + wrapper.eq(ObjectUtil.isNotNull(query.getCode()), "code", query.getCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getCityname()), "cityname", query.getCityname()); + wrapper.eq(ObjectUtil.isNotNull(query.getProvincename()), "provincename", query.getProvincename()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.java new file mode 100644 index 0000000..4a1cb1d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsInorganizationWeiStationHourI; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 无组织微站监测对象 ods_inorganization_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "无组织微站监测") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsInorganizationWeiStationHourIQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "$column.columnComment") + private String stationId; + @ApiModelProperty(value = "$column.columnComment") + private String stationCode; + @ApiModelProperty(value = "$column.columnComment") + private String receiveTime; + @ApiModelProperty(value = "$column.columnComment") + private String co; + @ApiModelProperty(value = "$column.columnComment") + private String no2; + @ApiModelProperty(value = "$column.columnComment") + private String so2; + @ApiModelProperty(value = "$column.columnComment") + private String o3; + @ApiModelProperty(value = "$column.columnComment") + private String voc; + @ApiModelProperty(value = "$column.columnComment") + private String noise; + @ApiModelProperty(value = "$column.columnComment") + private String pm25; + @ApiModelProperty(value = "$column.columnComment") + private String pm10; + @ApiModelProperty(value = "$column.columnComment") + private String temperature; + @ApiModelProperty(value = "$column.columnComment") + private String utc; + @ApiModelProperty(value = "$column.columnComment") + private String humidity; + @ApiModelProperty(value = "$column.columnComment") + private String wdirect; + @ApiModelProperty(value = "$column.columnComment") + private String wspeed; + @ApiModelProperty(value = "$column.columnComment") + private String apress; + @ApiModelProperty(value = "$column.columnComment") + private String equstatename; + @ApiModelProperty(value = "$column.columnComment") + private String equstate; + @ApiModelProperty(value = "$column.columnComment") + private String no; + @ApiModelProperty(value = "$column.columnComment") + private String tsp; + @ApiModelProperty(value = "$column.columnComment") + private String aqi; + @ApiModelProperty(value = "$column.columnComment") + private String aqiLevel; + @ApiModelProperty(value = "$column.columnComment") + private String priPollute; + @ApiModelProperty(value = "$column.columnComment") + private String type; + @ApiModelProperty(value = "$column.columnComment") + private String o38h; + @ApiModelProperty(value = "$column.columnComment") + private String createTime; + @ApiModelProperty(value = "$column.columnComment") + private String updateTime; + @ApiModelProperty(value = "$column.columnComment") + private String nox; + @ApiModelProperty(value = "$column.columnComment") + private String tvoc; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsInorganizationWeiStationHourIQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationCode()), "station_code", query.getStationCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceiveTime()), "receive_time", query.getReceiveTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCo()), "co", query.getCo()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2()), "no2", query.getNo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2()), "so2", query.getSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3()), "o3", query.getO3()); + wrapper.eq(ObjectUtil.isNotNull(query.getVoc()), "voc", query.getVoc()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoise()), "noise", query.getNoise()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm25()), "pm25", query.getPm25()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm10()), "pm10", query.getPm10()); + wrapper.eq(ObjectUtil.isNotNull(query.getTemperature()), "temperature", query.getTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getUtc()), "utc", query.getUtc()); + wrapper.eq(ObjectUtil.isNotNull(query.getHumidity()), "humidity", query.getHumidity()); + wrapper.eq(ObjectUtil.isNotNull(query.getWdirect()), "wdirect", query.getWdirect()); + wrapper.eq(ObjectUtil.isNotNull(query.getWspeed()), "wspeed", query.getWspeed()); + wrapper.eq(ObjectUtil.isNotNull(query.getApress()), "apress", query.getApress()); + wrapper.eq(ObjectUtil.isNotNull(query.getEqustatename()), "equstatename", query.getEqustatename()); + wrapper.eq(ObjectUtil.isNotNull(query.getEqustate()), "equstate", query.getEqustate()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo()), "no", query.getNo()); + wrapper.eq(ObjectUtil.isNotNull(query.getTsp()), "tsp", query.getTsp()); + wrapper.eq(ObjectUtil.isNotNull(query.getAqi()), "aqi", query.getAqi()); + wrapper.eq(ObjectUtil.isNotNull(query.getAqiLevel()), "aqi_level", query.getAqiLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getPriPollute()), "pri_pollute", query.getPriPollute()); + wrapper.eq(ObjectUtil.isNotNull(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getO38h()), "o38h", query.getO38h()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getTvoc()), "tvoc", query.getTvoc()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.java new file mode 100644 index 0000000..eda056a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.java @@ -0,0 +1,139 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsMeshingShStationHourI; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * ods层网格化市控站点小时增量对象 ods_meshing_sh_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化市控站点小时增量") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsMeshingShStationHourIQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "站点编码") + private String stationCode; + @ApiModelProperty(value = "数据采集时间") + private String receiveTime; + @ApiModelProperty(value = "SO2浓度实况值") + private String so2Live; + @ApiModelProperty(value = "NO2浓度实况值") + private String no2Live; + @ApiModelProperty(value = "CO浓度实况值") + private String coLive; + @ApiModelProperty(value = "O3浓度实况值") + private String o3Live; + @ApiModelProperty(value = "PM10浓度实况值") + private String pm10Live; + @ApiModelProperty(value = "PM2.5浓度实况值") + private String pm25Live; + @ApiModelProperty(value = "温度") + private String temperature; + @ApiModelProperty(value = "湿度") + private String humidity; + @ApiModelProperty(value = "大气压") + private String apress; + @ApiModelProperty(value = "风向") + private String wdirect; + @ApiModelProperty(value = "风速") + private String wspeed; + @ApiModelProperty(value = "噪声") + private String noise; + @ApiModelProperty(value = "MAXID值") + private String maxId; + @ApiModelProperty(value = "无用") + private String flag; + @ApiModelProperty(value = "PM10标况值") + private String pm10Bk; + @ApiModelProperty(value = "PM25标况值") + private String pm25Bk; + @ApiModelProperty(value = "SO2标况值") + private String so2Bk; + @ApiModelProperty(value = "NO2标况值") + private String no2Bk; + @ApiModelProperty(value = "CO标况值") + private String coBk; + @ApiModelProperty(value = "O3标况值") + private String o3Bk; + @ApiModelProperty(value = "$column.columnComment") + private String pmi; + @ApiModelProperty(value = "PMI标况值") + private String pmiBk; + @ApiModelProperty(value = "TSP实况值") + private String tspLive; + @ApiModelProperty(value = "TSP标况值") + private String tspBk; + @ApiModelProperty(value = "NO实况值") + private String noLive; + @ApiModelProperty(value = "TVOC值") + private String tvoc; + @ApiModelProperty(value = "co2浓度值") + private String co2; + @ApiModelProperty(value = "氮氧化物浓度值") + private String nox; + @ApiModelProperty(value = "数据创建时间") + private String createTime; + @ApiModelProperty(value = "数据更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsMeshingShStationHourIQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationCode()), "station_code", query.getStationCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceiveTime()), "receive_time", query.getReceiveTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Live()), "so2_live", query.getSo2Live()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2Live()), "no2_live", query.getNo2Live()); + wrapper.eq(ObjectUtil.isNotNull(query.getCoLive()), "co_live", query.getCoLive()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3Live()), "o3_live", query.getO3Live()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm10Live()), "pm10_live", query.getPm10Live()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm25Live()), "pm25_live", query.getPm25Live()); + wrapper.eq(ObjectUtil.isNotNull(query.getTemperature()), "temperature", query.getTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getHumidity()), "humidity", query.getHumidity()); + wrapper.eq(ObjectUtil.isNotNull(query.getApress()), "apress", query.getApress()); + wrapper.eq(ObjectUtil.isNotNull(query.getWdirect()), "wdirect", query.getWdirect()); + wrapper.eq(ObjectUtil.isNotNull(query.getWspeed()), "wspeed", query.getWspeed()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoise()), "noise", query.getNoise()); + wrapper.eq(ObjectUtil.isNotNull(query.getMaxId()), "max_id", query.getMaxId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFlag()), "flag", query.getFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm10Bk()), "pm10_bk", query.getPm10Bk()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm25Bk()), "pm25_bk", query.getPm25Bk()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Bk()), "so2_bk", query.getSo2Bk()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2Bk()), "no2_bk", query.getNo2Bk()); + wrapper.eq(ObjectUtil.isNotNull(query.getCoBk()), "co_bk", query.getCoBk()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3Bk()), "o3_bk", query.getO3Bk()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmi()), "pmi", query.getPmi()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmiBk()), "pmi_bk", query.getPmiBk()); + wrapper.eq(ObjectUtil.isNotNull(query.getTspLive()), "tsp_live", query.getTspLive()); + wrapper.eq(ObjectUtil.isNotNull(query.getTspBk()), "tsp_bk", query.getTspBk()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoLive()), "no_live", query.getNoLive()); + wrapper.eq(ObjectUtil.isNotNull(query.getTvoc()), "tvoc", query.getTvoc()); + wrapper.eq(ObjectUtil.isNotNull(query.getCo2()), "co2", query.getCo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingWeiStationHourIQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingWeiStationHourIQuery.java new file mode 100644 index 0000000..1b98203 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsMeshingWeiStationHourIQuery.java @@ -0,0 +1,130 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsMeshingWeiStationHourI; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * ods层网格化微站站点小时增量对象 ods_meshing_wei_station_hour_i + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "ods层网格化微站站点小时增量") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsMeshingWeiStationHourIQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "站点id") + private String stationId; + @ApiModelProperty(value = "站点编码") + private String stationCode; + @ApiModelProperty(value = "数据采集时间") + private String receiveTime; + @ApiModelProperty(value = "co浓度值 单位 mg/m3") + private String co; + @ApiModelProperty(value = "NO2浓度值 单位μg/m3") + private String no2; + @ApiModelProperty(value = "SO2 浓度值 单位μg/m3") + private String so2; + @ApiModelProperty(value = "O3浓度值 单位μg/m3") + private String o3; + @ApiModelProperty(value = "VOC浓度值 单位PPB") + private String voc; + @ApiModelProperty(value = "噪声") + private String noise; + @ApiModelProperty(value = "PM2.5浓度值 单位μg/m3") + private String pm25; + @ApiModelProperty(value = "PM10浓度值 单位μg/m3") + private String pm10; + @ApiModelProperty(value = "温度 单位 ℃") + private String temperature; + @ApiModelProperty(value = "utc") + private String utc; + @ApiModelProperty(value = "湿度 单位%RH") + private String humidity; + @ApiModelProperty(value = "风向 单位°") + private String wdirect; + @ApiModelProperty(value = "风速 单位 m/s") + private String wspeed; + @ApiModelProperty(value = "大气压 单位 hPa") + private String apress; + @ApiModelProperty(value = "设备状态") + private String equstatename; + @ApiModelProperty(value = "设备状态码") + private String equstate; + @ApiModelProperty(value = "NO 浓度值 单位μg/m3") + private String no; + @ApiModelProperty(value = "TSP 浓度值") + private String tsp; + @ApiModelProperty(value = "AQI值") + private String aqi; + @ApiModelProperty(value = "$column.columnComment") + private String aqiLevel; + @ApiModelProperty(value = "首要污染物") + private String priPollute; + @ApiModelProperty(value = "PointHour 表示微型站数据,VocHour 表示 VOC 站数据") + private String type; + @ApiModelProperty(value = "O38H浓度值 单位μg/m3") + private String o38h; + @ApiModelProperty(value = "数据创建时间") + private String createTime; + @ApiModelProperty(value = "数据更新时间") + private String updateTime; + @ApiModelProperty(value = "氮氧化物浓度值") + private String nox; + @ApiModelProperty(value = "TVOC值") + private String tvoc; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsMeshingWeiStationHourIQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationCode()), "station_code", query.getStationCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceiveTime()), "receive_time", query.getReceiveTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCo()), "co", query.getCo()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2()), "no2", query.getNo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2()), "so2", query.getSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3()), "o3", query.getO3()); + wrapper.eq(ObjectUtil.isNotNull(query.getVoc()), "voc", query.getVoc()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoise()), "noise", query.getNoise()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm25()), "pm25", query.getPm25()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm10()), "pm10", query.getPm10()); + wrapper.eq(ObjectUtil.isNotNull(query.getTemperature()), "temperature", query.getTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getUtc()), "utc", query.getUtc()); + wrapper.eq(ObjectUtil.isNotNull(query.getHumidity()), "humidity", query.getHumidity()); + wrapper.eq(ObjectUtil.isNotNull(query.getWdirect()), "wdirect", query.getWdirect()); + wrapper.eq(ObjectUtil.isNotNull(query.getWspeed()), "wspeed", query.getWspeed()); + wrapper.eq(ObjectUtil.isNotNull(query.getApress()), "apress", query.getApress()); + wrapper.eq(ObjectUtil.isNotNull(query.getEqustatename()), "equstatename", query.getEqustatename()); + wrapper.eq(ObjectUtil.isNotNull(query.getEqustate()), "equstate", query.getEqustate()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo()), "no", query.getNo()); + wrapper.eq(ObjectUtil.isNotNull(query.getTsp()), "tsp", query.getTsp()); + wrapper.eq(ObjectUtil.isNotNull(query.getAqi()), "aqi", query.getAqi()); + wrapper.eq(ObjectUtil.isNotNull(query.getAqiLevel()), "aqi_level", query.getAqiLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getPriPollute()), "pri_pollute", query.getPriPollute()); + wrapper.eq(ObjectUtil.isNotNull(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getO38h()), "o38h", query.getO38h()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getTvoc()), "tvoc", query.getTvoc()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.java new file mode 100644 index 0000000..bafe8fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsOnlineOlDgiinfoA; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_dgiinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlDgiinfoAQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "企业主键ID") + private String psId; + @ApiModelProperty(value = "mn编码") + private String dgiMn; + @ApiModelProperty(value = "数采仪密码") + private String dgiPwd; + @ApiModelProperty(value = "ip地址") + private String ip; + @ApiModelProperty(value = "端口") + private String port; + @ApiModelProperty(value = "sim卡号") + private String simNo; + @ApiModelProperty(value = "领用人") + private String getter; + @ApiModelProperty(value = "领用单位") + private String getUnit; + @ApiModelProperty(value = "领用日期") + private String getDate; + @ApiModelProperty(value = "启用日期") + private String useDate; + @ApiModelProperty(value = "间隔时间") + private String intervalTime; + @ApiModelProperty(value = "生产厂家设备品牌") + private String manufactor; + @ApiModelProperty(value = "设备出厂编号") + private String equipmentFactoryNumber; + @ApiModelProperty(value = "设备型号") + private String equipmentTypeCode; + @ApiModelProperty(value = "联系人") + private String contact; + @ApiModelProperty(value = "联系人手机") + private String contactPhone; + @ApiModelProperty(value = "检查状态") + private String checkState; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "禁用时间") + private String deleteTime; + @ApiModelProperty(value = "禁用后再次启用时间") + private String enableTime; + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + private String enable; + @ApiModelProperty(value = "是否具备防作假功能,1-是 0-否") + private Long preventFaking; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsOnlineOlDgiinfoAQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsId()), "ps_id", query.getPsId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDgiMn()), "dgi_mn", query.getDgiMn()); + wrapper.eq(ObjectUtil.isNotNull(query.getDgiPwd()), "dgi_pwd", query.getDgiPwd()); + wrapper.eq(ObjectUtil.isNotNull(query.getIp()), "ip", query.getIp()); + wrapper.eq(ObjectUtil.isNotNull(query.getPort()), "port", query.getPort()); + wrapper.eq(ObjectUtil.isNotNull(query.getSimNo()), "sim_no", query.getSimNo()); + wrapper.eq(ObjectUtil.isNotNull(query.getGetter()), "getter", query.getGetter()); + wrapper.eq(ObjectUtil.isNotNull(query.getGetUnit()), "get_unit", query.getGetUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getGetDate()), "get_date", query.getGetDate()); + wrapper.eq(ObjectUtil.isNotNull(query.getUseDate()), "use_date", query.getUseDate()); + wrapper.eq(ObjectUtil.isNotNull(query.getIntervalTime()), "interval_time", query.getIntervalTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getManufactor()), "manufactor", query.getManufactor()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipmentFactoryNumber()), "equipment_factory_number", query.getEquipmentFactoryNumber()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipmentTypeCode()), "equipment_type_code", query.getEquipmentTypeCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getContact()), "contact", query.getContact()); + wrapper.eq(ObjectUtil.isNotNull(query.getContactPhone()), "contact_phone", query.getContactPhone()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckState()), "check_state", query.getCheckState()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeleteTime()), "delete_time", query.getDeleteTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnableTime()), "enable_time", query.getEnableTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnable()), "enable", query.getEnable()); + wrapper.eq(ObjectUtil.isNotNull(query.getPreventFaking()), "prevent_faking", query.getPreventFaking()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.java new file mode 100644 index 0000000..1966e35 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsOnlineOlPortinfoA; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_portinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPortinfoAQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键ID") + private String id; + @ApiModelProperty(value = "企业主键ID") + private String psId; + @ApiModelProperty(value = "监控点编码(保留字典不参与业务)") + private String portCode; + @ApiModelProperty(value = "监控点编号(保留字典不参与业务)") + private String portNum; + @ApiModelProperty(value = "监测点名称后缀") + private String portNameSuffix; + @ApiModelProperty(value = "$column.columnComment") + private String portName; + @ApiModelProperty(value = "排口类型,如:水、气(字典数据)") + private String portTypeId; + @ApiModelProperty(value = "监控点位置") + private String portPosition; + @ApiModelProperty(value = "经度") + private String longitude; + @ApiModelProperty(value = "纬度") + private String latitude; + @ApiModelProperty(value = "监测点类型代码") + private String monitorTypeId; + @ApiModelProperty(value = "行政区划编码") + private String regionId; + @ApiModelProperty(value = "是否烧结,1-否 1-是 ") + private String isSintering; + @ApiModelProperty(value = "是否启用,0-否 1-是") + private String enable; + @ApiModelProperty(value = "联网时间") + private String networkTime; + @ApiModelProperty(value = "是否联网,1-是 0-否") + private Long networkStatus; + @ApiModelProperty(value = "运维标记联网时间") + private String opFlagNetworkTime; + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + private Long opFlagNetworkStatus; + @ApiModelProperty(value = "异常上限") + private String abnormalUp; + @ApiModelProperty(value = "异常下限") + private String abnormalDown; + @ApiModelProperty(value = "是否高架源,0-否 1-是") + private String highChimney; + @ApiModelProperty(value = "是否垃圾焚烧,0-否 1-是") + private String rubbish; + @ApiModelProperty(value = "排放规律") + private String outputRule; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "修改时间") + private String updateTime; + @ApiModelProperty(value = "delete_time") + private String deleteTime; + @ApiModelProperty(value = "由禁用改为启用时间") + private String enableTime; + @ApiModelProperty(value = "监测点状态,1-在线 2-超标 3-异常 4-离线") + private String portState; + @ApiModelProperty(value = "$column.columnComment") + private String isSync; + @ApiModelProperty(value = "排放口id") + private String outletId; + @ApiModelProperty(value = "创建人") + private String createdBy; + @ApiModelProperty(value = "编辑人") + private String updatedBy; + @ApiModelProperty(value = "基准含氧量") + private String outletYq; + @ApiModelProperty(value = "排污许可编号") + private String pwxkBh; + @ApiModelProperty(value = "国发监测点id") + private String gfPortId; + @ApiModelProperty(value = "是否同步给长天 1同步 0不同步") + private Long sySky; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsOnlineOlPortinfoAQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsId()), "ps_id", query.getPsId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortCode()), "port_code", query.getPortCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortNum()), "port_num", query.getPortNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortNameSuffix()), "port_name_suffix", query.getPortNameSuffix()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortName()), "port_name", query.getPortName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortTypeId()), "port_type_id", query.getPortTypeId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortPosition()), "port_position", query.getPortPosition()); + wrapper.eq(ObjectUtil.isNotNull(query.getLongitude()), "longitude", query.getLongitude()); + wrapper.eq(ObjectUtil.isNotNull(query.getLatitude()), "latitude", query.getLatitude()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorTypeId()), "monitor_type_id", query.getMonitorTypeId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRegionId()), "region_id", query.getRegionId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsSintering()), "is_sintering", query.getIsSintering()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnable()), "enable", query.getEnable()); + wrapper.eq(ObjectUtil.isNotNull(query.getNetworkTime()), "network_time", query.getNetworkTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNetworkStatus()), "network_status", query.getNetworkStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpFlagNetworkTime()), "op_flag_network_time", query.getOpFlagNetworkTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpFlagNetworkStatus()), "op_flag_network_status", query.getOpFlagNetworkStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalUp()), "abnormal_up", query.getAbnormalUp()); + wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalDown()), "abnormal_down", query.getAbnormalDown()); + wrapper.eq(ObjectUtil.isNotNull(query.getHighChimney()), "high_chimney", query.getHighChimney()); + wrapper.eq(ObjectUtil.isNotNull(query.getRubbish()), "rubbish", query.getRubbish()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutputRule()), "output_rule", query.getOutputRule()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeleteTime()), "delete_time", query.getDeleteTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnableTime()), "enable_time", query.getEnableTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortState()), "port_state", query.getPortState()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsSync()), "is_sync", query.getIsSync()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreatedBy()), "created_by", query.getCreatedBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdatedBy()), "updated_by", query.getUpdatedBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletYq()), "outlet_yq", query.getOutletYq()); + wrapper.eq(ObjectUtil.isNotNull(query.getPwxkBh()), "pwxk_bh", query.getPwxkBh()); + wrapper.eq(ObjectUtil.isNotNull(query.getGfPortId()), "gf_port_id", query.getGfPortId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSySky()), "sy_sky", query.getSySky()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsWhitelistAQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsWhitelistAQuery.java new file mode 100644 index 0000000..0e2b4ee --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsWhitelistAQuery.java @@ -0,0 +1,118 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsWhitelistA; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_ps_whitelist_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPsWhitelistAQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "$column.columnComment") + private String regionId; + @ApiModelProperty(value = "$column.columnComment") + private String factoryId; + @ApiModelProperty(value = "$column.columnComment") + private String portNum; + @ApiModelProperty(value = "$column.columnComment") + private String portName; + @ApiModelProperty(value = "$column.columnComment") + private String pollutantCode; + @ApiModelProperty(value = "$column.columnComment") + private String startTime; + @ApiModelProperty(value = "$column.columnComment") + private String endTime; + @ApiModelProperty(value = "$column.columnComment") + private String operator; + @ApiModelProperty(value = "$column.columnComment") + private String userId; + @ApiModelProperty(value = "$column.columnComment") + private String reason; + @ApiModelProperty(value = "$column.columnComment") + private String createTime; + @ApiModelProperty(value = "$column.columnComment") + private String updateTime; + @ApiModelProperty(value = "$column.columnComment") + private String deleteTime; + @ApiModelProperty(value = "$column.columnComment") + private String enable; + @ApiModelProperty(value = "$column.columnComment") + private String remarks; + @ApiModelProperty(value = "$column.columnComment") + private String verifyStatusId; + @ApiModelProperty(value = "$column.columnComment") + private String verifyRemarks; + @ApiModelProperty(value = "$column.columnComment") + private String verifierId; + @ApiModelProperty(value = "$column.columnComment") + private String verifierName; + @ApiModelProperty(value = "$column.columnComment") + private String verifyTime; + @ApiModelProperty(value = "$column.columnComment") + private String verifierMobile; + @ApiModelProperty(value = "$column.columnComment") + private String startTime2; + @ApiModelProperty(value = "$column.columnComment") + private String endTime2; + @ApiModelProperty(value = "$column.columnComment") + private String createTime2; + @ApiModelProperty(value = "$column.columnComment") + private String receiveTime; + @ApiModelProperty(value = "$column.columnComment") + private String infoType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsOnlineOlPsWhitelistAQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRegionId()), "region_id", query.getRegionId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortNum()), "port_num", query.getPortNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortName()), "port_name", query.getPortName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantCode()), "pollutant_code", query.getPollutantCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getStartTime()), "start_time", query.getStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEndTime()), "end_time", query.getEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperator()), "operator", query.getOperator()); + wrapper.eq(ObjectUtil.isNotNull(query.getUserId()), "user_id", query.getUserId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReason()), "reason", query.getReason()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeleteTime()), "delete_time", query.getDeleteTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnable()), "enable", query.getEnable()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemarks()), "remarks", query.getRemarks()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifyStatusId()), "verify_status_id", query.getVerifyStatusId()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifyRemarks()), "verify_remarks", query.getVerifyRemarks()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifierId()), "verifier_id", query.getVerifierId()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifierName()), "verifier_name", query.getVerifierName()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifyTime()), "verify_time", query.getVerifyTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getVerifierMobile()), "verifier_mobile", query.getVerifierMobile()); + wrapper.eq(ObjectUtil.isNotNull(query.getStartTime2()), "start_time2", query.getStartTime2()); + wrapper.eq(ObjectUtil.isNotNull(query.getEndTime2()), "end_time2", query.getEndTime2()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime2()), "create_time2", query.getCreateTime2()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceiveTime()), "receive_time", query.getReceiveTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getInfoType()), "info_type", query.getInfoType()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.java new file mode 100644 index 0000000..50948a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsOnlineOlPsinfoA; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_psinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlPsinfoAQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键ID") + private String id; + @ApiModelProperty(value = "企业代码:社会统计信用代码") + private String psCode; + @ApiModelProperty(value = "企业名称") + private String psName; + @ApiModelProperty(value = "企业名拼音") + private String psLetter; + @ApiModelProperty(value = "企业地址") + private String address; + @ApiModelProperty(value = "国民经济行业代码") + private String industryCode; + @ApiModelProperty(value = "环保行业代码") + private String regulationIndustryId; + @ApiModelProperty(value = "行政区划代码ID,区县级") + private String regionId; + @ApiModelProperty(value = "企业经度") + private String longitude; + @ApiModelProperty(value = "企业纬度") + private String latitude; + @ApiModelProperty(value = "联系人") + private String contact; + @ApiModelProperty(value = "联系人手机") + private String contactphone; + @ApiModelProperty(value = "是否高架源,1-是") + private String isHighChimney; + @ApiModelProperty(value = "$column.columnComment") + private String isRubbish; + @ApiModelProperty(value = "重点非重点code") + private String categoryTypeId; + @ApiModelProperty(value = "是否有排污许可证 0否 1是") + private String isPwxk; + @ApiModelProperty(value = "企业状态,1-在线 2-超标 3-异常 4-离线") + private String psState; + @ApiModelProperty(value = "是否启用,1-启用 0-禁用") + private String enable; + @ApiModelProperty(value = "联网时间") + private String networkTime; + @ApiModelProperty(value = "是否联网,1-是 0-否") + private Long networkStatus; + @ApiModelProperty(value = "运维标记联网时间") + private String opFlagNetworkTime; + @ApiModelProperty(value = "运维标记是否联网 1-是 0-否") + private Long opFlagNetworkStatus; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "停用改启用时间") + private String enableTime; + @ApiModelProperty(value = "禁用时间") + private String deleteTime; + @ApiModelProperty(value = "是否同步给省厅 1同步 0不同步") + private Long syProvince; + @ApiModelProperty(value = "$column.columnComment") + private Long sySky; + @ApiModelProperty(value = "企业类型 0线上(非现场执法),1线下") + private Long psType; + @ApiModelProperty(value = "企业是否生成处置单 0不生成,1生成") + private Long psDisposal; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsOnlineOlPsinfoAQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsCode()), "ps_code", query.getPsCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsName()), "ps_name", query.getPsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsLetter()), "ps_letter", query.getPsLetter()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddress()), "address", query.getAddress()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCode()), "industry_code", query.getIndustryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getRegulationIndustryId()), "regulation_industry_id", query.getRegulationIndustryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRegionId()), "region_id", query.getRegionId()); + wrapper.eq(ObjectUtil.isNotNull(query.getLongitude()), "longitude", query.getLongitude()); + wrapper.eq(ObjectUtil.isNotNull(query.getLatitude()), "latitude", query.getLatitude()); + wrapper.eq(ObjectUtil.isNotNull(query.getContact()), "contact", query.getContact()); + wrapper.eq(ObjectUtil.isNotNull(query.getContactphone()), "contactphone", query.getContactphone()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsHighChimney()), "is_high_chimney", query.getIsHighChimney()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsRubbish()), "is_rubbish", query.getIsRubbish()); + wrapper.eq(ObjectUtil.isNotNull(query.getCategoryTypeId()), "category_type_id", query.getCategoryTypeId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIsPwxk()), "is_pwxk", query.getIsPwxk()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsState()), "ps_state", query.getPsState()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnable()), "enable", query.getEnable()); + wrapper.eq(ObjectUtil.isNotNull(query.getNetworkTime()), "network_time", query.getNetworkTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNetworkStatus()), "network_status", query.getNetworkStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpFlagNetworkTime()), "op_flag_network_time", query.getOpFlagNetworkTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOpFlagNetworkStatus()), "op_flag_network_status", query.getOpFlagNetworkStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnableTime()), "enable_time", query.getEnableTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeleteTime()), "delete_time", query.getDeleteTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSyProvince()), "sy_province", query.getSyProvince()); + wrapper.eq(ObjectUtil.isNotNull(query.getSySky()), "sy_sky", query.getSySky()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsType()), "ps_type", query.getPsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPsDisposal()), "ps_disposal", query.getPsDisposal()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.java new file mode 100644 index 0000000..920a94a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.OdsOnlineOlStopinfoA; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 【请填写功能名称】对象 ods_online_ol_stopinfo_a + * + * @author szhpt + * @date 2023-06-10*/ +@ApiModel(value = "【请填写功能名称】") +@EqualsAndHashCode(callSuper = false) +@Data +public class OdsOnlineOlStopinfoAQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "$column.columnComment") + private String factoryId; + @ApiModelProperty(value = "$column.columnComment") + private String portNum; + @ApiModelProperty(value = "$column.columnComment") + private String portName; + @ApiModelProperty(value = "$column.columnComment") + private String startTime; + @ApiModelProperty(value = "$column.columnComment") + private String endTime; + @ApiModelProperty(value = "$column.columnComment") + private String dcsType; + @ApiModelProperty(value = "$column.columnComment") + private String operator; + @ApiModelProperty(value = "$column.columnComment") + private String reason; + @ApiModelProperty(value = "$column.columnComment") + private String createTime; + @ApiModelProperty(value = "$column.columnComment") + private String updateTime; + @ApiModelProperty(value = "$column.columnComment") + private String deleteTime; + @ApiModelProperty(value = "$column.columnComment") + private String enable; + @ApiModelProperty(value = "$column.columnComment") + private String infoSources; + @ApiModelProperty(value = "$column.columnComment") + private String userId; + @ApiModelProperty(value = "$column.columnComment") + private String remarks; + @ApiModelProperty(value = "$column.columnComment") + private String startTimeFormat; + @ApiModelProperty(value = "$column.columnComment") + private String endTimeFormat; + @ApiModelProperty(value = "$column.columnComment") + private String createTimeFormat; + @ApiModelProperty(value = "$column.columnComment") + private String checkTime; + @ApiModelProperty(value = "$column.columnComment") + private String checkUserId; + @ApiModelProperty(value = "$column.columnComment") + private String checkUserName; + @ApiModelProperty(value = "$column.columnComment") + private Long checkStatus; + @ApiModelProperty(value = "$column.columnComment") + private String checkRemarks; + @ApiModelProperty(value = "$column.columnComment") + private Long startTimeUnix; + @ApiModelProperty(value = "$column.columnComment") + private Long endTimeUnix; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(OdsOnlineOlStopinfoAQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortNum()), "port_num", query.getPortNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getPortName()), "port_name", query.getPortName()); + wrapper.eq(ObjectUtil.isNotNull(query.getStartTime()), "start_time", query.getStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEndTime()), "end_time", query.getEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsType()), "dcs_type", query.getDcsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOperator()), "operator", query.getOperator()); + wrapper.eq(ObjectUtil.isNotNull(query.getReason()), "reason", query.getReason()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeleteTime()), "delete_time", query.getDeleteTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnable()), "enable", query.getEnable()); + wrapper.eq(ObjectUtil.isNotNull(query.getInfoSources()), "info_sources", query.getInfoSources()); + wrapper.eq(ObjectUtil.isNotNull(query.getUserId()), "user_id", query.getUserId()); + wrapper.eq(ObjectUtil.isNotNull(query.getRemarks()), "remarks", query.getRemarks()); + wrapper.eq(ObjectUtil.isNotNull(query.getStartTimeFormat()), "start_time_format", query.getStartTimeFormat()); + wrapper.eq(ObjectUtil.isNotNull(query.getEndTimeFormat()), "end_time_format", query.getEndTimeFormat()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTimeFormat()), "create_time_format", query.getCreateTimeFormat()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckTime()), "check_time", query.getCheckTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckUserId()), "check_user_id", query.getCheckUserId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckUserName()), "check_user_name", query.getCheckUserName()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckStatus()), "check_status", query.getCheckStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckRemarks()), "check_remarks", query.getCheckRemarks()); + wrapper.eq(ObjectUtil.isNotNull(query.getStartTimeUnix()), "start_time_unix", query.getStartTimeUnix()); + wrapper.eq(ObjectUtil.isNotNull(query.getEndTimeUnix()), "end_time_unix", query.getEndTimeUnix()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslFactoryQuery.java new file mode 100644 index 0000000..68633e9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslFactoryQuery.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcAdslFactory; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业与接入数据类型关联对象 pc_adsl_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业与接入数据类型关联") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcAdslFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "接入数据类型id") + private String adslId; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcAdslFactoryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getAdslId()), "adsl_id", query.getAdslId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslQuery.java new file mode 100644 index 0000000..c61f529 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcAdslQuery.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcAdsl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业接入数据类型对象 pc_adsl + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业接入数据类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcAdslQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long adslId; + @ApiModelProperty(value = "接入数据类型编码") + private String adslName; + @ApiModelProperty(value = "接入数据类型名称") + private String adslCode; + @ApiModelProperty(value = "是否启用") + private String adslEnable; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcAdslQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getAdslId()), "adsl_id", query.getAdslId()); + wrapper.eq(ObjectUtil.isNotNull(query.getAdslName()), "adsl_name", query.getAdslName()); + wrapper.eq(ObjectUtil.isNotNull(query.getAdslCode()), "adsl_code", query.getAdslCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getAdslEnable()), "adsl_enable", query.getAdslEnable()); + wrapper.eq("adsl_enable", 1); + wrapper.orderByAsc("sort"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.java new file mode 100644 index 0000000..8358468 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.java @@ -0,0 +1,52 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcControlRequirements; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 管控要求对象 pc_control_requirements + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "管控要求") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcControlRequirementsQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "污染物种类id") + private String pollutantId; + @ApiModelProperty(value = "国家或地方污染物排放标准名") + private String pollutantStandardName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcControlRequirementsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantId()), "pollutant_id", query.getPollutantId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantStandardName()), "pollutant_standard_name", query.getPollutantStandardName()); + wrapper.orderByAsc("id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlCoordinateOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlCoordinateOperationLogQuery.java new file mode 100644 index 0000000..c00118f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlCoordinateOperationLogQuery.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcFactoryAccessControlCoordinateOperationLog; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + +/** + * @Description: 企业门禁坐标操作日志 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="pc_factory_access_control_coordinate_operation_log查询对象") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryAccessControlCoordinateOperationLogQuery extends PageQuery +{ + + /**主键标识*/ + @ApiModelProperty(value = "主键标识") + private String logId; + /**factoryName*/ + @ApiModelProperty(value = "门禁名称") + private String accessControlName; + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + /**企业ID*/ + @ApiModelProperty(value = "企业ID") + private String factoryId; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryAccessControlCoordinateOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.like(ObjectUtil.isNotNull(query.getAccessControlName()), "access_control_name", query.getAccessControlName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.orderByDesc("operation_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlQuery.java new file mode 100644 index 0000000..41920f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryAccessControlQuery.java @@ -0,0 +1,61 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcFactoryAccessControl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * @Description: 企业门禁信息 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="pc_factory_access_control查询对象") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryAccessControlQuery extends PageQuery +{ + + /**企业id*/ + @ApiModelProperty(value = "企业id") + private String factoryId; + /**门禁名称*/ + @ApiModelProperty(value = "门禁名称") + private String accessControlName; + /**门禁编码*/ + @ApiModelProperty(value = "门禁编码") + private String accessControlCode; + /**门禁经度*/ + @ApiModelProperty(value = "门禁经度") + private String accessControlLng; + /**门禁纬度*/ + @ApiModelProperty(value = "门禁纬度") + private String accessControlLat; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryAccessControlQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getAccessControlName()), "access_control_name", query.getAccessControlName()); + wrapper.eq(StringUtils.isNotEmpty(query.getAccessControlCode()), "access_control_code", query.getAccessControlCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getAccessControlLng()), "access_control_lng", query.getAccessControlLng()); + wrapper.eq(StringUtils.isNotEmpty(query.getAccessControlLat()), "access_control_lat", query.getAccessControlLat()); + wrapper.orderByDesc("factory_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryCoordinateOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryCoordinateOperationLogQuery.java new file mode 100644 index 0000000..1ebf63c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryCoordinateOperationLogQuery.java @@ -0,0 +1,59 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcFactoryCoordinateOperationLog; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + +/** + * @Description: 企业坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-18 + * @Version: V1.0 + */ +@ApiModel(value="企业坐标操作查询对象") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryCoordinateOperationLogQuery extends PageQuery +{ + + /**主键标识*/ + @ApiModelProperty(value = "主键标识") + private String logId; + /**factoryName*/ + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + /**企业ID*/ + @ApiModelProperty(value = "企业ID") + private String factoryId; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryCoordinateOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.like(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.orderByDesc("operation_time"); + + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.java new file mode 100644 index 0000000..2659935 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.java @@ -0,0 +1,64 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcFactoryPollutantEmissionsRank; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 污染排放跟踪(实际排放/许可排放)对象 pc_factory_pollutant_emissions_rank + * + * @author szhpt + * @date 2023-02-10*/ +@ApiModel(value = "污染排放跟踪(实际排放/许可排放)") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryPollutantEmissionsRankQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键ID") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "污染物类别") + private String pollCategory; + @ApiModelProperty(value = "污染物名称") + private String pollName; + @ApiModelProperty(value = "排放量排名") + private String emissionsRank; + @ApiModelProperty(value = "实际排放量") + private String emissionsActual; + @ApiModelProperty(value = "许可排放量") + private String emissionsPermit; + @ApiModelProperty(value = "占比") + private String emissionsRatio; + @ApiModelProperty(value = "0-系统, 1-执行报告") + private String dataSource; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryPollutantEmissionsRankQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollCategory()), "poll_category", query.getPollCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollName()), "poll_name", query.getPollName()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsRank()), "emissions_rank", query.getEmissionsRank()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsActual()), "emissions_actual", query.getEmissionsActual()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsPermit()), "emissions_permit", query.getEmissionsPermit()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsRatio()), "emissions_ratio", query.getEmissionsRatio()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()); + wrapper.orderByDesc("emissions_rank"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.java new file mode 100644 index 0000000..0ff96ef --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcFactoryPollutant; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业与污染物关系对象 pc_factory_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "企业与污染物关系") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryPollutantQuery extends PageQuery +{ + + @ApiModelProperty(value = "中间表id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "污染物id") + private String pollutantId; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryPollutantQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantId()), "pollutant_id", query.getPollutantId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryQuery.java new file mode 100644 index 0000000..657060a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcFactoryQuery.java @@ -0,0 +1,209 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcFactory; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + + +/** + * 企业基本信息对象 pc_factory + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "企业基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + + private List ids; + + @ApiModelProperty(value = "排污单位名称") + private String factoryName; + @ApiModelProperty(value = "市编码") + private String cityCode; + @ApiModelProperty(value = "市名称") + private String cityName; + @ApiModelProperty(value = "县编码") + private String countryCode; + @ApiModelProperty(value = "县名称") + private String countryName; + @ApiModelProperty(value = "是否重点排污单位") + private String wipollunit; + @ApiModelProperty(value = "许可管理类别") + private String licenseManType; + @ApiModelProperty(value = "许可是否整改") + private String licenseWabarbeitung; + @ApiModelProperty(value = "绩效管控级别") + private String preConLevel; + @ApiModelProperty(value = "排污许可证编码") + private String pollDisLicenseCode; + @ApiModelProperty(value = "排污许可证有效期限") + private String pollDisLicenseDeadline; + @ApiModelProperty(value = "排污许可证发证机关") + private String pollDisLicenseIssuing; + @ApiModelProperty(value = "统一社会信用代码") + private String uscCode; + @ApiModelProperty(value = "组织机构代码") + private String insFramCode; + @ApiModelProperty(value = "注册地址") + private String address; + @ApiModelProperty(value = "生产经营场所地址") + private String prodBusiOperation; + @ApiModelProperty(value = "邮政编码") + private String postalCode; + @ApiModelProperty(value = "行业类别") + private String industryCategory; + @ApiModelProperty(value = "其他行业类别") + private String industryCategoryOther; + @ApiModelProperty(value = "是否投产") + private String whetherProduction; + @ApiModelProperty(value = "投产日期") + private String productionDate; + @ApiModelProperty(value = "生产经营场所中心经度") + private String productionLon; + @ApiModelProperty(value = "生产经营场所中心纬度") + private String productionLat; + @ApiModelProperty(value = "法定代表人(主要负责人)") + private String principalMan; + @ApiModelProperty(value = "技术负责人") + private String technicalMan; + @ApiModelProperty(value = "固定电话") + private String tel; + @ApiModelProperty(value = "移动电话") + private String mobileTelephone; + @ApiModelProperty(value = "所在地是否属于大气重点控制区") + private String whetherLocalKeyAri; + @ApiModelProperty(value = "所在地是否属于总磷控制区") + private String whetherLocalKeyPho; + @ApiModelProperty(value = "所在地是否属于总氮控制区") + private String whetherLocalKeyNitrogen; + @ApiModelProperty(value = "所在地是否属于重金属污染物特别排放限值实施区域") + private String whetherLocalKeyPollArea; + @ApiModelProperty(value = "是否位于工业园区") + private String whetherLocalPark; + @ApiModelProperty(value = "是否有环评审批文件") + private String whetherReviewFile; + @ApiModelProperty(value = "是否有地方政府对违规项目的认定或备案文件") + private String whetherGovProFile; + @ApiModelProperty(value = "环境影响评价审批文件文号或备案编号") + private String environmentalCode; + @ApiModelProperty(value = "地方政府对违规项目的认定或备案文件文号") + private String govProIdentFile; + @ApiModelProperty(value = "主要污染物总量分配计划文件文号") + private String majorPollutantsCode; + @ApiModelProperty(value = "主要污染物类别") + private String majorPollutantCategories; + @ApiModelProperty(value = "大气主要污染物种类") + private String airMainPollutants; + @ApiModelProperty(value = "大气污染物排放规律") + private String airEmissionPollutants; + @ApiModelProperty(value = "大气污染物排放执行标准") + private String airDischargePollutants; + @ApiModelProperty(value = "废水主要污染物种类") + private String waterMainPollutants; + @ApiModelProperty(value = "废水污染物排放规律") + private String waterEmissionPollutants; + @ApiModelProperty(value = "废水污染物排放执行标准") + private String waterDischargePollutants; + @ApiModelProperty(value = "排污权使用和交易信息") + private String useTradingEmission; + @ApiModelProperty(value = "委托贮存/利用/处置环节污染防控技术要求") + private String sudLinksPollutionPrevention; + + @ApiModelProperty(value = "工业园区名称") + private String industrialParkName; + @ApiModelProperty(value = "工业园区编码") + private String industrialParkCode; + @ApiModelProperty(value = "是否有主要污染物总量分配计划文件") + private String pollutantTotalFileWhere; + + @ApiModelProperty(value = "生态环境信用类别") + private String ecoEnvCreditLevel; + + @ApiModel(value = "高级搜索查询条件vo") + @Data + public static class SearchVo extends PageQuery { + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "标签") + private Map labelMap; + + @ApiModelProperty(value = "是否展示企业重点标签") + private Boolean showMainLable; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcFactoryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getCityCode()), "city_code", query.getCityCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getCityName()), "city_name", query.getCityName()); + wrapper.eq(ObjectUtil.isNotNull(query.getCountryCode()), "country_code", query.getCountryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getCountryName()), "country_name", query.getCountryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getWipollunit()), "wipollunit", query.getWipollunit()); + wrapper.eq(ObjectUtil.isNotNull(query.getLicenseManType()), "license_man_type", query.getLicenseManType()); + wrapper.eq(ObjectUtil.isNotNull(query.getLicenseWabarbeitung()), "license_wabarbeitung", query.getLicenseWabarbeitung()); + wrapper.eq(ObjectUtil.isNotNull(query.getPreConLevel()), "pre_con_level", query.getPreConLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseCode()), "poll_dis_license_code", query.getPollDisLicenseCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseDeadline()), "poll_dis_license_deadline", query.getPollDisLicenseDeadline()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseIssuing()), "poll_dis_license_issuing", query.getPollDisLicenseIssuing()); + wrapper.eq(ObjectUtil.isNotNull(query.getUscCode()), "usc_code", query.getUscCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getInsFramCode()), "ins_fram_code", query.getInsFramCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getAddress()), "address", query.getAddress()); + wrapper.eq(ObjectUtil.isNotNull(query.getProdBusiOperation()), "prod_busi_operation", query.getProdBusiOperation()); + wrapper.eq(ObjectUtil.isNotNull(query.getPostalCode()), "postal_code", query.getPostalCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategory()), "industry_category", query.getIndustryCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryOther()), "industry_category_other", query.getIndustryCategoryOther()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherProduction()), "whether_production", query.getWhetherProduction()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionDate()), "production_date", query.getProductionDate()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionLon()), "production_lon", query.getProductionLon()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionLat()), "production_lat", query.getProductionLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getPrincipalMan()), "principal_man", query.getPrincipalMan()); + wrapper.eq(ObjectUtil.isNotNull(query.getTechnicalMan()), "technical_man", query.getTechnicalMan()); + wrapper.eq(ObjectUtil.isNotNull(query.getTel()), "tel", query.getTel()); + wrapper.eq(ObjectUtil.isNotNull(query.getMobileTelephone()), "mobile_telephone", query.getMobileTelephone()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherLocalKeyAri()), "whether_local_key_ari", query.getWhetherLocalKeyAri()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherLocalKeyPho()), "whether_local_key_pho", query.getWhetherLocalKeyPho()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherLocalKeyNitrogen()), "whether_local_key_nitrogen", query.getWhetherLocalKeyNitrogen()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherLocalKeyPollArea()), "whether_local_key_poll_area", query.getWhetherLocalKeyPollArea()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherLocalPark()), "whether_local_park", query.getWhetherLocalPark()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherReviewFile()), "whether_review_file", query.getWhetherReviewFile()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherGovProFile()), "whether_gov_pro_file", query.getWhetherGovProFile()); + wrapper.eq(ObjectUtil.isNotNull(query.getEnvironmentalCode()), "environmental_code", query.getEnvironmentalCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getGovProIdentFile()), "gov_pro_ident_file", query.getGovProIdentFile()); + wrapper.eq(ObjectUtil.isNotNull(query.getMajorPollutantsCode()), "major_pollutants_code", query.getMajorPollutantsCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getMajorPollutantCategories()), "major_pollutant_categories", query.getMajorPollutantCategories()); + wrapper.eq(ObjectUtil.isNotNull(query.getAirMainPollutants()), "air_main_pollutants", query.getAirMainPollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getAirEmissionPollutants()), "air_emission_pollutants", query.getAirEmissionPollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getAirDischargePollutants()), "air_discharge_pollutants", query.getAirDischargePollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getWaterMainPollutants()), "water_main_pollutants", query.getWaterMainPollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getWaterEmissionPollutants()), "water_emission_pollutants", query.getWaterEmissionPollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getWaterDischargePollutants()), "water_discharge_pollutants", query.getWaterDischargePollutants()); + wrapper.eq(ObjectUtil.isNotNull(query.getUseTradingEmission()), "use_trading_emission", query.getUseTradingEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getSudLinksPollutionPrevention()), "sud_links_pollution_prevention", query.getSudLinksPollutionPrevention()); + wrapper.eq(ObjectUtil.isNotNull(query.getEcoEnvCreditLevel()), "eco_env_credit_level", query.getEcoEnvCreditLevel()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcIndustryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcIndustryQuery.java new file mode 100644 index 0000000..e17e44b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcIndustryQuery.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcIndustry; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 行业对象 pc_industry + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "行业") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcIndustryQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + @ApiModelProperty(value = "行业编码") + private String indusCode; + @ApiModelProperty(value = "行业名称") + private String indusName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcIndustryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndusCode()), "indus_code", query.getIndusCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndusName()), "indus_name", query.getIndusName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.java new file mode 100644 index 0000000..e2b70b5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcLabelFactory; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 特征标签-与企业关系中间对象 pc_label_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-与企业关系中间") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "特征标签id") + private String labelId; + @ApiModelProperty(value = "是否是企业重点展示标签") + private String lableUseing; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcLabelFactoryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getLabelId()), "label_id", query.getLabelId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelQuery.java new file mode 100644 index 0000000..cb6b71c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelQuery.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcLabel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 特征标签对象 pc_label + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "特征标签") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelQuery extends PageQuery +{ + + @ApiModelProperty(value = "标签类型id") + private String id; + @ApiModelProperty(value = "标签类型") + private String labelType; + @ApiModelProperty(value = "标签类别") + private String labelCategory; + @ApiModelProperty(value = "标签编码") + private String labelCode; + @ApiModelProperty(value = "标签值") + private String labelVal; + @ApiModelProperty(value = "标签级别") + private String labelLevel; + @ApiModelProperty(value = "标签父类id") + private String labelParamid; + @ApiModelProperty(value = "排序") + private int orderNum; + @ApiModelProperty(value = "参数是否多选(0:单选,1:多选)") + private String labelMultipleChoice; + @ApiModelProperty(value = "更新时间") + private String updateTimes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcLabelQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelType()), "label_type", query.getLabelType()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelCategory()), "label_category", query.getLabelCategory()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelCode()), "label_code", query.getLabelCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelVal()), "label_val", query.getLabelVal()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelLevel()), "label_level", query.getLabelLevel()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelParamid()), "label_paramid", query.getLabelParamid()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelMultipleChoice()), "labelMultipleChoice", query.getLabelMultipleChoice()); + wrapper.orderByAsc("order_num"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelValueQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelValueQuery.java new file mode 100644 index 0000000..4dded4a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcLabelValueQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcLabelValue; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 特征标签-参数值对象 pc_label_value + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "特征标签-参数值") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcLabelValueQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "特征标签id") + private String labelId; + @ApiModelProperty(value = "参数编码") + private String argumentsCode; + @ApiModelProperty(value = "参数名称") + private String argumentsName; + @ApiModelProperty(value = "排序") + private int orderNum; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcLabelValueQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getLabelId()), "label_id", query.getLabelId()); + wrapper.eq(StringUtils.isNotEmpty(query.getArgumentsCode()), "arguments_code", query.getArgumentsCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getArgumentsName()), "arguments_name", query.getArgumentsName()); + wrapper.orderByAsc("order_num", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.java new file mode 100644 index 0000000..9f7c6a1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcManagementFacilities; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 治理设施对象 pc_management_facilities + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "治理设施") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcManagementFacilitiesQuery extends PageQuery +{ + + @ApiModelProperty(value = "$column.columnComment") + private String id; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcManagementFacilitiesQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuFactoryQuery.java new file mode 100644 index 0000000..6d48438 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuFactoryQuery.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcMenuFactory; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业档案菜单与企业关联中间对象 pc_menu_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单与企业关联中间") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcMenuFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "菜单表id") + private String menuId; + @ApiModelProperty(value = "是否启用(移除功能)") + private String menuIfUse; + @ApiModelProperty(value = "是否重点关注") + private String menuFocus; + @ApiModelProperty(value = "是否重点排序") + private String menuFocusIndex; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcMenuFactoryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuId()), "menu_id", query.getMenuId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuIfUse()), "menu_if_use", query.getMenuIfUse()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuFocus()), "menu_focus", query.getMenuFocus()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuFocusIndex()), "menu_focus_index", query.getMenuFocusIndex()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuQuery.java new file mode 100644 index 0000000..bc8594d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcMenuQuery.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcMenu; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业档案菜单管理对象 pc_menu + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "企业档案菜单管理") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcMenuQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "菜单名称") + private String menuCode; + @ApiModelProperty(value = "菜单编码") + private String menuName; + @ApiModelProperty(value = "是否启用") + private String menuIfUse; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcMenuQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuCode()), "menu_code", query.getMenuCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuName()), "menu_name", query.getMenuName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMenuIfUse()), "menu_if_use", query.getMenuIfUse()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcNoiseTypeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcNoiseTypeQuery.java new file mode 100644 index 0000000..263b861 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcNoiseTypeQuery.java @@ -0,0 +1,45 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcNoiseType; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 噪声排放类型对象 pc_noise_type + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "噪声排放类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcNoiseTypeQuery extends PageQuery +{ + + @ApiModelProperty(value = "噪声类别id") + private String id; + @ApiModelProperty(value = "噪声类型名称") + private String noiseTypeName; + @ApiModelProperty(value = "噪声编码") + private String noiseTypeCode; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcNoiseTypeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseTypeName()), "noise_type_name", query.getNoiseTypeName()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoiseTypeCode()), "noise_type_code", query.getNoiseTypeCode()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletAppQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletAppQuery.java new file mode 100644 index 0000000..e99b459 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletAppQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气有组织、无组织排口对象 pc_outlet + * + * @author szhpt + * @date 2023-07-10*/ +@ApiModel(value = "废气有组织、无组织排口-APP端查询实体") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletAppQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "污染物类型(1废气、2废水、3、无组织)") + private String pollutantType; + @ApiModelProperty(value = "排口分类(有组织、无组织)") + private String pollutantOutletType; + @ApiModelProperty(value = "排放形式") + private String emissionsForm; + @ApiModelProperty(value = "排放口设置是否符合要求") + private String whetherOutletRequirements; + @ApiModelProperty(value = "产污环节") + private String productionProcess; + @ApiModelProperty(value = "排口类型(主要排口、一般排扣)") + private String outletTypes; + @ApiModelProperty(value = "对应监测点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "对应治理设施编号") + private String manageFacilitiesCode; + @ApiModelProperty(value = "对应治理设施名称") + private String manageFacilitiesName; + @ApiModelProperty(value = "对应生产设施编号") + private String productionFacilitiesCode; + @ApiModelProperty(value = "对应生产设施名称") + private String productionFacilitiesName; + @ApiModelProperty(value = "排口经度") + private String outletLon; + @ApiModelProperty(value = "排口纬度") + private String outletLat; + @ApiModelProperty(value = "排气筒高度(m)") + private String exhaustFunnelHight; + @ApiModelProperty(value = "排气筒出口内径(m)") + private String exhaustFunnelInner; + @ApiModelProperty(value = "排气温度") + private String exhaustGasTemperature; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排口监测类型") + private String outletMonitorName; + @ApiModelProperty(value = "治理设施工艺") + private String treatmentFacilityProcess; + @ApiModelProperty(value = "视频监控") + private String videoSurveillance; + @ApiModelProperty(value = "许可证无组织监测点位名称") + private String stationName; + @ApiModelProperty(value = "无组织监测点位") + private String stationId; + @ApiModelProperty(value = "主要污染防治措施") + private String pollutionPreventionMeasures; + @ApiModelProperty(value = "废水来源") + private String sourcesWastewater; + @ApiModelProperty(value = "标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + private String mark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcOutletAppQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantOutletType()), "pollutant_outlet_type", query.getPollutantOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsForm()), "emissions_form", query.getEmissionsForm()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherOutletRequirements()), "whether_outlet_requirements", query.getWhetherOutletRequirements()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionProcess()), "production_process", query.getProductionProcess()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletTypes()), "outlet_types", query.getOutletTypes()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustFunnelHight()), "exhaust_funnel_hight", query.getExhaustFunnelHight()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustFunnelInner()), "exhaust_funnel_inner", query.getExhaustFunnelInner()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustGasTemperature()), "exhaust_gas_temperature", query.getExhaustGasTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + if(ObjectUtil.isNotEmpty(query.getOutletName())){ + wrapper.and(QueryWrapper -> QueryWrapper.like( "outlet_name", query.getOutletName()).or().like( "outlet_code", query.getOutletName())); + } + wrapper.eq(ObjectUtil.isNotNull(query.getStationName()), "station_name", query.getStationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionPreventionMeasures()), "pollution_prevention_measures", query.getPollutionPreventionMeasures()); + wrapper.eq(ObjectUtil.isNotNull(query.getSourcesWastewater()), "sources_wastewater", query.getSourcesWastewater()); + wrapper.eq(StringUtils.isNotEmpty(query.getMark()), "mark", query.getMark()); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateOperationLogQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateOperationLogQuery.java new file mode 100644 index 0000000..60c95e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateOperationLogQuery.java @@ -0,0 +1,72 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcOutletCoordinateOperationLog; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + + +/** + * @Description: 在线监测,无组织点位,排口经纬度坐标操作记录表 + * @Author: code-generate + * @Date: 2023-07-19 + * @Version: V1.0 + */ +@ApiModel(value="在线监测,无组织点位,排口经纬度坐标操作记录表查询对象") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletCoordinateOperationLogQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键标识") + private String logId; + @ApiModelProperty(value = "污染物类型(1排口、3无组织、4在线监测)") + private String pollutantType; + @ApiModelProperty(value = "在线监测点位名称/无组织点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "排口名称") + private String outletName; + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; + @ApiModelProperty(value = "企业ID") + private String factoryId; + + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcOutletCoordinateOperationLogQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.ge(ObjectUtil.isNotNull(query.getStartTime()), "operation_time", query.getStartTime()); + wrapper.le(ObjectUtil.isNotNull(query.getEndTime()), "operation_time", query.getEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringPointName()), "monitoring_point_name", query.getMonitoringPointName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + String pollutantType = query.getPollutantType(); + if("1".equals(pollutantType)){ + List pollutantTypeList = new ArrayList<>(); + pollutantTypeList.add("1"); + pollutantTypeList.add("2"); + wrapper.in("pollutant_type",pollutantTypeList); + }else{ + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + } + wrapper.orderByDesc("operation_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateQuery.java new file mode 100644 index 0000000..4a3c138 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletCoordinateQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 查询在线监测,无组织,排口坐标入参 + * + * @author szhpt + * @date 2023-07-19*/ +@ApiModel(value = "查询在线监测,无组织,排口坐标入参") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletCoordinateQuery extends PageQuery +{ + + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "污染物类型(1排口、3无组织、4在线监测)") + private String pollutantType; + @ApiModelProperty(value = "在线监测点位名称/无组织点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "排放口名称") + private String outletName; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcOutletCoordinateQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(StringUtils.isNotEmpty(query.getMonitoringPointName()), "monitoring_point_name", query.getMonitoringPointName()); + wrapper.like(StringUtils.isNotEmpty(query.getOutletName()), "outlet_name", query.getOutletName()); + String pollutantType = query.getPollutantType(); + if("1".equals(pollutantType)){ + List pollutantTypeList = new ArrayList<>(); + pollutantTypeList.add("1"); + pollutantTypeList.add("2"); + wrapper.in("pollutant_type",pollutantTypeList); + }else{ + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + } + wrapper.eq("is_status","1"); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasQuery.java new file mode 100644 index 0000000..e694aba --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasQuery.java @@ -0,0 +1,47 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气有组织、无组织排口对象 pc_outlet + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "废气有组织在线监测点位匹配列表参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletGasQuery extends PageQuery +{ + @ApiModelProperty(value = "主键标识ID") + private String monitoringPointId; + + @ApiModelProperty(value = "在线监测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "对应许可证排口名称") + private String outletName; + + @ApiModelProperty(value = "对应许可证无组织源编号") + private String outletCode; + + @ApiModelProperty(value = "排口类型") + private String outletTypes; + + @ApiModelProperty(value = "污染物类型 (废气有组织在线监测点:4|废水在线监测点:4)",required = true) + private String pollutantType; + + @ApiModelProperty(value = "排口分类 (废气有组织在线监测点:1|废水在线监测点:2|voc在线监测点:3)",required = true) + private String pollutantOutletType; + + private String factoryId; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.java new file mode 100644 index 0000000..418b15f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.java @@ -0,0 +1,27 @@ +package cn.cecep.talroad.vo.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + + +@ApiModel(value = "废气有组织在线监测点编辑参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletGasUpdateQuery { + + @ApiModelProperty(value = "监测点主键标识") + private String monitoringPointId; + + @ApiModelProperty(value = "父级排口Id") + private String parentOutletId; + + @ApiModelProperty(value = "对应许可证排口唯一标识") + private String pcOutletGasId; + + @ApiModelProperty(value = "1-废气有组织/2-废水") + private String monitoringPointType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletQuery.java new file mode 100644 index 0000000..d38f389 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcOutletQuery.java @@ -0,0 +1,112 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcOutlet; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气有组织、无组织排口对象 pc_outlet + * + * @author szhpt + * @date 2023-01-11*/ +@ApiModel(value = "废气有组织、无组织排口") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcOutletQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "污染物类型(1废气、2废水、3、无组织)") + private String pollutantType; + @ApiModelProperty(value = "排口分类(有组织、无组织)") + private String pollutantOutletType; + @ApiModelProperty(value = "排放形式") + private String emissionsForm; + @ApiModelProperty(value = "排放口设置是否符合要求") + private String whetherOutletRequirements; + @ApiModelProperty(value = "产污环节") + private String productionProcess; + @ApiModelProperty(value = "排口类型(主要排口、一般排扣)") + private String outletTypes; + @ApiModelProperty(value = "对应监测点位名称") + private String monitoringPointName; + @ApiModelProperty(value = "对应治理设施编号") + private String manageFacilitiesCode; + @ApiModelProperty(value = "对应治理设施名称") + private String manageFacilitiesName; + @ApiModelProperty(value = "对应生产设施编号") + private String productionFacilitiesCode; + @ApiModelProperty(value = "对应生产设施名称") + private String productionFacilitiesName; + @ApiModelProperty(value = "排口经度") + private String outletLon; + @ApiModelProperty(value = "排口纬度") + private String outletLat; + @ApiModelProperty(value = "排气筒高度(m)") + private String exhaustFunnelHight; + @ApiModelProperty(value = "排气筒出口内径(m)") + private String exhaustFunnelInner; + @ApiModelProperty(value = "排气温度") + private String exhaustGasTemperature; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排口监测类型") + private String outletMonitorName; + @ApiModelProperty(value = "治理设施工艺") + private String treatmentFacilityProcess; + @ApiModelProperty(value = "视频监控") + private String videoSurveillance; + @ApiModelProperty(value = "许可证无组织监测点位名称") + private String stationName; + @ApiModelProperty(value = "无组织监测点位") + private String stationId; + @ApiModelProperty(value = "主要污染防治措施") + private String pollutionPreventionMeasures; + @ApiModelProperty(value = "废水来源") + private String sourcesWastewater; + @ApiModelProperty(value = "标记 N正常 F停运 M维护/维修 S手工输入的设定值 D故障/断电 C校准 T超测量上限") + private String mark; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcOutletQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantType()), "pollutant_type", query.getPollutantType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantOutletType()), "pollutant_outlet_type", query.getPollutantOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsForm()), "emissions_form", query.getEmissionsForm()); + wrapper.eq(ObjectUtil.isNotNull(query.getWhetherOutletRequirements()), "whether_outlet_requirements", query.getWhetherOutletRequirements()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionProcess()), "production_process", query.getProductionProcess()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletTypes()), "outlet_types", query.getOutletTypes()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustFunnelHight()), "exhaust_funnel_hight", query.getExhaustFunnelHight()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustFunnelInner()), "exhaust_funnel_inner", query.getExhaustFunnelInner()); + wrapper.eq(ObjectUtil.isNotNull(query.getExhaustGasTemperature()), "exhaust_gas_temperature", query.getExhaustGasTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.like(ObjectUtil.isNotEmpty(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationName()), "station_name", query.getStationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutionPreventionMeasures()), "pollution_prevention_measures", query.getPollutionPreventionMeasures()); + wrapper.eq(ObjectUtil.isNotNull(query.getSourcesWastewater()), "sources_wastewater", query.getSourcesWastewater()); + wrapper.eq(StringUtils.isNotEmpty(query.getMark()), "mark", query.getMark()); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcPollutantQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcPollutantQuery.java new file mode 100644 index 0000000..3081077 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcPollutantQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcPollutant; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 污染物对象 pc_pollutant + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "污染物") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcPollutantQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "污染物类别") + private String pollCategory; + @ApiModelProperty(value = "污染物名称") + private String pollName; + @ApiModelProperty(value = "污染物编码") + private String pollCode; + @ApiModelProperty(value = "污染物单位") + private String pollUnit; + @ApiModelProperty(value = "排放规律") + private String emissionsLaws; + @ApiModelProperty(value = "执行标准") + private String executiveStandard; + + @ApiModelProperty(value = "是否大气管控监管污染物") + private String gasType; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcPollutantQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollCategory()), "poll_category", query.getPollCategory()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollName()), "poll_name", query.getPollName()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollCode()), "poll_code", query.getPollCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollUnit()), "poll_unit", query.getPollUnit()); + wrapper.eq(StringUtils.isNotEmpty(query.getEmissionsLaws()), "emissions_laws", query.getEmissionsLaws()); + wrapper.eq(StringUtils.isNotEmpty(query.getExecutiveStandard()), "executive_standard", query.getExecutiveStandard()); + wrapper.eq(StringUtils.isNotEmpty(query.getGasType()), "is_gas_type", query.getGasType()); + wrapper.orderByAsc("id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.java new file mode 100644 index 0000000..ab5a78f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.java @@ -0,0 +1,39 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcProductionFacility; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 生产设施对象 pc_production_facility + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "生产设施") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcProductionFacilityQuery extends PageQuery +{ + + @ApiModelProperty(value = "中间表id") + private String id; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcProductionFacilityQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcSolidHazardousTypeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcSolidHazardousTypeQuery.java new file mode 100644 index 0000000..60266da --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcSolidHazardousTypeQuery.java @@ -0,0 +1,78 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcSolidHazardousType; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 固危废贮存信息--危险废物名录类型对象 pc_solid_hazardous_type + * + * @author szhpt + * @date 2023-03-21*/ +@ApiModel(value = "固危废贮存信息--危险废物名录类型") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcSolidHazardousTypeQuery extends PageQuery +{ + + @ApiModelProperty(value = "ID") + private String id; + @ApiModelProperty(value = "废物类别") + private String type; + @ApiModelProperty(value = "类别名称") + private String name; + @ApiModelProperty(value = "行业来源") + private String source; + @ApiModelProperty(value = "废物代码") + private String code; + @ApiModelProperty(value = "物描述") + private String describe; + @ApiModelProperty(value = "危险特性") + private String characteristics; + @ApiModelProperty(value = "状态 N 停用 Y启用") + private String state; + @ApiModelProperty(value = "创建时间") + private String entityCreatedate; + @ApiModelProperty(value = "修改时间") + private String entityModifydate; + @ApiModelProperty(value = "创建人") + private String entityCreateuser; + @ApiModelProperty(value = "修改人") + private String entityModifyuser; + @ApiModelProperty(value = "版本号") + private String version; + @ApiModelProperty(value = "$column.columnComment") + private String valid; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcSolidHazardousTypeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getType()), "type", query.getType()); + wrapper.eq(ObjectUtil.isNotNull(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getSource()), "source", query.getSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getCode()), "code", query.getCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDescribe()), "describe", query.getDescribe()); + wrapper.eq(ObjectUtil.isNotNull(query.getCharacteristics()), "characteristics", query.getCharacteristics()); + wrapper.eq(ObjectUtil.isNotNull(query.getState()), "state", query.getState()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntityCreatedate()), "entity_createdate", query.getEntityCreatedate()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntityModifydate()), "entity_modifydate", query.getEntityModifydate()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntityCreateuser()), "entity_createuser", query.getEntityCreateuser()); + wrapper.eq(ObjectUtil.isNotNull(query.getEntityModifyuser()), "entity_modifyuser", query.getEntityModifyuser()); + wrapper.eq(ObjectUtil.isNotNull(query.getVersion()), "version", query.getVersion()); + wrapper.eq(ObjectUtil.isNotNull(query.getValid()), "valid", query.getValid()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingEntranceGuQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingEntranceGuQuery.java new file mode 100644 index 0000000..d973e3b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingEntranceGuQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcStationBuildingEntranceGu; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 站房门禁监管信息对象 pc_station_building_entrance_gu + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房门禁监管信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingEntranceGuQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "站房id") + private String stationBuildingId; + @ApiModelProperty(value = "刷卡开始时间") + private String visitStartTime; + @ApiModelProperty(value = "刷卡结束时间") + private String visitEndTime; + @ApiModelProperty(value = "门禁卡号") + private String entranceGuardCode; + @ApiModelProperty(value = "持卡人名称") + private String entranceGuardSignature; + @ApiModelProperty(value = "门禁卡类型") + private String entranceGuardType; + @ApiModelProperty(value = "图片") + private String entranceGuardImage; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcStationBuildingEntranceGuQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getStationBuildingId()), "station_building_id", query.getStationBuildingId()); + wrapper.ge(StringUtils.isNotEmpty(query.getVisitStartTime()) && StringUtils.isNotEmpty(query.getVisitStartTime()), "visit_time", query.getVisitStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getVisitEndTime()) && StringUtils.isNotEmpty(query.getVisitEndTime()), "visit_time", query.getVisitEndTime()); + + wrapper.eq(StringUtils.isNotEmpty(query.getEntranceGuardCode()), "entrance_guard_code", query.getEntranceGuardCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getEntranceGuardSignature()), "entrance_guard_signature", query.getEntranceGuardSignature()); + wrapper.eq(StringUtils.isNotEmpty(query.getEntranceGuardType()), "entrance_guard_type", query.getEntranceGuardType()); + wrapper.eq(StringUtils.isNotEmpty(query.getEntranceGuardImage()), "entrance_guard_image", query.getEntranceGuardImage()); + + wrapper.orderByDesc("visit_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.java new file mode 100644 index 0000000..da5ae0e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.PcStationBuildingOps; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 站房运维签到信息对象 pc_station_building_ops + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房运维签到信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingOpsQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "站房id") + private String stationBuildingId; + @ApiModelProperty(value = "签到人员") + private String signInPersonnel; + @ApiModelProperty(value = "签到开始时间") + private String signInStartTime; + @ApiModelProperty(value = "签到结束时间") + private String signInEndTime; + @ApiModelProperty(value = "签到图片") + private String signInImage; + @ApiModelProperty(value = "运维活动") + private String signOutPersonnel; + @ApiModelProperty(value = "签退时间") + private String signOutTime; + @ApiModelProperty(value = "签退图片") + private String signOutImage; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcStationBuildingOpsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getStationBuildingId()), "station_building_id", query.getStationBuildingId()); + wrapper.eq(StringUtils.isNotEmpty(query.getSignInPersonnel()), "sign_in_personnel", query.getSignInPersonnel()); + wrapper.ge(StringUtils.isNotEmpty(query.getSignInStartTime()) && StringUtils.isNotEmpty(query.getSignInStartTime()), "sign_in_time", query.getSignInStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getSignInEndTime()) && StringUtils.isNotEmpty(query.getSignInEndTime()), "sign_in_time", query.getSignInEndTime()); + + wrapper.eq(StringUtils.isNotEmpty(query.getSignInImage()), "sign_in_image", query.getSignInImage()); + wrapper.eq(StringUtils.isNotEmpty(query.getSignOutPersonnel()), "sign_out_personnel", query.getSignOutPersonnel()); + wrapper.eq(StringUtils.isNotEmpty(query.getSignOutTime()), "sign_out_time", query.getSignOutTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getSignOutImage()), "sign_out_image", query.getSignOutImage()); + wrapper.orderByDesc("sign_in_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingQuery.java new file mode 100644 index 0000000..b31bce0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingQuery.java @@ -0,0 +1,63 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.PcStationBuilding; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 站房基本信息对象 pc_station_building + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "站房基本信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "站房序号") + private String stationBuildingCode; + @ApiModelProperty(value = "站房名称") + private String stationBuildingName; + @ApiModelProperty(value = "CEMS设备品牌") + private String equipmentBrandCems; + @ApiModelProperty(value = "对应监测点位id") + private String stationId; + @ApiModelProperty(value = "对应监测点位名称") + private String stationName; + @ApiModelProperty(value = "对应排口id") + private String outletId; + @ApiModelProperty(value = "对应排口名称") + private String outletName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcStationBuildingQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationBuildingCode()), "station_building_code", query.getStationBuildingCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationBuildingName()), "station_building_name", query.getStationBuildingName()); + wrapper.eq(ObjectUtil.isNotNull(query.getEquipmentBrandCems()), "equipment_brand_cems", query.getEquipmentBrandCems()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationName()), "station_name", query.getStationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.java new file mode 100644 index 0000000..5c4751b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.java @@ -0,0 +1,68 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.PcStationBuildingStat; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 站房信息--站房门禁进出统计分析对象 pc_station_building_stat + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "站房信息--站房门禁进出统计分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcStationBuildingStatQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private Long id; + @ApiModelProperty(value = "企业表主键id") + private String factoryId; + @ApiModelProperty(value = "统计时间") + private String statisticalTime; + @ApiModelProperty(value = "站房表主键id") + private Long stationBuildingId; + @ApiModelProperty(value = "刷卡次数") + private Long swipesOfNumber; + @ApiModelProperty(value = "添加时间") + private String createTime; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业名称") + private String industryPermissionName; + @ApiModelProperty(value = "区县编码") + private String countryCode; + @ApiModelProperty(value = "统计开始时间") + private String startTime; + @ApiModelProperty(value = "统计结束时间") + private String endTime; + @ApiModelProperty(value = "站房名称") + private String stationBuildingName; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcStationBuildingStatQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatisticalTime()), "statistical_time", query.getStatisticalTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationBuildingId()), "station_building_id", query.getStationBuildingId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSwipesOfNumber()), "swipes_of_number", query.getSwipesOfNumber()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.java new file mode 100644 index 0000000..ecf05f7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvGasMonDay; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.List; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonDayQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvGasMonDayQuery() { + } + + public SEnvGasMonDayQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvGasMonDayQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(StringUtils.isEmpty(query.getOutletId()) && ArrayUtil.isNotEmpty(query.getOutletIdArr()), + "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + wrapper.orderByAsc("monitoring_time", "outlet_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.java new file mode 100644 index 0000000..5e21420 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvGasMonHour; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.List; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvGasMonHourQuery() { + } + + public SEnvGasMonHourQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvGasMonHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(StringUtils.isEmpty(query.getOutletId()) && ArrayUtil.isNotEmpty(query.getOutletIdArr()), + "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + wrapper.orderByAsc("monitoring_time", "outlet_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.java new file mode 100644 index 0000000..6ca3824 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvGasMonReal; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 废气监测数据对象 s_env_gas_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废气监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasMonRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvGasMonRealQuery() { + } + + public SEnvGasMonRealQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvGasMonRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(StringUtils.isEmpty(query.getOutletId()) && ArrayUtil.isNotEmpty(query.getOutletIdArr()), + "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + wrapper.orderByAsc("monitoring_time", "outlet_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasRealQuery.java new file mode 100644 index 0000000..42198cc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasRealQuery.java @@ -0,0 +1,145 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvGasReal; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 无组织监控数据对象 s_env_gas_real + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "无组织监控数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "监测点位名称") + private String stationName; + @ApiModelProperty(value = "对应许可证无组织监测点位名称") + private String licenceStationName; + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + @ApiModelProperty(value = "PM10") + private String pm10; + @ApiModelProperty(value = "PM2.5") + private String pm25; + @ApiModelProperty(value = "TSP") + private String tsp; + @ApiModelProperty(value = "NMHC") + private String nmhc; + @ApiModelProperty(value = "甲烷") + private String ch4; + @ApiModelProperty(value = "总烃") + private String hydrocarbon; + @ApiModelProperty(value = "苯") + private String benzene; + @ApiModelProperty(value = "甲苯") + private String methylbenzene; + @ApiModelProperty(value = "温度") + private String temperature; + @ApiModelProperty(value = "湿度") + private String humidity; + @ApiModelProperty(value = "风向") + private String windDirection; + @ApiModelProperty(value = "风速") + private String windSpeed; + @ApiModelProperty(value = "大气压") + private String barometricPressure; + + @ApiModelProperty(value = "时间类型") + private String dataType; + @ApiModelProperty(value = "企业id") + private String factoryId; + + @ApiModelProperty(value = "asc/desc") + private String ascOrDesc = "desc"; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvGasRealQuery query) { + + String format; + switch (query.getDataType()) { + default: + format = "yyyy-MM-dd HH:mm:ss"; + break; + case "D": + // 天 + format = "yyyy-MM-dd"; + break; + case "H": + // 小时 + format = "yyyy-MM-dd HH"; + break; + case "M": + // 分钟 + format = "yyyy-MM-dd HH:mm"; + break; + } + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getStationName()), "station_name", query.getStationName()); + wrapper.eq(StringUtils.isNotEmpty(query.getLicenceStationName()), "licence_station_name", query.getLicenceStationName()); + + if (StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime())) { + DateTime monitoringStartTime = DateUtil.parse(query.getMonitoringStartTime(), format); + DateTime monitoringEndTime = DateUtil.parse(query.getMonitoringEndTime(), format); + + wrapper.between("monitoring_time", monitoringStartTime.toString(), monitoringEndTime.toString()); + } + + wrapper.eq(ObjectUtil.isNotNull(query.getPm10()), "pm10", query.getPm10()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm25()), "pm25", query.getPm25()); + wrapper.eq(ObjectUtil.isNotNull(query.getTsp()), "tsp", query.getTsp()); + wrapper.eq(ObjectUtil.isNotNull(query.getNmhc()), "nmhc", query.getNmhc()); + wrapper.eq(ObjectUtil.isNotNull(query.getCh4()), "ch4", query.getCh4()); + wrapper.eq(ObjectUtil.isNotNull(query.getHydrocarbon()), "hydrocarbon", query.getHydrocarbon()); + wrapper.eq(ObjectUtil.isNotNull(query.getBenzene()), "benzene", query.getBenzene()); + wrapper.eq(ObjectUtil.isNotNull(query.getMethylbenzene()), "methylbenzene", query.getMethylbenzene()); + wrapper.eq(ObjectUtil.isNotNull(query.getTemperature()), "temperature", query.getTemperature()); + wrapper.eq(ObjectUtil.isNotNull(query.getHumidity()), "humidity", query.getHumidity()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindDirection()), "wind_direction", query.getWindDirection()); + wrapper.eq(ObjectUtil.isNotNull(query.getWindSpeed()), "wind_speed", query.getWindSpeed()); + wrapper.eq(ObjectUtil.isNotNull(query.getBarometricPressure()), "barometric_pressure", query.getBarometricPressure()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataType()), "data_type", query.getDataType()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + if(!StringUtils.isEmpty(query.getAscOrDesc())){ + if(query.getAscOrDesc().equalsIgnoreCase("asc")){ + wrapper.orderByAsc("monitoring_time"); + } else if (query.getAscOrDesc().equalsIgnoreCase("desc")){ + wrapper.orderByDesc("monitoring_time"); + } + } + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasSelfDayQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasSelfDayQuery.java new file mode 100644 index 0000000..768d74f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvGasSelfDayQuery.java @@ -0,0 +1,208 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.SEnvGasSelfDay; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 多源排放量汇总分析-废气-手工监测数据对象 s_env_gas_self_day + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "多源排放量汇总分析-废气-手工监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvGasSelfDayQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + private String dataType; + @ApiModelProperty(value = "日期") + private String monitoringTime; + @ApiModelProperty(value = "二氧化硫") + private String so2; + @ApiModelProperty(value = "二氧化硫折算") + private String so2Convert; + @ApiModelProperty(value = "二氧化硫排放量") + private String so2Emission; + @ApiModelProperty(value = "氮氧化物") + private String nox; + @ApiModelProperty(value = "氮氧化物折算") + private String noxConvert; + @ApiModelProperty(value = "氮氧化物排放量") + private String noxEmission; + @ApiModelProperty(value = "一氧化氮") + private String no; + @ApiModelProperty(value = "一氧化氮折算") + private String noConvert; + @ApiModelProperty(value = "一氧化氮排放量") + private String noEmission; + @ApiModelProperty(value = "二氧化氮") + private String no2; + @ApiModelProperty(value = "二氧化氮折算") + private String no2Convert; + @ApiModelProperty(value = "二氧化氮排放量") + private String no2Emission; + @ApiModelProperty(value = "烟尘") + private String smokeDust; + @ApiModelProperty(value = "烟尘折算") + private String smokeDustConvert; + @ApiModelProperty(value = "烟尘排放量") + private String smokeDustEmission; + @ApiModelProperty(value = "颗粒物实测") + private String pm; + @ApiModelProperty(value = "颗粒物折算") + private String pmConvert; + @ApiModelProperty(value = "颗粒物排放量") + private String pmEmission; + @ApiModelProperty(value = "voc实测") + private String vocs; + @ApiModelProperty(value = "voc折算") + private String vocsConvert; + @ApiModelProperty(value = "voc排放量") + private String vocsEmission; + @ApiModelProperty(value = "氧气含量") + private String o3; + @ApiModelProperty(value = "废气") + private String oxygen; + @ApiModelProperty(value = "烟气温度") + private String smokeDustTem; + @ApiModelProperty(value = "烟气压力") + private String smokeDustPressure; + @ApiModelProperty(value = "烟气流速") + private String smokeDustFlowVelocity; + @ApiModelProperty(value = "烟气湿度") + private String smokeDustHumidity; + @ApiModelProperty(value = "采集时间(时间类型)") + private String dateTime; + @ApiModelProperty(value = "废气折算") + private String oxygenConvert; + @ApiModelProperty(value = "废气排放量") + private String oxygenEmission; + @ApiModelProperty(value = "非甲烷总烃") + private String nmhc; + @ApiModelProperty(value = "非甲烷总烃折算") + private String nmhcConvert; + @ApiModelProperty(value = "非甲烷总烃排放量") + private String nmhcEmission; + @ApiModelProperty(value = "二氧化硫数据标记") + private String so2Flag; + @ApiModelProperty(value = "氮氧化物数据标记") + private String noxFlag; + @ApiModelProperty(value = "一氧化氮数据标记") + private String noFlag; + @ApiModelProperty(value = "二氧化氮数据标记") + private String no2Flag; + @ApiModelProperty(value = "烟尘数据标记") + private String smokeDustFlag; + @ApiModelProperty(value = "颗粒物数据标记") + private String pmFlag; + @ApiModelProperty(value = "voc数据标记") + private String vocsFlag; + @ApiModelProperty(value = "氧气含量数据标记") + private String o3Flag; + @ApiModelProperty(value = "废气数据标记") + private String oxygenFlag; + @ApiModelProperty(value = "烟气温度数据标记") + private String smokeDustTemFlag; + @ApiModelProperty(value = "烟气压力数据标记") + private String smokeDustPressureFlag; + @ApiModelProperty(value = "烟气流速数据标记") + private String smokeDustFlowVelocityFlag; + @ApiModelProperty(value = "烟气湿度数据标记") + private String smokeDustHumidityFlag; + @ApiModelProperty(value = "非甲烷总烃数据标记") + private String nmhcFlag; + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + private String dataFlag; + @ApiModelProperty(value = "so2修约排放量") + private String so2CorrectEmission; + @ApiModelProperty(value = "nox修约排放量") + private String noxCorrectEmission; + @ApiModelProperty(value = "vocs修约排放量 ") + private String vocsCorrectEmission; + @ApiModelProperty(value = "smoke修约排放量") + private String smokeDustCorrectEmission; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvGasSelfDayQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataType()), "data_type", query.getDataType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringTime()), "monitoring_time", query.getMonitoringTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2()), "so2", query.getSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Convert()), "so2_convert", query.getSo2Convert()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Emission()), "so2_emission", query.getSo2Emission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxConvert()), "nox_convert", query.getNoxConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxEmission()), "nox_emission", query.getNoxEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo()), "no", query.getNo()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoConvert()), "no_convert", query.getNoConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoEmission()), "no_emission", query.getNoEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2()), "no2", query.getNo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2Convert()), "no2_convert", query.getNo2Convert()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2Emission()), "no2_emission", query.getNo2Emission()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDust()), "smoke_dust", query.getSmokeDust()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustConvert()), "smoke_dust_convert", query.getSmokeDustConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustEmission()), "smoke_dust_emission", query.getSmokeDustEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm()), "pm", query.getPm()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmConvert()), "pm_convert", query.getPmConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmEmission()), "pm_emission", query.getPmEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocs()), "vocs", query.getVocs()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocsConvert()), "vocs_convert", query.getVocsConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocsEmission()), "vocs_emission", query.getVocsEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3()), "o3", query.getO3()); + wrapper.eq(ObjectUtil.isNotNull(query.getOxygen()), "oxygen", query.getOxygen()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustTem()), "smoke_dust_tem", query.getSmokeDustTem()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustPressure()), "smoke_dust_pressure", query.getSmokeDustPressure()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustFlowVelocity()), "smoke_dust_flow_velocity", query.getSmokeDustFlowVelocity()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustHumidity()), "smoke_dust_humidity", query.getSmokeDustHumidity()); + wrapper.eq(ObjectUtil.isNotNull(query.getDateTime()), "date_time", query.getDateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOxygenConvert()), "oxygen_convert", query.getOxygenConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getOxygenEmission()), "oxygen_emission", query.getOxygenEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNmhc()), "nmhc", query.getNmhc()); + wrapper.eq(ObjectUtil.isNotNull(query.getNmhcConvert()), "nmhc_convert", query.getNmhcConvert()); + wrapper.eq(ObjectUtil.isNotNull(query.getNmhcEmission()), "nmhc_emission", query.getNmhcEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Flag()), "so2_flag", query.getSo2Flag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxFlag()), "nox_flag", query.getNoxFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoFlag()), "no_flag", query.getNoFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNo2Flag()), "no2_flag", query.getNo2Flag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustFlag()), "smoke_dust_flag", query.getSmokeDustFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmFlag()), "pm_flag", query.getPmFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocsFlag()), "vocs_flag", query.getVocsFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getO3Flag()), "o3_flag", query.getO3Flag()); + wrapper.eq(ObjectUtil.isNotNull(query.getOxygenFlag()), "oxygen_flag", query.getOxygenFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustTemFlag()), "smoke_dust_tem_flag", query.getSmokeDustTemFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustPressureFlag()), "smoke_dust_pressure_flag", query.getSmokeDustPressureFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustFlowVelocityFlag()), "smoke_dust_flow_velocity_flag", query.getSmokeDustFlowVelocityFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustHumidityFlag()), "smoke_dust_humidity_flag", query.getSmokeDustHumidityFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNmhcFlag()), "nmhc_flag", query.getNmhcFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2CorrectEmission()), "so2_correct_emission", query.getSo2CorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxCorrectEmission()), "nox_correct_emission", query.getNoxCorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocsCorrectEmission()), "vocs_correct_emission", query.getVocsCorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getSmokeDustCorrectEmission()), "smoke_dust_correct_emission", query.getSmokeDustCorrectEmission()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.java new file mode 100644 index 0000000..72e0714 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvWaterMonDay; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.List; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonDayQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "污水") + private String sewage; + @ApiModelProperty(value = "污水排放量") + private String sewageEmission; + @ApiModelProperty(value = "化学需氧量") + private String cod; + @ApiModelProperty(value = "cod浓度") + private String codConcentration; + @ApiModelProperty(value = "化学需氧量排放量") + private String codEmission; + @ApiModelProperty(value = "氨氮") + private String ammoniaNitrogen; + @ApiModelProperty(value = "氨氮排放量") + private String ammoniaNitrogenEmission; + @ApiModelProperty(value = "总氮浓度") + private String nitrogenConcentration; + @ApiModelProperty(value = "总氮排放量") + private String nitrogenConcentrationEmission; + @ApiModelProperty(value = "总磷浓度") + private String phosphorusConcentration; + @ApiModelProperty(value = "总磷排放量") + private String phosphorusConcentrationEmission; + @ApiModelProperty(value = "ph值") + private String phValue; + @ApiModelProperty(value = "废水流量") + private String wastewaterFlow; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvWaterMonDayQuery() { + } + + public SEnvWaterMonDayQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvWaterMonDayQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(ArrayUtil.isNotEmpty(query.getOutletIdArr()), "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonHourQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonHourQuery.java new file mode 100644 index 0000000..60985fd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonHourQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvWaterMonHour; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.List; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonHourQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "污水") + private String sewage; + @ApiModelProperty(value = "污水排放量") + private String sewageEmission; + @ApiModelProperty(value = "化学需氧量") + private String cod; + @ApiModelProperty(value = "cod浓度") + private String codConcentration; + @ApiModelProperty(value = "化学需氧量排放量") + private String codEmission; + @ApiModelProperty(value = "氨氮") + private String ammoniaNitrogen; + @ApiModelProperty(value = "氨氮排放量") + private String ammoniaNitrogenEmission; + @ApiModelProperty(value = "总氮浓度") + private String nitrogenConcentration; + @ApiModelProperty(value = "总氮排放量") + private String nitrogenConcentrationEmission; + @ApiModelProperty(value = "总磷浓度") + private String phosphorusConcentration; + @ApiModelProperty(value = "总磷排放量") + private String phosphorusConcentrationEmission; + @ApiModelProperty(value = "ph值") + private String phValue; + @ApiModelProperty(value = "废水流量") + private String wastewaterFlow; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvWaterMonHourQuery() { + } + + public SEnvWaterMonHourQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvWaterMonHourQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(ArrayUtil.isNotEmpty(query.getOutletIdArr()), "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.java new file mode 100644 index 0000000..d2fc580 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.java @@ -0,0 +1,109 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SEnvWaterMonReal; +import cn.cecep.talroad.vo.AmProblemFiVo; +import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 废水监测数据对象 s_env_water_mon_real + * + * @author szhpt + * @date 2023-04-06*/ +@ApiModel(value = "废水监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterMonRealQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:d;小时:h;分钟:m)") + private String dataType; + + @ApiModelProperty(value = "开始日期") + private String monitoringStartTime; + @ApiModelProperty(value = "结束日期") + private String monitoringEndTime; + + @ApiModelProperty(value = "污水") + private String sewage; + @ApiModelProperty(value = "污水排放量") + private String sewageEmission; + @ApiModelProperty(value = "化学需氧量") + private String cod; + @ApiModelProperty(value = "cod浓度") + private String codConcentration; + @ApiModelProperty(value = "化学需氧量排放量") + private String codEmission; + @ApiModelProperty(value = "氨氮") + private String ammoniaNitrogen; + @ApiModelProperty(value = "氨氮排放量") + private String ammoniaNitrogenEmission; + @ApiModelProperty(value = "总氮浓度") + private String nitrogenConcentration; + @ApiModelProperty(value = "总氮排放量") + private String nitrogenConcentrationEmission; + @ApiModelProperty(value = "总磷浓度") + private String phosphorusConcentration; + @ApiModelProperty(value = "总磷排放量") + private String phosphorusConcentrationEmission; + @ApiModelProperty(value = "ph值") + private String phValue; + @ApiModelProperty(value = "废水流量") + private String wastewaterFlow; + + @ApiModelProperty(value = "标记") + private String mark; + @ApiModelProperty(value = "排口id数组") + private String[] outletIdArr; + @ApiModelProperty(value = "检测点位名称") + private String monitoringPointName; + + @ApiModelProperty(value = "曲线图返回指定的污染物") + private List pollutantVos; + + public SEnvWaterMonRealQuery() { + } + + public SEnvWaterMonRealQuery(String factoryId, String dataType, String monitoringStartTime, String monitoringEndTime) { + this.factoryId = factoryId; + this.dataType = dataType; + this.monitoringStartTime = monitoringStartTime; + this.monitoringEndTime = monitoringEndTime; + } + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvWaterMonRealQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.ge(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringStartTime()); + wrapper.le(StringUtils.isNotEmpty(query.getMonitoringStartTime()) && StringUtils.isNotEmpty(query.getMonitoringEndTime()), "monitoring_time", query.getMonitoringEndTime()); + wrapper.in(ArrayUtil.isNotEmpty(query.getOutletIdArr()), "outlet_id", query.getOutletIdArr()); + wrapper.isNotNull("monitoring_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterSelfDayQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterSelfDayQuery.java new file mode 100644 index 0000000..40cc588 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SEnvWaterSelfDayQuery.java @@ -0,0 +1,127 @@ +package cn.cecep.talroad.vo.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.SEnvWaterSelfDay; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 多源排放量汇总分析-废水-手工监测数据对象 s_env_water_self_day + * + * @author szhpt + * @date 2023-07-26*/ +@ApiModel(value = "多源排放量汇总分析-废水-手工监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SEnvWaterSelfDayQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + private String dataType; + @ApiModelProperty(value = "日期") + private String monitoringTime; + @ApiModelProperty(value = "污水") + private String sewage; + @ApiModelProperty(value = "污水排放") + private String sewageEmission; + @ApiModelProperty(value = "PH值") + private String phValue; + @ApiModelProperty(value = "化学需氧量") + private String cod; + @ApiModelProperty(value = "化学需氧量排放") + private String codEmission; + @ApiModelProperty(value = "氨氮") + private String ammoniaNitrogen; + @ApiModelProperty(value = "氨氮折算排放") + private String ammoniaNitrogenEmission; + @ApiModelProperty(value = "COD浓度") + private String codConcentration; + @ApiModelProperty(value = "废水流量") + private String wastewaterFlow; + @ApiModelProperty(value = "总氮浓度") + private String nitrogenConcentration; + @ApiModelProperty(value = "总氮排放") + private String nitrogenConcentrationEmission; + @ApiModelProperty(value = "总磷浓度") + private String phosphorusConcentration; + @ApiModelProperty(value = "总磷排放") + private String phosphorusConcentrationEmission; + @ApiModelProperty(value = "采集时间(时间类型)") + private String dateTime; + @ApiModelProperty(value = "污水数据标记") + private String sewageFlag; + @ApiModelProperty(value = "PH值数据标记") + private String phValueFlag; + @ApiModelProperty(value = "化学需氧量数据标记") + private String codFlag; + @ApiModelProperty(value = "氨氮数据标记") + private String ammoniaNitrogenFlag; + @ApiModelProperty(value = "总氮数据标记") + private String nitrogenConcentrationFlag; + @ApiModelProperty(value = "总磷数据标记") + private String phosphorusConcentrationFlag; + @ApiModelProperty(value = "数据标记 见字典类型anal_data_flag") + private String dataFlag; + @ApiModelProperty(value = "cod修约排放量") + private String codCorrectEmission; + @ApiModelProperty(value = "氨氮修约排放量") + private String ammoniaCorrectEmission; + @ApiModelProperty(value = "总氮修约排放量") + private String nitrogenCorrectEmission; + @ApiModelProperty(value = "总磷修约排放量") + private String phosphorusCorrectEmission; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SEnvWaterSelfDayQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataType()), "data_type", query.getDataType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringTime()), "monitoring_time", query.getMonitoringTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSewage()), "sewage", query.getSewage()); + wrapper.eq(ObjectUtil.isNotNull(query.getSewageEmission()), "sewage_emission", query.getSewageEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhValue()), "ph_value", query.getPhValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getCod()), "cod", query.getCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodEmission()), "cod_emission", query.getCodEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaNitrogen()), "ammonia_nitrogen", query.getAmmoniaNitrogen()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaNitrogenEmission()), "ammonia_nitrogen_emission", query.getAmmoniaNitrogenEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodConcentration()), "cod_concentration", query.getCodConcentration()); + wrapper.eq(ObjectUtil.isNotNull(query.getWastewaterFlow()), "wastewater_flow", query.getWastewaterFlow()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenConcentration()), "nitrogen_concentration", query.getNitrogenConcentration()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenConcentrationEmission()), "nitrogen_concentration_emission", query.getNitrogenConcentrationEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusConcentration()), "phosphorus_concentration", query.getPhosphorusConcentration()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusConcentrationEmission()), "phosphorus_concentration_emission", query.getPhosphorusConcentrationEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getDateTime()), "date_time", query.getDateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getSewageFlag()), "sewage_flag", query.getSewageFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhValueFlag()), "ph_value_flag", query.getPhValueFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodFlag()), "cod_flag", query.getCodFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaNitrogenFlag()), "ammonia_nitrogen_flag", query.getAmmoniaNitrogenFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenConcentrationFlag()), "nitrogen_concentration_flag", query.getNitrogenConcentrationFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusConcentrationFlag()), "phosphorus_concentration_flag", query.getPhosphorusConcentrationFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodCorrectEmission()), "cod_correct_emission", query.getCodCorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaCorrectEmission()), "ammonia_correct_emission", query.getAmmoniaCorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenCorrectEmission()), "nitrogen_correct_emission", query.getNitrogenCorrectEmission()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusCorrectEmission()), "phosphorus_correct_emission", query.getPhosphorusCorrectEmission()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.java new file mode 100644 index 0000000..a682e4d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.java @@ -0,0 +1,73 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.SIntegratedRoutineInspection; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 日常检查信息对象 s_integrated_routine_inspection + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "日常检查信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SIntegratedRoutineInspectionQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "年份") + private String particularYear; + @ApiModelProperty(value = "检查轮次") + private String checkRounds; + @ApiModelProperty(value = "检查时间") + private String checkTime; + @ApiModelProperty(value = "检查开始时间") + private String checkStartTime; + @ApiModelProperty(value = "检查结束时间") + private String checkEndTime; + @ApiModelProperty(value = "检查人员") + private String inspector; + @ApiModelProperty(value = "检查评分") + private String checkScore; + @ApiModelProperty(value = "总分") + private String totalPoints; + @ApiModelProperty(value = "审查类型") + private String reviewTypes; + @ApiModelProperty(value = "审核状态") + private String reviewStatus; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SIntegratedRoutineInspectionQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getParticularYear()), "particular_year", query.getParticularYear()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckRounds()), "check_rounds", query.getCheckRounds()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckTime()), "check_time", query.getCheckTime()); + wrapper.between(StringUtils.isNotEmpty(query.getCheckStartTime()) && StringUtils.isNotEmpty(query.getCheckEndTime()), "check_time", query.getCheckStartTime(), query.getCheckEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getInspector()), "inspector", query.getInspector()); + wrapper.eq(ObjectUtil.isNotNull(query.getCheckScore()), "check_score", query.getCheckScore()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalPoints()), "total_points", query.getTotalPoints()); + wrapper.eq(ObjectUtil.isNotNull(query.getReviewTypes()), "review_types", query.getReviewTypes()); + wrapper.eq(ObjectUtil.isNotNull(query.getReviewStatus()), "review_status", query.getReviewStatus()); + + wrapper.orderByDesc("check_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlFactoryQuery.java new file mode 100644 index 0000000..1b58dd1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlFactoryQuery.java @@ -0,0 +1,54 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.SMainDynamicControlFactory; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联对象 s_main_dynamic_control_factory + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数与企业关联") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "动态管控信息参数表id") + private String controlParamId; + @ApiModelProperty(value = "实测值") + private String measuredValue; + @ApiModelProperty(value = "验收标准值") + private String standardValue; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SMainDynamicControlFactoryQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlParamId()), "control_param_id", query.getControlParamId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMeasuredValue()), "measured_value", query.getMeasuredValue()); + wrapper.eq(ObjectUtil.isNotNull(query.getStandardValue()), "standard_value", query.getStandardValue()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.java new file mode 100644 index 0000000..62ef5dc --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.SMainDynamicControlParam; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息调整 -参数对象 s_main_dynamic_control_param + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息调整 -参数") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlParamQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "管控类型编码") + private String controlTypeCode; + @ApiModelProperty(value = "参数编码") + private String argumentsCode; + @ApiModelProperty(value = "参数名称") + private String argumentsName; + @ApiModelProperty(value = "是否启用") + private String argumentsEnable; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SMainDynamicControlParamQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlTypeCode()), "control_type_code", query.getControlTypeCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getArgumentsCode()), "arguments_code", query.getArgumentsCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getArgumentsName()), "arguments_name", query.getArgumentsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getArgumentsEnable()), "arguments_enable", query.getArgumentsEnable()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlQuery.java new file mode 100644 index 0000000..465ea64 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SMainDynamicControlQuery.java @@ -0,0 +1,22 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 基本信息-废气、废水排口档案-动态管控信息对象 s_main_dynamic_control + * + * @author szhpt + * @date 2023-02-02*/ +@ApiModel(value = "基本信息-废气、废水排口档案-动态管控信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SMainDynamicControlQuery extends PageQuery +{ + @ApiModelProperty(value = "排口id") + private String outletId; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.java new file mode 100644 index 0000000..f50aa8b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.java @@ -0,0 +1,65 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.cecep.talroad.vo.query.analysis.SRaRealTimeAnalysisRunQuery; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.SRaRealTimeAnalysisRunOne; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据对象 s_ra_real_time_analysis_run_one + * + * @author szhpt + * @date 2023-05-17*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-企业装备运行情况实时分析每个设备只存一条数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRunOneQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + private String deviceType; + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + private String operationStatus; + private List regionCodes; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisRunOneQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_permission_name", query.getIndustryCategoryCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.eq(StringUtils.isNotEmpty(query.getOperationStatus()), "operation_status", query.getOperationStatus()); + wrapper.orderByAsc("device_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.java new file mode 100644 index 0000000..ffffd45 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.java @@ -0,0 +1,88 @@ +package cn.cecep.talroad.vo.query; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.SupermonitorDrainOutlet; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排污口对象 m_supermonitor_drain_outlet + * + * @author szhpt + * @date 2023-01-10*/ +@ApiModel(value = "排污口") +@EqualsAndHashCode(callSuper = false) +@Data +public class SupermonitorDrainOutletQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排口id") + private String outletId; + @ApiModelProperty(value = "排放口类型(入河、雨水)") + private String outletType; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "入河排污口批复文号") + private String approvalDocument; + @ApiModelProperty(value = "其他信息") + private String otherInformation; + @ApiModelProperty(value = "排放口地理位置-经度") + private String lon; + @ApiModelProperty(value = "排放口地理位置-纬度") + private String lat; + @ApiModelProperty(value = "排水去向") + private String drainageTo; + @ApiModelProperty(value = "排放规律") + private String emissionsLaws; + @ApiModelProperty(value = "间歇式排放时间段") + private String intermittentEmissionPeriod; + @ApiModelProperty(value = "受纳自然水体信息-名称") + private String receivingWaterName; + @ApiModelProperty(value = "受纳自然水体信息-功能目标") + private String receivingWaterObjective; + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度") + private String receivingWaterLon; + @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度") + private String receivingWaterLat; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SupermonitorDrainOutletQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletId()), "outlet_id", query.getOutletId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getApprovalDocument()), "approval_document", query.getApprovalDocument()); + wrapper.eq(ObjectUtil.isNotNull(query.getOtherInformation()), "other_information", query.getOtherInformation()); + wrapper.eq(ObjectUtil.isNotNull(query.getLon()), "lon", query.getLon()); + wrapper.eq(ObjectUtil.isNotNull(query.getLat()), "lat", query.getLat()); + wrapper.eq(ObjectUtil.isNotNull(query.getDrainageTo()), "drainage_to", query.getDrainageTo()); + wrapper.eq(ObjectUtil.isNotNull(query.getEmissionsLaws()), "emissions_laws", query.getEmissionsLaws()); + wrapper.eq(ObjectUtil.isNotNull(query.getIntermittentEmissionPeriod()), "intermittent_emission_period", query.getIntermittentEmissionPeriod()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceivingWaterName()), "receiving_water_name", query.getReceivingWaterName()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceivingWaterObjective()), "receiving_water_objective", query.getReceivingWaterObjective()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceivingWaterLon()), "receiving_water_lon", query.getReceivingWaterLon()); + wrapper.eq(ObjectUtil.isNotNull(query.getReceivingWaterLat()), "receiving_water_lat", query.getReceivingWaterLat()); + wrapper.orderByAsc("outlet_code", "id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.java new file mode 100644 index 0000000..493523a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.BCoDischargePlan; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + + +@EqualsAndHashCode(callSuper = true) +@Data +public class BCoDischargePlanQuery extends PageQuery { + + @ApiModelProperty(value="1:已上报,0:未上报") + private Integer reportStatus; + + @ApiModelProperty(value="上报开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createStartTime; + @ApiModelProperty(value="上报结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createEndTime; + @ApiModelProperty(value = "删除状态:0:不删除,1:删除") + private Integer deleteStatus; + @ApiModelProperty(value = "企业id") + private String factoryId; + + public static QueryWrapper createLambdaQueryWrapper(BCoDischargePlanQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.le(ObjectUtil.isNotEmpty(query.getCreateEndTime()), "create_time", query.getCreateEndTime()); + wrapper.ge(ObjectUtil.isNotEmpty(query.getCreateStartTime()), "create_time", query.getCreateStartTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getReportStatus()), "report_status", query.getReportStatus()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDeleteStatus()), "delete_status", query.getDeleteStatus()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.java new file mode 100644 index 0000000..f631dd3 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.java @@ -0,0 +1,44 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.BMaintenancePlan; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +@Data +public class BMaintenancePlanQuery extends PageQuery { + + @ApiModelProperty(value="1:已上报,0:未上报") + private Integer reportStatus; + + @ApiModelProperty(value="上报开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createStartTime; + @ApiModelProperty(value="上报结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createEndTime; + @ApiModelProperty(value = "删除状态:0:不删除,1:删除") + private Integer deleteStatus; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "散口类型") + private String deviceType; + @ApiModelProperty(value = "放散设备名称") + private String deviceName; + @ApiModelProperty(value = "计划id") + private Integer planId; + public static QueryWrapper createLambdaQueryWrapper(BMaintenancePlanQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.le(ObjectUtil.isNotEmpty(query.getCreateEndTime()), "create_time", query.getCreateEndTime()); + wrapper.ge(ObjectUtil.isNotEmpty(query.getCreateStartTime()), "create_time", query.getCreateStartTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getReportStatus()), "report_status", query.getReportStatus()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDeleteStatus()), "delete_status", query.getDeleteStatus()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.orderByDesc("create_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.java new file mode 100644 index 0000000..747e2d0 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.BasDeviceParamAnalyse; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BasDeviceParamAnalyseQuery extends PageQuery { + @ApiModelProperty(value="数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据") + private String dataType; + @ApiModelProperty(value="设备类型") + private String deviceType; + @ApiModelProperty(value="参数名称") + private String deviceParamName; + @ApiModelProperty(value="是否参与恒值预警 0否1是") + private String contourEw; + @ApiModelProperty(value="是否参与数据逻辑异常预警 0否1是") + private String dataLogicAbnormalEw; + @ApiModelProperty(value="是否参与数据异常波动预警 0否1是") + private String dataLogicFluctuateEw; + @ApiModelProperty(value="是否参与数据缺失报警 0否1是") + private String dataLogicDeficiencyEw; + public static QueryWrapper createLambdaQueryWrapper(BasDeviceParamAnalyseQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.like(ObjectUtil.isNotEmpty(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.like(ObjectUtil.isNotEmpty(query.getDeviceParamName()), "device_param_name", query.getDeviceParamName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getContourEw()), "contour_ew", query.getContourEw()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataLogicAbnormalEw()), "data_logic_abnormal_ew", query.getDataLogicAbnormalEw()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataLogicFluctuateEw()), "data_logic_fluctuate_ew", query.getDataLogicFluctuateEw()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataLogicDeficiencyEw()), "data_logic_deficiency_ew", query.getDataLogicDeficiencyEw()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.java new file mode 100644 index 0000000..799cdaf --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.java @@ -0,0 +1,35 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.BasDeviceParam; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BasDeviceParamQuery extends PageQuery { + @ApiModelProperty(value = "数据类型 1:DCS监控数据:,2:分表计电监测数据,3:在线监测数据,4:无组织监控数据:5:网格化监控数据,6:废水国省控站点监控数据,7:废气国省控站点监控数据") + private String dataType; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "设备ID") + private String deviceId; + @ApiModelProperty(value = "参数是否联网 0=否,1=是") + private Short isOnline; + @ApiModelProperty(value = "参数名称") + private String paramName; + + public static QueryWrapper createLambdaQueryWrapper(BasDeviceParamQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataType()), "data_type", query.getDataType()); + wrapper.like(ObjectUtil.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.like(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(ObjectUtil.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getIsOnline()), "is_online", query.getIsOnline()); + wrapper.like(ObjectUtil.isNotEmpty(query.getParamName()), "param_name", query.getParamName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasThresholdConfigQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasThresholdConfigQuery.java new file mode 100644 index 0000000..2048ac9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/BasThresholdConfigQuery.java @@ -0,0 +1,62 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.BasThresholdConfig; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BasThresholdConfigQuery extends PageQuery { + + @ApiModelProperty(value = "主键") + private Long dataId; + @ApiModelProperty(value = "分析任务名称") + private String taskName; + @ApiModelProperty(value = "参数编码") + private String paramCode; + @ApiModelProperty(value = "参数名称") + private String paramName; + @ApiModelProperty(value = "阈值频次:D:日 H:小时") + private String frequency; + @ApiModelProperty(value = "阈值") + private String thresholdValue; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "备注") + private String remark; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(BasThresholdConfigQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.like(ObjectUtil.isNotEmpty(query.getTaskName()), "task_name", query.getTaskName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getParamCode()), "param_code", query.getParamCode()); + wrapper.like(ObjectUtil.isNotEmpty(query.getParamName()), "param_name", query.getParamName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getFrequency()), "frequency", query.getFrequency()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getThresholdValue()), "threshold_value", query.getThresholdValue()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getRemark()), "remark", query.getRemark()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.orderBy(true,true,"update_time DESC NULLS LAST,create_time DESC NULLS LAST,data_id"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/MonitoringPointWarningDetailsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/MonitoringPointWarningDetailsQuery.java new file mode 100644 index 0000000..b041730 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/MonitoringPointWarningDetailsQuery.java @@ -0,0 +1,28 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * co放散分析对象 s_ra_real_time_analysis_co + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "监测点位预警报警情况详情") +@EqualsAndHashCode(callSuper = false) +@Data +public class MonitoringPointWarningDetailsQuery extends PageQuery +{ + + @ApiModelProperty(value = "企业名称") + private String factoryName; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.java new file mode 100644 index 0000000..65abaf8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.java @@ -0,0 +1,60 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.PcRaProblemType; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 问题分类对象 pc_ra_problem_type + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "问题分类") +@EqualsAndHashCode(callSuper = false) +@Data +public class PcRaProblemTypeQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键id") + private String id; + @ApiModelProperty(value = "分类名称") + private String name; + @ApiModelProperty(value = "父分类id") + private String parentId; + @ApiModelProperty(value = "排序") + private Long sort; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(PcRaProblemTypeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getName()), "name", query.getName()); + wrapper.eq(ObjectUtil.isNotNull(query.getParentId()), "parent_id", query.getParentId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSort()), "sort", query.getSort()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.java new file mode 100644 index 0000000..da9899b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.java @@ -0,0 +1,29 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaEmissionsStatistics; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +@EqualsAndHashCode(callSuper = false) +@Data +public class SREStatisticsQuery extends SRaEmissionsStatistics { + + private Date problemTimeStart; + + private Date problemTimeEnd; + + private String problemTimeStr; + + private String factoryName; + + private String type; + + private List regionCodes; + +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisCarQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisCarQuery.java new file mode 100644 index 0000000..75ad228 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisCarQuery.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisCar; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_car + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "管控期车辆异常分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAbNalysisCarQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "绩效级别") + private String performanceLevel; + @ApiModelProperty(value = "$column.columnComment") + private String workingProcedure; + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + private Long inOutNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "管控时间") + private String analyseTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaAbNalysisCarQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPerformanceLevel()), "performance_level", query.getPerformanceLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getWorkingProcedure()), "working_procedure", query.getWorkingProcedure()); + wrapper.eq(ObjectUtil.isNotNull(query.getInOutNumber()), "in_out_number", query.getInOutNumber()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnalyseTime()), "analyse_time", query.getAnalyseTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisLowCarQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisLowCarQuery.java new file mode 100644 index 0000000..5dc6661 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAbNalysisLowCarQuery.java @@ -0,0 +1,104 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.SRaAbNalysisLowCar; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.List; + + +/** + * 管控期车辆异常分析对象 s_ra_ab_nalysis_low_car + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "管控期车辆异常分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAbNalysisLowCarQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "所在区县编码") + private List regionCodes; + @ApiModelProperty(value = "绩效级别") + private String performanceLevel; + @ApiModelProperty(value = "$column.columnComment") + private String workingProcedure; + @ApiModelProperty(value = "国四及以下车辆进出厂次数") + private Long inOutNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "分析时间(原型中日期)") + private String analyseTime; + + @ApiModelProperty(value = "分析开始时间(原型中日期)") + @TableField(exist = false) + private Date startAnalyseTime; + @ApiModelProperty(value = "分析结束时间(原型中日期)") + @TableField(exist = false) + private Date endAnalyseTime; + + @ApiModelProperty(value = "排放阶段") + private String dischargeStage; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaAbNalysisLowCarQuery query) { + Calendar calendar = new GregorianCalendar(); + if(ObjectUtil.isNotEmpty(query.getEndAnalyseTime())){ + calendar.setTime(query.getEndAnalyseTime()); + // 把日期往后增加一天,整数 往后推,负数往前移动 + calendar.add(Calendar.DATE, 1); + calendar.add(Calendar.HOUR_OF_DAY, -1); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.likeRight(ObjectUtil.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.likeRight(ObjectUtil.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getPerformanceLevel()), "performance_level", query.getPerformanceLevel()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getWorkingProcedure()), "working_procedure", query.getWorkingProcedure()); + wrapper.eq(ObjectUtil.isNotNull(query.getInOutNumber()), "in_out_number", query.getInOutNumber()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getDischargeStage()), "discharge_stage", query.getDischargeStage()); + wrapper.ge(ObjectUtil.isNotEmpty(query.getStartAnalyseTime()), "analyse_time", query.getStartAnalyseTime()); + wrapper.lt(ObjectUtil.isNotEmpty(query.getEndAnalyseTime()), "analyse_time", calendar.getTime()); + wrapper.in(ObjectUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.select("*","TO_CHAR(analyse_time, 'YYYY-MM-DD HH') AS analyseTimeStr"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualEmissionsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualEmissionsQuery.java new file mode 100644 index 0000000..baf72aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualEmissionsQuery.java @@ -0,0 +1,83 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.math.BigDecimal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualEmissions; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 执行报告实际排放情况对象 s_ra_action_reports_actual_emissions + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际排放情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsActualEmissionsQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String reportType; + @ApiModelProperty(value = "执行报告时间;年:2023 季:20232(2023第二个季度) 月: 2023-02") + private String reportTime; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排放类型;排放类型(1废气,2废水)") + private String outletType; + @ApiModelProperty(value = "排放口名称") + private String outletName; + @ApiModelProperty(value = "排放口编号") + private String outletCode; + @ApiModelProperty(value = "污染物名称") + private String pollutantName; + @ApiModelProperty(value = "污染物code") + private String pollutantCode; + @ApiModelProperty(value = "许可排放量(t)") + private BigDecimal permittedEmissions; + @ApiModelProperty(value = "实际排放量(t)") + private BigDecimal actualEmissions; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "创建人") + private String createBy; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaActionReportsActualEmissionsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportTime()), "report_time", query.getReportTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantCode()), "pollutant_code", query.getPollutantCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPermittedEmissions()), "permitted_emissions", query.getPermittedEmissions()); + wrapper.eq(ObjectUtil.isNotNull(query.getActualEmissions()), "actual_emissions", query.getActualEmissions()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.java new file mode 100644 index 0000000..b8c0cf8 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.math.BigDecimal; + +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaActionReportsActualYield; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 执行报告实际产量情况对象 s_ra_action_reports_actual_yield + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告实际产量情况") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsActualYieldQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String reportType; + @ApiModelProperty(value = "执行报告时间;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") + private String reportTime; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "主要生产单元") + private String productionUnit; + @ApiModelProperty(value = "运行参数code") + private String runningParamCode; + @ApiModelProperty(value = "运行参数名称") + private String runningParamName; + @ApiModelProperty(value = "产量(t)") + private BigDecimal actualEmissions; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "创建人") + private String createBy; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaActionReportsActualYieldQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportTime()), "report_time", query.getReportTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getProductionUnit()), "production_unit", query.getProductionUnit()); + wrapper.eq(ObjectUtil.isNotNull(query.getRunningParamCode()), "running_param_code", query.getRunningParamCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getRunningParamName()), "running_param_name", query.getRunningParamName()); + wrapper.eq(ObjectUtil.isNotNull(query.getActualEmissions()), "actual_emissions", query.getActualEmissions()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.java new file mode 100644 index 0000000..ee979c7 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.math.BigDecimal; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAudit; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 执行报告规范性审核对象 s_ra_action_reports_audit + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(大写:y 年报 s 季报 m 月报 d 日报)") + private String reportType; + @ApiModelProperty(value = "报告期;年:2023 月:2023-02 日: 2023-02-01 季度:202301") + private String reportTime; + @ApiModelProperty(value = "应提交企业数量") + private Long totalEnterprises; + @ApiModelProperty(value = "已提交企业数量") + private Long submittedEnterprises; + @ApiModelProperty(value = "提交率") + private BigDecimal submissionRate; + @ApiModelProperty(value = "未提交企业清单") + private String nonSubmittedEnterprisesUrl; + @ApiModelProperty(value = "规范性审核;审核状态:1 审核中 9 审核完成") + private Long auditStatus; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaActionReportsAuditQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportTime()), "report_time", query.getReportTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalEnterprises()), "total_enterprises", query.getTotalEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getSubmittedEnterprises()), "submitted_enterprises", query.getSubmittedEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getSubmissionRate()), "submission_rate", query.getSubmissionRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getNonSubmittedEnterprisesUrl()), "non_submitted_enterprises_url", query.getNonSubmittedEnterprisesUrl()); + wrapper.eq(ObjectUtil.isNotNull(query.getAuditStatus()), "audit_status", query.getAuditStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditRecordQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditRecordQuery.java new file mode 100644 index 0000000..beb8879 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditRecordQuery.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditRecord; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 执行报告规范性审核记录对象 s_ra_action_reports_audit_record + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核记录") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditRecordQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告id") + private String reportId; + @ApiModelProperty(value = "系统审核时间") + private Date auditTime; + @ApiModelProperty(value = "应提交企业数量") + private Long totalEnterprises; + @ApiModelProperty(value = "已提交企业数量") + private Long submittedEnterprises; + @ApiModelProperty(value = "已审核企业数量") + private Long auditedEnterprises; + @ApiModelProperty(value = "存在问题企业数") + private Long problemsEnterprises; + @ApiModelProperty(value = "审核状态;审核状态:1 审核中 9 审核完成") + private Long auditStatus; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "更新人") + private String updateBy; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaActionReportsAuditRecordQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportId()), "report_id", query.getReportId()); + wrapper.eq(ObjectUtil.isNotNull(query.getAuditTime()), "audit_time", query.getAuditTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalEnterprises()), "total_enterprises", query.getTotalEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getSubmittedEnterprises()), "submitted_enterprises", query.getSubmittedEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getAuditedEnterprises()), "audited_enterprises", query.getAuditedEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getProblemsEnterprises()), "problems_enterprises", query.getProblemsEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getAuditStatus()), "audit_status", query.getAuditStatus()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.java new file mode 100644 index 0000000..a7db427 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.util.Date; + +import cn.cecep.talroad.common.core.utils.StringUtils; +import com.fasterxml.jackson.annotation.JsonFormat; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaActionReportsAuditResult; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 执行报告规范性审核结果对象 s_ra_action_reports_audit_result + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "执行报告规范性审核结果") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaActionReportsAuditResultQuery extends PageQuery +{ + +// @ApiModelProperty(value = "id") +// private String id; + +// @ApiModelProperty(value = "企业id") +// private String factoryId; +// @ApiModelProperty(value = "报告期;字典bus_executive_report:年:2023 月:2023-02 日: 2023-02-01") +// private String reportTime; +// @ApiModelProperty(value = "排污许可证编号") +// private String pollDisLicenseCode; +// @ApiModelProperty(value = "执行报告提交") +// private Date reportSubmissionTime; +// @ApiModelProperty(value = "审核时间") +// private Date auditTime; +// @ApiModelProperty(value = "排污单位基本信息表") +// private String factoryBasicInfo; +// @ApiModelProperty(value = "污染防治设施正常情况汇总表--废水污染防治设施") +// private String waterPreventionFacilities; +// @ApiModelProperty(value = "污染防治设施正常情况汇总表--废气污染防治设施") +// private String gasPreventionFacilities; +// @ApiModelProperty(value = "污染防治设施异常情况汇总表--废气/废水防治设施") +// private String preventionFacilities; +// @ApiModelProperty(value = "污染防治设施-异常情况汇总表") +// private String abnormalSituation; +// @ApiModelProperty(value = "(正常监测时段)有组织废气污染物排放浓度监测数据统计表") +// private String organizedGasMonitoringData; +// @ApiModelProperty(value = "(正常监测时段)废水污染物排放浓度监测数据统计表") +// private String waterMonitoringData; +// @ApiModelProperty(value = "(正常监测时段)超标率") +// private String exceedingRate; +// @ApiModelProperty(value = "非正常工况/特殊时段有组织废气污染物监测数据统计表") +// private String abnormalOrganizedGasMonitoringData; +// @ApiModelProperty(value = "监测频次合规") +// private String monitoringFrequency; +// @ApiModelProperty(value = "实际排放量") +// private String actualEmissions; +// @ApiModelProperty(value = "超标排放信息") +// private String excessiveEmissions; +// @ApiModelProperty(value = "附图附件-自行监测布点图") +// private String attachment; +// @ApiModelProperty(value = "污染物实际排放量计算过程") +// private String calculationProcess; +// @ApiModelProperty(value = "备注") +// private String remark; +// @ApiModelProperty(value = "核查表下载url") +// private String checklist; +// @ApiModelProperty(value = "问题清单下载url") +// private String questionList; +// @ApiModelProperty(value = "更新时间") +// private Date updateTime; +// @ApiModelProperty(value = "创建时间") +// private Date createTime; +// @ApiModelProperty(value = "创建人") +// private String createBy; +// @ApiModelProperty(value = "更新人") +// private String updateBy; + + @ApiModelProperty(value = "执行报告审核记录id") + private String recordId; + + @ApiModelProperty(value = "排污单位名称") + private String factoryName; + + @ApiModelProperty(value = "区县名称") + private String countryName; + + @ApiModelProperty(value = "行业类别") + private String industryCategory; + + @ApiModelProperty(value = "管理级别") + private String licenseManType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaActionReportsAuditResultQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("results.record_id",query.getRecordId()); + if(StringUtils.isNotBlank(query.getFactoryName()))wrapper.like("factory.factory_name", query.getFactoryName().trim()); + if(StringUtils.isNotBlank(query.getCountryName()))wrapper.eq("factory.country_name", query.getCountryName()); + if(StringUtils.isNotBlank(query.getIndustryCategory()))wrapper.eq( "factory.industry_category", query.getIndustryCategory()); + if(StringUtils.isNotBlank(query.getLicenseManType()))wrapper.eq( "factory.license_man_type", query.getLicenseManType()); +// wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); +// wrapper.eq(ObjectUtil.isNotNull(query.getRecordId()), "record_id", query.getRecordId()); +// wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); +// wrapper.eq(ObjectUtil.isNotNull(query.getReportTime()), "report_time", query.getReportTime()); +// wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseCode()), "poll_dis_license_code", query.getPollDisLicenseCode()); +// wrapper.eq(ObjectUtil.isNotNull(query.getReportSubmissionTime()), "report_submission_time", query.getReportSubmissionTime()); +// wrapper.eq(ObjectUtil.isNotNull(query.getAuditTime()), "audit_time", query.getAuditTime()); +// wrapper.eq(ObjectUtil.isNotNull(query.getFactoryBasicInfo()), "factory_basic_info", query.getFactoryBasicInfo()); +// wrapper.eq(ObjectUtil.isNotNull(query.getWaterPreventionFacilities()), "water_prevention_facilities", query.getWaterPreventionFacilities()); +// wrapper.eq(ObjectUtil.isNotNull(query.getGasPreventionFacilities()), "gas_prevention_facilities", query.getGasPreventionFacilities()); +// wrapper.eq(ObjectUtil.isNotNull(query.getPreventionFacilities()), "prevention_facilities", query.getPreventionFacilities()); +// wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalSituation()), "abnormal_situation", query.getAbnormalSituation()); +// wrapper.eq(ObjectUtil.isNotNull(query.getOrganizedGasMonitoringData()), "organized_gas_monitoring_data", query.getOrganizedGasMonitoringData()); +// wrapper.eq(ObjectUtil.isNotNull(query.getWaterMonitoringData()), "water_monitoring_data", query.getWaterMonitoringData()); +// wrapper.eq(ObjectUtil.isNotNull(query.getExceedingRate()), "exceeding_rate", query.getExceedingRate()); +// wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalOrganizedGasMonitoringData()), "abnormal_organized_gas_monitoring_data", query.getAbnormalOrganizedGasMonitoringData()); +// wrapper.eq(ObjectUtil.isNotNull(query.getMonitoringFrequency()), "monitoring_frequency", query.getMonitoringFrequency()); +// wrapper.eq(ObjectUtil.isNotNull(query.getActualEmissions()), "actual_emissions", query.getActualEmissions()); +// wrapper.eq(ObjectUtil.isNotNull(query.getExcessiveEmissions()), "excessive_emissions", query.getExcessiveEmissions()); +// wrapper.eq(ObjectUtil.isNotNull(query.getAttachment()), "attachment", query.getAttachment()); +// wrapper.eq(ObjectUtil.isNotNull(query.getCalculationProcess()), "calculation_process", query.getCalculationProcess()); +// wrapper.eq(ObjectUtil.isNotNull(query.getRemark()), "remark", query.getRemark()); +// wrapper.eq(ObjectUtil.isNotNull(query.getChecklist()), "checklist", query.getChecklist()); +// wrapper.eq(ObjectUtil.isNotNull(query.getQuestionList()), "question_list", query.getQuestionList()); +// wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); +// wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); +// wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); +// wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.java new file mode 100644 index 0000000..c920d1e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.java @@ -0,0 +1,106 @@ +package cn.cecep.talroad.vo.query.analysis; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaAreaRegulatoryIssues; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 区域证后监管问题总表对象 s_ra_area_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "区域证后监管问题总表") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAreaRegulatoryIssuesQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String reportType; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + @ApiModelProperty(value = "行业类别") + private String industryCategory; + @ApiModelProperty(value = "月份") + private String month; + @ApiModelProperty(value = "治理设施异常问题个数") + private Long abnormalProblemsNum; + @ApiModelProperty(value = "在线监测有效监测率") + private String effectiveMonitoringComplianceRate; + @ApiModelProperty(value = "在线监测达标率") + private BigDecimal onlineMonitoringComplianceRate; + @ApiModelProperty(value = "手工监测频次合格率") + private BigDecimal manualMonitoringFrequencyPassRate; + @ApiModelProperty(value = "系统核算实际排放合格率") + private BigDecimal sysAccActualEmissionPassRate; + @ApiModelProperty(value = "执行报告实际排放合格率") + private BigDecimal reportActualEmissionPassRate; + @ApiModelProperty(value = "重污染管控执行率") + private BigDecimal heavyPollutionControlExacutiveRate; + @ApiModelProperty(value = "应提交执行报告企业数量") + private Long totalEnterprises; + @ApiModelProperty(value = "执行报告提交率") + private BigDecimal submissionRate; + @ApiModelProperty(value = "执行报告规范性存在问题企业数量") + private Long problemsEnterprises; + @ApiModelProperty(value = "规范性问题率") + private BigDecimal normativeQuestionRate; + @ApiModelProperty(value = "执行报告结果统计时间") + private Date reportResultStatisticalTime; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaAreaRegulatoryIssuesQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategory()), "industry_category", query.getIndustryCategory()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonth()), "month", query.getMonth()); + wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalProblemsNum()), "abnormal_problems_num", query.getAbnormalProblemsNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getEffectiveMonitoringComplianceRate()), "effective_monitoring_compliance_rate", query.getEffectiveMonitoringComplianceRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getOnlineMonitoringComplianceRate()), "online_monitoring_compliance_rate", query.getOnlineMonitoringComplianceRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getManualMonitoringFrequencyPassRate()), "manual_monitoring_frequency_pass_rate", query.getManualMonitoringFrequencyPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getSysAccActualEmissionPassRate()), "sys_acc_actual_emission_pass_rate", query.getSysAccActualEmissionPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportActualEmissionPassRate()), "report_actual_emission_pass_rate", query.getReportActualEmissionPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getHeavyPollutionControlExacutiveRate()), "heavy_pollution_control_exacutive_rate", query.getHeavyPollutionControlExacutiveRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getTotalEnterprises()), "total_enterprises", query.getTotalEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getSubmissionRate()), "submission_rate", query.getSubmissionRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getProblemsEnterprises()), "problems_enterprises", query.getProblemsEnterprises()); + wrapper.eq(ObjectUtil.isNotNull(query.getNormativeQuestionRate()), "normative_question_rate", query.getNormativeQuestionRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportResultStatisticalTime()), "report_result_statistical_time", query.getReportResultStatisticalTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.java new file mode 100644 index 0000000..5121790 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.java @@ -0,0 +1,135 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.SRaAreaTransferRateAnalysis; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 区域传输率分析对象 s_ra_area_transfer_rate_analysis + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "区域传输率分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaAreaTransferRateAnalysisQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + @ApiModelProperty(value = "统计时间") + private Date statisticsTime; + @ApiModelProperty(value = "分表计电-应传个数") + private Long elecTransmittNum; + @ApiModelProperty(value = "分表计电-实际上传个数") + private Long elecActualTransmittNum; + @ApiModelProperty(value = "分表计电-传输率") + private BigDecimal elecTransmissionRate; + @ApiModelProperty(value = "无组织管控-分钟数据-应传个数") + private Long unorganizedTransmittMinuteNum; + @ApiModelProperty(value = "无组织管控-分钟数据-实际上传个数") + private Long unorganizedActualTransmittMinuteNum; + @ApiModelProperty(value = "无组织管控-分钟数据-传输率") + private BigDecimal unorganizedTransmissionMinuteRate; + @ApiModelProperty(value = "无组织管控-小时数据-应传个数") + private Long unorganizedTransmittHourNum; + @ApiModelProperty(value = "无组织管控-小时数据-实际上传个数") + private Long unorganizedActualTransmittHourNum; + @ApiModelProperty(value = "无组织管控-小时数据-传输率") + private BigDecimal unorganizedTransmissionHourRate; + @ApiModelProperty(value = "dcs监控数据-应传个数") + private Long dcsTransmittMinuteNum; + @ApiModelProperty(value = "dcs监控数据-实际上传个数") + private Long dcsActualTransmittNum; + @ApiModelProperty(value = "dcs监控数据-传输率") + private BigDecimal dcsTransmissionRate; + @ApiModelProperty(value = "网格化数据-分钟数据-应传个数") + private Long griddedTransmittMinuteNum; + @ApiModelProperty(value = "网格化数据-分钟数据-实际上传个数") + private Long griddedActualTransmittMinuteNum; + @ApiModelProperty(value = "网格化数据-分钟数据-传输率") + private BigDecimal griddedTransmissionMinuteRate; + @ApiModelProperty(value = "网格化数据-小时数据-应传个数") + private Long griddedTransmittHourNum; + @ApiModelProperty(value = "网格化数据-小时数据-实际上传个数") + private Long griddedActualTransmittHourNum; + @ApiModelProperty(value = "网格化数据-小时数据-传输率") + private BigDecimal griddedTransmissionHourRate; + @ApiModelProperty(value = "网格化数据-日数据-应传个数") + private Long griddedTransmittDayNum; + @ApiModelProperty(value = "网格化数据-日数据-实际上传个数") + private Long griddedActualTransmittGriddedTransmittDayNum; + @ApiModelProperty(value = "网格化数据-日数据-传输率") + private BigDecimal griddedTransmissionDayRate; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "统计时间开始") + private String statisticsTimeStart; + @ApiModelProperty(value = "统计时间结束") + private String statisticsTimeEnd; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String reportType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaAreaTransferRateAnalysisQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.like(ObjectUtil.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatisticsTime()), "statistics_time", query.getStatisticsTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getElecTransmittNum()), "elec_transmitt_num", query.getElecTransmittNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getElecActualTransmittNum()), "elec_actual_transmitt_num", query.getElecActualTransmittNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getElecTransmissionRate()), "elec_transmission_rate", query.getElecTransmissionRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedTransmittMinuteNum()), "unorganized_transmitt_minute_num", query.getUnorganizedTransmittMinuteNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedActualTransmittMinuteNum()), "unorganized_actual_transmitt_minute_num", query.getUnorganizedActualTransmittMinuteNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedTransmissionMinuteRate()), "unorganized_transmission_minute_rate", query.getUnorganizedTransmissionMinuteRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedTransmittHourNum()), "unorganized_transmitt_hour_num", query.getUnorganizedTransmittHourNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedActualTransmittHourNum()), "unorganized_actual_transmitt_hour_num", query.getUnorganizedActualTransmittHourNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getUnorganizedTransmissionHourRate()), "unorganized_transmission_hour_rate", query.getUnorganizedTransmissionHourRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsTransmittMinuteNum()), "dcs_transmitt_minute_num", query.getDcsTransmittMinuteNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsActualTransmittNum()), "dcs_actual_transmitt_num", query.getDcsActualTransmittNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getDcsTransmissionRate()), "dcs_transmission_rate", query.getDcsTransmissionRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmittMinuteNum()), "gridded_transmitt_minute_num", query.getGriddedTransmittMinuteNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedActualTransmittMinuteNum()), "gridded_actual_transmitt_minute_num", query.getGriddedActualTransmittMinuteNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmissionMinuteRate()), "gridded_transmission_minute_rate", query.getGriddedTransmissionMinuteRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmittHourNum()), "gridded_transmitt_hour_num", query.getGriddedTransmittHourNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedActualTransmittHourNum()), "gridded_actual_transmitt_hour_num", query.getGriddedActualTransmittHourNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmissionHourRate()), "gridded_transmission_hour_rate", query.getGriddedTransmissionHourRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmittDayNum()), "gridded_transmitt_day_num", query.getGriddedTransmittDayNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedActualTransmittGriddedTransmittDayNum()), "gridded_actual_transmitt_gridded_transmitt_day_num", query.getGriddedActualTransmittGriddedTransmittDayNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getGriddedTransmissionDayRate()), "gridded_transmission_day_rate", query.getGriddedTransmissionDayRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.ge(ObjectUtil.isNotEmpty(query.getStatisticsTimeStart()), "statistics_time", query.getStatisticsTimeStart()); + wrapper.le(ObjectUtil.isNotEmpty(query.getStatisticsTimeEnd()), "statistics_time", query.getStatisticsTimeEnd()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getReportType()), "count_type", query.getReportType()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaControlSchemeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaControlSchemeQuery.java new file mode 100644 index 0000000..15ff955 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaControlSchemeQuery.java @@ -0,0 +1,76 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaControlScheme; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 关联分析系统-减排方案管理-管控时间段信息对象 s_ra_control_scheme + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-减排方案管理-管控时间段信息") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaControlSchemeQuery extends PageQuery +{ + + @ApiModelProperty(value = "方案主键") + private String schemeId; + @ApiModelProperty(value = "方案名称") + private String schemeName; + @ApiModelProperty(value = "预警级别(1-红色预警,2-橙色预警,3-黄色预警)") + private String warningLevel; + @ApiModelProperty(value = "管控措施") + private String controlMeasures; + @ApiModelProperty(value = "管控开始时间") + private String controlStartTime; + @ApiModelProperty(value = "管控截至时间") + private String controlEndTime; + @ApiModelProperty(value = "停止国四及以下车辆通行(0-否,1-是)") + private String stopCar; + @ApiModelProperty(value = "基准开始时间") + private String noControlStartTime; + @ApiModelProperty(value = "基准截至时间") + private String noControlEndTime; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaControlSchemeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getSchemeId()), "scheme_id", query.getSchemeId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSchemeName()), "scheme_name", query.getSchemeName()); + wrapper.eq(ObjectUtil.isNotNull(query.getWarningLevel()), "warning_level", query.getWarningLevel()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlMeasures()), "control_measures", query.getControlMeasures()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlStartTime()), "control_start_time", query.getControlStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getControlEndTime()), "control_end_time", query.getControlEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getStopCar()), "stop_car", query.getStopCar()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoControlStartTime()), "no_control_start_time", query.getNoControlStartTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoControlEndTime()), "no_control_end_time", query.getNoControlEndTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.java new file mode 100644 index 0000000..0c5f611 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.java @@ -0,0 +1,53 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 企业排放量差异分析对象 s_ra_emissions_diff + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业排放量差异分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsDiffQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域名称") + private String regionName; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty(value = "污染物名称") + private String pollutantName; + + @ApiModelProperty(value = "行业类别") + private String industryCode; + + @ApiModelProperty(value = "行业名称") + private String industryName; + + @ApiModelProperty(value = "分析时间开始 格式:yyyy-MM") + private String analyseTimeStart; + + @ApiModelProperty(value = "分析时间结束 格式:yyyy-MM") + private String analyseTimeEnd; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsMonitoringVarianceQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsMonitoringVarianceQuery.java new file mode 100644 index 0000000..f2f6944 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsMonitoringVarianceQuery.java @@ -0,0 +1,84 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaEmissionsMonitoringVariance; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业异常行为分析-企业排放分析-监测差异分析对象 s_ra_emissions_monitoring_variance + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "企业异常行为分析-企业排放分析-监测差异分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsMonitoringVarianceQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private Long id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业名称") + private String industryPermissionName; + @ApiModelProperty(value = "区县编码") + private String countryCode; + @ApiModelProperty(value = "监测开始时间") + private String startTime; + @ApiModelProperty(value = "监测结束时间") + private String endTime; + @ApiModelProperty(value = "监测排口名称") + private String outletName; + @ApiModelProperty(value = "污染物种类id") + private String pollId; + + + // @ApiModelProperty(value = "监测时间") + // private String stationTime; + // @ApiModelProperty(value = "监测点id") + // private Long stationId; + // @ApiModelProperty(value = "在线监测浓度") + // private String concentrationOnline; + // @ApiModelProperty(value = "自行监测浓度") + // private String concentrationPm; + // @ApiModelProperty(value = "执法监测浓度") + // private String concentrationEtl; + // @ApiModelProperty(value = "差异率") + // private String differenceRatio; + // @ApiModelProperty(value = "创建时间") + // private String createTime; + // @ApiModelProperty(value = "更新时间") + // private String updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaEmissionsMonitoringVarianceQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + // wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getStationTime()), "station_time", query.getStationTime()); + // wrapper.eq(ObjectUtil.isNotNull(query.getStationId()), "station_id", query.getStationId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getPollId()), "poll_id", query.getPollId()); + // wrapper.eq(ObjectUtil.isNotNull(query.getConcentrationOnline()), "concentration_online", query.getConcentrationOnline()); + // wrapper.eq(ObjectUtil.isNotNull(query.getConcentrationPm()), "concentration_pm", query.getConcentrationPm()); + // wrapper.eq(ObjectUtil.isNotNull(query.getConcentrationEtl()), "concentration_etl", query.getConcentrationEtl()); + // wrapper.eq(ObjectUtil.isNotNull(query.getDifferenceRatio()), "difference_ratio", query.getDifferenceRatio()); + // wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + // wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.java new file mode 100644 index 0000000..e39645f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.java @@ -0,0 +1,42 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +@ApiModel(value = "企业排放量超标分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsOverFactoryQuery extends PageQuery +{ + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业编码") + private String industryCode; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty(value = "统计范围") + private String statScope; + + @ApiModelProperty(value = "统计年份") + private String statYear; + + @ApiModelProperty(value = "参数名称") + private String pollutantName; + + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + private String analyseType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverQuery.java new file mode 100644 index 0000000..c8f86be --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverQuery.java @@ -0,0 +1,37 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 区域、行业排放量超标分析对象 s_ra_emissions_over + */ +@ApiModel(value = "区域、行业排放量超标分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsOverQuery extends PageQuery +{ + @ApiModelProperty(value = "行业id") + private String industryId; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty(value = "统计年份") + private String statYear; + + @ApiModelProperty(value = "参数名称") + private String pollutantName; + + @ApiModelProperty(value = "分析类型 1:排放量超过许可排放量, 2:排放量达到许可排放量90%, 3:排放量预测超过许可排放量") + private String analyseType; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.java new file mode 100644 index 0000000..c812f4c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.java @@ -0,0 +1,144 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.annotation.Excel; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaEmissionsStandard; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 企业排放水平分析对象 s_ra_emissions_standard + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业排放水平分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaEmissionsStandardQuery extends PageQuery +{ + + + + @ApiModelProperty(value = "主键") + /** 主键 */ + @TableId(value = "id",type = IdType.UUID) + private String id; + + + @ApiModelProperty(value = "企业id") + /** 企业id */ + private String factoryId; + + + @ApiModelProperty(value = "企业名称") + /** 企业名称 */ + @Excel(name = "企业名称") + private String factoryName; + + + @ApiModelProperty(value = "行业类别名称(多个使用''、''拼接)") + /** 行业类别名称(多个使用''、''拼接) */ + @Excel(name = "行业名称") + private String industryCategoryName; + + + @ApiModelProperty(value = "行业类别编码(多个使用''、''拼接)") + /** 行业类别编码(多个使用''、''拼接) */ + private String industryCategoryCode; + + + @ApiModelProperty(value = "区域名称") + /** 区域名称 */ + @Excel(name = "区县名称") + private String districtName; + + + @ApiModelProperty(value = "区域编码") + /** 区域编码 */ + private String districtCode; + + + @ApiModelProperty(value = "分析年份") + /** 分析年份 */ + @Excel(name = "分析年份") + private String analyseYear; + + + @ApiModelProperty(value = "参数名称") + /** 参数名称 */ + @Excel(name = "参数名称") + private String pollutantName; + + + @ApiModelProperty(value = "区域排名") + /** 区域排名 */ + @Excel(name = "区域排名") + private String regionRanking; + + + @ApiModelProperty(value = "行业排名") + /** 行业排名 */ + @Excel(name = "行业排名") + private String industryRanking; + + + @ApiModelProperty(value = "是否排放大户(0-否, 1-是)") + /** 是否排放大户 */ + @Excel(name = "是否排放大户", readConverterExp = "0=否,1=是") + private String isEmissionsBigUser; + + + @ApiModelProperty(value = "排放规模") + /** 排放规模 */ + @Excel(name = "排放规模") + private String emissionsScale; + + + @ApiModelProperty(value = "单位产品排放量强度") + /** 单位产品排放量强度 */ + @Excel(name = "单位产品排放量强度") + private String unitEmissions; + + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaEmissionsStandardQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getAnalyseYear()), "analyse_year", query.getAnalyseYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.eq(StringUtils.isNotEmpty(query.getRegionRanking()), "region_ranking", query.getRegionRanking()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryRanking()), "industry_ranking", query.getIndustryRanking()); + wrapper.eq(StringUtils.isNotEmpty(query.getIsEmissionsBigUser()), "is_emissions_big_user", query.getIsEmissionsBigUser()); + if(StringUtils.isNotEmpty(query.getEmissionsScale())){ + wrapper.apply(StringUtils.isNotEmpty(query.getEmissionsScale()), "CAST(emissions_scale AS NUMERIC) >= {0}", new BigDecimal(query.getEmissionsScale().split("-")[0])); + wrapper.apply(StringUtils.isNotEmpty(query.getEmissionsScale()), "CAST(emissions_scale AS NUMERIC) <= {0}", new BigDecimal(query.getEmissionsScale().split("-")[1])); + } + wrapper.eq(StringUtils.isNotEmpty(query.getUnitEmissions()), "unit_emissions", query.getUnitEmissions()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.java new file mode 100644 index 0000000..009b02c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.java @@ -0,0 +1,97 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaFactoryRegulatoryIssues; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 企业证后监管问题总对象 s_ra_factory_regulatory_issues + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "企业证后监管问题总") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaFactoryRegulatoryIssuesQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "执行报告类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)") + private String reportType; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "排污许可证编号") + private String pollDisLicenseCode; + @ApiModelProperty(value = "月份") + private String month; + @ApiModelProperty(value = "治理设施异常问题个数") + private String abnormalProblemsNum; + @ApiModelProperty(value = "在线监测有效监测率") + private String effectiveMonitoringComplianceRate; + @ApiModelProperty(value = "在线监测达标率") + private String onlineMonitoringComplianceRate; + @ApiModelProperty(value = "手工监测频次合格率") + private String manualMonitoringFrequencyPassRate; + @ApiModelProperty(value = "系统核算实际排放合格率") + private String sysAccActualEmissionPassRate; + @ApiModelProperty(value = "执行报告实际排放合格率") + private String reportActualEmissionPassRate; + @ApiModelProperty(value = "重污染管控执行率") + private String heavyPollutionControlExacutiveRate; + @ApiModelProperty(value = "是否需要提交执行报告") + private String reportNeedSubmit; + @ApiModelProperty(value = "执行报告是否提交") + private String reportSubmit; + @ApiModelProperty(value = "执行报告规范性") + private String reportNormative; + @ApiModelProperty(value = "执行报告结果统计时间") + private String reportStatisticsTime; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaFactoryRegulatoryIssuesQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportType()), "report_type", query.getReportType()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollDisLicenseCode()), "poll_dis_license_code", query.getPollDisLicenseCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonth()), "month", query.getMonth()); + wrapper.eq(ObjectUtil.isNotNull(query.getAbnormalProblemsNum()), "abnormal_problems_num", query.getAbnormalProblemsNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getEffectiveMonitoringComplianceRate()), "effective_monitoring_compliance_rate", query.getEffectiveMonitoringComplianceRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getOnlineMonitoringComplianceRate()), "online_monitoring_compliance_rate", query.getOnlineMonitoringComplianceRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getManualMonitoringFrequencyPassRate()), "manual_monitoring_frequency_pass_rate", query.getManualMonitoringFrequencyPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getSysAccActualEmissionPassRate()), "sys_acc_actual_emission_pass_rate", query.getSysAccActualEmissionPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportActualEmissionPassRate()), "report_actual_emission_pass_rate", query.getReportActualEmissionPassRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getHeavyPollutionControlExacutiveRate()), "heavy_pollution_control_exacutive_rate", query.getHeavyPollutionControlExacutiveRate()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportNeedSubmit()), "report_need_submit", query.getReportNeedSubmit()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportSubmit()), "report_submit", query.getReportSubmit()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportNormative()), "report_normative", query.getReportNormative()); + wrapper.eq(ObjectUtil.isNotNull(query.getReportStatisticsTime()), "report_statistics_time", query.getReportStatisticsTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.java new file mode 100644 index 0000000..90e6c99 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.SRaFactoryTransferRateAnalysis; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 企业传输率分析对象 s_ra_factory_transfer_rate_analysis + * + * @author szhpt + * @date 2023-04-11*/ +@ApiModel(value = "企业传输率分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaFactoryTransferRateAnalysisQuery extends PageQuery +{ + + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "企业名字") + private String factoryName; + @ApiModelProperty(value = "数据来源") + private String dataSource; + @ApiModelProperty(value = "点位/设备名称") + private String outletName; + @ApiModelProperty(value = "点位/设备编号") + private String outletCode; + @ApiModelProperty(value = "区域名称") + private String districtName; + /** + * 所属行业名称 + */ + @ApiModelProperty(value = "所属行业名称") + private String industryCategoryName; + + @ApiModelProperty(value = "统计类型;字典bus_executive_report(y 年报 s 季报 m 月报 d 日报)年:2023,季:20231,月:202301,日:20230101") + private String countType; + @ApiModelProperty(value = "统计时间") + private String statisticsTime; + @ApiModelProperty(value = "应传个数") + private Long transmittNum; + @ApiModelProperty(value = "实际上传个数") + private Long actualTransmittNum; + @ApiModelProperty(value = "传输率") + private BigDecimal transmissionRate; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private Date createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private Date updateTime; + @ApiModelProperty(value = "统计时间开始") + private String statisticsTimeStart; + @ApiModelProperty(value = "统计时间结束") + private String statisticsTimeEnd; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaFactoryTransferRateAnalysisQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.like(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(ObjectUtil.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataSource()), "data_source", query.getDataSource()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletName()), "outlet_name", query.getOutletName()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getStatisticsTime()), "statistics_time", query.getStatisticsTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getTransmittNum()), "transmitt_num", query.getTransmittNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getActualTransmittNum()), "actual_transmitt_num", query.getActualTransmittNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getTransmissionRate()), "transmission_rate", query.getTransmissionRate()); + wrapper.ge(ObjectUtil.isNotEmpty(query.getStatisticsTimeStart()), "statistics_time", query.getStatisticsTimeStart()); + wrapper.le(ObjectUtil.isNotEmpty(query.getStatisticsTimeEnd()), "statistics_time", query.getStatisticsTimeEnd()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(ObjectUtil.isNotNull(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotEmpty(query.getCountType()), "count_type", query.getCountType()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.java new file mode 100644 index 0000000..606ade9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.java @@ -0,0 +1,51 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@ApiModel(value = "废气在线监测标记汇总query") +@Data +public class SRaGasFlagQuery extends PageQuery { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty("行业类别") + private String industryCode; + + @ApiModelProperty("区县编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty("监测点位名称") + private String pointName; + + @ApiModelProperty("监测点位id") + private String pointId; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletTypes; + + @ApiModelProperty(value = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "标记类型") + private String dataFlag; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + private String dataType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.java new file mode 100644 index 0000000..d197b8c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.java @@ -0,0 +1,114 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaGasPermittedEmissions; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.License; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.util.Date; +import java.util.List; + + +/** + * 许可排放量废气明细对象 s_ra_gas_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废气明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaGasPermittedEmissionsQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletType; + @ApiModelProperty(value = "监测点名称") + private String moitorName; + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + private String monitorType; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "NOx排放量(kg)") + private String nox; + @ApiModelProperty(value = "NOx修约量(kg)") + private String noxAmendments; + @ApiModelProperty(value = "SO2排放量(kg)") + private String so2; + @ApiModelProperty(value = "so2修约量(kg)") + private String so2Amendments; + @ApiModelProperty(value = "颗粒物排放量(kg)") + private String pm; + @ApiModelProperty(value = "颗粒物修约量(kg)") + private String pmAmendments; + @ApiModelProperty(value = "vocs排放量(kg)") + private String vocs; + @ApiModelProperty(value = "vocs修约量(kg)") + private String vocsAmendments; + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String dataFlag; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)") + private String invalidDataCalculated; + @ApiModelProperty(value = "监测开始时间") + private String monitorStartTime; + @ApiModelProperty(value = "监测截至时间") + private String monitorEndTime; + private List dataFlagArr; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaGasPermittedEmissionsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotEmpty(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitorType()), "monitor_type", query.getMonitorType()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getNox()), "nox", query.getNox()); + wrapper.eq(StringUtils.isNotEmpty(query.getNoxAmendments()), "nox_amendments", query.getNoxAmendments()); + wrapper.eq(StringUtils.isNotEmpty(query.getSo2()), "so2", query.getSo2()); + wrapper.eq(StringUtils.isNotEmpty(query.getSo2Amendments()), "so2_amendments", query.getSo2Amendments()); + wrapper.eq(StringUtils.isNotEmpty(query.getPm()), "pm", query.getPm()); + wrapper.eq(StringUtils.isNotEmpty(query.getPmAmendments()), "pm_amendments", query.getPmAmendments()); + wrapper.eq(StringUtils.isNotEmpty(query.getVocs()), "vocs", query.getVocs()); + wrapper.eq(StringUtils.isNotEmpty(query.getVocsAmendments()), "vocs_amendments", query.getVocsAmendments()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.between(StringUtils.isNotEmpty(query.getMonitorStartTime()) && StringUtils.isNotEmpty(query.getMonitorEndTime()), "analyse_time", DateUtils.parseDate(query.getMonitorStartTime()), DateUtils.parseDate(query.getMonitorEndTime())); + wrapper.orderByDesc("monitor_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.java new file mode 100644 index 0000000..fcfeaf9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.java @@ -0,0 +1,117 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaGasPermittedOnline; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 在线排放量废气明细对象 s_ra_gas_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "在线排放量废气明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaGasPermittedOnlineQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletType; + @ApiModelProperty(value = "监测点名称") + private String moitorName; + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + private String monitorType; + @ApiModelProperty(value = "监测时间") + private String monitorTime; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "NOx排放量(kg)") + private String nox; + @ApiModelProperty(value = "NOx修约量(kg)") + private String noxAmendments; + @ApiModelProperty(value = "SO2排放量(kg)") + private String so2; + @ApiModelProperty(value = "so2修约量(kg)") + private String so2Amendments; + @ApiModelProperty(value = "颗粒物排放量(kg)") + private String pm; + @ApiModelProperty(value = "颗粒物修约量(kg)") + private String pmAmendments; + @ApiModelProperty(value = "vocs排放量(kg)") + private String vocs; + @ApiModelProperty(value = "vocs修约量(kg)") + private String vocsAmendments; + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String dataFlag; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算,无效数据是否用修约量计算") + private String includedEmissions; + @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)") + private String invalidDataCalculated; + @ApiModelProperty(value = "监测开始时间") + private String monitorStartTime; + @ApiModelProperty(value = "监测截至时间") + private String monitorEndTime; + private List dataFlagArr; + private List monitors; + private List regionCodes; + private String pollutantOutletType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaGasPermittedOnlineQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorType()), "monitor_type", query.getMonitorType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getNox()), "nox", query.getNox()); + wrapper.eq(ObjectUtil.isNotNull(query.getNoxAmendments()), "nox_amendments", query.getNoxAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2()), "so2", query.getSo2()); + wrapper.eq(ObjectUtil.isNotNull(query.getSo2Amendments()), "so2_amendments", query.getSo2Amendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getPm()), "pm", query.getPm()); + wrapper.eq(ObjectUtil.isNotNull(query.getPmAmendments()), "pm_amendments", query.getPmAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocs()), "vocs", query.getVocs()); + wrapper.eq(ObjectUtil.isNotNull(query.getVocsAmendments()), "vocs_amendments", query.getVocsAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIncludedEmissions()), "included_emissions", query.getIncludedEmissions()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.java new file mode 100644 index 0000000..abf39aa --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsGas; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 手工监测排放监控-气污染要素对象 s_ra_handwork_emissions_gas + * + * @author szhpt + * @date 2023-03-27*/ +@ApiModel(value = "手工监测排放监控-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaHandworkEmissionsGasQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "监测点位名称") + private String pointName; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutantName; + @ApiModelProperty(value = "监测开始时间") + private String monitorTimeStart; + @ApiModelProperty(value = "监测截至时间") + private String monitorTimeEnd; + @ApiModelProperty(value = "监测浓度") + private String monitorVal; + @ApiModelProperty(value = "浓度单位") + private String unit; + @ApiModelProperty(value = "烟气流量(m³/h)") + private String flueGasFlow; + @ApiModelProperty(value = "核算周期开始") + private String checkCycleStart; + @ApiModelProperty(value = "核算周期结束") + private String checkCycleEnd; + @ApiModelProperty(value = "核算周期生产运行时间") + private String checkRunTime; + @ApiModelProperty(value = "运行时间来源") + private String runTimeSource; + @ApiModelProperty(value = "排放量(t)") + private String emissions; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用''、''拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用''、''拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaHandworkEmissionsGasQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getPointName()), "point_name", query.getPointName()); + wrapper.like(StringUtils.isNotEmpty(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.between(StringUtils.isNotEmpty(query.getMonitorTimeStart()) && StringUtils.isNotEmpty(query.getMonitorTimeEnd()), "monitor_time", DateUtils.parseDate(query.getMonitorTimeStart()), DateUtils.parseDate(query.getMonitorTimeEnd())); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitorVal()), "monitor_val", query.getMonitorVal()); + wrapper.eq(StringUtils.isNotEmpty(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(StringUtils.isNotEmpty(query.getFlueGasFlow()), "flue_gas_flow", query.getFlueGasFlow()); + wrapper.ge(StringUtils.isNotEmpty(query.getCheckCycleStart()), "check_cycle_start", DateUtils.parseDate(query.getCheckCycleStart())); + wrapper.le(StringUtils.isNotEmpty(query.getCheckCycleEnd()), "check_cycle_end", DateUtils.parseDate(query.getCheckCycleEnd())); + wrapper.eq(StringUtils.isNotEmpty(query.getCheckRunTime()), "check_run_time", query.getCheckRunTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getRunTimeSource()), "run_time_source", query.getRunTimeSource()); + wrapper.eq(StringUtils.isNotEmpty(query.getEmissions()), "emissions", query.getEmissions()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + return wrapper; + } +} \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsWaterQuery.java new file mode 100644 index 0000000..830ad0f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsWaterQuery.java @@ -0,0 +1,111 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaHandworkEmissionsWater; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 手工监测排放监控-水污染要素对象 s_ra_handwork_emissions_water + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "手工监测排放监控-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaHandworkEmissionsWaterQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "监测点位名称") + private String pointName; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutantName; + @ApiModelProperty(value = "监测开始时间") + private String monitorTimeStart; + @ApiModelProperty(value = "监测截至时间") + private String monitorTimeEnd; + @ApiModelProperty(value = "监测浓度") + private String monitorVal; + @ApiModelProperty(value = "浓度单位") + private String unit; + @ApiModelProperty(value = "废水流量(m³/d)") + private String wasteWaterFlow; + @ApiModelProperty(value = "核算周期开始") + private String checkCycleStart; + @ApiModelProperty(value = "核算周期结束") + private String checkCycleEnd; + @ApiModelProperty(value = "核算周期生产运行时间") + private String checkRunTime; + @ApiModelProperty(value = "运行时间来源") + private String runTimeSource; + @ApiModelProperty(value = "排放量(t)") + private String emissions; + @ApiModelProperty(value = "创建人") + private String createBy; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "更新人") + private String updateBy; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用''、''拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用''、''拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaHandworkEmissionsWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getPointName()), "point_name", query.getPointName()); + wrapper.like(StringUtils.isNotEmpty(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.between(StringUtils.isNotEmpty(query.getMonitorTimeStart()) && StringUtils.isNotEmpty(query.getMonitorTimeEnd()), "monitor_time", DateUtils.parseDate(query.getMonitorTimeStart()), DateUtils.parseDate(query.getMonitorTimeEnd())); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitorVal()), "monitor_val", query.getMonitorVal()); + wrapper.eq(StringUtils.isNotEmpty(query.getUnit()), "unit", query.getUnit()); + wrapper.eq(StringUtils.isNotEmpty(query.getWasteWaterFlow()), "waste_water_flow", query.getWasteWaterFlow()); + wrapper.ge(StringUtils.isNotEmpty(query.getCheckCycleStart()), "check_cycle_start", DateUtils.parseDate(query.getCheckCycleStart())); + wrapper.le(StringUtils.isNotEmpty(query.getCheckCycleEnd()), "check_cycle_end", DateUtils.parseDate(query.getCheckCycleEnd())); + wrapper.eq(StringUtils.isNotEmpty(query.getCheckRunTime()), "check_run_time", query.getCheckRunTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getRunTimeSource()), "run_time_source", query.getRunTimeSource()); + wrapper.eq(StringUtils.isNotEmpty(query.getEmissions()), "emissions", query.getEmissions()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateBy()), "create_by", query.getCreateBy()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpdateBy()), "update_by", query.getUpdateBy()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.like(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.java new file mode 100644 index 0000000..022993d --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.java @@ -0,0 +1,108 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.util.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Arrays; +import java.util.Date; + +@Data +public class SRaLowMonitoringQuery extends PageQuery { + /** + * 企业名称 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名称") + private String factoryName; + + /** + * 行业类别名称(多个使用'、'拼接) + */ + @TableField(value = "industry_category_name") + @ApiModelProperty(value="行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + + /** + * 行业类别编码(多个使用'、'拼接) + */ + @TableField(value = "industry_category_code") + @ApiModelProperty(value="行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + + /** + * 所在区县名称 + */ + @TableField(value = "district_name") + @ApiModelProperty(value="所在区县名称") + private String districtName; + + /** + * 所在区县编码 + */ + @TableField(value = "district_code") + @ApiModelProperty(value="所在区县编码") + private String districtCode; + + /** + * 监测点名称 + */ + @TableField(value = "moitor_name") + @ApiModelProperty(value="监测点名称") + private String moitorName; + + /** + * 监测项目 + */ + @TableField(value = "monitoring_class") + @ApiModelProperty(value="监测项目") + private String monitoringClass; + + /** + * 监测日期 + */ + @TableField(value = "monitor_time") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value="监测日期开始") + private Date monitorTimeStart; + @ApiModelProperty(value="监测日期结束") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date monitorTimeEnd; + + public static QueryWrapper createGasWrapper(SRaLowMonitoringQuery query, Class obj) { + QueryWrapper wrapper; + try { + wrapper = new QueryWrapper<>(obj.newInstance()); + } catch (InstantiationException | IllegalAccessException e) { + throw new RuntimeException(e); + } + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + + if(StringUtils.isNotEmpty(query.getIndustryCategoryName())) { + wrapper.in("industry_category_name", Arrays.asList(query.getIndustryCategoryName().split(","))); + } + if(StringUtils.isNotEmpty(query.getIndustryCategoryCode())) { + wrapper.in("industry_category_code", Arrays.asList(query.getIndustryCategoryCode().split(","))); + } + + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.like(StringUtils.isNotEmpty(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.like(StringUtils.isNotEmpty(query.getMonitoringClass()), "monitoring_class", query.getMonitoringClass()); + if(ObjectUtil.isNotEmpty(query.getMonitorTimeStart())) { + wrapper.ge(ObjectUtil.isNotEmpty(query.getMonitorTimeStart()), "monitor_time", + DateUtil.parseTime(DateUtil.formatDate(query.getMonitorTimeStart(), "yyyy-MM-dd 00:00:00"))); + } + if(ObjectUtil.isNotEmpty(query.getMonitorTimeEnd())) { + wrapper.le(ObjectUtil.isNotEmpty(query.getMonitorTimeEnd()), "monitor_time", + DateUtil.parseTime(DateUtil.formatDate(query.getMonitorTimeEnd(), "yyyy-MM-dd 23:59:59"))); + } + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.java new file mode 100644 index 0000000..f422c2f --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.java @@ -0,0 +1,115 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaMultiSource; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 多源排放量汇总对象 s_ra_multi_source + * + * @author szhpt + * @date 2023-06-03*/ +@ApiModel(value = "多源排放量汇总") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaMultiSourceQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "污染物类型(1废气、2废水)") + private String pollutantsType; + @ApiModelProperty(value = "污染物名称") + private String pollutantsName; + @ApiModelProperty(value = "污染物编码") + private String pollutantsCode; + @ApiModelProperty(value = "监测时间") + private String monitorTime; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletType; + @ApiModelProperty(value = "监测点名称") + private String moitorName; + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + private String monitorType; + @ApiModelProperty(value = "监测点id") + private String monitorId; + @ApiModelProperty(value = "许可排放量(kg)") + private String permission; + @ApiModelProperty(value = "许可修约量(kg)") + private String permissionAmendments; + @ApiModelProperty(value = "在线排放量(kg)") + private String online; + @ApiModelProperty(value = "在线修约量(kg)") + private String onlineAmendments; + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String dataFlag; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)") + private String invalidDataCalculated; + @ApiModelProperty(value = "监测开始时间") + private String monitorStartTime; + @ApiModelProperty(value = "监测截至时间") + private String monitorEndTime; + private List dataFlagArr; + @ApiModelProperty(value = "多源数据类型1:许可2:在线") + private String sourceType; + + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaMultiSourceQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsName()), "pollutants_name", query.getPollutantsName()); + wrapper.eq(ObjectUtil.isNotNull(query.getPollutantsCode()), "pollutants_code", query.getPollutantsCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorType()), "monitor_type", query.getMonitorType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorId()), "monitor_id", query.getMonitorId()); + wrapper.eq(ObjectUtil.isNotNull(query.getPermission()), "permission", query.getPermission()); + wrapper.eq(ObjectUtil.isNotNull(query.getPermissionAmendments()), "permission_amendments", query.getPermissionAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getOnline()), "online", query.getOnline()); + wrapper.eq(ObjectUtil.isNotNull(query.getOnlineAmendments()), "online_amendments", query.getOnlineAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsGasQuery.java new file mode 100644 index 0000000..a10a539 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsGasQuery.java @@ -0,0 +1,75 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsGas; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 在线监测排放监控-气污染要素对象 s_ra_online_emissions_gas + * + * @author szhpt + * @date 2023-03-24 + */ +@ApiModel(value = "在线监测排放监控-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOnlineEmissionsGasQuery extends PageQuery { + + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "监测点位名称") + private String pointName; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutantName; + @ApiModelProperty(value = "监测时间") + private String monitorTime; + @ApiModelProperty(value = "是否有效") + private String isValid; + @ApiModelProperty(value = "修约说明") + private String xyDesc; + + public static QueryWrapper createLambdaQueryWrapper(SRaOnlineEmissionsGasQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotNull(query.getPointName()), "point_name", query.getPointName()); + wrapper.eq(StringUtils.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotNull(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.eq(StringUtils.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(StringUtils.isNotNull(query.getIsValid()), "is_valid", query.getIsValid()); + wrapper.eq(StringUtils.isNotNull(query.getXyDesc()), "xy_desc", query.getXyDesc()); + return wrapper; + } + + @Data + @ApiModel("图表查询条件vo") + public static class CharDataSearchVo { + private String factoryId; // 企业id + private String startTime; // 开始时间 + private String endTime; // 结束时间 + private String pollutantCode; // 污染物编码 + private String allowableValue; // 限值 + + public CharDataSearchVo(String factoryId, String startTime, String endTime, String pollutantCode, String allowableValue) { + this.factoryId = factoryId; + this.startTime = startTime; + this.endTime = endTime; + this.pollutantCode = pollutantCode; + this.allowableValue = allowableValue; + } + } + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.java new file mode 100644 index 0000000..da1e6d5 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaOnlineEmissionsWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 在线监测排放监控-水污染要素对象 s_ra_online_emissions_water + */ +@ApiModel(value = "在线监测排放监控-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOnlineEmissionsWaterQuery extends PageQuery { + @ApiModelProperty(value = "主键") + private String id; + @ApiModelProperty(value = "企业id") + private String factoryId; + @ApiModelProperty(value = "监测点位名称") + private String pointName; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "排口类型") + private String outletType; + @ApiModelProperty(value = "污染物种类") + private String pollutantName; + @ApiModelProperty(value = "监测时间") + private String monitorTime; + @ApiModelProperty(value = "是否有效") + private String isValid; + @ApiModelProperty(value = "修约说明") + private String xyDesc; + + public static QueryWrapper createLambdaQueryWrapper(SRaOnlineEmissionsWaterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotNull(query.getId()), "id", query.getId()); + wrapper.eq(StringUtils.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotNull(query.getPointName()), "point_name", query.getPointName()); + wrapper.eq(StringUtils.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(StringUtils.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(StringUtils.isNotNull(query.getPollutantName()), "pollutant_name", query.getPollutantName()); + wrapper.eq(StringUtils.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(StringUtils.isNotNull(query.getIsValid()), "is_valid", query.getIsValid()); + wrapper.eq(StringUtils.isNotNull(query.getXyDesc()), "xy_desc", query.getXyDesc()); + return wrapper; + } + + @Data + @ApiModel("图表查询条件vo") + public static class CharDataSearchVo { + private String factoryId; // 企业id + private String startTime; // 开始时间 + private String endTime; // 结束时间 + private String pollutantCode; // 污染物编码 + private String allowableValue; // 限值 + + public CharDataSearchVo(String factoryId, String startTime, String endTime, String pollutantCode, String allowableValue) { + this.factoryId = factoryId; + this.startTime = startTime; + this.endTime = endTime; + this.pollutantCode = pollutantCode; + this.allowableValue = allowableValue; + } + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateGasQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateGasQuery.java new file mode 100644 index 0000000..056554a --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateGasQuery.java @@ -0,0 +1,43 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 超标率分析-气污染要素对象 s_ra_over_rate_gas + */ +@ApiModel(value = "超标率分析-气污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOverRateGasQuery extends PageQuery +{ + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业编码") + private String industryCode; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty(value = "监测点位名称") + private String pointName; + + @ApiModelProperty(value = "统计类型 N:月, Q:季度, Y:年") + private String statisticsType; + + @ApiModelProperty(value = "统计时间开始 格式:月:yyyy-MM, 季度:yyyyQ, 年:yyyy") + private String statisticsTimeStart; + + @ApiModelProperty(value = "统计时间结束 格式:月:yyyy-MM, 季度:yyyyQ, 年:yyyy") + private String statisticsTimeEnd; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateWaterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateWaterQuery.java new file mode 100644 index 0000000..d65b781 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverRateWaterQuery.java @@ -0,0 +1,48 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.analysis.SRaOverRateWater; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 超标率分析-水污染要素对象 s_ra_over_rate_water + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "超标率分析-水污染要素") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaOverRateWaterQuery extends PageQuery +{ + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty(value = "行业编码") + private String industryCode; + + @ApiModelProperty(value = "区域编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty(value = "监测点位名称") + private String pointName; + + @ApiModelProperty(value = "统计类型 N:月, Q:季度, Y:年") + private String statisticsType; + + @ApiModelProperty(value = "统计时间开始 格式:月:yyyy-MM, 季度:yyyyQ, 年:yyyy") + private String statisticsTimeStart; + + @ApiModelProperty(value = "统计时间结束 格式:月:yyyy-MM, 季度:yyyyQ, 年:yyyy") + private String statisticsTimeEnd; +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.java new file mode 100644 index 0000000..79b0ac1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.java @@ -0,0 +1,87 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SRaOverWaterPollutionTraceabilityQuery extends PageQuery { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "主键") + private String id; + /** + * 排口编号 + */ + @TableField(value = "outlet_code") + @ApiModelProperty(value="排口编号") + private String outletCode; + + /** + * 排口名称 + */ + @TableField(value = "outlet_name") + @ApiModelProperty(value="排口名称") + private String outletName; + + /** + * 企业id + */ + @TableField(value = "factory_id") + @ApiModelProperty(value="企业id") + private String factoryId; + + /** + * 企业名 + */ + @TableField(value = "factory_name") + @ApiModelProperty(value="企业名") + private String factoryName; + + /** + * 对应监测点位名称 + */ + @TableField(value = "monitoring_point_name") + @ApiModelProperty(value="对应监测点位名称") + private String monitoringPointName; + + /** + * 排放方式 + */ + @TableField(value = "emission_method ") + @ApiModelProperty(value="排放方式") + private String emissionMethod; + + + + /** + * 排水去向 + */ + @TableField(value = "drainage_direction ") + @ApiModelProperty(value="排水去向") + private String drainageDirection; + @TableField(value = "estuary_name") + @ApiModelProperty(value = "入河口名称(直接排放口需要存)") + private String estuaryName; + + /** + * 入河口编号(直接排放口需要存) + */ + @TableField(value = "estuary_code") + @ApiModelProperty(value = "入河口编号(直接排放口需要存)") + private String estuaryCode; + + /** + * 受纳污水处理厂名称(间接排放口需要存) + */ + @TableField(value = "receiving_sewage_plant_name") + @ApiModelProperty(value = "受纳污水处理厂名称(间接排放口需要存)") + private String receivingSewagePlantName; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.java new file mode 100644 index 0000000..510bfdd --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.java @@ -0,0 +1,55 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsitMonitor; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigInteger; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位对象 s_ra_real_time_analysic_comsit_monitor + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组关联点位") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysicComsitMonitorQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger dataId; + @ApiModelProperty(value = "分组表id") + @JsonSerialize(using = ToStringSerializer.class) + private BigInteger comsitId; + @ApiModelProperty(value = "监测点id") + private String monitorId; + @ApiModelProperty(value = "创建时间") + private String createTime; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysicComsitMonitorQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getComsitId()), "comsit_id", query.getComsitId()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorId()), "monitor_id", query.getMonitorId()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.java new file mode 100644 index 0000000..b6b9382 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysicComsit; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + + +/** + * 关联分析系统-企业生产过程分析-监测点位对比分析-分组对象 s_ra_real_time_analysic_comsit + * + * @author szhpt + * @date 2023-07-14*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-监测点位对比分析-分组") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysicComsitQuery extends PageQuery +{ + + @ApiModelProperty(value = "主键") + private Long dataId; + @ApiModelProperty(value = "分组名称") + private String sectionalizationName; + @ApiModelProperty(value = "参数名称") + private String paramName; + @ApiModelProperty(value = "数据分析时间") + private String analysisTime; + @ApiModelProperty(value = "监测点数量") + private Long stationNum; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "平均值") + private String avgValue; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysicComsitQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getSectionalizationName()), "sectionalization_name", query.getSectionalizationName()); + wrapper.eq(ObjectUtil.isNotNull(query.getParamName()), "param_name", query.getParamName()); + wrapper.eq(ObjectUtil.isNotNull(query.getAnalysisTime()), "analysis_time", query.getAnalysisTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getStationNum()), "station_num", query.getStationNum()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getAvgValue()), "avg_value", query.getAvgValue()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.java new file mode 100644 index 0000000..bb53b03 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCement; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-水泥熟料产量分析对象 s_ra_real_time_analysis_cement + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-水泥熟料产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCementQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "生产端加料量小时均值(t)") + private String addNumber; + @ApiModelProperty(value = "水泥熟料产量(t)") + private String grogNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisCementQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoQuery.java new file mode 100644 index 0000000..71a95e6 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoQuery.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCo; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * co放散分析对象 s_ra_real_time_analysis_co + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "co放散分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCoQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "工序") + private String workingProcedure; + @ApiModelProperty(value = "分析开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "分析截至时间") + private String analyseEndTime; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisCoQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.like(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getWorkingProcedure()), "working_procedure", query.getWorkingProcedure()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.java new file mode 100644 index 0000000..8438681 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.java @@ -0,0 +1,69 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 装煤推焦次数分析对象 s_ra_real_time_analysis_coal + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "装煤推焦次数分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCoalQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisCoalQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_name", query.getDeviceId()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.java new file mode 100644 index 0000000..98ffdfe --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.java @@ -0,0 +1,85 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoal; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisCoke; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-焦炭产量分析对象 s_ra_real_time_analysis_coke + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-焦炭产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisCokeQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "设备类型") + private String deviceType; + @ApiModelProperty(value = "炭化室有效容积(m3)") + private String volumeNumber; + @ApiModelProperty(value = "小时推焦数") + private Long pushNumber; + @ApiModelProperty(value = "焦炭产量(t)") + private String cokeNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + + @ApiModelProperty(value = "统计时间") + private String analyseTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisCokeQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.java new file mode 100644 index 0000000..b710302 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.java @@ -0,0 +1,71 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 转炉产量分析对象 s_ra_real_time_analysis_converter + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "转炉产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisConverterQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisConverterQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + wrapper.orderByAsc("factory_name"); + wrapper.orderByAsc("device_name"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.java new file mode 100644 index 0000000..69f716e --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisConverter; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisFurnace; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 高炉产量分析对象 s_ra_real_time_analysis_furnace + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "高炉产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisFurnaceQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "出铁量") + private String tapNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisFurnaceQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + wrapper.orderByAsc("factory_name"); + wrapper.orderByAsc("device_name"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.java new file mode 100644 index 0000000..f729cf1 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.java @@ -0,0 +1,82 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-玻璃产量分析对象 s_ra_real_time_analysis_glass + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-玻璃产量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisGlassQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "退火窑实时车速小时均值(m/小时)") + private String kilnNumber; + @ApiModelProperty(value = "额定车速(m/小时)") + private String ratedNumber; + @ApiModelProperty(value = "设计产能(t)") + private String planNumber; + @ApiModelProperty(value = "玻璃产量(t)") + private String glassNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisGlassQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.java new file mode 100644 index 0000000..326fe53 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.java @@ -0,0 +1,100 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisKwh; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 企业用电水平分析对象 s_ra_real_time_analysis_kwh + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业用电水平分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisKwhQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "区域名称") + private String districtName; + @ApiModelProperty(value = "区域编码") + private String districtCode; + @ApiModelProperty(value = "参数名称(污染物全写)") + private String paramName; + @ApiModelProperty(value = "区域排名") + private Long areaRank; + @ApiModelProperty(value = "行业排名") + private Long industryRank; + @ApiModelProperty(value = "是否用电大户(0-否,1-是)") + private String largeHouse; + @ApiModelProperty(value = "用电规模") + private String scale; + @ApiModelProperty(value = "单位产品用电强度") + private String vol; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "年份(yyyy)") + private String year; + @ApiModelProperty(value = "参数编码(污染物简写)") + private String paramCode; + @ApiModelProperty(value = "参数单位(污染物单位)") + private String paramUnit; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisKwhQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getParamName()), "param_name", query.getParamName()); + wrapper.eq(ObjectUtil.isNotNull(query.getAreaRank()), "area_rank", query.getAreaRank()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryRank()), "industry_rank", query.getIndustryRank()); + wrapper.eq(StringUtils.isNotEmpty(query.getLargeHouse()), "large_house", query.getLargeHouse()); + wrapper.eq(StringUtils.isNotEmpty(query.getVol()), "vol", query.getVol()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpdateTime()), "update_time", query.getUpdateTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getYear()), "year", query.getYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getParamCode()), "param_code", query.getParamCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getParamUnit()), "param_unit", query.getParamUnit()); + if(StringUtils.isNotEmpty(query.getScale())){ + wrapper.apply(cn.cecep.talroad.common.core.utils.StringUtils.isNotEmpty(query.getScale()), "CAST(scale AS NUMERIC) >= {0}", new BigDecimal(query.getScale().split("-")[0])); + wrapper.apply(cn.cecep.talroad.common.core.utils.StringUtils.isNotEmpty(query.getScale()), "CAST(scale AS NUMERIC) <= {0}", new BigDecimal(query.getScale().split("-")[1])); + } + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisPowerQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisPowerQuery.java new file mode 100644 index 0000000..7782be2 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisPowerQuery.java @@ -0,0 +1,77 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisGlass; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisPower; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-机组负荷分析对象 s_ra_real_time_analysis_power + * + * @author szhpt + * @date 2023-04-02*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-机组负荷分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisPowerQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "机组负荷(MW)") + private String powerNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisPowerQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.java new file mode 100644 index 0000000..53ff056 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.java @@ -0,0 +1,79 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRubbish; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; + +import java.util.Date; +import java.util.List; + + +/** + * 关联分析系统-企业生产过程分析-垃圾处理量分析对象 s_ra_real_time_analysis_rubbish + * + * @author szhpt + * @date 2023-04-03*/ +@ApiModel(value = "关联分析系统-企业生产过程分析-垃圾处理量分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRubbishQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "垃圾处理量(kg)") + private String rubbishNumber; + @ApiModelProperty(value = "更新时间") + private String updateTime; + @ApiModelProperty(value = "创建时间(默认当前时间)") + private String createTime; + @ApiModelProperty(value = "统计开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "统计截至时间") + private String analyseEndTime; + @ApiModelProperty(value = "入炉方式") + private String feedingMethod; + @ApiModelProperty("统计类型1按企业合计,2按设备合计") + private String type; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisRubbishQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("analyse_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.java new file mode 100644 index 0000000..029df96 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.java @@ -0,0 +1,58 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisRun; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 企业装备运行情况实时分析对象 s_ra_real_time_analysis_run + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业装备运行情况实时分析") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisRunQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别编码") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "设备类型(生产设备/治理设备)") + private String deviceType; + @ApiModelProperty(value = "运行状态(1=运行,2=停运,3=启停,4=停启,5=数据缺失,6=数据恒值,7-数据异常)") + private String operationStatus; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisRunQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.like(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.like(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(StringUtils.isNotEmpty(query.getDeviceType()), "device_type", query.getDeviceType()); + wrapper.eq(StringUtils.isNotEmpty(query.getOperationStatus()), "operation_status", query.getOperationStatus()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.java new file mode 100644 index 0000000..e84127b --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.java @@ -0,0 +1,67 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaRealTimeAnalysisStop; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + + +/** + * 企业装备停限产分析报(DCS)对象 s_ra_real_time_analysis_stop + * + * @author szhpt + * @date 2023-03-24*/ +@ApiModel(value = "企业装备停限产分析报(DCS)") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaRealTimeAnalysisStopQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "设备名称") + private String deviceName; + @ApiModelProperty(value = "设备编号") + private String deviceId; + @ApiModelProperty(value = "工序") + private String workingProcedure; + @ApiModelProperty(value = "分析开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "分析截至时间") + private String analyseEndTime; + private List regionCodes; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaRealTimeAnalysisStopQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.like(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceName()), "device_name", query.getDeviceName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDeviceId()), "device_id", query.getDeviceId()); + wrapper.eq(ObjectUtil.isNotNull(query.getWorkingProcedure()), "working_procedure", query.getWorkingProcedure()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "analyse_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.java new file mode 100644 index 0000000..8b5a251 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.java @@ -0,0 +1,136 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.utils.DateUtils; +import cn.cecep.talroad.common.core.utils.StringUtils; +import cn.cecep.talroad.domain.analysis.SRaSelfMonitoringData; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 关联分析系统-企业自行监测数据对象 s_ra_self_monitoring_data + * + * @author szhpt + * @date 2023-06-27*/ +@ApiModel(value = "关联分析系统-企业自行监测数据") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaSelfMonitoringDataQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "存企业表排污许可行业字段类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "存企业表排污许可行业字段类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "污染物名称") + private String pollutantsName; + @ApiModelProperty(value = "污染物编码") + private String pollutantsCode; + @ApiModelProperty(value = "采样时间") + private String monitorTime; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "监测点id") + private String monitorId; + @ApiModelProperty(value = "监测点名称") + private String monitoringName; + @ApiModelProperty(value = "流量(m3/h)") + private String flow; + @ApiModelProperty(value = "温度(%)") + private String temperatureHumidity; + @ApiModelProperty(value = "含氧量(%)") + private String oxygenContent; + @ApiModelProperty(value = "流速(m/s)") + private String velocity; + @ApiModelProperty(value = "生产负荷(%)") + private String productionLoad; + @ApiModelProperty(value = "实测浓度") + private String actualConcentration; + @ApiModelProperty(value = "折算浓度") + private String obversionConcentration; + @ApiModelProperty(value = "限值上限") + private String upperValue; + @ApiModelProperty(value = "限值下限") + private String lowerValue; + @ApiModelProperty(value = "频次单位") + private String frequencyUnit; + @ApiModelProperty(value = "是否超标;0---否,1----是") + private String exceedingStandard; + @ApiModelProperty(value = "超标倍数") + private String exceedingMultiple; + @ApiModelProperty(value = "湿度") + private String humidity; + @ApiModelProperty(value = "频次值") + private String frequencyValue; + @ApiModelProperty(value = "超标原因") + private String reason; + @ApiModelProperty(value = "采样开始时间") + private String analyseStartTime; + @ApiModelProperty(value = "采样截至时间") + private String analyseEndTime; + + private List regionCodes; + @ApiModelProperty(value = "污染物类型:1水,2气") + private String pollutantsType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaSelfMonitoringDataQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(StringUtils.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(StringUtils.isNotEmpty(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(StringUtils.isNotEmpty(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.in(CollectionUtil.isNotEmpty(query.getRegionCodes()), "district_code", query.getRegionCodes()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantsName()), "pollutants_name", query.getPollutantsName()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantsCode()), "pollutants_code", query.getPollutantsCode()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitorId()), "monitor_id", query.getMonitorId()); + wrapper.eq(StringUtils.isNotEmpty(query.getMonitoringName()), "monitoring_name", query.getMonitoringName()); + wrapper.eq(StringUtils.isNotEmpty(query.getFlow()), "flow", query.getFlow()); + wrapper.eq(StringUtils.isNotEmpty(query.getTemperatureHumidity()), "temperature_humidity", query.getTemperatureHumidity()); + wrapper.eq(StringUtils.isNotEmpty(query.getOxygenContent()), "oxygen_content", query.getOxygenContent()); + wrapper.eq(StringUtils.isNotEmpty(query.getVelocity()), "velocity", query.getVelocity()); + wrapper.eq(StringUtils.isNotEmpty(query.getProductionLoad()), "production_load", query.getProductionLoad()); + wrapper.eq(StringUtils.isNotEmpty(query.getActualConcentration()), "actual_concentration", query.getActualConcentration()); + wrapper.eq(StringUtils.isNotEmpty(query.getObversionConcentration()), "obversion_concentration", query.getObversionConcentration()); + wrapper.eq(StringUtils.isNotEmpty(query.getUpperValue()), "upper_value", query.getUpperValue()); + wrapper.eq(StringUtils.isNotEmpty(query.getLowerValue()), "lower_value", query.getLowerValue()); + wrapper.eq(StringUtils.isNotEmpty(query.getFrequencyUnit()), "frequency_unit", query.getFrequencyUnit()); + wrapper.eq(StringUtils.isNotEmpty(query.getExceedingStandard()), "exceeding_standard", query.getExceedingStandard()); + wrapper.eq(StringUtils.isNotEmpty(query.getExceedingMultiple()), "exceeding_multiple", query.getExceedingMultiple()); + wrapper.eq(StringUtils.isNotEmpty(query.getHumidity()), "humidity", query.getHumidity()); + wrapper.eq(StringUtils.isNotEmpty(query.getFrequencyValue()), "frequency_value", query.getFrequencyValue()); + wrapper.eq(StringUtils.isNotEmpty(query.getReason()), "reason", query.getReason()); + wrapper.eq(StringUtils.isNotEmpty(query.getPollutantsType()), "pollutants_type", query.getPollutantsType()); + wrapper.between(StringUtils.isNotEmpty(query.getAnalyseStartTime()) && StringUtils.isNotEmpty(query.getAnalyseEndTime()), "monitor_time", DateUtils.parseDate(query.getAnalyseStartTime()), DateUtils.parseDate(query.getAnalyseEndTime())); + wrapper.orderByDesc("monitor_time"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterFlagQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterFlagQuery.java new file mode 100644 index 0000000..040921c --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterFlagQuery.java @@ -0,0 +1,50 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel(value = "废水在线监测标记汇总query") +@Data +public class SRaWaterFlagQuery extends PageQuery { + + @ApiModelProperty(value = "企业名称") + private String factoryName; + + @ApiModelProperty("行业类别") + private String industryCode; + + @ApiModelProperty("区县编码") + private String regionCode; + + @ApiModelProperty(value = "区域编码") + private List regionCodeList; + + @ApiModelProperty("监测点位名称") + private String pointName; + + @ApiModelProperty("监测点位id") + private String pointId; + + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletTypes; + + @ApiModelProperty(value = "排口编号") + private String outletCode; + + @ApiModelProperty(value = "标记类型") + private String dataFlag; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "结束时间") + private String endTime; + + @ApiModelProperty(value = "数据类型(日:D;小时:H;分钟:M)") + private String dataType; + +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.java new file mode 100644 index 0000000..1d55f65 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.java @@ -0,0 +1,110 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedEmissions; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_emissions + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaWaterPermittedEmissionsQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletType; + @ApiModelProperty(value = "监测点名称") + private String moitorName; + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + private String monitorType; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "cod排放量(kg)") + private String cod; + @ApiModelProperty(value = "cod修约量(kg)") + private String codAmendments; + @ApiModelProperty(value = "总氮排放量(kg)") + private String nitrogen; + @ApiModelProperty(value = "总氮修约量(kg)") + private String nitrogenAmendments; + @ApiModelProperty(value = "氨氮排放量(kg)") + private String ammonia; + @ApiModelProperty(value = "氨氮修约量(kg)") + private String ammoniaAmendments; + @ApiModelProperty(value = "总磷排放量(kg)") + private String phosphorus; + @ApiModelProperty(value = "总磷修约量(kg)") + private String phosphorusAmendments; + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String dataFlag; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)") + private String invalidDataCalculated; + @ApiModelProperty(value = "监测开始时间") + private String monitorStartTime; + @ApiModelProperty(value = "监测截至时间") + private String monitorEndTime; + private List dataFlagArr; + private List regionCodes; + private String pollutantOutletType; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaWaterPermittedEmissionsQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorType()), "monitor_type", query.getMonitorType()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getCod()), "cod", query.getCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodAmendments()), "cod_amendments", query.getCodAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogen()), "nitrogen", query.getNitrogen()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenAmendments()), "nitrogen_amendments", query.getNitrogenAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmonia()), "ammonia", query.getAmmonia()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaAmendments()), "ammonia_amendments", query.getAmmoniaAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorus()), "phosphorus", query.getPhosphorus()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusAmendments()), "phosphorus_amendments", query.getPhosphorusAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedOnlineQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedOnlineQuery.java new file mode 100644 index 0000000..47b2364 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedOnlineQuery.java @@ -0,0 +1,122 @@ +package cn.cecep.talroad.vo.query.analysis; + +import cn.cecep.talroad.domain.analysis.SRaWaterPermittedOnline; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.util.List; + + +/** + * 许可排放量废水明细对象 s_ra_water_permitted_online + * + * @author szhpt + * @date 2023-06-02*/ +@ApiModel(value = "许可排放量废水明细") +@EqualsAndHashCode(callSuper = false) +@Data +public class SRaWaterPermittedOnlineQuery extends PageQuery +{ + + @ApiModelProperty(value = "数据主键") + private String dataId; + @ApiModelProperty(value = "企业主键") + private String factoryId; + @ApiModelProperty(value = "企业名称") + private String factoryName; + @ApiModelProperty(value = "行业类别名称(多个使用'、'拼接)") + private String industryCategoryName; + @ApiModelProperty(value = "行业类别编码(多个使用'、'拼接)") + private String industryCategoryCode; + @ApiModelProperty(value = "所在区县名称") + private String districtName; + @ApiModelProperty(value = "所在区县编码") + private String districtCode; + @ApiModelProperty(value = "排口类型(1主要排口、2一般排口)") + private String outletType; + @ApiModelProperty(value = "监测点名称") + private String moitorName; + @ApiModelProperty(value = "监测类型(1自动监测、2手工检测)") + private String monitorType; + @ApiModelProperty(value = "监测时间") + private String monitorTime; + @ApiModelProperty(value = "排口编号") + private String outletCode; + @ApiModelProperty(value = "cod排放量(kg)") + private String cod; + @ApiModelProperty(value = "cod修约量(kg)") + private String codAmendments; + @ApiModelProperty(value = "总氮排放量(kg)") + private String nitrogen; + @ApiModelProperty(value = "总氮修约量(kg)") + private String nitrogenAmendments; + @ApiModelProperty(value = "氨氮排放量(kg)") + private String ammonia; + @ApiModelProperty(value = "氨氮修约量(kg)") + private String ammoniaAmendments; + @ApiModelProperty(value = "总磷排放量(kg)") + private String phosphorus; + @ApiModelProperty(value = "总磷修约量(kg)") + private String phosphorusAmendments; + @ApiModelProperty(value = "数据标记启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String dataFlag; + @ApiModelProperty(value = "入库时间") + private String createTime; + @ApiModelProperty(value = "纳入排放量计算启炉,停炉,焖炉,生产设施故障,停运,国发非正常工况标记,无效数据是否用修约量计算") + private String includedEmissions; + @ApiModelProperty(value = "无效数据是否用修约量计算(1是,0否)") + private String invalidDataCalculated; + @ApiModelProperty(value = "监测开始时间") + private String monitorStartTime; + @ApiModelProperty(value = "监测截至时间") + private String monitorEndTime; + private List dataFlagArr; + private List monitors; + private List regionCodes; + @ApiModelProperty(value = "1废气,2废水") + private String pollutantOutletType; + @ApiModelProperty(value = "1在线,2许可") + private String type; + + private String hideIndex; + /** + * + * @Title: getQueryWrapper + * @Description: 查询参数组装 + * @param: @return + * @return: QueryWrapper + * @throws + */ + public static QueryWrapper createLambdaQueryWrapper(SRaWaterPermittedOnlineQuery query) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(ObjectUtil.isNotNull(query.getDataId()), "data_id", query.getDataId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryId()), "factory_id", query.getFactoryId()); + wrapper.eq(ObjectUtil.isNotNull(query.getFactoryName()), "factory_name", query.getFactoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryName()), "industry_category_name", query.getIndustryCategoryName()); + wrapper.eq(ObjectUtil.isNotNull(query.getIndustryCategoryCode()), "industry_category_code", query.getIndustryCategoryCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictName()), "district_name", query.getDistrictName()); + wrapper.eq(ObjectUtil.isNotNull(query.getDistrictCode()), "district_code", query.getDistrictCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletType()), "outlet_type", query.getOutletType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMoitorName()), "moitor_name", query.getMoitorName()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorType()), "monitor_type", query.getMonitorType()); + wrapper.eq(ObjectUtil.isNotNull(query.getMonitorTime()), "monitor_time", query.getMonitorTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getOutletCode()), "outlet_code", query.getOutletCode()); + wrapper.eq(ObjectUtil.isNotNull(query.getCod()), "cod", query.getCod()); + wrapper.eq(ObjectUtil.isNotNull(query.getCodAmendments()), "cod_amendments", query.getCodAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogen()), "nitrogen", query.getNitrogen()); + wrapper.eq(ObjectUtil.isNotNull(query.getNitrogenAmendments()), "nitrogen_amendments", query.getNitrogenAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmonia()), "ammonia", query.getAmmonia()); + wrapper.eq(ObjectUtil.isNotNull(query.getAmmoniaAmendments()), "ammonia_amendments", query.getAmmoniaAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorus()), "phosphorus", query.getPhosphorus()); + wrapper.eq(ObjectUtil.isNotNull(query.getPhosphorusAmendments()), "phosphorus_amendments", query.getPhosphorusAmendments()); + wrapper.eq(ObjectUtil.isNotNull(query.getDataFlag()), "data_flag", query.getDataFlag()); + wrapper.eq(ObjectUtil.isNotNull(query.getCreateTime()), "create_time", query.getCreateTime()); + wrapper.eq(ObjectUtil.isNotNull(query.getIncludedEmissions()), "included_emissions", query.getIncludedEmissions()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.java new file mode 100644 index 0000000..8905b40 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.java @@ -0,0 +1,34 @@ +package cn.cecep.talroad.vo.query.effective; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.effective.MAiControlDelayAssessment; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class MAiControlDelayAssessmentQuery extends PageQuery { + @ApiModelProperty(value="平均风速") + private String averageSpeed; + @ApiModelProperty(value="风向:E:东,S:南,W:西,N:北 ,SE:东南,SW:西南,NE:东北,NW:西北") + private String windDirection; + @ApiModelProperty(value="影响站点名称") + private List siteNames; + @ApiModelProperty(value="企业名") + private String factoryName; + @ApiModelProperty(value="查询的字段,site_name:影响站点名称,factory_name:企业名") + private String selectName; + + public static QueryWrapper createLambdaQueryWrapper(MAiControlDelayAssessmentQuery query) { + QueryWrapper wrapper= Wrappers.query(); + wrapper.eq(ObjectUtil.isNotEmpty(query.getAverageSpeed()), "average_speed ::NUMERIC",query.getAverageSpeed()==null?null: Double.parseDouble(query.getAverageSpeed())); + wrapper.eq(ObjectUtil.isNotEmpty(query.getWindDirection()), "wind_direction", query.getWindDirection()); + wrapper.in(ObjectUtil.isNotEmpty(query.getSiteNames()), "site_name", query.getSiteNames()); + wrapper.like(ObjectUtil.isNotEmpty(query.getFactoryName()), "factory_name", query.getFactoryName()); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MGovernanceTechnologyEstimateQuery.java b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MGovernanceTechnologyEstimateQuery.java new file mode 100644 index 0000000..26678f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/java/cn/cecep/talroad/vo/query/effective/MGovernanceTechnologyEstimateQuery.java @@ -0,0 +1,96 @@ +package cn.cecep.talroad.vo.query.effective; + +import cn.cecep.talroad.common.core.domain.query.PageQuery; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFacilities; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateFactory; +import cn.cecep.talroad.domain.effective.MGovernanceTechnologyEstimateProcedure; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import io.seata.common.util.CollectionUtils; +import io.seata.common.util.StringUtils; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +public class MGovernanceTechnologyEstimateQuery extends PageQuery { + @ApiModelProperty(value="企业名称集合") + private List factoryNames; + + @ApiModelProperty(value="行业类别") + private List industryCategories; + + @ApiModelProperty(value="县名称") + private List countryNames; + + @ApiModelProperty(value="评估结果") + private String administerResults; + + @ApiModelProperty(value="治理技术") + private String governanceTechnology; + + @ApiModelProperty(value="治理设施") + private List governanceFacilities; + + @ApiModelProperty(value="工序") + private List procedures; + + @ApiModelProperty(value="季度:1,2,3,4") + private String quarter; + + @ApiModelProperty(value="年份") + private String year; + @ApiModelProperty(value="必填项:设施类型 1:脱硫设施,2:脱硝设施,3:除尘设施") + private Integer type; + + @ApiModelProperty(value="必填项:分析纬度 1==企业维度,2==治理设施维度,3==工序维度") + private Integer analyzeLatitude; + + private String selectName; + + public static QueryWrapper createFactoryWrapper(MGovernanceTechnologyEstimateQuery query){ + QueryWrapper wrapper= Wrappers.query(); + wrapper.in(CollectionUtils.isNotEmpty(query.getFactoryNames()),"factory_name",query.getFactoryNames()); + wrapper.in(CollectionUtils.isNotEmpty(query.getCountryNames()),"country_name",query.getCountryNames()); + wrapper.in(CollectionUtils.isNotEmpty(query.getIndustryCategories()),"industry_category",query.getIndustryCategories()); + wrapper.eq(StringUtils.isNotEmpty(query.getGovernanceTechnology()),"governance_technology",query.getGovernanceTechnology()); + wrapper.eq(StringUtils.isNotEmpty(query.getAdministerResults()),"administer_results",query.getAdministerResults()); + wrapper.eq(StringUtils.isNotEmpty(query.getYear()),"year",query.getYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getQuarter()),"quarter",query.getQuarter()); + wrapper.eq(query.getType()!=null,"type",query.getType()); + wrapper.orderByDesc("factory_name","governance_technology"); + return wrapper; + } + + public static QueryWrapper createFacilitiesWrapper(MGovernanceTechnologyEstimateQuery query) { + QueryWrapper wrapper= Wrappers.query(); + wrapper.in(CollectionUtils.isNotEmpty(query.getFactoryNames()),"factory_name",query.getFactoryNames()); + wrapper.in(CollectionUtils.isNotEmpty(query.getCountryNames()),"country_name",query.getCountryNames()); + wrapper.in(CollectionUtils.isNotEmpty(query.getIndustryCategories()),"industry_category",query.getIndustryCategories()); + wrapper.in(CollectionUtils.isNotEmpty(query.getGovernanceFacilities()),"governance_facilities",query.getGovernanceFacilities()); + wrapper.eq(StringUtils.isNotEmpty(query.getGovernanceTechnology()),"governance_technology",query.getGovernanceTechnology()); + wrapper.eq(StringUtils.isNotEmpty(query.getAdministerResults()),"administer_results",query.getAdministerResults()); + wrapper.eq(StringUtils.isNotEmpty(query.getYear()),"year",query.getYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getQuarter()),"quarter",query.getQuarter()); + wrapper.eq(query.getType()!=null,"type",query.getType()); + wrapper.orderByDesc("factory_name","governance_technology"); + return wrapper; + } + + public static QueryWrapper createProcedureWrapper(MGovernanceTechnologyEstimateQuery query) { + QueryWrapper wrapper= Wrappers.query(); + wrapper.in(CollectionUtils.isNotEmpty(query.getProcedures()),"procedure",query.getProcedures()); + wrapper.in(CollectionUtils.isNotEmpty(query.getCountryNames()),"country_name",query.getCountryNames()); + wrapper.in(CollectionUtils.isNotEmpty(query.getIndustryCategories()),"industry_category",query.getIndustryCategories()); + wrapper.eq(StringUtils.isNotEmpty(query.getGovernanceTechnology()),"governance_technology",query.getGovernanceTechnology()); + wrapper.eq(StringUtils.isNotEmpty(query.getAdministerResults()),"administer_results",query.getAdministerResults()); + wrapper.eq(StringUtils.isNotEmpty(query.getYear()),"year",query.getYear()); + wrapper.eq(StringUtils.isNotEmpty(query.getQuarter()),"quarter",query.getQuarter()); + wrapper.eq(query.getType()!=null,"type",query.getType()); + wrapper.orderByDesc("procedure","governance_technology"); + return wrapper; + } +} diff --git a/szhpt-fixed-task/src/main/resources/bootstrap.yml b/szhpt-fixed-task/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..22b02eb --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/bootstrap.yml @@ -0,0 +1,26 @@ +spring: + application: + # 应用名称 + name: szhpt-fixed-task + main: + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 10.0.200.93:8848 + namespace: szhpt-dev + # 本地开发不注册到注册中心 + #register-enabled: false + config: + name: ${spring.application.name} + # 配置中心地址 + server-addr: ${spring.cloud.nacos.discovery.server-addr} + # 配置文件格式 + file-extension: yaml + # 共享配置 + shared-configs: + - application-pub.${spring.cloud.nacos.config.file-extension} + - application-pub-db.${spring.cloud.nacos.config.file-extension} + - application-swagger-ui.${spring.cloud.nacos.config.file-extension} + namespace: ${spring.cloud.nacos.discovery.namespace} diff --git a/szhpt-fixed-task/src/main/resources/logback.xml b/szhpt-fixed-task/src/main/resources/logback.xml new file mode 100644 index 0000000..d026031 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AmDoorMonitorAccountFiMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmDoorMonitorAccountFiMapper.xml new file mode 100644 index 0000000..2bd792f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmDoorMonitorAccountFiMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, lpn_code, entry_type, entry_time, car_team, discharge_stage, ngine_code, io_type, cargo_quantity, driving_license_image, accessory_list_image from m_am_door_monitor_account_fi + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiMapper.xml new file mode 100644 index 0000000..8b1d592 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiMapper.xml @@ -0,0 +1,331 @@ + + + + + + + + SELECT + t1.id, + t1.problem_sources, + t1.problem_type, + t1.factory_id, + t2.factory_name, + t2.country_name AS region_name, + t4.arguments_name AS industry_name, + t1.station_name, + t1.analyse_time, + t1.analyse_time_end, + t1.param_name, + t1.problem_details, + t1.feedback_date, + t1.feedback_desc, + t1.problem_status, + t1.rectify_limit_start_time, + t1.rectify_limit_end_time, + t1.rectify_limit_sum, + t1.rectify_time, + t1.sign_time, + t1.problem_audit_type, + CASE WHEN pt.route = 'IssuesInfoPage' and t1.model_valid_person is null THEN '2' ELSE '1' END status + FROM m_am_problem_fi t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2.id + left join ( + select + plf.factory_id, plv.arguments_code, plv.arguments_name + from pc_label_factory plf + left join pc_label_value plv on plf.label_id = plv.label_id and plf.label_value = plv.arguments_code + where plf.label_id = '4' + ) t4 on t1.factory_id = t4.factory_id + INNER JOIN pc_ra_problem_type pt ON t1.problem_type = pt.id AND pt.is_status = '1' + + + and t1.id = #{query.id} + + + and t1.problem_sources = #{query.problemSources} + + + and t1.problem_type IN + + #{item} + + + + and t1.station_name like concat('%', #{query.stationName}, '%') + + + and t1.param_name like concat('%', #{query.paramName}, '%') + + + and t1.factory_id = #{query.factoryId} + + + and t2.factory_name like concat('%', #{query.factoryName}, '%') + + + and t4.arguments_name = #{query.industryCode} + + + and t2.country_code = #{query.regionCode} + + + and t2.country_code IN + + #{item} + + + + and ( + t1.analyse_time >= to_timestamp(#{query.analyseTimeStart}, 'yyyy-mm-dd') or + t1.analyse_time_end >= to_timestamp(#{query.analyseTimeStart}, 'yyyy-mm-dd') + ) + + + and ( + t1.analyse_time <= to_timestamp(concat(#{query.analyseTimeEnd}, ' 23:59:59'), 'yyyy-mm-dd hh24:MI:SS') or + t1.analyse_time_end <= to_timestamp(concat(#{query.analyseTimeEnd}, ' 23:59:59'), 'yyyy-mm-dd hh24:MI:SS') + ) + + + and t1.pollutant_source_ai = #{query.pollutantSourceAi} + + + + + + and (pt.route = 'IssuesInfoPage' and t1.model_valid_person is null) + + + and (pt.route IS NULL OR pt.route != 'IssuesInfoPage' OR t1.model_valid_person IS NOT NULL) + + + + + and t1.type = #{query.type,jdbcType=INTEGER} + + + + and t1.problem_status = #{query.problemStatus} + + + and t1.problem_status IN + + #{item} + + + + and t1.problem_audit_type = #{query.problemAuditType} + + + and pt.top_type = #{query.topType} + + + AND (t1.is_show IS NULL OR t1.is_show LIKE '1%') + + ORDER BY t1.analyse_time DESC, t1.id + + + + + + + + + + + + + + INSERT INTO m_am_problem_fi (id,factory_id,problem_sources,problem_type,problem_details,station_name,problem_start_time,problem_end_time,analyse_time, + analyse_time_end,problem_treatment_state,type,extra + ) VALUES + + ( + #{item.id},#{item.factoryId},#{item.problemSources},#{item.problemType},#{item.problemDetails},#{item.stationName},#{item.problemStartTime},#{item.problemEndTime},#{item.analyseTime}, + #{item.analyseTimeEnd},#{item.problemTreatmentState},#{item.type},#{item.extra} + ) + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiProcessMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiProcessMapper.xml new file mode 100644 index 0000000..772db47 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiProcessMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiRatioMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiRatioMapper.xml new file mode 100644 index 0000000..9def2e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmProblemFiRatioMapper.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + SELECT + A.ID, + A.factory_id, + A.station_id, + A.poll_id, + A.problem_ratio, + A.create_time, + A.update_time, + B.factory_name, + C.monitoring_point_name, + D.poll_name, + D.executive_standard + FROM + m_am_problem_fi_ratio A + LEFT JOIN pc_factory b ON A.factory_id = b.ID + LEFT JOIN pc_outlet C ON A.station_id = C.ID + LEFT JOIN pc_pollutant d ON A.poll_id = d.ID + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AmVideoDevFiMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmVideoDevFiMapper.xml new file mode 100644 index 0000000..8c98c1a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AmVideoDevFiMapper.xml @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, dev_id, dev_name, dev_inside_code, dev_code, model, model_road, location, lon_map, lat_map, descr_any from m_am_video_dev_fi + + + + UPDATE m_am_video_dev_fi SET status = #{item.status} WHERE id = #{item.id} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/AppVersionAddressManagementMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/AppVersionAddressManagementMapper.xml new file mode 100644 index 0000000..67c16ad --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/AppVersionAddressManagementMapper.xml @@ -0,0 +1,29 @@ + + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrBusinessAlertsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrBusinessAlertsMapper.xml new file mode 100644 index 0000000..e07ad3a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrBusinessAlertsMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + select business_id, factory_id, business_type, business_title, business_details, business_time, status from b_enterprise_ir_business_alerts + + + + + + + + INSERT INTO b_enterprise_ir_business_alerts (factory_id,business_type,business_details,business_time,create_time) VALUES + + (#{item.factoryId}, #{item.businessType}, #{item.businessDetails}, #{item.businessTime}, #{item.createTime}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesMapper.xml new file mode 100644 index 0000000..6615e54 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + select id, ees_classify, ees_type, ees_name, ees_title, ees_details, ees_file_name, ees_file_url, ees_time from b_enterprise_ir_ees + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesTypeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesTypeMapper.xml new file mode 100644 index 0000000..4fd5c44 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrEesTypeMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + select id, ees_classify, ees_type, ees_name, ees_title from b_enterprise_ir_ees_type + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrLegalMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrLegalMapper.xml new file mode 100644 index 0000000..0adf521 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrLegalMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + select id, legal_type, legal_name, legal_title, legal_details, legal_file_name, legal_file_url, legal_time from b_enterprise_ir_legal + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrNotifierproNoticeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrNotifierproNoticeMapper.xml new file mode 100644 index 0000000..26c7ae9 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrNotifierproNoticeMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + select notice_id, factory_id, announcement_type, announcement_title, announcement_details, announcement_time, status from b_enterprise_ir_notifierpro_notice + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrSdoeptMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrSdoeptMapper.xml new file mode 100644 index 0000000..f4042e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseIrSdoeptMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + select id, sdoept_type, sdoept_name, sdoept_title, sdoept_details, sdoept_file_name, sdoept_file_url, sdoept_time from b_enterprise_ir_sdoept + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentLastMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentLastMapper.xml new file mode 100644 index 0000000..e4f3c94 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentLastMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + INSERT INTO b_enterprise_risk_assessment_last (factory_id,problem_exist,problem_number,score,create_by,create_time,update_by,update_time,remark,is_repeated_grade,business_id) + VALUES + + ( + #{item.factoryId,jdbcType=VARCHAR}, #{item.problemExist,jdbcType=VARCHAR}, + #{item.problemNumber,jdbcType=INTEGER}, #{item.score,jdbcType=INTEGER}, #{item.createBy,jdbcType=VARCHAR}, + #{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, + #{item.remark,jdbcType=VARCHAR}, #{item.isRepeatedGrade,jdbcType=SMALLINT},#{item.businessId,jdbcType=VARCHAR} + ) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentMapper.xml new file mode 100644 index 0000000..5e0181e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BEnterpriseRiskAssessmentMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + risk_id, factory_id, score, grade, highest_number, online_warning_number, fbjd_warning_number, + problem_number, practicable_number, control_number, data_rate_number, discharge_pollutants, + day_follow, create_by, create_time, update_by, update_time + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainActionReportsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainActionReportsMapper.xml new file mode 100644 index 0000000..72480c0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainActionReportsMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + select id, factory_id, reports_type, reports_time, reports_file from b_main_action_reports + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionAirMapper.xml new file mode 100644 index 0000000..7ba4cf2 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionAirMapper.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select bmapa.id, factory_id, poll_dis_id, pollution_category, pp.poll_name, organized_frist, organized_second, organized_third, organized_fourth, organized_fifth, inorganization_frist, inorganization_second, inorganization_third, inorganization_fourth, inorganization_fifth, total_frist, total_second, total_third, total_fourth, total_fifth from b_main_allowable_pollution_air bmapa + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionWaterMapper.xml new file mode 100644 index 0000000..f3509e5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainAllowablePollutionWaterMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + select bmapw.id, factory_id, poll_dis_id, pollution_category, apply_frist, apply_second, apply_third, apply_fourth, apply_fifth, apply_discharge_limiting_value, pp.poll_name from b_main_allowable_pollution_water bmapw + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonAirMapper.xml new file mode 100644 index 0000000..54eaf71 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonAirMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, factory_name, mon_name, pollution_category, outlet_code, outlet_type, pollution_type, monitoning_time, mean_concentration_hour, mean_unit, flue_gas_flow_rate, pollution_discharge, whether_effective, revising_discharge, revising_explain, inclusion_calculation_discharge, tag_explain from b_main_emission_online_mon_air + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonWaterMapper.xml new file mode 100644 index 0000000..2ae4176 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionOnlineMonWaterMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, factory_name, mon_name, pollution_category, outlet_code, outlet_type, pollution_type, monitoning_time, mean_concentration_day, mean_unit, flue_gas_flow_rate, pollution_discharge, whether_effective, revising_discharge, revising_explain, inclusion_calculation_discharge, tag_explain from b_main_emission_online_mon_water + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionAirMapper.xml new file mode 100644 index 0000000..c35fa80 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionAirMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, poll_year, pollution_category, data_source, actually_emitting_so2, allowable_emission_so2, actually_emitting_nox, allowable_emission_nox, actually_emitting_pm, allowable_emission_pm, actually_emitting_vocs, allowable_emission_vocs from b_main_emission_pollution_air + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionSolidWasteMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionSolidWasteMapper.xml new file mode 100644 index 0000000..b786c8c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionSolidWasteMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, poll_year, pollution_category, data_source, solid_waste_type, solid_waste_name, annual_planned_output, annual_actual_production, annual_storage_capacity, annual_transfer_volume, annual_disposal_utilization from b_main_emission_pollution_solid_waste + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionWaterMapper.xml new file mode 100644 index 0000000..4b9c097 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionPollutionWaterMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, poll_year, pollution_category, data_source, actually_emitting_cod, allowable_emission_cod, actually_emitting_nhn, allowable_emission_nhn, actually_emitting_tn, allowable_emission_tn, actually_emitting_tp, allowable_emission_tp from b_main_emission_pollution_water + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceAirMapper.xml new file mode 100644 index 0000000..d014f20 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceAirMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + select id, factory_id, poll_year, pollution_category, systematic_accounting_so2, action_reports_so2, permission_so2 from b_main_emission_source_air + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceWaterMapper.xml new file mode 100644 index 0000000..1382986 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainEmissionSourceWaterMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + select id, factory_id, poll_year, pollution_category, systematic_accounting_cod, action_reports_cod, permission_cod from b_main_emission_source_water + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainFactoryVerificationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainFactoryVerificationMapper.xml new file mode 100644 index 0000000..ba7b268 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainFactoryVerificationMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, task_name, task_source, factory_id, factory_name, factory_address, area, credit_code, handle_person, complete_time, verification_content, verification_time, task_status, factory_type, is_law_enforcement, is_hidden_danger_reminder, is_problem, law_enforcement_person, enforcement_summary, remark, evidence_list, create_by, create_time, update_by, update_time from b_main_factory_verification + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteCrMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteCrMapper.xml new file mode 100644 index 0000000..7f624f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteCrMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + select id, factory_id, solid_waste_type, control_requirements from b_main_hazardous_solid_waste_cr + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteFaMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteFaMapper.xml new file mode 100644 index 0000000..c8d1a4f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteFaMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + select id, factory_id, solid_waste_type, facility_name, facility_code, facility_type, lon, lat, pollute_technical_requirements from b_main_hazardous_solid_waste_fa + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteLeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteLeMapper.xml new file mode 100644 index 0000000..0a22bf7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteLeMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + select id, factory_id, solid_waste_id, self_disposal_volume, entrusted_disposal_volume, entrusted_disposal_unit_name, hazardous_waste_unit_name, hazardous_waste_licence_code, storage_facility_name, storage_facility_code, video_surveillance from b_main_hazardous_solid_waste_le + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteMapper.xml new file mode 100644 index 0000000..db1e10d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousSolidWasteMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + select id, factory_id, solid_waste_type, solid_waste_name, solid_waste_code, hazardous_characteristics, category, physical_characteristics, production_link, where_abouts, remark from b_main_hazardous_solid_waste + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousWasteOutputMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousWasteOutputMapper.xml new file mode 100644 index 0000000..f48ae92 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainHazardousWasteOutputMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, particular_year, particular_month, materials_type, materials_code, materials_name, materials_last_month, materials_output, materials_allowance, materials_as_follows, materials_use, materials_repertory, materials_repertory_year, unit from b_main_hazardous_waste_output + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMobileEnforcementMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMobileEnforcementMapper.xml new file mode 100644 index 0000000..f73d65b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMobileEnforcementMapper.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + select id, factory_id, task_type, enforcement_persion, enforcement_time, enforcement_nodulus, enforcement_opinion from b_main_mobile_enforcement + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMonitorPointOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMonitorPointOperationLogMapper.xml new file mode 100644 index 0000000..a0d1907 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainMonitorPointOperationLogMapper.xml @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + + + + + + log_id, operation_time, monitoring_point_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", monitoring_point_type, + factory_id + + + + + delete from b_main_monitor_point_operation_log + where log_id = #{logId,jdbcType=VARCHAR} + + + + insert into b_main_monitor_point_operation_log (log_id, operation_time, monitoring_point_name, + before_modify_name, before_modify_code, operation_status, + after_modify_name, after_modify_code, "operator", + monitoring_point_type, factory_id) + values (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{monitoringPointName,jdbcType=VARCHAR}, + #{beforeModifyName,jdbcType=VARCHAR}, #{beforeModifyCode,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyName,jdbcType=VARCHAR}, #{afterModifyCode,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{monitoringPointType,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR}) + + + + insert into b_main_monitor_point_operation_log + + + log_id, + + + operation_time, + + + monitoring_point_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + monitoring_point_type, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{monitoringPointName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{monitoringPointType,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update b_main_monitor_point_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + monitoring_point_name = #{monitoringPointName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update b_main_monitor_point_operation_log + set operation_time = #{operationTime,jdbcType=TIMESTAMP}, + monitoring_point_name = #{monitoringPointName,jdbcType=VARCHAR}, + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + where log_id = #{logId,jdbcType=VARCHAR} + + + + update b_main_monitor_point_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointType,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update b_main_monitor_point_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointType,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into b_main_monitor_point_operation_log + (log_id, operation_time, monitoring_point_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", monitoring_point_type, + factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, #{item.monitoringPointName,jdbcType=VARCHAR}, + #{item.beforeModifyName,jdbcType=VARCHAR}, #{item.beforeModifyCode,jdbcType=VARCHAR}, + #{item.operationStatus,jdbcType=VARCHAR}, #{item.afterModifyName,jdbcType=VARCHAR}, + #{item.afterModifyCode,jdbcType=VARCHAR}, #{item.operator,jdbcType=VARCHAR}, #{item.monitoringPointType,jdbcType=VARCHAR}, + #{item.factoryId,jdbcType=VARCHAR}) + + + + + insert into b_main_monitor_point_operation_log + (log_id, operation_time, monitoring_point_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", monitoring_point_type, + factory_id) + values + (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{monitoringPointName,jdbcType=VARCHAR}, + #{beforeModifyName,jdbcType=VARCHAR}, #{beforeModifyCode,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyName,jdbcType=VARCHAR}, #{afterModifyCode,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{monitoringPointType,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR}) + on duplicate key update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + monitoring_point_name = #{monitoringPointName,jdbcType=VARCHAR}, + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into b_main_monitor_point_operation_log + + + log_id, + + + operation_time, + + + monitoring_point_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + monitoring_point_type, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{monitoringPointName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{monitoringPointType,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + monitoring_point_name = #{monitoringPointName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainNoiseEmissionsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainNoiseEmissionsMapper.xml new file mode 100644 index 0000000..b14beca --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainNoiseEmissionsMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + select id, factory_id, noise_type_id, production_period_daytime, production_period_nighttime, implementation_emission_standards, noise_emissions_daytime, noise_emissions_nighttime from b_main_noise_emissions + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEmlRecordMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEmlRecordMapper.xml new file mode 100644 index 0000000..b6e9594 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEmlRecordMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + select eml_id, factory_id, poll_dis_id, others_information, main_content, reporting_frequency from b_main_poll_dis_eml_record + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEnforcementMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEnforcementMapper.xml new file mode 100644 index 0000000..aaae274 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisEnforcementMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + select enforcement_id, factory_id, poll_dis_id, ........pg.dropped.4........, ........pg.dropped.5........, eml_type, ........pg.dropped.7........, ........pg.dropped.8........, ........pg.dropped.9........, ........pg.dropped.10........, ........pg.dropped.11........, ........pg.dropped.12........, ........pg.dropped.13........, ........pg.dropped.14........, ........pg.dropped.15........, ........pg.dropped.16........, ........pg.dropped.17........, record_content, record_frequency, open_content, other_information from b_main_poll_dis_enforcement + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisFileMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisFileMapper.xml new file mode 100644 index 0000000..2ca5207 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisFileMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + select file_id, factory_id, poll_dis_id, file_type, file_name from b_main_poll_dis_file + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasMoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasMoutMapper.xml new file mode 100644 index 0000000..317596b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasMoutMapper.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select mout_id, factory_id, poll_dis_id, outlet_code, outlet_name, outlet_use_total, pollutants_type, pollutants_mg_hour, pollutants_mg_day, pollutants_mg_rate, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth, exact_demands_pollutants_mg from b_main_poll_dis_gas_mout + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasOoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasOoutMapper.xml new file mode 100644 index 0000000..2ebcb1d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasOoutMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select oout_id, factory_id, poll_dis_id, outlet_code, outlet_name, outlet_use_total, pollutants_type, pollutants_mg_hour, pollutants_mg_day, pollutants_mg_rate, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth, exact_demands_pollutants_mg from b_main_poll_dis_gas_oout + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasPollMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasPollMapper.xml new file mode 100644 index 0000000..200cf50 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasPollMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + poll_id, factory_id, poll_dis_id, pollutants_type, pollutants_total_yzz_frist, pollutants_total_yzz_second, + pollutants_total_yzz_third, pollutants_total_yzz_fourth, pollutants_total_yzz_fifth, + pollutants_total_wzz_frist, pollutants_total_wzz_second, pollutants_total_wzz_third, + pollutants_total_wzz_fourth, pollutants_total_wzz_fifth, pollutants_total_frist, + pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasSoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasSoutMapper.xml new file mode 100644 index 0000000..fdd997d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasSoutMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasToutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasToutMapper.xml new file mode 100644 index 0000000..3459adb --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasToutMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + select tout_id, factory_id, poll_dis_id, ........pg.dropped.4........, ........pg.dropped.5........, ........pg.dropped.6........, pollutants_type, ........pg.dropped.8........, ........pg.dropped.9........, ........pg.dropped.10........, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth, ........pg.dropped.16........ from b_main_poll_dis_gas_tout + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasWzzToutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasWzzToutMapper.xml new file mode 100644 index 0000000..e83e862 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisGasWzzToutMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + wzz_tout_id, factory_id, poll_dis_id, outlet_code, outlet_name, pollution_production_link, + outlet_use_total, pollutants_type, pollutants_measure, pollutants_mg_hour, pollutants_mg_day, + other_msg, pollutants_total_frist, pollutants_total_second, pollutants_total_third, + pollutants_total_fourth, pollutants_total_fifth, exact_demands_pollutants_mg, pollutants_mg_name + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisInformationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisInformationMapper.xml new file mode 100644 index 0000000..e140dee --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisInformationMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + select information_id, factory_id, poll_dis_id, open_procedure, time_nodes, open_content, other_information from b_main_poll_dis_information + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisMapper.xml new file mode 100644 index 0000000..02849ed --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, poll_dis_license_code, business_type, edition_code, completion_time, poll_dis_license_deadline, poll_dis_original, poll_dis_ectype, qr_code_url, data_id,start_time,deadline_time from b_main_poll_dis + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseMapper.xml new file mode 100644 index 0000000..992807b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + select id, factory_id, poll_dis_id, noise_type, production_time_day, production_time_night, emission_standards_name, noise_ouelat_day, noise_ouelat_night, other_information from b_main_poll_dis_noise + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRegulationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRegulationMapper.xml new file mode 100644 index 0000000..9d9b496 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRegulationMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + select id, factory_id, poll_dis_id, rectification_problem, rectification_measures, rectification_time, rectification_plan, rectification_is_complete from b_main_poll_dis_noise_regulation + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRequireMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRequireMapper.xml new file mode 100644 index 0000000..38e760c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisNoiseRequireMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + select require_id, factory_id, poll_dis_id, require_gas, require_water, require_soil, require_solid, other_information_require from b_main_poll_dis_noise_require + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonMapper.xml new file mode 100644 index 0000000..3fce1c9 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonMapper.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select "mon_id", factory_id, poll_dis_id, pollutant_type, outlet_code, outlet_name, monitoring_content, pollutants_name, monitoring_facility, monitoring_automatic_networking, monitoring_automatic_name, monitoring_automatic_address, monitoring_automatic_require, monitoring_manual_sampling, monitoring_manual_frequency, monitoring_manual_means, other_information from b_main_poll_dis_self_mon + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonOtherMapper.xml new file mode 100644 index 0000000..21ceed7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisSelfMonOtherMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select "mon_other_id", factory_id, poll_dis_id, pollutant_type, outlet_code, outlet_name, monitoring_content, pollutants_name, monitoring_facility, monitoring_automatic_networking, monitoring_automatic_name, monitoring_automatic_address, monitoring_automatic_require, monitoring_manual_sampling, monitoring_manual_frequency, monitoring_manual_means, other_information from b_main_poll_dis_self_mon_other + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterMoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterMoutMapper.xml new file mode 100644 index 0000000..56757b3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterMoutMapper.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + select mout_id, factory_id, poll_dis_id, pollutants_type, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth, outlet_code, outlet_name, outlet_use_total, pollutants_mg_rate from b_main_poll_dis_water_mout + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterOoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterOoutMapper.xml new file mode 100644 index 0000000..8ab940f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterOoutMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + select oout_id, factory_id, poll_dis_id, pollutants_type, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth, outlet_code, outlet_name, outlet_use_total, pollutants_mg_rate from b_main_poll_dis_water_oout + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterSoutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterSoutMapper.xml new file mode 100644 index 0000000..7925a22 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterSoutMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + select sout_id, factory_id, poll_dis_id, pollutant_type, outlet_code, outlet_name, pollutants_type, pollutants_time_frame, pollutants_concentration, pollutants_dis, other_detail from b_main_poll_dis_water_sout + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterToutMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterToutMapper.xml new file mode 100644 index 0000000..4b53b82 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainPollDisWaterToutMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + select tout_id, factory_id, poll_dis_id, pollutants_type, pollutants_total_frist, pollutants_total_second, pollutants_total_third, pollutants_total_fourth, pollutants_total_fifth from b_main_poll_dis_water_tout + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionInorgGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionInorgGasMapper.xml new file mode 100644 index 0000000..8d2c595 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionInorgGasMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, licence_mon_name, monitoring_type, monitoring_inorganization, pollution_prevention, pollution_production_link, corresponding_production_code, dev_id, corresponding_production_name, pro_facility_param, pollution_type from b_main_production_inorg_gas + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionOrganizGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionOrganizGasMapper.xml new file mode 100644 index 0000000..b3a1012 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionOrganizGasMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_code, outlet_name, outlet_type, outlet_mon_type, cep_facility_code, cep_facility_name, cep_facility_craft, pro_facility_code, pro_facility_name, dev_id, pro_facility_param, pollution_production_link, pollution_type from b_main_production_organiz_gas + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionWaterMapper.xml new file mode 100644 index 0000000..9881225 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainProductionWaterMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_code, outlet_name, outlet_type, outlet_mon_type, cep_facility_code, cep_facility_name, cep_facility_craft, pollution_type, water_type from b_main_production_water + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidHazardousMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidHazardousMapper.xml new file mode 100644 index 0000000..5762ed8 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidHazardousMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + select id, factory_id, facility_name, facility_code from b_main_solid_hazardous + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidWasteOutputMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidWasteOutputMapper.xml new file mode 100644 index 0000000..82f23db --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSolidWasteOutputMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, particular_year, particular_month, materials_type, materials_code, materials_name, materials_output, materials_preliminary_stage, materials_accumulated, materials_use, materials_dispose, materials_entrust_use, materials_entrust_dispose from b_main_solid_waste_output + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSysFeedbackMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSysFeedbackMapper.xml new file mode 100644 index 0000000..2f4ab6f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainSysFeedbackMapper.xml @@ -0,0 +1,32 @@ + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcMapper.xml new file mode 100644 index 0000000..18cb212 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcMapper.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select task_id, task_name, factory_id, factory_name, district_name, district_code, industry_category_name, industry_category_code, man_type, industry_category, closing_time, archive_time, task_status, initiating_time, initiating_dept_id, initiating_dept_name, emergency_level, estimated_completion_time, factory_address, specific_issues, task_details, question_attachment, receiving_dept_ids, receiving_dept_names, update_time, update_by, create_time, create_by from b_main_three_supervision_enforc + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcRecordMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcRecordMapper.xml new file mode 100644 index 0000000..5d5423d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BMainThreeSupervisionEnforcRecordMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + select record_id, task_id, handle_dept_id, handle_dept_name, handle_person, handle_time, is_enforcement, conclusion, specific_conclusion, question_attachment, create_by, create_time, update_by, update_time from b_main_three_supervision_enforc_record + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesMapper.xml new file mode 100644 index 0000000..caeeb07 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesMapper.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + id, factory_id, production_line_type, production_line_code, production_unit_name, + craft_name, facility_name, trade_secrets, production_facility_code, other_facility_info, + other_craft_info + + + + update b_stat_table_pwxk_production_facilities + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionLineType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionLineCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionUnitName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.craftName,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.facilityName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionFacilityCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherFacilityInfo,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherCraftInfo,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_production_facilities + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionLineType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionLineCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionUnitName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.craftName,jdbcType=SMALLINT} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.facilityName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionFacilityCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherFacilityInfo,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherCraftInfo,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_production_facilities + (id, factory_id, production_line_type, production_line_code, production_unit_name, + craft_name, facility_name, trade_secrets, production_facility_code, other_facility_info, + other_craft_info) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.productionLineType,jdbcType=VARCHAR}, + #{item.productionLineCode,jdbcType=VARCHAR}, #{item.productionUnitName,jdbcType=VARCHAR}, + #{item.craftName,jdbcType=SMALLINT}, #{item.facilityName,jdbcType=VARCHAR}, #{item.tradeSecrets,jdbcType=VARCHAR}, + #{item.productionFacilityCode,jdbcType=VARCHAR}, #{item.otherFacilityInfo,jdbcType=VARCHAR}, + #{item.otherCraftInfo,jdbcType=VARCHAR}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesParamsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesParamsMapper.xml new file mode 100644 index 0000000..874bae0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductionFacilitiesParamsMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + id, facilities_id, params_name, params_unit, design_values, other_params_info + + + + update b_stat_table_pwxk_production_facilities_params + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.facilitiesId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.paramsName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.paramsUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.designValues,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherParamsInfo,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_production_facilities_params + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.facilitiesId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.paramsName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.paramsUnit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.designValues,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherParamsInfo,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_production_facilities_params + (id, facilities_id, params_name, params_unit, design_values, other_params_info) + values + + (#{item.id,jdbcType=BIGINT}, #{item.facilitiesId,jdbcType=VARCHAR}, #{item.paramsName,jdbcType=VARCHAR}, + #{item.paramsUnit,jdbcType=VARCHAR}, #{item.designValues,jdbcType=VARCHAR}, #{item.otherParamsInfo,jdbcType=VARCHAR} + ) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductsMapper.xml new file mode 100644 index 0000000..8ecd5f0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkProductsMapper.xml @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + id, factory_id, product_name, unit, production_capacity, year_production_time, other_info, + trade_secrets + + + + update b_stat_table_pwxk_products + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.unit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionCapacity,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.yearProductionTime,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherInfo,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_products + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.unit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.productionCapacity,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.yearProductionTime,jdbcType=SMALLINT} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherInfo,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_products + (id, factory_id, product_name, unit, production_capacity, year_production_time, other_info, + trade_secrets) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.productName,jdbcType=VARCHAR}, + #{item.unit,jdbcType=VARCHAR}, #{item.productionCapacity,jdbcType=VARCHAR}, #{item.yearProductionTime,jdbcType=SMALLINT}, + #{item.otherInfo,jdbcType=VARCHAR}, #{item.tradeSecrets,jdbcType=VARCHAR}) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInMapper.xml new file mode 100644 index 0000000..e3a343f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInMapper.xml @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + outlet_code, inflow_water_volume, inflow_water_limit, pipe_properties, pipe_unit, + pipe_lon, pipe_lat, remarks + + + + update b_stat_table_pwxk_water_industry_in + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterVolume,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterLimit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeProperties,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeLon,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeLat,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.remarks,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_water_industry_in + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterVolume,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterLimit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeProperties,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeUnit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeLon,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeLat,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.remarks,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_water_industry_in + (id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + outlet_code, inflow_water_volume, inflow_water_limit, pipe_properties, pipe_unit, + pipe_lon, pipe_lat, remarks) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.treatmentPlantName,jdbcType=VARCHAR}, + #{item.serviceProvider,jdbcType=VARCHAR}, #{item.treatmentPlantType,jdbcType=VARCHAR}, + #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR}, #{item.outletCode,jdbcType=VARCHAR}, + #{item.inflowWaterVolume,jdbcType=VARCHAR}, #{item.inflowWaterLimit,jdbcType=VARCHAR}, + #{item.pipeProperties,jdbcType=VARCHAR}, #{item.pipeUnit,jdbcType=VARCHAR}, #{item.pipeLon,jdbcType=VARCHAR}, + #{item.pipeLat,jdbcType=VARCHAR}, #{item.remarks,jdbcType=VARCHAR}) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInTotalMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInTotalMapper.xml new file mode 100644 index 0000000..6d335d3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterIndustryInTotalMapper.xml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + cod_total, inflow_water_total, ammonia_nitrogen_total, total_nitrogen_total, total_phosphorus_total + + + + update b_stat_table_pwxk_water_industry_in_total + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.codTotal,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterTotal,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.ammoniaNitrogenTotal,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.totalNitrogenTotal,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.totalPhosphorusTotal,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_water_industry_in_total + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.codTotal,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterTotal,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.ammoniaNitrogenTotal,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.totalNitrogenTotal,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.totalPhosphorusTotal,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_water_industry_in_total + (id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + cod_total, inflow_water_total, ammonia_nitrogen_total, total_nitrogen_total, total_phosphorus_total + ) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.treatmentPlantName,jdbcType=VARCHAR}, + #{item.serviceProvider,jdbcType=VARCHAR}, #{item.treatmentPlantType,jdbcType=VARCHAR}, + #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR}, #{item.codTotal,jdbcType=VARCHAR}, + #{item.inflowWaterTotal,jdbcType=VARCHAR}, #{item.ammoniaNitrogenTotal,jdbcType=VARCHAR}, + #{item.totalNitrogenTotal,jdbcType=VARCHAR}, #{item.totalPhosphorusTotal,jdbcType=VARCHAR} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterLifeInMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterLifeInMapper.xml new file mode 100644 index 0000000..f8210ea --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterLifeInMapper.xml @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + water_range_east, water_range_west, water_range_south, water_range_north, population_number, + service_country_code, inflow_water_volume, pipe_properties, pipe_unit, remarks + + + + update b_stat_table_pwxk_water_life_in + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeEast,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeWest,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeSouth,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeNorth,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.populationNumber,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceCountryCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterVolume,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeProperties,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.remarks,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_water_life_in + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeEast,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeWest,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeSouth,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.waterRangeNorth,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.populationNumber,jdbcType=INTEGER} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceCountryCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.inflowWaterVolume,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeProperties,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pipeUnit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.remarks,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_water_life_in + (id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + water_range_east, water_range_west, water_range_south, water_range_north, population_number, + service_country_code, inflow_water_volume, pipe_properties, pipe_unit, remarks) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.treatmentPlantName,jdbcType=VARCHAR}, + #{item.serviceProvider,jdbcType=VARCHAR}, #{item.treatmentPlantType,jdbcType=VARCHAR}, + #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR}, #{item.waterRangeEast,jdbcType=VARCHAR}, + #{item.waterRangeWest,jdbcType=VARCHAR}, #{item.waterRangeSouth,jdbcType=VARCHAR}, + #{item.waterRangeNorth,jdbcType=VARCHAR}, #{item.populationNumber,jdbcType=INTEGER}, + #{item.serviceCountryCode,jdbcType=VARCHAR}, #{item.inflowWaterVolume,jdbcType=VARCHAR}, + #{item.pipeProperties,jdbcType=VARCHAR}, #{item.pipeUnit,jdbcType=VARCHAR}, #{item.remarks,jdbcType=VARCHAR} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentInAskMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentInAskMapper.xml new file mode 100644 index 0000000..5ac829c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentInAskMapper.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + outlet_code, outlet_name, monitoring_content, pollutant_name, monitoring_type, networking, + auto_monitor_name, monitor_address, meet_requirement, manual_monitoring_method_number, + manual_monitoring_total, manual_test_method, other, treatment_plant_name + + + + update b_stat_table_pwxk_water_treatment_in_ask + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitoringContent,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutantName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.networking,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.autoMonitorName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitorAddress,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.meetRequirement,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualMonitoringMethodNumber,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualMonitoringTotal,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualTestMethod,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.other,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_water_treatment_in_ask + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outletName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitoringContent,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutantName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.networking,jdbcType=SMALLINT} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.autoMonitorName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.monitorAddress,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.meetRequirement,jdbcType=SMALLINT} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualMonitoringMethodNumber,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualMonitoringTotal,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.manualTestMethod,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.other,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_water_treatment_in_ask + (id, factory_id, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + outlet_code, outlet_name, monitoring_content, pollutant_name, monitoring_type, + networking, auto_monitor_name, monitor_address, meet_requirement, manual_monitoring_method_number, + manual_monitoring_total, manual_test_method, other, treatment_plant_name) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.serviceProvider,jdbcType=VARCHAR}, + #{item.treatmentPlantType,jdbcType=VARCHAR}, #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR}, + #{item.outletCode,jdbcType=VARCHAR}, #{item.outletName,jdbcType=VARCHAR}, #{item.monitoringContent,jdbcType=VARCHAR}, + #{item.pollutantName,jdbcType=VARCHAR}, #{item.monitoringType,jdbcType=VARCHAR}, + #{item.networking,jdbcType=SMALLINT}, #{item.autoMonitorName,jdbcType=VARCHAR}, + #{item.monitorAddress,jdbcType=VARCHAR}, #{item.meetRequirement,jdbcType=SMALLINT}, + #{item.manualMonitoringMethodNumber,jdbcType=VARCHAR}, #{item.manualMonitoringTotal,jdbcType=VARCHAR}, + #{item.manualTestMethod,jdbcType=VARCHAR}, #{item.other,jdbcType=VARCHAR}, #{item.treatmentPlantName,jdbcType=VARCHAR} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentLineMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentLineMapper.xml new file mode 100644 index 0000000..ea34035 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTablePwxkWaterTreatmentLineMapper.xml @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + line_type, line_name, processing_capacity, year_run_time, outside_water_type, other_info, + process_unit, pollution_control_facilities_type, pollution_control_facilities_code, + workable_technology, trade_secrets, pollution_control_facilities_other + + + + update b_stat_table_pwxk_water_treatment_line + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.lineType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.lineName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.processingCapacity,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.yearRunTime,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outsideWaterType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherInfo,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.processUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.workableTechnology,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesOther,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_pwxk_water_treatment_line + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.serviceProvider,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.treatmentPlantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.lineType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.lineName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.processingCapacity,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.yearRunTime,jdbcType=SMALLINT} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.outsideWaterType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.otherInfo,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.processUnit,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.workableTechnology,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tradeSecrets,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.pollutionControlFacilitiesOther,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_pwxk_water_treatment_line + (id, factory_id, treatment_plant_name, service_provider, treatment_plant_type, belong_to_water_treatment_facilities, + line_type, line_name, processing_capacity, year_run_time, outside_water_type, other_info, + process_unit, pollution_control_facilities_type, pollution_control_facilities_code, + workable_technology, trade_secrets, pollution_control_facilities_other) + values + + (#{item.id,jdbcType=BIGINT}, #{item.factoryId,jdbcType=VARCHAR}, #{item.treatmentPlantName,jdbcType=VARCHAR}, + #{item.serviceProvider,jdbcType=VARCHAR}, #{item.treatmentPlantType,jdbcType=VARCHAR}, + #{item.belongToWaterTreatmentFacilities,jdbcType=VARCHAR}, #{item.lineType,jdbcType=VARCHAR}, + #{item.lineName,jdbcType=VARCHAR}, #{item.processingCapacity,jdbcType=VARCHAR}, + #{item.yearRunTime,jdbcType=SMALLINT}, #{item.outsideWaterType,jdbcType=VARCHAR}, + #{item.otherInfo,jdbcType=VARCHAR}, #{item.processUnit,jdbcType=VARCHAR}, #{item.pollutionControlFacilitiesType,jdbcType=VARCHAR}, + #{item.pollutionControlFacilitiesCode,jdbcType=VARCHAR}, #{item.workableTechnology,jdbcType=VARCHAR}, + #{item.tradeSecrets,jdbcType=VARCHAR}, #{item.pollutionControlFacilitiesOther,jdbcType=VARCHAR} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableQueryInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableQueryInfoMapper.xml new file mode 100644 index 0000000..2fdf061 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableQueryInfoMapper.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + id, query_name, query_info, query_user_id, table_status, query_type, query_content + + + + update b_stat_table_query_info + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryInfo,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryUserId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tableStatus,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryContent,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update b_stat_table_query_info + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryInfo,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryUserId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.tableStatus,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.queryContent,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into b_stat_table_query_info + (id, query_name, query_info, query_user_id, table_status, query_type, query_content + ) + values + + (#{item.id,jdbcType=BIGINT}, #{item.queryName,jdbcType=VARCHAR}, #{item.queryInfo,jdbcType=VARCHAR}, + #{item.queryUserId,jdbcType=VARCHAR}, #{item.tableStatus,jdbcType=VARCHAR}, #{item.queryType,jdbcType=VARCHAR}, + #{item.queryContent,jdbcType=VARCHAR}) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgJbxxInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgJbxxInfoMapper.xml new file mode 100644 index 0000000..b793eef --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgJbxxInfoMapper.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_record, zxbg_pro_press, zxbg_name, zxbg_param, zxbg_unit, zxbg_num, zsbg_remark, create_time, is_delete from b_stat_table_zxbg_jbxx_info + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirMapper.xml new file mode 100644 index 0000000..6247387 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_outlet_code, zxbg_outlet_name, zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete, zxbg_outlet_id from b_stat_table_zxbg_pfl_air + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOtherMapper.xml new file mode 100644 index 0000000..3ed74b6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOtherMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete, zxbg_remark from b_stat_table_zxbg_pfl_air_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOverproofMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOverproofMapper.xml new file mode 100644 index 0000000..5d31fee --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirOverproofMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_outlet_code, zxbg_pollutant, zxbg_discharge_true, zxbg_discharge_actual, create_time, is_delete, zxbg_pro_code, over_start_time, over_end_time, over_remark, over_unit from b_stat_table_zxbg_pfl_air_overproof + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirSpecialMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirSpecialMapper.xml new file mode 100644 index 0000000..1919a6d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirSpecialMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_air_type, zxbg_air_all_type, zxbg_discharge_xk, zxbg_discharge_actual, create_time, is_delete, zxbg_pollutant, zxbg_time, over_cause from b_stat_table_zxbg_pfl_air_special + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirStatMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirStatMapper.xml new file mode 100644 index 0000000..43749b0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflAirStatMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete from b_stat_table_zxbg_pfl_air_stat + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterMapper.xml new file mode 100644 index 0000000..9cd53d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_outlet_code, zxbg_outlet_name, zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete, zxbg_outlet_id, zxbg_emission_type from b_stat_table_zxbg_pfl_water + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterVoerproofMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterVoerproofMapper.xml new file mode 100644 index 0000000..e220b38 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflWaterVoerproofMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_outlet_code, zxbg_pollutant, zxbg_discharge_true, zxbg_discharge_actual, create_time, is_delete, over_start_time, over_end_time, over_remark, over_unit from b_stat_table_zxbg_pfl_water_voerproof + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflallWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflallWaterMapper.xml new file mode 100644 index 0000000..0c7ccbf --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPflallWaterMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete, zxbg_outlet_id, zxbg_emission_type from b_stat_table_zxbg_pflall_water + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPfltotalWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPfltotalWaterMapper.xml new file mode 100644 index 0000000..5401061 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgPfltotalWaterMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period,zxbg_pollutant, zxbg_discharge_year, zxbg_discharge_actual, create_time, is_delete, zxbg_outlet_id, zxbg_emission_type, remark from b_stat_table_zxbg_pfltotal_water + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlAbnormalitiesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlAbnormalitiesMapper.xml new file mode 100644 index 0000000..7b3a075 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlAbnormalitiesMapper.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, zxbg_type, zxbg_period, zxbg_pollutant_type, over_start_time, over_end_time, facility_name, facility_code, zxbg_pollutant, discharge_range, solutions, create_time, remark from b_stat_table_zxbg_wrzl_abnormalities + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlTotalMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlTotalMapper.xml new file mode 100644 index 0000000..1d23ab2 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BStatTableZxbgWrzlTotalMapper.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + select id, + factory_id, + zxbg_type, + zxbg_period, + zxbg_pollutant, + pollution_control_facility_code, + pollution_control_facility_name, + process_parameter, + amount, + unit, + remark, + create_time + from b_stat_table_zxbg_wrzl_total + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasControlValueMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasControlValueMapper.xml new file mode 100644 index 0000000..861c15d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasControlValueMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + select data_id, factory_id,industry,device_type, normal_value, remark, create_time from bas_control_value + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDcsOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDcsOperationLogMapper.xml new file mode 100644 index 0000000..428e665 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDcsOperationLogMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + log_id,operation_time,work_procedure,device_id,device_name,param_name,before_modify_param_unit,before_modify_normal_value,after_modify_normal_value,operator,operator_id,factory_id,after_modify_param_unit,before_modify_min_value,after_modify_min_value,before_modify_max_value, +after_modify_max_value + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDevToElecMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDevToElecMapper.xml new file mode 100644 index 0000000..47b0c9f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDevToElecMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + select device_id, elec_device_id, create_time from bas_dev_to_elec + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceConfigMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceConfigMapper.xml new file mode 100644 index 0000000..1b9b686 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceConfigMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, device_name, param_code, param_name, unit, industry, device_type, normal_value, remark, create_time from bas_device_config + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceInfoOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceInfoOperationLogMapper.xml new file mode 100644 index 0000000..5f64e72 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceInfoOperationLogMapper.xml @@ -0,0 +1,537 @@ + + + + + + + + + + + + + + + + + + + + + + log_id, + operation_time, + elec_device_name, + before_modify_name, + before_modify_code, + operation_status, + after_modify_name, + after_modify_code, + "operator", + monitoring_point_type, + operator_id, + factory_id + + + + + delete + from bas_device_info_operation_log + where log_id = #{logId,jdbcType=VARCHAR} + + + + insert into bas_device_info_operation_log (log_id, operation_time, elec_device_name, + before_modify_name, before_modify_code, operation_status, + after_modify_name, after_modify_code, "operator", + monitoring_point_type, operator_id, factory_id) + values (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{elecDeviceName,jdbcType=VARCHAR}, + #{beforeModifyName,jdbcType=VARCHAR}, #{beforeModifyCode,jdbcType=VARCHAR}, + #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyName,jdbcType=VARCHAR}, #{afterModifyCode,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{monitoringPointType,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR}) + + + + insert into bas_device_info_operation_log + + + log_id, + + + operation_time, + + + elec_device_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + monitoring_point_type, + + + operator_id, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecDeviceName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{monitoringPointType,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update bas_device_info_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_device_name = #{elecDeviceName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update bas_device_info_operation_log + set operation_time = #{operationTime,jdbcType=TIMESTAMP}, + elec_device_name = #{elecDeviceName,jdbcType=VARCHAR}, + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + where log_id = #{logId,jdbcType=VARCHAR} + + + + update bas_device_info_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecDeviceName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointType,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update bas_device_info_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecDeviceName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.monitoringPointType,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into bas_device_info_operation_log + (log_id, operation_time, elec_device_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", monitoring_point_type, + operator_id, factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, + #{item.elecDeviceName,jdbcType=VARCHAR}, + #{item.beforeModifyName,jdbcType=VARCHAR}, #{item.beforeModifyCode,jdbcType=VARCHAR}, + #{item.operationStatus,jdbcType=VARCHAR}, #{item.afterModifyName,jdbcType=VARCHAR}, + #{item.afterModifyCode,jdbcType=VARCHAR}, #{item.operator,jdbcType=VARCHAR}, + #{item.monitoringPointType,jdbcType=VARCHAR}, + #{item.operatorId,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}) + + + + + insert into bas_device_info_operation_log + (log_id, operation_time, elec_device_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", monitoring_point_type, + operator_id, factory_id) + values (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{elecDeviceName,jdbcType=VARCHAR}, + #{beforeModifyName,jdbcType=VARCHAR}, #{beforeModifyCode,jdbcType=VARCHAR}, + #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyName,jdbcType=VARCHAR}, #{afterModifyCode,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{monitoringPointType,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR}, + #{factoryId,jdbcType=VARCHAR}) on duplicate key + update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + elec_device_name = #{elecDeviceName,jdbcType=VARCHAR}, + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into bas_device_info_operation_log + + + log_id, + + + operation_time, + + + elec_device_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + monitoring_point_type, + + + operator_id, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecDeviceName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{monitoringPointType,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_device_name = #{elecDeviceName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + monitoring_point_type = #{monitoringPointType,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceMapper.xml new file mode 100644 index 0000000..f6eac8a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceMapper.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select device_id, factory_id, name, industry, work_step, type, status, craft_param_value, craft_param, dcs_brand, dcs_model, tl_craft, tl_num, tx_craft, tx_num, cc_craft, cc_num, cems_num, share_dev_id, share_type, lon, lat, lon_map, lat_map, ori_device_id, ori_pwd, craft_image_arg, video_dev_id, memo, create_time from bas_device + + + + + + + + + + + + + + UPDATE bas_device + + + lon_map=#{item.lonMap},lon=#{item.lonMap}, + lon_map = null,lon = null, + lat_map=#{item.latMap},lat=#{item.latMap}, + lat_map = null,lat = null, + + WHERE device_id=#{item.deviceId} + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceParamMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceParamMapper.xml new file mode 100644 index 0000000..bc2a477 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceParamMapper.xml @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, device_id, param_id, industry, device_type, facility_type, normal_value, min_value, max_value, q1_value, q2_value, is_online, standby_num, multi_num, over_max_val,release_value, stop_value,create_time,param_unit,param_name from bas_device_param + + + + UPDATE bas_device_param + + param_name=#{item.paramName}, + param_unit=#{item.paramUnit}, + param_unit = null, + normal_value=#{item.normalValue}, + normal_value = null, + min_value=#{item.minValue}, + min_value = null, + max_value=#{item.maxValue}, + max_value = null, + + WHERE id=#{item.id} + + + + + UPDATE bas_device_param + + is_status=#{isStatus}, + + WHERE id=#{item.id} + + + + + + + + + + UPDATE bas_device_param + SET param_name = #{item.name}, + param_unit =#{item.unit} + WHERE id = #{item.id} + + + + + INSERT INTO bas_device_param (id, device_id, param_id, industry, device_type, facility_type, is_online, standby_num, multi_num, over_max_val, create_time,param_name, param_unit) + VALUES + + (#{item.id}, + #{item.deviceId}, + #{item.paramId}, + #{item.industry}, + #{item.deviceType}, + #{item.facilityType}, + #{item.isOnline}, + #{item.standbyNum}, + #{item.multiNum}, + #{item.overMaxVal}, + #{item.createTime}, + #{item.paramName}, + #{item.paramUnit}) + + + + + + UPDATE bas_device_param + SET is_status = #{isStatus} + WHERE data_type = #{datetype} and device_id = #{deviceId} and industry= #{el} + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSalAnalysisMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSalAnalysisMapper.xml new file mode 100644 index 0000000..948f462 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSalAnalysisMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + id, device_id, factory_id, mon_time, mon_status, mon_param, coal_gas_status + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteCoordinateOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteCoordinateOperationLogMapper.xml new file mode 100644 index 0000000..186fffb --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteCoordinateOperationLogMapper.xml @@ -0,0 +1,511 @@ + + + + + + + + + + + + + + + + + + + + + + + log_id, operation_time, elec_station_name, device_name, "type", before_modify_lng, + before_modify_lag, operation_status, after_modify_lng, after_modify_lag, "operator", + operator_id, factory_id + + + + insert into bas_device_site_coordinate_operation_log + + + log_id, + + + operation_time, + + + elec_station_name, + + + device_name, + + + "type", + + + before_modify_lng, + + + before_modify_lag, + + + operation_status, + + + after_modify_lng, + + + after_modify_lag, + + + "operator", + + + operator_id, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecStationName,jdbcType=VARCHAR}, + + + #{deviceName,jdbcType=VARCHAR}, + + + #{type,jdbcType=VARCHAR}, + + + #{beforeModifyLng,jdbcType=VARCHAR}, + + + #{beforeModifyLag,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyLng,jdbcType=VARCHAR}, + + + #{afterModifyLag,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update bas_device_site_coordinate_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + + + device_name = #{deviceName,jdbcType=VARCHAR}, + + + "type" = #{type,jdbcType=VARCHAR}, + + + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + + + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + + + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update bas_device_site_coordinate_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecStationName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.deviceName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLng,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLag,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLng,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLag,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update bas_device_site_coordinate_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecStationName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.deviceName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLng,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLag,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLng,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLag,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into bas_device_site_coordinate_operation_log + (log_id, operation_time, elec_station_name, device_name, "type", before_modify_lng, + before_modify_lag, operation_status, after_modify_lng, after_modify_lag, "operator", + operator_id, factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, #{item.elecStationName,jdbcType=VARCHAR}, + #{item.deviceName,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.beforeModifyLng,jdbcType=VARCHAR}, + #{item.beforeModifyLag,jdbcType=VARCHAR}, #{item.operationStatus,jdbcType=VARCHAR}, + #{item.afterModifyLng,jdbcType=VARCHAR}, #{item.afterModifyLag,jdbcType=VARCHAR}, + #{item.operator,jdbcType=VARCHAR}, #{item.operatorId,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR} + ) + + + + + insert into bas_device_site_coordinate_operation_log + (log_id, operation_time, elec_station_name, device_name, "type", before_modify_lng, + before_modify_lag, operation_status, after_modify_lng, after_modify_lag, "operator", + operator_id, factory_id) + values + (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{elecStationName,jdbcType=VARCHAR}, + #{deviceName,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{beforeModifyLng,jdbcType=VARCHAR}, + #{beforeModifyLag,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, #{afterModifyLng,jdbcType=VARCHAR}, + #{afterModifyLag,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR}, + #{factoryId,jdbcType=VARCHAR}) + on duplicate key update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + device_name = #{deviceName,jdbcType=VARCHAR}, + "type" = #{type,jdbcType=VARCHAR}, + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into bas_device_site_coordinate_operation_log + + + log_id, + + + operation_time, + + + elec_station_name, + + + device_name, + + + "type", + + + before_modify_lng, + + + before_modify_lag, + + + operation_status, + + + after_modify_lng, + + + after_modify_lag, + + + "operator", + + + operator_id, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecStationName,jdbcType=VARCHAR}, + + + #{deviceName,jdbcType=VARCHAR}, + + + #{type,jdbcType=VARCHAR}, + + + #{beforeModifyLng,jdbcType=VARCHAR}, + + + #{beforeModifyLag,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyLng,jdbcType=VARCHAR}, + + + #{afterModifyLag,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + + + device_name = #{deviceName,jdbcType=VARCHAR}, + + + "type" = #{type,jdbcType=VARCHAR}, + + + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + + + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + + + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteMapper.xml new file mode 100644 index 0000000..f08ae84 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceSiteMapper.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, device_id, "name", point_lng, point_lat, status, "type", equip_name, factory_id,normal_value,min_value,is_stat + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceZlConfigMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceZlConfigMapper.xml new file mode 100644 index 0000000..aa8f76b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasDeviceZlConfigMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + select data_id, factory_id, device_id, fs_device_id, create_time from bas_device_zl_config + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecDeviceMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecDeviceMapper.xml new file mode 100644 index 0000000..b734077 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecDeviceMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + select elec_device_id, factory_id, name, industry, memo, create_time from bas_elec_device + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecProCepMapMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecProCepMapMapper.xml new file mode 100644 index 0000000..6b6b822 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasElecProCepMapMapper.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + id, pro_device_id, cep_device_id, is_status + + + + insert into bas_elec_pro_cep_map + + + id, + + + pro_device_id, + + + cep_device_id, + + + is_status, + + + + + #{id,jdbcType=INTEGER}, + + + #{proDeviceId,jdbcType=VARCHAR}, + + + #{cepDeviceId,jdbcType=VARCHAR}, + + + #{isStatus,jdbcType=SMALLINT}, + + + + + + update bas_elec_pro_cep_map + + + pro_device_id = #{proDeviceId,jdbcType=VARCHAR}, + + + cep_device_id = #{cepDeviceId,jdbcType=VARCHAR}, + + + is_status = #{isStatus,jdbcType=SMALLINT}, + + + where id = #{id,jdbcType=INTEGER} + + + + update bas_elec_pro_cep_map + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.proDeviceId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cepDeviceId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.isStatus,jdbcType=SMALLINT} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update bas_elec_pro_cep_map + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.proDeviceId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cepDeviceId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.isStatus,jdbcType=SMALLINT} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into bas_elec_pro_cep_map + (id, pro_device_id, cep_device_id, is_status) + values + + (#{item.id,jdbcType=INTEGER}, #{item.proDeviceId,jdbcType=VARCHAR}, #{item.cepDeviceId,jdbcType=VARCHAR}, + #{item.isStatus,jdbcType=SMALLINT}) + + + + + insert into bas_elec_pro_cep_map + (id, pro_device_id, cep_device_id, is_status) + values + (#{id,jdbcType=INTEGER}, #{proDeviceId,jdbcType=VARCHAR}, #{cepDeviceId,jdbcType=VARCHAR}, + #{isStatus,jdbcType=SMALLINT}) + on duplicate key update + id = #{id,jdbcType=INTEGER}, + pro_device_id = #{proDeviceId,jdbcType=VARCHAR}, + cep_device_id = #{cepDeviceId,jdbcType=VARCHAR}, + is_status = #{isStatus,jdbcType=SMALLINT} + + + + insert into bas_elec_pro_cep_map + + + id, + + + pro_device_id, + + + cep_device_id, + + + is_status, + + + values + + + #{id,jdbcType=INTEGER}, + + + #{proDeviceId,jdbcType=VARCHAR}, + + + #{cepDeviceId,jdbcType=VARCHAR}, + + + #{isStatus,jdbcType=SMALLINT}, + + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + + pro_device_id = #{proDeviceId,jdbcType=VARCHAR}, + + + cep_device_id = #{cepDeviceId,jdbcType=VARCHAR}, + + + is_status = #{isStatus,jdbcType=SMALLINT}, + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasParamMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasParamMapper.xml new file mode 100644 index 0000000..94c65fe --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasParamMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select param_id, param_id_new, param_code_svc, name, param_type, data_type_java, industry, device_type, facility_type, facility_name, unit_real, unit_stat, scale, stat_min_value, stat_max_value, over_max_val, stop_value, stop_value_memo, is_chk_same, is_chk_abnormal, show_order, create_time, status, min_width from bas_param + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasProductionDeviceOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasProductionDeviceOperationLogMapper.xml new file mode 100644 index 0000000..135775a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasProductionDeviceOperationLogMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + log_id, operation_time, device_name, before_modify_lng, before_modify_lag, + operation_status, after_modify_lng, after_modify_lag, "operator", operator_id, work_procedure, factory_id + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BasThresholdConfigMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasThresholdConfigMapper.xml new file mode 100644 index 0000000..7401297 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BasThresholdConfigMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + select data_id, task_name, param_code, param_name, frequency, threshold_value, unit, remark, create_by, create_time, update_by, update_time from bas_threshold_config + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseControlConcentStandardsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseControlConcentStandardsMapper.xml new file mode 100644 index 0000000..c8b6ce7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseControlConcentStandardsMapper.xml @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + id, factory_id, pollutant_type, control_standard, include_calculations, create_time, + update_time, outlet_id + + + + + delete from base_control_concent_standards + where id = #{id,jdbcType=VARCHAR} + + + + insert into base_control_concent_standards (id, factory_id, pollutant_type, + control_standard, include_calculations, create_time, + update_time, outlet_id) + values (#{id,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR}, #{pollutantType,jdbcType=VARCHAR}, + #{controlStandard,jdbcType=NUMERIC}, #{includeCalculations,jdbcType=VARCHAR}, #{createTime,jdbcType=DATE}, + #{updateTime,jdbcType=DATE}, #{outletId,jdbcType=VARCHAR}) + + + + insert into base_control_concent_standards + + + id, + + + factory_id, + + + pollutant_type, + + + control_standard, + + + include_calculations, + + + create_time, + + + update_time, + + + outlet_id, + + + + + #{id,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + #{pollutantType,jdbcType=VARCHAR}, + + + #{controlStandard,jdbcType=NUMERIC}, + + + #{includeCalculations,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=DATE}, + + + #{updateTime,jdbcType=DATE}, + + + #{outletId,jdbcType=VARCHAR}, + + + + + + update base_control_concent_standards + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + pollutant_type = #{pollutantType,jdbcType=VARCHAR}, + + + control_standard = #{controlStandard,jdbcType=NUMERIC}, + + + include_calculations = #{includeCalculations,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=DATE}, + + + update_time = #{updateTime,jdbcType=DATE}, + + + outlet_id = #{outletId,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=VARCHAR} + + + + update base_control_concent_standards + set factory_id = #{factoryId,jdbcType=VARCHAR}, + pollutant_type = #{pollutantType,jdbcType=VARCHAR}, + control_standard = #{controlStandard,jdbcType=NUMERIC}, + include_calculations = #{includeCalculations,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=DATE}, + update_time = #{updateTime,jdbcType=DATE}, + outlet_id = #{outletId,jdbcType=VARCHAR} + where id = #{id,jdbcType=VARCHAR} + + + + update base_control_concent_standards + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.pollutantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.controlStandard,jdbcType=NUMERIC} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.includeCalculations,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=DATE} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=DATE} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.outletId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.controlPoints} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + UPDATE base_control_concent_standards SET advice_emission_avg = #{item.adviceEmissionAvg} WHERE id = #{item.id} + + + + + insert into base_control_concent_standards + (id, factory_id, pollutant_type, control_standard, include_calculations, create_time, + update_time, outlet_id,control_points) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}, #{item.pollutantType,jdbcType=VARCHAR}, + #{item.controlStandard,jdbcType=NUMERIC}, #{item.includeCalculations,jdbcType=VARCHAR}, + #{item.createTime,jdbcType=DATE}, #{item.updateTime,jdbcType=DATE}, #{item.outletId,jdbcType=VARCHAR},#{item.controlPoints} + ) + + + + + + + + + + + + + DELETE from pc_factory_pollutant where pollutant_id=#{code} and outlet_id in ( + SELECT + + po.id outletId + + FROM + + ( SELECT "id", factory_id FROM pc_label_factory WHERE label_id = '502' AND label_value = '1' ) plf + + INNER JOIN pc_factory pf ON plf.factory_id = pf."id" + + INNER JOIN ( + SELECT + t1."id", + t1.monitoring_point_name, + t1.factory_id + FROM + pc_outlet t1 + + WHERE + t1.pollutant_type = '4' + AND t1.pollutant_outlet_type='1' + AND t1.is_status='1' + AND t1.monitoring_point_name not like CONCAT( '%','入口','%') + AND t1.monitoring_point_name not like CONCAT( '%','进口','%') + ) po ON po.factory_id = pf."id" + + LEFT JOIN ( SELECT factory_id, label_value FROM pc_label_factory WHERE label_id = '501' ) plf1 ON plf1.factory_id = pf."id" + LEFT JOIN ( SELECT * FROM pc_label_value WHERE label_id = '501' ) plv1 ON plf1.label_value = plv1.arguments_code + + ) + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseRegionalControlObjectivesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseRegionalControlObjectivesMapper.xml new file mode 100644 index 0000000..6ca6710 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/BaseRegionalControlObjectivesMapper.xml @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + id, country_code, pollutant_type, suggested_emissions, control_emissions, create_time, + update_time + + + + + delete from base_regional_control_objectives + where id = #{id,jdbcType=VARCHAR} + + + + insert into base_regional_control_objectives (id, country_code, pollutant_type, + suggested_emissions, control_emissions, create_time, + update_time) + values (#{id,jdbcType=VARCHAR}, #{countryCode,jdbcType=VARCHAR}, #{pollutantType,jdbcType=VARCHAR}, + #{suggestedEmissions,jdbcType=NUMERIC}, #{controlEmissions,jdbcType=NUMERIC}, #{createTime,jdbcType=DATE}, + #{updateTime,jdbcType=DATE}) + + + + insert into base_regional_control_objectives + + + id, + + + country_code, + + + pollutant_type, + + + suggested_emissions, + + + control_emissions, + + + create_time, + + + update_time, + + + + + #{id,jdbcType=VARCHAR}, + + + #{countryCode,jdbcType=VARCHAR}, + + + #{pollutantType,jdbcType=VARCHAR}, + + + #{suggestedEmissions,jdbcType=NUMERIC}, + + + #{controlEmissions,jdbcType=NUMERIC}, + + + #{createTime,jdbcType=DATE}, + + + #{updateTime,jdbcType=DATE}, + + + + + + update base_regional_control_objectives + + + country_code = #{countryCode,jdbcType=VARCHAR}, + + + pollutant_type = #{pollutantType,jdbcType=VARCHAR}, + + + suggested_emissions = #{suggestedEmissions,jdbcType=NUMERIC}, + + + control_emissions = #{controlEmissions,jdbcType=NUMERIC}, + + + create_time = #{createTime,jdbcType=DATE}, + + + update_time = #{updateTime,jdbcType=DATE}, + + + where id = #{id,jdbcType=VARCHAR} + + + + update base_regional_control_objectives + set country_code = #{countryCode,jdbcType=VARCHAR}, + pollutant_type = #{pollutantType,jdbcType=VARCHAR}, + suggested_emissions = #{suggestedEmissions,jdbcType=NUMERIC}, + control_emissions = #{controlEmissions,jdbcType=NUMERIC}, + create_time = #{createTime,jdbcType=DATE}, + update_time = #{updateTime,jdbcType=DATE} + where id = #{id,jdbcType=VARCHAR} + + + + insert into base_regional_control_objectives + (id, country_code, pollutant_type, suggested_emissions, control_emissions, create_time, + update_time) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.countryCode,jdbcType=VARCHAR}, #{item.pollutantType,jdbcType=VARCHAR}, + #{item.suggestedEmissions,jdbcType=NUMERIC}, #{item.controlEmissions,jdbcType=NUMERIC}, + #{item.createTime,jdbcType=DATE}, #{item.updateTime,jdbcType=DATE}) + + + + + update base_regional_control_objectives + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.pollutantType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.suggestedEmissions,jdbcType=NUMERIC} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.controlEmissions,jdbcType=NUMERIC} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=DATE} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=DATE} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + UPDATE base_regional_control_objectives + SET suggested_emissions = #{item.suggestedEmissions} , update_time = #{item.updateTime} + WHERE id = #{item.id} + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/EarlyWarningMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/EarlyWarningMapper.xml new file mode 100644 index 0000000..c9fc829 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/EarlyWarningMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + select ew_id, factory_id, industry_code, station_id, warning_time, warning_content, create_time, factory_name, station_name, country_code, country_name,industry_name from early_warning + + + + + + INSERT INTO early_warning (ew_id, factory_id, industry_code, station_id, warning_time, warning_content, factory_name, station_name, country_code, country_name,industry_name,poll_code,poll_name,create_time) VALUES + + (#{item.ewId}, #{item.factoryId}, #{item.industryCode}, #{item.stationId}, #{item.warningDate}, #{item.warningContent}, #{item.factoryName}, #{item.stationName}, #{item.countryCode}, #{item.countryName}, #{item.industryName}, #{item.pollCode}, #{item.pollName}, #{item.createTime}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/ElectricityMeterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/ElectricityMeterMapper.xml new file mode 100644 index 0000000..b0a2d3b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/ElectricityMeterMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + UPDATE bas_device_site + + + + when id = #{item.deviceSiteId,jdbcType=VARCHAR} then + + '正常' + '停运' + + + + + where id in + + #{item.deviceSiteId,jdbcType=VARCHAR} + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/EnvironmentalCodingMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/EnvironmentalCodingMapper.xml new file mode 100644 index 0000000..2836e8f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/EnvironmentalCodingMapper.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/FacilityInformationManagementMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/FacilityInformationManagementMapper.xml new file mode 100644 index 0000000..d874de7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/FacilityInformationManagementMapper.xml @@ -0,0 +1,142 @@ + + + + + + + + + + UPDATE bas_device + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.pollutantCodeOne,jdbcType=VARCHAR} + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.pollutantCode,jdbcType=VARCHAR} + + + + WHERE device_id IN + + #{item.deviceId,jdbcType=VARCHAR} + + + + + UPDATE bas_device + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then null + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then null + + + + WHERE device_id IN + + #{item.deviceId,jdbcType=VARCHAR} + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingManifestMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingManifestMapper.xml new file mode 100644 index 0000000..ea2644c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingManifestMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + select factory_name, usc_code, industry_category, contact, contact_phone, fm_id, create_time, fr_id from factory_reporting_manifest + + + + + + INSERT INTO factory_reporting_manifest (fm_id,factory_name,usc_code,industry_category,contact,contact_phone,fr_id,create_time) VALUES + + (#{item.fmId}, #{item.factoryName}, #{item.uscCode}, #{item.industryCategory}, #{item.contact}, #{item.contactPhone}, #{item.frId}, #{item.createTime}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingRemindersMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingRemindersMapper.xml new file mode 100644 index 0000000..546398b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingRemindersMapper.xml @@ -0,0 +1,45 @@ + + + + + + select + t1.fe_id, + t1.factory_id as "factoryId", + t1.submit_status as "submitStatus", + t1.reminders_status as "remindersStatus", + t1.submit_time as "submitTime", + t2.factory_name as "factoryName", + t2.country_code as "regionCode", + t2.country_name as "regionName", + t2.industry_category as "industryCategory", + t2.industry_permission_name as "industryPermissionName" + from factory_reporting_reminders t1 + left join pc_factory t2 on t1.factory_id = t2.id + + + + + + update factory_reporting_reminders set submit_status='1',submit_time=#{factfactoryReportingReminders.submitTime},submit_user=#{factfactoryReportingReminders.submitUser} where factory_id=#{factfactoryReportingReminders.factoryId} + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingTaskMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingTaskMapper.xml new file mode 100644 index 0000000..ff63e3a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/FactoryReportingTaskMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + select fr_id, task_name, task_source, region_name, task_description, task_time from factory_reporting_task + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/GasReleaseRealStatusMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/GasReleaseRealStatusMapper.xml new file mode 100644 index 0000000..dfe9ffb --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/GasReleaseRealStatusMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, device_id, "time", "status" + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/IotDeviceTypeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/IotDeviceTypeMapper.xml new file mode 100644 index 0000000..de9cc9a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/IotDeviceTypeMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + dict_id, "name", device_code, industry_code, "value", "type", show_order, "status", + delete_flag, memo, create_time + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/LeaderCockpitMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/LeaderCockpitMapper.xml new file mode 100644 index 0000000..805bac3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/LeaderCockpitMapper.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmDoorMonitorAccountFiMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmDoorMonitorAccountFiMapper.xml new file mode 100644 index 0000000..ad5e65b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmDoorMonitorAccountFiMapper.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, lpn_code, entry_type, entry_time, car_team, discharge_stage, ngine_code, + io_type, cargo_quantity, driving_license_image, accessory_list_image, access_control_code + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmProblemFiRatioMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmProblemFiRatioMapper.xml new file mode 100644 index 0000000..053c6af --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmProblemFiRatioMapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + id, + factory_id, + station_id, + poll_id, + problem_ratio, + create_time, + update_time + + + + insert into m_am_problem_fi_ratio + + + factory_id, + + + station_id, + + + poll_id, + + + problem_ratio, + + + create_time, + + + update_time, + + + + + #{factoryId,jdbcType=VARCHAR}, + + + #{stationId,jdbcType=VARCHAR}, + + + #{pollId,jdbcType=VARCHAR}, + + + #{problemRatio,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + + update m_am_problem_fi_ratio + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + station_id = #{stationId,jdbcType=VARCHAR}, + + + poll_id = #{pollId,jdbcType=VARCHAR}, + + + problem_ratio = #{problemRatio,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + + + + INSERT INTO m_am_problem_fi_ratio(id, factory_id, station_id, poll_id, problem_ratio, create_time, update_time) + VALUES + + (#{item.id,jdbcType=BIGINT}, + #{item.factoryId,jdbcType=VARCHAR}, + #{item.stationId,jdbcType=VARCHAR}, + #{item.pollId,jdbcType=VARCHAR}, + #{item.problemRatio,jdbcType=VARCHAR}, + #{item.createTime,jdbcType=TIMESTAMP}, + #{item.updateTime,jdbcType=TIMESTAMP}) + + + + + UPDATE m_am_problem_fi_ratio + SET problem_ratio = CASE + + WHEN id = #{item.id, jdbcType=VARCHAR} THEN #{item.problemRatio, jdbcType=VARCHAR} + + END, + update_time = CURRENT_TIMESTAMP + WHERE id IN + + #{item.id, jdbcType=VARCHAR} + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoCoordinateOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoCoordinateOperationLogMapper.xml new file mode 100644 index 0000000..9c0f939 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoCoordinateOperationLogMapper.xml @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + log_id, operation_time, video_station_name, before_modify_lng, before_modify_lag, + operation_status, after_modify_lng, after_modify_lag, "operator", operator_id, video_channel, + factory_id + + + + + delete from m_am_video_coordinate_operation_log + where log_id = #{logId,jdbcType=VARCHAR} + + + + insert into m_am_video_coordinate_operation_log (log_id, operation_time, video_station_name, + before_modify_lng, before_modify_lag, operation_status, + after_modify_lng, after_modify_lag, "operator", + operator_id, video_channel, factory_id + ) + values (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{videoStationName,jdbcType=VARCHAR}, + #{beforeModifyLng,jdbcType=VARCHAR}, #{beforeModifyLag,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyLng,jdbcType=VARCHAR}, #{afterModifyLag,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{operatorId,jdbcType=VARCHAR}, #{videoChannel,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR} + ) + + + + insert into m_am_video_coordinate_operation_log + + + log_id, + + + operation_time, + + + video_station_name, + + + before_modify_lng, + + + before_modify_lag, + + + operation_status, + + + after_modify_lng, + + + after_modify_lag, + + + "operator", + + + operator_id, + + + video_channel, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{videoStationName,jdbcType=VARCHAR}, + + + #{beforeModifyLng,jdbcType=VARCHAR}, + + + #{beforeModifyLag,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyLng,jdbcType=VARCHAR}, + + + #{afterModifyLag,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{videoChannel,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update m_am_video_coordinate_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + + + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + + + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + + + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + video_channel = #{videoChannel,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update m_am_video_coordinate_operation_log + set operation_time = #{operationTime,jdbcType=TIMESTAMP}, + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + video_channel = #{videoChannel,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + where log_id = #{logId,jdbcType=VARCHAR} + + + + update m_am_video_coordinate_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoStationName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLng,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLag,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLng,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLag,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoChannel,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update m_am_video_coordinate_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoStationName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLng,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyLag,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLng,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyLag,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoChannel,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into m_am_video_coordinate_operation_log + (log_id, operation_time, video_station_name, before_modify_lng, before_modify_lag, + operation_status, after_modify_lng, after_modify_lag, "operator", operator_id, + video_channel, factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, #{item.videoStationName,jdbcType=VARCHAR}, + #{item.beforeModifyLng,jdbcType=VARCHAR}, #{item.beforeModifyLag,jdbcType=VARCHAR}, + #{item.operationStatus,jdbcType=VARCHAR}, #{item.afterModifyLng,jdbcType=VARCHAR}, + #{item.afterModifyLag,jdbcType=VARCHAR}, #{item.operator,jdbcType=VARCHAR}, #{item.operatorId,jdbcType=VARCHAR}, + #{item.videoChannel,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}) + + + + + insert into m_am_video_coordinate_operation_log + (log_id, operation_time, video_station_name, before_modify_lng, before_modify_lag, + operation_status, after_modify_lng, after_modify_lag, "operator", operator_id, + video_channel, factory_id) + values + (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{videoStationName,jdbcType=VARCHAR}, + #{beforeModifyLng,jdbcType=VARCHAR}, #{beforeModifyLag,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyLng,jdbcType=VARCHAR}, #{afterModifyLag,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{operatorId,jdbcType=VARCHAR}, #{videoChannel,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR} + ) + on duplicate key update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + video_channel = #{videoChannel,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into m_am_video_coordinate_operation_log + + + log_id, + + + operation_time, + + + video_station_name, + + + before_modify_lng, + + + before_modify_lag, + + + operation_status, + + + after_modify_lng, + + + after_modify_lag, + + + "operator", + + + operator_id, + + + video_channel, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{videoStationName,jdbcType=VARCHAR}, + + + #{beforeModifyLng,jdbcType=VARCHAR}, + + + #{beforeModifyLag,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyLng,jdbcType=VARCHAR}, + + + #{afterModifyLag,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{videoChannel,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + + + before_modify_lng = #{beforeModifyLng,jdbcType=VARCHAR}, + + + before_modify_lag = #{beforeModifyLag,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_lng = #{afterModifyLng,jdbcType=VARCHAR}, + + + after_modify_lag = #{afterModifyLag,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + video_channel = #{videoChannel,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoDevFiMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoDevFiMapper.xml new file mode 100644 index 0000000..8ccb7c4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoDevFiMapper.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + dev_id, + dev_name, + dev_inside_code, + dev_code, + model, + model_road, + location, + lon_map, + lat_map, + descr_any, + create_time, + update_time, + factory_id, + outlet_id, + dev_type, + dev_source, + channel_id + from m_am_video_dev_fi + + + + + + + + INSERT INTO m_am_video_dev_fi + ( + id, dev_id, dev_name, dev_inside_code, dev_code, model, model_road, location, lon_map, lat_map, + descr_any, create_time, update_time, factory_id, outlet_id, dev_type, dev_source, gbs_device_id, + channel_id, status, station_building_mn, device_id + ) + VALUES + + ( + #{item.id}, + #{item.devId} + null, + #{item.devName} + null, + #{item.devInsideCode} + null, + #{item.devCode} + null, + #{item.model} + null, + #{item.modelRoad} + null, + #{item.location} + null, + #{item.lonMap} + null, + #{item.latMap} + null, + #{item.descrAny} + null, + #{item.createTime} + null, + #{item.updateTime} + null, + #{item.factoryId} + null, + #{item.outletId} + null, + #{item.devType} + null, + #{item.devSource} + null, + #{item.gbsDeviceId} + null, + #{item.channelId} + null, + #{item.status} + null, + #{item.stationBuildingMn} + null, + #{item.deviceId} + null + ) + + + + + + + UPDATE m_am_video_dev_fi + + lon_map=#{item.lonMap}, + lon_map = null, + lat_map=#{item.latMap}, + lat_map = null, + + WHERE id=#{item.id} + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoInfoOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoInfoOperationLogMapper.xml new file mode 100644 index 0000000..d67ef2a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MAmVideoInfoOperationLogMapper.xml @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + + + + + + + + + log_id, operation_time, video_station_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", operator_id, + video_channel, factory_id + + + + insert into m_am_video_info_operation_log + + + log_id, + + + operation_time, + + + video_station_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + operator_id, + + + video_channel, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{videoStationName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{videoChannel,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update m_am_video_info_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + video_channel = #{videoChannel,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update m_am_video_info_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoStationName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoChannel,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update m_am_video_info_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoStationName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyCode,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.videoChannel,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into m_am_video_info_operation_log + (log_id, operation_time, video_station_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", operator_id, + video_channel, factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, #{item.videoStationName,jdbcType=VARCHAR}, + #{item.beforeModifyName,jdbcType=VARCHAR}, #{item.beforeModifyCode,jdbcType=VARCHAR}, + #{item.operationStatus,jdbcType=VARCHAR}, #{item.afterModifyName,jdbcType=VARCHAR}, + #{item.afterModifyCode,jdbcType=VARCHAR}, #{item.operator,jdbcType=VARCHAR}, #{item.operatorId,jdbcType=VARCHAR}, + #{item.videoChannel,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}) + + + + + insert into m_am_video_info_operation_log + (log_id, operation_time, video_station_name, before_modify_name, before_modify_code, + operation_status, after_modify_name, after_modify_code, "operator", operator_id, + video_channel, factory_id) + values + (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{videoStationName,jdbcType=VARCHAR}, + #{beforeModifyName,jdbcType=VARCHAR}, #{beforeModifyCode,jdbcType=VARCHAR}, #{operationStatus,jdbcType=VARCHAR}, + #{afterModifyName,jdbcType=VARCHAR}, #{afterModifyCode,jdbcType=VARCHAR}, #{operator,jdbcType=VARCHAR}, + #{operatorId,jdbcType=VARCHAR}, #{videoChannel,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR} + ) + on duplicate key update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + operation_status = #{operationStatus,jdbcType=VARCHAR}, + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + video_channel = #{videoChannel,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into m_am_video_info_operation_log + + + log_id, + + + operation_time, + + + video_station_name, + + + before_modify_name, + + + before_modify_code, + + + operation_status, + + + after_modify_name, + + + after_modify_code, + + + "operator", + + + operator_id, + + + video_channel, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{videoStationName,jdbcType=VARCHAR}, + + + #{beforeModifyName,jdbcType=VARCHAR}, + + + #{beforeModifyCode,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=VARCHAR}, + + + #{afterModifyName,jdbcType=VARCHAR}, + + + #{afterModifyCode,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{videoChannel,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + video_station_name = #{videoStationName,jdbcType=VARCHAR}, + + + before_modify_name = #{beforeModifyName,jdbcType=VARCHAR}, + + + before_modify_code = #{beforeModifyCode,jdbcType=VARCHAR}, + + + operation_status = #{operationStatus,jdbcType=VARCHAR}, + + + after_modify_name = #{afterModifyName,jdbcType=VARCHAR}, + + + after_modify_code = #{afterModifyCode,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + video_channel = #{videoChannel,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlHourMapper.xml new file mode 100644 index 0000000..a5cd383 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlHourMapper.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, bs100, bs101, bs102, bs103, bs104, bs105, bs106, bs107, bz100, bz101, bz102, bz103, bz104, bz105, bz106, bz107, bz108, bz109, bz110, bz111, bz112, g140, g141, g313, g314, g329, g501, g502, g604, g605, g983, g984, g985, g986, gb08, gb09, addi_param, update_time, create_time from mon_dev_bl_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlOtherMapper.xml new file mode 100644 index 0000000..2910e95 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlOtherMapper.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, bs100, bs101, bs102, bs103, bs104, bs105, bs106, bs107, bz100, bz101, bz102, bz103, bz104, bz105, bz106, bz107, bz108, bz109, bz110, bz111, bz112, g140, g141, g313, g314, g329, g501, g502, g604, g605, g983, g984, g985, g986, gb08, gb09, addi_param, update_time, create_time from mon_dev_bl_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlRealMapper.xml new file mode 100644 index 0000000..39096c8 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevBlRealMapper.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, bs100, bs101, bs102, bs103, bs104, bs105, bs106, bs107, bz100, bz101, bz102, bz103, bz104, bz105, bz106, bz107, bz108, bz109, bz110, bz111, bz112, g140, g141, g313, g314, g329, g501, g502, g604, g605, g983, g984, g985, g986, gb08, gb09, addi_param, update_time, create_time from mon_dev_bl_real + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlHourMapper.xml new file mode 100644 index 0000000..89458d2 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlHourMapper.xml @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g101, g102, g104, g109, g115, g119, g120, g121, g122, g123, g124, g125, g126, g127, g128, g129, g130, g131, g132, g133, g134, g136, g138, g139, g141, g201, g202, g213, g214, g215, g216, g217, g218, g219, g220, g221, g222, g223, g224, g225, g226, g227, g228, g301, g302, g303, g304, g305, g306, g307, g308, g309, g310, g311, g312, g315, g316, g317, g318, g319, g320, g321, g322, g323, g324, g325, g326, g327, g328, g501, g502, g602, g705, g903, g904, g905, g906, g947, gb00, gb01, gb02, gb03, gb04, gb05, gb06, gb07, gb08, gb09, hq100, hs100, hs101, hz100, hz101, hz102, hz103, hz105, hz106, hz107, hz108, p103, addi_param, update_time, create_time, g103, g203, g204 from mon_dev_dl_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlOtherMapper.xml new file mode 100644 index 0000000..0f34538 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlOtherMapper.xml @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g101, g102, g104, g109, g115, g119, g120, g121, g122, g123, g124, g125, g126, g127, g128, g129, g130, g131, g132, g133, g134, g136, g138, g139, g141, g201, g202, g213, g214, g215, g216, g217, g218, g219, g220, g221, g222, g223, g224, g225, g226, g227, g228, g301, g302, g303, g304, g305, g306, g307, g308, g309, g310, g311, g312, g315, g316, g317, g318, g319, g320, g321, g322, g323, g324, g325, g326, g327, g328, g501, g502, g602, g705, g903, g904, g905, g906, g947, gb00, gb01, gb02, gb03, gb04, gb05, gb06, gb07, gb08, gb09, hq100, hs100, hs101, hz100, hz101, hz102, hz103, hz105, hz106, hz107, hz108, p103, addi_param, update_time, create_time, g103, g203, g204 from mon_dev_dl_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlRealMapper.xml new file mode 100644 index 0000000..405b816 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevDlRealMapper.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g101, g102, g104, g109, g115, g119, g120, g121, g122, g123, g124, g125, g126, g127, g128, g129, g130, g131, g132, g133, g134, g136, g138, g139, g141, g201, g202, g213, g214, g215, g216, g217, g218, g219, g220, g221, g222, g223, g224, g225, g226, g227, g228, g301, g302, g303, g304, g305, g306, g307, g308, g309, g310, g311, g312, g315, g316, g317, g318, g319, g320, g321, g322, g323, g324, g325, g326, g327, g328, g501, g502, g602, g705, g903, g904, g905, g906, g947, gb00, gb01, gb02, gb03, gb04, gb05, gb06, gb07, gb08, gb09, hq100, hs100, hs101, hz100, hz101, hz102, hz103, hz105, hz106, hz107, hz108, p103, addi_param, update_time, create_time, g103, g203, g204 from mon_dev_dl_real + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsHourMapper.xml new file mode 100644 index 0000000..12a6696 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsHourMapper.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, fs100, fs101, fz100, fz101, fz102, fz103, fz104, fz105, fz106, fz107, fz108, g229, g230, g231, g232, g233, g234, g332, g333, g334, g335, g602, ga04, gb14, gb15, gb16, gb17, gb18, gb19, gc00, gc01, gc02, gc03, gc04, gc05, gc06, gc07, gc08, gc09, gc10, gc11, gc12, gc13, gc14, gc15, gc16, gc17, gc19, gc20, gc21, gc22, gc23, gc25, gc26, gc27, gc28, gc29, gc30, gc31, addi_param, update_time, create_time, gc24 from mon_dev_fs_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsOtherMapper.xml new file mode 100644 index 0000000..7c9c8c3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsOtherMapper.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, fs100, fs101, fz100, fz101, fz102, fz103, fz104, fz105, fz106, fz107, fz108, g229, g230, g231, g232, g233, g234, g332, g333, g334, g335, g602, ga04, gb14, gb15, gb16, gb17, gb18, gb19, gc00, gc01, gc02, gc03, gc04, gc05, gc06, gc07, gc08, gc09, gc10, gc11, gc12, gc13, gc14, gc15, gc16, gc17, gc19, gc20, gc21, gc22, gc23, gc25, gc26, gc27, gc28, gc29, gc30, gc31, addi_param, update_time, create_time, gc24 from mon_dev_fs_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsRealMapper.xml new file mode 100644 index 0000000..76b4f6c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevFsRealMapper.xml @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, fs100, fs101, fz100, fz101, fz102, fz103, fz104, fz105, fz106, fz107, fz108, g229, g230, g231, g232, g233, g234, g332, g333, g334, g335, g602, ga04, gb14, gb15, gb16, gb17, gb18, gb19, gc00, gc01, gc02, gc03, gc04, gc05, gc06, gc07, gc08, gc09, gc10, gc11, gc12, gc13, gc14, gc15, gc16, gc17, gc19, gc20, gc21, gc22, gc23, gc25, gc26, gc27, gc28, gc29, gc30, gc31, addi_param, update_time, create_time, gc24 from mon_dev_fs_real + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevHourMapper.xml new file mode 100644 index 0000000..4a75b8e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevHourMapper.xml @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, zm_time, tm_time, p1, p2, p3, p4, flow_in, temp_in, nox_in, pm_in, so2_in, flow_out, temp_out, nox_out, o2_out, pm_out, so2_out, tlj_vol, txj_vol, so2_cc1, pm_cc1, wind_elec_cc1, wind_vol_cc1, so2_cc2, pm_cc2, wind_elec_cc2, wind_vol_cc2, wind_elec_cc3, mq1, mq2, mq3, mq4, mq5, mq6, g141, g314, g329, g501, g502, g503, g504, g601, g605, g606, g912, g914, g915, g916, g917, g921, g926, g927, g928, g929, g930, g931, g932, g935, g936, g937, g938, g939, g941, g942, g944, g945, g993, g994, g995, gb08, gb09, flow_in_flag, temp_in_flag, nox_in_flag, pm_in_flag, so2_in_flag, flow_out_flag, temp_out_flag, nox_out_flag, o2_out_flag, pm_out_flag, so2_out_flag, addi_param, flow_out_total, nox_out_total, o2_out_total, pm_out_total, so2_out_total, zl_product, update_time, create_time, a140, a141, b104, g313, g318, g325, g330, g604, g943, g952, g956, g957, g958, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, gb11, gb12, gb13, h959, h960 from mon_dev_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhHourMapper.xml new file mode 100644 index 0000000..402b043 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhHourMapper.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, js100, js101, js102, js103, js104, jz100, jz101, jz102, jz103, jz105, jz106, jz107, jz108, jz109, jz110, js200, js201, js202, js203, g141, g314, g329, g330, g604, g605, g606, g942, g943, g944, g945, g949, g951, g952, g956, g957, g958, g960, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, g993, g994, g995, gb08, gb09, gb11, gb12, gb13, ppm_cc1, ppm_cc2, addi_param, update_time, create_time, a100, a101, a102, a103, a104, a105, a111, txjVol, a120, a121, a130, a131, a140, a141, g140, g318, g325, g601, g959, h959, h960, j959, j960 from mon_dev_jh_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhOtherMapper.xml new file mode 100644 index 0000000..e453875 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhOtherMapper.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, js100, js101, js102, js103, js104, jz100, jz101, jz102, jz103, jz105, jz106, jz107, jz108, jz109, jz110, js200, js201, js202, js203, g141, g314, g329, g330, g604, g605, g606, g942, g943, g944, g945, g949, g951, g952, g956, g957, g958, g960, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, g993, g994, g995, gb08, gb09, gb11, gb12, gb13, ppm_cc1, ppm_cc2, addi_param, update_time, create_time, a100, a101, a102, a103, a104, a105, a111, txjVol, a120, a121, a130, a131, a140, a141, g140, g318, g325, g601, g959, h959, h960, j959, j960 from mon_dev_jh_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhRealMapper.xml new file mode 100644 index 0000000..7e73154 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevJhRealMapper.xml @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, js100, js101, js102, js103, js104, jz100, jz101, jz102, jz103, jz105, jz106, jz107, jz108, jz109, jz110, js200, js201, js202, js203, g141, g314, g329, g330, g604, g605, g606, g942, g943, g944, g945, g949, g951, g952, g956, g957, g958, g960, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, g993, g994, g995, gb08, gb09, gb11, gb12, gb13, ppm_cc1, ppm_cc2, ppm_unit_cc2, ppm_unit_cc1, addi_param, update_time, create_time, a100, a101, a102, a103, a104, a105, a111, "txjVol", a120, a121, a130, a131, a140, a141, g140, g318, g325, g601, g959, h959, h960, j959, j960 from mon_dev_jh_real + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevOtherMapper.xml new file mode 100644 index 0000000..d82192e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevOtherMapper.xml @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, zm_time, tm_time, p1, p2, p3, p4, flow_in, temp_in, nox_in, pm_in, so2_in, flow_out, temp_out, nox_out, o2_out, pm_out, so2_out, flow_in_flag, temp_in_flag, nox_in_flag, pm_in_flag, so2_in_flag, flow_out_flag, temp_out_flag, nox_out_flag, o2_out_flag, pm_out_flag, so2_out_flag, tlj_vol, txj_vol, so2_cc1, pm_cc1, wind_elec_cc1, wind_vol_cc1, so2_cc2, pm_cc2, wind_elec_cc2, wind_vol_cc2, wind_elec_cc3, mq1, mq2, mq3, mq4, mq5, mq6, g141, g314, g329, g501, g502, g503, g504, g601, g605, g606, g912, g914, g915, g916, g917, g921, g926, g927, g928, g929, g930, g931, g932, g935, g936, g937, g938, g939, g941, g942, g944, g945, g993, g994, g995, gb08, gb09, addi_param, flow_out_total, nox_out_total, o2_out_total, pm_out_total, so2_out_total, zl_product, update_time, create_time, a140, a141, b104, g313, g318, g325, g330, g604, g943, g952, g956, g957, g958, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, gb11, gb12, gb13, h959, h960 from mon_dev_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevRealMapper.xml new file mode 100644 index 0000000..0eb1d69 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevRealMapper.xml @@ -0,0 +1,704 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, zm_time, tm_time, p1, p2, p3, p4, flow_in, temp_in, nox_in, pm_in, so2_in, flow_out, temp_out, nox_out, o2_out, pm_out, so2_out, flow_in_flag, temp_in_flag, nox_in_flag, pm_in_flag, so2_in_flag, flow_out_flag, temp_out_flag, nox_out_flag, o2_out_flag, pm_out_flag, so2_out_flag, tlj_vol, txj_vol, so2_cc1, pm_cc1, wind_elec_cc1, wind_vol_cc1, so2_cc2, pm_cc2, wind_elec_cc2, wind_vol_cc2, wind_elec_cc3, mq1, mq2, mq3, mq4, mq5, mq6, g141, g314, g329, g501, g502, g503, g504, g601, g605, g606, g912, g914, g915, g916, g917, g921, g926, g927, g928, g929, g930, g931, g932, g935, g936, g937, g938, g939, g941, g942, g944, g945, g993, g994, g995, gb08, gb09, zmTime, windVolCc2, windVolCc1, windElecCc3, windElecCc2, windElecCc1, txjVol, tmTime, tljVol, so2Cc2, so2Cc1, pmCc2, pmCc1, addi_param, update_time, create_time, a140, a141, b104, g313, g318, g325, g330, g604, g943, g952, g956, g957, g958, g961, g962, g963, g964, g965, g966, g967, g968, g969, g970, g971, g972, g973, g974, g975, g976, g977, g978, g979, g980, g981, g982, gb11, gb12, gb13, h959, h960 from mon_dev_real + + + + + + + + select p1, COALESCE(p2,'0') as p2 ,p3, p4 ,g929, g930, g932, COALESCE(g938,'0') as g938,g942 ,o2_Out as o2Out, mq1, mq3, mq4, mq5, mq6 ,COALESCE(zm_time,'0') as zmTime, COALESCE(tm_time,'0') as tmTime, g979, g980, js202, js201,g601,g502, g503, g504, g604, g912, g914, g917, g921 from mon_dev_real + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnHourMapper.xml new file mode 100644 index 0000000..7770e07 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnHourMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, ss100, ss101, sz100, sz101, sz102, sz103, sz104, sz105, sz106, sz107, sz108, sz109, sz110, sz111, sz112, sz113, sz114, sz115, addi_param, update_time, create_time from mon_dev_sn_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnOtherMapper.xml new file mode 100644 index 0000000..f542a7a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnOtherMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, ss100, ss101, sz100, sz101, sz102, sz103, sz104, sz105, sz106, sz107, sz108, sz109, sz110, sz111, sz112, sz113, sz114, sz115, addi_param, update_time, create_time from mon_dev_sn_other + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnRealMapper.xml new file mode 100644 index 0000000..35223c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevSnRealMapper.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, ss100, ss101, sz100, sz101, sz102, sz103, sz104, sz105, sz106, sz107, sz108, sz109, sz110, sz111, sz112, sz113, sz114, sz115, addi_param, update_time, create_time from mon_dev_sn_real + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcHourMapper.xml new file mode 100644 index 0000000..8527ee9 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcHourMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g983, g987, g988, g989, g990, g991, g985, g986, g140, gb08, gb09, g141, g313, g314, g329, g604, g605, g601, g501, g502, g503, g504, addi_param, update_time, create_time from mon_dev_tc_hour + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcOtherMapper.xml new file mode 100644 index 0000000..9f8e119 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcOtherMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g983, g987, g988, g989, g990, g991, g985, g986, g140, gb08, gb09, g141, g313, g314, g329, g604, g605, g601, g501, g502, g503, g504, addi_param, update_time, create_time from mon_dev_tc_other + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcRealMapper.xml new file mode 100644 index 0000000..9fbf0f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonDevTcRealMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, device_id, time_type, data_time, g983, g987, g988, g989, g990, g991, g985, g986, g140, gb08, gb09, g141, g313, g314, g329, g604, g605, g601, g501, g502, g503, g504, addi_param, update_time, create_time from mon_dev_tc_real + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecEventMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecEventMapper.xml new file mode 100644 index 0000000..2017559 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecEventMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, site_id, time_type, data_time, tn50, tn62, tn63, tn64, tn65, create_time from mon_elec_event + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecHourMapper.xml new file mode 100644 index 0000000..2a204af --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecHourMapper.xml @@ -0,0 +1,23 @@ + + + + + + INSERT INTO mon_elec_hour (data_id,device_id,device_site_id,time_type,data_time,active_power,reactive_power,active_power_quantity,reactive_power_quantity, + total_power,current_ap,current_bp,current_cp,current_single_phase,voltage_ap,voltage_bp,voltage_cp,create_time, + device_site_name) + VALUES + + ( + #{item.dataId,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.deviceSiteId,jdbcType=VARCHAR}, + #{item.timeType,jdbcType=CHAR}, #{item.dataTime,jdbcType=TIMESTAMP}, #{item.activePower,jdbcType=VARCHAR}, + #{item.reactivePower,jdbcType=VARCHAR}, #{item.activePowerQuantity,jdbcType=VARCHAR}, + #{item.reactivePowerQuantity,jdbcType=VARCHAR}, #{item.totalPower,jdbcType=VARCHAR}, + #{item.currentAp,jdbcType=VARCHAR}, #{item.currentBp,jdbcType=VARCHAR}, #{item.currentCp,jdbcType=VARCHAR}, + #{item.currentSinglePhase,jdbcType=VARCHAR}, #{item.voltageAp,jdbcType=VARCHAR}, + #{item.voltageBp,jdbcType=VARCHAR}, #{item.voltageCp,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.deviceSiteName,jdbcType=VARCHAR} + ) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOperationLogMapper.xml new file mode 100644 index 0000000..e4a68e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOperationLogMapper.xml @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + log_id, operation_time, elec_station_name, device_name, before_modify_normal, after_modify_normal, + "operator", operator_id, factory_id + + + + + delete from mon_elec_operation_log + where log_id = #{logId,jdbcType=VARCHAR} + + + + insert into mon_elec_operation_log (log_id, operation_time, elec_station_name, + device_name, before_modify_normal, after_modify_normal, + "operator", operator_id, factory_id + ) + values (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{elecStationName,jdbcType=VARCHAR}, + #{deviceName,jdbcType=VARCHAR}, #{beforeModifyNormal,jdbcType=VARCHAR}, #{afterModifyNormal,jdbcType=VARCHAR}, + #{operator,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR} + ) + + + + insert into mon_elec_operation_log + + + log_id, + + + operation_time, + + + elec_station_name, + + + device_name, + + + before_modify_normal, + + + after_modify_normal, + + + "operator", + + + operator_id, + + + factory_id, + + + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecStationName,jdbcType=VARCHAR}, + + + #{deviceName,jdbcType=VARCHAR}, + + + #{beforeModifyNormal,jdbcType=VARCHAR}, + + + #{afterModifyNormal,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + + + + update mon_elec_operation_log + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + + + device_name = #{deviceName,jdbcType=VARCHAR}, + + + before_modify_normal = #{beforeModifyNormal,jdbcType=VARCHAR}, + + + after_modify_normal = #{afterModifyNormal,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + where log_id = #{logId,jdbcType=VARCHAR} + + + + update mon_elec_operation_log + set operation_time = #{operationTime,jdbcType=TIMESTAMP}, + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + device_name = #{deviceName,jdbcType=VARCHAR}, + before_modify_normal = #{beforeModifyNormal,jdbcType=VARCHAR}, + after_modify_normal = #{afterModifyNormal,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + where log_id = #{logId,jdbcType=VARCHAR} + + + + update mon_elec_operation_log + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecStationName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.deviceName,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyNormal,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyNormal,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + update mon_elec_operation_log + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operationTime,jdbcType=TIMESTAMP} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.elecStationName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.deviceName,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.beforeModifyNormal,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.afterModifyNormal,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operator,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.operatorId,jdbcType=VARCHAR} + + + + + + + when log_id = #{item.logId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + where log_id in + + #{item.logId,jdbcType=VARCHAR} + + + + + insert into mon_elec_operation_log + (log_id, operation_time, elec_station_name, device_name, before_modify_normal, after_modify_normal, + "operator", operator_id, factory_id) + values + + (#{item.logId,jdbcType=VARCHAR}, #{item.operationTime,jdbcType=TIMESTAMP}, #{item.elecStationName,jdbcType=VARCHAR}, + #{item.deviceName,jdbcType=VARCHAR}, #{item.beforeModifyNormal,jdbcType=VARCHAR}, + #{item.afterModifyNormal,jdbcType=VARCHAR}, #{item.operator,jdbcType=VARCHAR}, + #{item.operatorId,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}) + + + + + insert into mon_elec_operation_log + (log_id, operation_time, elec_station_name, device_name, before_modify_normal, after_modify_normal, + "operator", operator_id, factory_id) + values + (#{logId,jdbcType=VARCHAR}, #{operationTime,jdbcType=TIMESTAMP}, #{elecStationName,jdbcType=VARCHAR}, + #{deviceName,jdbcType=VARCHAR}, #{beforeModifyNormal,jdbcType=VARCHAR}, #{afterModifyNormal,jdbcType=VARCHAR}, + #{operator,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR}, #{factoryId,jdbcType=VARCHAR} + ) + on duplicate key update + log_id = #{logId,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + device_name = #{deviceName,jdbcType=VARCHAR}, + before_modify_normal = #{beforeModifyNormal,jdbcType=VARCHAR}, + after_modify_normal = #{afterModifyNormal,jdbcType=VARCHAR}, + "operator" = #{operator,jdbcType=VARCHAR}, + operator_id = #{operatorId,jdbcType=VARCHAR}, + factory_id = #{factoryId,jdbcType=VARCHAR} + + + + insert into mon_elec_operation_log + + + log_id, + + + operation_time, + + + elec_station_name, + + + device_name, + + + before_modify_normal, + + + after_modify_normal, + + + "operator", + + + operator_id, + + + factory_id, + + + values + + + #{logId,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{elecStationName,jdbcType=VARCHAR}, + + + #{deviceName,jdbcType=VARCHAR}, + + + #{beforeModifyNormal,jdbcType=VARCHAR}, + + + #{afterModifyNormal,jdbcType=VARCHAR}, + + + #{operator,jdbcType=VARCHAR}, + + + #{operatorId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + on duplicate key update + + + log_id = #{logId,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + elec_station_name = #{elecStationName,jdbcType=VARCHAR}, + + + device_name = #{deviceName,jdbcType=VARCHAR}, + + + before_modify_normal = #{beforeModifyNormal,jdbcType=VARCHAR}, + + + after_modify_normal = #{afterModifyNormal,jdbcType=VARCHAR}, + + + "operator" = #{operator,jdbcType=VARCHAR}, + + + operator_id = #{operatorId,jdbcType=VARCHAR}, + + + factory_id = #{factoryId,jdbcType=VARCHAR}, + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOtherMapper.xml new file mode 100644 index 0000000..7a9e2f2 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecOtherMapper.xml @@ -0,0 +1,37 @@ + + + + + + INSERT INTO mon_elec_other (data_id,device_id,device_site_id,time_type,data_time,active_power,reactive_power,active_power_quantity,reactive_power_quantity, + total_power,current_ap,current_bp,current_cp,current_single_phase,voltage_ap,voltage_bp,voltage_cp,create_time, + device_site_name) + VALUES + + ( + #{item.dataId,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.deviceSiteId,jdbcType=VARCHAR}, + #{item.timeType,jdbcType=CHAR}, #{item.dataTime,jdbcType=TIMESTAMP}, #{item.activePower,jdbcType=VARCHAR}, + #{item.reactivePower,jdbcType=VARCHAR}, #{item.activePowerQuantity,jdbcType=VARCHAR}, + #{item.reactivePowerQuantity,jdbcType=VARCHAR}, #{item.totalPower,jdbcType=VARCHAR}, + #{item.currentAp,jdbcType=VARCHAR}, #{item.currentBp,jdbcType=VARCHAR}, #{item.currentCp,jdbcType=VARCHAR}, + #{item.currentSinglePhase,jdbcType=VARCHAR}, #{item.voltageAp,jdbcType=VARCHAR}, + #{item.voltageBp,jdbcType=VARCHAR}, #{item.voltageCp,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.deviceSiteName,jdbcType=VARCHAR} + ) + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecRealMapper.xml new file mode 100644 index 0000000..872292e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/MonElecRealMapper.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + select data_id, device_site_id, device_site_name, time_type, data_time, create_time from mon_elec_real + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionAqiHourIMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionAqiHourIMapper.xml new file mode 100644 index 0000000..4509d26 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionAqiHourIMapper.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, datatime, uploadtime, value_2473, value_2481, value_2483, value_2484, value_4402, value_4404, value_4405, value_4406, value_4407, value_4467, value_4468, value_4471, value_4D71, value_4472, value_4474, value_4482, value_4485, value_4486, value_4487, value_4488, value_4489, value_448A, value_448B, status_2473, status_2481, status_2483, status_2484, status_4402, status_4404, status_4405, status_4406, status_4407, status_4467, status_4468, status_4471, status_4D71, status_4472, status_4474, status_4482, status_4485, status_4486, status_4487, status_4488, status_4489, status_448A, status_448B, level, levelName, typeName, primaryPollutant, overlimitPollutant, iaqi_4402, iaqi_4404, iaqi_4467, iaqi_4471, iaqi_4D71, iaqi_4486, iaqi_448A, aqi, code, name, cityname, provinceName + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionHourIMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionHourIMapper.xml new file mode 100644 index 0000000..01f0faa --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsAirRegionHourIMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, datatime, uploadtime, value_2473, value_2481, value_2483, value_2484, value_4402, value_4404, value_4405, value_4406, value_4407, value_4467, value_4468, value_4471, value_4D71, value_4472, value_4474, value_4482, value_4485, value_4486, value_4487, value_4488, value_4489, value_448A, value_448B, status_2473, status_2481, status_2483, status_2484, status_4402, status_4404, status_4405, status_4406, status_4407, status_4467, status_4468, status_4471, status_4D71, status_4472, status_4474, status_4482, status_4485, status_4486, status_4487, status_4488, status_4489, status_448A, status_448B, code, "name", cityname, provincename from ods_air_region_hour_i + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsElectricityElecPsEquipRelationTsAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsElectricityElecPsEquipRelationTsAMapper.xml new file mode 100644 index 0000000..4f7e28a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsElectricityElecPsEquipRelationTsAMapper.xml @@ -0,0 +1,29 @@ + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsInorganizationWeiStationHourIMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsInorganizationWeiStationHourIMapper.xml new file mode 100644 index 0000000..693e662 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsInorganizationWeiStationHourIMapper.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, station_id, station_code, receive_time, co, no2, so2, o3, voc, noise, pm25, pm10, temperature, utc, humidity, wdirect, wspeed, apress, equstatename, equstate, no, tsp, aqi, aqi_level, pri_pollute, type, o38h, create_time, update_time, nox, tvoc from ods_inorganization_wei_station_hour_i + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingShStationHourIMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingShStationHourIMapper.xml new file mode 100644 index 0000000..cd73b44 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingShStationHourIMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, station_id, station_code, receive_time, so2_live, no2_live, co_live, o3_live, pm10_live, pm25_live, temperature, humidity, apress, wdirect, wspeed, noise, max_id, flag, pm10_bk, pm25_bk, so2_bk, no2_bk, co_bk, o3_bk, pmi, pmi_bk, tsp_live, tsp_bk, no_live, tvoc, co2, nox, create_time, update_time from ods_meshing_sh_station_hour_i + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingWeiStationHourIMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingWeiStationHourIMapper.xml new file mode 100644 index 0000000..48cce1c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsMeshingWeiStationHourIMapper.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, station_id, station_code, receive_time, co, no2, so2, o3, voc, noise, pm25, pm10, temperature, utc, humidity, wdirect, wspeed, apress, equstatename, equstate, no, tsp, aqi, aqi_level, pri_pollute, type, o38h, create_time, update_time, nox, tvoc from ods_meshing_wei_station_hour_i + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlDgiinfoAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlDgiinfoAMapper.xml new file mode 100644 index 0000000..4bb6bda --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlDgiinfoAMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, ps_id, dgi_mn, dgi_pwd, ip, port, sim_no, getter, get_unit, get_date, use_date, interval_time, manufactor, equipment_factory_number, equipment_type_code, contact, contact_phone, check_state, update_time, create_time, delete_time, enable_time, enable, prevent_faking from ods_online_ol_dgiinfo_a + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPortinfoAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPortinfoAMapper.xml new file mode 100644 index 0000000..703d621 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPortinfoAMapper.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, ps_id, port_code, port_num, port_name_suffix, port_name, port_type_id, port_position, longitude, latitude, monitor_type_id, region_id, is_sintering, enable, network_time, network_status, op_flag_network_time, op_flag_network_status, abnormal_up, abnormal_down, high_chimney, rubbish, output_rule, create_time, update_time, delete_time, enable_time, port_state, is_sync, outlet_id, created_by, updated_by, outlet_yq, pwxk_bh, gf_port_id, sy_sky from ods_online_ol_portinfo_a + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsWhitelistAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsWhitelistAMapper.xml new file mode 100644 index 0000000..7414a65 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsWhitelistAMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, region_id, factory_id, port_num, port_name, pollutant_code, start_time, end_time, operator, user_id, reason, create_time, update_time, delete_time, enable, remarks, verify_status_id, verify_remarks, verifier_id, verifier_name, verify_time, verifier_mobile, start_time2, end_time2, create_time2, receive_time, info_type from ods_online_ol_ps_whitelist_a + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsinfoAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsinfoAMapper.xml new file mode 100644 index 0000000..454e249 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlPsinfoAMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, ps_code, ps_name, ps_letter, address, industry_code, regulation_industry_id, region_id, longitude, latitude, contact, contactphone, is_high_chimney, is_rubbish, category_type_id, is_pwxk, ps_state, enable, network_time, network_status, op_flag_network_time, op_flag_network_status, create_time, update_time, enable_time, delete_time, sy_province, sy_sky, ps_type, ps_disposal from ods_online_ol_psinfo_a + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlStopinfoAMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlStopinfoAMapper.xml new file mode 100644 index 0000000..3ca1816 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/OdsOnlineOlStopinfoAMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, port_num, port_name, start_time, end_time, dcs_type, operator, reason, create_time, update_time, delete_time, enable, info_sources, user_id, remarks, start_time_format, end_time_format, create_time_format, check_time, check_user_id, check_user_name, check_status, check_remarks, start_time_unix, end_time_unix from ods_online_ol_stopinfo_a + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodAreaInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodAreaInfoMapper.xml new file mode 100644 index 0000000..9f99582 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodAreaInfoMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + area_code, area_name, longitude, latitude, is_used,area_type + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodCompanyMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodCompanyMapper.xml new file mode 100644 index 0000000..135ef04 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodCompanyMapper.xml @@ -0,0 +1,73 @@ + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodeStationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodeStationMapper.xml new file mode 100644 index 0000000..0c03ba6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PCodeStationMapper.xml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + station_id, province_code, province, city_code, city, district_code, district,township,township_code station_name, station_code, status, region_code,city_assessment_point,district_assessment_point,street_assessment_point, function_id, station_level, station_type, parent_type, fk_parent_id, longitude, latitude, bmap_longitude, bmap_latitude, gcg_longitude, gcg_latitude, address, principal, phone, create_user,create_time,is_assessment_city, is_auto_audit, is_auto_statistic, is_used, is_maintain, meteorological_data, is_forecast, update_time, is_chinaaqi, data_type,remark + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslFactoryMapper.xml new file mode 100644 index 0000000..69a5f0f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslFactoryMapper.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + select id, factory_id, adsl_code from pc_adsl_factory + + + + + + + + TRUNCATE pc_adsl_factory; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A001' adslCode, + factory_id factoryId + FROM + pc_outlet t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + pollutant_type = '4' + AND t1.is_status = '1' + AND t1.id IS NOT NULL; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A002' adsl_code, + factory_id factoryId + FROM + bas_device_site t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + t2."id" IS NOT NULL + AND t1.is_status = '1'; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A003' adsl_code, + t1.factory_id factoryId + FROM + bas_device t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + t1.industry IN ( 'JH', 'SN', 'BL', 'FS', 'DL', 'GT' ) + AND t2."id" IS NOT NULL + AND t1.is_status = '1'; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A004' adsl_code, + factory_id factoryId + FROM + pc_outlet t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + pollutant_type = '3' + AND t2."id" IS NOT NULL; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A005' adsl_code, + factory_id factoryId + FROM + m_am_video_dev_fi t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + t2."id" IS NOT NULL; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A006' adsl_code, + factory_id factoryId + FROM + s_main_dynamic_control t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + t2."id" IS NOT NULL; + + + + INSERT INTO "public"."pc_adsl_factory"("adsl_code", "factory_id") + SELECT DISTINCT ON + ( factoryId ) 'A007' adsl_code, + factory_id factoryId + FROM + pc_factory_access_control t1 + LEFT JOIN pc_factory t2 ON t1.factory_id = t2."id" + WHERE + t2."id" IS NOT NULL; + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslMapper.xml new file mode 100644 index 0000000..170c5f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcAdslMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + select adsl_id, adsl_name, adsl_code, adsl_enable, sort from pc_adsl + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcControlRequirementsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcControlRequirementsMapper.xml new file mode 100644 index 0000000..e1e4b2b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcControlRequirementsMapper.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, pollutant_id, pollutant_standard_name, emission_standard_concentration_lim, emission_standard_concentration_unit, emission_standard_rate_lim, approval_requirements, permissible_concentration_lim_hour, permissible_concentration_lim_day, permissible_rate_lim, permissible_lim_first, permissible_lim_second, permissible_lim_third, permissible_lim_fourth, permissible_lim_sfifth, Commitment_emission_lim, monitoring_facilities, whether_auto_monitor_conn, auto_monitor_name, auto_monitor_address, whether_auto_monitor_require, manual_monitor_number, manual_monitor_frequency, manual_monitor_method, other_information,pollutant_name,pollution_prevention_measures,commitment_emission_promise from pc_control_requirements + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryAccessControlMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryAccessControlMapper.xml new file mode 100644 index 0000000..06700c5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryAccessControlMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + factory_id, access_control_name, access_control_code, access_control_lng, access_control_lat + + + + + UPDATE pc_factory_access_control + + access_control_lng=#{item.accessControlLng}, + access_control_lng = '', + access_control_lat=#{item.accessControlLat}, + access_control_lat = '', + + WHERE factory_id=#{item.factoryId} + and access_control_code = #{item.accessControlCode} + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryCoordinateOperationLogMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryCoordinateOperationLogMapper.xml new file mode 100644 index 0000000..6f18c2b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryCoordinateOperationLogMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryMapper.xml new file mode 100644 index 0000000..015d097 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryMapper.xml @@ -0,0 +1,1187 @@ + + + + + + fac.id, + fac.factory_name, + fac.city_code, + fac.city_name, + fac.country_code, + fac.country_name, + fac.wipollunit, + fac.license_man_type, + fac.license_wabarbeitung, + fac.pre_con_level, + fac.poll_dis_license_code, + fac.poll_dis_license_deadline, + fac.poll_dis_license_issuing, + fac.usc_code, ins_fram_code, + fac.address, + fac.prod_busi_operation, + fac.postal_code, + fac.industry_category, + fac.industry_category_other, + fac.whether_production, + fac.production_date, + fac.production_lon, + fac.production_lat, + fac.principal_man, + fac.technical_man, + fac.tel, + fac.mobile_telephone, + fac.whether_local_key_ari, + fac.whether_local_key_pho, + fac.whether_local_key_nitrogen, + fac.whether_local_key_poll_area, + fac.whether_local_park, + fac.whether_review_file, + fac.whether_gov_pro_file, + fac.environmental_code, + fac.gov_pro_ident_file, + fac.major_pollutants_code, + fac.major_pollutant_categories, + fac.air_main_pollutants, + fac.air_emission_pollutants, + fac.air_discharge_pollutants, + fac.water_main_pollutants, + fac.water_emission_pollutants, + fac.water_discharge_pollutants, + fac.use_trading_emission, + fac.sud_links_pollution_prevention, + fac.industrial_park_name, + fac.industrial_park_code, + fac.pollutant_total_file_where + + + fac.id, + fac.factory_name, + fac.license_man_type, + fac.license_wabarbeitung, + fac.production_lon, + fac.production_lat, + fac.mobile_telephone, + fac.poll_dis_license_code, + fac.address, + fac.principal_man, + fac.technical_man + + + + + + SELECT + + + , + + + + + , + + + + + fac.id, + fac.factory_name, + fac.poll_dis_license_code, + fac.address, + fac.technical_man, + fac.industry_category, + fac.prod_busi_operation, + fac.city_name, + fac.country_name, + fac.principal_man, + fac.mobile_telephone, + + fac.industry_permission_name AS "industry_category_name", + t3.qr_code_url, + t5.emissions_actual + FROM + pc_factory fac + LEFT JOIN ( + SELECT factory_id, MAX(qr_code_url) AS "qr_code_url" FROM b_main_poll_dis GROUP BY factory_id + ) t3 ON fac.id = t3.factory_id + LEFT JOIN ( + SELECT factory_id, SUM(emissions_actual) AS emissions_actual + FROM pc_factory_pollutant_emissions_rank + GROUP BY factory_id + ) t5 ON fac.id = t5.factory_id + + + AND fac.id IN + + #{item} + + + and fac.id = #{query.id} + and factory_name like concat('%', #{query.factoryName}, '%') + and city_code = #{query.cityCode} + and city_name like concat('%', #{query.cityName}, '%') + and country_code = #{query.countryCode} + and country_name like concat('%', #{query.countryName}, '%') + + and fac.country_code IN + + #{item,jdbcType=VARCHAR} + + + + ORDER BY fac.order_num, fac.id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE pc_factory set score = #{score} WHERE id = #{id} + + + update pc_factory + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.score,jdbcType=BIGINT} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE pc_factory + + production_lon=#{item.productionLon}, + production_lon = '', + production_lat=#{item.productionLat}, + production_lat = '', + + WHERE id=#{item.id} + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantEmissionsRankMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantEmissionsRankMapper.xml new file mode 100644 index 0000000..dbb8073 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantEmissionsRankMapper.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + select id, factory_id, pollutant_id, emissions_rank, emissions_actual, emissions_permit, emissions_ratio from pc_factory_pollutant_emissions_rank + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantMapper.xml new file mode 100644 index 0000000..06848c6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryPollutantMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + select id, factory_id, outlet_id, pollutant_id from pc_factory_pollutant + + + + + + INSERT INTO public.pc_factory_pollutant (id,factory_id,outlet_id,pollutant_id,is_status) VALUES + + (#{item.id}, #{item.factoryId}, #{item.outletId}, #{item.pollutantId}, #{item.isStatus}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryWasteEmissionsRankMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryWasteEmissionsRankMapper.xml new file mode 100644 index 0000000..0c16c59 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcFactoryWasteEmissionsRankMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, factory_id, waste_type, emissions_rank, emissions_actual, emissions_permit, emissions_ratio, + data_source, waste_name, waste_code + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcIndustryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcIndustryMapper.xml new file mode 100644 index 0000000..70c282e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcIndustryMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + select id, indus_code, indus_name from pc_industry + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelFactoryMapper.xml new file mode 100644 index 0000000..20a23e4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelFactoryMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + select id, factory_id, label_id,lable_useing from pc_label_factory + + + INSERT INTO public.pc_label_factory (id,factory_id,label_id,lable_useing,label_value) VALUES + + (#{item.id}, #{item.factoryId}, #{item.labelId}, #{item.lableUseing}, #{item.labelValue}) + + + + + UPDATE pc_label_factory SET label_value = #{item.labelValue} WHERE id = #{item.id} + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelMapper.xml new file mode 100644 index 0000000..bb9c656 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelMapper.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, label_type, label_category, label_code, label_val, label_level, label_paramid from pc_label + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelValueMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelValueMapper.xml new file mode 100644 index 0000000..cc0875b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcLabelValueMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + select id, label_id, arguments_code, arguments_name, arguments_multiple_choice from pc_label_value + + + + + INSERT INTO public.pc_label_value (id, label_id, arguments_code, arguments_name, order_num) VALUES + + (#{item.id}, #{item.labelId}, #{item.argumentsCode}, #{item.argumentsName}, #{item.orderNum}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcManagementFacilitiesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcManagementFacilitiesMapper.xml new file mode 100644 index 0000000..4c95e74 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcManagementFacilitiesMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + select id from pc_management_facilities + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuFactoryMapper.xml new file mode 100644 index 0000000..db82924 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuFactoryMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + select id, factory_id, menu_id, menu_if_use, menu_focus, menu_focus_index from pc_menu_factory + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuMapper.xml new file mode 100644 index 0000000..67ffc6a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcMenuMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + select id, menu_code, menu_name, menu_if_use from pc_menu + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcNoiseTypeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcNoiseTypeMapper.xml new file mode 100644 index 0000000..60b56ff --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcNoiseTypeMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + select id, noise_type_name, noise_type_code from pc_noise_type + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcOutletMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcOutletMapper.xml new file mode 100644 index 0000000..2c25f49 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcOutletMapper.xml @@ -0,0 +1,544 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, pollutant_type, pollutant_outlet_type, emissions_form, whether_outlet_requirements, production_process, outlet_types, monitoring_point_name, manage_facilities_code, manage_facilities_name, production_facilities_code, production_facilities_name, outlet_lon, outlet_lat, exhaust_funnel_hight, exhaust_funnel_inner, exhaust_gas_temperature, outlet_code, outlet_name, outlet_monitor_name, treatment_facility_process, video_surveillance, station_name, station_id, pollution_prevention_measures, sources_wastewater,more_details,direction_drainage,discharge_law,intermittent_emission_period,treatment_plant_accepted_name,approval_document,receiving_water_name, receiving_water_objective, receiving_water_lon, receiving_water_lat,rivers_outlet_name,rivers_outlet_code, mark, outlet_status, wzz_status, alarm_info ,parent_outlet_id,is_manual_entry,is_status from pc_outlet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE pc_outlet + + outlet_lon=#{item.outletLon}, + outlet_lon = '', + outlet_lat=#{item.outletLat}, + outlet_lat = '', + + WHERE id=#{item.id} + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcPollutantMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcPollutantMapper.xml new file mode 100644 index 0000000..0048b5c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcPollutantMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + select id, poll_category, poll_name, poll_code, poll_unit, emissions_laws, executive_standard from pc_pollutant + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcProductionFacilityMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcProductionFacilityMapper.xml new file mode 100644 index 0000000..6160dec --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcProductionFacilityMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + select id from pc_production_facility + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingEntranceGuMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingEntranceGuMapper.xml new file mode 100644 index 0000000..46cac06 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingEntranceGuMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + select id, station_building_id, visit_time, entrance_guard_code, entrance_guard_signature, entrance_guard_type, entrance_guard_image from pc_station_building_entrance_gu + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingMapper.xml new file mode 100644 index 0000000..5b9d789 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + select id, factory_id, station_building_code, station_building_name, equipment_brand_cems, station_id, station_name, outlet_id, outlet_name from pc_station_building + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingOpsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingOpsMapper.xml new file mode 100644 index 0000000..02dcd70 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingOpsMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + select id, station_building_id, sign_in_personnel, sign_in_time, sign_in_image, sign_out_personnel, sign_out_time, sign_out_image from pc_station_building_ops + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingStatMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingStatMapper.xml new file mode 100644 index 0000000..c23e990 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcStationBuildingStatMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + select id, factory_id, statistical_time, station_building_id, swipes_of_number, create_time + from pc_station_building_stat + + + + + + + + + INSERT INTO pc_station_building_stat + (id, factory_id, statistical_time, station_building_id, swipes_of_number, create_time) + values + + (#{item.id}, + #{item.factoryId}, + now(), + #{item.stationBuildingId}, + #{item.swipesOfNumber}, + #{item.createTime}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PcYieldTrendMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcYieldTrendMapper.xml new file mode 100644 index 0000000..579fc88 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PcYieldTrendMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + dict_id, "large", small, "open", code, industry, unit + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/PointIsOfflineMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/PointIsOfflineMapper.xml new file mode 100644 index 0000000..18a4ff1 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/PointIsOfflineMapper.xml @@ -0,0 +1,92 @@ + + + + + + + + UPDATE pc_outlet SET wzz_status = #{status} WHERE "id" = #{outletId} + + + + + + UPDATE pc_outlet SET outlet_status = #{status} WHERE "id" = #{outletId} + + + + update pc_outlet + + + + + when id = #{item.outletId,jdbcType=VARCHAR} then #{item.outletStatus,jdbcType=VARCHAR} + + + + + + + + when id = #{item.outletId,jdbcType=VARCHAR} then #{item.wzzStatus,jdbcType=VARCHAR} + + + + + where id in + + #{item.outletId,jdbcType=VARCHAR} + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/ProductionScheduledMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/ProductionScheduledMapper.xml new file mode 100644 index 0000000..1f603f3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/ProductionScheduledMapper.xml @@ -0,0 +1,83 @@ + + + + + + UPDATE b_main_production_organiz_gas ttt1 + SET pro_facility_id = ttt2.device_ids + FROM + ( + SELECT + tt1.factory_id, + tt1.device_type, + tt1.elecdcs_pollutant_relation, + string_agg ( tt1.device_id, ',' ) device_ids + FROM + ( + SELECT + t1."id" factory_id, + t2.device_id, + UNNEST ( string_to_array( t2.elecdcs_pollutant_relations, ',' ) ) elecdcs_pollutant_relation, + device_type + FROM + pc_factory t1 + LEFT JOIN bas_device t2 ON t1."id" = t2.factory_id + WHERE + t1.factory_source IS NULL + AND t1.license_man_type != 'REGISTER' + AND t2.industry != 'XK' + AND t2.elecdcs_pollutant_relation IS NOT NULL + ) tt1 + WHERE + tt1.device_type = '0' + GROUP BY + tt1.factory_id, + tt1.device_type, + tt1.elecdcs_pollutant_relation + ) ttt2 + WHERE + ttt1.factory_id = ttt2.factory_id + AND ttt1.pro_facility_code = ttt2.elecdcs_pollutant_relation + + + + UPDATE b_main_production_organiz_gas ttt1 + SET cep_facility_id = ttt2.device_ids + FROM + ( + SELECT + tt1.factory_id, + tt1.device_type, + tt1.elecdcs_pollutant_relation, + string_agg ( tt1.device_id, ',' ) device_ids + FROM + ( + SELECT + t1."id" factory_id, + t2.device_id, + UNNEST ( string_to_array( t2.elecdcs_pollutant_relations, ',' ) ) elecdcs_pollutant_relation, + device_type + FROM + pc_factory t1 + LEFT JOIN bas_device t2 ON t1."id" = t2.factory_id + WHERE + t1.factory_source IS NULL + AND t1.license_man_type != 'REGISTER' + AND t2.industry != 'XK' + AND t2.elecdcs_pollutant_relation IS NOT NULL + ) tt1 + WHERE + tt1.device_type = '1' + GROUP BY + tt1.factory_id, + tt1.device_type, + tt1.elecdcs_pollutant_relation + ) ttt2 + WHERE + ttt1.factory_id = ttt2.factory_id + AND ttt1.cep_facility_code = ttt2.elecdcs_pollutant_relation + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonDayMapper.xml new file mode 100644 index 0000000..2db5dbf --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonDayMapper.xml @@ -0,0 +1,192 @@ + + + + + id, + factory_id, + outlet_id, + data_type, + monitoring_time, + so2, + so2_convert, + so2_emission, + nox, + nox_convert, + nox_emission, + "no", + no_convert, + no_emission, + no2, + no2_convert, + no2_emission, + smoke_dust, + smoke_dust_convert, + smoke_dust_emission, + o3, + oxygen, + smoke_dust_tem, + smoke_dust_pressure, + smoke_dust_flow_velocity, + smoke_dust_humidity, + pm, + pm_convert, + pm_emission + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, so2, + so2_convert, nox, nox_convert, "no", no_convert, no2, no2_convert, smoke_dust, + smoke_dust_convert, o3, oxygen, smoke_dust_tem, smoke_dust_pressure, + smoke_dust_flow_velocity, smoke_dust_humidity, pm, pm_convert, + vocs, vocs_convert,so2_flag,nox_flag,smoke_dust_flag,vocs_falg,data_flag, + nox_correct_emission,so2_correct_emission,vocs_correct_emission,smoke_dust_correct_emission + from s_env_gas_mon_hour + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonHourMapper.xml new file mode 100644 index 0000000..58c0c5f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonHourMapper.xml @@ -0,0 +1,423 @@ + + + + + id, + factory_id, + outlet_id, + data_type, + monitoring_time, + so2, + so2_convert, + so2_emission, + nox, + nox_convert, + nox_emission, + "no", + no_convert, + no_emission, + no2, + no2_convert, + no2_emission, + smoke_dust, + smoke_dust_convert, + smoke_dust_emission, + o3, + oxygen, + smoke_dust_tem, + smoke_dust_pressure, + smoke_dust_flow_velocity, + smoke_dust_humidity, + pm, + pm_convert, + pm_emission + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, so2, + so2_convert, nox, nox_convert, "no", no_convert, no2, no2_convert, smoke_dust, + smoke_dust_convert, o3, oxygen, smoke_dust_tem, smoke_dust_pressure, + smoke_dust_flow_velocity, smoke_dust_humidity, pm, pm_convert, + vocs, vocs_convert,so2_flag,nox_flag,smoke_dust_flag,vocs_falg,data_flag, + nox_correct_emission,so2_correct_emission,vocs_correct_emission,smoke_dust_correct_emission + from s_env_gas_mon_hour + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonRealMapper.xml new file mode 100644 index 0000000..7f471a5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasMonRealMapper.xml @@ -0,0 +1,551 @@ + + + + + id, + factory_id, + outlet_id, + data_type, + monitoring_time, + so2, + so2_convert, + so2_emission, + nox, + nox_convert, + nox_emission, + "no", + no_convert, + no_emission, + no2, + no2_convert, + no2_emission, + smoke_dust, + smoke_dust_convert, + smoke_dust_emission, + o3, + oxygen, + smoke_dust_tem, + smoke_dust_pressure, + smoke_dust_flow_velocity, + smoke_dust_humidity, + pm, + pm_convert, + pm_emission + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, so2, + so2_convert, nox, nox_convert, "no", no_convert, no2, no2_convert, smoke_dust, + smoke_dust_convert, o3, oxygen, smoke_dust_tem, smoke_dust_pressure, + smoke_dust_flow_velocity, smoke_dust_humidity, pm, pm_convert, + vocs, vocs_convert,so2_flag,nox_flag,smoke_dust_flag,vocs_falg,data_flag, + nox_correct_emission,so2_correct_emission,vocs_correct_emission,smoke_dust_correct_emission + from s_env_gas_mon_real + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasRealMapper.xml new file mode 100644 index 0000000..aab9367 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasRealMapper.xml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, outlet_id, station_name, licence_station_name, monitoring_time, pm10, pm25, tsp, nmhc, ch4, hydrocarbon, benzene, methylbenzene, temperature, humidity, wind_direction, wind_speed, barometric_pressure, data_type, factory_id from s_env_gas_real + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasSelfDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasSelfDayMapper.xml new file mode 100644 index 0000000..9e689fc --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvGasSelfDayMapper.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, so2, so2_convert, so2_emission, nox, nox_convert, nox_emission, no, no_convert, no_emission, no2, no2_convert, no2_emission, smoke_dust, smoke_dust_convert, smoke_dust_emission, pm, pm_convert, pm_emission, vocs, vocs_convert, vocs_emission, o3, oxygen, smoke_dust_tem, smoke_dust_pressure, smoke_dust_flow_velocity, smoke_dust_humidity, date_time, oxygen_convert, oxygen_emission, nmhc, nmhc_convert, nmhc_emission, so2_flag, nox_flag, no_flag, no2_flag, smoke_dust_flag, pm_flag, vocs_flag, o3_flag, oxygen_flag, smoke_dust_tem_flag, smoke_dust_pressure_flag, smoke_dust_flow_velocity_flag, smoke_dust_humidity_flag, nmhc_flag, data_flag, so2_correct_emission, nox_correct_emission, vocs_correct_emission, smoke_dust_correct_emission from s_env_gas_self_day + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonDayMapper.xml new file mode 100644 index 0000000..7e69624 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonDayMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, sewage, sewage_emission, cod, cod_concentration, cod_emission, ammonia_nitrogen, ammonia_nitrogen_emission, nitrogen_concentration, nitrogen_concentration_emission, phosphorus_concentration, phosphorus_concentration_emission, ph_value, wastewater_flow,cod_flag,ammonia_nitrogen_flag,phosphorus_concentration_flag,nitrogen_concentration_flag from s_env_water_mon_hour + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonHourMapper.xml new file mode 100644 index 0000000..535f3a8 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonHourMapper.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, sewage, sewage_emission, cod, cod_concentration, cod_emission, ammonia_nitrogen, ammonia_nitrogen_emission, nitrogen_concentration, nitrogen_concentration_emission, phosphorus_concentration, phosphorus_concentration_emission, ph_value, wastewater_flow,cod_flag,ammonia_nitrogen_flag,phosphorus_concentration_flag,nitrogen_concentration_flag from s_env_water_mon_hour + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonRealMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonRealMapper.xml new file mode 100644 index 0000000..a26bc83 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterMonRealMapper.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, sewage, sewage_emission, cod, cod_concentration, cod_emission, ammonia_nitrogen, ammonia_nitrogen_emission, nitrogen_concentration, nitrogen_concentration_emission, phosphorus_concentration, phosphorus_concentration_emission, ph_value, wastewater_flow,cod_flag,ammonia_nitrogen_flag,phosphorus_concentration_flag,nitrogen_concentration_flag from s_env_water_mon_real + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterSelfDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterSelfDayMapper.xml new file mode 100644 index 0000000..c6c5b15 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SEnvWaterSelfDayMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, data_type, monitoring_time, sewage, sewage_emission, ph_value, cod, cod_emission, ammonia_nitrogen, ammonia_nitrogen_emission, cod_concentration, wastewater_flow, nitrogen_concentration, nitrogen_concentration_emission, phosphorus_concentration, phosphorus_concentration_emission, date_time, sewage_flag, ph_value_flag, cod_flag, ammonia_nitrogen_flag, nitrogen_concentration_flag, phosphorus_concentration_flag, data_flag, cod_correct_emission, ammonia_correct_emission, nitrogen_correct_emission, phosphorus_correct_emission from s_env_water_self_day + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SIntegratedRoutineInspectionMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SIntegratedRoutineInspectionMapper.xml new file mode 100644 index 0000000..74030e0 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SIntegratedRoutineInspectionMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + select id, factory_id, particular_year, check_rounds, check_time, inspector, check_score, total_points, review_types, review_status from s_integrated_routine_inspection + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlFactoryMapper.xml new file mode 100644 index 0000000..25d8d4a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlFactoryMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, control_type_code, measured_value, standard_value from s_main_dynamic_control_factory + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlMapper.xml new file mode 100644 index 0000000..aad74a4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, equipment_brand_cems, equipment_state, control_type_code, control_type_name from s_main_dynamic_control + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlParamMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlParamMapper.xml new file mode 100644 index 0000000..ea26496 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SMainDynamicControlParamMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + select id, control_type_code, arguments_code, arguments_name, arguments_enable from s_main_dynamic_control_param + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaDayMonTimeFbjdMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaDayMonTimeFbjdMapper.xml new file mode 100644 index 0000000..516cc92 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaDayMonTimeFbjdMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + INSERT INTO s_ra_day_mon_time_fbjd (data_id,factory_id,device_id,time_type,data_time,run_time) + VALUES + + ( + #{item.dataId},#{item.factoryId},#{item.deviceId},#{item.timeType},#{item.dataTime},#{item.runTime} + ) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysicComsitStMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysicComsitStMapper.xml new file mode 100644 index 0000000..cb5e3fa --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysicComsitStMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + data_id, param_name, create_time, station_id, factroy_id, analysis_time, min_value, max_value, q1_value, q2_value, acg_value + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysisRunOneMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysisRunOneMapper.xml new file mode 100644 index 0000000..a876bce --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SRaRealTimeAnalysisRunOneMapper.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, pc.industry_permission_name ,pc.industry_permission_name as industry_category_name, industry_category_code, pc.country_name as district_name, pc.country_code as district_code, pc.performance_level, device_name, device_id, device_type, operation_status, judgement_basis, update_time, create_time, run_etc, goings_on, active_power_quantity_tmp, active_power_quantity from s_ra_real_time_analysis_run_one + + + + + + + + update s_ra_real_time_analysis_run_one + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.districtName,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.districtCode,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.performanceLevel,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.deviceName,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.deviceId,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.deviceType,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.operationStatus,jdbcType=CHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.judgementBasis,jdbcType=CHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then CAST( #{item.updateTime} AS timestamp) + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then CAST(#{item.createTime} AS timestamp) + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.runEtc,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.goingsOn,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.activePowerQuantityTmp,jdbcType=VARCHAR} + + + + + + + when device_id = #{item.deviceId,jdbcType=VARCHAR} then #{item.activePowerQuantity,jdbcType=VARCHAR} + + + + + where device_id in + + #{item.deviceId,jdbcType=VARCHAR} + + + + + insert into s_ra_real_time_analysis_run_one + (data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, performance_level, device_name, device_id, device_type, + operation_status, judgement_basis, update_time, create_time, run_etc, goings_on, + active_power_quantity_tmp, active_power_quantity) + values + + (#{item.dataId,jdbcType=VARCHAR}, #{item.factoryId,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.industryCategoryName,jdbcType=VARCHAR}, #{item.industryCategoryCode,jdbcType=VARCHAR}, + #{item.districtName,jdbcType=VARCHAR}, #{item.districtCode,jdbcType=VARCHAR}, #{item.performanceLevel,jdbcType=VARCHAR}, + #{item.deviceName,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.deviceType,jdbcType=VARCHAR}, + #{item.operationStatus,jdbcType=CHAR}, #{item.judgementBasis,jdbcType=CHAR}, #{item.updateTime}, + #{item.createTime}, #{item.runEtc,jdbcType=VARCHAR}, #{item.goingsOn,jdbcType=VARCHAR}, + #{item.activePowerQuantityTmp,jdbcType=VARCHAR}, #{item.activePowerQuantity,jdbcType=VARCHAR} + ) + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/STaskYieldTrendMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/STaskYieldTrendMapper.xml new file mode 100644 index 0000000..acd1b9d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/STaskYieldTrendMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + data_id, factory_id, time_type, data_time, "number", create_time, dict_code,device_id + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/SupermonitorDrainOutletMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/SupermonitorDrainOutletMapper.xml new file mode 100644 index 0000000..e923410 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/SupermonitorDrainOutletMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, outlet_id, outlet_type, outlet_code, outlet_name, approval_document, other_information, lon, lat, drainage_to, emissions_laws, intermittent_emission_period, receiving_water_name, receiving_water_objective, receiving_water_lon, receiving_water_lat,rivers_outlet_name,rivers_outlet_code from m_supermonitor_drain_outlet + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataAirMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataAirMapper.xml new file mode 100644 index 0000000..15f23f4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataAirMapper.xml @@ -0,0 +1,42 @@ + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataWaterMapper.xml new file mode 100644 index 0000000..b44d088 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationDataWaterMapper.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationMapper.xml new file mode 100644 index 0000000..92dce25 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/TCodStationMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanInfoMapper.xml new file mode 100644 index 0000000..7ec9ee6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanInfoMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + id, plan_id, "type", "name", device_id, plan_start_time, plan_end_time, remarks, + create_time, update_time + + + + insert into b_co_discharge_plan_info + (id, plan_id, "type", "name", device_id, plan_start_time, plan_end_time, remarks, + create_time, update_time) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.planId,jdbcType=INTEGER}, #{item.type,jdbcType=VARCHAR}, + #{item.name,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.planStartTime,jdbcType=TIMESTAMP}, + #{item.planEndTime,jdbcType=TIMESTAMP}, #{item.remarks,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.updateTime,jdbcType=TIMESTAMP}) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanMapper.xml new file mode 100644 index 0000000..a03ca5c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BCoDischargePlanMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + plan_id, factory_id, plan_number, report_status, create_time, create_user, delete_status, + factory_name, country_name, industry_category_name + + + + insert into b_co_discharge_plan + (plan_id, factory_id, plan_number, report_status, create_time, create_user, delete_status, + factory_name, country_name, industry_category_name) + values + + (#{item.planId,jdbcType=INTEGER}, #{item.factoryId,jdbcType=VARCHAR}, #{item.planNumber,jdbcType=INTEGER}, + #{item.reportStatus,jdbcType=SMALLINT}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.createUser,jdbcType=VARCHAR}, #{item.deleteStatus,jdbcType=SMALLINT}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.countryName,jdbcType=VARCHAR}, #{item.industryCategoryName,jdbcType=VARCHAR} + ) + + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanInfoMapper.xml new file mode 100644 index 0000000..a8c0dc3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanInfoMapper.xml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + id, plan_id, "type", "name", device_id, plan_start_time, plan_end_time, remarks, + create_time, update_time + + + + update b_maintenance_plan_info + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planId,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.name,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.deviceId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planStartTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planEndTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.remarks,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update b_maintenance_plan_info + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planId,jdbcType=INTEGER} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.name,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.deviceId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planStartTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.planEndTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.remarks,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into b_maintenance_plan_info + (id, plan_id, "type", "name", device_id, plan_start_time, plan_end_time, remarks, + create_time, update_time) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.planId,jdbcType=INTEGER}, #{item.type,jdbcType=VARCHAR}, + #{item.name,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.planStartTime,jdbcType=TIMESTAMP}, + #{item.planEndTime,jdbcType=TIMESTAMP}, #{item.remarks,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.updateTime,jdbcType=TIMESTAMP}) + + + + + SELECT + bdpi.ID, + bd.industry, + pf.industry_category, + bdpi.plan_start_time, + bdpi.plan_end_time, + bdpi.remarks, + bd.work_step AS TYPE, + bd.NAME, + bd.device_id + FROM + bas_device bd + LEFT JOIN b_maintenance_plan_info bdpi ON bd.device_id = bdpi.device_id + AND bdpi.plan_id =#{planId,jdbcType=INTEGER} + LEFT JOIN pc_factory pf ON bd.factory_id = pf.ID + WHERE + pf.industry_category = bd.industry + AND bd.factory_id = #{factoryId,jdbcType=VARCHAR} + AND (CASE bd.industry + WHEN 'GT' THEN bd.work_step IN ('烧结', '球团', '高炉', '转炉', '炉窑', '发电') + WHEN 'JH' THEN bd.work_step IN ('焦化', '干熄焦') + WHEN 'SN' THEN bd.work_step IN ('水泥窑') + WHEN 'DL' THEN bd.work_step IN ('锅炉','发电机组') + WHEN 'FS' THEN bd.work_step IN ('焚烧炉') + WHEN 'BL' THEN bd.work_step IN ('玻璃生产线') + ELSE FALSE + END) + ORDER BY + bdpi.ID + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanMapper.xml new file mode 100644 index 0000000..ffdefc6 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BMaintenancePlanMapper.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + plan_id, factory_id, plan_number, report_status, create_time, create_user, delete_status, + factory_name, country_name, industry_category_name + + + + update b_maintenance_plan + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.planNumber,jdbcType=INTEGER} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.reportStatus,jdbcType=SMALLINT} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.createUser,jdbcType=VARCHAR} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.deleteStatus,jdbcType=SMALLINT} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.countryName,jdbcType=VARCHAR} + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + where plan_id in + + #{item.planId,jdbcType=INTEGER} + + + + + update b_maintenance_plan + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.planNumber,jdbcType=INTEGER} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.reportStatus,jdbcType=SMALLINT} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.createUser,jdbcType=VARCHAR} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.deleteStatus,jdbcType=SMALLINT} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.countryName,jdbcType=VARCHAR} + + + + + + + when plan_id = #{item.planId,jdbcType=INTEGER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + where plan_id in + + #{item.planId,jdbcType=INTEGER} + + + + + insert into b_maintenance_plan + (plan_id, factory_id, plan_number, report_status, create_time, create_user, delete_status, + factory_name, country_name, industry_category_name) + values + + (#{item.planId,jdbcType=INTEGER}, #{item.factoryId,jdbcType=VARCHAR}, #{item.planNumber,jdbcType=INTEGER}, + #{item.reportStatus,jdbcType=SMALLINT}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.createUser,jdbcType=VARCHAR}, #{item.deleteStatus,jdbcType=SMALLINT}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.countryName,jdbcType=VARCHAR}, #{item.industryCategoryName,jdbcType=VARCHAR} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamAnalyseMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamAnalyseMapper.xml new file mode 100644 index 0000000..6dd2183 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamAnalyseMapper.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, data_type, device_type, device_cart, device_cart_code, device_param_name, device_param_code, + device_param_unit, contour_ew, data_logic_abnormal_ew, data_logic_fluctuate_ew, data_logic_deficiency_ew, + stop_threshold_value, co_diffuse_threshold_value, update_time, is_status + + + + update bas_device_param_analyse + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataType,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceCart,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceCartCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceParamName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceParamCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.deviceParamUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.contourEw,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicAbnormalEw,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicFluctuateEw,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicDeficiencyEw,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.stopThresholdValue,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.coDiffuseThresholdValue,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=DATE} + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.isStatus,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + update bas_device_param_analyse + + + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.contourEw,jdbcType=CHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicAbnormalEw,jdbcType=CHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicFluctuateEw,jdbcType=CHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.dataLogicDeficiencyEw,jdbcType=CHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.stopThresholdValue,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then #{item.coDiffuseThresholdValue,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=BIGINT} then TO_TIMESTAMP( #{item.updateTime,jdbcType=TIMESTAMP}, 'YYYY-MM-DD HH24:MI:SS') + + + + + + where id in + + #{item.id,jdbcType=BIGINT} + + + + + insert into bas_device_param_analyse + (id, data_type, device_type, device_cart, device_cart_code, device_param_name, device_param_code, + device_param_unit, contour_ew, data_logic_abnormal_ew, data_logic_fluctuate_ew, + data_logic_deficiency_ew, stop_threshold_value, co_diffuse_threshold_value, update_time, + is_status) + values + + (#{item.id,jdbcType=BIGINT}, #{item.dataType,jdbcType=CHAR}, #{item.deviceType,jdbcType=VARCHAR}, + #{item.deviceCart,jdbcType=VARCHAR}, #{item.deviceCartCode,jdbcType=VARCHAR}, #{item.deviceParamName,jdbcType=VARCHAR}, + #{item.deviceParamCode,jdbcType=VARCHAR}, #{item.deviceParamUnit,jdbcType=VARCHAR}, + #{item.contourEw,jdbcType=CHAR}, #{item.dataLogicAbnormalEw,jdbcType=CHAR}, #{item.dataLogicFluctuateEw,jdbcType=CHAR}, + #{item.dataLogicDeficiencyEw,jdbcType=CHAR}, #{item.stopThresholdValue,jdbcType=VARCHAR}, + #{item.coDiffuseThresholdValue,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=DATE}, + #{item.isStatus,jdbcType=VARCHAR}) + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamMapper.xml new file mode 100644 index 0000000..72d5522 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasDeviceParamMapper.xml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, device_id, param_id, industry, device_type, facility_type, normal_value, min_value, + max_value, q1_value, q2_value, is_online, standby_num, multi_num, over_max_val, create_time, + release_value, stop_value, device_site_id, param_name, param_unit, is_status, data_type, + device_name, factory_name + + + + update bas_device_param + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.deviceId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.paramId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.industry,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.deviceType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.facilityType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.normalValue,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.minValue,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxValue,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.q1Value,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.q2Value,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.isOnline,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.standbyNum,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.multiNum,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.overMaxVal,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.releaseValue,jdbcType=SMALLINT} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.stopValue,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.deviceSiteId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.paramName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.paramUnit,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.isStatus,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dataType,jdbcType=CHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.deviceName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.factoryName,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update bas_device_param + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.normalValue,jdbcType=DOUBLE} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.minValue,jdbcType=DOUBLE} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxValue,jdbcType=DOUBLE} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.isOnline,jdbcType=SMALLINT} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into bas_device_param + (id, device_id, param_id, industry, device_type, facility_type, normal_value, min_value, + max_value, q1_value, q2_value, is_online, standby_num, multi_num, over_max_val, + create_time, release_value, stop_value, device_site_id, param_name, param_unit, + is_status, data_type, device_name, factory_name) + values + + (#{item.id,jdbcType=INTEGER}, #{item.deviceId,jdbcType=VARCHAR}, #{item.paramId,jdbcType=VARCHAR}, + #{item.industry,jdbcType=VARCHAR}, #{item.deviceType,jdbcType=VARCHAR}, #{item.facilityType,jdbcType=VARCHAR}, + #{item.normalValue,jdbcType=DOUBLE}, #{item.minValue,jdbcType=DOUBLE}, #{item.maxValue,jdbcType=DOUBLE}, + #{item.q1Value,jdbcType=DOUBLE}, #{item.q2Value,jdbcType=DOUBLE}, #{item.isOnline,jdbcType=SMALLINT}, + #{item.standbyNum,jdbcType=INTEGER}, #{item.multiNum,jdbcType=INTEGER}, #{item.overMaxVal,jdbcType=DOUBLE}, + #{item.createTime,jdbcType=TIMESTAMP}, #{item.releaseValue,jdbcType=SMALLINT}, + #{item.stopValue,jdbcType=DOUBLE}, #{item.deviceSiteId,jdbcType=VARCHAR}, #{item.paramName,jdbcType=VARCHAR}, + #{item.paramUnit,jdbcType=VARCHAR}, #{item.isStatus,jdbcType=CHAR}, #{item.dataType,jdbcType=CHAR}, + #{item.deviceName,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasThresholdConfigMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasThresholdConfigMapper.xml new file mode 100644 index 0000000..ce44f6d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/BasThresholdConfigMapper.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + data_id, task_name, param_code, param_name, frequency, threshold_value, unit, remark, + create_by, create_time, update_by, update_time + + + + update bas_threshold_config + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.taskName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.paramCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.paramName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.frequency,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.thresholdValue,jdbcType=NUMERIC} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.unit,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.remark,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.createBy,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.updateBy,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + where data_id in + + #{item.dataId,jdbcType=SMALLINT} + + + + + update bas_threshold_config + + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.frequency,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.thresholdValue,jdbcType=NUMERIC} + + + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.unit,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then #{item.remark,jdbcType=VARCHAR} + + + + + + + + + when data_id = #{item.dataId,jdbcType=SMALLINT} then TO_TIMESTAMP( #{item.updateTime,jdbcType=TIMESTAMP}, 'YYYY-MM-DD HH24:MI:SS') + + + + + where data_id in + + #{item.dataId,jdbcType=SMALLINT} + + + + + insert into bas_threshold_config + (data_id, task_name, param_code, param_name, frequency, threshold_value, unit, remark, + create_by, create_time, update_by, update_time) + values + + (#{item.dataId,jdbcType=SMALLINT}, #{item.taskName,jdbcType=VARCHAR}, #{item.paramCode,jdbcType=VARCHAR}, + #{item.paramName,jdbcType=VARCHAR}, #{item.frequency,jdbcType=VARCHAR}, #{item.thresholdValue,jdbcType=NUMERIC}, + #{item.unit,jdbcType=VARCHAR}, #{item.remark,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR}, + #{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP} + ) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/PcRaProblemTypeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/PcRaProblemTypeMapper.xml new file mode 100644 index 0000000..1f4f7f5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/PcRaProblemTypeMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + select id, name, parent_id, sort, create_by, create_time, update_by, update_time from pc_ra_problem_type + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisCarMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisCarMapper.xml new file mode 100644 index 0000000..e16f2b7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisCarMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, performance_level, working_procedure, in_out_number, update_time, create_time, analyse_time from s_ra_ab_nalysis_car + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisLowCarMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisLowCarMapper.xml new file mode 100644 index 0000000..cd82f8c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAbNalysisLowCarMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, + performance_level, five_number, in_out_number,six_number,ne_number, update_time, create_time, analyse_time from s_ra_ab_nalysis_low_car + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualEmissionsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualEmissionsMapper.xml new file mode 100644 index 0000000..098a6f9 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualEmissionsMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select srarae.id, report_type, report_time, factory_id, pf.factory_name, outlet_type, outlet_name, outlet_code, pollutant_name, pollutant_code, permitted_emissions, actual_emissions, update_time, update_by, create_time, create_by from s_ra_action_reports_actual_emissions srarae + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualYieldMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualYieldMapper.xml new file mode 100644 index 0000000..c30b1d7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsActualYieldMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + select sraray.id, report_type, report_time, factory_id, pf.factory_name, production_unit, running_param_code, running_param_name, actual_emissions, update_time, update_by, create_time, create_by from s_ra_action_reports_actual_yield sraray + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditFactoryInfoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditFactoryInfoMapper.xml new file mode 100644 index 0000000..68edf90 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditFactoryInfoMapper.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditMapper.xml new file mode 100644 index 0000000..deb59a5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + select id, report_type, report_time, total_enterprises, submitted_enterprises, submission_rate, non_submitted_enterprises_url, audit_status, update_time, create_time, create_by, update_by from s_ra_action_reports_audit + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditRecordMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditRecordMapper.xml new file mode 100644 index 0000000..7627ddf --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditRecordMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + select id, report_id, audit_time, total_enterprises, submitted_enterprises, audited_enterprises, problems_enterprises, audit_status, update_time, create_time, create_by, update_by from s_ra_action_reports_audit_record + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditResultMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditResultMapper.xml new file mode 100644 index 0000000..e4c1d8e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaActionReportsAuditResultMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, record_id, factory_id, report_time, poll_dis_license_code, report_submission_time, audit_time, factory_basic_info, water_prevention_facilities, gas_prevention_facilities, prevention_facilities, abnormal_situation, organized_gas_monitoring_data, water_monitoring_data, exceeding_rate, abnormal_organized_gas_monitoring_data, monitoring_frequency, actual_emissions, excessive_emissions, attachment, calculation_process, remark, checklist, update_time, create_time, create_by, update_by from s_ra_action_reports_audit_result + + + + + + + + update s_ra_action_reports_audit_result + + + water_prevention_facilities = #{item.waterPreventionFacilities,jdbcType=VARCHAR}, + + + gas_prevention_facilities = #{item.gasPreventionFacilities,jdbcType=VARCHAR}, + + + prevention_facilities = #{item.preventionFacilities,jdbcType=VARCHAR}, + + + abnormal_situation = #{item.abnormalSituation,jdbcType=VARCHAR}, + + + organized_gas_monitoring_data = #{item.organizedGasMonitoringData,jdbcType=VARCHAR}, + + + water_monitoring_data = #{item.waterMonitoringData,jdbcType=VARCHAR}, + + + where id = #{item.id,jdbcType=VARCHAR} + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaRegulatoryIssuesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaRegulatoryIssuesMapper.xml new file mode 100644 index 0000000..bd6f313 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaRegulatoryIssuesMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, report_type, district_name, district_code, industry_category, month, abnormal_problems_num, effective_monitoring_compliance_rate, online_monitoring_compliance_rate, manual_monitoring_frequency_pass_rate, sys_acc_actual_emission_pass_rate, report_actual_emission_pass_rate, heavy_pollution_control_exacutive_rate, total_enterprises, submission_rate, problems_enterprises, normative_question_rate, report_result_statistical_time, create_by, create_time, update_by, update_time from s_ra_area_regulatory_issues + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaTransferRateAnalysisMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaTransferRateAnalysisMapper.xml new file mode 100644 index 0000000..610ffb1 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaAreaTransferRateAnalysisMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, count_type, district_name, district_code, statistics_time, elec_transmitt_num, + elec_actual_transmitt_num, elec_transmission_rate, unorganized_transmitt_minute_num, + unorganized_actual_transmitt_minute_num, unorganized_transmission_minute_rate, unorganized_transmitt_hour_num, + unorganized_actual_transmitt_hour_num, unorganized_transmission_hour_rate, unorganized_transmitt_day_num, + unorganized_actual_transmitt_day_num, unorganized_transmission_day_rate, dcs_transmitt_minute_num, + dcs_actual_transmitt_num, dcs_transmission_rate, gridded_transmitt_minute_num, gridded_actual_transmitt_minute_num, + gridded_transmission_minute_rate, gridded_transmitt_hour_num, gridded_actual_transmitt_hour_num, + gridded_transmission_hour_rate, gridded_transmitt_day_num, gridded_actual_transmitt_gridded_transmitt_day_num, + gridded_transmission_day_rate, online_monitoring__minute_num, online_monitoring_actual_minute_num, + online_monitoring_minute_rate, online_monitoring_hour_num, online_monitoring_actual_hour_num, + online_monitoring_hour_rate, online_monitoring_day_num, online_monitoring_actual_day_num, + online_monitoring_day_rate, create_by, create_time, update_by, update_time + + + + select + from s_ra_area_transfer_rate_analysis + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaControlSchemeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaControlSchemeMapper.xml new file mode 100644 index 0000000..ab123a3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaControlSchemeMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + select scheme_id, scheme_name, warning_level, control_measures, control_start_time, control_end_time, stop_car, no_control_start_time, no_control_end_time, create_by, create_time, update_by, update_time from s_ra_control_scheme + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsDiffMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsDiffMapper.xml new file mode 100644 index 0000000..ff7a39d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsDiffMapper.xml @@ -0,0 +1,75 @@ + + + + + + select + t1.id as "id", + t1.factory_id as "factoryId", + t1.pollutant_name as "pollutantName", + t1.sys_emissions as "sysEmissions", + t1.report_emissions as "reportEmissions", + t1.diff_rate as "diffRate", + t1.analyse_date as "analyse_date", + t1.create_by as "createBy", + t1.create_time as "createTime", + t1.update_by as "updateBy", + t1.update_time as "updateTime", + t3.factory_name as "factoryName", + t3.country_code as "regionCode", + t3.country_name as "regionName", + t4.arguments_code as "industryCode", + t4.arguments_name as "industryName" + from s_ra_emissions_diff t1 + left join pc_factory t3 on t1.factory_id = t3.id + + left join ( + select + plf.factory_id, plv.arguments_code, plv.arguments_name + from pc_label_factory plf + left join pc_label_value plv on plf.label_id = plv.label_id and plf.label_value = plv.arguments_code + where plf.label_id = '4' + ) t4 on t1.factory_id = t4.factory_id + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsMonitoringVarianceMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsMonitoringVarianceMapper.xml new file mode 100644 index 0000000..3589b1d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsMonitoringVarianceMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + select id, factory_id, station_time, station_id, poll_id, concentration_online, concentration_pm, concentration_etl, difference_ratio, create_time, update_time from s_ra_emissions_monitoring_variance + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverFactoryMapper.xml new file mode 100644 index 0000000..4fad546 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverFactoryMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverMapper.xml new file mode 100644 index 0000000..ffbfd7d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsOverMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStandardMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStandardMapper.xml new file mode 100644 index 0000000..fdd964a --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStandardMapper.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, factory_name,industry_category_name,district_name,analyse_year, pollutant_name, region_ranking, industry_ranking, is_emissions_big_user, emissions_scale, unit_emissions, create_by, create_time, update_by, update_time from s_ra_emissions_standard + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStatisticsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStatisticsMapper.xml new file mode 100644 index 0000000..e7a5886 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaEmissionsStatisticsMapper.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + id, factory_id, factory_name, industry_id, industry_name, region_code, region_name, problem_id, + problem_name, problem_value, problem_time + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryRegulatoryIssuesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryRegulatoryIssuesMapper.xml new file mode 100644 index 0000000..cda7411 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryRegulatoryIssuesMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, report_type, factory_id, poll_dis_license_code, month, abnormal_problems_num, effective_monitoring_compliance_rate, online_monitoring_compliance_rate, manual_monitoring_frequency_pass_rate, sys_acc_actual_emission_pass_rate, report_actual_emission_pass_rate, heavy_pollution_control_exacutive_rate, report_need_submit, report_submit, report_normative, report_statistics_time, create_by, create_time, update_by, update_time from s_ra_factory_regulatory_issues + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryTransferRateAnalysisMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryTransferRateAnalysisMapper.xml new file mode 100644 index 0000000..5341967 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaFactoryTransferRateAnalysisMapper.xml @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_id, factory_name, district_name, district_code, industry_category_name, + industry_category_code, outlet_code, outlet_name, count_type, statistics_time, elec_transmitt_num, + elec_actual_transmitt_num, elec_transmission_rate, unorganized_transmitt_minute_num, + unorganized_actual_transmitt_minute_num, unorganized_transmission_minute_rate, unorganized_transmitt_hour_num, + unorganized_actual_transmitt_hour_num, unorganized_transmission_hour_rate, unorganized_transmitt_day_num, + unorganized_actual_transmitt_day_num, unorganized_transmission_day_rate, dcs_transmitt_minute_num, + dcs_actual_transmitt_num, dcs_transmission_rate, gridded_transmitt_minute_num, gridded_actual_transmitt_minute_num, + gridded_transmission_minute_rate, gridded_transmitt_hour_num, gridded_actual_transmitt_hour_num, + gridded_transmission_hour_rate, gridded_transmitt_day_num, gridded_actual_transmitt_gridded_transmitt_day_num, + gridded_transmission_day_rate, online_monitoring_minute_num, online_monitoring_actual_minute_num, + online_monitoring_minute_rate, online_monitoring_hour_num, online_monitoring_actual_hour_num, + online_monitoring_hour_rate, online_monitoring_day_num, online_monitoring_actual_day_num, + online_monitoring_day_rate, create_by, create_time, update_by, update_time,data_time + + + + + select + + FROM s_ra_factory_transfer_rate_analysis + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasFlagMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasFlagMapper.xml new file mode 100644 index 0000000..1106f72 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasFlagMapper.xml @@ -0,0 +1,169 @@ + + + + + + select id, outlet_id, data_flag, start_time, end_time, duration, duration_avg, oxygen_emission, smoke_dust_convert, smoke_dust_emission, nox_convert, nox_emission, so2_convert, so2_emission, o3, smoke_dust_flow_velocity, smoke_dust_tem, smoke_dust_pressure from s_ra_gas_flag + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedEmissionsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedEmissionsMapper.xml new file mode 100644 index 0000000..904c4e5 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedEmissionsMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, outlet_type, moitor_name, monitor_type, monitor_time, outlet_code, nox, nox_amendments, so2, so2_amendments, pm, pm_amendments, vocs, vocs_amendments, data_flag, create_time from s_ra_gas_permitted_emissions + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(nox_amendments) as nox, sum(so2_amendments) as so2, sum(pm_amendments) as pm, sum(vocs_amendments) as vocs from s_ra_gas_permitted_emissions + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(nox) as nox, sum(so2) as so2, sum(pm) as pm, sum(vocs) as vocs from s_ra_gas_permitted_emissions + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedOnlineMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedOnlineMapper.xml new file mode 100644 index 0000000..3bb4dea --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaGasPermittedOnlineMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, outlet_type, moitor_name, monitor_type, monitor_time, outlet_code, nox, nox_amendments, so2, so2_amendments, pm, pm_amendments, vocs, vocs_amendments, data_flag, create_time, included_emissions from s_ra_gas_permitted_online + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(nox_amendments) as nox, sum(so2_amendments) as so2, sum(pm_amendments) as pm, sum(vocs_amendments) as vocs from s_ra_gas_permitted_online + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(nox) as nox, sum(so2) as so2, sum(pm) as pm, sum(vocs) as vocs from s_ra_gas_permitted_online + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsGasMapper.xml new file mode 100644 index 0000000..033d316 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsGasMapper.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, point_name, outlet_code, outlet_type, pollutant_name, monitor_time, monitor_val, unit, flue_gas_flow, check_cycle_start, check_cycle_end, check_run_time, run_time_source, emissions, create_by, create_time, update_by, update_time, factory_name, industry_category_name, industry_category_code, district_name, district_code from s_ra_handwork_emissions_gas + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsWaterMapper.xml new file mode 100644 index 0000000..01e541f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaHandworkEmissionsWaterMapper.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, point_name, outlet_code, outlet_type, pollutant_name, monitor_time, monitor_val, unit, waste_water_flow, check_cycle_start, check_cycle_end, check_run_time, run_time_source, emissions, create_by, create_time, update_by, update_time, factory_name, industry_category_name, industry_category_code, district_name, district_code from s_ra_handwork_emissions_water + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringGasMapper.xml new file mode 100644 index 0000000..17ceab4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringGasMapper.xml @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, pollutants_name, pollutants_code, monitor_time, moitor_name, + monitor_value, create_time, monitor_id, monitoring_unit, emission_standard_name, + standard_num, flow, humidity, oxygen_content, velocity, production_load, monitoring_class, + actual_concentration, obversion_concentration, concentration, upper_value, lower_value, + unit, exceeding_standard, exceeding_multiple, temperature + + + + update s_ra_low_monitoring_gas + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.pollutantsName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.pollutantsCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorValue,jdbcType=NUMERIC} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringUnit,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.flow,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.humidity,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.oxygenContent,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.velocity,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.productionLoad,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.actualConcentration,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.obversionConcentration,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.temperature,jdbcType=VARCHAR} + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + update s_ra_low_monitoring_gas + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.pollutantsName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.pollutantsCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorValue,jdbcType=NUMERIC} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringUnit,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.flow,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.humidity,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.oxygenContent,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.velocity,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.productionLoad,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.actualConcentration,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.obversionConcentration,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.temperature,jdbcType=VARCHAR} + + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + + + + insert into s_ra_low_monitoring_gas + (data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, pollutants_name, pollutants_code, monitor_time, moitor_name, + monitor_value, create_time, monitor_id, monitoring_unit, emission_standard_name, + standard_num, flow, humidity, oxygen_content, velocity, production_load, monitoring_class, + actual_concentration, obversion_concentration, concentration, upper_value, lower_value, + unit, exceeding_standard, exceeding_multiple, temperature) + values + + (#{item.dataId,jdbcType=OTHER}, #{item.factoryId,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.industryCategoryName,jdbcType=VARCHAR}, #{item.industryCategoryCode,jdbcType=VARCHAR}, + #{item.districtName,jdbcType=VARCHAR}, #{item.districtCode,jdbcType=VARCHAR}, #{item.pollutantsName,jdbcType=VARCHAR}, + #{item.pollutantsCode,jdbcType=VARCHAR}, #{item.monitorTime,jdbcType=TIMESTAMP}, + #{item.moitorName,jdbcType=VARCHAR}, #{item.monitorValue,jdbcType=NUMERIC}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.monitorId,jdbcType=VARCHAR}, #{item.monitoringUnit,jdbcType=VARCHAR}, #{item.emissionStandardName,jdbcType=VARCHAR}, + #{item.standardNum,jdbcType=VARCHAR}, #{item.flow,jdbcType=VARCHAR}, #{item.humidity,jdbcType=VARCHAR}, + #{item.oxygenContent,jdbcType=VARCHAR}, #{item.velocity,jdbcType=VARCHAR}, #{item.productionLoad,jdbcType=VARCHAR}, + #{item.monitoringClass,jdbcType=VARCHAR}, #{item.actualConcentration,jdbcType=VARCHAR}, + #{item.obversionConcentration,jdbcType=VARCHAR}, #{item.concentration,jdbcType=VARCHAR}, + #{item.upperValue,jdbcType=VARCHAR}, #{item.lowerValue,jdbcType=VARCHAR}, #{item.unit,jdbcType=VARCHAR}, + #{item.exceedingStandard,jdbcType=VARCHAR}, #{item.exceedingMultiple,jdbcType=VARCHAR}, + #{item.temperature,jdbcType=VARCHAR}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringOtherMapper.xml new file mode 100644 index 0000000..32f0684 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringOtherMapper.xml @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, monitor_time, moitor_name, monitor_id, monitoring_type, + emission_standard_name, standard_num, monitoring_class, concentration, upper_value, + lower_value, unit, exceeding_standard, exceeding_multiple + + + + update s_ra_low_monitoring_other + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + update s_ra_low_monitoring_other + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + insert into s_ra_low_monitoring_other + (data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, monitor_time, moitor_name, monitor_id, monitoring_type, + emission_standard_name, standard_num, monitoring_class, concentration, upper_value, + lower_value, unit, exceeding_standard, exceeding_multiple) + values + + (#{item.dataId,jdbcType=OTHER}, #{item.factoryId,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.industryCategoryName,jdbcType=VARCHAR}, #{item.industryCategoryCode,jdbcType=VARCHAR}, + #{item.districtName,jdbcType=VARCHAR}, #{item.districtCode,jdbcType=VARCHAR}, #{item.monitorTime,jdbcType=TIMESTAMP}, + #{item.moitorName,jdbcType=VARCHAR}, #{item.monitorId,jdbcType=VARCHAR}, #{item.monitoringType,jdbcType=VARCHAR}, + #{item.emissionStandardName,jdbcType=VARCHAR}, #{item.standardNum,jdbcType=VARCHAR}, + #{item.monitoringClass,jdbcType=VARCHAR}, #{item.concentration,jdbcType=VARCHAR}, + #{item.upperValue,jdbcType=VARCHAR}, #{item.lowerValue,jdbcType=VARCHAR}, #{item.unit,jdbcType=VARCHAR}, + #{item.exceedingStandard,jdbcType=VARCHAR}, #{item.exceedingMultiple,jdbcType=VARCHAR} + ) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringWaterMapper.xml new file mode 100644 index 0000000..d46a204 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaLowMonitoringWaterMapper.xml @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, monitor_time, moitor_name, monitor_id, monitoring_type, + emission_standard_name, standard_num, receiving_water_name, monitoring_class, flow, + production_load, concentration, upper_value, lower_value, unit, exceeding_standard, + exceeding_multiple + + + + update s_ra_low_monitoring_water + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.receivingWaterName,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.flow,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.productionLoad,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + update s_ra_low_monitoring_water + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.industryCategoryCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.districtCode,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorTime,jdbcType=TIMESTAMP} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.moitorName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitorId,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringType,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.emissionStandardName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.standardNum,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.receivingWaterName,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.monitoringClass,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.flow,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.productionLoad,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.concentration,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.upperValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.lowerValue,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.unit,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingStandard,jdbcType=VARCHAR} + + + + + + + when data_id = #{item.dataId,jdbcType=OTHER} then #{item.exceedingMultiple,jdbcType=VARCHAR} + + + + + where data_id in + + #{item.dataId,jdbcType=OTHER} + + + + + insert into s_ra_low_monitoring_water + (data_id, factory_id, factory_name, industry_category_name, industry_category_code, + district_name, district_code, monitor_time, moitor_name, monitor_id, monitoring_type, + emission_standard_name, standard_num, receiving_water_name, monitoring_class, flow, + production_load, concentration, upper_value, lower_value, unit, exceeding_standard, + exceeding_multiple) + values + + (#{item.dataId,jdbcType=OTHER}, #{item.factoryId,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, + #{item.industryCategoryName,jdbcType=VARCHAR}, #{item.industryCategoryCode,jdbcType=VARCHAR}, + #{item.districtName,jdbcType=VARCHAR}, #{item.districtCode,jdbcType=VARCHAR}, #{item.monitorTime,jdbcType=TIMESTAMP}, + #{item.moitorName,jdbcType=VARCHAR}, #{item.monitorId,jdbcType=VARCHAR}, #{item.monitoringType,jdbcType=VARCHAR}, + #{item.emissionStandardName,jdbcType=VARCHAR}, #{item.standardNum,jdbcType=VARCHAR}, + #{item.receivingWaterName,jdbcType=VARCHAR}, #{item.monitoringClass,jdbcType=VARCHAR}, + #{item.flow,jdbcType=VARCHAR}, #{item.productionLoad,jdbcType=VARCHAR}, #{item.concentration,jdbcType=VARCHAR}, + #{item.upperValue,jdbcType=VARCHAR}, #{item.lowerValue,jdbcType=VARCHAR}, #{item.unit,jdbcType=VARCHAR}, + #{item.exceedingStandard,jdbcType=VARCHAR}, #{item.exceedingMultiple,jdbcType=VARCHAR} + ) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaMultiSourceMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaMultiSourceMapper.xml new file mode 100644 index 0000000..3b8554c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaMultiSourceMapper.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, pollutants_type, pollutants_name, pollutants_code, monitor_time, outlet_code, outlet_type, moitor_name, monitor_type, monitor_id, permission, permission_amendments, online, online_amendments, data_flag, create_time from s_ra_multi_source + + + select factory_id, factory_name, industry_category_name, district_name, pollutants_name,pollutants_type, sum(permission_amendments) as permission, sum(online_amendments) as online from s_ra_multi_source + + + select factory_id, factory_name, industry_category_name, district_name, pollutants_name,pollutants_type, sum(permission) as permission, sum(online) as online from s_ra_multi_source + + + select factory_name, outlet_type,moitor_name,monitor_type,outlet_code, sum(permission_amendments) as permission, sum(online_amendments) as online from s_ra_multi_source + + + select factory_name, outlet_type,moitor_name,monitor_type,outlet_code, sum(permission) as permission, sum(online) as online from s_ra_multi_source + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsGasMapper.xml new file mode 100644 index 0000000..a1fb0e7 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsGasMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, point_name, outlet_code, outlet_type, pollutant_name, monitor_time, hour_avg, unit, flue_gas_flow, pollutant_emissions, is_valid, xy_emissions, xy_desc, bring_into_emissions, create_by, create_time, update_by, update_time from s_ra_online_emissions_gas + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsWaterMapper.xml new file mode 100644 index 0000000..7a10c78 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOnlineEmissionsWaterMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, factory_id, point_name, outlet_code, outlet_type, pollutant_name, monitor_time, day_avg, unit, waste_water_flow, pollutant_emissions, is_valid, xy_emissions, xy_desc, bring_into_emissions, create_by, create_time, update_by, update_time from s_ra_online_emissions_water + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateGasMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateGasMapper.xml new file mode 100644 index 0000000..a3f10bd --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateGasMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateWaterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateWaterMapper.xml new file mode 100644 index 0000000..d42ffcf --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverRateWaterMapper.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverWaterPollutionTraceabilityMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverWaterPollutionTraceabilityMapper.xml new file mode 100644 index 0000000..39e6d0d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaOverWaterPollutionTraceabilityMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, outlet_code, outlet_name, outlet_number, factory_id, factory_name, monitoring_point_name, + emission_method, drainage_direction, emission_behavior, intermittent_emission_period, + receiving_sewage_plant_name, receiving_sewage_plant_code, receiving_water_name, receiving_target, + estuary_name, estuary_code, outlet_longitude, outlet_latitude, receiving_sewage_plant_longitude, + receiving_sewage_plant_latitude, estuary_longitude, estuary_latitude, update_time, + create_time, create_by, update_by, alarm_info + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMapper.xml new file mode 100644 index 0000000..d0d3d2c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + select data_id, sectionalization_name, param_name, analysis_time, station_num, create_time, avg_value from s_ra_real_time_analysic_comsit + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMonitorMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMonitorMapper.xml new file mode 100644 index 0000000..3717612 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysicComsitMonitorMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + select data_id, comsit_id, monitor_id, create_time from s_ra_real_time_analysic_comsit_monitor + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCementMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCementMapper.xml new file mode 100644 index 0000000..4b22867 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCementMapper.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, device_type, add_number, grog_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_cement + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoMapper.xml new file mode 100644 index 0000000..9d8960b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoMapper.xml @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, performance_level, device_name, device_id, diffuse, remark, working_procedure, update_time, create_time, analyse_time,coal_emissions from s_ra_real_time_analysis_co + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoalMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoalMapper.xml new file mode 100644 index 0000000..c5a8317 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCoalMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, device_name, device_id, coal_number, coke_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_coal + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCokeMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCokeMapper.xml new file mode 100644 index 0000000..c04440c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisCokeMapper.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, device_type, volume_number, push_number, coke_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_coke + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisConverterMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisConverterMapper.xml new file mode 100644 index 0000000..3f9a326 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisConverterMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, device_name, device_id, converter_number, nominal_number, output_number, tap_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_converter + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisFurnaceMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisFurnaceMapper.xml new file mode 100644 index 0000000..eac438b --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisFurnaceMapper.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, tap_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_furnace + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisGlassMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisGlassMapper.xml new file mode 100644 index 0000000..df0d328 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisGlassMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, kiln_number, rated_number, plan_number, glass_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_glass + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisKwhMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisKwhMapper.xml new file mode 100644 index 0000000..2999e77 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisKwhMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, param_name, area_rank, industry_rank, large_house, scale, vol, update_time, create_time, year, param_code, param_unit from s_ra_real_time_analysis_kwh + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisPowerMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisPowerMapper.xml new file mode 100644 index 0000000..5e509af --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisPowerMapper.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, power_number, update_time, create_time, analyse_time from s_ra_real_time_analysis_power + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRubbishMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRubbishMapper.xml new file mode 100644 index 0000000..980d480 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRubbishMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, district_name, district_code, device_name, device_id, rubbish_number, update_time, create_time, analyse_time, feeding_method from s_ra_real_time_analysis_rubbish + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRunMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRunMapper.xml new file mode 100644 index 0000000..dd33047 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisRunMapper.xml @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, performance_level, device_name, device_id, device_type, operation_status, judgement_basis, update_time, create_time,run_etc,goings_on,active_power_quantity_tmp,active_power_quantity from s_ra_real_time_analysis_run + + + + + + + + + + + + + insert into s_ra_real_time_analysis_run + + + data_id, + + + factory_id, + + + factory_name, + + + industry_category_name, + + + industry_category_code, + + + district_name, + + + district_code, + + + performance_level, + + + device_name, + + + device_id, + + + device_type, + + + operation_status, + + + judgement_basis, + + + update_time, + + + create_time, + + + run_etc, + + + goings_on, + + + active_power_quantity_tmp, + + + active_power_quantity, + + + + + #{dataId,jdbcType=VARCHAR}, + + + #{factoryId,jdbcType=VARCHAR}, + + + #{factoryName,jdbcType=VARCHAR}, + + + #{industryCategoryName,jdbcType=VARCHAR}, + + + #{industryCategoryCode,jdbcType=VARCHAR}, + + + #{districtName,jdbcType=VARCHAR}, + + + #{districtCode,jdbcType=VARCHAR}, + + + #{performanceLevel,jdbcType=VARCHAR}, + + + #{deviceName,jdbcType=VARCHAR}, + + + #{deviceId,jdbcType=VARCHAR}, + + + #{deviceType,jdbcType=VARCHAR}, + + + #{operationStatus,jdbcType=CHAR}, + + + #{judgementBasis,jdbcType=CHAR}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{runEtc,jdbcType=VARCHAR}, + + + #{goingsOn,jdbcType=VARCHAR}, + + + #{activePowerQuantityTmp,jdbcType=VARCHAR}, + + + #{activePowerQuantity,jdbcType=VARCHAR}, + + + + + + INSERT INTO s_ra_real_time_analysis_run (data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, performance_level, device_name, device_id, device_type, operation_status, judgement_basis, update_time,run_etc,goings_on,active_power_quantity_tmp,active_power_quantity) + VALUES + + ( + #{item.dataId},#{item.factoryId},#{item.factoryName},#{item.industryCategoryName},#{item.industryCategoryCode},#{item.districtName},#{item.districtCode},#{item.performanceLevel},#{item.deviceName},#{item.deviceId},#{item.deviceType},#{item.operationStatus},#{item.judgementBasis},#{item.updateTime},#{item.runEtc},#{item.goingsOn},#{item.activePowerQuantityTmp},#{item.activePowerQuantity} + ) + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisStopMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisStopMapper.xml new file mode 100644 index 0000000..70775eb --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaRealTimeAnalysisStopMapper.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, performance_level, device_name, device_id, run_etc, goings_on, working_procedure, update_time, create_time, analyse_time from s_ra_real_time_analysis_stop + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaSelfMonitoringDataMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaSelfMonitoringDataMapper.xml new file mode 100644 index 0000000..d5fa4fd --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaSelfMonitoringDataMapper.xml @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, pollutants_name, pollutants_code, monitor_time, create_time, monitor_id, monitoring_name, flow, temperature_humidity, oxygen_content, velocity, production_load, actual_concentration, obversion_concentration, upper_value, lower_value, frequency_unit, exceeding_standard, exceeding_multiple, humidity, frequency_value, reason from s_ra_self_monitoring_data + + + + + + + + + + + + + + + + + + + + + + + + insert into s_ra_self_monitoring_data(data_id,factory_id,factory_name,industry_category_name,industry_category_code,district_name,district_code,pollutants_name,pollutants_code,monitor_time,create_time,monitor_id,monitoring_name,flow,temperature_humidity,oxygen_content,velocity,production_load,actual_concentration,obversion_concentration,upper_value,lower_value,frequency_unit,exceeding_standard,exceeding_multiple,humidity,frequency_value,reason) + values (#{dataId},#{factoryId},#{factoryName},#{industryCategoryName},#{industryCategoryCode},#{districtName},#{districtCode},#{pollutantsName},#{pollutantsCode},#{monitorTime},#{createTime},#{monitorId},#{monitoringName},#{flow},#{temperatureHumidity},#{oxygenContent},#{velocity},#{productionLoad},#{actualConcentration},#{obversionConcentration},#{upperValue},#{lowerValue},#{frequencyUnit},#{exceedingStandard},#{exceedingMultiple},#{humidity},#{frequencyValue},#{reason}) + + + + + insert into s_ra_self_monitoring_data(data_id,factory_id,factory_name,industry_category_name,industry_category_code,district_name,district_code,pollutants_name,pollutants_code,monitor_time,create_time,monitor_id,monitoring_name,flow,temperature_humidity,oxygen_content,velocity,production_load,actual_concentration,obversion_concentration,upper_value,lower_value,frequency_unit,exceeding_standard,exceeding_multiple,humidity,frequency_value,reason) + values + + (#{entity.dataId},#{entity.factoryId},#{entity.factoryName},#{entity.industryCategoryName},#{entity.industryCategoryCode},#{entity.districtName},#{entity.districtCode},#{entity.pollutantsName},#{entity.pollutantsCode},#{entity.monitorTime},#{entity.createTime},#{entity.monitorId},#{entity.monitoringName},#{entity.flow},#{entity.temperatureHumidity},#{entity.oxygenContent},#{entity.velocity},#{entity.productionLoad},#{entity.actualConcentration},#{entity.obversionConcentration},#{entity.upperValue},#{entity.lowerValue},#{entity.frequencyUnit},#{entity.exceedingStandard},#{entity.exceedingMultiple},#{entity.humidity},#{entity.frequencyValue},#{entity.reason}) + + + + + + insert into s_ra_self_monitoring_data(data_id,factory_id,factory_name,industry_category_name,industry_category_code,district_name,district_code,pollutants_name,pollutants_code,monitor_time,create_time,monitor_id,monitoring_name,flow,temperature_humidity,oxygen_content,velocity,production_load,actual_concentration,obversion_concentration,upper_value,lower_value,frequency_unit,exceeding_standard,exceeding_multiple,humidity,frequency_value,reason) + values + + (#{entity.dataId},#{entity.factoryId},#{entity.factoryName},#{entity.industryCategoryName},#{entity.industryCategoryCode},#{entity.districtName},#{entity.districtCode},#{entity.pollutantsName},#{entity.pollutantsCode},#{entity.monitorTime},#{entity.createTime},#{entity.monitorId},#{entity.monitoringName},#{entity.flow},#{entity.temperatureHumidity},#{entity.oxygenContent},#{entity.velocity},#{entity.productionLoad},#{entity.actualConcentration},#{entity.obversionConcentration},#{entity.upperValue},#{entity.lowerValue},#{entity.frequencyUnit},#{entity.exceedingStandard},#{entity.exceedingMultiple},#{entity.humidity},#{entity.frequencyValue},#{entity.reason}) + + on duplicate key update + data_id=values(data_id), + factory_id=values(factory_id), + factory_name=values(factory_name), + industry_category_name=values(industry_category_name), + industry_category_code=values(industry_category_code), + district_name=values(district_name), + district_code=values(district_code), + pollutants_name=values(pollutants_name), + pollutants_code=values(pollutants_code), + monitor_time=values(monitor_time), + create_time=values(create_time), + monitor_id=values(monitor_id), + monitoring_name=values(monitoring_name), + flow=values(flow), + temperature_humidity=values(temperature_humidity), + oxygen_content=values(oxygen_content), + velocity=values(velocity), + production_load=values(production_load), + actual_concentration=values(actual_concentration), + obversion_concentration=values(obversion_concentration), + upper_value=values(upper_value), + lower_value=values(lower_value), + frequency_unit=values(frequency_unit), + exceeding_standard=values(exceeding_standard), + exceeding_multiple=values(exceeding_multiple), + humidity=values(humidity), + frequency_value=values(frequency_value), + reason=values(reason) + + + + + update s_ra_self_monitoring_data + + + data_id = #{dataId}, + + + factory_id = #{factoryId}, + + + factory_name = #{factoryName}, + + + industry_category_name = #{industryCategoryName}, + + + industry_category_code = #{industryCategoryCode}, + + + district_name = #{districtName}, + + + district_code = #{districtCode}, + + + pollutants_name = #{pollutantsName}, + + + pollutants_code = #{pollutantsCode}, + + + monitor_time = #{monitorTime}, + + + create_time = #{createTime}, + + + monitor_id = #{monitorId}, + + + monitoring_name = #{monitoringName}, + + + flow = #{flow}, + + + temperature_humidity = #{temperatureHumidity}, + + + oxygen_content = #{oxygenContent}, + + + velocity = #{velocity}, + + + production_load = #{productionLoad}, + + + actual_concentration = #{actualConcentration}, + + + obversion_concentration = #{obversionConcentration}, + + + upper_value = #{upperValue}, + + + lower_value = #{lowerValue}, + + + frequency_unit = #{frequencyUnit}, + + + exceeding_standard = #{exceedingStandard}, + + + exceeding_multiple = #{exceedingMultiple}, + + + humidity = #{humidity}, + + + frequency_value = #{frequencyValue}, + + + reason = #{reason}, + + + where data_id = #{dataId} + + + + + delete from s_ra_self_monitoring_data where data_id = #{dataId} + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterFlagMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterFlagMapper.xml new file mode 100644 index 0000000..da13357 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterFlagMapper.xml @@ -0,0 +1,157 @@ + + + + + + select id, outlet_id, data_flag, start_time, end_time, duration, duration_avg, cod_concentration, ammonia_nitrogen, phosphorus_concentration, nitrogen_concentration, ph_value, wastewater_flow from s_ra_water_flag + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedEmissionsMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedEmissionsMapper.xml new file mode 100644 index 0000000..2e8af46 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedEmissionsMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, outlet_type, moitor_name, monitor_type, monitor_time, outlet_code, cod, cod_amendments, nitrogen, nitrogen_amendments, ammonia, ammonia_amendments, phosphorus, phosphorus_amendments, data_flag, create_time from s_ra_water_permitted_emissions + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(cod_amendments) as cod, sum(nitrogen_amendments) as nitrogen, sum(ammonia_amendments) as ammonia, sum(phosphorus_amendments) as phosphorus from s_ra_water_permitted_emissions + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(cod) as cod, sum(nitrogen) as nitrogen, sum(ammonia) as ammonia, sum(phosphorus) as phosphorus from s_ra_water_permitted_emissions + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedOnlineMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedOnlineMapper.xml new file mode 100644 index 0000000..47d22ba --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/analysis/SRaWaterPermittedOnlineMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select data_id, factory_id, factory_name, industry_category_name, industry_category_code, district_name, district_code, outlet_type, moitor_name, monitor_type, monitor_time, outlet_code, cod, cod_amendments, nitrogen, nitrogen_amendments, ammonia, ammonia_amendments, phosphorus, phosphorus_amendments, data_flag, create_time, included_emissions from s_ra_water_permitted_online + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(cod_amendments) as cod, sum(nitrogen_amendments) as nitrogen, sum(ammonia_amendments) as ammonia, sum(phosphorus_amendments) as phosphorus from s_ra_water_permitted_online + + + select factory_name, industry_category_name, district_name, outlet_type, moitor_name, monitor_type, outlet_code, sum(cod) as cod, sum(nitrogen) as nitrogen, sum(ammonia) as ammonia, sum(phosphorus) as phosphorus from s_ra_water_permitted_online + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationExceedMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationExceedMapper.xml new file mode 100644 index 0000000..42c94cd --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationExceedMapper.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + id, station_id, exceed_factor, exceed_type, exceed_time, exceed_delete + + + + update e_rm_station_exceed + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.stationId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedFactor,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedDelete,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update e_rm_station_exceed + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.stationId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedFactor,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.exceedDelete,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into e_rm_station_exceed + (id, station_id, exceed_factor, exceed_type, exceed_time, exceed_delete) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.stationId,jdbcType=VARCHAR}, #{item.exceedFactor,jdbcType=VARCHAR}, + #{item.exceedType,jdbcType=VARCHAR}, #{item.exceedTime,jdbcType=TIMESTAMP}, #{item.exceedDelete,jdbcType=VARCHAR} + ) + + + + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationHourMapper.xml new file mode 100644 index 0000000..174961c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ERmStationHourMapper.xml @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, station_name, station_code, station_type, station_region_name, longitude, latitude, + pm25, pm10, so2, no2, co, o3, temperature, humidity, wind_direction, wind_speed, + barometric_pressure, aqi, pollutant, air_qualityclass, data_time, create_time, update_time + + + + update e_rm_station_hour + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationRegionName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.longitude,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.latitude,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pm25,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pm10,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.so2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.no2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.co,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.o3,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.temperature,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.humidity,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.windDirection,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.windSpeed,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.barometricPressure,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.aqi,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pollutant,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.airQualityclass,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.dataTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + where id in + + #{item.id,jdbcType=OTHER} + + + + + update e_rm_station_hour + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.stationRegionName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.longitude,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.latitude,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pm25,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pm10,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.so2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.no2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.co,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.o3,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.temperature,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.humidity,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.windDirection,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.windSpeed,jdbcType=DOUBLE} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.barometricPressure,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.aqi,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.pollutant,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.airQualityclass,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.dataTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=OTHER} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + + where id in + + #{item.id,jdbcType=OTHER} + + + + + insert into e_rm_station_hour + (id, station_name, station_code, station_type, station_region_name, longitude, latitude, + pm25, pm10, so2, no2, co, o3, temperature, humidity, wind_direction, wind_speed, + barometric_pressure, aqi, pollutant, air_qualityclass, data_time, create_time, + update_time) + values + + (#{item.id,jdbcType=OTHER}, #{item.stationName,jdbcType=VARCHAR}, #{item.stationCode,jdbcType=VARCHAR}, + #{item.stationType,jdbcType=VARCHAR}, #{item.stationRegionName,jdbcType=VARCHAR}, + #{item.longitude,jdbcType=VARCHAR}, #{item.latitude,jdbcType=VARCHAR}, #{item.pm25,jdbcType=VARCHAR}, + #{item.pm10,jdbcType=VARCHAR}, #{item.so2,jdbcType=VARCHAR}, #{item.no2,jdbcType=VARCHAR}, + #{item.co,jdbcType=VARCHAR}, #{item.o3,jdbcType=VARCHAR}, #{item.temperature,jdbcType=VARCHAR}, + #{item.humidity,jdbcType=VARCHAR}, #{item.windDirection,jdbcType=VARCHAR}, #{item.windSpeed,jdbcType=DOUBLE}, + #{item.barometricPressure,jdbcType=VARCHAR}, #{item.aqi,jdbcType=VARCHAR}, #{item.pollutant,jdbcType=VARCHAR}, + #{item.airQualityclass,jdbcType=VARCHAR}, #{item.dataTime,jdbcType=TIMESTAMP}, + #{item.createTime,jdbcType=TIMESTAMP}, #{item.updateTime,jdbcType=TIMESTAMP}) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MAiControlDelayAssessmentMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MAiControlDelayAssessmentMapper.xml new file mode 100644 index 0000000..2d5b6ab --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MAiControlDelayAssessmentMapper.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + id, factory_name, average_speed, wind_direction, chimney_height, site_name, site_type, + estimated_time + + + + update m_ai_control_delay_ssessment + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.averageSpeed,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.windDirection,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.chimneyHeight,jdbcType=DOUBLE} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.siteName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.siteType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.estimatedTime,jdbcType=INTEGER} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update m_ai_control_delay_ssessment + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.averageSpeed,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.windDirection,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.chimneyHeight,jdbcType=DOUBLE} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.siteName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.siteType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.estimatedTime,jdbcType=INTEGER} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into m_ai_control_delay_ssessment + (id, factory_name, average_speed, wind_direction, chimney_height, site_name, site_type, + estimated_time) + values + + (#{item.id,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, #{item.averageSpeed,jdbcType=VARCHAR}, + #{item.windDirection,jdbcType=VARCHAR}, #{item.chimneyHeight,jdbcType=DOUBLE}, + #{item.siteName,jdbcType=VARCHAR}, #{item.siteType,jdbcType=VARCHAR}, #{item.estimatedTime,jdbcType=INTEGER} + ) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFacilitiesMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFacilitiesMapper.xml new file mode 100644 index 0000000..ce8331e --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFacilitiesMapper.xml @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_name, industry_category, country_name, governance_technology, governance_facilities, + administer_results, administer_efficiency, administer_pollutant_num, administer_pollutant_concentration, + operation_drug_num, operation_pollutant_drug_num, operation_pollutant_electricity_num, + management_level_time_ratio, management_excess_num, management_warning_num, management_concentration, + quarter, "year" + + + + update m_governance_technology_estimate_facilities + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceFacilities,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update m_governance_technology_estimate_facilities + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceFacilities,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into m_governance_technology_estimate_facilities + (id, factory_name, industry_category, country_name, governance_technology, governance_facilities, + administer_results, administer_efficiency, administer_pollutant_num, administer_pollutant_concentration, + operation_drug_num, operation_pollutant_drug_num, operation_pollutant_electricity_num, + management_level_time_ratio, management_excess_num, management_warning_num, management_concentration, + quarter, "year") + values + + (#{item.id,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, #{item.industryCategory,jdbcType=VARCHAR}, + #{item.countryName,jdbcType=VARCHAR}, #{item.governanceTechnology,jdbcType=VARCHAR}, + #{item.governanceFacilities,jdbcType=VARCHAR}, #{item.administerResults,jdbcType=VARCHAR}, + #{item.administerEfficiency,jdbcType=VARCHAR}, #{item.administerPollutantNum,jdbcType=VARCHAR}, + #{item.administerPollutantConcentration,jdbcType=VARCHAR}, #{item.operationDrugNum,jdbcType=VARCHAR}, + #{item.operationPollutantDrugNum,jdbcType=VARCHAR}, #{item.operationPollutantElectricityNum,jdbcType=VARCHAR}, + #{item.managementLevelTimeRatio,jdbcType=VARCHAR}, #{item.managementExcessNum,jdbcType=VARCHAR}, + #{item.managementWarningNum,jdbcType=VARCHAR}, #{item.managementConcentration,jdbcType=VARCHAR}, + #{item.quarter,jdbcType=VARCHAR}, #{item.year,jdbcType=VARCHAR}) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFactoryMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFactoryMapper.xml new file mode 100644 index 0000000..be991e3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateFactoryMapper.xml @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_name, industry_category, country_name, governance_technology, facilities_num, + administer_results, administer_efficiency, administer_pollutant_num, administer_pollutant_concentration, + operation_drug_num, operation_pollutant_drug_num, operation_pollutant_electricity_num, + management_level_time_ratio, management_excess_num, management_warning_num, management_concentration, + quarter, "year", "type" + + + + update m_governance_technology_estimate_factory + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.facilitiesNum,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=SMALLINT} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update m_governance_technology_estimate_factory + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.facilitiesNum,jdbcType=INTEGER} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=SMALLINT} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into m_governance_technology_estimate_factory + (id, factory_name, industry_category, country_name, governance_technology, facilities_num, + administer_results, administer_efficiency, administer_pollutant_num, administer_pollutant_concentration, + operation_drug_num, operation_pollutant_drug_num, operation_pollutant_electricity_num, + management_level_time_ratio, management_excess_num, management_warning_num, management_concentration, + quarter, "year", "type") + values + + (#{item.id,jdbcType=VARCHAR}, #{item.factoryName,jdbcType=VARCHAR}, #{item.industryCategory,jdbcType=VARCHAR}, + #{item.countryName,jdbcType=VARCHAR}, #{item.governanceTechnology,jdbcType=VARCHAR}, + #{item.facilitiesNum,jdbcType=INTEGER}, #{item.administerResults,jdbcType=VARCHAR}, + #{item.administerEfficiency,jdbcType=VARCHAR}, #{item.administerPollutantNum,jdbcType=VARCHAR}, + #{item.administerPollutantConcentration,jdbcType=VARCHAR}, #{item.operationDrugNum,jdbcType=VARCHAR}, + #{item.operationPollutantDrugNum,jdbcType=VARCHAR}, #{item.operationPollutantElectricityNum,jdbcType=VARCHAR}, + #{item.managementLevelTimeRatio,jdbcType=VARCHAR}, #{item.managementExcessNum,jdbcType=VARCHAR}, + #{item.managementWarningNum,jdbcType=VARCHAR}, #{item.managementConcentration,jdbcType=VARCHAR}, + #{item.quarter,jdbcType=VARCHAR}, #{item.year,jdbcType=VARCHAR}, #{item.type,jdbcType=SMALLINT} + ) + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateProcedureMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateProcedureMapper.xml new file mode 100644 index 0000000..12957dd --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/MGovernanceTechnologyEstimateProcedureMapper.xml @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, factory_num, industry_category, country_name, governance_technology, facilities_num, + "procedure", administer_results, administer_efficiency, administer_pollutant_num, + administer_pollutant_concentration, operation_drug_num, operation_pollutant_drug_num, + operation_pollutant_electricity_num, management_level_time_ratio, management_excess_num, + management_warning_num, management_concentration, quarter, "year" + + + + update m_governance_technology_estimate_procedure + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.facilitiesNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.procedure,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + update m_governance_technology_estimate_procedure + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.factoryNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.industryCategory,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.countryName,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.governanceTechnology,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.facilitiesNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.procedure,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerResults,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerEfficiency,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.administerPollutantConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantDrugNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.operationPollutantElectricityNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementLevelTimeRatio,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementExcessNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementWarningNum,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.managementConcentration,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.quarter,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=VARCHAR} then #{item.year,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=VARCHAR} + + + + + insert into m_governance_technology_estimate_procedure + (id, factory_num, industry_category, country_name, governance_technology, facilities_num, + "procedure", administer_results, administer_efficiency, administer_pollutant_num, + administer_pollutant_concentration, operation_drug_num, operation_pollutant_drug_num, + operation_pollutant_electricity_num, management_level_time_ratio, management_excess_num, + management_warning_num, management_concentration, quarter, "year") + values + + (#{item.id,jdbcType=VARCHAR}, #{item.factoryNum,jdbcType=VARCHAR}, #{item.industryCategory,jdbcType=VARCHAR}, + #{item.countryName,jdbcType=VARCHAR}, #{item.governanceTechnology,jdbcType=VARCHAR}, + #{item.facilitiesNum,jdbcType=VARCHAR}, #{item.procedure,jdbcType=VARCHAR}, #{item.administerResults,jdbcType=VARCHAR}, + #{item.administerEfficiency,jdbcType=VARCHAR}, #{item.administerPollutantNum,jdbcType=VARCHAR}, + #{item.administerPollutantConcentration,jdbcType=VARCHAR}, #{item.operationDrugNum,jdbcType=VARCHAR}, + #{item.operationPollutantDrugNum,jdbcType=VARCHAR}, #{item.operationPollutantElectricityNum,jdbcType=VARCHAR}, + #{item.managementLevelTimeRatio,jdbcType=VARCHAR}, #{item.managementExcessNum,jdbcType=VARCHAR}, + #{item.managementWarningNum,jdbcType=VARCHAR}, #{item.managementConcentration,jdbcType=VARCHAR}, + #{item.quarter,jdbcType=VARCHAR}, #{item.year,jdbcType=VARCHAR}) + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeIndexPollutantMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeIndexPollutantMapper.xml new file mode 100644 index 0000000..9b10a25 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeIndexPollutantMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeRegionMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeRegionMapper.xml new file mode 100644 index 0000000..f235408 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PCodeRegionMapper.xml @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + region_id, region_code, region_name, region_lever, region_tel, parent_code, delete_flag, + create_date, create_id, update_date, update_id, longitude, latitude, is168, is74, + is28, is337 + + + + update p_code_region + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionCode,jdbcType=VARCHAR} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionName,jdbcType=VARCHAR} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionLever,jdbcType=VARCHAR} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionTel,jdbcType=VARCHAR} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.parentCode,jdbcType=VARCHAR} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.deleteFlag,jdbcType=SMALLINT} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.createDate,jdbcType=TIMESTAMP} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.createId,jdbcType=INTEGER} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.updateDate,jdbcType=TIMESTAMP} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.updateId,jdbcType=INTEGER} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.longitude,jdbcType=NUMERIC} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.latitude,jdbcType=NUMERIC} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is168,jdbcType=SMALLINT} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is74,jdbcType=SMALLINT} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is28,jdbcType=SMALLINT} + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is337,jdbcType=SMALLINT} + + + + where region_id in + + #{item.regionId,jdbcType=BIGINT} + + + + + update p_code_region + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionCode,jdbcType=VARCHAR} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionName,jdbcType=VARCHAR} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionLever,jdbcType=VARCHAR} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.regionTel,jdbcType=VARCHAR} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.parentCode,jdbcType=VARCHAR} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.deleteFlag,jdbcType=SMALLINT} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.createDate,jdbcType=TIMESTAMP} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.createId,jdbcType=INTEGER} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.updateDate,jdbcType=TIMESTAMP} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.updateId,jdbcType=INTEGER} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.longitude,jdbcType=NUMERIC} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.latitude,jdbcType=NUMERIC} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is168,jdbcType=SMALLINT} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is74,jdbcType=SMALLINT} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is28,jdbcType=SMALLINT} + + + + + + + when region_id = #{item.regionId,jdbcType=BIGINT} then #{item.is337,jdbcType=SMALLINT} + + + + + where region_id in + + #{item.regionId,jdbcType=BIGINT} + + + + + + insert into p_code_region + (region_id, region_code, region_name, region_lever, region_tel, parent_code, delete_flag, + create_date, create_id, update_date, update_id, longitude, latitude, is168, is74, + is28, is337) + values + + (#{item.regionId,jdbcType=BIGINT}, #{item.regionCode,jdbcType=VARCHAR}, #{item.regionName,jdbcType=VARCHAR}, + #{item.regionLever,jdbcType=VARCHAR}, #{item.regionTel,jdbcType=VARCHAR}, #{item.parentCode,jdbcType=VARCHAR}, + #{item.deleteFlag,jdbcType=SMALLINT}, #{item.createDate,jdbcType=TIMESTAMP}, #{item.createId,jdbcType=INTEGER}, + #{item.updateDate,jdbcType=TIMESTAMP}, #{item.updateId,jdbcType=INTEGER}, #{item.longitude,jdbcType=NUMERIC}, + #{item.latitude,jdbcType=NUMERIC}, #{item.is168,jdbcType=SMALLINT}, #{item.is74,jdbcType=SMALLINT}, + #{item.is28,jdbcType=SMALLINT}, #{item.is337,jdbcType=SMALLINT}) + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingHourMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingHourMapper.xml new file mode 100644 index 0000000..9aea5b4 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingHourMapper.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, pcode, pname, cityName, cityId, aqi, maxPollution, pm25, pm10, o3, so2, no2, + co, date_time, index_337, is_337, is_168, index_168 + + + + update pc_national_city_ranking_hour + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pcode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pname,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityname,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityid,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.aqi,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxpollution,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm25,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm10,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.o3,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.so2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.no2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.co,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index337,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is337,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is168,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index168,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update pc_national_city_ranking_hour + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pcode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pname,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityname,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityid,jdbcType=INTEGER} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.aqi,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxpollution,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm25,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm10,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.o3,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.so2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.no2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.co,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index337,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is337,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is168,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index168,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update pc_national_city_ranking_hour set index_province_city = #{item.indexProvinceCity} + where id = #{item.id,jdbcType=INTEGER} and "cityId"= #{item.cityid,jdbcType=VARCHAR} and date_time =#{item.dateTime,jdbcType=TIMESTAMP} + + + + + + insert into pc_national_city_ranking_hour + (id, pcode, pname, cityName, cityId, aqi, maxPollution, pm25, pm10, o3, so2, no2, + co, date_time, index_337, is_337, is_168, index_168) + values + + (#{item.id,jdbcType=INTEGER}, #{item.pcode,jdbcType=VARCHAR}, #{item.pname,jdbcType=VARCHAR}, + #{item.cityname,jdbcType=VARCHAR}, #{item.cityid,jdbcType=INTEGER}, #{item.aqi,jdbcType=VARCHAR}, + #{item.maxpollution,jdbcType=VARCHAR}, #{item.pm25,jdbcType=VARCHAR}, #{item.pm10,jdbcType=VARCHAR}, + #{item.o3,jdbcType=VARCHAR}, #{item.so2,jdbcType=VARCHAR}, #{item.no2,jdbcType=VARCHAR}, + #{item.co,jdbcType=VARCHAR}, #{item.dateTime,jdbcType=TIMESTAMP}, #{item.index337,jdbcType=VARCHAR}, + #{item.is337,jdbcType=VARCHAR}, #{item.is168,jdbcType=VARCHAR}, #{item.index168,jdbcType=VARCHAR} + ) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingOtherMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingOtherMapper.xml new file mode 100644 index 0000000..e8c586d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/PcNationalCityRankingOtherMapper.xml @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, pcode, pname, "cityName","cityId",aqi,"maxPollution", aqi, pm25, pm10, o3, so2, no2, + co, date_time, index_337, is_337, is_168, index_168, date_type + + + update pc_national_city_ranking_other + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pcode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pname,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityname,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityid,jdbcType=INTEGER} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.aqi,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxpollution,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm25,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm10,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.o3,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.so2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.no2,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.co,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index337,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is337,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is168,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index168,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateType,jdbcType=CHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + update pc_national_city_ranking_other + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pcode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pname,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityname,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.cityid,jdbcType=INTEGER} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.aqi,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.maxpollution,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm25,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pm10,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.o3,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.so2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.no2,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.co,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index337,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is337,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.is168,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.index168,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.dateType,jdbcType=CHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update pc_national_city_ranking_other set index_province_city = #{item.indexProvinceCity} where id = #{item.id} + + + + + + + + + insert into pc_national_city_ranking_other + (id, pcode, pname, cityName, cityId, aqi, maxPollution, pm25, pm10, o3, so2, no2, + co, date_time, index_337, is_337, is_168, index_168, date_type) + values + + (#{item.id,jdbcType=INTEGER}, #{item.pcode,jdbcType=VARCHAR}, #{item.pname,jdbcType=VARCHAR}, + #{item.cityname,jdbcType=VARCHAR}, #{item.cityid,jdbcType=INTEGER}, #{item.aqi,jdbcType=VARCHAR}, + #{item.maxpollution,jdbcType=VARCHAR}, #{item.pm25,jdbcType=VARCHAR}, #{item.pm10,jdbcType=VARCHAR}, + #{item.o3,jdbcType=VARCHAR}, #{item.so2,jdbcType=VARCHAR}, #{item.no2,jdbcType=VARCHAR}, + #{item.co,jdbcType=VARCHAR}, #{item.dateTime,jdbcType=TIMESTAMP}, #{item.index337,jdbcType=VARCHAR}, + #{item.is337,jdbcType=VARCHAR}, #{item.is168,jdbcType=VARCHAR}, #{item.index168,jdbcType=VARCHAR}, + #{item.dateType,jdbcType=CHAR}) + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasAreaTargetMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasAreaTargetMapper.xml new file mode 100644 index 0000000..e3f8d09 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasAreaTargetMapper.xml @@ -0,0 +1,75 @@ + + + + + DELETE FROM q_envgas_area_target WHERE region_code = #{regionCode} + + + + DELETE FROM q_envgas_area_target WHERE region_code = #{regionCode} AND time_type IN (5,6) and fk_factor_id = #{field} + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasStationDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasStationDayMapper.xml new file mode 100644 index 0000000..684a98f --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasStationDayMapper.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, data_time, station_code, aqi, pmi, max_ipmi, fk_aqilevel_id, so2, so2_is_over, so2_max_value, so2_min_value, no2, no2_is_over, no2_max_value, no2_min_value, pm10, pm10_is_over, pm10_max_value, pm10_min_value, pm25, pm25_is_over, pm25_max_value, pm25_min_value, co, co_is_over, co_max_value, co_min_value, o3, o3_is_over, o3_max_value, o3_min_value, o3_8h, o3_8h_is_over, o3_8h_max_value, o3_8h_min_value, temp, temp_is_over, temp_max_value, temp_min_value, humi, humi_is_over, humi_max_value, humi_min_value, winds, winds_is_over, winds_max_value, winds_min_value, windd, wind_level, pres, pres_is_over, pres_max_value, pres_min_value, iaqi_so2, ipmi_so2, iaqi_no2, ipmi_no2, iaqi_pm10, ipmi_pm10, iaqi_co, ipmi_co, iaqi_o3, ipmi_o3, iaqi_pm25, ipmi_pm25, iaqi_o3_8h, ipmi_o3_8h, tsp, nox, tvoc, fk_pollutant_id, create_time, update_time + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqDayMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqDayMapper.xml new file mode 100644 index 0000000..cdcb5d1 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqDayMapper.xml @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, data_time, region_code, tsp, nox, tvoc, pmi, aqi, fk_pollutant_id, max_ipmi, fk_aqilevel_id, so2, so2_is_over, so2_max_value, so2_min_value, iaqi_so2, ipmi_so2, no2, no2_is_over, no2_max_value, no2_min_value, iaqi_no2, ipmi_no2, pm10, pm10_is_over, pm10_max_value, pm10_min_value, iaqi_pm10, ipmi_pm10, pm25, pm25_is_over, pm25_max_value, pm25_min_value, iaqi_pm25, ipmi_pm25, co, co_is_over, co_max_value, co_min_value, iaqi_co, ipmi_co, o3, o3_is_over, o3_max_value, o3_min_value, o3_8h, o3_8h_is_over, o3_8h_max_value, o3_8h_min_value, iaqi_o3, ipmi_o3, iaqi_o3_8h, ipmi_o3_8h, temp, temp_max_value, temp_min_value, humi, humi_max_value, humi_min_value, winds, winds_max_value, winds_min_value, windd, windd_max_value, windd_min_value, pres, pres_max_value, pres_min_value, create_time, update_time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqMonthMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqMonthMapper.xml new file mode 100644 index 0000000..130c683 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqMonthMapper.xml @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, data_time, month_time, region_code, tsp, nox, tvoc, wind_level, wind_direction, pmi, aqi, fk_pollutant_id, max_ipmi, fk_aqilevel_id, so2, so2_is_over, so2_max_value, so2_min_value, iaqi_so2, ipmi_so2, no2, no2_is_over, no2_max_value, no2_min_value, iaqi_no2, ipmi_no2, pm10, pm10_is_over, pm10_max_value, pm10_min_value, iaqi_pm10, ipmi_pm10, pm25, pm25_is_over, pm25_max_value, pm25_min_value, iaqi_pm25, ipmi_pm25, co, co_is_over, co_max_value, co_min_value, iaqi_co, ipmi_co, o3, o3_is_over, o3_max_value, o3_min_value, o3_8h, o3_8h_is_over, o3_8h_max_value, o3_8h_min_value, iaqi_o3, ipmi_o3, iaqi_o3_8h, ipmi_o3_8h, co_95_percent, o38h_90_percent, temp, temp_max_value, temp_min_value, humi, humi_max_value, humi_min_value, winds, winds_max_value, winds_min_value, windd, windd_max_value, windd_min_value, pres, pres_max_value, pres_min_value, cal_type, create_time, update_time + + + + + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqYearMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqYearMapper.xml new file mode 100644 index 0000000..91b3b7c --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QEnvgasWqYearMapper.xml @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, data_time, year_time, region_code, tsp, nox, tvoc, wind_level, + wind_direction, pmi, aqi, so2, no2, pm25, pm10, co, o3, o3_8h, co_95_percent, + o38h_90_percent, fk_pollutant_id, max_ipmi, fk_aqilevel_id, so2_is_over, + so2_max_value, so2_min_value, iaqi_so2, ipmi_so2, no2_is_over, no2_max_value, + no2_min_value, iaqi_no2, ipmi_no2, pm10_is_over, pm10_max_value, pm10_min_value, + iaqi_pm10, ipmi_pm10, pm25_is_over, pm25_max_value, pm25_min_value, iaqi_pm25, + ipmi_pm25, co_is_over, co_max_value, co_min_value, iaqi_co, ipmi_co, o3_is_over, + o3_max_value, o3_min_value, iaqi_o3, ipmi_o3, o3_8h_is_over, o3_8h_max_value, + o3_8h_min_value, iaqi_o3_8h, ipmi_o3_8h, temp, temp_max_value, temp_min_value, humi, + humi_max_value, humi_min_value, winds, winds_max_value, winds_min_value, windd, + pres, pres_max_value, pres_min_value, create_time, update_time + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QReportTemplateMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QReportTemplateMapper.xml new file mode 100644 index 0000000..cec538d --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QReportTemplateMapper.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QTargetConfigMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QTargetConfigMapper.xml new file mode 100644 index 0000000..48ba7ca --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/QTargetConfigMapper.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/RectificationEffectEvaluationMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/RectificationEffectEvaluationMapper.xml new file mode 100644 index 0000000..8e11ea3 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/RectificationEffectEvaluationMapper.xml @@ -0,0 +1,42 @@ + + + + + + \ No newline at end of file diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ReductionEmissionMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ReductionEmissionMapper.xml new file mode 100644 index 0000000..eab1e08 --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/ReductionEmissionMapper.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + diff --git a/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/SEnvgasPollutantMapper.xml b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/SEnvgasPollutantMapper.xml new file mode 100644 index 0000000..53b1aee --- /dev/null +++ b/szhpt-fixed-task/src/main/resources/mapper/talroad/effective/SEnvgasPollutantMapper.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + pk_id, fk_pollutant_type_id, pollutant_code, pollutant_name, unit, serial, decimal_point, is_used, is_pollutant,field + + + + + + + + + + + diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/DeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..2177989231c4d902ecea4c2925b8a158b0e25b36 GIT binary patch literal 5176 zcmcIo33nVv5&n9$(yUiwNm*a`h$1Dj&e-DsCWmAvvMeV{)(-Is2S<=F+G(%Gnw?qC zAw>b=fP)jvVQw&II0FQN6M`JuI5uY>>*hsp!YQ0)m>d(^;LCM z_rCt`ORoZWH{M8N7$1;uG=+!LNMJgR58^`-9?8)3u{2~9Ghm{ph&drZP&8js^6X?zqPOW_I8o=o9MG5B%u`9unjh`mn=;#3Mx ziT0BzoEGiVDLfsWrnM!qa0HUu4OMOYGr{k?zz^2ZgY*qwvFkg?(Su185}yokeskIPO9c~lOOU* zGu)n1X*Y&U&MK(J5!KcO9S$blS)I1u*Jy^Ox+-m{8jB7m+nhPY=BlA+zWGXk!eJW8 zb6WsHifpXiV6hx+a_`%gJ~lNqx|glyxRI8+GmZy{!XXtD@Wy5onf@O31n40d} zsrZqgbatI`n9M_U-R7)@Yb!l~moVrY!%g?XKH>wd>aA zU9~Vru@$D6>|60hlTZ>-v#w9$4yO!e=#TRNz&?iC;~}G)^VS?!C@lqCTEG_hJ04b) zI}P6n!rOi>@n@HlAmJ>-;Mmk%G2Sph_cjiZFY}gX7x)2PWZ#X|qZ($+onl8B3U)DU zsqP*YiOR8{K(EalJ-X9ldWO*})_z{X7i4@9Um_G%jz8D3j5*y^9IsrqY*)!2@XUgU zM~bt3mgUl+P|F9oJ8Nl9XB)oUh0~p__(~VP+Cmk%ReY!lKZUQ!_&Uzf)Hfu2Q^vP& zM#i`C9ft9h_g_W)%NW6}622?rS$t2%_wfT#M*Tn6e-mW)e+aeb8LYg5|I)iB5!1~00{xLx#0+;n5%(495sDgL#d zAa;AIC&Ir>Fx=Cq#eY}JDI%(h1Qyl|1+|c2L;T!@1yWo=cCH)=Q6z?0j}l#bV2Ym$ z872vwl_jhqmPXUKjNhbj1+V%Eq7jq&oEI-8p<5Y7ud7RBO~bjObk*i?gX$N<$-(LC zn6$i@{|y*daJ5-{)|W+wgs#ztpP)Nw+`SBq;lw-6d(oHN{1Bm7vHO_eCElKVGRQ&Y{} zbX6xfssQ`iH42DZR4AjA2*k?Ko6b z&Zb`Ot!9a3Y9_-Clzp?MvJq64L-ev?NX@FwZ17B>H%pfEX-daI)@n z{Ah+E1JmwPP0ip=U$8K|{>Q6K>;%^=oTB&I=yYs0fx2)_R=pG!*qk9)G97H)b1dv zjoO{mO4QOlkiNGOHBK#~wsrUd*o)L@!8_?In1N2bi@tKeK)<8xCh9#kBew%d$}PB) zcb zD`-t#LEF)mOQb&XOGsV98en7z=_RyZgM4uKWvspRB03T{wBsT=8C`w4Ko_MO5_Gr9 zT*SHru3`Oo5}ou7>=uFur6eKLLHOKA*!26j?7}FiA`BO^q)KSG=pDelr1&lj;67x9 zvDk+9;(h{6z|uo)z)!G*T)7I@L7F{8<1JtvAyyA`rSU#INFvF0b_Y!f0dEd3VM8vl zhpgN9Jki1*iBsmuDQX9<{C(hQYB!H$HZ9>D=diA2&vWP)$!zwi*5saTVhLWL|Agq! z-xm58-qc9$mejL2OYPRowk6zn4yUN!ow>>HFHpZH)9d%=sDE?j7Qg=}_4_j0{eIqe zz-Hi5?{RAEx+HF@pj$ P@Q|7fsS`9W=Is9f0Zt%{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/ElecDataDeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..64613f788c8eb21fc729f2b384050b09a9d33fe0 GIT binary patch literal 8279 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 Q19@TYpxbj0Zo*Ig3s#_h_5c6? literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/GasDataDeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..972d9c5836316ed00dbb265a645d6cecef484783 GIT binary patch literal 8330 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 CIrDS? literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingShDeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..f39844321069f01de36ef10c2d94f6ebdf9b56a6 GIT binary patch literal 8511 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 Ie-k(T55+&o{Qv*} literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/OdsMeShingWeiDeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..ea573b7045269af9b6b27b42920364b2b4e78344 GIT binary patch literal 8528 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 Ky7Rw{8~zUieb5*H literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/device/impl/WaterDataDeviceRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..f2ff109df84fb9c451581e18b24e5546598869fc GIT binary patch literal 8370 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 Qa@3dbWqidQ{}gWf4-h7ijsO4v literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/ElecDataRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..ddbca127d059ce72e706fea4f6b823a54767f81f GIT binary patch literal 8046 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/GasMonDataRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..0c357be9545d259a3f05b167903bd26ce4b66b23 GIT binary patch literal 2951 zcmb7GYjfK~6g}%aTsvxT(h_K)(1s8ar*tW4=_6^tY0}`TSu)Zp z#ozczz%b!41Hb{3Bqt{m?Q(>`#WhF@2vW0!5mZSDwfSG3#G zWw=wR+q^F8vdxvSTt_r`E7;?xLctp+-tk0 z-F)VXmVD*7FZr<)w#T1|x^mnO7d-=B@|E+-bY+9w&UoAQ2?0Em!s>!t849vGc$hp) zuA8>0HWyn`4zW1fu(Q6EwOO+SmL~vi37O$9| zT8queR3_%ju>*ktIc!Mny4)a)g_Lbi30Ku9EB)JndxosE8{y_$Kle_%%YR|O>3TS~ zgx%y-rSrMAp@~(^rY)53QlK9PiKW`a{EkF+JtYH9i)xuiIVZujumPOuK;;PiKnZX$+IrH!Wl$>5__Gb$IOM2*VyZ0g}Z;;8ZmjE;L=oZ-=&;hX%lKb5P58 zQ3N#*=SA-a<>Fi;syl}JBQP2&;$MTY)ASf(oroKhdVkdnAWzXH;U&?V8bjjinw)D& zRdJeTeftM$XF(^@mBz5XG-@qH5aYP1pM)uA7}*WOVx(o@Y5(|ztgE$D=ijA3OVpf8 z^}%(KM4jb-B!(ehb$qujADO!6T~6&(H*~f%zqGFHDd|c_QH$W+#%ACGE*dzG=`3~( ze2ub!$9R%O#lSB1ve-9pfTsoy^-#qV5@fVg8sPYhdS&u-x+ufDFT?7nPGZWE2nj1` z`z?X|McEsaD?KV<;w5ImDETHA}@BUQ8Fe9izYMZYOYz zaxc?`?@5cQt=kJXJAJ?z7UGo|b@cd~8C^6F65(~1>A(Mmw?c-gSbJlbA8ak%m*MO( zBsrDy*mLX<6MYDfLe%3;`dFY_M_*gGMqf4teGg^mN5u!a)oC_K&qA;|gV}*Ky+^f5 z$z{*4ilZX|tbo=$xf>@Lv1kFgj_6*51dDR39xJhVN14MJ7b%dyZJU$5!b)$zXOTFmJ^sk7OD7xmW zeJ1(t2i~uSyD`4kdwezXOu#b4kim6)O8!Ds=4mhFdxO^Kg{M&~e2<=*@5IU}&S`3y zn8>vlrHNk938MQsSfNC2RwFm7WT)NaiYxyhcZ&R=t3u!^%ycetH5MVdh1)^kFM6eQ G2lx-N!zUvE literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsDataRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..c453c4971ffc6116fc9e0417a38ce89c0b642b6a GIT binary patch literal 8550 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/impl/OdsMeShingWeiRealService.class new file mode 100644 index 0000000000000000000000000000000000000000..b17f56dabbaf3424a6302b4dd63e799317c21f02 GIT binary patch literal 8470 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 HEI#)yUN}h+ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/data/analyse/task/real/outlet/impl/WaterHourOutletService.class new file mode 100644 index 0000000000000000000000000000000000000000..5506f118b40c0ad7fa3f7bad3e02a17894bb7206 GIT binary patch literal 8327 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 SX0`VH#kcJN_<*kyAb$Ivb2B$Hw=}<8E7{rS z?C;z6Joet_oV@ejS56Sor|2(X`f-#5{e;C+QR=6sS=-Ozr!1af@hppv0_zn#X?z7&tR^YDc@|30GhF?mdwiW+)#1Y z&Tl9c$L&((7WfJ7u<{eOAZ_~PWA9BKsGpV?+*x0j2B%&=9l zw&n`M9+#PQFl@3*IV+#L)n<1SJz(DKvyC}U{l%5Y|LaZ{xP%A6CPT;xV8TPc=q z8Ng_gas~2MVI(7=0BF<4Z=Zg7ACERtmh)z8;^ZTHW)JT^dB@S|SMO(IXuO!uvn4kB z!V|NPJ#_NkXSh42{I9phFm+uzn|bj5llz|+lo`wxGFdxok7p`YzEre^Ggyx?EI_tc zvb~dEy)$d)F`7WZ@zV-S4#UQ5HWYJ(iu9iJj>-Lo#^aLqrn!;1#uj_0ot>!UcG#OL zR$Lm?~CA?UJA{yG--`X-Kn&|MKredjSqUASD2F;%)dge_NZSOR-iaLi-BsUc&N?ChN zj%!;-eW^N+Ph>%7o$ioDNjqDW=KG#Pfu4TtiP_r^^?R%J%)xy#_e=>or|!h@Es{Fj zL|5r_7kx{o^{m}ZyL7sT#l0-1) z`yk9f|JxKZ0&h{ve$xAmz!U{sM9>TZ5;Q|bkTIdRD7l~FM$ia(Kp`^>P{`DbFoQG& z3LBaS6gDFOh0UlDVNg_oB1Y5$(##k@nyDKx2I&d}%>#;X> zCV--5v(dz$W(8_8nmwSH*#c0^Od2f=N-9u`k@SFcvlSrSY%^LJ)TThKMwEXfzo0RU5ma(S|)bWbqBGwCbPqBKPx(hbmJbe#T87BrpyMt`NP(BkwDdY7`$5*XrP8iv*+ zLUf31XwBkmROK6?wTNC+?-6K8v5vOWD703w0jM0bHc>>fY=hP=CJ_DGp{2wm>O&q{ z2SRocjX~?A0;YT?rNi3$ln7Jt14@Ny96y@)fI6ib`G2TbQXEw>%jjbKZNR{SoL;x zuR;ssj`1jc4Vp&JA_TtiflRtSVD3GpF5Uu`#VM>_>wfQt#t?^3Xk2UbPa_9}3AKDdhaF(`^wN2#*>ZHgH2 zBUZVmG%I@a6!fZxk3uLXu~R##`Z*0qxzaz zKID#Cvgu34gUW~8SxdgmmyCy)580?CU*Su}1I~whMlJbDUoswkKIBEUZHu7!NJ$JxneB!7b16(A+s5QtuW)57DHbpX5UQ$k&aa@A>;_U8o=V7!vfbzn`{+ z`jKxZL3{oEv@g_;d};~$zQ3Q;LjA}GnV=u|`{`JyANgz(w9ns9=R*C+$DN=@{QVdU z^&_8vf_~`l=ZuB=kq<>dKl1mpXrX@OyHfD~22?zsKvr-`pFBp3uRB5?OP)DJU3@*A zq9w_*q>fu=SMuXh$F;I6xm4<5*3(kQ#jz`Sw$yP`>`I;^bzBX*lIKbtcfqb?x72a@ z>q_=W9k;!%B)-Yt#nY}U*$Xj6eYH96J%T1xmNw91&RO%g^WO!2Mn8dH{CDBW{{iJm Bp>+TN literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmProblemFiVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/AmProblemFiVo.class new file mode 100644 index 0000000000000000000000000000000000000000..995e5bbcd41d06acbc1efd2628f418ef469282d6 GIT binary patch literal 15559 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 OTfdo3Gba9Ks{9Xbc5bl% literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesTypeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..ba26f33e67560551d38afbefd831f826f9881e3b GIT binary patch literal 3661 zcma)8TXS3075=uZbFp;nI5N2iOdA>lz9KucT;wEelA6|Fn>0yHxt0_8V4p;hgmi4k z8-Y%e(w3wp({|d21Sa5i2#^e^ld(Mv<$=!d2lxR*R`SFjfWo)WKDt;wGkC^cXRYqcUY3NBvX<&5_mz9=@yDJlDLu_k>sc( z83V_nXvegPto-IoA zEVbLx**}%%FDqceK2`(Di}R(^?=fBJ;d&V&eL;fUi=QJm9%Nb3+*3$By{ zWyG6t8LWRSolT~lw3APIcBYWCr;>BIE+JiD3m zW}E`^mSMYOGfiLPv+cfeRdY8gbd}Dkn5l}kR!xEmS724w8XU+KIH+!0&0Uqd^`K{` zkB-}UzXCi`{-B#_J3AsP%N@_y#Tiw^=I)+RCbj>-==cb;Ca)Kq;%vqfX!cXGx>jx7 zl%m?E&#Eo8_*%8PzSGUR-fsGL_e?VMwBwDkO1E|Q)OE9Z$l3^x)E|bZQm7>YK`jys z5Ved}RB=}gNf1`9+eUnKV5JBGDKpue@?Xo!gZQr%Iv5f#Luon0c0aj%#&_#fiS_|AmfYn<4KdAU>gCE4T4QU+=rnBA5F93-J$V&6oNx|4)j7Db4O2nj*6&R7L7)35IwPy5_>P#4XSO-Xdr&7j!NK#_*7{n0q zP52Z$sB1zOKEnOfHM3Cf^X(r(1i!#p{DhpwnSLD)kkgUDQ9MY_KmiUOB4^^ycmxlV zYr)@m1XARpSYTs^$;GhD-tQ!5VHa24gScUSjWz?jzrkh$Kjoh(zQI<-wtPR!jq#kR zZgN@vW?)!Nwo&HZv?lk>%AlIN#*Ag|LY_qxM%}28K0L$5o9%t` zFa{RT^1Re*sfYv;kpMB}I4DR@X+FeB@SV(rR)LI^?n8PN;(RDCGiCS?M^e5O3*~smfVGCs=ce8=NB&YF+@4zTI9UiveQF4ag zmM;M(|GX#De9>-d59QDKqOoqp4U2h!qA_+VZ9;a=+anu7Q@SE^B8`c{~y>~*s+d-Y@ zSYWr~Fg!boGUQhWp?P|Lk{N0REN$ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrEesVo.class new file mode 100644 index 0000000000000000000000000000000000000000..325f1c1ac73b2eccbc4fe0b7648c1935e1d82310 GIT binary patch literal 6124 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BEnterpriseIrNotifierproNoticeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1f88b7cfca2b5b9dade3170f087e3c94e741a810 GIT binary patch literal 4933 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 N)BieS<);6Q{{d(zA7%gm literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainActionReportsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainActionReportsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..2d42981f997cc644b504bb7f3656aee2d20485b3 GIT binary patch literal 3491 zcma)7TW?fV6#jNQ=hErvZAzh|Rf|-e-Wb9A6wrd8)wW=ZRq)2?^w1s{W`>#5B9A1- zDEJ_Wi3u?pAG9xMBx)f-4ElhHf50DLLH!RRe*5gx&Y9^+Xfm_T+G~Al?Y%C0uiyXs z>1P0s<6Q%9#Ub#vB=5v=4~|IAmSkFztRyp1;Yf0{fy-G*<|J_?IVQ<*1GzX_an!^K z`OTXsm?)Y!X`*DJEM=a7d4W22Mj$bI%wDk5IXgd_p7cs?es)M8IWeF2+!M}}TXv^& z&Tu|o@NCa5OCwF+r#q;w2ZoW zXMFy|v{O20GhCUJLe|br*(F!517XaYbLp&aG@DOnovc$#dv>l=uxHW>h4k(*+szMW zWsW9PBvS<@KoqJo9Bj_a6udd7Bw$FVJu(BPFY(!CUl>YMi_(Q8tv;kGX>AHrC98({ z>8pYHvMQL$Wi?F6nkGFvdwk3;`Wa!v`fX%p?fhPuX~r;Tm*-Sc>r=fW4D-Om$k<-y zfxKRF%JVr-pxzHM-V+MP>Zv+*W$7Ppb*YY_?{M?3w~LNay;Iy{*70OFZAkTo%Dmdk z7S;PIJ=e@-P$AW8VS&F}NTBx9%4&nEHVXX916b6Dci^&mhmb(+P!XsdOs}B)3B)H0 z^QEk#YoxHo>Wf7^C1@3uvg5L34E8Vi)^= zfw%yz{$l@ih_QjbCDi##GWFvFB$?RYZ)i-$ZlG-u)?hNWgxCr~%V>mX89k{RfIF?x0A##nl#@g>7XJIFI z9!A12|3$NbUAM8(z_a|B;x;-J+i-W52jg{9)#SFE#B{64GRoNN*2KP10ajzz7_p39 z$SbMbh-G3-TAynj+7a97m%giYXpV(9Tl*Jb3@)MJh?HxYm{cTVfyR{Wpj3KB^HuBw z-^fgAD=H(S`zn1^#r{xMX2$SUY>mLm@Ks&Wg`7~w41%f02iSw>8H9%Sv6oyOQ-6l# zkcHfWIhIfsau*BuA~}s$d^<+S>F}@#FOf6+viyno9SUMBix4aYgt$W&m35sIbU<4H ztYBi*q5!6cU=?JoGyogb;0iuM5tx{3Oe$8&!EH+c?D_|*Tpq=KCQ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionAirVo.class new file mode 100644 index 0000000000000000000000000000000000000000..12c96910e151e384a082b86a880c2cf5d8f8f0da GIT binary patch literal 11770 zcmdT}dwd+#bv}2rkI`yZ+8t>nk1flRE!le6o6t0E#y~I+rKT3R*mVnO)2!u1S`b>Z zS{X>&6i8B_O?U)1G(3{frZ^85a013)N*-+>P2Wx1v`tBq)RIjfNgwo)0-@iTd++XO z=GtC6fA#m1&Yrp7_nk9y=RRi6eC7MkJV!)t5``rFV~Pa*6Ptfd(Z%#H?0tvLciH?a zn}1{T?`-~q&C6{5lg)pz`ENG=!{&Qz{+G=wY+hya8k_I4c^%;eu@S8#gvF+XO^i*P zO@d95jm@T&O^Qt$n>3pYn|3xGY_e=}Y#cV7Y`T&npQ3RD5#9XTV~Z8GaBZ>D7OQO0 zYm3#k=(EKdTlCvvz!qz5vCbBQwivR-dRuI;#jq_#Y%$8}v7{ImWR>>_a<*Ml+*d5j z7U!l5J8ISP-1KHa?iCAjweoePUFG@m?%C3oxw%TMSSwfN<^_#xD_08hHx#F*OVvWL zffTmvEl*bVlxDYAD|<`T+D(WP-&dSnC<(HU9Xa~a{zo}q>(#}nTBUl^R`~X@XKy)n zWEP zF5doWLG6|5baAfyuF{@~YI(jUXlU_$pIE%})};sUIDYiK$B*8&bms?`_CL3D^U)KJ zKD_bx!Gp(++`Rbo69`oo?kG)F=8*8T%4gp1D;p_y&XlXo2#?$mN;y$ksMcmqpK|em z2SO<)%2zidJoe0fU)WimQ`hO=#!w&K_pwv=QP*;HxT8)gR~;2f9_p==s#R}=l83wO zWOChQq2!@{JDFPdTdIbEKdZW{TMntkyKfJTp*EkTyCq6f{UC#>%a5|u^~zxSG9xs7 zUFyu_Fo>}9`6o)(FBE4nYxBc_d4BosYf4kK%_CO{id}>$i&?O(JXgAG;kwdqo& zJg*Ctsp9OeVztc2sxelZDI?f9+ot9UQ>CfW-U523S}E=+?5h+moGg~-w#?2}ZeYcB zJ!`j=tGg;#3q)o4Vxvw1i$tY1Q>qF|a_~W(^0wdNyX}5sV9n@|SfE8x0_%sO1X{ZN zD29ckM@BOsoxY^LIH)1eCHax&N1V_G-k-Buh*DQgQk4y(vA5P*5T*#C$;L0 zth}maO%0O1yj*~#+XAuF)dXYdrbaA%>cLpLEf7ncX)u;*%Iv5Wr>>nW?)B#^o`w9q z-kvJXUBYVtX4gz{enw9Fmf?}Dn1I`_*gAO$W+?nbwKTsli~Y03pMI&qz(h+82Bwtb zAB6Yi!SKw;Hd^XE(rD6`-)N~{YM@E3ab1JPv6v4v>nvfqN)@K-d||rk%(lVcElsvI2ELt&}I9IJZ1kuAPr=9Uj?*9-l7N_(`X0cqFha*B`&qfF~M{Nqo4y@p#mw z4nuvPL-XaKhae}|rcZkrQJwrUqP~P>MAaePh`81CEYTAIbiSxWC5=jS=BPvuZe-aR z*pl1zu}+rJ4Jt>SphMRQDq?(I-il=#q`DJ)tJ1)O_X3B(d!Y`)_X5q4dl78Yr<)5l z>U$Av)2F?RsP6@c=6ewVbiVEgqVGin(3ztWeJ>zcb}#g?PL|OP`d;W`9lB0X5$#$< z_B>vxcHq%?sx(pNXOV$ZJz8wy_ZM(Z_gaESkTL)9pWiKBy6vuwiyuF*^!Wb3dw~K@ zJaWs@p<4yL;Y=TL()1g&H%-4o&!wrt-sjl+Jex1D`68R&W%GM%zQpEvHZQRGGMnFL z^A$FKz~&Fx{1KZ!X7eX({*=vc(#O+ul%7q~B{Y$yA7?Yk=5jVa!Da`WpJek>Y_4SU zb~ZoD=I7WH*-Wu1v6*I5W^*l@>u5qyPx$Td!iDne9)4WwKh;ecF7G)nEjEfxm_XzG z^*!V~|FFJ`;IM1FpAVPKA2jF2`a)^b9{xAy>QBsytCQqLTb==7QK{>JWttnKQ!o=g*T4o#?s)&w0C1@uZ6*@o18-b@21b6kwVN+(%7*l_eV9JS&1$MC;(o-PG|0T>0g0l=V) z0+#{6K#c<10buY(fhz!DKu3X{05Hg-z%Bq7_)*}e0bnvjfvW&uf<%Fz0f0#p1>OMw z6DbP3696Vx6xa;_6D|tu0f0#u1+E5wi5UfE0AR94folL@0!M*a0GQNKV2;Mnh$Rd5 zdZPG^AdV1OFOH2qLh;zau`iIgpW-bC$39PDa(whKS^goMmdnOryx7JUsLhQ%Pq_n> z-sr{-Q%p1BUL2ITmvH0ENjy)^0m`^>HxVEuyd+2o&vuhcvK1-m+5uA1YXvFkrQB8~ zr4*^vO$A7{*9Ma9rQJ3rr4az5vPb)_~-A{q7nj^()dEw?9DY^aeoc^wzoqOj@f*1Mb=Ysmogj zQkOUAu4B@mBCT@=1Ejn+1XA8x?+!6(y&?^{>jR{2Zv#l(-mtrYNyCb?!5!A5*g>pf zEmVa~VAvC7X`Vsop@Je%&Zw$U%aYo+_F3A!0xiVj;F=oWZw^sF^N zx57))*DZ_Q1204060g#G;kD!S>_vJXybh5NU!z}!mlZ?e2;BxRC&t8Q=yrIHxK!Lr zcfjiu+rKwH)6%RAKsvKA6BIY;0;+1(FOD%y!F>8>WxqmVBMgP1>(gdy+o(8g(b>Vf@+RHCiFv*8k5gh7ukj+Lcc$j+L z$?b73#(*1Bh|SBmgc4rdhp>YCBHN8?DCs49C{c&7u1l5eC4C4>x>6-I)auzjWY-}q z^iq}bT73v>yi&DlsLf0HP^u1L<(I0o*XBc5^p&bjLm4maL+Lt{)=;~b@geL2N|n)2 zhu7{y?R5xygUprnI(!J*f>L#8DCcE;C|ifHSxA-R<$MVHgi_@+)af}sHrbkld~Gw?FvjaXDZ3$I;lqo?T!cpYLIOTd%x zvf@@Ojfdgo#6vVgPr-Ar3{KJ!c%9;_bPhDU=zWKJ=oxrGBet0E_tlN)>kpd@xg(omT(C2Tbb8`_h?N}f82 zybBp9>NN0R*vx!HQsbYRr$1;EoD8;6)am527!~l#?;7#Zr)b5Y z&?8-rUqJBi?-SHsEV!B&5kEoh;~}wY6r%uX5U&i2`;1}~E)C*UVewj{7zIy*xHl|b zZxo|YY7nmui${%O6j%-7zOZ7bf zvO&ByEI!{TM&a2YUKbW$XcVJhZ4eKJ#S=y`3f%_rP*{AaQH%n)LA*XJzRV~_Vcj6! z5Efry6r&(-5D$mNyNqHK@(tpVu=pyY7#{!(;?c199Y!%e92mr7VexLG_|NFimDt1U z0Kb+dM#r8c*Sv_y_fotL$SMk63}oe4&{xfIRyG?)7McZK5RB)us@XWQE-mOU&2f60 zjU&t0g8s@JXLYl2WYt^H*UWMHnvEli3LZy=aaz*lZm6`9R&Bl>m8wCBm zInMfK_1g8soAXSCTk^23Ut zW9B$x&Bl@6VFcl8om^K@Z?)hNy?m6$uY8I&I-3qtfy;IHao!+(RNV^B8>NpjTfsR; z`lzcFoF9@t3TXxBP0~l@tl<2x^ie7+IB%9dYGVcGN2HHpSi$*G>7)8paNZ()l)DO! zCw7!&-aL$)LYE%X1t?e&KBw8vqr(W i5auvl6yAe^kHRmjUBsd#|C#rA{rlqy^cTKAzVv@)YN+4< literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainAllowablePollutionWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..26cddc995ccc1e92095d067638d5db05bc1f2173 GIT binary patch literal 6368 zcmcInTXa-c8UA-NmoqbGlF8%(r;r#Rt+^6Kto8(|KuM)dXar0JZ#_&7$)UqcI+;MR zYN1vOwHDfAg%B>QOCPLj`P?Uc(X~i`C!bwf@%zs{XXa$)gv1BeO8)ux z{=e@(XYc=V_WtvKuDwr0tLa*pjz&q)Yb;)mQX9R&+A$VCV)0`Z$65S@#hWZnusF%$ zr_A^ni&GH{PqX+ri?>+(g2gXc{EEe|S)5^Umc?(v^mdf)qf-j~mVe(-XhNaiDRfSu z^9o&1=%PaJD)gR0mlV3pkjXGz5maFf2}<_uHuf6bX(Kb-y)~b+GQ&NBv@PSAytT(1 zw8pHRX>(mBlg%4>E1MY;)YfNZyT|q!!^38-+bCMP*Ns~J*&#DMkjsvmx%__k3GOx0 zpE>saotKW>dGqM>fg4@7CMIr99e@E(u^C&b_K_J7uQK(eAvF&Sj0E?!DRW_5FsGS(i>{_c3F@ z4epZ&Zf-D(q!HQKS?Rn6vMHM%F>`{#?7oF_L$POUwaT9KBv-Yxd1fTUlV}daGt*#u z@yWPF(wmQ^+NOBZFCnqBrivgp<7zx8ch2K$o6It=FL$cw%S|k=FL%!4%Sk4$FK4Q` z=xfgW@x13;nE2Mbk$Sq{7_}1st>2;nqR^^V})f52E zdI|t{MFoHp-X_<>T&oI>$z{x{duJ8AOci$TIxzIE!x@&Y1JkqC;f@RIa3|b#xZ}b) z3KKFmP40NEbtw6)d~19OwxZjn%wCJz(~5g{o0a_S6SQo;Pa3*X=gfiY^1FnuNmujq zwbL^foX?Bba{J7|nTsz7TJ^uTK9y3mL8WoptI~Sb_ObRXi~TIV$>KQ{-(vA?7T;m< zJc}VRRT`tbO6}C4(kED~VzHXVgDgJFLT9mt#ltKZnewry??FN z&{~zI=qfU$v$;^VYwcm7a51dwZ06ytM8R~tv$NH+&KXM5)~HDHssBa>J)#Ks3t@pMe1pE;l>`1EOAT=z#&5P;OWY z1G1ys@HrTeG3ADJq+t?S3;769WgUQvh{Vy3_A?X=OmzH##0d&kPIUa9M1N=dBvsf$ zD3zN#A@o4kpD3mUKA@Vjq;_e6NeZ}#pdJJysE4#5V?rNL@+`%*pce9gLV6gWkgjN9 z1}P3GtSKH)SdRb{)}va4K~V=3(V`xZqQ?MIbXAKnNOeHaJfMgk2PmRfX>kTsIiR>! zkV2xgBl!Az1HA@0u#u~O4F;!&o`hC~S3F8zhE^>?^fGOSmJs*T)3gIx zjp!hgz5*>N9>Y4m3awTQAVI$dtxjZ7mtTigFUDyJeFItpJ%!~xOUuH_zo{xr#z)i; zrk(gx#7DGPs*(SjiakSzmlZ+};kN>B6Xeq1uvC>EQ=9=QVYMa!8NwrN&{Zsu#vUkhb(@IfIyJ#4D85D6EfmT6Lp^$}ruA~+8584ea zfM)n1l8#e-J6)wTv=HU#6zzc)rX%!S%0R>Y8$PnoBJ@WT$tbia{S6KN8E7&37s@OL zP31JK*g5s)Kky}xR}7~DF+tvz>3JySqB`R4KCt+3=Typ zqZC>GHisDTBNn-HnjLy{4tmkUy%3I**xXKve&zu=uGD+FDtenA=Qxbd=dkE=K~T6w zKI0@PI|R-iJVv8wze3d)OBzj$-TzeyaEe0k5wwhai4qq|$eJ%1r&b?wO)0s_myFY{ z4>?&%UhYfADcOfyTS|VwmyFZ354o#!3;LeFpSp$mkv9ZE-}m=ZzfeE& zLLulSe?JWi^&{^ef)4rnS+r0;^134Eu)m+h3-u#!Hv(r$-?(cF^&>Asf^U>gKEI1> z=5~ANI^DPZ3N1-4ouo!Sm*FSbBy}9G8j~NBdWiLAspA0Em|P}xoR}Ju%cYJZQe$$3 z)Nv+iOtwfJhoHvf{ZhxNr!o0})Z?sw9Ac7MOY70w@eer_RY9-Vt^J3Ed+V!M1MaOy F{tLQ%L0JF* literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonAirVo.class new file mode 100644 index 0000000000000000000000000000000000000000..f6565a2517585335292d17c2fb6b6b3b36f0e29a GIT binary patch literal 10477 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 S(LG)HE6UHYF8C|TFa8HZLIK$T literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionOnlineMonWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..2ba4b9683890806408234c16f8720216ffb198e2 GIT binary patch literal 10475 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionPollutionWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..37871249e87c1e92a0c19d1f7ec43c39ee6a509f GIT binary patch literal 8353 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 WgXhGTvAuK#0RAror{V8(3j7bjX*3T2 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceAirVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cead028da7b7446e9ed79e32afad2b4e16c7073a GIT binary patch literal 4740 zcmbVO-E$jP75`mZTCHSBmgNswsRK?i;LoU-^0iJ1PMWj@Qm%kT2u4iqlaOwbgb@i>& ztG6ymvASU8az_olAfT+h`TFY0?*-bVY*GH~UfnikX(Z5Ex^bm+`Q`O9zgoYsviAIM z1X9IQMcbHXc-ir6){=qeXQ!-Df$ph8qwBw0Szoza`uVN(>#vl~y;Qn*=e_673nUl> z{T?wEtb$!Eqf2M5zI)|`(%DznUOZccj&VQpX0b>M2b!egcdy@CJHJ!~Qj8}T^&At_ z*KW(j*$JQAcHLK_M$vU%R=k(&7ThiwKfdfqN;Ufno_pt)x zm4Z=R%-I6XPI@DKRf!DuRdSYe_?oPA_ch#cTVMUA;(ayksq8ZIru_haynkStam^aG zoVJesfvUzV&w7;V{q*Y1WDA#v%d^< zO9mdLzB)24t0MDOwUJTWI5H}IB9oprN2c1A8;3w-%97)?-;|TOz0u(9l!vImj{kNx zazIDjL(e@qR{wCNbb4uI?H89yKYg`y`$G9VSzCIuv~+P~?e^u;YZnEE|CduBii5a6 zim&6bC_XN^Z%FQONpwk$Ns^UhMv_A~9K~1hwJ3Jr-Y7mQ$$%t7l8i`_k>q2zm#1y* zZLw$3%+1JirKeGD`puc$QM`zkSkd9$@*wOMXc_L^7zM66+|{OnQoL=rx4}42**@G` zI}ns6=&8D(6p4W-=J6PHl?}K@BZpOASTOROkdf+>d!rHSX2#p`7}F(qF#{nq$<%T6 zA+B2Z?c@K4i}(l?OlQ5Kp9-e9UNJ}o(_XI_rh=uYSL~#M<*8TPM+Hk(uNXx;g=`Gc zPXJ916W9ib9Yce^L@;n|=xvBg2sU3E`Xj{T@Zd6L( zCpJKVYpiZFK1r%DbwC22BE9A&51+j&g0h`t=9=m<*X05>GRIu(VvL+sc_g`Rntn@6gw}5-#&!jEJ1y9g z7@K1Qs)?bi2#qYG<#8zwY5}Q82Rw}`+tO7jTF_CkBON0(9o$fbG{sRVWfl9>wNkZ^ zqhgDCR-p}5SW_L9T2`@fU8{%|c2w+H&noPwdipuaFDjJVq&(>!d@F=;kEW4OR{Cx@n zEV~daHH3JdZY%31Dd&<`cokxV6@}*VmX&3m@Y|t#O~PF`pzp#%;C6{l3P0%J>*3YmJ9} zjrj!fF>bFlzR%a#z;Vx5F+18RX^?%M&N|MpSG>~abG-w_nq&)l3VrTK9B@&SYJQwTlM3}JFSwY9qo9Ik-Eh8nbDSndOF3;O0l}x)lua{JEo6GY)NhR-bd0rr?WRJ`9 r#z-Z%yF4E|spJPpmhr*bo~%ATX1uOyLf$zitnyoQf${Mz`sBX>g&w?S literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainEmissionSourceWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..c4beabc2e9c775afd551fec78af948b1493bb5da GIT binary patch literal 4748 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainExceptionTaskCheckVo.class new file mode 100644 index 0000000000000000000000000000000000000000..943de7aa3dca0f5a6a76c5ec9dc7627d0cee212d GIT binary patch literal 21364 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainFileVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainFileVo.class new file mode 100644 index 0000000000000000000000000000000000000000..36f7e1c8f6c2c05ee11ce1f90f19d60dc9b066f9 GIT binary patch literal 4556 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteFaVo.class new file mode 100644 index 0000000000000000000000000000000000000000..3f1c7f9f03bc3f813f2f80e841fa3480c550d639 GIT binary patch literal 13046 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousSolidWasteLeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..39c57b6a90f7de573e5eadd3d3a6bf144d126793 GIT binary patch literal 7284 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
    s(7xIYh1oPe!U&E5c){*_cZV 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 O6Orh`_+F6}-M;~s&IpMB literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainHazardousWasteOutputVo.class new file mode 100644 index 0000000000000000000000000000000000000000..3b66013c4c51a01508387af5df6cfa459c507009 GIT binary patch literal 9110 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 Pk6L%cxRm5O;>Z3Aa7L8H literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainMobileEnforcementVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainMobileEnforcementVo.class new file mode 100644 index 0000000000000000000000000000000000000000..9358d59661853b73e839c1544efb12ae43fd5971 GIT binary patch literal 4693 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 Zp0O&ai+*SxpnjCOvHvl~0yp+Q`5&tK&{6;Z literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasOoutVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cac7054afbf3eaa4ea1f4247ac1613141d7ba001 GIT binary patch literal 10069 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisGasSoutVo.class new file mode 100644 index 0000000000000000000000000000000000000000..c1b0630215cd6ece3dbf0b0f084878b998c32094 GIT binary patch literal 5993 zcmb_fTW}j^75;u(mzA`(b+H|9oP>nB)Yqz%0A+K5+?!&jCJBa?TQ`boD^Vm@l2cLw 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisNoiseRequireVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a8e77a2bdb335588029efa9c007361c64c428e8f GIT binary patch literal 5907 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 S7tj}Hzgu6z8t~ov%l`o&Ltm%> literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisSelfMonOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a4976e02a73ab0bc53a030ca497ebf4427956bf6 GIT binary patch literal 10997 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 aub8{DgMMY4=w8hJ73J4>F8C|TZ~h0upxy}p literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d7f2547f2250f5618d690713e1dc411cb211ef13 GIT binary patch literal 5820 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 vD|MXr6Yx=b4 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterSoutVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a3e0e651462a37196b62044c814b374685fefd16 GIT binary patch literal 6943 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainPollDisWaterToutVo.class new file mode 100644 index 0000000000000000000000000000000000000000..eeab31252878557bb5f59a6dba75003fb3a61302 GIT binary patch literal 6038 zcmb_fTW}ml6}>I(V|I5W?XDzC6B)-Q3X%25hF~C!A7Cez;~+W0G71T=jMr;v?Dej) zJ92O^;P7@x;yervHYAvboq+HI97VBHDfl2%@x=#U@B>x0Y(Ds*sG_JMm~*FRc4v26 zv8bZTzPjD#oZHjgx4ZBD?mrjbB%(F+%P2h&Cqdt0^JJWEqo>$=n#~b5&#-xx&2wy? zXLFRzx0(DMHpgOUzQE?YY>u-z!RC8xzR%`GHZQUHL6lC$shf^z^h5spBQ`(Q=qDPT z(&)5CFKhIQMnBc)XBy3F^mE3~MCq)ch*O+#w(b&?9NA;-w=#LFFqs)C7ADsUGPchY z9D84G!Yl8}|c;s|ot^9;lvbpVbhMXxI!G=b%g-kY=%}r;p2&JO6E3?0t*)(d|g)zCt4_FQ& zAtfe?*f>$F-5qay>}b)M%9R8qIBu_>Lb}^qX|}pxV58e49_W!2UU_eSJxZXb-Hj61 z9CwR5WT^UXqn;et?3)@SK~N?1Q=mtw^ik!QJ7i|4$Miwfn0~&f$MjL%9UsGI5^SD zCdYdN+Zpc-Y+Re$2%gK%U{7H2m(}%^TbuZIpsV7fJTjyGGM7Mw3s+^m^zZC`M{jYws_jgUXzMx-)d1tjlL z%_+){78D=H^_$HN+k7)FU*w{@ogY3yt8Vn7;X>>UK0gcRE>s>G?mznG!l6so&YTo9 z@IPF$I(>#dqEnHkb^0)Sk5EacG8>1@44eII9%b`6HV4>zmLAq=9~E@!qt!ayP8prv z%jSJ--p}TPY(B(hEt~a}5!6+E=H)7Fnz8e{_%gqFk@e}5_xpOC&e3@`zd*(euB@E< z^=`9r^3hBUuH-06kRFl<3kZ&69 zHfwr1#}EEc@QC=?AGjiFRt-5(!}nk4MftP}_1bMH6JylG8;4duS_%9e!2iKA4FSMr zHUf75zy>!0cLKnsHv($_AQ2jY4*)=NGy-=4K*BTvCIBQ+Bd`tt5~~r|KwaoWO2cj> zYWh8hokU{qK>sNUhh_(UP2xC(n`Z}pMPhWYe~y~mCY}WCUtnEcB8{5g=Udi&9n(Nf=wVw(%rCsklR4_ z&}Ou-Av8=|fOm=sx)*&-)GM~oR`fMfzt~9k!3)tA(MunN7p76Mf=1v)C{NdE6ke1{ z^e@^5Porn)k90r07#+h%WANfMN3YVy;3en{I!oK(>GUUhhQ{Hw&|l~Y+5xW>pSYJk z4zEo_C`S|UlHyi;-2?DaVgRZ133zF7A5PJO@Y=-~_0U7`I_Q&_%05~V)&5PbQTo)| zv@A-W#y?HGP2JLs{eN973a)OM-8eJ?3r7^@wB~hhYFPJWlHjj9R`OnaIc_Ds%4L}5 z7r@b>{%3OSy3l&}C@fE|ox(xTk^`qHIy6Tu4|9Lm3^8DYJVfK;A)$yFb|IV$SELzX zABvh07m8FMoENFm%%}_DsCcTV55-K)g|rHU10+>(Gv-1#JDw`$LkTnPLh%ZO6D3u; znQ$Q-CQp@cq2=m?eM~Niw{Xq$53*<{7A#DEr!2fCq}bnR7Z$UbZb8!J;Du-dy-vH~ zg^?;R(j>eHUevG96uc-M!CxC5eib8y_rQzMZ|F`WASdjfad+k6B{;2`nkju99U-KZ z5J)8w;yQ+^wwt)4lfpj1=Y(pzJX$0`t1|0*J#w^`T;(eOPogzQswy?+31cc@Rl6wc z$>WR2s}bIb;RQ)79;6!Q1|%<({*Ixl(QeE`K%^ULEqO}a*N*SgaQ|!6dcN+kr`$_c z2NeV_X9d@H4dM&bcCJp`trVjqREU%H;^j&)N=bz{RWDwt6r%)Hh|~4rUZohNt3upf zFYZ%{QSvIp9rfZtr5L5MLfly|zC$TSiLDSXs~4|Picy*?#9j5`yOiR`=<}YK%PoFR zBK-reQky!(7~Yz#jT)2 z>NxF7jU#JeL658BbSyQFES&{?SskZysc~ebE$}EQ_iNcw0asU?B5DANAIaWJHZR~pqKqk^mX?p{YK^2)Hm_n I_%(I-zgFM*H~;_u literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionInorgGasVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionInorgGasVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7ac18d21cc366ae807c61cfee74fb0b352fd6950 GIT binary patch literal 7726 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 Av;Y7A literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionOrganizGasVo.class new file mode 100644 index 0000000000000000000000000000000000000000..be963a5be244d976d84c63d4e72eee063ccf92bf GIT binary patch literal 9198 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 E0-$Wi@c;k- literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainProductionWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..678563f01cfeb681566f70b5dddac0f6e45fab67 GIT binary patch literal 6832 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 D1Ne4F literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidHazardousVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidHazardousVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d93f367c4d1db2e1d06cf4ce235ce45776f19ad9 GIT binary patch literal 3071 zcma)7>vI!T6#w01UrD#GNTG{WL8>-=5Jf~yDHf1QwJk`o3Zk-2mUc^;jmZWF$1i+Q zKZuVR2OS*8;ftMN5W&I10HS`u8UKzJ>i;0(xqCOsHeJWgv?u5BJLlf>y8Gup*KYyX zikymraWK5b$wVCM@H*$-;N%b|hq>-ePL9M#e2bH}IeCYZqbkfens7wJB>&B5$ZD`O z9Mdqx71JtghKQYINQ}&wC(KmN%ul7p-J+eJ>Sr(xl=H4VYfacCdopM3%;z1~bZsYJ zVn~kIPO9{tIW=V!Q)bPQ+F7tiovfAHUvvsq(LG6VyGm9a8bA?2F6qGM)LC!Ex-QPa+kJ2^YM*L>eBW}R|r z!l4QZjD=pIUvc%^8S$~l)I>SYk` z4BWMm3xO-uWD!l-Zs%=x2l;j-Cn)Tcg^{$flm9Wr~7-z(uJPi!OlXCUg-G^Y_zv~9uZF@ zCOXzjBrWy*fd)gmjn+BneTFm-se+KxGC}0DV#pk$+(u#!jfQL}0g#eb38bVoL**dN z2dRb@0IBI1fz))|h;dNd2gQtd1teXdTSxH(QH62=TF^zbAhJOc-6T<7=s_>p+wd*= zNEe~pKgDL!MM?S?DdHp=xZ`+|I2og`@DygDlr?Goz7i{c5SUQ;|Uvz>v`od8xnYVx^7g>?qS^=mg zCsRs1ImTB+gkc{NMkVh;OaFFhz-wDaOaC-AO>60ygW5L_?I_pFX^9&Q$+u{{mBOT? zWzR%i^qe$9u9(!c;+d4HiF!+39pUZREAHaoIEqZT03>7XZIdj6a4eoUb5$sm{4Q)S2GT z5a)(^=Z;WkdUr#d^?K(Gq0aPPhd4LZJ9maUzl>LW=QIrl-vy<+=V!#jD<+mfsV;-! zznu&t;c*&P8%I2~jK(qaKKg3oh?kjREIdx*YU7B9obm6DU!NJO4j-t&8)!Oo70rp3 zd9?Cfr=LVZ@U*h6i3bEvJKCC9BY2hbZA9j=w!SaHSse5$8^L~W=w7XUl@8F^^i>-F E7hH@>Q2+n{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainSolidWasteOutputVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d72548f6f9401272efaf0e83629292c772bbd433 GIT binary patch literal 8687 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainThreeSupervisionEnforcVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a7afdd1dd676596dd8cc020f1cb0c53b40e688e2 GIT binary patch literal 17284 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BMainTwoRandomTaskStepVo.class new file mode 100644 index 0000000000000000000000000000000000000000..f275e524c3103bc9d8c53d34e1dc241e311a7e0b GIT binary patch literal 3616 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 Pk8bYM_xL{U)A9cSo`dtE literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceConfigVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceConfigVo.class new file mode 100644 index 0000000000000000000000000000000000000000..662084b0185aafcfad76f992fbd7934b588f86c8 GIT binary patch literal 7068 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 D81dPq literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceDCSSystemParamVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7f32152c4fe392c5fa63b03489b44e1631fdb1b7 GIT binary patch literal 4550 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 LXB&65)7t+98acpp literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceIndustryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceIndustryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..29d798a3e3255e6c6af7c1544a6856c4e4179881 GIT binary patch literal 15058 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamListVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamListVo.class new file mode 100644 index 0000000000000000000000000000000000000000..fcbd0e8b66fcfe875a161f9ff52cbddbc3e39d4a GIT binary patch literal 11737 zcmds7dwdkvbv}2b)s9vxY4v7=03ihE0W4q}+kjHaPTuRF-{B)c5F;|IZwMy(r3~pO&T{&v@2+vxbHTN9rrtP@6POFY%jQf zm7jFy+4Tm|psya{4X3=_5gJ>GTmFEui0V=WU&?M@NuO zYxpX3TFX~WryKcNqSH-$E!F8`eD&ybGhfSe3h~veQ$JsIox*%A*J&ePeL6+>TA|Y> zzWQ|<;%lWYs`y&1(+FP!ScItY(K1n6j&2<{_1rXY)5uK|H{-Z5xM}8QJU1=eOyFiB zH+xg-`%Bty~U+R)%g*n{ome?pKJ*#J`SEuk%;;9w}aG1wc6Zk#X3 zSTzz&Mux&`BZ}y)};FRXV0Y$?_j8RI1~>JF;Y+M*`9vz zxW$h|H;g2b@vVYprtjI7dhW6FpWiil@=$B~u|uOL&;4@S_6wi=!i5KJ502gWRBG3O zVEXtA>92lq)~s2Ad~)hFTZgfjpdwqdjXifdweuOr1h`|{?+K3Gab)cD1L;RjS#qi1(_ zLf<;J|LM_F_ovQmm)27|52p_t!|raLYqREpb#GBDJ(5@v9gIY=gRSzRq#yc9YVT9$ zZ{I(5c38N$(+5vnIQYVayLOMAefEtrhp>a`$M&XnJb~SZ zDs}f=V~6g9S76n6Sczn8Ske8d+aJNhmJ>r|dF}Gh5VlClH$)>zJkv;GHIB~+4v(IU zNq-kq-_hxI3QCvY3<;|4#ZF^0)`#P3LU0p4GqHa5BOGw_)nI9IAOf>pz5UT(f4Dz9 z9887=aYi?Wlh&EcS&s?? z6;MhW4Dq37+2RhXdh8QfX#?dMsYd_0oKsVUk>%NEA$J4p)4+E7>_cGnY~SYvT%U1y ztCR6$Yc;lm@@lZRC?8PHKC?k*pKSwbpV80TXN=_RbIvSkn=@<4+Gx<^ zf#QJ8D{wZNJN8DS)8lM3dN~`7exI|^=;drQ`gt2|@tuuEH+!QqUA58Z_Si?MEWCLn zGzjO zl1!9*zLh0sz;9U^&Sd6FX~gMUY9~i$?#Fgrc|X#gbY68o*+X)N16)W1aeGVwwy(-&ty{Nq1aTvYbb`BV`{h&fYqz_cK z=RQ}x-F}7;GtaA{J^R7U}!khKM)S~$A*SbK3i4x zWx@3$k--fppVz2rV6p6b#azF*OkD1#&xkAh^hdPKFXo9W{d7Cs>Zk48+`-MA+}y>@ z-L%6`JGr@sn|pceK5lk_OS`$bpPM~&D}s7|JRC}f*PyWXi>t)de%jB_E!=#D{?Jb! zpCLc_!1DB|{w*#=cnkyVOh5@hjnDCfjlxo}!y`w+5greqvRMh1gR z;al@*GTzdc;q9`4n&~?FAYRu$gq}t{_=SI=--mt$uFLVeB0(#mfX@{wRzm?lEL7Y8 z1$?tm@q19fUkerMpnwk-Dn1GY{JK!_aVX&Hg^Eu=0sk*ltcL<;qEN8`3Y?Qd#V4V_ z*(p>EK!NjAsJI0RoUua1AQU)vg^DN?IE#gfVJL7u3l(uFaAvKChGT18adL5;2{3{M z+S~B;U?P=5B6|8XiFIAillBso)RuOgAkPUZtMx+ASty6#W1#|qpM^>YRV-9P2(VBC zp_YX@2=y#9Kxky43BouQ3<%9EjEB&|!UPBtS(pT&m4(R=+E|zZp`C@P5T-#mLDP?0 zcd`}jDym1jjj9k=n-Er85mh@8ROce5&PPaHN;}}BJK`8fI-Y}|5ig|78Z@%V z9-EBdUqF6=I-R?a=+q4HLPhRFqM&5QI&&el$*p-ZY??RrNPhR0l zMxEe7zAT@-#+8iv!i9W!K6#xh8Fh&Z`HFn<$6d*&XI#kh^2zJT7E2pPXcRMqR zwIhocK@YpznOUqIS?dUT#NE!UV(rM%NYJB5X;yNloaYrR){d;C1U>F;l&0i>JtMjeCd6{ya@+l>wKnGFE>%toVuL5&L3VBpQi2Kmh*L66ll89 zkp-G&b^@qqT)TKb3{BkKRl^#WvQj+y{*36ZSI4(~|rZy?j=vn#-&Q62&D>{zX zJ&oG6*XTKnl~9-VV|pG^DSc2oO<#rNp+4Fbc-L+*CEy7zX6=2Z$PROE5-BlO-S|l1IYvQEl3SwMC_(-LuwTJMU=h+ zsYx6X1M~`{apG&DhhBwbh?m6@`eR7V;x*Aue*$T|7{#Z6??P(PO6YC+9;69cIsJyd z4{4&-K|i5Cg)~W_=Bo6g4Lf)AtXz3?-yw)sbg;A|RxNmZj+W~s_-6>@`AwU}N@g|whp-i&IZsaq=DRv}qPR;yWVsgNfW zt30DxX!fc*{rct$Tf;plTo#qwU(;ZRv`mP)*`dcQX%;$ zR$WH5*sQly^|lHrNwSuh4VDVoNU<6+s%d7UrE0WQ$WdUmxQ0tQFMUUa%Mxt@{XP90 zp5@WT)9a8l@@b9q3wT`#O~EPrC8SciR{VlSA$e$>c$HF+$|xz0;uv$d+#~kU7$lv( zEVf_<4wv5%AEgVBeDrg%kp2Nu1^re`rGJFv7mdP4{{*R0%%L~vSCFbiFT%*LAytcw z2(NEI3W)7^&G=_XHR4fx-}@IxwFs62^skWW#1HT-@ZTWSi(lgl;lD#_KzM7S|A5rU zVaDsDj<+#TiZCMtLJR(9)!Vo+r?2rq19>ul45l=9NWsdoU=A{WRDr#@Uai!hEPT--r0y_=RH8ml>c2#Io94ArwmrUmqEv7QBY-; z)0gE}pufwH<#nZ2vMUCyj8_+D+*$cW5Y!ZbqNi|Xxj2rRsODlOa^|{dnwqZmBByg^ zycDLIwC>_3b>_W9vYNX7lBRZMzjVG@K*Oajz*)olGNG1%Lb90ih)G?4)H!{>R@7pe h-rr)Jo%ug7ge4)f|EE=R{+In{-v374$DetB^S{A!eLMgF literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceParamVo.class new file mode 100644 index 0000000000000000000000000000000000000000..b0f442d016df77123b4327e56e5b5d078f448738 GIT binary patch literal 11679 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 XJT&?b>m&R>ojc(FLf~)*{NMizIU3+> literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteDeviceTypeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..742417f611a9530d6af1b1958349e1abe6afc5dd GIT binary patch literal 2178 zcmb7EOK%%h6#lL~FFQ{2XdX2UX$pb*k#wL0D0b44G-;C(ry;2#!HS79il;a;#vTWC z%Z3Hw53pc`$Rm8+h$VQzcoj8&Vp zx1FNB>iBjb-Mn3~*F3@!-qE^41jOt4CA%sRlaWUQg5nKbcnB_nYQl@)(7Ebc#SaTs zrGbrYYH(~6Eq6}VEMSzZS}7@&w&csv#H?T}T$3|qA zrr5)D0&n7iK=(o5V5ms2RjJtS2J2`;@bR98Nb)$#m)yfwAK@R7^VG*v2lsyd57elP z$ZC#X3_^YsSUlI~=<_EHb?&8X=4+_RZuV!0FQ7(uvp+!;#xi?|G>#OaOJiJe%J?tn zNGcD}vxCHVQrUyDZ=vQ?ny5J~sY)B|A$oVvnN*Y7zLB!aTv43nsu2MQafs`DfC0~A zm?xsa8I170AFHf&m>5Sfix;SivR#+(A|(aacsEK(MS&4tqNL$vdXFHc8-L-1j&n~i zpd-bfA)eq=AjbGDk%JI2@D}$7y;NDcgcmsmZy+#e!c&=8!V_|K!Z5$lMx}SIJ3pyR zHRu}Z&X-7*(Vg9aKE4O-1F2VYio8fF;f*0Fb}9gjdD~)Gv?!?2`e?Z3rSe! zJLuoG5O%uJ&qQDlf)?_fwQ)9Dorl{xPq5NpSaYmawo1!n??S)RlDe@O;8OW-XPjJ~oS8Kfi;()AF zldOx7BPkzef$^i?6Njt- literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteExcelVo.class new file mode 100644 index 0000000000000000000000000000000000000000..f9f37d35a2c75a3ed9058b62eba4f41ea14ef3d7 GIT binary patch literal 8526 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceSiteVo.class new file mode 100644 index 0000000000000000000000000000000000000000..88b29df22e5f0cce34123e3f429c3c35d5716bb7 GIT binary patch literal 7800 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 b`~Y@{-VZ|!y2bnO+uA9p_YdHDDtZ0~D;8Sk literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cf5e8c17f823944c2f4c205d49b717bef4463d12 GIT binary patch literal 18005 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 U+kxLs{BFkYb@=VVZ@0+)8*F?DCjbBd literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceZlConfigVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasDeviceZlConfigVo.class new file mode 100644 index 0000000000000000000000000000000000000000..908e17ba6c9cd4d8933fa9c1f319b20e73deb26d GIT binary patch literal 3553 zcma)7ZF3V<6n<`+eMz!uOG<%-q98^3N(6k}Qna+7)wW=ZRq%~%x=j~Cwj`S(A8|lY zXB?fu!ND)i$jFz<;DCjp$eur2T(L_BwQlWdc9=uC3<+;g6D?mch!{`v3C z+W?-$NeLfB!SEp`hoe{vopWQHq&OMp#NdhvPSO!tPI6*$a)gtkoMa>%i=rNB8Cm|d zWK798E+Z!+FT>`tf`n-Xaa_0c{&9xHz!7~~PiFLNIyqwJ%xt=gK^-n+ZS$BhYUa(c zjM0ITfLF;qAJt4Cyg9KjQeaZRz`88rDd(7 z^kuKk)%zrI*S?giTF*mCQ0MyarL*31;uE-aa!Swc z;c2FVPU`tdH={Kzt^E|_{^9drjVfYXTZ-E1z42jgK2gYP=o(iJHIh z<^PS);3@K>k+&<3j=j2UJhB@iMZUt{(K*2gR zDcH!#CQdeUvIR{Ht1B;}-32o<&gWuXK=>{0m~<;RfsZKd9UDsh(@m4qv7y*Ow2G6m zly!Gq?jl;VRs{z!#86*8f;*hls`}KFk)>;?(|>Ig3trV?-kG~7LPj?=ARxp;rqy~{ z#pwG4{h!QZ11TsC)rzM`L8+-$G?RkTRjqiM6qLehMGNXkNJSyq4zN1}jMFjxYH#}y zLU^YAH?Rv3YG&H+fDLxE%_8J1iK!XtAfkmk|3FL)-^GecP&(D{EW$;Epa}#KG*J~e zM!bu}CB#)h6@4I4lL#bgvMOP8#1;cNh=B-&tMzr8}U1~lPrX0T*VHO)li~-qW5?k z!gv*5;W^?2YV6PPJaHm2IEojDlaPaf7m1VcHTL2q;vzUtbD$9y#Vi%Ji?|qWQSEmU zr=Xj5?mSFW0wUg48*S$YCxQv@lnwVNWCTc5qdq zCO9hU1jk5Lg`!H*L`Nl-RMa1?m8?mQidw_7k{nf2a3P1?V|u~V;4FI4M?nbq1bc`J zQR+`oId~yAVUkM73%QF5_!@Bnjrex-6DPvPYP?RI}yj0}DL?5h-tdx3SX(_mj4^Vg}a+OKhDp*H`lqR};-HKDs^EEY2+jT^L zu4tTuGc<||@N&)g?OtVk4Y4Z~#%iE3JqQ8DN~Q7oKx2AH0*vF8#v22T=>ZBbuB|lQ z9B51rSAcO{rEzPZ@dyrh#u_yyA5*cd{TIZ7)9ucwSejGOdovi`3ihKc*N^+eFpLKK zi7(fW`yw&C9qgxexqjRSjNzSNKXuFX>HAH5iR@T}-90OjpLOA41!Mmjw{yjPe Iz3}h<2kEA#_y7O^ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasElecDeviceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasElecDeviceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8536750b0ee72b1b1265d3cff1213bb83863ae95 GIT binary patch literal 3977 zcmb7GYjYdb8Geqfy+~TgwuqCcB#lW->$?i{#yX+RwYbDZ3NIwe{}4)_vuAB>q-E-6oOhpd z-se4+_kGSe`rtorUjgt%Ja1qo1p!Z*V<~LLafwRO%t}+1rXtOp^gba?HOXd88ef{a zH1pCtDa}&`PNa}S)x;0v_lG8)Ht~#!ADQ^EiIXNy$?nqzo)xg%l3U#4&U;07Y)T+E ze$1J73MHpJT{z@dz4G*^K>lF8?0d8Bq*wEfmfW4?a>aLiuTriF^pAU$LhVUsdfKfP zoQ9{cbIzNnOu3~4)ykY(^-pjdZQd!>U4iWNR~N4R_VV>tuPpuLr(=5rl8-w@zfwIR zS70sw?BvqxFJFE4)YZ4n3M9(TEJG|sUV7;l*Un!QFun3rz2;X>2n;L!^@SJ7?^%BN z?A5of{QKnT8^8Y3jo+LqTzl@^(u=<X7y?kcz#+gebxlh!c5_j3%7s<`}LR*kOib9xFwsH0e}5*$z7s{*1@L?i??c3q`l+&J}#8RINBuh51Thms8ujT8haE z(ysD829F2Tum9x>I zB2`wyNY&^FBBSZ;RI$;n%puyId5^@La??rUh+U~_+<+ceSGs#azHL?FKm(e8-wI%>@`-6FYgBDp4u%;;2X zhEowmreZ6ciYPjj=~vWn)c&DLy;^klc~Y|LniM!9Zvufk{?`GgQa3KW@ci|KSE9%I z>faWYPrW9vZ4Fwt@C_6!JcLOLBNBaEq9f8gEX^a*d`Fu5F=pWq4qNyvwpi$u=5x~Y zNi!hL5Vik$=$Qn z!&aJK>DgMtHaeJ*R>z%mFiWkD&(p!owL1FgU^ZJFgLE*%t&U-Iv6I!K{Q}UIAhCn% zyE!;;4qD>E;6EVFLTkS;_;-kjp@BuT1x*VxkaXK1Nw>|sAxUOPGV*4GWY|fP3_F!iN>VB$CG)8W$+XiX znYNWrOOh3mh$5t6cUocpAs0i*uaBqMnr65z&){>g_im;j*jR}#d5%S>EN@3kkPLk2*I!CuB zb_DX-)Hyms@tB>1=V1&lBK4T;*X)FJ02JKjWKtfcw+1zydtL9j5R{7FtSR z8=l2}q6Eu2g9nK;-ii}AK%~Q`q`pOD;Fs8dgG8n*qu2`T6Lut6Mj==_2=NIAYqZ;B zM>n(;!U`vGYgb6qBeVvyxi=&mw~`zD7)KalwuCgI;(cLYGA^(Y`>Ae*Gv9nkl&XSj zOCC{e;7z1oZxUx$aBeM9NeGK3=4dx3T6WrAtJQN%JD83s8+dLlf9?=H|FT;wjmAXju z)r&+AUrd4T#gCI&>p1Fx75IMqIN7z1quyhI$KuE7SnD|I`4({E$LU<_IO??*I2u1r z*ILI>KMsWa^%K_XG^-^~&XISJd-zSlUuJauix(628DUwcIP%KY)G6} sm^W&7?lTG}CBB_z5u2Lz6Fsd*LIt#8Dma!ddia&UnI7l=tu;*l7iJ^ts{jB1 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasParamVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasParamVo.class new file mode 100644 index 0000000000000000000000000000000000000000..3582a58719f998bfcfb50dcbee1af850a5de5f10 GIT binary patch literal 14448 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BasProductionDeviceOperationLogQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1128d84c1dca9331c4a1d296ae728e601ebfc2a7 GIT binary patch literal 9483 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 ZderNH7PysTS*|?B#Pex^|M?g@`9DwM&%OWv literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/BaseRegionalControlObjectivesVo.class new file mode 100644 index 0000000000000000000000000000000000000000..379ab57a47b6776ef4ee366dd7189da7945ebc0b GIT binary patch literal 2268 zcmbVM+in|G6kW$2j~!=nb8a;a&_DpkPBMiiK<%cGq$y2E(ljZlsD#AC9ywFS9%GLK z`2-|DNWAfacp<8khgO0_DiW8MBJmSErTqy?SjS_>c4AS4Y@ONXoPAk)?Y++*e?Ryc zz$9)3F&Bowl`wiSFQuztyyHpNzjAXw3`~eEuhR1r9jt`l{Z()xlOZJi6p6T(uTcZ z6fGIKdZ@Tt7M)EkrSp2)Oq&JWHSD5eWb|!EpEXM6nwcdrhCSzyRLAxLS=(l5!y#_r zG*eu~!Gs)l%Pb0XOaCKHCF!YLHJ^1<)arS6dOG!kj&;{af3$2AD!AD=LEI!$X(K-` z`JlLEl(xLo{jt#nB3NBpSe_?D%4*Rpm2H=mY7W~rQjefsvhtRDS%Bsn0-agYoono* zzSw93;m5tyPQBIRdUcjgST$9tY9!saQ?YIqavkqZAiVCBi)l87%_5FGr2-SOxdkr# zkK$=Kk8>KHmrD{U(y8GRQW{>xYZ~6fMGbxE*YGU*1qM$J(QMhWGqS#8PeB-KDE+jC z_aJj0J6EH9n)Mmg@HW^>Q>U`XI61@0|9cy<#p>X^_G7(`Lcz>u1jZYOq(=X#GFG!m zVVKj`%Ng|X$LzTq;I5CmLCR-Jh~gOvXK!POXQbw|#&dNI`CO4-uEX?lM2jH5#YFsj z1eCqRZxG)g;NMI93b8yE--oZVjVBJ^_oRI&D`Q-e%J}bSk17w*vkPrJs_Y|B(@>KE zs;Egd8jw2bLqvAb5e-Dunv$}|sD8Y_RV5an4KH%N=App|UgD0p@G@TEeLp@xjAuSf z;0i{0=I2{|8F5MqZZMYwr2uZ>EXF9Q7^n3x!okpA=nP__?Fj~g(D@IECphDYZG4zy z$5qL=$ghuP0m*{I=R1XOz*9KJ7a%H$Psk3fy7`kj0a{OYr!K`05S%89%F0l8YKw%0 zx)Zwyj_)J%p*&ZUioA#_)tiu{kyk^l>6!E#SHt@`BNs>m-x*BtH_5;q%;$AN@{_nh zyg^B+P_YQ*h)tl73L%(1ggBy7eeaV8{Rq?)YC1~u5!D!vlUPlbj`$;I%(U(P3C_Zm znrfax6||6peaiR;gzud&jHPte{!Ku4r=A6>F<_=$9TGH0hN(!*sRk(2p0 NG95c+dZt3@>_4Q>%7Op@ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ChartVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ChartVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7b74b08842524e23c6ad71d78bcab782673e5860 GIT binary patch literal 3544 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EChartsVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EChartsVO.class new file mode 100644 index 0000000000000000000000000000000000000000..86529f554a051f40ce1c1862993dd6af0df78aae GIT binary patch literal 5322 zcmb7I>vtQ)75|MaX;<>fR+QL5B@hE5@e?I2r64)N^Vl{12h@H#;j?TFH*{!FTS? z{oOk=_cdev9jA4?rsEen&geL+<8?WGPQx!Xydj`%$(ZSa zIU!(d&*iMb=B!yPT15@N5(v4nk-Uaq3+Th8+-Rv#v^AXP*N|D*zo}rE8m8T^!A#E5 z@Fo?9twP2s?i}5x;Wq-YA=BoBnJrf41;SY?ZRPfEF>O;II=Ig~U?xj;CYv106zzU# zBa_aVcBxEy6o$mG)f8>tfCUCP;+32P)%%#3EOO}Sj&HtkG4R}|

    Tg;xcF z1DRaL-YC%2*)<~I-%NK4w90JRQJNUF3J;l#mRvtSW@blBW(vRENxwawVfa=LF6vDN zEt0nE!K##sb#{4NM$nqN$punLr?ovQ+##|mSOOaw=r6i4Pncu0<%x{Iw(B zf~(Q`4kwf=$|kEzMEPiURRAN!TAwZN^twz2ti3iahbGIhS?h&2bfz?+bD^?3$(G%@ zvEIPay(#U+Xw2gbfd{VFs>gzIr!=q8ymDxpYqQ#)5+OZU?a`q1c!_;Zphkfftued5 z>k$EwuProJ#O{)}$E^bELMD8ora3y2nyIh@a{E!Ul9#_6QMoG_N>=_{;Rq+Z&81DD z>gGcZTy=-A!l;i{M^N1hqDovn6&be8vHe5lq*Kbg%y{Q86~@fmR_P?N<7RPObpy7B z?exK}-P?z@(n;il1*=%f+5*irCl4mvb83n5p`wYpjRz8HpUsKt4e54X-4^U)!}(HS z%-WWbji;s3mG6+(kiae1x-8gAR$F6ED_8wdHSQ~ad3pBqnc26_{P)8X1~y}hfjf{i zaF--^OVTgNM%-&)6YdqbY0-2yP{OEzFXJl)Ovw#NZighhB-xE&0}n}Z08a?4bneiq z486aU$+B5987l|uoKLI`27Zg*NpgXq=hxA<(k0qLuN@pd20z=W0S+> z=a0a;#Wy)rTZ(iRGvAz?WRn)?Yt(e=E@?N)OvxI2x#uj1$1Qv~-pt2n5I&ivr0e+Q z!+Lz4V>1N4z`r|-_#!8n!V3ewL=n@w0=UO(Aw>~WzXBNW0ya>@vfz52weO>VrBW}r zAImt&8YA7x{U$jIj)Cs?Al`8fvW+z8Od5EAyrBSi5Zn1BWMR>It@0)KE_#%s4V0Cq z25E#f*}zDX*U0ikjj*O081Z|Jv@d96CwIc0(7;H*Yb3s)k+0GSdkU%7Cqb`~RSk>? z*^3$|YhLBm4VAx!5qJB89DOo&-97KZCu7+JZ!Fst!i}YjvrJ)uuM@4}EN9kpW}Oqx zJ>(v4yh77bSCBPOyTVBOK@L%Zp z8}w5MG+pTVEB_ts?Vdr%`6LtG(Myu@_x&BsasS6yHVvaM?w>((8DXRXgczw{JRmW_ zj}el4cuN`Nzrgd?SHnr=mr6BU#TfR|Yi+m;i`~wL1pbBZ zaIOj6_$Sij{H(%vF-|VPCiXTm^AnLK*5XBt}H z43<46=Z%zK3gUiOqRW(0qDU&>h?q@|k{%C~MJ=hIBMMeT%rT|an$jE*)63P;%A#mW zcSL$c#H6Fvs>Uhss5*gr&L+HpgE++V1#k}ECFf(%Uc>iz_9onhXYqY2>NhEWKH4nllJWAooWInjnd8BoUfYo}aT zunIPh^v=3qtrk3wZy<10^g5M!t;RA}G1N$LUUxw;)#-1(e^plD8TwqlNcMby*u(E( zd2GcD+GKLgpgp!y@vQ##*bR!0NItH37JPf`bBb@}5W7+FQOU0&nZZroYqk23v!{{= z&p1`_Y~@|`BkqZBx*xMvWrx?Wn&ItW^4!YtHjW97w{u*>aV^JAj$ItPIrebu<=BVN F{{h!UlQ;kX literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EarlyWarningVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EarlyWarningVo.class new file mode 100644 index 0000000000000000000000000000000000000000..39e4a1719626d964577d94ea3f4623f89c6839b0 GIT binary patch literal 6596 zcmcgwYjjjs72YSA$DNrw&pdCT9Vmn5NvyVNZ=jY&sHub^Abt4iWpYV|4m0Uw0^*}e zTUwQeMG%zM3e}RfQc9Hs2ozc$bS;1Pm;TYU2!UVzcG-&Gx#!Hxy)ze>U#^wx?6ddx z?R(GJd!Ktw{`%jU3q*7`ec-3VL1Oe07cU2?hknJiSGf2!7e}}_%EhZ({DzC)a`74$ z$GDi}wAZOrU<6OMO#R)Fn=Het5?{M*ZF8;v9DL+jGX+FK7&@}&hTA?!v zomFT?p>qnISLj`ZE+}+Sq4yMeU!gy8)SvwHXGR`#+u$&x#H!84R--R#gVzGxIP`P?|8&Q+Ow-}p9TWW+4=85K|8^0CZNe%Q>e zDdfk@LUB9dc()qa36qiU@|knj4xC^V*kq)O`NDSoWaaYt9hc7>&OlW&x#5ZNVqyCL z0$_Oc=x%uC&L5mRvIC@X@o-LRo_+cCxtWV|FYUWBwQKH~vzOo9!vlo28HF6)eLY?p z{A;g1clE7fR}M{IJ9LUsL^=oZxuTgXmi@EO@0>kxmQgTWFpZ)qxwAW8o1NKT;)di4 zuQsf};+1D#+%q?M5>J&cCYn*--)50A2X2r-D~194mcS9xAQ1lX z(o7tUFDJt1ssdr33WilvfyF)*44qS{7%EeN%`p{>ol}9qITg-uOr>HFQ&Ea}@!HsF z*X1V)X>(77@OydZXbMt9zN zV^e7}eMzP7)6*(F$h9AE?T1|K;NlrBp5@{>E_QP9JQpu;@gpvtq^wHcrSGZKOG{Mx z3>Wus@i{K;<)WX9Wn6rLi{)GlaIu1xFlwv*=sqx!$qw@^wb{8U9ei_LrqW;N5>no? zU{k4hmobX=EUg1>Ad9sQ9S&r+*0B^0WV_aJ9~`KFTF3ox zpekw|55R#+sdao24pdLAVh3y5UeEFF_lX@QZ{zXq_lOPk zbWKx(HH6Z*x(7n{^nO4g&2x$3lce@)o@w%w5MJF2h*$S%UXJlyqQoSHHLvEgfqc3j zAfK*iehyM3$ge3jkY5h~n#9<^;WHggIXo1MQgQzB6=G@5xre&Rg6%Ap8)Y58t82%P^gx0{;KqhhK!?~J^eD6-P1ALH3|ffJ)4%C)Xe#}k{zhMe7N&pFhxB!5 z5xn9QeFIvQ`RHx>CbSq^OfS;6pv74?{e+%?mS7KI*EFCtu{C7UMrh3}Pb(=6t%Xg{ z{WJ`%l^sB*o6y=&vh!#Yw00W7l%J)PU-^h4ej5FlTK$y4kHS8tcA*CTA1am<-wx4b z*dQ2|oyg1Ei)XE&CTpz%P|6zeumSLOU?Rw9Z>)c*XPMQK^JD#^XhX_lf-} zc4*ZV=r{SXs?K9=p7o#+9BqRGuGph+(&A%mbzP?^_Dh}n~@7yt0v#;O2&=Kg?w8zd6_F2H!&CTylV1t zSMrZ>F0l^F#E<22P9N8E21 z?QxIOTyGq49b&ZCJx)u#am4M3;q&Rb&aL&v5tl87^Q3E>wtC};yBVW>?s3}djU%pd zjDF@GN2@oExcM>K?;hv2dgF+TBBKNDapu(aOl_`zPpt?9v80XnkuAmH$uh3(N=qC-~+6 E0GDwUP5=M^ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EmissionsStatVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/EmissionsStatVo.class new file mode 100644 index 0000000000000000000000000000000000000000..546ad3c59ef7d8ddb5adb3125350c0fa88d86e2e GIT binary patch literal 982 zcma)*+fLg+5QhJO1d|XT99p0S%J~ouE)sVjE{ci-iU1{5?l)!yi;Nf92GqyuRi$3^ z0eGmYznw%JuGW_3^UTgaYwwJo|NZ$3U?1CM^kc!pqK739%YuQ1zBV=zR8FHv$H$>c z5}kNh5tKSh4g2I_RZu=rL2BclxxXeDytF1tb8lVXeN&0foekFND4SZv!HtJa!EjgH z3)KWexxN?J;s#lXj?ecxG?7V<1pOPEEkWVfUTMK--9-BQ;jXRYAF3TPGG4cV3R@~R zncoc-(i@WqR_j6J2RhLAeyYOQsw@A|`rq$NlJJw0W~$PbJ>bSo`w$2E#AF30->vW7 zsz+796s85s4)p}pOyP$ry7n*Hw>n4#H3#8JuM<1&$vkkuu1o$)^90*2f?jt8TQ2F{ z_6xqcWWSyd!Jdoc%>W5}7tN~)b3CS(5yT?;_^)J_@MiyMXXyF44-{*^A-@>t!zbDS zhJh+R(^m55B4#m{ug~Z93v+-olu)3iNP6TTSt84{Lu7>u(&@760A!&STf(wY|if47iYlwDprMeRrJD#*Tp$J4q981EnpK_0*nZy=!L2 zPU(w;wBgZGs1!tn5R_IT{SYa%DyAX`=oc#WV?R~ur%JK?PeAGK&dl!4tS73GyvOI< z^E>CBdmi`BKmPmny8yn3XEiM4AyAW~p2w|NmfWL~c#lU#a=-k~8Nv+*4KOV69g7ZQrfe8Un*JZoS+% zYcDJ~UfFJI$_JO-+4{UwJ?7Py9nXJ^ew0CJ;eP7IxoaCQyg|l!bj7X`H!u_f9zAv1srVDa z4+&(a7^*<;j9YV#tSp^!y!&mQRG>Ihuh`W&+jFHHEoS{im(Ip#Dz$ROsW{7J->!Of zd%nC{FHhH2U9VnSVtiAcGw=E`0dsYRBkIy$kmDfGXn*FV?k_r?K%exxFLAK`K$To8 z1h81)dP7ibB?)1AJ0M(1LYVOm2v?F27NG;el_Z39>40#h=Y(%p&dl1&LH5}6LF4Ha zyEZMWBA_qYjm5A4T|>i%nU7<~56{w4kXJpYu~PK~jARn>`(np!3p`j`;1SvagKZ0R zuI_hhu78&R_nf2q1;;6w!grh|95N9-<{XrIe-1HFKzz$-SsCgZeF^!e&M1^8EPb zrB^r3o!|WR)%D+Bxc=U2o0tB${_O8Iu3i!t{R9(f;4tnq@Lhb*z~?0QZJadlpd=4T z@*PPYmgJkb&%gtiGjJPr8~C&&pOs`-l2J*{|50Al&&kI z??cRvjjSOPh-A8sjFDK`@xP>9F7gkmX#D3)p}5~F^A;$`%himApx zs-+R6TDqx8kRE|FQ;&f(D@TxK<;|P~E{sMt+`k!~tYm1e1dN^PmwW1*F9X@QFE61Z{W-U1IJI6-vIF8qOMpXK=!yoMv>GA!E5ILfnk;dWfWF>+a!dJ*3ur|^QE z#c^^fd=A?QavGk)PTWsUmt_=tVSLPmEXybaO9vr7rn9!3kqZM*nt&!In_P-uY7Ev! zcCJQXEeUSpQxuVjzQv?%m9C2nb7_Wc+Z(EB&V2Jd3cCtr{+A=FjJ$>JKXo)`Uof{u z2#AU%~udp+w~JZ zumY#j{S>zACwz|uD(QZDx9cZ-z6Ivf{q$|uPx#skz8ODA%X9yB{e&L}LVhhpex6{p z literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementDCSVO.class new file mode 100644 index 0000000000000000000000000000000000000000..735643e8d12e622b974e5f31b8f3d3abde629fa2 GIT binary patch literal 1845 zcmb7FO>Y}j6g|%#f5e%5G{h-^KqxIVwv!CdQqnjnq-g??lBQ~q5v+KbJe+CAGiE$a z=?*qXtmujbV$%hbMb#Dw5~+v+8<6-NB;`i{uv``vfn+;{Ie=U$J0`}_U_ z0H-mRK_|xA5XadR#xt}QmCo| zJ@Z%OnzUT$m93>PaJ+I+p#O5+3!RE8IW=e5Ra2hlhca}0uO^V2cYLdMO_s|lu;k7Y zYpUuj_$$i26!=vYgx8tJ@MJ{^B-W%`r!}`e`Ec`#uQxZo+`Rv(fHiM>maS}6wL<9z zzFe_vzf$pe=m%<7ZfoWPTe-}aoNzoRJSPwz%9WUYn)L*_<{eL6tXGy*@TMeOP0F{W zTatmJ{pO(&t~$g&)>?JVw`Qg7xK4O|&U?=fDh;j+(vxLXQC@gqda1O?^6h06zO}7f z?@;a_?b>U*gR(=dF&cVOymosq+g94}iH_XzaK=%%qsORj3tX7q`A~15$G_?#^6MYfK_)6&H`$8b5g`+(} zub*BIzmL^;*jqyueSAVMixfAMnQK1-Em}dF$ZtS=!%YlNa7{K2yYM9UW)y${JVj4v zZMp8f{4HYl_Fc{%c=;IujxLY0R7{u37rsO6;L?3jM6RZ3Cf>sT zbd-J@#57LeITp`i6wgzW82v$<N3QgfgE#XkxZrkL}v>5ztERLfuA&AX?jMR z=+Dw>6%rb@uHUMEBtl}leu7nXeU1tdL}K3HJ%hIgyNeUXWP|EJcX5?O)7^zzNR6x` z_3q@r!36Ws)nt%VnuI6*01=8%EAT1$C2|_#~_Z>ebG&=r1 zn&@VkLJ!%%_ej6JfwrE^I@&cznjVwOIy&}`&+ge9XhMteUr{Uca%0BZnez<49Pd~D E0Y;9Bwg3PC literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FacilityInformationManagementVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d8ebd665b0525a13014664c9f31dc076f7ad5c23 GIT binary patch literal 3754 zcma)8>vI!T6#v~Mo82UvHk1|`s8XOvpF{bw=oguB z7$2jcA8^L;3m>$8KpvyE4kDr-aK?XtKS0{@M~HZC?xuO|Ogqz_J@=g7Id{)Fzk4@- z|9A5?fL(Y$hz&R%fDDa`aV`>EOmLygI1!}hBo|X0YH;l&7t>rMxkzz`DZ>gPg5wI( z{CP@2MnP7AtstjhhTBfdIK!Y!=rcw_@0(z#>p!W@XtAVbPR2&}hRsQqRP+q9@jqHU_K-Jvp4Q(t5@|OL=^zmeLud z87-Nkr}E(H?Zr#K^&MmgiZ>X{`&D6IxcJ%9>~)4%f5MC<^n{*{*;+DVX%n%8l}cG; zv@&|hp0VCD2|Y>sD5tH=^r)?;8Pvs(KUnzY`-S;$7j9l)2&b)NGG}Y1Ew*Z0{QS$s z8jQeK40A*E5GT zY8!8^mC%x7TE^gO$LO=C4C>?V>MCcf*dZ-pBn|s)pLxQ{r1Cu<&`fPoPwA#THbk|C zCUyJZ^7!go+uQ~iUIvM>dC-yN9z|$1T;7*5lPD*YE#0W0wR#_3dw3b;>_qF5ooH3L zQ>jVpQfoz`3Tp*a6j})t*6^sUC8h_obe^8nizIg-3lw87Zt;JLB-S9sbU}3c5!Vt7te6(0^J*I-AQTP+{UTAQNj-@g{Z>y!c*%^)zuUoz_jd zySv=ZWYsZs3hBmX`cQ13PmTl+?=l!3qg8~SkCSCnmW<6=LV0-m9dDFYj&}?9Zbb`u z2)mUWG@$Av+c@kA^3vq0lWgbS)fyrOMz-(9Skh1wPM%^_GogyIrGLUDgo;u!y3 z)XgFsm7@Lq{fw~%t49+lA}rqC>#$EC>#$)0~{1|K!Iqm1XL3b5vV4vMnfE= zIv~;tAm0@#&0BR&KNKY|6XzaYL=QEj0e@mYom~&z0YBmZ*}QZg{D6a``S21hqL(xY z1Na1oNb@6!X|ngw9hZTQmq}Cb1^N0&3*alt`wD46%+U?^Drq6yB9iu#rcxHrvrbn2 zMU9NXhgc_Li2fAz5RF0&tgO3IPto9&NXIPXt~t~m=k`$C#~o3h<54&rgiDP}c^5GuAEZR3 zf-4;N=Ux6~7x6Tp5$$3|k`yfZeYdXbv@exLGn2L~a9bD3IDj-+D1|%uuWN$F2WYM2^m5OVh+*DE5Gy`+3$?ZgSYZ5eLMfFAVlx* L4*k<-_}%{jBtq@f literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryDeviceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryDeviceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..2794d855147dd4050a70b26da95426f5461a32d2 GIT binary patch literal 7046 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 MtV^*jQT~(v0riAQMF0Q* literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryReportingManifestVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/FactoryReportingManifestVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8589cc83729534f0bf1217e585166fa4cd0ff866 GIT binary patch literal 5044 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 Q|J!WRYcYilBePig7sK>35&!@I literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ImportPollutionDischargeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/ImportPollutionDischargeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..06c0141fee962d4a8bce619636cd44910397b09f GIT binary patch literal 2790 zcmb7E-*XdH6#j0ryV<7OQUWbRQ9!FUP1_)%VoEFJmsZ+RTd0DFY}1`~G0nzg1Nx}W zP+uyHBQHFtyx13Xz|o?jjK1KEe+O;le-QDzyPGyi!-zBO&AI1%=iGC?bN2lC&(F62 z?1B}>a0CKJJ;(%R9Pm@e*++kkAsiZPUf#o>vw3R0X zGIU!|TZ5-8-J+hUsxKRSNR_q<>JwNE^|g&-u9<#!$jo`Qai+ZX>uEE4P;w@qPn(5l zpPo>Ae1NHrj1CMPWG$4nyj3V>*aoeXWm8*KE@cY;MQx9rwcS1eh8q`Xp0eEj%3<5s z9xrRt%D7b^{a8Ak_xpp;QsJ~Z3eANz@hhev2=Ap*4hy1h)UzN5YXw-1+6hJ3n4t{_fV|?D^%-Z!Ug(VeymmOJ7{< zx;s0!{LxQKpMJJ<{mSCpr8~dQ33UIzkui*i^j<_7&~Sq#WM(g9~o2n2KHl6G*f7o!eIQlJ8!U*}2V|eh)IqDT^Bz zz+PfkpY^{Q4xO3HSy_U*%3D)v=$a7<@+7Af_|h79AfC){b8zW~P$$XYZ8L8T{EhMd zkpdp2fds8JJVpaaTWi?nxs!65o&>~h0_z!cF46HdROM>ocZkbSLst{OK@4?vETGQ2 zQV0!q@<=INf1n|z+{XHO7+o=C0ZIv>rc^@IlonGZM!SvZJQ`zaOe+IvsW3rWN{@vl zNDn~am|g-YSG}6scxp@&Xv9-IPx^`CX*|OlQ${=Dw71}WbWm4^HrPl|7vepQPD%=1 z!69@}QZax$zElSGJ7Eh-VY#6dnlh zDzaKjFw^9o@VR3@<()0)xB>loRSTND0Wy3*P^*wTXN~jssJ~X_9IffhT~)(5QtjMQ z)0um(hI2!;^X8h)2XHWOPO&|5?6i)=52&wQv_E&+%G_zeCK3EDYQ~8?Y#e{_2!3I& z*2<^hVdMCFO2};+#5u*PWG{E!gmL@^8lz1MSSQDxKhb7i=1N%?UGK}G1w^A8C@)}R aHHYP`-xaV>hu6FwA70s~gM5$sbm(7S)H)9U literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustrialHazardousWasteVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1fac5c9da1da23627e6bc35ad884b681a72e5f69 GIT binary patch literal 6664 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/IndustryEmissionTrackingOverviewVo.class new file mode 100644 index 0000000000000000000000000000000000000000..eb03fecbd8f9cda8eb69abb4681257c42c3b82ee GIT binary patch literal 5129 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 Wj&VO*EwH>UIJLFm)3k#de&)Z_KT@y& literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/LawEnforcementPieStatisticsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..ccfdbd343208e616d995f06778590620324d39d5 GIT binary patch literal 2207 zcmb7F-%}e^6#j0qyGdZ75Xz4zDn+z`K+{^RngB{$XsP@X7-sazC2YyIVK*ilI(>H3 zQ6GHji_YluL3v@EcC>UxoQ}TK8UF?!h1z!?t@XRv1p>)boh0|3d(S!deCK@U-u(La z5BC5JVlIR?>L4&GhqHBP#yKgSm(rLV#v@!_ki*3gChAa!@h~pQ`OPpU!^LUAUe%1)`Hzj5Q;fGwhY*yj!sBm9#)?u4KE`s<~(tt)-kfYTJ%$xRzrV1$rkf zCt18^tgM)Yq_M9_j^?c?XW7in7M#3UaIfboMR|~Ba@bGPM21f z%)){}q%t2TW8@Z%f+g4frs8HT9(H;%V<$6a#>^*OBUf;Y<>Z=^oHVYD*_Rz6S|z4g z%bb_F7F{b-Ty&U(a1K_kMzEB%f>|u(T!BahhUT8?Fxrr1TkePe z&sY?wUol*|{;tE^ z4U_3!9ci55ZQ76HwI(~j$mdOaSzw^@`s^}MMXL`ijbnT~n)%uU_+cVk9p$Q?b1Q#s zMYL1F2C2hdvNfHlgfVs40~uYD$Z#(nht<2=SOk`|E(*Xob3Kuxq0n+@cxd@zVI2 z%IK0hweK!Mw+|JpvCOCL8Tg=uyoFWH-y?kMkaM)AGcRrp=g48_)|$?*Lh>s+J;hQ< zp0&Qj9fWJ+_K4Q@h}QhuCFouAoXCGY$GeO|z63s=IiitejBlat?YpRt>YHegeZwi* j=*g;-k8s#T)8Tw8D;@U{2QXAF>G0lrFv1vo4_^NVSzo_0 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoCoordinateOperationLogQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..436d64d77cfe1dbcf90eaa354ccc02843ff73636 GIT binary patch literal 9381 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 VbiaIk9w_{H_-*7U{CN1C{{nKIMMD4p literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiExcelVo.class new file mode 100644 index 0000000000000000000000000000000000000000..46e30a605c3bc07ff7aa8dae4e3e77c906305acc GIT binary patch literal 10432 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MAmVideoDevFiVo.class new file mode 100644 index 0000000000000000000000000000000000000000..308299d38b237b4382e230959e36c6378ecd02e7 GIT binary patch literal 12662 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MapPointVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MapPointVo.class new file mode 100644 index 0000000000000000000000000000000000000000..226c348a1c8cedc305eaa6768a82042a29356e71 GIT binary patch literal 7258 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlHourVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlHourVo.class new file mode 100644 index 0000000000000000000000000000000000000000..462ad2274a3ca5b6074d58560d108c6b1069af77 GIT binary patch literal 26752 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..5ce4559b306dfb8bf9763fa43a906931f1ac3964 GIT binary patch literal 26770 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 HQtST$AI1{k literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevBlRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..b2d5cb0239a38c2b3cc1e23a4026f2958ed165b9 GIT binary patch literal 27405 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 Uf32a9+>`I5{e3$9L#Bw(_xSqzjDBF# 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7c059457747a5c874ca6ce14cb2f84b1ecd711ab GIT binary patch literal 87755 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevDlRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..fb655c3faee86548a46f6e83ade1d5650dbc30ed GIT binary patch literal 88795 zcmeHQ2b>he@}8a9*`3|JK!zcQBZmu1Y;w*yXAU^v2zPKK1p_%pNs^N!$vK0VP*4#8 z5fmle0fvX+sn5TGe^pOU&#?62s;GqfJznis^L|>(OjL^D>%^Xf~nQjAjd(t!TEP*^Xuhnw@BNq1laQ51PGb_MzF2<^Y<5 zXbzz{jOGZMqi9}1a}3R^XkJ6}I+{1oyou&GnzzurjphWJlW5*S^DdhA(40c^KAO{L zK0tE@%~>?((0qvIJerTtTtIUX&BtgyL30Vsr)WMya~aJQG*{7FLvtNXGMW@LH_+Tf za|_MqXud%6C7Q3${0Gf#G+(3n2F4K&!nr>)f(R4@C15HmfacFv>>5Zljns_vQ(ey*pAI$(X31|}03`8>sO%j^H zZgq%PN>LR}9g45R&DVjP}Q>SU_bWNS1sWUZomZr|u)E6{$j;7Al)OngZUsD%o>WiAX zP*WFa>S9e@qNz(Yb(y9v*VGl7x>8eDY3gcCeMwW-XzE%`U8kw*HFblgzO1PmHFcAw zZr0Q-nz~g}w`uBjP2HiXJ2iEerta3%J({{#Q}=1=eoZ}~sRuRnkft8i)FYaDR8wEk z)MJ|Zs;0iCsjqA58=Cs2rXJVSw>0%_O+BHhCpGmQO?_8W-_z7nn)<$`p4QY4H1&+8 zp4HTIn);!pp4ZfmH1&d}Uewf&HT4rsy`-t1YU*d2dRbGiXzEo>y{4(xH8ojNQ#2J8 zh!pjvTfOCwTs>ol#MbZWkkU2k8#^pEvVUws@5n}p3B4;iB)!GZgdy<*;@ZRyj_=+- zu6ja3;*i)O@ren89a7Oo@rjXxhsXBr9hVdtYcY}42gWx}>>1a;SyJM_xTGOZLmqWl zZ2zHg4oORyw=HG*mio0ElBZW}k0FUkPve<0*v{N?NK!mKclh-~qp$BK**mG;a zt{dAACNG-&ye8#N|n)WPff4qP3zBzem+P+T3g6mvl>T0tb7#Tcp)3+L_~ z9Tn}6@}%rPnzD1=&2igrtlZc&dDXJy8B=eqo{_TTz>O(;Qbvt7gfUQ^)P-|*r|ce` zH+lNJ>xZY4yw#16(hjM_T_GvEC#3Azk$mLk8#A`1?A(1r7*)X`l@~;zo(_kfCA#v> zqqA2l$P=FtSp2<*ic}CUX3m7yyt`k=^$fZo?u>MV8}V|4Q2Clb=+7(1v3_B@|48^q5THN8s{wQkV>X z-+$Z=x?~s^iXrt1p$KL-<5)%!*b)Pfe z?|l-33x8DVXHI>!i;01@63-5OlilajCI&wM?h|^yiNy~M@x;=zrZTZH&`IKnH5P>X zt$Q&s&`aX-8o~FQ*cj+2@x;>D-dg$wyS;F_E3ZY6y;a-}guTwnt(yPltG_}<-*t0~vfH@CPv zxODRJP+jWf!3C3FwXtA`%Y%#K-NIDLgDW8~kC8F8^1#&a@)$~Cd0=7!E?ZQdGITk+ zwR9n@UAGp#1osQc3)gqOzHd~@rj>9AM$1du2D_~cE@y>O)!%aqSr+w0Zmyb|d}yYX z|K`!fu;~}KRJkaqStMP4_zf++?Sp&1>qizNA+AgXTq=v)nmhi+n8{s@mm3qurp#Y> zS(9Mv&M#$%v1hM<>t*x1BJh^^;5g$@<2tR3%|6^}8b_}0J7}c5xp(KS1^eKh zGiAXFNPOeK4xYOS^rf?R1-yzZEOqjsdG>YK;Bmt5;qQK%(+`jerD4LOn9>;D&0WiH zPTz|+z)L14PgxFsZp@engW+Rn+!oK#Jqq4QrS96-(w!x3n)_@(x?@kI7I&ZBM|Yg- zqN$uuy!Ggga~73K$bC1I-Er z505&pA3AjV(4vt82h>j>BcozSbWDjTKZ)@_TcT8{QqMXh@6dtptTWDh*133B%KUBS zvrcc1q&SO9p0qgm-~p4v=b$j^%mFpBo_@w4or5>N{l46I%i@9=gKJ7S6Rn(Ud_KXW z=(s^cWBU(=^hIn>gqwEn8`on<#iAV`vL-xOhR8k&6Fa!73dq{P^sk;4)r8z&~ziW^p|e~UPXON3|C zj>NkkM6=UE$0ZKw6PM(We3&l6d|Dntk8;;TN#h~0*PslC6R$8W+qTuZOWq<_8Rc z^`xB%tOG0qf2eL|;0Mei;0Ky{Nzv$V0vg34z%dEjjB^4VPS^{Ln_-i{?Jkc%hZC@l zSp+zou#XD2x14|;w<5sdgnhWUdF6zCxVTy61gub2DsVUfb7>LaaKhd&F;>Gw$JnnN z9Ww%-wenQxaKe7&_*|6}_AAHdrkt=}IX)HTg#F6#sV67w7l_X_Ibk0zK9@8JeBj83 ziw+~`6GW4s4kv8Gr4I^C0-yTv2y{4M8!mmo#|hg+(Z_e3uw4gzLdOZ)MA4^joUlz4 zeYD02+m+L&W+q{8QTj-X6Sk7jCtjSeU%9PCWAHAEUpYEF!hYqp7NyUZtO%<`WAK*A zBCHvV!RJC2VYO%scBMsFElQv1m;`m$sOZxdi?D`EpR`zn)mMJpU0Q@STtDs|Ey5Zu zeG+03)^O=l4~wu5*EUh~F^4%^e1yRx(BXt_qWt)zf)lohq7NWAVZRRBLPj4WSm&@^ z2R<{f2-|hwGXjgST?a0M7Gb^B{Pu>UjyWp4>E{vXaKe5awubZD8;&|W!q#wpTf_Nr z8MMw}n?ZZS`O)F2>{pK6#|itD+tx&S*KMAIIxK?TURwlQ6eH+;v`J8h5%hN1B&fp( zdOK_q)Zv8f%IPgICu}WR0sGY?@D`M(LWdFb4$~y4!wK6&(fdhG*d~hJFml4SGSJ&X zPS}P^@A^1ln<#o$#|hhY(0evc*sg=#lX1c}QS`2h6SfwmH&b3?Q)ApBnVTBJW0Y|} zWKxD_QBW5fg;nCaBzV7?lyTc*QMM@K2FIeHp0+5gE>8#*wNY4KPC@Bx6c&k*q!8*c*Ow-|k52lp}d`%00b z^dIp$(`U=;Duefm2S9WGxSkcF&lfE)Nu9DPeakvIj zAEuwa!W)Oa8Y8EBI`nbZMqgPz+>=qC<-;8p^;sU=Poa<7CwQg1CHiW_#o%5Def(~d zz8d488yo5yKpm!rUZRa%>fzEhv&!_}MmEFZ4T;M323`f9|{k9q1F zar8r+`bHf6h^D?V4nKb8qK_Z3^wqd7`i!3X#(DktSxJ3%Ui>6PpUsb-T?c)5O^>tj zu;=haWoBH}cVs6!7WC3B1w|40xrV5AaGq4(O{<7rNM^k83-;(xsff8rMM= zYU&%~pvy4zjk?f9milJAF%G(7LT4N6BLHJHGytSFnjUIq0Dc6jW*mXj834{>0JvZS z&@-@=C&IR@_#*7B zrC+6q+G^4t(1i$MEiq zA$|_L|6<4ZIq(jP9pm|MF))tdazGJX5EwG^(M7>HhRXs&=9uZyz>b+?rpp66W}bsC z5ymlI7rIQaW9FD+@GZuU@pIsE!H)5B;F3X)(M5wHbIkO{fgLmR(OUy{%*;nO|LmBR z&m1#dP7D?o6o&XY`0Ud?Ib+T7(QoG1F`ke223=qb7B|ZbnKhu>VRp={0p0MjWBeSv z26VxpEM0OaqKghiblIVZE<6mGb)g@B?3h^>x)9N0bSYxUtN~q)*fDd=bV*{z%rVnt zi5)Y?Om}ze7}Q0B_gg(DXx?MRXlw2rB9sY%N_G?T;(z%7u$t2q*o+j>_B9YcMjMnKqi<3J@ho)l zGLG?lbn!BdVe=RWC)+?+X#??d(8Y@$ql=e;_&Mm}WgO$@po^DrjOU|^7d=K7FGR-T zWgs)3v3SvAbn!9}HmHHjG1DhB?3j5D`V7W6#_K|NIP4fd2d|5?z95cskEMCSjsEY>3 zT)Ysn#fw2)rVz5li$U8_xK>kuix(5%;>93bkO^S~CS+617B7(67cX${TD-u&Yw-df zRtWRDjl~O((VH)ANTRUtdb%Hop7FYEJOKe{w|^NWVy#-ee?Q9}vemHqygGa*VTxkiYxR#_J!S4Xr3 zkg^@k>u4^b`3a0O9MO7ZLx}P+nvG~Sq1lXPE1GR+cA(jbW*3^>X!fAli)J61{b&xL zIf&*En!{+0pgD@>6*R}tyo%;EG;g4J6U}inZ=rb`%?UIo(Y%A^T{Q2ZIfdqZG^f#g zfaVOEvuMtt`4G){G#{b4faYT~pP;#f=2JAEp}CCa3Yx2EuA#Y(CK*i%nj2_tqPd0U zb2ML|`4Y`nX#RudHkz-|e1qm&G~c25FPiVs{D9_1H2*{Me`tP2^9!0^(fo$y4j89| z#(_pgqo8r3QPH^2xY1~6JZQXVd}u<@grW&UlMYRKG#SujM3V_kW;9vQWCf!{Dp4WI zOUjxMM`uTu5JwM3&k#p1G=0$YMbjTm0 zM>7%4WHeLJOh+>l&1^Jt(9A=#0L?;7zZlU{G|SPfM6(*r8Z_(BY(TRS&1N)P(QHSv z6U}Zkd(rGia}dp8G)K`KL-QJ%H}Gu75xtG(B${{8oI-ON%^5W3(40qe0nNu~E}{7h z%@s7)&?KX|f#w#PFVK92<~Evd(0qsHdo(|y`3cR>XnsX=2aN1MqrlK)6_Fc_2aOL+ zD4K9I>Ct3FlNn7`G&-6bXmX*+gC-xE0%!`NDU7Bln&N0mqKU+_MI-W~DTAgQnhIzt zqN$9gsssKqQC913Lm6vjjiK@Vd*TSHD2>CG7o55}&kHGnN1W8wakA=u(E1Y10YV2j6*c@Eg(@nhyWV2j6&!4{7r z^Bl0ny0FXfXQj!y88 z2@I5E{QL#4D|kM5?FRpk9qi~1L=Q*Ldx>2JQh5`Zmhn}gu?&diB4Py)D@DXA zAXbZrmw;F!BGv-2PDHE+VuOfy8HkM{ViORXMZ^{$wu*>tKx`KgJAl|JB6b0>TSV*u zVy}qU2gH66aR7*eBH|DbhegB@AdZTNSAaMsB3=dJH4*VT5U|g_w@cmx;&5D_z;NmBH|+;E{KSWKzuABJ^|vA zi1-wU&qTy!Ag+jrt3X^65!Zo877-~x+z=5rfw(0iJ_q6p5%DDuUx|qS0C8JHd=11m zBH~*hz7rAu1>$=V@dFS)iirOK@so)7KOlY<5x)TOtBCjwh&uv8mLwVP-|p#lSq1{` z>Fy<*K&YY!7Z7d{p#k9$5ndpCA|eEcP!SOZM7W4Z2Sj=ikpYN|A|ewInMFhvAhL>x zY(VHDB0CT{L_|&?a*2rCK;#h-d4b3$BJu-KKtx0UQBXt_0-~^pC;~)L5m5|?;v%91 z5G6%KDInlp{N65!0wP)z5d(x@M3e@ijEE=;L^%;r9*7Def&fubL{tKzvWTbxL{$+{ zO-hy=_^c9aO-afPm5{DUQo1I^i>;MZ=ceMvB*!92RW=oWMRGJQQEZPSQx|~Jqy!k^ zEO}h=>CQK$^y{RMlDcz`vC>s-H)w9_|;Y0^fILWT-D9X-6x}M!8N=I^l zC>_bE=Ri?TCd#4bw29J_Tp&tMa_hNJl$(ii>A7v93?vVTGLXD_9u(zeqC9$DnC?<;3qimuaBpO6HNQ@qhq8KKM)?;j< zoWu{JoTRkwM^R}e^6RB-qFkg5h;os#dKnazWuh{AS(_*~DF>q5q`Y1ZMdg{OoL=50 z%0nuEC=Vfe1r!k`s-P2_C@-l9qP(P%UJ*r=n5d#&$tKE2DuXB=siId#Q57bttXHv# z@{_6{%1^54RZ&!piK^<=Y@!0BI*1C88hUjU)nKCPdJUT>g46_21gWLhL{Tj!s;Sqq zi3*b1ASy`e=(SN)hly(Ib!?(Sq%MdGk$QSv6xCy*x_UjEs4%GyqQazsULQpbn5e$q zz$Pj}8iJ?@X{0wqQ6na5s5i2Siju}4DoUE@jZxHui5lxoY@%YMDTs=ZW_nW;HDjWt zdNZ4-IB5=|;-rP%97QddsJY(4CMrQ%f~W*(rME;;D<*2Gx3Y;!lGY$9N!sYGQPhTs zTI+3WqEe(Sh)R)mdRr8=W1_ZtJDVtyv7chqQ3ob!uXnJCqDV&&MUhT=M-+8p zqKb?s*vFzszRR9hok5zCK|3kWfN5;PlKo`8KFOo zq7h8=v_8TnszyeFs2X`jABm!8m}sQ_j7?OXJPV@gCdBR6catKkFtqslF=ZlNyg}-Q8b2$M(bm2qFQ7uh-#5>`dAc=W1_M8IGd<884se` zWP&~(MH854ygtDuszWA%s1BK=PejoqCYq>EvWe=F$snprrs$JVG=+&K>r-r^dSohy z>XB*sR1{5PqN(~co2WjS4x;*GhCUrdGni<)KEozzKxTrd0hy)GMA0lJnyJsSi5imG zAZkcn&}XCQ1tyxUzhDzJB6C30h|JaJplB`=&C%!DM2*Qj5H%+A^?4|o&qVX|`8H7# zvH(O)$cy>{6urnq3-lLlqNZdah?fVxoomBAcigSq!3PWQo2QMN61yvA)D6 zYEG7ds5x1tFGbNZCR(a5vx!=enm)cmSiP}T9Q@zN))YPqLun8 zo2V684Wd@$C4DuDUSguv`b#!ZYqADJt;t$_4T{z>(HecNP1J_015q2YUSEfz^-Q!* zUvCq&B^yB0mb|QQK+(%gv_XH_CTd4Ef~XzYq;EvgCMMdbZ?cKnlg%J%PqyfrQM84L zHtSn#q7Gy$h&qsM`c@QeW1_A4Hk+s;*$$$PWQV>TMLU>iyS~FF>O^*es1ww9dXE@Ur=x{!VPUKH(PqP_Y)o2V<<52CK*fW99^ z2bgHTe!wQ`Mh=3g8#$yOMA0E8I;bDAiDJoN5XF)s`e76uVWPwO5u2zxISQig`Y{x}%0$QXS8bx6AJ5>nCiYKI9~b z`jB_@lPG$JiB9V8*hKNEzmyq+K?iG{|-2x^N7hImq?o`oL#SS3zz7$7CrYT`{>K z98;uX=_2GtfSgj@bZ)sZAXRFd&LKAeth-^3u@lasr@2@}bZdP2ZkcR>)sYHk7l7|5*r8EoqO&$&?QfU+NKlv#@ zQOeMe3-Z%|qLq;$XXFupVw6Q8yX298{K|@uE%GyfN-IZ0X3Eb3Dx0jlI|>HAq8 z52&)Uz3+Q@0-!3+r+gpE69H9qKIeO1o&>0xbE$8;JQ+}R=W5?Zc?zH!&R2cY|ua@&= zm0tkVKyBmwpF9UpL$#ClTX`;^M(RlK8F?O{#_DMAyYhTMP1F_ME%E|DP1UvD_412= znyGJiC(8=~HCIo1$I6QUwNO9z_LLU`YN>wh?IJG$)XEj^ttu}C)Y_HVTR~n1sEw<% zH@mzXP+J%AW|CI`YUgV2`CeWLsJ*MJ=eE2GPzTp@p7-U|fI7Oyc}~bL0qW#h?b#@= z0o2*G!LvqQ3#g0hEzbmb9iXnR_dKKI^?W2--QBe>5e z)G})o8H&V5Th0%({v&V52Y z3TU`C#r?Yc3ZSR74emAaF+fjiTiwg$R{@RC-gA$VUjsB!JL?`HzYgdb?K^iz`3*qN zYCpMK%WndD&XdhuRz42sc~5S4l>8Q;QJ%`~^zz$)Mtf?yeewxFV?5nmU&zMo=pb4H$u2u3WKodPXTubEl0ZsCpc0DVf1~l1o-ZfnQ z0MHcA53Y9d89-A#zqne+X8}#~=5YDtbAYCM^SMgO9|D@;t>y}o&jXt2t>e<EIDi-2D6PElW%KL#|%J4-zxe*$Q(cdNQwz65BVcelDw{uI!B?^$(( z{28DH-izuG`7)pvy+5g~Xye*tKhfR2V9k!L9ypjSdK$%7ORpktxenI_B zUJolQ7gj<6y%APY&ZmR{dNZsMe3upu=y+HQ$1h4cKyQT&a$Hi<1A04bxZ}K%0nmxC z`Hp=`MnEUSmN<4OnE<^LcF-|L$qeY-uw#ztN)|xxgVCFVCi{Sjkzr7=F#1GhM|#C67y5 zy5j33cga1{kZyQfB~B!CCu21H>e--NM5UC9=r(7nb5jUmWoN}9#hiH`2 zIHj4Cmv|`U;grXue8fvBFQ>dF6+(QJ@^Q*%QlTV-QX!lQF{v;TN~uszg_=}238PdP zr@~As9SNsYIH$r*Dm_U@sdSu5XHpqRdP=3|RC<%jNHS0=1E(^WR3?&@`sjMUmrLu4;i%Df8St*s3Q&~+)C)p^KjZ@i7Dm&3BrE^L* zsT?FbrLuD>yGi9FIVhEbQ#nj37s*MfoSe#OQn^VkO6B5IE|bbba#Jcdr*fNAUXq7W zc{r8Fr1Fuxl*-Ggye5^OQpHG7N)_c)QIjf8iczW< zr(jtyR)7+uIHihns<=s&BqbZGH%7`jON>a*PY&4y(Hj$(hrAqOrQf5>XiKJ8{ zry@-%nnY15ic?W01^>_`rJ^|%ZBp>BUs5WDQ!yr0n)oT@=ak>1%8=5OD$S|VCRLV{ zp;Q@8l`*Muq%5V%a;mIJl_%vWRgP2TOsWDYPpR^pDsNJRRG?G^PE|0eiiA*#aEh2z zB~p=66**PWq$-n2l&Zw3N+wl>RHjsAPE|Iks-y~~s&J}`NmV0NDOHtIRZXfosYa=4 zoT_G0HArP{VCRK;jrc`ZC)i$ZR zqz7nABnx>Bkur@ER{Ea^t6Zk+07Qr$@`rD8c1 zYf?Q(cS?2VRCkl=NqSJK2d8?NR2=C^sh*tbX;QsN9Hrto6=zbtNiRzE;#4n_>O*={ zsyC;4n^ZjML#aNT>SI!UNj#y6pY0QVEbx`q_Iy zsSGH@k;QvNsRAg}5$#>AR0R~~Xyl!wR09<5=ALF8PY~9Xuk$uYrEiK2n+i z%A;h}4lB(8@2a8t>|-^afN`9p`GM^Z`^(UG6HQ!~-g?9&lw>`U0w; zo>T8A{Qwd5YxTO)A5cY?Pkmb%0H~6ykh%pPvBK9tuIlO>B@s{+S10u;WgwucuHkBD zWe}iht{2oAN)n*zuFYy;WiX%`uD8?>cu)&p1G%m_zfpz)s^$94`JpllP;IyFJg5u@ zRL5P~xk7mgP+fOZ=Xm95K=s^xoqd%Nfa<%)JDVya0X1;1aF$k{0o2fa(5WlW0&3*` z5dQUn=KwW!e*^y#!t;QdX!x%(i~`hDD-8cG#Araxv>M6_${0Y+wa&_LWh|f;+EYp= zWgMWE+8m|2G9FMXZHrP!nE3}-H7d}mt8Gt%_R?2>5CZH~!Lvl7{7ND-4^NwGY z*?_uvzI9wxUH}y94Rsuc2i@>Bkhh3qlQI`j4{uG!Y-Jvxp588wVaj|!ao(pL9hC)u zdU@wMswpo5>h0a?Cd6dAX zrDe)8Km&ZurLoF#KncG7QXgdnphVw9sj;#W&_LfR_}Xz5ph3RFQdVU(pd@@uyCT1I z`HqxTf`8Vbgu?+(Vc;kKcVNM>eE4f5ccjdcY6?t^^X@}T=Ca8wW#CaJcHb?w^a6r~ zX!nFzQDTk-dPIR%Y^pR1_ofnVWw@V$CGn-6#LDwKB9HXE>N;lU-hM*ar^*eTKleG2O=e=LTbDE%Kfk#(*=9L7$U z;SZk9I^&;-WGBt|$4_dV_fH11Q)l{9r?$@i=i}J`GXL2DSY!B0DcCUJi@0Fkk8o1q zAND@|t6A7!vi`NfSe1DIiP(_f+sVIDAERijN)IL%8<_qe24+?4fu&=^%l?3dXN~Yd zW@LlR@!$q&jq?E~Wkb#RK!<9L_QB_61J3oJ2W*Y`Z%NIDo%?SXwl(srCU#K;{{D-yuInE< z8N0NIf8^4vtNZ89$1bqoKXrlDHU6WgWS3d!AG}QKO8@DzvWqSJ&t9x`z5l|A*(DeG z$1mBs>VN0l?81xw8y9X}`@eR2cKOBrrOUS}@NbTQ6`}aQR|KmL|MDPMDN6jSrLd~; z?~j8O1fDnj^#?C-U4P{ddv5bk426}Y)I(4ft6LtH(Xiq~J{-ld>hll{h?OYnp(&A7 zrH5-wtWePpQ=zO{J#@oj<%)U8%4JpTVH_DNn*ZS|npL-lba1S6r60=DS=D=Z$Hxj- z=3y5(e6RqaP_+^pc0AGLy8HGd?B&dOfp z5iGk^`A2p1toT(Q&Ei}2e}pf9O+mFsb_%Rnc(kv9O+@uac_OU2c;qjGO-GGKd^)Td zc^s~UO-jv2e^RV@c}y;bO--%GVrs0}d3>&iO;GK}WrD0ZdaN#qO;er6Xqv22`UU|Ox2eNwKLO>WaCV{)ze zeS$8SO>wg)W{Ry@ezLBaO?2}oX`-#Ue&Q~hO?QhYY`U!(e-f{pO?t~GZ_=%Ke?l*w zO?|5;a_X(we{!#%H9+epwE?Uic%n!$FwFfn*^(Z z|6vcOlvWhpC$?7Ul-4S?RD@{Pp*xIH`THD;yHdg1P zRp;K$u{BTEwB`{tkJUeE1rqj;t%bU!wNNT8WOY$mjZ*6(TO-A$HB#!0Wc5;7neNj| zwsz{C)=u|rC#$2 zm)2mxHJH_7X(bD?$82rZE3M6fZZoUX(yA7Gr`ejVcUrUkk!G{{Ev;~WsNZZY*C(yz z{$R^lU6)q7KiYM+#*0sDyg%M}R_~>i?@#oet^N9@wcnp=KdS@ND){F*(AI?g(wgwk zHlfvrX+`|geQ0aN{%NiF7h2Kk#{A&$q^<-Kp|6)(t+A<-nE&p;` zTAi6z&A;B6w&qMsYt9GJoK}CP74(7hr>#W?rnTq;YEi38(`x#ly42RFgVGxH!8NMY zt7&C@fW2yK*QB&|eW2}Xb!=K?A8g0kns#tn(>~~?wfZ)#xDUKoLFANM`Eew7~7`!Mjc%3l#U19Lzz~GI-;P-^VO9F$p3WHAxgO>&d?-T~VFAQE5 z7`#^)d|DX1JTUm6F!%#u@QT3Tqr%`b!r+yG!LJE}&kBQA1qL4%2A>lKuMP}8DGdHl z82nOT@F`*Nd13IHz~D2&;E#mCYXgJN3xh8RgVzNHe=H2XC|o_)2L^v84E|Vn<_&?t z*Mz~J2!me^489=@z9bCZ7#RG8F!)np@TS1v+rr?_gu$BwgTE67Uls;$2@L*G7<@$- zyfrZRXJPPFVeq!V;5)+LYr^2|0l^MM7<^qAydyB!EeuW;2JZ|E_6dVigu%N4gTsZv zH-y2v1A{XPgKr9h_XGxK6$alD2Ja0F&LIr`To}ABFgTAe_zPk1{=nb@!r(83!3P3^ z3k!q45(Xa(3@$DV{*N&DP+)MRF!;7G_;6sbUl{zgF!)Gda5-V{H^Shffx#7p!QTpl zUkMDZDh&Qk7b^IL(zU4_9v3xnSd4DKNe{zVvkA~3kOF!)zt z@X5g7e!}42gu(9w1}6%G?+An64GbPE3U*4u;P(Q9hYN!p!r)VZ!6SvivM~7lz~JYF z!HO{WbYSpUVX#ve{6S#wL}9Qh3_cSWJXIL%5(b|Q44x?rb_;{g1qRO%25Z9L4+Dc2 z2!lPs;PZjOi-o~nVem(R!OMlgK4I{Mz~I%w;1FT(#lYZo!r)M0@W+9{8->AP!r)H= zgSQHU!-cEorNH2w!r*kmGk+QwyjK{UUKspYVDLdi zw>Zy;VDt24dGd(!j0`qUf0ie&c)p$qHctYZuYBV1JR5ADfowea#d)3!Hct}EQ$T!O z&j*`l2)nKb@pwiBn`amsPeE~>(ZS|ERSEDXJ)W@ z=CC}a#d&50n`a)&Q%0O;cCdLCusmhO>*@=^=2^(r)pFwT%n3HnVm6-g;yiPM&9ju{ zsUXfXFW5ZGSso(JGe6ioD_Ne3;yeq2&9j>2sU*(xVz7DEusoH;c@_qnXC2E^MVx0* zuz5DHJXOVc76+SWBg<1woM%a}c{Z~=)x~+12AgLq%Tq&~XIZd$wzE7n#d($on`bA> zQ%js@MX-5xvpluMc~%CSXD`cBN1SI>uzB{gJaxr+RtKBsAj?xvoad!r^BiV*>WlNN z2{zABmZyO@&)Q(~9AkMJiu0@sHqUD;Pb2Z?#rk0Lyum&%8jHuXA=o^}*?5|W^Sm5v zp0`<^rs6ysgUxf2HYoM%U{c`mR#ZN+(Z2Ak(&mZzOK&#qweTw;0Ji}UOb zHqU1)PX}?HJ;CO=!t!(!=h+)mCvl#A!RAS3c{+>p><>224VI^iIM0D#^W0*2 zx{C803^vafEKfIaoj#CgsJn z4mM92mS?;;&y`^Flw)}&i1S%_DISe>GKR<7}y6d8NM`d2;#2{9E$iq z1`b1f+rZ(7zc#RndA>1lIz0ZZfzu=Y&cH6z{MW!4@c8!z&WQL217||~qk%Ic{-1%f zApXg~SrPxAfwLk0*}yvDUkscb@vjEXf%rEA=R|zRz`5WhqeC*B+|+RxP9EyWhLe{% zP$;ZdKI%9PCqH%I(vc}Z9k@nx+;FKG9bnOkpp0fX1*zjPoI=#`8ct#A;3Pmy5$fP9 zfK!w@I1S*y9~d>x1EAv6!HEE;1a+|b;FP2emLHr_)WMpA6G_Y zL#Tu02d5%+u>9auq7IfHoXXU}@`F=_I#_;is!|6l4o)@dV8y|yP93Z`I5nt)6$hs# zb+F>#)S?bn9Gu$J0f0^&>R`pesY@NKI5_pFgB1s-K6S9-;548PRves$)WM2_(}+4) zac~+_2P+Ov6Y5~a!D&hztT;H$sDl*;r#W@7;^4HP4ptnTmej$DgVTySSY&WoQwNI- zP8;fAk->q6gek!ygVUBWSY&Y8Q3s0*PJ8NLk-_Oe9V{|99jSvw2B#Bsu*l$arVbVv zoG#SCB7@VFI#^_Ix={y<3{EU{u*l$arw$ewoF3G{B7@VDIt>gbjyhOmV0uvpiwsV0 z>R^$<=|deXGC1+n!6JjxmpWKvaQaaPiwusJRtJj=PJhZ^k--^29V{|93Dm(NgOf-d zEHXF)se^R|XApI;uHYn52kQ#XVCrC9_c%HR{KQJK{gVLdM)o5q**O*e?!R-Iqbt1n R;HOg4;Xg(mJJ>nn{{gg-dV5FDZ_v|C?}-8Z(DX+$0L?%&gU}?S8H{EK znxSY?&+G+WSYMY9dfb~HQC>_oE* z%_C@bquGOIFPcZuu=BYe(E&6E(L9FcaWsd}97b~l%~3SR&>Tl|0?kP@r_h{6a|X>> zG*6&;63tU+o<{QwnrG2G=hx2#;qyG2=W(E1K=cBd7ty?g=4CXmpm`O|YiM3a^9GuW zXx>C~3C(3RZ=rb`%@s87pm`U~duZNA^8uO<(R_sFV>F+jxr!zeO%|GKXs)CA6wP1I z{1we-X#R%g?`S?p^97oJp!pKbS7`o;=3i*OM)Pkp|3UL#H2;U@8#Ldd`3}wZXnp`= zXlOiWyl4m-9gTs;hsKY_L=!+0L=%N38chtESTu2Ha-hkHCKsCAX!4-RizXkM{AdcG zvCtGmQwU9AG)2%9MN?TLri0+X{4COFw+=r8mXp{W*Q?*W29+} zGL6xuk!~7eOk=ERj5Ce#rZK@ZGE8HlX-qPW$)<6aX-qMVyG`RB)410(?lX=1P2&O6 zm}(l+Ok=uf%rK3arZLMjW}C(w(|FJ{=9(^zO4i%es&X)G~~rKYjW zG?tsj3e#9=8mmm>VbfS`8f#2rt!b+_Y-H7B#$<;t~ZOT|+%4e-Q^69EW*AAY{-0)EGtPN|f9y{~N)ahAMPhLHC;^V37GWTr&#m7_E z;}McGlDk19PWrT(IKm z=>?Q)5tOGkU=dTo+<%hElOHE@gO7dt$vJTJAI`UZNncdeG?$3Jsuqsz|k5)8P zrb<`Gqvhv1b)tkC9xWkr^YYJ6J(%_2N})Ws>GM-_GiT2d2iQM5^TZCjDIrepHCPC^Lp8EW?hP2)$TB zYM}o3J z=dHa_+qP3O&sq~slFXWQ{A}3qMU!fY{+V;)e{^JRxA3Pr5>5^4NS0CEkx6h?SVuC= zPj+MyoEO$)F8zs)OoFq+I+7`Wx+9b9)5Eks)saa!+OZ?~@qe@jd(${Amyta7{1jCmobLG*j1BdY2 z7ha#lc<3)%J$L%`Gs`}mI_>(_S=UbQQ>vlIN{QSzs&5>CyduzP1!YCD*h#aiD#m?c z0{bQ>CV&*Gj&lKiKriA4j7t1~9>WjTDT(-11}_mBi62mV{NPyE;t;6A*lk=gi!y%qu z%tER!R1yw;AyBstzZL~V26pX|^^>iG9?UBgs@6gO*|k@+t_FU^O2BvO)79JHB9^&& z*VSWFv-WOQe9LO!w@fXCy4&^YfnV{OC@q_LY{vC156Q&W&#r~bmGUgtiidtkVBe_~ zd)d*pHKvs(wh*Tp|wKI_`_x!2~*$XdDj+R4>m;WBSm zDT80%>)@BWG*{w^>*P$1i??slEqp$#gH_6(d1}Rv%>#Af*{P9&@GnN4>TqgG^Fv)f zwDJ0aqvf;K&CQ&*5&pZja83oge(if=pAC*@bLC(>A?QI5;s={62V>RIgF4{{92q|# zJ$}F$t|(`DSd~H7eY$#P=G^HxZO+>6>Iqnkv8B%7c=*y3l`&UOpS`wxSD4O79hZQW zDw(-x3AEzsnVne&mR~=;4=`_my8%Y(1ST%QI~ByDr(prRc#kVLeCe1Lnps*V=GyB^ zk3oq`%TKbAdN)g5CS*Wm&RvkXc;SuHATFhtK5ST@n6DbvOdB??ZS9TYnrY#D6c!!F zN9f$?V_RiTJ!SWWI6Ryv(Z4u;VSTRn^0ItzDqX^rt8WzY6UKyavMcZdi)FUG+*eQY zECxnK2^O>d`q_sw7jA?xapQ>=-=eVzIL-=Ro3-sH&Tt@k=+LxI$>Wnp!+eJWY~H5K zMbqKdrg)pK9Xoimm?5K5lGB^XyB<=$0!{`^;hqfcz}lsyr*xP&dT`44Zpm; zh9r;bkvu*PeNm`qq^3=PsiWPH^lC#=hNO(GmXSPa{FvmS)h3Op)_zQSvy@5AM)BLk z9v$HZFQ#io@{p13lgEm9U%j;Sw2TID%QZYDqlI&qnWuaO)qQ3Zs34`d5%h!Cf!zRN zIo`VQn?9zJ%|ca6b^|96j2?lY4+Vm+t3dEY;|Q;k0?9JGGVwCJ2ni(f;e|z%$$WUh z5M?lO1cIR<5S(y<s*G|(p4ZkUm}hp zQD*03t43ai3rB(McCh86D6`wa7LlUNJ}z5I@-o?1Y(Xi?meAj^r`egu~0^G1!E|%Va(_;jl6`;UMA@4o7xAKH=~( zJ0G8LSQ(peIKtt@k=+h<%PPw3KM zO*mM_CmfFKe0;*;Wp+FGgu~11I`avKm)Uh@_k65=No>MlEZ)3{GP~t`!r`o4D?Z`y zGW!hj35S)*QNkx2US^LvKH=~(c?{X|BsSr2)~+d^aIlO|IEeU!gNRQ!i1>uVk=+}7 z!r^6hZ}15R%lL%D5l%Q9*?qv4(W1=G#}?C~%+AM_)S}F;Gg~X0kk6iQ5Q+&$K%80- ziU~(RS1HuP7T|;<1UTUc2oq zR_No=JY#NrxGpGIpN`2$O&RaeVsWii+VvazfIl@4a*{hd z(s^($BAo(}TF!EIYFWTj^GD?(HFqQdz3LF)NCNuUA;6IYoO_1=M-njf9ReJiz&TVB z=t#mHfe*WE0%r{wfsQ0#JU9e6l5n>Juj`UeYB^p) z9KzK=e1hu`u6E!B#vxqo!0U}9&=Kummmiy8jwD>|V2@}e;c5rFQc1$qjzqk8i*dbi)zL`uSS2H6r%60UZzTTDr~+QAlpl5n+y z-GEBM)eg2il!WUHvfEQhxW+D9JO$`aVi#demMLz2^*m z<5MO~9F+mJaW8iRrJa?nQJODg1ErlcEAVo8YLw=yQT7R4$UdRJ*e47>_6Z{aKXH;| zpTfs^3w@lk*r$lc8HxEK9_Jh8Lyxjg=sxxdeZ@XSK3r^}j|(mKDe~bmiuocRE|Qop z;&BOtJ}z?LldWmkCy!?<7UuJKc3+J?E#d+6gek9~?f;{31+ z7%S(;W%tI+=j~t@AM`~#*gY}xc{|wsF!Omkl0-Y$#LvokJ=nAkKAXkilTF(2$>wPI zWK%Nx%-~_Q z5C@PN0H0hqkR{N2yaW!%0UU<|s3-?;Bo0{9#aFwu{NBRXG-C{Zo)6!}u45*SACl4{ z4POuB4Sm{Q759n3`;7m!{i|-YC)v}(Z)}e?b{IST#;$1N5%R7_%MB~@#47O#@L%!x zc*_2RH+-SH&zek38#Od#e6+W?*NQfF8+)RSy~d*+%^M#dt+(@*jP`W*^oaKKMbjV6 zKr}tW;2>CXttu+hGsjO9cXr<*@fm2G`rF4L9-Xl zqiFV_Ie_LdG>6a}L30ev2{fnBoI&#hny1h_gXTFj=h0k1^CFs;(Y%W0bu<^zTtf2} znk#7DMe{zI57B&#<|>*jG}qDm1GjgH2L#zYfD6OASoO%61<(Bwgr&(i~5W=8VLDw7XegSx zXzHP5parnt^Brp-DzF7|jqgL(!z58HQ#!np8At zXhxtJiDnd<(P+}qj6pLN%{VmU(M&*-fo39_NoXdcxeLt{Gppw9h|WWg-(Ix<-@xAuym?i++MAK z=dWBG*DJi-Ua<(3ShH{yu398YlqgA}>JrtlQ9=!gWLaXoU6v^GCCYq>GGC(1mngF& z)|9ceB&scuJVuf{Mv^>6k~~I|JVuf{Mv}~&B=aT7eAVqNu+kAngNuShc0PC@W0xh! zvIM8hZU?M;q|R;!tbJseeOy@o*k!V>U=1Y8Z8B+F!GISyc@Bw3k7wj6HQZC17%)=aWY=98lY zR!)+YHI*%g^^;`nn!*}Nl))-WAXrBU1S=_lU@aw)eGFJn$uhegu%;4au&R>CJ_f9; zWSN~0R#&pj&IckK!8z?zkdvz3;BxYlwY9uNh%-g2O;6zd@bSP=p7_yS@D z1jHH$D5`+#FDQ(zTwJce!1Yw{XgQp95Pwks7ql_shgVA;n>-{nrP`1&qesK;d$vtK zN$k__o{@&{AN*+(nvWivF$Lx;_nU~OsmbHJ!aItT^dTwieT3@>_JYqhDkXh*2JA=* zOqe)$0^9r#o7Kv{oFghv%vr9w8QTb+r=OWKTEv>DVaEi)%N{ zr6;=fa78K)@O=oEQKEtoy==K|sLjGn^O<1S}H6iJ?Hi!ZDl} z1_Uf7!--TNV1XGnG5IIiF(C7i%<1vf6?1dc1X znF%LwT)_=aIDz8|ZhFEA99M876i(o{f}5jo0>>5HFohF1uHYsroWOAfH&)>Ujw`s? z3MX(}!3|hAf#YhgiokINH)`P#IIiI4Eu7d71l-Vt69<8So4j!1aUc$=^q zIUwK$Hk^1K2)L;YCtd*JMHTT95ODJw9`Onga6=qUyaoi^B!?4k0C7=8ya~i56>%8| zxWNuj^)?W2(;ZH{0|eZNhZFAs0XOI2#0NmY4SP885fE?_A5MG%1l-t%6PZB3&3-s> z4G4Gu5Kepw1UwW7C;ke=XDZ@vK)}O;@QBZWfCmcU#6N(5hYaBa&J6J2A)LUO;h!o3 zX9jpc5gvgv!`CVTX9jqX5gvgv13cUaCvawf2Oi-B&J6GnB%JsL2zW3OPJ9OhJS+(( ze$c%5040p@!oxFss1i;PAmBkuIAH(*4`0FwKM?RhCY%TW0S{@yi6|hVRYVLB@GvJl zA`S?6z!Og71OguVgcG@e$fF|i0+CNe3cR6L}4j%nW2 zntl-B5sl>1!EDkhRy?U0y^m@>EGB|8h91%UM>I260L&3Bcv$lsge=5c2y8yh&@@=w z20eYXC{I7Fpr^mq*fYRe7`SMDG;a}aQBCs}gA!fyM%94Yz++EQr)r?VIvEv@YEhWh z%hK|S=5VDkcp3;R;Vl^!d`OEv5E7h684QoY6u~i}!TFWJ@CZ#292**3P#Fx5-W0)c zp}|Fz!DW@fp3vap%3yfZr#Nzs(BM+aV0c8R2+kQATvizjj}{fdxk7_0D1+gVq#`(X zXmDj^Fg(gs1m_72uBHrzN1%$}yrIE~%3yeOstC>(8eBse43AtD!TCdjYb%4{QLQ4l zKxlAXWiUMARRmk1!3~tb@Mu^OTrf1au`(DQDJy~tg$6fM2E(IhMR4KJ;Fii@c!aG8 zE)p8tMi~r`z7@emLxbBZgW-|6BDh#+a3^IjJZe`27Y_~Ystkrl^ormTp}{?r!SHBb z5nM7fxVJJGUI{3ION9paQwGDU1VwP^(BOf}V0Z=I zLlImqG&ofm46jNQ!R14PM=FCGDT6D72B#~78!Lk=h6ayQ2E!{IMYSu124^UP;Z=|# zxN>OlWMweCLQ(`*2@Sqm84RzU6v0(PgYQ!Yw@?OG3k{yC42D--iX+E|2G39i!z(gH za6)MCY-KRKT2llkh6c}72E!{kMQ~DR@O))3yvkDqR}T$dqzr~vfQsN6p}|X)!SL!( z5nMAgc!e?;UO6g)YlQ|stPF-%m5Sinp}}jF!SISx5nLxUc!M$+UX3b(X=w0fWiY%_ zRRq@!4c?{G8kT^D}tMa2A@?1 z!z*}2aP!dMrRu7tA~g6}WiY(*R|K~V4L+|7hOGjM;8vl*FDQdyi-97zb!hO* z%HU*WaGTKJ*ObAqr9pAzwxPinmBFwTLJ{09H2AVI7`9L-g4>4%Ur`3b)(b^&htS~n zl)=N4!5u?`KU4<8Ru9FIJB0>+q6~&DB8uS7p}|?oVAxus2<{RZ{HZb+wxlS6yM_jT zrVNIyEQ;W6p~0UkgJBDdBDi~K@R!P9*gB&K?hzXNFJ&-nxlsi73=RH|G8ne%D1v*1 z27jXrhAlpd;NGFZ-z$S*Ymg$iPe`!GqYQ>EMT+3Qp~1Q`7`7rQg8PLA`<214g-H?I zKQuU~42G>wir@jE!7<8U*fOOE9vB*|et-yDtrWq7LW6TFj|^M16v4@%!TFTIu(eAO zJUBGiQU=48Fh%f?(BQ(#VAx8g2p$?5Tud1ZThJ82DWSn7mBFxeO%XgSG`Ng17`D7A zf`^9&msbYERyjp*YG`mJWiV{9Qv|1l23J)E!`3`S@QBdh1Z6O6=~D!c3=OWX42G?M zir`V9!L^jZu!T?&JUTR(DuZF`p&~dvG`PMp7`7}bg2#jgH&O<}R!2qf*wEmn%3#O3;)yLRa2$ITD1DjPd=^?Z+<|_w^l)h#p*mUk>+7Lu^`V9 zb)MKr^RSIukY}knPh6yV*gh}FvrL_by>JVEGZx-IY+D%QS+35LBhvb?U1X4Fg*s2p zNb|5wXOL&5I!~@h^RPW?kY|-TPwq(buq|zn=V5i8Jdx&MJK!MCYIUBxk>+6=<{-}+ zb)I~Y=3)EmAkSKLp8S#KVcYQ_&pLIU0+HrnyZ0c^dUYNv(mZUlALQAf&QmbbJZx_u zIMO_9=ON_Ttj<#;(mZUVBIMbk&QmnfJZxVh}? zI?_CB$0y`@M4hKhqtMk-|G!NSl4S7ze^VEzq58FQtc}}YH z)QU6@+inecPO0Td9 z33Z-&k>+7L%OTH`>OA!$&BHdLL!PJ9c^X8ThwWR3JWs3hG>kM4+vW~=o>Av%6lor| zD<1MZtIpFn(maR6b>}&Co+gpzIU@3$Q|D8jNb|5?BS4;))OlJ*nuq;(0rI@8 z&eJB+JnXj)kmnV3p0<(ZVLy$4Jg=(rw2L$k`y~bBc}<*_omBF)2o zrvZ81Q0M6wX&&~o4#;y+ou^ZzdDyQ&AkUlXJe?!Wb5YD2m(+Q>M4IQ4$a7hpr)#8n z*iTZRU2m!Lbc-|(`vnW+d0U;Qd!%{T4_+Y86?L8-k>+8)kAXbzsPpuUG!OeZ4di)O zou^l%dDyRSAkTa1JiQ~$!+xv-dEQs&=@V%l_S+uF^MN`~-$?VYp8`Ri57l}4MVg2G zatQK#q|Vbn(md>kMv&)Yb)Er{=3&1}f;^w7^9+nM5BnJt{m~aCsUm# zInq4rM^ca{OPyzMq+7Ptb;sXs`I2rnuq-k5AuAa z&NC*`JnUzCkmsN3JYyrx!+zxldH$u&GcM9R>_>r+=WBJI@sZ|XzafM?|5oRj5NRIv zlS9b!A9bFLNb|5?C_SSg;t}mG<^q_~p)we%S2?FeS^9HY&YfCx6$^e5 zdAF^&hZ-Qchx#l7HNNMxTsyTG%dmVd(Y@3UqI;=n`B7vFk>7$JP0CF7(Ey0{WRK&LQ%930dk2RpfMnNfW}%eD2f%L7%SE#no8q9G?nJC;!u=B zh~lgqF3~ia6GYQ!E-NRBatTpRE0;?&o#qD7behM?jiNk4l-tVV63w7_K{SKrv+|-S zpAhA>^0`DaX?_sRqy?<}C@LUC`K|q3LyKBPP*hZiidaQmq6cX)5IsnXTg6aRT!@NU#a*Jgv;>Ie(vnsQ z6qOXB5>`ogDppmOXfdq@qQx}cs)m{3g{Ybp?-DJc2_RZR6RiXkB??i3mFN;JrAZ)K zN~>E*D5@?*Nmg~2Xc?^mqGhzERRcveg{X#A(ppQEefrWz}|xR?s>i zT0yB*2Srqf>R8kzT1o4IXeF&@)kRS~A*yTDbBR{b`XE|G8(8&G)If;pTMb;IhiO9) zJxm)}4N=rch#FdrT%y&qF^E>vCRSq;nVKqll3n6N5wQz~n(Uu@uM_XAfQPfI^T3W4KqV=>jh}P3KR%;Zs5u(;s8<%JU zZ406ew4K!!MeT&Bt<}yY+DO}jXd~@lwMS70A!=`RaEUh2jv(4ZJ6Ro3)JcdsTAf^? z&9pO!Hq$OvXB2f2qRv(qmuL&^3ZgBvo7ELX-Gr#C)y*Z^O1pz-EA3%*M^O(U>TdOL ziMG+6AlgQISv^tIONe?}y_*j6!j6J-c}!%Xb0^Jq8+rK)fYwmgs898 z&n4PP`-5mF9bolG(EuUpZw+vXcF}<#+C>Lh15q?chz44NT%t#4GKe0bgRNu~4Hlwg zYp_eSn+^fdZaUN&f}){9G{k~m`OCRr4^08l9y-iQLD4WFO0kByM0@FQ5bdR@)^HT1 z3ej*Y)g^kArh({DI>Jgr(Fh?*vqrc?`{+mz?W3ctktiA^L?f+HF42BE8btePx-}X_ z=|VKxN_UA4&@mu7K*w5RP&8JE##m!rqJwlChz`>6);JW67ou_2c$ergIsrtF(F|(> ziZX;~f|cPCJx(Wr=y5v9nuwxFLNw8u^vt6Q7bPkA4(Fd(LD0)zc=2#E9M5pOo5S^y;thp$fCq#3tc`nfz z`VffD(D~LwD4H)s4_WhFqO)`Xh|bc5)&dkQ6ru&zLYL?Xx(Gy1(8bmw6fG8_Mb=`M z=t;T+L{HMC))Evg6{029QkUo{x(q~5(dE`M6fGB`W!7?+=xMqFL{HO|)(RA@6rvT@ zN|)#vx(Yx4^miJk<}C3?y_iK0_NbkaKI5?!XJL3Ej(u}-7tj1Zl+&bUNx z(X$|Wi#}nUMbQ&Nbk=&pC3>4a38J^@Q`VCxdP<0%w4QQ_uF$7JbcH@+J&mGggy?DO z8JFlC`Yedvq0d>*qUbpxde(Z*C3=^h1JS$mymbym=Y{B;b>1arvJkywz3dWwNM8ZbhxAqJ z6%@THM6Xz{xKld z6MD&d6GfMV=uPXAOLUc92GLdemUS6LZwb+5>n)cklfDh2OnSw78%0-y=xytYEzg_$@aVNardB2A}T6yEPdw+mGH00Gv$E}3F`SiU;w2EHL=A>UO)vr z$74MtA0W$fHs%|WA5cNh`!Vm50)Ps6uEty<7NEjj5_6Ok1XRQuh&f0K0V?V(AG4Gc z22{*jHD*330;ssReavW56i^9o*O=j?7@(5g@iDDPaX_WKcf~XzB>SQW{V>?^DtLA!PuS_kI-pHYp3Jg7;eV8>Aedio_Rvh?ECZi9|>5 zBNYHuCY7QWk&1w-kc8;Dq!OU2q*L?=QW;P+(j$5(sRAgTOpI<$ssc(N_e3`&)c_@u zHPOXMJfI}9DY_s@092ivjrxWp0;)ltjrtc!0#uV+jk-jt1FA*-67?#n0jRbfh&o7W z0;;3OMeQNA08zba)O=DKP+h%x)NE1*P(8hC)Nn!p)z^DRC6l^<8t8XLH6ir?HPr8q zsz>SrYNW4^Dnc3nYOHUK%1;^sYN9_C{10gasHuKF_$6r!sF{8(_y%bLsJZ^P;7g<_ zpcY1Sa35&~sHKrBxQjFg)XGQ*&Lu4XwKi%6XONbF+88~8LrE(@ZH<1x0i-pccE&xy zhNKOk_Qtee9nuz12V+yPAZZ7vqp>5HhqMRO$#^#KFVX=}XXAyy=cFT`F2-L1uaZuH zx*A^uE|AWEy7}S)dq@{R-F zAm882m&gD>$-b}5b7UZ(!Twz4E;0zv5Pt!43rPkv)L+Y-K?Va#@z*!+BSQcU^Y=3c zkfDHv`v;r7ND81-|1`4>83riLKgUcW!vT%(?=bU_R6ryBd(Bvq256N31^?${1fbFW z*ZiN7k$}?uU-&POQGmwyzxF>vMgtma=JjtU>43(Wh5Q@I7(nAq>Yqx+0-9hp^50Fy z0m?83`umdcfF_zL{_bP~ph@OTe@&7BXtFua4Jd(E$W=g8fF?lb@Edy?D(=>9+f-xhK&pa%j)ee1}5fTjlO`|cz6 z1DY0S>YGd+05m-?*w>3p1vDd&>gz(L0h$?@<4Ypb0nG|5@Kqr*0L>2U^~I8zfaU}q z^Ob&MV13v6}+NfjIhNwNyiny8}sI`S}} zwNa(@m1H%bbx}?A$z%z3fTZ?bJQ}u z9N7qHOVne!Nj3r68g)$flFfj&MO`MJkS&0=N4-bhBU=IOi29bCA=?1$jP{aaWILc; z(Iv=gvIEc~(dEc8vJ=qm=oTb{>;kkWx*bU;j{w>mJ(6@Jy8%5KJ&v>{djRc=UQ8;I zy@2*duOy|(qks-XA0`Ib2k2n*N$(G2KcL5=uXsNs2LL@D{h{{?ISA-b^bg*X4D6|>A+j+_8=I%c)E1UU)lOw2K_mz)B0Hs*}yTXGuE6EW|3-XmuKJsI|{?;wRz+$0`zv=My(LJ4Co5}VMBeNr={Qg zR*UtMx4zTz`N`YxpXvEdE5KnO8?r9R?uYF0@OJhf_|pf0rsF>m#NU)^b>Qv^e~D}0 zD^k4a`mrCH+JAx-q;RW+H(eh5H)MF4?F}Hw82Bd-QghU;r`NBDuT=}@sGC~loMz^z zv{Um}Iih6^!t#5lj)bKP#>7{xoVu49j4~u;*wlU0$0(nqd^UAI^)t#ZDfn}>JmCY> zWRxi>)261<0HXqug1>Leqo&ayqk@tO+SGI!#i%GrMcLF08qKI^Nk!Y#Od7+e7)iz0 z)GQjys8~tG+SF_s$EY|-#o5#xnuAd}B$dOa9;7)Ll~YnVZE7yf#i(48%4JjYXl_R3 zmQ-$=dWhy>R31s?v8nkqFQf8GDz8l~p!pb;Pg418Y9Y zOf5!PlCo@S2`$K|f|4p|Q%h+fMir7&A)8u83p1*)qzc>Aa$1B@MI=?krdH6Rj4CRr zqBgaX7GqQ~NfooHRkS#xic6}vO+8FYFsg*4O4!tDT9Q#EB~{X<*3eRnDkZ5>Hno

    jfOmA0vMv<#!lNUDrYt*2!fRaR1EZE6E8$Eb3WDrZw0X?aGKmsEM1+C(cbs)D2{ z*wkiPkx>;T1=9lm>TRKw7*$D9m27G&t<0#(l7c5lJZc-Q!YF&PF)caUY^PNjRaHh+ zwWD^>YK*ETscJU0lg2YDUQ+QkwTmV&DnU{SHuVTiWK^Q05^ZWXO=47%q>^lE53SCq z>XNE%Q+sI*M%9p14V!wD)?`#oN!7HeeY6&%YDub=P3@<(8C6?SwQcGEt;47~lB#1< z2PtI~l@zt9$7o$f)s<9Tn|hqqV^lp!)w8KXv_7NiORBz29i|N!)j(1WZ0ZPY$f$;r zYG_kOX(L88l2jv`Iz}5asI`kksFspyX;WuuD@L`FR4bc$g0^NYWH?u_a# zsqQxQ679jL9+K)|Q!mq=jOr<=o;LLg?Zv2GlImqsuhQO(>Mg0>HuW0q!>B%z>SI%{ z)4q)AE2+LV^#<+7sD6^_XHyqxe@69}RDYX#lMZ0i07(t7sY`SqqXtT9piNz-gBUeP zQiE*jEt<@zWJx94)Z270qXtWAuuWZ|Ll`wgQbTO&9XgazLnSrTrrxC~j7pJIicP&o zhcRlHq=wnl`*b*?hD&O=O?^O98I>xjRGa#crZFl_QfW5z5goy(5t15VQy zJWc)!sId1rc(D9`fQooOGUt$Q02TFqYmOq{0xCxGo1MvbfQpkuvnKf-PzloBEJX00 zrzA-=@t?7P*CS+xKU4PrDor-{FX&!CWyo>=ew_d+OD_7C>pGxvP81&K|L3s8b+G&gPt2u zO=G5URnG&cma)-zUe61twsFGPr{@Dy$9U6NrsoGljW3M5^a6nD`l5{fx&^47udLBT zF9@iWR-$c&ql`xqe(x#GN6uTInr3K0;rSO zgp}2*0_tq`CsBGeKwZqcykF??fV!H?yl?6WfV!FcyeITTK;6yfy&Lr;Kt0T>-kExJ zKt0VLylHw3K)nJ5y&d$LfO-dNc$4&6fcgYFc?;;Z0rd@x^n9n+0n{%r+w-wb0rd}T z_MFq}0vZrF<=Ly(12iyj*|S8i4`@)}OV1>|0ifhyjHj>O5YXUYc~2v~5uhQ#rk*l- zV?aZL13W>!380kV6zy}pDWGA&<=REP8KB|8{n~N8IiS?w1#N@g0#I5oQ=6f;1T-Q_ z(^BG8l*4ER@S zet?O@@x54(S2JvZt7_&poqwB>g{jA%~D-?=$Xi~fisiAI(B{Tt=9>km4ZXj$LYzIIw7P`9HkLPOJZ%V~d7Y_%j;rwEa&z zyl8&KKdJdn5B!-m5S>uz&+7!IAO7S@h_0yor*?(Y8-IR1M2A%QvpdA;lbfO{qFbuo z1l{8F%*|38(K*#_j?QuV=O(I<=%VL{nLZn|oT?n=DLy36UY zo3Uo1(~@q!PILP0Cas+4y6QJ&*Ezj+^VUyvV2zu#1D!s+sjDcuvF1(OjZRPA?6nk~ zS?lKROs79@fr^SQt$ovXsne^sMqNe6*0~ir*6G_@rn;hg=`GT|P7mKoH5Q#*_txoT zr=M@JN{gGNB%>Z02l+=AWi^!%+_d(rs~Z_Unk`u`Sg zfH(z>ZrM}doP}Gv4dO&JzLigeb1rWAW{A_#kaLc1t0sxl)Z#WeP0pFR-C8A1R?FM#WI5;SHf)$UWvyh^ZrkRG)7R!UJ$=p@yq#MpPGZ~J_ar*!@iuRyIF;>g>r?5R z&D+17;)J%p-A|}fWcLO3g%}vU zvj+zIo6O>G3uku+j1AZD=#xD>>_6EpMo4y#@Dbt~Bz?07i9JZLSMVS9(6#JNk>kWQ zRQhEP71vO4MoV_TxJQd?!1T`^FgFeuXUt@GO~{yW4VwYk!zOIlI3p*!cfv=GYw!%r z9z3eS?$ou$1fp z7TExE##nZjML5P>!)#dgFpGGYIU_B**CHQjuE91ud$9eS!RCy&?2h|c5R@Z$V8nHfUbW1D_cu zHKX@Y&6n%i5zVZ4M4JL1xvq1358_Wbz8CRdIKB_@Upc-X@n;-AfcS45PeuH9j;A61 zoa5<;zut9y z`2RRwfcP7Z7b5SzA_y>-c!bfh8#+_x%@o;B3bG+PH!5qS!mCVt( zvx+$ecOGVrk2|ZGk%;^gDh!#AcX`0tt2&@n1U@eEYFxY55 YAA5^1(i_B~?bI8mkGmp%CG7HGuMP?zHMP%+KvzW{hGE2!UBeR^$J!Dpp zSxIIUnbl<0kXcLSUNY;*tS56HnGIw%lG#LNGnp-9wvxG@%r-I)kl9Y=K{7kY>?HFL znTN^jBD0&!BV_iF*-K_0nf+uQC3AqxK{AKP942#w%uzCrkvSI9j)(Dig3L)8EvE>b zCi6I%Gi071^CX$4$UIHv88TD{zT@_ zWd1_tuVns4<})&%lleQDFUWjJ<{xDKN#d)_#FI%NlSn3sOfs1~Wb%^9MA zEeyS-p|>*h)`s53(Aye%J40`8=p78bqoH>)^v;If#n5rGZie37(0dqqPeboz=)DcS zkD>Q9^cxJlpP~0R^Z|xG(9j1N`d~vJV(3E+{YFDiH}qkKKHShp7nw^ks&= z+|cha^c9A_($H5K`f5X8W9VxQ{a!;~XXxvx+3pMJ8~nbwo6?78O_(&j!wA1GU*|FD zQ`2jWOV1oxt5?>f(U~I~`F&>3DVbTL$7l2%J$dx7aTzT#Gbd!FXN{haIoa>4(s}fR zT9c=xj~tmXsaCqn)M_ztbe9PuGRAeEG+|=Kq^#-4qfbpAHzmXGOTKVo)`g?%JG3sH zJ%88r)8#(hdjYLlD&M%#U1+~prZ7iJ`qgi zoVABPU3>82{^Qx3?k=6PY5j$xr#_iEJ7?zc3rCNAJaa?#o=s4EJaZ$RAw4U-HzJWQ zXZ60EC3~z`R6l*hh|%5CC#8?~`|^IeZf^FXE!oRvLsPnAuWnsYijgU`Q!a0r))S_n z9Z;j9+4pbCUV8VZ+m_~RICgQ-;hdSXN@p)wec|L1ZUv_LeZ_M2?Z{rdMru|a$~oj{ zT3Dhqzpq5jq4_z7AI(1X@WrKja}FF*<*MWNm5h|B(lzw^3R^mLqLjLRUrP4YRiB-> zE9b5?Qn`Q2XD1eB&z~nxuy=m;u?Ov{j2&5PJj#fMNI~vWZQHfZp0_=F*|uKYQZJm| zn!W6ZEgbI%Q)_#LUAy)BULl&csFN`=VFhv4RJ39lM}zkJbiuNSd}*~tSyGg5L#EMar-ro7|Gf>Fh6XRi zN%8G=20VqO()3XN(%k(Qx9&nPzC_t;j^yk+NZ-Eb@}$;Ad)exRvoD=m`RUAAm$uEj zcyfb6>8$d;nSnL8BFQ3X&r_%`U1O_o*r3o1B^gDT+>W0ezqq=>wyZKG0(H zAsQu>zRK`YQAzqh>FLADl4@m1wX&pISyHVmsUk}nHBQN#eLK-6+56^RJaGKt@y&{g zrctvLy|{DcrwbN+-*lQ*8)q$cnI^h@(`r*A;Dl)Y?@xpRV_x=XREbcXqB(14T{^Ni zXYtmYji;k0<+R$UYsm;r_KBIE$y0pa(`utJ%6WC!M;^>xc7VPCNA}oVBqx!y6ts9z z8bg~NzI1x|rLBtogHLI7#Bx9GznF7;j zgygjZ-BNAZsvC_O8LJ#}X*8as!1~JD@lJ&?(u!Egtx3rijFHfQ&#FtLrhs%|+m+RL?JEVy3)M{%A8k)WQXwIs`m=Z6Xx{nA^`HQ=p z^Vq%HkiOTYKV3EN;_QVN7tG07v+m;Yb+EY1+eON zeAtkRR5<&@>hGHe8rBwF;|QX^7!B*7Ysy=vx^!^!r6ory=WJM*y=XK3ySQ{g6}x<0 zZlE?BR$I)K!>B{ZLkrS}m@9`-(aA%Z=mTe_52U9L^l(*YmdC0LO-D=7g|lheoVVT6 z5?G9hrOvS0_|lYgVlJFKeR0*!D4jm)<`gPa+3aQapcWTS?a0};>e9(Qz*Y^s70^db z7UD8iqe3iO8VlIvyF9t^r4w3Iv%Hho(q39|6h}N-tCRInGeqhN5d$iF;gam-OD~@W zX(=W2QN#M!V%4w~+Ng1DYcC(yLW}+=E*s7op$lhEY@a>zgxwbM^ynzrzBGQZK39Bs zMLu+;N4RF)4$Q9BRMtTjAic*ew9S?S{@O-LV6YwCnrT_$9<&Y0SIT;FcEElL=f zk=53{sVq>rit4s99xBAh`@RsouHt@=j?s{{A|sKLk1ibYn3In#2=W+4hD7LkiO``EIp?5t zxpj<|-4Z$HphdGh=A46;z4Dloj~21kFR7^ingkEUJFroS%`*{KwM=CL%)CL`2A%hzMB| zk%jEmuqGnwnB5xIL`27|iO51U5n0G?1F?LT$LxG!5iO6|`NUFM9<$3V*2o6(*%J{# zIT1-nQw~8n5lQGdigMTjnuw%;CL#$@02|UoB#+7>SQAk&;3hEHvdeAr6A-wgVFSJ8= zi%Z{chd`IPCx_z@=s=f%;}Gahmw@9C-kPU+YECn$6G4t0K@+P>cxq11QC-4QbDDNt z!c%j4M(Prtn$x805}pduvrw1t)PtsMm+;hsW^jifN7h43=r$o7hw#)xJnVD`Pd&uk z?+~7Pq|$A&P0+JS=N#lXgg1gN6b|9(bMbJ~Av{eY*0T=b>2q;aaR^UaiPf${c-l%_ zb8Nyp+QnMfAv}#Ju1F5yZ7a`c7tdFnntMjOxMI14r{*-kUBVsh;(F#1?qEozN!}&g z(JrobF5!+6aq+VW;mCT3hqo@_j$LtSbP2Zy#Zy|BaO)v1oG#(kBaNPzxP)5|aanZ< zw;tl5t4nz5L92gb(}QBs#?33B9@aRVmzBRlC4(s97zF~SU>)4OXNN9ruuujLPRf`(Wn2~x$~Ca~M8}Cw^pg0*pckJQfAmRHv-p%g z&6ecTOesEPJk5i`m+>^q2_O9^KGA976Fnq8Wjm=b@@#6lNd|LE~Ppf=lNh5r#d}6^Od@H|Lj*u_wD;~=U-zuM2 zR|sF`qe)!&G9S&#@WoYMd|Krb7kJ@Yme>T;RROD}|5x1$=pI_2ASK)+(Bk0nb~CK zl9^BDE;5VAEGDy*%yKd-$gCu@n#@`<>&V;_AoC@ee~|en znSYV_H<|yC`7fET$b3WQJD7l<3?rkH36Y5-6Hg|QOfs3gWb*rm;U(J-zj#VuZwLOH z5GWTYpAh&Dp$dd5lBqbV=_(1G$qrFOmi|V$h0KWicD)VZOF7G(~eAgG9ActB-4pZXEI&LbS2Y` zOm{Lp$n+%Bi%f4aeaQ4Ba|4-vWcrgCKxQDBL1YG#8A4_#nH$NZlNm;4IGGV-GRWLS zW+a(WWJZ%2LuM?Qab(7m$s{v@%tSIblbJ+jGMOwgQ^-suGmXqGWTumuLFQI6w~@J> z%pGLzBr}uDEHbmn%po(E%sevl$t)mq7ny}*iU&$01WJ-AMW!^FGGxlauy@$I*cK4E z&$Z>0(c?zYqqc(X>iB~&l% z%$ZgYJ;xInH;Wu_Qyn7BL3JF|&_*eB9poHKt!*DmO>vNuFV)GH>f}pxvZU5?BI-M+ zfrFfLq&eqEbIy_GoFmOSN1AhvG$(VKlP}H5SI5qR^^QCn9u+yr&WDFV_OTS_Sc-eh zt_M~>j?S(JRzS`%`@C2M*~gr=!b-?F=A6T6t5m10@Epa_Ip;{V&w+K3WbrJ-L3Tbo z?Qo9SWybRi=a`)jPb}B@u1XhvJ#8?nmSw<7% zL148RO-ulR6=*bZGYG6oqlw8Nuu_dCrhvfeHJX?P0xQ~RVmb({a-)e`L15(@P23Iw ztKn$kP7qijM-#I^VAUK=%mIOwbTly!1XkD4!~zglaYqviL0}agP23FvEAwb#2?(s# zqlsl8u!4^!?g4>SeKbMCXQhf*1p=%8=!i8Sa7PeL+zSGC3DLxQ5V&)QCN_Y;-9$7& z;|g~e(FBbv+;v0~G_G(b5>3#!+NvUGT;Yx-I)cX4HWfkR3U@Zq5j3uFw-Zg!xWXM! zG(qDEcSX?zjVs(KMH4ixaQ75V(73`KRWw243U^u21dS`)c|{X6u5dRNP3!@IJG5wG z9|+vFMH7#LIG`d9g23Hfbi`p0xZ{f^j)K5lU^H)!Af8kaPl3SQXLPD(K;Vuvns^oj?oy+P=Rx4kHJW%41ny>|iI+j(4mX;36$I{j zqlwo+yrCk_fxz8ybi`XAaK{`?ybS_((b2@aAaG|LO}q~RciYj#A3)#^Jev3r#78RP zV-TOHhzlTa_a2=p2L$fuqlrr(aF-uV{0Ri^{G*A#fWXs$XyR`m@Pr_m_#6bD8blK` zGvG-=G(j`Nmnwp020U?yj-Z(VPa&cSni=q9BATF?0Z%KU37Q%31S6WDnE_8VqKW?l zfhQf&#MdD3^dp-176hJ%L=gd>FF;R8qKNK;Y?2G?4@XPi&%zJRtBCCz{9yBEO0#;QPSmrw4+tg|Ql~<-=MTpL*3JKL37z zK%fY0P#jDSn7|2^AW$?=44$8!0Yn93s@)e6TtFF&X9tR478zVv8H{HRieN1=xTrE1 z&ngtbdSq}3WiXy`D1w8L!KIbKcs8O44n+o+QwHOqn-GI)kE81Hcu!4)EdZ&wE6{f{EJVr1}4WiZ|wDS|6S2G3Cj z<9(ANxN>Chd}T1+Qz?S0L^E?0ZoJ zcZ&@EN*Rp(GK%2tk-^_8gR##>5!@pp*zZ>cV}Fh!xMyUrrVPfu9z}4k$l#DN82f<~ z!M!7c!^&XnBT@wSi40Cu24nw`BDim4a2{na_AM!bZ-@-euMEb1Cq;0-$lyZCVC<7p z1ow{&HkHBHU!@2h5E)!t8H{~dir|5f!KIYJ*w3X19uyf|RvC1qrUiwv%#4931X zMey**;QGp7?8j3CkBAKB%3$o{Qv_#31~*X#WB;Eb_@>C<=E`8~8&m|3j0|q2490## zMewM|;I_(O>{C<(kB$uPpbW0UKF@n26G?YbB5jR_eRtMjl}^N3wf$g@P9 zM~gL&*d&EKOVxSwSo4TIRmihUohKM;9eCp7rWHd1B2YHr64}ed;`UW6dM>;UUik zb)I~&<`LWWkY}ShPySf*h+Tfjvq_z&K&*Mhra);wZEBg(T)oyUwdkJ$f+JP)Yz6pb~H*e;1Y+tqoB#hOR# zu0);()p?4?nn!HLM4lb$JSAeyBld10&rWrolCkCyTRoBIA$6WovE~swLy_lUb)M3( z<`El7k!P1WPnlTrtd!$nSRSo4T&swmGR>OAFQ%_DZTBF`Rmp7OEg5u0F zg;?{5J+sKOPo1Y?ta-#1TjbfV&QmGYJYq*K@;s`}Q#sZ=VgoPo98l+}5^J6O9qB%_BA+BhL|ao*J>{5qp)9=cqbQ%~O5(&<`KKN zk>`{;Pn}rvh)v(fb6TCJZmfC49&zM(T%D(0ta-$ia^yLq&Qm|uJYokr@;sr=(;(J7 zV#7M}JgLspFxET=hRp)6E zYaX#TA9%8-9&4U6vfp1&=V=jZ9`U;Zl;=ft zo|duZ5kEsfo|n{lTE&`2{AvMtURLL69cv!(BM0PpMV+Tjta-$5B9P}*b)L4d<`F-k zK%UpsdD_LANBrUfd0toNX&-AI@dFLyc|)D2L#%n;kmK;2I#0(~^N62+pgeD?^K^c~W;>RV(b6%aNORRasZ&8rvZFQcmvE~s!T|u6A)Ootann(Q71$o|8 z=jk46o{wa|zo*XABi20PcQh!^`|3PBW6dLec7r@0sPpuSHIMj}4)Xj#ou_xKdBl%; zkmrx;Jbhx#BYp#fJRhp_^o=!-_{k9Re5B5EL#%nkFN~1qV|AW>vE~s!NJ5@Z)Oq^H znn(P833)E4^9+bJ&zEvMXRGrJj5Uw=bri~zqs}uZ);!|JRLFBtoo8^YdBkt8kmr&* z&yZO2h@Wa9&!_4!yL~*=3e$VGiK31*jgFao`UG0o7bG=Vz zyQ@9!%j{CU>S5mm;Q~zTS{;UKHO~6tP3;+9-W|S#8m4yGceAaS#C1p}@t~=bCisjm z-wt1*shdHMXfh8$G?^P_h(v}Ig-pXE%HnYlW$~~XN20J4#hGD`XbO*qXbMj-<4Ket zML-_WRGtXYRGwrek|;@v63rx!Xc|w3Xd2IBCX*AZlMpF{^q=I}}o&Eb{JN+hZ*MU~9T9?@K01){mUs#%3Z zRi&tkiE-@=-+8CA<+tOL$|m z5s4a0Q6salN3@hTfoLgjYBnKJQz>d>@n#S$%53cst>A4STEW|zZAjEsirScMJ))Jo9Yia6 zd$S#h+DlP8v%N>Oig$o$74K+vAW=st>R@*Ch*tAX5Uu8&%}ylhEJdBn&K}Vk-UXsH zysO!TL|vt*i`ms9TFbjZw3c@_yOF576m>JZdqns09uVEjdzw8+)KiLjm_0qBb-Wiu z>v(Uo7m0dHQ7^N%N3@>zfoMJNYxW^gUn%Ni_VtMF<2OKbAMa=0K%#z9bc5N?Big|G zL$rYpF#D5efE4vN2Y5sq`9O#^@hiEGwVGbwJ2q_wFj_`=? z=NS;)&u=m_NOY4FWtca4MBDgCh_>-j=13BalA@93D39m?J{qD2_!x6EiN;9LXmgB5 zw4INIXgeQgjwR7JDH>~z^N1eg;~{#GXPV;A7bdWDH7m{d^6fHCtc|?c!-4Gq(i_N=9v{;JnHWzzDhxrnS4)dkv z5)v(yq9x{1kLU)FA<+scy2o7M5k1CNLi8A4 zWv(RADk)lNuJVYE@zoF=<7>>-Bw8aytIahY(Q&>OqT~Etb1jMPm7=xgy&lmCz7C=j ze7(7jMC+w!ow?p4I?3;Y=p^4@-bbPhQgolW!6Q1wH$rrZZ!$NMXp@NHy`wfp5!|qdXn!ncaUhO6zwo~dPGn0hah^2KWsikqKBpEA@gC6 z=xM$SqNn+8a~FwrOVKWKw@360e*~gu_#X2S677+qN6bAQ(OJG1qO*LTxtB!yq-d|X z&m(%4?}zAF{;0X1M2||*e)Ca}=sA7>qUZQQ^8kqsO3?xHphxsPKLpY9{IGe5M2Ds5 zka^f6dVwE-=mmb%JVK(QQgp;T>Jh!jAA{&ce$0G~M8~A)G4q&5^b$V~(M$YaTe#$&aqEk|I(mdr6y~0mJ^a_96JWZm(QEukh+gAQnNO1FDJgo=e99wwoj(oH>--t>X%amnMNga0ctmgTvk<+( zpEb{t=vgT`Yd-4{o#W3zbdEo7K1ZVGrRX{Hd5`E#{sKgA@)yk)Nc5rJh!oUxVmv{<`@ZiC&kY*UZ;F zqIdWk5WU0CnQxHjoD{ubp7V&_lSFSx(VOO59?^UJJVfvDx6Sh;dRvOl zn{RtW@AG#cdY`{*zC)sSrRW{=U0bB>#;#))`PYDq<1LeYXaZk81q$4ULN=sNb|Kzo*eiNNcVL~9?yJ0LEpIKuFMY<@=Z!^&jLV( z@1Eo;i~+^@)+U!@8c^7GI9X#lP`vL%(zh%Kl;C?W>5nV~l<4~?=^bVOCHZ|x$5X7NCI{ne6|u>_!e{*Fl#St3w=fA^#@ED5N9e?n3xmJC$TKP9OR z%L7!%zbdIB%L`Q4zdorn%Li1%|5%crB0wbrl@nJm6R1?6X5wO26sUBdOX7G|45&%k9H?wyQet~n z0;pWzmc*85h=G*HFBiG*)i8K6pmClda{$^umme3bAGD+g31 za53QxRvxG-3nm<76@aR-goHh;B2aZ!Enyj}1XP2iBrIf=foihu31e6lpjxbN!U$Fs zs5YCD(1uk5N@2GqG-K6)QrY^1(yRth8rzakl+^^P!%oM4#cBc7WlzWdlhp>Q$1cRb z#ZrLkvp>bZ%2I(EXmRoTSsGA7EjfM{s{_Qfn(>QSU7$u_YNzK5?_@23+UqIdg{&1&2fcoH4r>k6QSTcb z!P)?I(g%fyu(m**^;^TuSUaFD`mAt6)*h&jcz8 zej~5^*gr0v^#bZ292z%}^#&Rcyd$nL>jN|}I5(~y>kBj}xGkL4KjwXbfA%;VMaeT3}{qnmeG(62O1q(V5G4TKx0A=8U=e}iY(EkJj~6$#$YrUTs> zS2DPP%>bGi*Ccp5yA^0wT&v(Tb{o*_xM9J5>~^3zaifAg*&RT0;}!(d*quQ0;+6z! zu$e&f<8}v=*esw0agPQKHXG=!xYzVg*&LvSap(0<*j%7RasSevV)KCRj{90a#pVMo z4j0omvjsp)!e#Vz>@J|C;pX}bwh(ApxUHVW76B~}XXt&{-9Yz*$LihKVxSe_MS5+v z1ZZV=xn7km1zHu}tH-ltK&!)tbe$~+S`$8}<*<8z)`s8JK4dF^?hXG}JHu82tqXsr z9cQb6*2kCBHn7z|_r;gj*041|8{%7O)7V;|jqx3{o7ufUo8m`lJ=r>-&GDI9XSN<_ zOZ*b82D=YvYy3*B659ZDfBd7G!8QVIi$AIb*e0L{;?J{B*k+*Z@gJ}c*cPA%8vipH{CX`|8*fyYt5-PEk>;a&M6WX#YwjF3!LT8rA9t7H*FqU;=JAfWZ zxS4feJAw8jEN4~OLqK~I*0A#IVW52phnUWG0qsvX9{7&!26{B%-N1+J5ugJJ9|qoK zdw>omd>1&*_5vMB)B}guKA^*i=qcy4gwuZ z%nWp9hk%YJW(C@^!$2nzR|YDvBS0q;*9FS3qd=z;kK#`gJ_d9;@s$5-b`0q8#1H%* zu;V~y5)m*(so>k}COEveQ6MC)MyTVUGhnlhoOt$<6?s zP3q|%#hw6qHtA-62lgb;b4kPx9MCICIlgo3d7xL5b>AWO0?=#8@xHz6MWEM{tNNC+mw?_#uI*dI zUIsds+|4(Zy#n-Ravxs?dll%d~)~Glh^smus49-N#5)$#?Aq~ z%ii?)v_1ZIA>(UbQi#3vjjvFMoyUKM{~KQs3&!O_(ImO;kUJjE=MIA3eGvFG`WJPq zH>JLYxO<{s;_CE@ly17B{{*Y`LtNdy>GJ8g)uNj&KmC&{R+{Zikz@k?d4W-R8a39M zRHfId#q%^8RpYGB$Wv{HFI3~O?}HoZ_$00oVQP{w=vAvlP3F3wbcfPyDvJjN6?CYe zO-`-Bwn$F_|74J~-HZ_AM2r9v$ z5^U;Lo+zk9hf1`m+jx?ok{l|@rf%oSf=YI%WShE!=MhvMhstA9ck;Y~%Ii>hZE7aZ zC#ZZ5mCvST@%)0y?@;+|YBnz*r~(dEz^3N#f`TgOPz7yjE-xggLJn2Prsna&f-3A# zg>7m+FCwTS4pqda7I0HgrbC%Fbr&xxsG<&4)TS2lVuC8>P{nL&5ic&N;to~Zrtan? z1XaSJO4!t5UQ$pc9jc^FE#ajERm!1C+0;^AT2Q4Osf2VbwO2kC_F*3qVD50 z1Z7V)hUv^U8+c7Y)pVk2+EE*MEkV_Cs9H9)iPsiXZHKCDQ=55;pi&$v#iq9KR6(UW zRH{vFum^T(wV~1*NQ@eN*K{aux zCN{O3Hx*P;ZQAXY9DVYsFn`Z(x&$F zR)T8fP_1n0QQlfmtsSbhO&#EE1l7i&+St@V-d0d;9jdKO9pdc-)y|>X+0x04A-bYY<9IB5^J;nP9s;@)!wW+814T8GCp>D9LXLvtB^>e6x zHg%Tw7gT?T>Tgre@&SSx;7|i>>N!48Py-!mpiMo`2MKDBLk+U27x-X74R)x(HuWMO zBB&t_HN>V~;zI>B)S-sj)XV%vLEY$3H`>%IJY7)f4wY_GukvAn8s<>LZ0a>WTu{Ru zYPe0k&PNDpghP$6sW*6rpfVgP!=}#hn*?=}L)~OkZ}O3X8tG6YZR#yPN>HO5YLrc# z=c5HR+M!0<)Z2WFpvE}V7@K;Bj}_EdhZ<{B@A7ei8s|{sZ0bEeUQpv5YP?Oo&oc#; z=}?)1Dz1DzqV==Z;BuwT;xpKL?0u}%_4wgAwE)$?PMbpf4-@5B4!o2oLn$VV?jQzK6r7*ae_C-_zl3EE_27`!IYL%K?h_ zeH9+hE&?U^3x#{KOF)VKlyH6aDNvHXbGSJB6Hu~$WZ2LC43x(|J1&R)1t_n7W84eu zuR!_yN8|RfzX9d~o-kfw;J#?C(H@0_EdcvoC-O2b#rIVP66j z2@Hr!V*da#15=DI**}4b29_Idvwr~<3+ysZvVQ{=4?Keh%l`o?5%|bh!2SzVGVrxA zj{P4{DOT9%!M*}2%~FkejP7*Gur5Y1_6<;3Hp=j^Z-L6OIiYO!9Z-3;DfB%4feySL zVULCOYJQ-K>|AJ-767WmJ_}9P7*J&`92%l&KvlE~p;np>R8?yps;mWps%Zm5iCPG# zx;8cVg=PTN(C!JI*W!R`YP*9cv@lRD?QC$X77tWg`#3mXO8`pIz6p-i5`j|nBEjxj z5>T3+7Obl!1J%*H28(KWfa>a__3yO2K=t&w`UNc?PdPx*IK7MXfqe4`VQk*J=RuG;RreuGIwUWvmRmsnr7N zZR`mg(`p0tF`f%-)>44_8W#d{wN#)RjPC-YwKSl9aYX}NwK_okw#*OuVqtyo*6gS`hvDN@+aNJh^S*;<^khl~6-5LiP8h74*kJbq2#<(y1Q?ET5GK&=VTuyAF6bFC@R@Ng@C1+5v-i0}}9SZfZH5uWb*OltvjQ+So{oYoR(WO%Rd zF|8HQsPOZ?OiU0m2Zl3=klBp7YFqNC_f9qtz z#Q&Ah%^8zarlrT{Vq78o2mTYIP7@E?V^PcG$+0DOOa3DQyS_lqb#q<4@|I_a_F+Qy2J2r*_Z&)8l0U3jWjrxMlcRDP%G5 zA}f~fBTlOPPkv8-ZWdXX!auJtZp-`viDZ%RcJJr3kJV_hm42CAvS8*fQ82f~ezA12 zctwAq;<+XKB{RxG7W?H2>6Y^sPAZF9{1+{%TiRbfuPkthU%J3H=%5JTHpL5HKSNT0E?$-TxJH4!a)!(W5ZVUXLC6J9!?e}X0w;g`xLdd45 z{<}7X+Zw-rIb?&>_`Ms%ZIdgaD6&~rWT$fk2!@5(Ko zY{0r#Y6H4$ctsacHey_SZF7G1+D9uemOBd+pk+o9ws_*J8)HeRs`PPj+9&Yqa~^9=w)o zC_Ay!wcCkqKVIXNlwH~Rn(j)sH?RGA$`0*vt#_!~r`JVQWw&;{4!YIt+3TgYvU9s# zAD!#=?{!pR*~Q(jn=W>H`TDA}?C2iXQ%Adfece@Cc6ZO~th?PFzaDEYJH6NS*XeG* zU#FFqUElk(LZ-!h`-4!|F&>$b6{+EhR1;1;bH&DZaG47Tf`b6oRNT>$+b-VG;u$c5a|g`j1I8UQxlI!>W<0}Y zNbazS8aD38$!(qJk>eRWLvsg@YVf$@C%1u=r6`GyT9=@(ib8xx?uPhm$*^a$D+$N0et!4bL4^|7%dW<0`kY{^z*z46PBl zLo0@%<&Li0_KIb6c?MWU?f{EzfVpEVx5;80W1eAlQ|>T}d6>B)Ew|NTA8DS!HZpgx z{g}b#jh9gVr|_;W_1XF!h6 z9gsh7K)Pcxw<&+-nDh+G%-mu5vxlWSGILw==Z{R!;GB>5k9b2K`0GryQa_ zzt%BO!sibZ_WAU6zJSk<&k4tUf9QY2_s4u69`=1y^|0?eKJtBR;kOBYV&QiPU$F4I zgtIOD9^o7dzfbt0g(n{NUCQ^Vg(ngIlZ7V}{->xQwaan!cz(V&BD_Ne`euZ z2!C$j>4g7o;TeR#u<)&fzqIgeg#TgT+X?^E!gmnn{BH}-B>W!>&m#O^3(qF} ze-@rY_$v#~CH%F8=MnzK!t)7#YvBcizq9aN!1?_?%ULKKzvV0vPQY^R77nwV#lq1n zXNhoh%ULR%pyezRPRMeW3&*gWdxR5bIV*${ww#s1iMO0p!bz~4)xt@%oHfEpvYfTT zNw%DOg_Fl})(I!C<*XM@KFhgJIQcDSgK!F1&PL%Bw46=CDP%dDg;Usawg{() zX*u@`r>Ny@6HYP9c|bVDEoZxMN?6W=!YOGvJA_lpa&`)*wB=8~y%h@ZON|v)vIF&7Dzi_Hp&ZEMqYB>jlQ_XS?3a7f|91>0q z%Q-BZnwE1!IJGS2sBmgq&SSz!v7BSVNwu8g!b!876T+!uIVXiv*K$q?r=I1U7EXQ3 zd0aRREa!}H8d}a1!r_+lq;MKp&Qro^Y&lO0r-|h}Bb=s|b5=ObEazF_G`F1Rgww)u zo)=C_%XvXKtt{t7;k34#mxR;Ca$XirTg!PxIPEOwRpGR^oY#cY!E#;~PDjgmLpYr* z=bUglTh5!p>0&u=38yQZ!~Smjd_G?wPy{we)2}Z%V8SL?Q*oeZpcwI5Ct*ALd*Ks0 It&7k1|5+TGZ2$lO literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsHourVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsHourVo.class new file mode 100644 index 0000000000000000000000000000000000000000..0792319b6e2fe2cef2d05c4499d846e5ff5a629a GIT binary patch literal 46640 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 AF8}}l literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1cc69f44f6a27f00d9f9da2490eb14735a64f10c GIT binary patch literal 46658 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 IBK_z82Z&to3jhEB literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d13cba30be4960b3a41be7c8e73d31ae910b00ca GIT binary patch literal 48284 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsStringVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevFsStringVO.class new file mode 100644 index 0000000000000000000000000000000000000000..34fe337e16d575438f605b0ef546cf1cf44dbf6b GIT binary patch literal 44183 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 bSq}dmt24~e1YUzAhqFBV>-^0|J1hJj!HQKb literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhStringVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhStringVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7d8d4b17368b6e7c8e16c04c0b04743e7a609067 GIT binary patch literal 68197 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 F{2%>gDRKY+ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevJhVO.class new file mode 100644 index 0000000000000000000000000000000000000000..514b6d386dbf51be37116b49b31b260525e1ae51 GIT binary patch literal 67917 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 z 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..87817150143037e5943711dbce081da27327a184 GIT binary patch literal 115118 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..66977e5ee4c18d1c502720188c02a4bd4969ea1c GIT binary patch literal 107486 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 H5zW5`Se#|~ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnOtherVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnOtherVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1f7204f6a6c36f643c0229a940d590ef8ecfe949 GIT binary patch literal 15090 zcmeHNd3;n=mOl4YmY1ZmRo0gT2oNB9QVHvWQc*;(*%YMRy0r);L_!j?;DUCuxgm?T z2m&H5D7FitLPUtr?Tk9pJ$pOT)7{fOYNryIrJa4Twe9b`d#m0{)dLG<{+r(qPQH7; z^PPL&eRq3x?~i_W{3H=g6c4A0iRmQ7BsP=N>3T7R(Ns3m*qCglvzfsrz~&-07qhv9 z%}h3zvbl`SEH;<3na$=3Hgnj_WpgE)Z?KuiWW)ozyj76%}O?{Y;I+OMVBtRb!kTcSF5Aw5GKs#0vfNp_AbQ_j4efE4bv&PJ|ynxU28X zt|LRQod`eqQ2F4Kdj^i3{PnsG;Ro(J^S%8I;lta(*Vor`Bs}vH=mb^DDoJJe;8XqK z{_WwtPdOu-ul?U+gm^B z-?M5(!%F4qNA#%c(2I|R51$;`xIcX8z~Hg(hmSvRYd+qzktKIo(d*drz>)B=ji;Y^ z=*;c|;lq!IcfSyRaBKMCZQ*SXh2K163l{~I4nd%NyEpG+Nle@hyWd zKaHHhqwDR$W~#E9l?G3fux8@9%fWNm-_ylsE@ z!3{$@UKsX*RyWHRgw~!SDBtpaY4FId!M+3Gr+0MD39su{6_|=wE$M-idk2r+ht@b- zq-n!kckYgLjr5AU{C;$xNvcqU?0Y?Y^2MQTuMWO(^z^BRPd~k7Xmj7-y7lG$fJ}bU zzojt{UjM}4E6>PU`SGf&l>V(#gKs=Gc=%v=%g!^;ZX0~!_*q_=AFsJmzUJsVK7DF$ zc>A;5p*HWe+kRD~NBQxVVU9zjE=y1sLga_+tDI^!H;du3g)?dTzV9wz0|dH`O*an@!F4)M5g- zM^JiiC+2{VoCCardyfq6JS@jNxR$Pv&4nM>8$NM7!li_6>kYPH`YWh(Oj-+<-5P4? znO=3hprp$%_X*0L*V-Oh(7SqBsB1|OQzuVy9WBAOrNORNPOHqMo|UZ#Hf~-^dqYd8 zCDhr_6Kw112rh3})6p=$qkUFr&EocjJu5?9OFJ-+ijLuvr79Oaql0|}WpKQT$c*l_ za-+#Ci*(Gp*^+nUWJ-N>p3PDbq8ZY`o^q9gouMK`=hsMtXhynKgqlh-WPFvfDRgoN zg_NS?6d9pp%BCDDP{ULh0S*;XwhBGnK_O*R=+O=eDVsvibx=sz6eb}Dg_KQU#&J+c z*%W3Q2ZfYPVRms)NJS~0O>Bx&HZ`m@c-pY3VXeWlgG~)<4W0#TYFKOdovq;?)*76W zea$gmRbO-FSRKJR4s&F0aAsv&PR;?ToSa#ii+h4CtL6tgtx<)IrM0oqTY~ME^Jv9- zzcSdpQVvW{Wz}4amql04oqst76mUvcsJpkVM^I{Xq@-6k#zb0$z3)h?uzNc4qn$dX zLUmyY(AWU7drA<^L1W7tG_3?^ND0tv5}?aSfDR%7x`PCG`4-?;EkPtQzebr8iOjD^ z=5Y6{a5Q~Jg|m$_Dx8g(GNZMzL}%))b8`?Sg`$E2tBh+a6%w)b-R z!+fH8G_iu*$Ps9l#tj|GwM*m1j^v^=Zk3t#YL$uPHI5aB)0a6`nY3=ZmGhh{ zi`B^d9=z~yH1n|KN3}A$WpE(7osn|1vnqshP+6oR?W`a_BSY2B3OaK6$yF{txq|%U z3UWIu$nC5kx3hxW&I)onOK7#Tf_7a|@f5Y;I-K#-^Q3Cz~!dJ#5ynxr5DJZ0=_B9X9LOY+$pA&3$Yh zV6&Oc7B<`1Jj~{Mv`kQu{p~7W@TI-2ZOeH}R21`SE9LGe;1yfNHa6SQi)zcG6Mg`L zsJ1*Z<;zrL(pQ|CtB}%b%dLsuhJFQk4B60;+hpf9+i;={C)sea4X4;}stu<_q2Dge zZD~p5J-zEuV|o8@r!}o=yE5D^(NTa8EVHD zdYy9?i%d|C)nnLO!Y~@AkdrRiB=Hk;qk;O5a{*s#A*;23GqY+2#k(+;x-T%G4Vt<2#lh5 zq89{4Ry=V#2#mIP;!Y44f$_vz5Ezy5#62J|Qsas5g23pFC)R_&h>j;Vg1{(`C+-D- zksnXo4+676JnGq=0y9oL@hDA0CT3;WokXci z;5dcI^I=W(^OT(Qa?KA(?4e}O%QZhBF~7FDk2EU@;8{=$Vtidz5>SymdxW zA0wN4|rUX(Ssd4yP0|6;3IpZlto4uAEX0-QkpKrok!IOgGZl zDP1|G8R-ru-OPZKZhDOjcJeAGAcs?$nF*&fGt0o*rJFfMHaq1g zr)(p~;gn(K!YRY_8M*A_Q%<>t&*9`X^Wfw)^Nl=q%2!T#M!v%-(=32frdenduv4LO zDliHiPFZFVoU+Vfqlle~l~a*X>~P994LD_+C5FLHCCbS#N*qo(W+|L<%rc{toywF` zsZr)|$~8y8Dc2lnj9{mc%4vi#(&6MYN5RQwmK&qksa!dYGRhrJdFE(1<(XrQ(d;xv zIgK{PIGpm$v2e;aD~z%1RH2;48Wj$w0&^Uk3e54wICdJZoW>dB9ZrSj1UMC%mBs{i zs#H!Bj7o=7ky!<&BD314Vy9~5RAr!FN4syaSp%nHv(~6#r&{Gy!%ZA@GR!(84YS^` z#zDPusx#^xP91C`t9@+()f{{;@Lyr?_m2&LUZrX!9 z%mTERo&aCq`7!N7o<uO-F%B#IH1s`hZHsfcT8w1S-=!;+J#` zXoQv~eoAivjnpc|F**)3N~;&I(+Qw*ZN7Mv`hiAki^W!Y8)%HyCEDpE&{*vbv64;! zRcO1!T>1gfIBlP}jD83-Uh5YX^bXJj?Hw_a{s5>_`w08vKLo1MhOmWx7pU5kLO-YX zfNDHm`heaCs`b>M?tcVS=kcQj{urp>~h46bBeT6q|1vBQuGkq3v!Fa+9%M#mPGKVD>* z>?HV%fcTx9=`)f7)^c2yGkql{Aw8$&Af?vz(a4)QKiN!T!bnn#&P%kUQp{wF!s={^ zbR#)JrJ5-gl@g_}W=oZBrdkx1Yo$t!P-&)aQF@fZA}&?wW|~D|{Z^{92$f-`TU2_K z!m2J+UNgg@u%IhdMuf^Vy%yz-Qr-xaWoB9wR(Pe#j8NHTmPKVnDXjaltQ<4jqOjyE zRd$5RHFGQ~CrV)>AXPpy*P^foP^#Prm1p`a$`_@uGmxr$GtZ*1DNw4s2vuO_TU36O z!d5}53e5tG!Y)Cn3L;dIS!hv(Q3`tpsVX*$EDGBOr7DV0hFNS;#Zd~I38^YE4U57) zLaB@hRce-4R7sS=?n0`{%uyJ4Js> zKSSS7*51aH_cQeVbnO`Z0^`Di$#g&c9Z(Woq-~;K0wvRRS}XkuD1~~o1@!koskB{d zrVoL1dQmH;kATwXUCdG+1Etf4;$!+XPzL>0yiWr_UQvh<8V1S~e(?wm0%eJLVhs%e zWs4Q!209ItBQ}Uj=nPP<*eAx(KLGi}G5jv^k3f0iC-e#Z6HvbR4JPS-1}f0fuyFha zs8FlGg8B(ik#;d{q<;Y_)~?5=+rI)CS})C~e*-GPa@Iuu4pgeWL`C!;KxI4)r+-Ql zzd%M3reT3!Mn1q<{1<2xJFRg>0VPKqB0fpOvy@wk!_D@L%~j5+!<}t^7eYz&IEk%t z=aewbO=xS+N-KH#S>$$vb9tyB8D|e-$N3T`70P?gP=M6< zQWcta{)O7*enqh=I{zybZI}Ml^{N5|U$p{u9lllwRSj&k6B&;v)b*blr(ZXUs!Y+> ztBl<;7a)+T623mZPW#A4Q>}DiVyTK57ouWzi(RmAs(K|CsCsq{FJwej$*#)htUE2#ES5NjcBYcU_zx%~SU zep|8})JKKjBgr`N5h_0%BQACo;}p|HJUUif<|@YNr;B(@thn4&j8jt=@z_{#g{v5+ ztuEqabv9bT30b{5x9u`vEmzD#khUoB5sNm-|Q;Jtpyix zbF6r|s~EQ(T*MP&#VcLKxFz8to)jx?a~0!ug^PG{thm!vj9VEl;wiD>9#=7LbGV47 z#)|K772_6&i+EbB_-A&TAOj7>C-yn-Nv;U1?V(KzzPf)FL{amFPYM_zCcqSQUk z_(bE#`w&8uxyPB1XdHQcLWmLWaVisyBX3&>G15IwRibg^*K>Aw;=* zoSH=A$g3YhjCPMxn`j()Q$&a{?s4i8jUz9X2ryc8qE1ot>iiN=w4XoRSAkJFrJ9C_tNh${Cu6BCUiZ|De7 z?H*@RqH*Mf9wBPn<4jI8j=cXPM6G+ADT&6B*M)?rbB{AM(KzyUkr4Inai%32M_xt} zd?Qb;gQ5$oDR%i{&IvNFdy}U7X7rJDuGvQy`7V|i$CClyB@*L2GT@sjF%BRDzDp&> ziDSTbnZ!6^4ESbAj5Ec6?{bN8h#2tAmKdjo0pAr8{ zocslR-;fwbeF5J*iE*|U@XePPhj{_t0*P^Y7w|2V7{_%1-y(@|J{Ry^B{2@<0=}yy z#tB@&w^(8vxdnVnB*qzAz;}(rI8+PxmP(9Mw1DrM5|3bfEleL>7rUQvd;yC&YDc1p UM*h?l{>VK<(S&z!Q@3dTJ(Bx!Q2+n{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..9b05fa72c5937abba943915a0f451238fe3df968 GIT binary patch literal 15616 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnStringVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevSnStringVO.class new file mode 100644 index 0000000000000000000000000000000000000000..39a4e172e08856d0e5ed20a7ec7089f85eb1fd64 GIT binary patch literal 13986 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevTcHourVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonDevTcHourVo.class new file mode 100644 index 0000000000000000000000000000000000000000..e81e38be65134c69748d23d6db77584f2b14e347 GIT binary patch literal 17709 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecEventVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecEventVo.class new file mode 100644 index 0000000000000000000000000000000000000000..e286de39fafbed37697f3a0a83fa96fe9bd6e037 GIT binary patch literal 6576 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecRealSiteVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/MonElecRealSiteVo.class new file mode 100644 index 0000000000000000000000000000000000000000..81c46aa3e4ba5a590bdf44ab89bad7c0b91b5f8e GIT binary patch literal 4432 zcmbVOS#um$75=U?OV6lh(b%%m*dcb1iPlUK!jhI9aAG?VNRF|LLc*5zs4cZKo>4|E z8MDPs00%p9;wMukger={Rg^0vR4hYcT;wHG@yruEQDxcq7x01!-|5?<**cVpD(UpO z=ljl?d(U#a|MH)AuK{=v=hE1Ug%nbFPDD+_q6lBal89vy$CCJVn$P1Rz9UZG743T> zzAxejBAyp7!Tfgj5AM+Sau;FN)v4E)5vX#-~rye!BoNt{(MXWeD5 zQ`)&fJ_^D>@CNxNE_is?NIQ{k7_XTl0@IPJG!ZFS!cYf4+Hb^;f5EzVL_Ze|%+P zw?gW$Q}U~|ZmwsP?J0t1;h&ad1$|IW>~-&=j-jPM=b zIY^Yq&7YmSarunK6?z!oTXy$XkGVC4#Omo^+&p`V4oAJpjNa4sTfhAI>YEoda{qnX zZ@hkD^{rP|Ph7QEPriQr-HW$=`VtrP-QiU{|6zsh!J!$2*rPn7LT=Klxciol9&&33 z9i~VUSuHu`8K>sSIyA=od5<}}XR=f&mfVuNQ1qR0t?JAcm#f98YGqH^Egf*3vQ%TH z%8cdaTz_{sbq6#wc93wNTXM?GTFVbVap;I!^2djsR#4T}whbY+ zTh*VJa`#Hs2ip2Pz}k%2fY{WFIn8RaWSU~h!LrS9#Gna{77YmvLl~iP{4m0rAs_ri zOT+eRPK!;)X*6*7Lk&Y_+ILFNPB{xf^YJbT=G`bcl|7PCcK^JyIIsJc%{;+`?LROv zwTBs{o~XHtOJ$!2YD-djpeY@x5R{Xr1{#N?eeFEvK+C>U1C1>jepO#G3hC+UQmy3f z^<;Q9bA~in+iBueyv8{h-MW^*ot(|lt@T?@ zuj)w*u`rEXWk;gQCf=@efn zKoVV&btrs-s~$cF_`iJ-pCrIabOM6}Se;H_m;fu*35*h86+3}@39z!AzTN1r_zYztFlO*s>ZT^(b9jg=B|Sme>iiD6-fDC1jdW%k zML2i2J8y_|X8T1r$J(9yBAwZ`5zg^;=l)1%wtIwgqTShwbmo{uI49ekH%B^iyds>9 zcIP`IogcxYp|j1xc1dA}M=ql)y3m_6BP_Hufo^Pt-O+Kn*BeLAfx@2XII;D{(PN{q zH#$yyy>axEDLfV(C$Zi*dMFhhkB*aEZyY_t3KP+BjP=IRBd_Gf)^+cCoHgy`)NUIY z{x#yUOC#?ibpi42OCx_mYHDuP4@o&IUnj*baX7j=?!HSp zdG(P{+c1eKrnXO+*vI>@i?{u4JV9GGhVd`#rxs&d{S9BH7U%z8aey*`GA?79S`sz< z76+*rIEUBp6>2G*$7#$^OJfDk;z?>fxC$3vrDo#qZ1|_BW$+KabDyS`<(<6^U!#^& z32esKspatvp5aN{ku?5|Y!ctRjZH~>i+_f?O>3a0{$G{H;uk@9n>@s)+$M2pC&^sr zTSH$a@p|T%i+$XqylnWbpu=?ij(%x+zn>r95!)HG;FkROJR8u+k6c7@Yy}&h5qrjt z31G!S#E`bsP}YtI5IZt(GOTzV%GrqkN~}TbQ|*mQ_ziTC}EaIj|Zil4Gw<=hnbdcemuN^IchO}UcHEUYH^l) z9v-y>e99yIPx3qI0XB#<&u`Grrjq7i+0`7fAJPzG*_C3cq11;A+gNvrp%3voq0Wi5 znnGHliPm7YTSIcPmE7P*0HKS~;nMJm#zMzblw-s9BjM0J{Soes2>*-0AS@rhBz6Dd zEK4XKPqXh~<5O4ASJ37V0l-(R#1wcWS*L Z`o}3&a98^azxms2Hf%A4N-&Gn{{nVp%Iz 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 L$~uOBS5xGNL++bM literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsAirRegionHourIVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsAirRegionHourIVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cf3749e765d4c89d5de87ad117c78dbb23d9b8ab GIT binary patch literal 32676 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsInorganizationWeiStationHourIVo.class new file mode 100644 index 0000000000000000000000000000000000000000..4f34715cb04ed0ce82b185005b80aefe4caa2691 GIT binary patch literal 16924 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 J-q}YV`9IoVii!XL literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsMeshingWeiStationHourIVo.class new file mode 100644 index 0000000000000000000000000000000000000000..db32d220cb8040e909bf56aa9a8cfda2350ebcc7 GIT binary patch literal 17533 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 G&Hn{LxFA9R literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OdsOnlineOlPsWhitelistAVo.class new file mode 100644 index 0000000000000000000000000000000000000000..55dc258cfbe3c84dd227a30ec781dd82a962e7f7 GIT binary patch literal 15174 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OutletNameVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/OutletNameVO.class new file mode 100644 index 0000000000000000000000000000000000000000..22c7dddefa18922d9999d3bd5264ed194215fca0 GIT binary patch literal 3050 zcma)7`)?Fg6#nk+yt+GmN`Vzr9##8f6%}Pmv4A|PePCOw;EU;YXa}~t>vk4H;t%=@ zYKWkQXkwz#nApS+3q%WoG5QN8{vB-Lj}Y;@Gt=E|I|#|{neU$Soiq15?w!B?z4|+V zr;&+a4MuCA;T0*yqiQbgrEh*lXx+6NQ80s);U|c@a1||&H z296q-l!_@GjzGkj5NPT@W}UE-87n)P9B~UycCuR_FI=3Q%Y(k>*eiY2)#?+oN7?99PJE^imylZ>ODurftkz$~4cyK&|Hg>OH+ zHFruNmMgj$+a0u~X7>;xBIyY2m)>E~XRpYvD(eBla3ejd_2%U^rd6z$1Y=@Q4 z+gVOjSJ;@ZnEYUK-Pp)0Zw;?Z1rb>s2t3GDoX>Uqub;s~G_YVR4Uf>kBCa%Sq=AK9 zY1oWfD%l6h$M}{cpMp=d{W8Qwf(Ra`)I6n*R$|j9pbhO@3E2b6rOrPia$%XX8S2co zg*Zo-JJ*Lgv)v)i%5vwXP-l)wh_kxfxjEGN2|O7%r&ytgtWbN$FNlO!Y_-n_DkiJx zw^d+kc%10{#_^{>;HmI9%KgUiheq%#9h#SVzj6E-6Y@y<^%3te_c-fwsiXY|sLJ_{ zKcRgEHG00|4`>6O?eoyRC4n*6Ns&^z{z5#VTu0+9%&vqokD5hBETxhXOKAyJajs##$fN+y(N@ye5N5-Oi_+R8_V> zCb#lv`-7^MlT(?JOisxA)DI(0(NCv$zM*@E(&M#leM9#Yn`Sh0%tG&)N9_@*kEIl8 zNGO5DkgfDh@s#SB*hSCDNT`b@Go^VZt!!d%>9sz*9S8iq1Ursm8VAtFovJMOi$oC? z@F-ql7Ex?w@%xDsmVGO+Y{wzqw1Y&NSLPpK+@V5YnT23!A;cXzR@M=zXok8-SmY>6 zRRK+_qE(p7wEI=U&sBr`bz1exW{8bv}yZKcb`45~9PniG! literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..365dc62455faea4e0666cdb3fede2f7089413405 GIT binary patch literal 2631 zcma)6-*XdH6#j0qzmhJr1X_p|ZKY__w2dMvrnFM9V5NoHLKQ@0o38C*$kt>7^2h^E z4m{xt556HU3r|Y%qCHwFxt`@YZmA-WnQ+`( z<$|@aV3%{&nkF~8q3avvTl-l9WiJ0}XI zT){5bOF7RfmR)N;cizoS6-F7%!65iqm&pmYK7;UHX6<^5c3D7|{(5AfhJWIV8~wuw z39W%Ha?;{MYPp+%zP8;k<5`8zC#@wvXm*ERNTXnt#v~cMYtgDK26@MOGvf?rYI=Nf zjPX*|%66q%^aSF5Fv*_CwR%tO4sEYfa=a0udNZ?huwZ+#3aQ>qgyyhSOe#ZG{7Thf zR*RY-O7bTmY9(;DIa)N|o4m}VHsY_YvY|T(OAuCbXn1a*5lGIs)pEf;=*S{(X{gzt z>~n$c|7&2@wmWFTmHSuMciyAR-~D;%n!t`{XcLo9_$3qXV4sO@DUD*ki34(Z18_6pLi0$m&&OYM@;6--8Sx8 z_)YWwTm{clK_1pCUZ8^9tXFjT=46(t9e~(FV1iDsWc$8_s@%%{3UM83{8siCh{^uG zWyJg~h4_(vE_r3(H?*XchuCxz=0I9mhEhYQd6f_~uccLq(H#^^wm^vURDEcMZM1c24(RmLcz7qYJdH)4<&jdsV|hW0AMKINTlLyIKb zXv^M&KCle^j67HKid3YPP-Dn41S&1B`YKkyH!{+yuj*`0>PT>57*-t9cnf`X|GyWclI}OI$ni_L1H8D;$ z8h17|<~(a++|p>=)ztW1jD^N|mPfXo)|dSOiRMWMeW$JVofb|K!FO?}nV;md`UwV) zzrk-49@%xQ7j?jmv12&tVyDsZD{*u5L}G0-58bHMN<` dGPX2w7%lzokcAlD_iKE3b)HV}KF-t0e*sGX^HTr- literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcAdslVo.class new file mode 100644 index 0000000000000000000000000000000000000000..392d30493bcf407f397285a8a10c53871a46978c GIT binary patch literal 3125 zcma)7>u(fQ6#w1bdF}3O*)9~iTCoUfpRA&yYyn%aNO4;##VYt>x*ggn+nr^17GvTU zK4?q~1QUFOMB^8zF@%TFLWCIof{A|zZR7tS;<C<^SblrKfnA6 z;CYl(ycGq*5l)Uq(T=w{_YNoTa`GORz0b+92ptVhrZ~xQGOfalq6Nn^9Ou6?oXl#l zG|Xu@p&`!&^C}7qiZNZzk4!TpvUA2MBb_%2GwG~dm>FP59jX)@Yu=o+%GOlg94ZuS z$8apWP-f`PT6VhpfiW{VM>--gq zqG>$rm@!Y%WL@A1r)0UI+n3K?T>ALp@)y^Z&s_hktQdJpqOGeg_Q9z+Gv^F+A7zk) z`!!jsV2)Mhr_9n};V7B4b4GsBC|UgM2_2aoK@A{oUkC8gse171lBoIc zMezy8$ekE9if(c=hwhYUIioPli$>+2HOjNXVYsV%gl<26Xk>Jl(j#6endM5}VNk30 zj<}q-qTq#b%$56Lm7P|>a&|M2&q;>JjOp;Y@xe@Xb=P&t8_k#p5PsJ+K&nIJgG9i% zXX1y9lxs28)(?Ukg5M(MAw-adVew+rqr51djUPpGY=NbboUkjUoVm~9BN_JxV=G@f zhE4ysPc%U7cWhLOb^+`o0>&uXkG(yYAWN5f ze+Rn&IefYIH?YyZo<)S*BQfEzJ|Y>Z{}04c(jBxeK<`gUi;#SToRJA4XOxu8G0Ghz z7Z6X$DWwjiWK;qv87-x9kmiBZlvW2)GZ6x*nP@7)K~WDBNkx5-beV1)MmJG~asd+P zAzBpKpcj2~qP)6&FA%5UbL!Q0;v)Epdh{Z3QM^P^wquQ|{f!nCJMLk>k<$8+iark!d|d zC$NKlL*z^5E#S$8RwcJy0IJE!loC&l@jVi5*e8Th$-0;r*eUID+t!g7n5Cv^iQWaM z{fp3!ak-q4xFRKa8jZJ7sFaNCs;G;uk(QEum6}mpl~PqvZ^^17xE=e&UA!BIF^}DN znQkgm!3T*8Q2~!*h_VP{GZlXiaS~y+VJ~qqj$i{`Ax?42`~$T6B#@}gj8SR9*nKjr zokLvE2H6Mr7^zX@!IU~!4cRR9z-lA7h7VAX3FS!7n&=62iJz&pJvR`!-qhMwcW!k7 z@CwEFi@D19Cq%C`8Mg--(<2*T9BVf22sEb0Ilx$NHtq~Grbj)%INof$CD3>jW1ew_ z27~W{($o7hqQMmt%b--3LGj*BhJzRn@)LVlKjNuncsdsCHOa&xTKTRoBAHw(cv{)k YEDm~=4dJjmbZ=C@N|O|uzDjTY3!7wC4FCWD literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcArchivesFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcArchivesFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..380634cc3062fad3cf77be43f625c70d63cc574b GIT binary patch literal 2914 zcmbtW-E$LF6#w01H`%0VDFF%r6p$+E7eU1jnieUALNSHf)++eLHeH*=up2j_C1(ccdB|{)FZdryiTGY#Bqa1}Upp7{Bg1Kmv1>*19#iD&KXO>-o&fFP&QO{Id zvzU>ZtUzqqT(ESv;?U8drsJVp-pb^Syiv-ydeO1<`OKo7nao$ckLh{WcFxb*-BnF? zKV7D#Dwb=WHD=ASIaf4BEX#Iv*R(CB(~~ppO!=I?uwXbDy?&AzDVY=YyiuHV?2_TQ z=jlgX)Qc6SmHgwgiw{2j?%pRi?%%k2@51N5U%pC+F0uQl4y-zD$)A^U;@*W%A6&m( zbsiZqEz{jE5Ki~ZlIKxoCa@-FTE_9p**U|R(Fu&1M8tF`=y9c;S= z!(r#hmgsJ{iQY+rs@*ekYlZ3XP3nsFX;;sGFrk+`);K^o2Y3~@Wn0O@%|&QU=De?%#*zS?Nz>p z$!kvn<2c5_T6gaEg+TubQ|_K&#Rc}P)Vw-sSy8=IGAt%Fu)HsWS_K1SS@{CIWWK?^ z+Q-ZKw}GE5cJRZLG{?X z!Yhp+Yta~CJBwM3u$L0=2v^DGpUf}Hz0lYD6;$O~-_KAkK@DH)`w7ZKfA11h?~y{} zct4jxW#AXIrIb5Zdj*Msl(K|q)j}IoX`&5AQmV9x+(GgR+EZ#OQZ-VpwPfk2pF@qM z0$#$)%y0vyv5y@PV(T2jAa!AO!hU2aDL6t@LzGlZkilU}5uSm)7>jCup(Bb{9-=FX z1N_y*Lu~TJ7{BatUIYy6<1VYHO6W4Z&|`|I*3wg%luS>^5fixijqj;^d$2P*qzrp> zZSBk!NS4;wcLmXbCB#lky*8-GgOn1SXp%x6ZEa1>Uf*jFJ4|8@;V@&WEaDiY5dSmW zLnk^7f{0 zBYyHG+LDPSv`fHC=t!>dWlhSRl$Wr!`FbtC;OQE!S3Tx)wb3!b7@RG~nIJfZLRd#w M>p4iexNk)4A4Eo!^8f$< literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcControlRequirementsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcControlRequirementsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..05f63e46c2d0c71553623358e6e89f6acd3bd99c GIT binary patch literal 20990 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 F`d>6n$bSF; literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantEmissionsRankVo.class new file mode 100644 index 0000000000000000000000000000000000000000..69934865c27d14c1331ffe8c5b779f73d500b2ee GIT binary patch literal 4683 zcmbVO-IE+u760AYndzR{`P$jtOj@FDaKZg#5J9vz0Rtqkx*OIFu7ZkmW;?r`%+4$` zJ;A7`fQX>^5K?8y1IP<0sZ=7CY*Ip{PGbZu$sLvCDM`L3$uUX3FUb!iwlX82Ew*a5wPr3^P3vIQ+*7O7ZNs+ewWh%MoK-J3pE6cf z%tqPhXv%xmt@--0SzTz<*Ug4~jD8YFjcUsjP%mG6_uA=mvkwTQ4jC1@-Z(bPZ>yKz zd*<@RSLHVP*Xz}4%QkAZRP=AY{l@0&ul(!9-$`B8T(g=@`SnGkc0?e*dE({G)0eKj zaFWcGQ^zT3BlcA6mQkhT%DLCB{pR^LGKg6)8*7$L$<=cgubey|z~tI~7UgjTl2?xZ zcJuscGUk)?%i|A^1p@Z)!NX?7o*92kAbvm3PM>pD&D`HwJ7_i@F&H`-;CjWVE*T9= zu03JgUbX1#?zu{>Trn%=df7Irjk>X1K3Xp?RQ9H?C21L?}ffD7u96&+Y0Trx3(E-)k=>W2Cm8V-Sd zc?j+&D-8GLgWcY}ybXn%d*bW?+o&9wH`bjruos;^P%B1luS_pvwQ4k1-Awk4jn6Wi z3yZV!dl_%?$%ff%RarQFPB7D>fv{ypyTX$j4F#dl5%>oUi2TFkJ1D;ZcUd*dzK7o& z8(-pfR!pZshQ`JNW!Uc94Aoxk$TrGx*{&feC{WNhcWszij-@>;u*om7n_^c%3l1xf6ElF9D&*5f)Qh4a!*Rrb1a&Fvm!$6H$ z%eyo96<%g~r$*X6u$%QZH4^9o3JOyrU41}NF(7iY8xp$NrEnmCbh1mC7|&o0kJEGK z0Pg5xdm8KOW{p)o9UReqG4`~Jcj6g_OYnXL6vSlcxcUrN{rnx}|1C}2N(IB&s~Dq# zA?{U7P{FYGDyFDlDtZ;SQNi@|DsHEODeG0-fk6sc7^HUrv4;p80L0G8i8qmmpPhUk z;#DO2&QAUrVt#6312Jbwrf>fgi5{Q+3;MPA2N*bm%(NEYK-@Iy+gUDXr`QazBOsR59prwCH?w3d>fvSO8`w3F@jMgtf84pA* z07~guf>L@;%Suqr17)>b0F>7A1f}(YmY1M{2g+*&9~3{!?DpXcq)CPjDBy0=vu^P4 zMSO`Xh7meus2>&??4m5jYPgQwl=Wc(|HeJ!;&>2$$Gzkdn8)AnWpYVW@ecNo`AavA)CzYmhj;-B>P5V;(;xD&JF@*;_w z@D*|ee3e`L2DU5ee~?o!cOBal%=1qb*C}<_)W>CcEDj#Gs(5g|6Zx@(EGHScSWo1( zxd1WZUciF#IwuS)5vqf*-{7OrcR)>Dp( zHS1ZW9Mz8K;yL6V&I>^wF5zofrkcIq%ogB5ypdI=*A#z> z+g+ZwO{u84Jg=8h@e?l3`=nI7$>n*0l!`lCo;OCR_(_-NW2aR76v+lY9j?jX_*nL; UDu$XfC+h9D=sNeux9F4q0~xlX82|tP literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryPollutantVo.class new file mode 100644 index 0000000000000000000000000000000000000000..423573e3d88c824424e43fcd63a8a51ea599dd71 GIT binary patch literal 3009 zcma)7Yi|@)7=F&~-1gF|6gpb9NY!pHtRkXrsTPn*wS`Kt3ZgRI4(*g>XWh&#jL|Qc_&W;de-QCGGqcyOu}S;xdwJgXyti}akAHsp1;BRX zbR3F9;1x+`=G4_+Q^kR~B|Gblq>czEdzg?w+oY4X_m@u2*~LQ^>ycHvSt~bd6&)#u zO2u1r7;IoNn@?x$tX)WZR<7t;^XXG=dOABEWIbKZXVztf!mV#%csNUUy+ykypv$0r zL48u=v#q|erVVXAy01pl;zOz}X$=rnMY|8E>rO|2snfO0cvkkrlvVJHrc%x;zBUi4gIN_IaRhTNpsj-Is6301C>>1rBrFTG^@)&u)3LtvE*S%+H0dxtcgac zE}G%Ffv-S(#w``I_P8S##B4V2t@5e}Z2rF+z`f`W_ImZ&naalAeE;(8%hv_^*SlUx zJcEam*o*Nb`Xu*)<7R znIBDJ2`AXWq29_Oj&dGDz2!kuY8~pW88sCmmBayz3$#}c3~m9}$0`);Jcl-1dqK;? zTC)pbh9lU_M{E;cLIn|78>M?GCHQ+E|9h5kKMkyRt>Hl$*n_o(%`~ttYYkh_LM8i4 z`UoK2B{0F$ei$713aWB(@HdEaP@@+Ie}$MD8dyQZ7s*8T50PY);op%kl^f`|faI{L ztUxIv)Qn1qn$b*EVze9Rynq%{HMJU$meC2)GKQ&3kP(7()2IRInHWKOCT_+gC?0}h zX1okiE;8#V9wpUS3($^!(n3%TQW&7bx-f_#+Pm;MhN+9N_A}T@U6j&?NRv~zYA5g* zITcf|@i;jRIgDc)IUPle;R$jEKH;pklZ)XjXY(YvICk)q9ca^yztO7WsXN%H<7xgG z;tsk4HufJZPv*`ClOV@$6l1A!1hTlun&LJFfJ$*HOOnM2c{zeG;sauIdKcP9b}FO( z*m~MW7CAJdeeeSG;T0Iiq+ZP^(qJl~#gL;6Oj<_uO`M|dWSDB%q-QkWq*Y9uExmf0 zk7HkuOPFyKC$STw%v5E=pCuPz1CQf5RuRP(Hh+wqLd!PnBB$aoFUD?in&0McVcexc zVVi|uYazs4I#%U~RCGZt1IiesUKPT$8dw$Cs13n-J-CW*VxS9azF5Y~q|~bna>D%on$bbF$I7x2ZE<>L$)D zjm~{donORDp>u|dA@71VF!&?l%{vxc2CZ@#wD9c|m~0*=vEDerQ!BWRP4h{vH%{;} z3+!(mr)9lyf`?ql?@rjCC3Z(H)Yx^j9=?jU&h`~_$h*#;&dz}6mF?)fC*XNUJ32Q6 jye|1Jk`-)hoJ;L4j)k3#VA@~0mn&bTgFKsGrI~*LRQ@X{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cb536af4e4ec29d0172c4bffe31b56099e4e29ce GIT binary patch literal 44246 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%0A*X%>2 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 H(MSIW(fUyv literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcLabelValueVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcLabelValueVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7ec1ead8816b29514f2a822c6e1b7f67fa848152 GIT binary patch literal 3353 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 YZbyZcQuGX7jTO9h(A5jXWmmuc51pDhu>b%7 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8849fa33ae94e4de7bf8cf7149e09982d83d508e GIT binary patch literal 3994 zcmb7GZEqCU6@JFvdD-=NZ7&$ugftE~jbF2Ue;Gqsl0f6eCKM8vq-mRBJ=g=wuCqH! zLf?U=ts*6miYjRosY0oM545yO;?R&*?Uz*Q$9}5RPnB!~|A91p&fMAEVRx#!$eexd zInO!w-gC~qcmDS8_x=RnGx&*##SAp~B93Hm7mf-li8v;rETSS}NvzL`sHQori3mj0 zMI0CLoQUU5oX8-Ds)g^!?{_VH&%*aD{J_EwE&RyBNl~9Naau!{Kd&J-bHqLF7D{e; zp>QCm`sIZw4f*}`a^N5H=KPv}sO0S`mn(rA_?2=^!|04(Db${G7Z$u~!EIRzyO#Xf z%Dh+FSFJ30)!+o<=*Qhs-P2<)lSl+;3&R^kKIcRH`SYiLI6QPp({jUDU=guUr>h z&y6#0tiJS%8|N>D>`;C9i5i34vG&@P)w35?&tAEH?$XHhi`Q=c^4F^`{_4i*KaMi2 z5cgDyb*?a{h&O-w()Ck+SbgEGwYM&5$TkVn<$3Swb-=BC*!a=Sp!FtMZ?Bq@nKXBE2yZ@8Zrke^=i@E<4f~y zZ0p7Q z1shLb&c^+MzAosXh$lrnCE^<*9>KJY19;rV$8fieVG$n}F(P72#02ivu(|zud$8`8 z=H)PLXxsFNKflw)kMRPNJ~7nnshzCw#E|MLVwyrMId2WaoO3v!tgQl5r;XYuf~D+l zEk&Jdwz9jlbqlc6v!l zJK21%kg^e}H=k{gQkS{^ZhVr`U{-*Be2Vfll^1-Pp9Avm7Cwv5(LRXl_&jw|#DCxm z)OE84f5#VzQamH?z#-Bxiz}ESGEl-<>>x5x#f#WUWZ@MY#REiXyb2FrBFbPHd+=qV z9=y-rT|_qi$*y^js2Bgjop^{Si-)3yMpYDa2k*gjkPrxw{fR{!`# zn3K!MJR^GDNr@q!iY%72lrkBP9-7!qp_7%@8z$2+LX*)nvB#8`<(Q#~?G<^M4O7~& zLX*`rvFYfwHMs?zM!17$pWS#9U&W)`pN{h^z@yw@25+#?(gNFY8heRSEbAg3Bhq;< z&SD>tfq*UbH6jyduo?S_EGeV54faP=q*z8xW9gu2A2C>K+$D-Z=nX=Hle%3M(To_a z#cbC`Wb<}%i=SYKT&xb4mRGVZa!e;VwtWAqneNOt-xAeT;k6}4R3Cd6J-=^j&VlgU z+N6>Y6-|=|tHb$i*uQIY-je9dH!i`sx7~SbqBGyd1m|qK^H8EQ-_!)>zINx~L}$Lm z3C{iP&LfG=e8Ur*2ilz{5}lvMHzQ|<$3yNBV{H5#*vYk07m3llNQ~&k)bOq3IKAtQ zqaIid-%gH`U2h!q9&30eIZoetx@a-4zn#!(*!ntc64^*Y6B z$;ml*4Y?=Z#fIF*Wem!_&7a&Rg?arB<~A$L`*tw5MPXBLUSZy-gSk5tP7A)1Vi{Z8 d`zL-{4@Mo(h57JUdKlubd@~*9|7|ra{0IDf^ppSq literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcMenuVo.class new file mode 100644 index 0000000000000000000000000000000000000000..7eee96830eb6affd9898b7f6ec9f6c63530b8d8a GIT binary patch literal 2946 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletGasVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletGasVO.class new file mode 100644 index 0000000000000000000000000000000000000000..e42fedcf74515731cc2928f5029e85696a54a30d GIT binary patch literal 4627 zcmb7H>vJ1d6+c(fJ|s)B`dJk)w3VF@w@DLIJ8_d>(o&!sd9jtsT31>n z4N#!zBW=^vNeQI`8Cs?@H6Jo{IzybsF0U^z!$&?b!zX4cEBzl*%J1x5$$G5EgU7ym z?m546_IJ-Y_ulnC{=4!gA{wH%f)u3FI-TL?vpk&T;YU3Dn1`Q)XeT|V(N9B|{EUa6 zv*vl0&hhX94=?iY5)Uu4^}I%}glG#rr_-zad`+hdI=!ybMV;QzX+ft;tiG(#n}XtV zRxV>(`AlwR(#quQv1vhV!b3SPs*}P>;C)3s( zxZ{yGYu=eW@NC-5;yrhH@d ze=h&#^4g6H<#V?_`QydXrHkdo>*~I}P7q>uAt)pnORw#vrCX(yE4M%RsI;(jd+B+} zUpg}0SH(Y!j0p0^mp^{1v~ZL0exzvL$eTI)h?5sCOtk#Ua(QJ@hGs?kjA>6a7qGpj z*QI-3_OQ{UPACTWONW4iNd z$VR)&Or&a;^Emt`8)^^-rctMkWUz_$3i9{xQdIMqqLD@J>ehPXIs_5V-p9EQpjrFEEKag za_g0#aCcoI+8Z%)4J|IJekR}8+Fj2NbZko=kl5VEtYSWGK9X@ZRNel#myc6HyEZ!| zv5)R4t-P~#{mRVkSGyJ=;~c=ANeJ z-4muO^h<2?fv%cD>_M{+bTxoE`7lH($i_LB1NQhpSA9XC6TM-2hDHR%)``mPRi~;{ zO*Q7{%^Wt?px3d~bW*vC9j0BlY{Yez`e2yvlcw>!r$%!b;E$txQ3mWxrV#x z9^4;21-hGh_fsDYjL{&hs9-ZTS-~b5dmm%J3M>lUj2)_AhpO1G1B-rW#@=7S-e1K& z04&RK>ZNBSJ`iXBy)d6(VHz9{5nD)^q zW)I;{BVTk>qlaPGPX{n^)V+AU4^OqP{|1QdP ztXhVC$VN$R3$^zli~i&8BTaJR2vx{ z0>iNl7|M+%_^9+?s7Z#JC&Tg086NRws5LU21jENRU?{h@;ETa!n8cI!veI{x^z~43 z|LQfY6nDc3z9OWvFMzGs3gCSf+3V5lJb4L{e%(VGIh|wn&kLl2B_v(Ub;IG^Hmr2I($HOXxMA z)>IIn)>J4FWKhTj1rwnfP%PB~P%ITrv@j^_f*{p^;;9Hg@l-SsVNlcsMH0~pC~yty zuRZf*&fb=JsUA{y=s0~FS?i!OO`*koxE=mQ-+|7L3*eu00#bku(hYhXl0p--L{C6c zDNC2=yO1=>(`)o3B%LnP)AT(^LHZT0?(ahi(K3#|A3$oMkMY*0Acg7QxRMM=5&92p zr<0JP&iOk|9h!cJq8g(A)xhftrJ)pb;i02T3IxSH1;FqXpVZ z^N@5dqqvL0pFN3ZQ}s)T>;WS_4~0Hfmk4Ru5jsdl+07 zy~$ILkXQEYlbH^QXDr<>$`{w-0>S#*8XdzZPw9!q;N)e|Sy3 A<^TWy literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PcOutletVo.class new file mode 100644 index 0000000000000000000000000000000000000000..e74e1e2f67e34994537227c54de4a3fba1c1c3e3 GIT binary patch literal 26537 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 WteB!_@M5CirQKUSONe086j|5;TQZUy8fbxZ z4NIC(0%2du5-4E_4Nl?!fwn+P_m-9x3I*yVbp5{m>q6kpN`8Av0uz8iuZ{74e zFC9WJYxElbzOK>lHF`s%H#Pc$MsI2Kwnp!0^hb@RG@90EMx$Ac_G|Pm)BohAKMSf# z4hjk{zc{uw);khQ4fU?dWs<3(K0*39EU= zvzNt&h7y_HSkcpa@>sGzJ(w6-nMsc&GP!k#<6IjX8BgF&%T5*K$gLX#_D@gVJ$uc= zvpe=qZ+HZ)sn{sD%IoRP8)vsYA;^_Yk7wfCzW?6qr*_{qbLRsylbgYg;|_%wQ+w~5 zy=T23Z7`9IXOe5+@gVffrcL|zAxJPj9LvPwxkM(J%_ZY_cK`Io9q-=y@a#2vX0G0b z$IGHu5H-zSJ27+h`i>PH)9de;-SSY!>gmmo<5y59fpN&KTarnDIB1gn(;IG|-a9$7 zb>iKvI|~f-JbBSN#hBXn*vytaB@7v3Je$biDP@eQ$;pxc$}Iz!ZuiYc5X2bA6rXVIY^7 z0~uVNOeI!~kFH5%&W&NFIUmyT*vLREljLjF=*SHx5v+T8Jk=Xd#1mt^x!6c19UJUj zo9;hUDzIkO9D&tg6<8B(j=<`$3S=OedUFI;hu`c&AsGYm(F@nI_gL;c zo2vKfDzGXSi(k?o8#9v$wbd*>T0E9o%1MgJAC6^*Wj|BQYSb5H}{-sDDU{@xQ z9UnnTSDV@4jL2kgM&#VPBl(GTVkvNK@I;DJ7>blllPjVYeQl(C-1BYLq0P5hM=#%I z9Uv`I7z|fLb=`G*GL_7ofQMh$Ie>l*C34F!KJ^PbEvvFnb=`3D;=#fIT4B~j56~)A z3%OMelMm?BLd^?vdugfDSSZu44sdB%9V@n4ds}R^_P5w-?Xeee2lCa4?>8W)-T zLiSV3rDd-KdF8X8mgExJYF`l#=NGM@1qXV6qH^|5-#&>~72cHlcRn`#=q*$G?wwix zcu$XfeaROnUX|0&+{CZVyRH+osPf9}r>p2we!7Wn_R|2Pt&DDAb1R$M*xb(M4mNkP zxr@!+Z0=!mFPm?%xsT1&wBAoQ(iT5`jE?ow@oY|Da}t|V*qqAdG&X0jIg`zDHY?by zWOELibLm*Tk4ryEP8m;*4DuVJ#eQfPCI=V$=`ZwGBv*F_SBS+X;u-F$tKLbh_9 z0P=Nr!Stuay$l~xHVM8Gli?;aOK1A z$MJ7usSgg!Ub$m29GKB^$BA%YmdhO{!-1JEcPxPe*--9S3I{Tz+;KV_$eMD;GB}V) z<&Lx9Kz5Zo`r$yvl{?Oc16f$^_yiot%yP#nIFPO7j!&B7jFkn~r->X95a$zBMYQ3g|T!lGg}=zGupNOgL>g%mIvKnfU*dIOUh6{$gQw2*3yCXi~3X1$3?&5G2d zH(N+SLkB5nwCFmMS`?w)@aw~F{xdV=IQNu zl4Cp8V>PXYbs>9*f^;5{I8Npdoll=Z8#0MLOP_4dO<+2*^WQ#YP$e^3sGz(J+vYo)*KD z1oG4CVi{cw6ri`o61oJa24yNjBS1mn674h!6cSN-pHe`zqKp1XX`rw;lU}1SpgOUV zUZG2Y>P4EKq6|=j7^lZ63)CpK&}Pa3HDQHZOXEPzVh`@M7DyNS@Wht^wTL%SDLxO> zDyC3=)&aFuRb$;<4m7XIL#=cLP&<7A!*xIPxV8UKjhnvs9yPk@O8jZ!J!+QF^M3&` zUwA9aieXk`Oei_IRB%dEm8JwWq78(6N&sDe4r4y}Wh}$EP6DSE>2qbM?|8>zv%Iv0 z`i4;tg$=4U+a*og z$($KAf7Rj&`VxH^^X3%m=qo@~KvJRn9~!C{ z?Z7-0FmRxN#h4XQRah?1W?n)5A%AApIm}{S30nmZRu;VY ztr)vf8*xLaxYbsS-K>qcu~a41&6tyFxhtr({YHsX1u;yzn3P9to@?WN)qZN)gn zuo2HM6)&+B83qtZC?v`EmC_Hh>-`<9c7DU| z-b;t9-bIIoBNG(meI0(nACVZ_vuOA*iLoDxh8IeV4OleXDKU0j(J*wZ#TF|X?vfaL zs%RKT6x@zYR5XkoB4g~DqT$0O#x^M$?v)t(qGvJ1d75`mX(ynA#k`>$X5(9B?sh?F}yw*t}ZQayhry&l87AW0FTU)6jxq7$+ zC=d#5`bd)kGa2YiXY!@#&`cjpYcmOx(l2F(&wPSU%*65JFW?KI{O;bByjpF7Va7f> zd(Q8id+vGMd;jw9i@E(t}T$*IJv%Y>fF_{YuC=cM@ze0uUh52y}w~q3-@s;Lav>C zWApVBL~Wd27Z_-REEJc@R=rUrE_L-K3A%Fe;>MX%o9Ey0dpmr5MWR~XHs8Ip@!E^b zPMgEoW7ZO3(T!IxZ$AGV8T-kGRbo#1M?G15=*Uq!U!NX(L?Eo9OwAR`_JPK+BX;$$ z#eB-FSMpYA(W(~Zw<`?Smy2|E*Id4w%iDQ-C0Dmf)rwWftyXde^9${Xn`vcZvBFe~ zN_#EcC|H9^ec7%GXwv(L%(3oB9CpAF29zYLFaesRW8x`ONbHw#X=#?7E!8zR@vHAGc0}KB~EMIse|NO;EhJHLVgg)9T6Agc^Ra zC*lqh6?4De#Em*qQ(?AEn;WIvMj!P-aZ>D!lb=Cx`o-Qj{W>>Jzu1jauUAx50`Y}P zqnfuLD9WMVebX7fO`gL7!~gAg<*W~?^HQBwo3FmI`PR8BADp{-;%$LD{^zqJfdjZZ zf$!qc1n!dD_ayh2B$gycB*{xskmMm8OyJx2P6ET&oxrV- zar#G|M#DGF#b~jxH-T61OBQut2HV7B&uUpC^mfJR!sv;WKAjV_n9~~ zrCf|9a14(Mq__5@&R9;iwX$NDIY3k1d!X5w9V6u?VVW5fyx9Q_A(>5neTHA%{2k%{ zEj4_W3TC)dF-irq-l-U;f|cl0Oj5z>bSiG6f)(pj+)f3n*r~V^J1AtYkbVvbJxE|L zAciN#Uq>W-Vd6uG-y+g=Vd75^^ONIi2sxi*x(-Z|nBl2EquU67gx>Q=Oc~)dgqw(n z86hNMMvaKXL_b32JbH|X5%qwgrbbZI)D2C7bQh!cEfe-rK}6%_$Tfm7sh`44PPb~!94zo zuaJwPg!i$J9B(GPjeE)I9HKM0k6a9A@dEBA7snc&zzn%={1G-DAeX@3`MaN75B@=K z50XnV#9_>mONl6U;;ZD+_!>j}CI&VAUr1`0yN&@3^Ze7rbxIvJ_W!cn7SAHpRopmV zs9Y=}+ev0F)RDOX1!!iDx!A)PIji!NQf@-OCniqo57X0o!h4+-97<0wvjO$=#Cd2_ zYv_JV$|Gi2DvYqJ(PdjIRn&|)Dt4q}q#Kc@N;9L5D%w)9PnDH!YL1F6>RM?{Rm{{K zmEKaZag|lvj5#XytZNl>R71hd^SIian}RM}#@BI(TaU1`3*_YH*KwF>>Ehw?8oog; z%ochEi{v7B7|SfDY@RwB>09J9oW`A$%jWqVvUr4COqN|NA^9-{VU}G8mKs8QOt)L# zAt~rbqzPzZ!tEj#7WKfkkbbEP*4n{a_yC1#qIZ~VSq1A{!&s2vmhBDIu6g_h=35?a zhM*Icj~A@!Umnf!n`1D(j>NmZG3a#;kc0xbJs{*&-eLS6dfxFF4+a|Z_75;l`i+MI zjrnQ_Fi!c6cLf^rwGm*P_8X4`8uOJBVBG6B9t||+>n6ZB<2RlRH0G-)z<7t>`1U|! z8;`rjCP!5schT{Q_t6tvXm#F2TjyQWeKiOy1^Y>E*N=K+2p$H3@uarvN4-e|iot%; z+x4TKFak$|{q%0vk9zS4-gklf%52wrudT?R6K8+Y{pPLua|7*6N=}3lFjT?JTH)JW=Qe8F|wIYDxQy>Z01uW eYxuOkC%wlw^=*HNo-iywHMngB-}FAPIl$Uk|Jpx z!qp*=I3^Gq0!|zV@Pa8YBv8%swgfmRK+&_2~-ix*V8R&B#p^FP_=t> z`ke1O-E;c%>Hfoi&R+zu4L^wC^9cxiL5eRXa5KInwWCrzBE^@bcvOn7NbyxE9+SAo zr8pMn@Chl7OYt=+o|NM2QhY;-r=&O$!^s4Oam>Isz zf#;<2yD@xEAXHowFlP@rN1S}gDKF*sH)_T5(zJlJZ>8KQ9(EUs_2R*jyR%%bG@M4U zQmzY(%@!;9`a{mrl3U9=ZBKq@wK!KcX|Be=g_C z)m5ZBSBj-Y&Nf4varLLqUO9G2x-<3SQhBC4@7C&-a@j2jq^|z#;^kv6zIOin<&)0{ zBoyEPSJ(1gIkkH2)H#8q^35D}mfFtC&t1Iw#Nz^4>D;^0@Q42Ar4v^#oV#-F!sX*X z)^sA;v9BFH+KipjbYF0Ko57>*gDXyn*%=!3<#X@BLvEolJ$A1^_%5b~pEp}9yL(m+ zA9QO69A;MLzfy2Y3r?*l$J!WfEEgGUa<)*;7uP@^k5uyWh5el=+*_?L zRG4j1>D*2|J-4CKSaxdyF&TD5rrGc;o;vIq19oMd!UT8*6{UNphBTqup7Fs|ZnJ)* zHu*q0$2mVr+lE@O&aE77V>=yLKS539i`&}moFAs=GCN{wW17h?JTT`}y{+Qe_KuQK zaLT)62{5(GPJLPJcHijO46{GKZ)R>6w}*PP=GIqA4S_x{_vT1IcC#a@jD3Zg)Fxe- zdelslH|+fCRMVyy>E=*VqT7q*V&ir$V{~kRD_n9L@*ED1j`^y$)eQ#e=2y$}??1Js zGH%%&TyGQB+K)^driqcdT4cuw(`%F;F-U*VDy6w+l`W%QWoz7A zr8ab}vTaqoOxvJ|Mx&zE#7?!pvQjI!yNmLeZwNlMx5(xzu=$O8Do^)%)g)ER(mnCg z53fA(g24FN+e8Wq$o*oSc(OFG=%~dQy9V46vm~P zl;RdCZk6KgQf!mrUDztHuKP~$>PEJpn}YK&T3pL=?U?3zj$&Vl=o#}Pl zMhADR*YOTIxP!fpchbRK?RC5xLo~9AC~YA0B!L5f*gY}+BSgYyCw>cY8j-%U6R$wb zO^&Z3^%tnezrO+>_w5E8MYRzzZ=ufjZov=y9f zJLM}X!`Ok_IbyEyKHNe7khl#yX=7!HEx41mK8%ZvxQkjC@5goAO)Y{s{0qCNMR~se zirv&=sNqjU+`+m$iI?yJYH^&x3z(snz$#AQgVd7v4UXeO)Kd5xTf{82H2%R>GDoeS zOWch;)G{JUxtIT0v6VGHPc0`VumK;YW?~WktHb;8|q2yFl_`h6H9F;m&;pQwm%i7ZwoO=qW+$p-X7lJmGQ>x z^fHUs$WEL=Y-$y$`=mW$ho!>`YmXsITe+fk#B;H#J(6KXny#1~^<2@Gi?yy;h8^=< zEOX6@HC=Jr@LWdA#o|}2gdO)>tb5IhH(g0P;kgnm7f%CO8-vTPs=ixirw@O@$8Zm` z62YHwFSQU0<&XF{GuFoz_iKEDTA1bdJU&S+Ld2u^6tyTCylg&AErzF9IQLOA@Dp|< zhguxJ!#Wm+EIXEo_$9K}X$Z4SgkWhvi0ho7Jq}635F$-L6BF(P6XQX|Hur{ZO;6l_-j49U5IRWm#zER~-T=fpp)OkUkzp`~j z#$QJI7hT6L=k>Fc0_egL@?p|LK8OAnyU6PU$$ZNMkTc!nje%sofda_cZt|u;GT%-C zmQWY!u-J+}lN433jsYaI1D6TC|Uzbm)aIO;Jc zP!En{t~HK&`w6z&!1WBQHI8~J3akXj8C+`|^|BN=5*%k}t#Q;tRLHlvuAkGa9@%87 z7chL!%UEZwUxg*_X8xErDV7^VYP?H!Gdjq-DNE>AV*$ nbCc4OQr}FmiY?uB?(b(+U8x~_#%o*;w_f_65mzL5%khVz}P(*p9g|@U1NZQiYDk#cyGEJsTX2Q&* zP+aQ*6)6;1DvQv#P?QQqA%(V5PyxkVaRV3dYm)MpfBPxo@4R~_^JeA^9slwB+LQCn z`Tfql_uO;0dHFwwpCzJm>F-`T=qEu>u=uW@&Zh6N_9Tm^SWK}v#Nufd&#*Ym;s}eQ zEWXd;S>_&N@thBz&$IXeiyyN15sMdCyvX7u7C&b36BaMC_$iB@dFkhVT0qZf^b7v` zOBTP<=+_$kMx)^bMeCUi4j2K ziLxiYVmv*R8%|}`=X2w!d~pZjxVI-V6DdL3@u!cxdDmmy=J|uk+*o{TqEJlbZy3wO zwLdGwHV`D0xPGr(Ira0V0A)Or&wDe>#3g}v)I2_-U+gQwl zG8cpg=i8b{7IXO>1L#duW+0Quj>IJtfR^J&cOHNGz7vy=l)D{Jq_v4Lj7OJ<={>t= z_a77#A53QB$y72m9xo;``CMW+jzNxLRLNXEWgpS%8X*49!j?EsuXLjGtvQsgov(&Yg zf}FUO6Y0z_GQoq6*akhA%Z~7nXCJ+HX4kQbA-7ghReXso#jggb9!d~;IDPveL18OW zp_oo4GMi9V7{ct4hfX{;IkR`_&Am?w3KgzTkEaUjwyvER+mg!j5O*D#-aR>UU~=Ye zB-o$KrxL}K;?5j8GJVUw64#TuZX%IEVYV-_jceVOZK-5&>Ef%9YuTspU^<(U@i!$< z)I9k)bZBz|1%_{BbQMR_2-aUarQ37y^~sHu>EzGNIV4czDvL?AkDARDM|ngsj@wg} zQl5OCxdHcP|~kyG4K0g|?PGJKtKov)g# zns86`T59g$QtMq$DS6? z1?gDj9J^k^;Hykn*`N{zgG0hv?fbQrFK#gFc|s-E@ymn^?P#wcT`^PPfw@o$g@q zWfpg`xQoSJ7GGg;FN^zG+(;kS=}UC0PUq0ObuwwGPRm%VV6lqDY8IE!r8-^4+8~Ry zEY`Da17V;Y)(z6O-mE3T2j09oSzMGJUZ&IE=yeuvpeFkk&h1RgPPty6Yp%fG%fWHcH0URg~<*-qg(}gfzRG{TRpmu5zD@%x#K%lS` z!WR5uI8bc0)HNmQ8X!=KwbTJPP@T2Z%S+VDfk5fjB8EzcAs|rKwTN{k#5y2Q^tFg9 zN{B0fz=}`^+t@bJDKKKCLT)B%egMFEMB>%nB@dI^b)ffo68Dk2`9SY;B!>EyOi`2d z38i^$AB5@Ze~AKy>qTnWPkO)Mnj%*T;WpiXxJ{4YW{l@WiteYN;Wj)rkjL}_;Ncab{ZWF>QtZ(qtgZon+8B(v&%3T)TKa%(NzMu4q$CH z(+43vm~)~SeF*a%k+V)$(p9iw{^`T?5%}B13v@MXP1GZ%=%cVT(-LuzJ_gN2mxw#* z8fb1B61yn@%|jWHr7h6Bloz9vgr?CQVt|IB`Dm|LMJZ^0ni4&<6woIvx@K3*0P=-SvrbEtwnnGled40BG<6pZMxWDxRgiZr7m3_(`~u1 z$}N&+xJxdt>9Jg%ITzNxWND_?a$(skmbc{cnVRL&=3LkeB+GC5EEo0x#qyP00n=}} z{Bths4w9vt0n3GrL9qfQSJ2cgmp`+T z8!N|ZCYr@+`UHIvGvLN@_!P7z@{8s4Y0OSDosRPU3^W%l7k=6a%?;i^=(Er~DAQNy zbI`oFPd!7Qho;fD=|TDeG#|YH-%Zf`^g0&O&Cmk$FB+m<&~y>Q;rc~rL2(XsV3A;X zahW%FQRmw*xKQRoptMPdx6zUEcM}`h$z1}JFs@3If_ZGPGP2sLz}`x58Smgw6s?9* zW;y#5(dR@gbL+Yl-Cu`Zj_^(h6(mqUNIA|)Kq{2}j-krYPL5LngC`4Ej@b}Yh2`zj zsw>dn;h$A?E^D)G1g(OH8w+0U`Tsyb6Ii2og~+{<;`qx)rhCaDYI&k+%kAKE6la(P zPzzn~%cq9?Bt;Kakxz9bIw=Rl5C zlh1J^<3;E|?x-f8=Sar0(}CPsO*S3Lc!oNVjcW3Rj$}Mv9mrkPX-9Qk$? z^bPu^Q=U5;jU!*Uf*yA6kI`rx`5+dw-#JcKqjBW3Sv4DVT~fz=xI22L)NujsjxLgVGsjshb=-ctqlnG%aoz2X_DUW1+wLeH wmu$!N{wrOc8EitsFDKo@r($c~MWrimnc!C$0@ee%k!Z5=yLkZvBb0l3$CygJN zNmhH#_wC-jXLrwC|L(t+-XfyS^s_L1H%fvYWbsgxuA_%pdxXWKEFNQVoWP8W(t;3s(4$MKvLJoNVR zrMcy~3$>)Z&Xk9A;`r+PYj~mb-LskLsdTQmz2M}=cciBfbbQCo;nBao`quJG4=$fN zw)*g62t+-R18H79cX9dB>D6aWuAF~#_5O=XzdX)C#S}$8r@fZ6te$D)XN%c%kzLhG z*2?2gEYH2jPNEW%J`!HEWF11pP8LzNbbFGq@4&%ysyNtlhoFEwjfOp$Tzc>9)PZ#2 zHV0|pL?Jh+flB~tFX7U8}W)f?2pQg)y zyL^}ql5e5H;0&s_@a)9BZy_JmxF&kJSLf0^r64(#jRp@vn#8>n8fk3h9~IY*CQkO;NPVlZ@sr?P1q! z%Q%|4bf*<9`QVc>OABcc>8iYHOz9E{ZOP;^#aj?nch49Co{+uL+}-0T`10*z0^U`* zC0en>neg?qwt_T(d|V4Ga9B0B06SKmIQ;s`Qrg9^v9H|8b>)>rgEKPfHC?KL=C?9| zd&9<3A9gLE!UmuXyJFymU0JHIvEd23yppI<%*!Bg6^-U+3#s(34Bs8?nycUj{uT(@ zbhRrUS4Kiz&Cg$2d3Isx?H5*#ofCBZI#5tM0TxLXA7b%g79U~pF%}a?cc)JY7|Cd?7nVSI^@j}I5C9;{;c?ZyAT z8R`ds1Fr>c0DvUa0yhFcVrqe#03cblz-9nQU@h=b07z;ra5DfTx)!hjAo;bx7HY#L z$`0}qM84mH*g_-@_4S^mU|^x|*CftR(7(|4D-y%~y^G{?mr(qB`yuSWz;7vL1>T{? zc`^sAz#;`ojG!F^C1{7NAag?RP-33yte_S0kV1ACq>yb`VI~=h6t)ZxDQrhT3foaD z!lbAoMXacYWY{r~4BNC~OfnS-nuipz>p+Uw^;R8|>J_QZs`rqhb^}OJJ8m^FDXvHj zR@_61*^MB@?1a_Gq=X_hS_u!yw3|RO?PjZqNzIDXWHpyafdy2SpFRm0LK2ALv<>nP zG7Yqyc3_2s(5Gl8@D?#fyRhe@F0q?-W6w{$VjF!LT7Y(oE*gRsq+zjX3$CcBMn1~(35!5UT9HTr1P{7T8!SLb2I|Yq(9LK`Yg0M`U^cm`=Qk% z#6vU+twDq+O}9adi)#_n=b$x;KD@~ow1l`7UG#ZqO=5&P=nK%A>2|!z6m1L}|DpOY z-SIB9hUts=XNY&HU8<4)uZly#^(w0yy@5d=Aq2Us`P_Xq=iVv_rE|wg?n304C-}OR zZv0PyW5W7h@xd*Dt!^u9h!0Mp5sY}>JcS1qsqRkR5843+tbjrcZVw5C?4S#wGh8FX z3YMU-9de;i8A88EE5i=E5L!i9g-cMxHeARkLuepr6}2NSgx*nBkrEWMqb?LJL+B`J zW!f7Vpfx)TQ$q<@eD&4&{EI~~Ab`so@JT?$$NnYl>g z(1Iw9=TJ^uutj=+?t&JkIhv#iXa>EEa-D=0q2JI=lz|qdKjZE?2rb5C61%dKil3{Hlq>T+T~)kYod<^~H_St_OYs%vHJZKm0@eS#s@WUe zOV*SGRkMO;uo~lEP{V6g#_d{TjBOg@c(w5ctue+ujd5eOai`W8W1_}5QEl9%HO6?U zF>b0h?$#P(EY%n{R~z?hjWNz@j9aRWZ`2xN4AvO8RvT~D8e@Fc7`Ig$->fyhhrXta zd8*>iNvOB)JT>S`Ony&75dk>qm~Cg6`G(Xy?*3y zE9j`+Pt$t+$XQs>H}rm**Xu`)&Vs(F_tUaoKXTF*bf4Z&>w5jj!CcU{^nTjb>qpM< zg8$}Gb$Aw4$T!{5H>myg3uGnUw@4j4mf$C`LF$+;Iuh@fI>w2P#73!Oe&|SiKTQ9EqfVpTe#BZ? zv0G(p3n?FJI&+O>yEflyH0_pqn)@WytXjtwNM1ev_T^We705LkwOYru>TY}SbdyN_ z%K6u>y!z7BGrzie?s>8VhPo)cYi+jWw0X|d)%ErFFFtnp_iqXe_fZz?N~69Ua4tRP zar(DetU9fba`B9Eo7qOE3j!yTt(uQFXr4F*+PvE3yvcSGY7s_Yd>nD2}8Nbg!#U`L}!7*B;L2%|z2Mo%FM zf~K{@gAb2K&n;tDBqMV2-nH(NN0H5wN1^cKQDpPv3dm1)k}0ri%u~<7?>%wKuDCN3 z4+w}xZzly1JD}lK?G|fF=6Rpra%pcZ__4zSx(eEBiy@!VzijlAyP~lxBIyQI!Z297 zmC6uR-gD9KCiOi-P<78R*6MqPsPdjc6{+tTfY}AtsysAjHNE!Y81+V-Ua{(jWd;TG zs@1Og9m;k+!UWA9KQeci8Kj?V+3ik^!zK|VC%>;h1H;`bT>;+NzaEA!A_$@r5roek z5d@E>yA6Ln3#1n~sVerYBge|9VoKa3XS%@H{~FbtCixG3bMf-oH~#U|*$-ZS{L1+! zGWZN`$zTlEXK!3=(ipK*rl-`ktCgWRrXZ8L2|Mk9!yIHkx- zol@i{Pbu=!M?_3yunI=Ju=Q;Im|)>q&898iVAHC>7@3tpFlLyg6yN-ShM3G41a9E3 zL0C)LV$D6TQ=C1c{bK;1{;Qo$7rCw!4qt2LgxH`^2}qkKZ-|v+8{k+ug_SGJ!9v z_epMdAHOLD?o#igZFe8PhXszP_tCezkKgh_&U!!ZvAdYlBD;2MYVvg?;_FlIBK1oo z2G*zkh}7Kv$ql5vpL7O~?WZy0(|^LC5q}TGbI42^@eO1`M%GM_k~Nb?LUNMtp>z&e zBVi=FNI6p@DQD`2CP{ig(hR+els8i(<;}E_lB9G%N*U=cQo$S~sbFS|K}pI4Bzj$> zqM0SBXy%NpB;^89*2r~{N@kv{biOoS#8>I1 z@C!VHC3cZxDZgjjz$m;BPGW`{`xzcfPG3pqJy!9>dq^` zA4WC(U&v|r)-~+Z@NNF-;u=>yH}(Izd@O!T1k>bJUgb1N$a0dAi@r7dVUh?V$5#5(m=1yl1NmS~{TLa1o!9;9zVEL>kzGE*MJnhjJb589(H zo|FE=1tA!~JE&lpkDl;SyX-yu1)OA92Ke#t3RdXF`C;}Xs`L^}c@+-5BwX54{MT?6 zH?u%w@%$PiEGk(%OuJY??n5rbnRX$VY6$Tmx83?3lMBO0goKb2?_COL$u8O!vwt-p zYrW(xz5)m&dPK6NQe%NIr4nvwKN1e)>5q_a?eO0i+=S`lm!x06c!4RDA5Y6~W9a@1 z7%uJHz=$kkUP`0BpOwDh`y5FlrCq+Cm;P?w=M)+#?eYDh^sn>%lJq}Dvw@HIzwo=i Y&6a}_i=poIVq^1Lw8``FTlC@o04y!^YybcN literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PointIsOfflineVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/PointIsOfflineVO.class new file mode 100644 index 0000000000000000000000000000000000000000..f8fa799f30da393933b52a742bea9834817193cc GIT binary patch literal 4825 zcmb_fS(6)A75-XlOKNScnX%h8FmV(!YlPVXJ$495JTNeeiH$?TmL6I5$dM&Q({ixc z32O)>tbsi6h^r`9u@spUOHtv0P{kuf6~*$x&!CE6zSFl`YPH)i4^)lLJ@=mPJALoD z=bY~O!@qy|8vt*{_w%S@H-|i25knDIL_8_tV9 zv-pk%y*G3_EqCp_26O$AbH!vV>$({;DJXP&*f%iotAb!u)tE*b_wtK)!_ z##0rB;>d}bS2^E^M8*tUhhsBC;OV&V$P*tPN2ok{KoF$DZg}6*bGL3=VrLK)-uQUx zZ+zs%-#F*djn{nN<9&RKgJd@Dm`lRt`N%tyIDfQ%f}u6fK1* z1&l5q^uVz-VJSwet>n={MdKeSv{DW2H3+sD-fgg0q|$tR!|8i9!``D>LeuGk3|hOxj>{4bMLb^*#nuQWDm(=r=SQ?2jmT6z_Qd&m z=xjybM{oq)?WtbHhIFPk95h?2ZRrWq(GtH~nwx;Xo zBJRd94fXx>4g=eGuYtGX9s}p){IGY`IWenpG5kUR|1E$_&J4D%Hxd7 zM0_&)^&@2}e%=+opX`49NSTYDcgOqD_v=U6g!oyD_mkVNA89k2RuK;BPg})0HW>eD?Kn2sxf7^sN3q4VBo?$II880Z+`EbQ zQA_jpPdr4KK?i@u8ERP!@F$$5#{Z`9BHm9ehv)HQoTHY<9-hO))C%}Dp2i2L8TcC> z$0O8=_y<~elv;^zmsNa_T3O5BK75E;MZ1eHv=39OYKu6Gk5Du5QJ!lXhqL;>P|D)5 zS22@?!#`bn6$h1?`#-2WH9uoiX7b}j^ZHg=Qc?n&xFxWvv898+GE|$~t|U0WZIqkj zQSu68|GlzuB6ZSB<0F-o9VW3}S-g(y@*buill79F5`&fUExM$(GL`MLXJS@+B;85} zriz{MOqr31xvp4MJL{R4<~}PMm`q#uO!~;gg@jtGmpH41Lna!SW-3|%tK0N>$J?nN-v9kMCt67miZc`SNHH* o^L0vRgS5<9rPoBiL+MkZAEnsCozV}U@CR<+&tVNuczs~-A9f^zvH$=8 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonDayVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonDayVo.class new file mode 100644 index 0000000000000000000000000000000000000000..41853bf5bd54d33f09efa12fe189282e149fd98f GIT binary patch literal 23226 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonHourVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasMonHourVo.class new file mode 100644 index 0000000000000000000000000000000000000000..2be51e01a99799ed9399650360092d3236f6d8a3 GIT binary patch literal 23232 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 $CQw0M6C{64Nk)1> z1-U6mzC%eyT0#YRZIFDYl8khQ3UYIhyhBMw8bk$oU6A~BB^l`x73B3n@?APO^fWBPElpQ)Mp5eeLwK0@thTBd$PhBu~FeU#eI%uM}=1anLut@bl3Q$HdD9n;6C{mjnPk4RC+^s#C` zb29ZKa@a9_oZ8RaO#O%?cT69z_A@V2KOzer)4AHuv6=c2Y4VspLG5RLrhY^oJ*H1o z`&p2wACYK}>66rc7G~;4Wa4A`WVN5VO#O&deM~<_?WaCdKO&bO)2FEY9G9sdk?fD@ zQ`LSJW$H&{17!L%wV#Fz{m68IOrNgyvp7>fBA+1BXQ=%gpQ#^_evs)i)qa*_>PKWN zWcn<%pA$0mBa$03eYV=q(oFq`?1xOBqxQ2bQ$Hd-BGc!p{VdPakI0|M^m%GOD>C&X z5-c+PShb&(nfehK7@0m_?dQZy{fHEeOkbe(b5f>$L=H!$FI4+km8l<*=>Nm5Y0&eiLq$`1wiidR%K?_OO9hqQ~ z@y$X<>X&4Ei_nqlB^f_O=t%C8jBgb>vbiMV+k}qvEy?&7gpPbI$@r;4M}n4Q{EI?I zMwVp!G@&B}OEUf?p(E!?GX7L zXA2#fQIhdq08NWd2$X}9-Unq1W zEJ?;M5;`)JB;ywg9VtnY@k@k`93;v3r9wy2k!1Wbp(D#kGJd(xkya!bze4E9Ba)1N zRp>|@l8j#|bUdbH{3@X%HApgkwa}3ZBpKf>bR_>s#;*}NvVA1u*9sl!J(BV3gpPb3 z$@uj`M*@#z{05;TV@EQ6qtKC}BN@L*=%Yx#S?EZ@k&NFW^f9F0D)h0W-zM~Nq~9*| z@uYtZVz+ij@H-ISubq0A{1(H|SJBU!`f4X{yWWWTx~o%Pqum8V59Dh=I$-VVNX2nC QKJU@8*gPYf9XrMPKNStIe*gdg literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvGasRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..888d22a65c41816fccc3056951111c10b6a8aa4a GIT binary patch literal 11268 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 F<0pkL`e^_F literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonDayVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonDayVo.class new file mode 100644 index 0000000000000000000000000000000000000000..ae9c4bf27f18977857671b2f119cd5a77892f010 GIT binary patch literal 14151 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 a0YyGlV=er>iM2ZaM~AiH`Cc@^+J6NEZ`pSM literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonHourVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonHourVo.class new file mode 100644 index 0000000000000000000000000000000000000000..00a4123bc9b492b8264bad3be90857398820ee91 GIT binary patch literal 14155 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonRealVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SEnvWaterMonRealVo.class new file mode 100644 index 0000000000000000000000000000000000000000..53ed63c25676344b863410963ab3222f4c135ab5 GIT binary patch literal 14155 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 a0YyGlV=er>iM2ZaM~AiH`Cc;4+J6Q5Kid-k literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SIntegratedRoutineInspectionVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d17c2db446eb7d31287f0ef861e7811d31e922cb GIT binary patch literal 6071 zcmcInZFCf86~1q>J3G5OoBhZKOiOAgTg_)vD{4D|Dn+Pi35^6%@T6}Whs&rnZ*HrqAN*7eR$duU-T@ut}j|)m|+HKC5gIO~-F*sH%*tv-zLHd?bu4wPI zw%OD6&aAaAm&+H;qMgr83+mZq=Le_vnG+LMVbH81gX^a3k^H!o9WCUitU_@=;sj^R zY{?R&&d*(a=lQezyznkFQ_L6k4?|byUq3iMcbv^FQ)Z!PXG&SKu-!5Xf|P~J7v`_N zAt;)ev@(0P?zmcJa(fM03EcNVNhj9-DpV*abj#ZhFe%XH}s2 zD_0hdz91;#c#UQ9g{s@NbB7iVKaIx~@v7O;yqzoJamwO>tI}MsW^8NU*8Ni!XR&bh zB(iw>{MCgM&tfUTG3-&PjJ`DY_A|4K2M!{J^?1q5!rtEP+3QDl?nZJ$Jv#&i)??cQ z#W&eGYjbJuPOGrh#IAE~@)W&!H)V2z87pH=4I zd&arbV`bFMp53>4JDLq!yuBQ+7|QPuoR&$~^sAdQzmx{tn>CgVS;JPFb=lx%jiop1 zGFr|W>)NbgsLi@!C}*t}^D;-wx3PSwkg+z}JVaLAd?wt@<6qFqTTOM$j@06@Qwwu* zasto)?&RXZbAs;u-^Y+f8CtJViDooi!ZWxlEs%;e3`{pSUkmIoGgu| zsi;ve^=Whui+fqDX7M2w_pvZotYPs0i;q&Dpk?*Hbq|*8>^P6TJ8!;A-S+rejppbw zs^8yLX|uJ0lKow^jRspwf0w7#V1SQf;Nr_=rQNWMxu{co>F#McY49{14DtRhX^_Q- zMf7O&EX@c?R9{ifc8m#gYRbx?3kSSEK;;A7(3kF>4ADwlE_!ggiBJ>oHCFvtMe%n4 z|L>lrK>*nQM&SJbP?JXB0{~E`M&N@0P`gIp!vIjvM&Nz`sBt4O1ORn!1l9t;S!e`4 z0s!Zu5m-k$j5wo^A0ujR192IVIMUbq3Izja`u;%TI0c)}^!=X1NPq7vH91Qt&71on zjKIL3D5?kEq~vMR2K2xz1Phg^d_UVWUNlF{#BR#q<^rDPqJy ziWmt!&ZLA(it7mvDQYA^iW(_B$)uD^O6n;ONi$kO(u_8}l}T+bsa0?DkYYwVNHL>B zZ)Z}6OKR6U%A~*=e9-@z9g{sjoJq)~EJV}qh)x=vf5h3Odmlg6M$XqNs$ zTcJhib$W|F2~DHF(nZ<^Ek=K*bMz@_ElBYQeHvO^DD(_%hn5g`(H`0XEh+lQqR&7} ziHGqXpM};cMsYwt2dz!y(U+fx)-FnPJADCK2R(+@dxBPm)PGY;h|G7XBSbs#PZjUd za;b*@Zz}c-^IUca-H*Rb$R^0G!DVS`C`*SVl*@vRegrRp5yqokh6!+^#ZaJ>ViLx0r+!Bj`ZrF2_mLgJmdWC=R4lAoQH{ zQjL%Uq1{}sP#FpvsspJN2u&!xB1YJO(0{I1xC}*&hyz6`5V}%&X-3q6(2%ZIv<$@z z&4IKEq&d(E|D%40oZWKwv{}Sy7foODacEKc7uu`x?_9k8`r#d4;bt?zTS8se0!w zUuWEjeVkkCozuR~xJ&yux79m$`#R$e?&I8E@7(X}jJvy!b4R`NJ-*Jk^ZPh2t9M@Q z>x^#&ALr%u&iDB`;~T@rS+93qB^r+uk$r0IzKZXQ6(W30aqVwSq=`_Vh`54#=JMBj2o`?o9Kt>3{r;Jfv? F{{rA%myG}b literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..f81b18d3aa3c7a7a973b4f953f617dc56c472afd GIT binary patch literal 3620 zcmb7Gdvg<26hE70A4#?kQc8(bDN?0R0{BiTT3%Xh3$|DVUu=`5T}ZPf*;M-<^#Kex zpiUWQ7)R_dV;!er9iTA4DEbG^_yzm`G!edoh`+mc+oanas59-^bIa zVqa6CVTBGWlvXICki}$KnMMTi83}>Hod>lMEt=F)1JPb9ZKMWT1&Z`!QB{f^@L7I*CjafR+_9rJLedXswIq&QRbLe3uKt61+-hyu zCy;*|&MQ!Pr;*aTvqSxQdXI*1SyIfnmh98g23tEqzcpyU*{05TDjL`0`f$|Jl4(;* zL`TeMZ$~dAR2-^Tx9xFM@CFM|8S{#UuH8^dTubd> zIY&JQwag$-Z%KVa2Lj#Q)6um9nE)@P^-MNt2~=W-87vMcP**s6S)J>IWp%D|NSlq6 zVQqn@`i4GiGQeACd3{4s#pl~vh1#hKYqSuSyXM=j0;{ft?Z!k1w7AQ}4BufvOF0{` z6R6M^Z-Hge7FfBrfXKClVwv2bK*3%!n~v){4c3%v9@Jy&*%Slwu;D~6zLh(7E&uh@ z?5`8~v7cIU*Usgq$8R4QvzbeL_VN?w^ApEgawope9~t}m!bJYmB!}Ob{y2Z;Qf*7_ z^hfzK)3aAk@d?g-dhyQKxIi2J?`Wv>5;dySMcpbjFm4y)b~ExiBR!0?(^i#UqfV7p zQH@G#7+K566O62*8iA_am)O>WxI3N*~aNC|q;x{8+W2H=1kb`Vgy% z=Gq0F$VCf!5h9^MrM=V*c;PgB(9!bR@UWgj)3p@eMRSd_s9Bxkw<1^pmpze4J{CPz zk75_f2IfSSWXcLie6Tng&PI~38_7>E)93UII1xR5f}RB@QIZbPbKqo3lTOcrQ|JrYNiTp4&{r6V7`PzKps=mr zLUaSQ-waNrHtgI^VOjZy%4FJdk5c>zHR>-w9h!V0wZb1QG0ViU_H&F*Ti7cw7SHa14S#DGCJ_LT0MG#O5 z5`_D3QCRz!po+vfz#PWEP~^a*B3J?GmO5a0A-I6|P&g*aB9nrZw+@C#6E0$2ar8V} zqj4IqQ1EA0<1Dj>M&$q}*8;of7a3oo(6r0A+S3?sgNL!|HeTgvj5o!@xYTXD+S3?s zk%w`a+jy;~G2So_<8rt0I#1(X+T$3<(3osYrN*Yq6!K0tpHpdmP9^8f5a=Wz{HhF5SN_fBQFn)7&>D#I&5W+>vWb@6a?I@R*gK6?t@ Oo`2!r!8!24zxy9YK+E|6 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlParamVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SMainDynamicControlParamVo.class new file mode 100644 index 0000000000000000000000000000000000000000..4fdcaab76e25002bdda1617160b1f9fe035eb575 GIT binary patch literal 3799 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SRaRealTimeAnalysisRunOneVo.class new file mode 100644 index 0000000000000000000000000000000000000000..bad2e5249402b2034727a80806623cc65f4c1154 GIT binary patch literal 11686 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 X*+n#(x6ix_)$fnbBVYLb_`**CQFR?Y literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SysBasRegion.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/SysBasRegion.class new file mode 100644 index 0000000000000000000000000000000000000000..bee60705419358cbbbf29721284de5f91603f8c2 GIT binary patch literal 6578 zcmcIoTYMB(8UH5P%k1uKve{&lOt}bjYsrmOi_}hl0s(4h5-0&IsHMYZNQQ29)7@Ew z*1K)RYpJ(tRlFCiXfKvvFV_pC?I$dL%Hl~DPqBEK#WO5^#^PBP7ujMlN|)kv9i3C@=R7{A((@|4pwf#f{el-> zQt6i}y{ytJD*Z~OU#s*RUVb%7m!tHWLaB;Xw#~vJt6Z^5#e?HJ6;k#nlpHG+D~?%o z4w;3j6~<@skD^e#Y|R2VR+_OCN>7|HPnx-cS)9#HJ7v2#J6cCfne#xz=dJRrRhE+l zvuqU|VH+!yinF#;Wu9KaGjBR`xgGZGPAhNEn+0&G1=Eq3h+R2Yv1SzN_C0jG=vbf! zGF-4uS_O>9?Q+F|Wq!^s%;0hOL}5^M>_TqBt~fx)rtR6H=~T;j_{N6q%@g@zE^p0ofCG^nyStpv&sj| zV+Hq&N_m{GiBra0E{2>ryQ0v#t3L{^s9278u6V?z^}Yj;r#^6PM8X|RJn3@}&-eK} zq+vecImwXEZS>Nzo}FN>x-VmxjZ1gl?EjpaKbOU+GNqRWxkQ(0>2vulM3$i$<^0 z?@SdzzxAX|d3mB^-+;^Bv{<^5%J zeNQl1dlT6x$Tqhi<3nPy+k?qMO=R0Zw!H-zpEQ$A1e1lE$aaBjcMCFh7n4oW6lBwx zMViR=fb8}bWbAV$+Z#+4Z6ezXvVAScIB=M3AKd}j^k!-k*#VFpY(d7+$7K71$zn}p zhe39v1sR7hlT8OZAl^iF7s!sbAmcn>vIBVcHup2{z*rC3giF@$3)(!$W?GPmWIBX^ z7C8|`wciGEkzVhCh6)bJrZG$s}*e}Hj&qj7(rF*-(oaj4OF zMW8V{O@MK@(Rg*BF*;O$air0BZJ;qaTYz!2(Ks7ujP@B|tTr0o7-)=+8(Q1RA4<%UJXWNutsCZ2`t2(vIWVxHX73Xzu}89}4r?p~1%~9J(;{3Tcl~ zxc$P=%cM;X4=z&DokHoD8ip`JBd<|H4_&6N^Q4XFp+)MfAyP&dkdzV8!;Fbsru2DA z>R~CaS!rqN&NBAtYmq`%XX^Z{rcC{}0b6tqqyLZ7D7 z&{E0`c&GcIbtyv#+WVoUl|6X(4?^o!_M!TH2wIO)!gc1u&@xJuR?tVF_0mW2{ikSc zRQ(TiMCoI1P;Znzj(@812K5Uy_J31xX1HO?9K8i2m;5lN2D?SvQv7ZaHxzEc@8i?vYFqt==5A^AEzR9p864^lh|`j1+OBlcL-a|UWmrkl z8E9=3S5*2G&bghgr+*^oIMlZyNIwHDj1v1CeHK~-;d_og2Q5ku!>yl(rqUB|@59hy z^eV1bXQ9REZ|L@qKugfSk!D|jrg0dy9ig5pSO_5u6$PP(Kg3?aL%n$$FJvfO1Jp2~ zrArbP@xeS~gLOp&)c&NUs(; zTFt8TTZG=t`Wm65yR1sD6?$fo)}^l(IvUElbXMqScVq%Yx(+vv;m6^u!||D*W*szu+RZ_?MX6vy;y^jmstoBluE CG&&yu literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/TCodStationVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/TCodStationVo.class new file mode 100644 index 0000000000000000000000000000000000000000..309c63d5c500e84577b0d61933687655e275a3f5 GIT binary patch literal 6182 zcmcInYkVA46+d^gJ3G5On`}0Zc1lB2y0v+gm4^?e4{1xmU{Xq3Q>iben<1I9*-dvh zDHRb4sO4R>qM#N;Yy>K8u}$ei1eKzE_LF|mpN8lsKKoOw|1)VR}bU!v?z$ zri+5q?Uq@{j1J`m1?*u#$$>rQq?yi|xsmktQo+uRtP!Mdo5+>yF>A;!+PkyXhFmUR zGD~(oR}|DeVCU1tedfrBRY;o^O?tz)J(wT1vRe!JajQ_;4?m$vGdp1kQvUwN`F|dM zO;D^T{cJJEFs;qL`t0n3XJ-yQF*|jlqTI269Lj`eVFP(*S<57U_T>4QBad}nW6Yd; z{{0h&Ke+JtwGKLk-IZWlcJ9#1&K=DrtdD=z(ac_WX7+^xIGSueC#YTi+?ZJ!O>eYE zZn84=n3=^Ml-cu7&73>RJhQ~ZbI0V++-nPJGVQ|c6K2*f?RSn_P;?*1AZtxpS+K3W zP~z0ux;)#tZTB84Q(Du#OHfcQscFE@Sz9K?c3XuVCQh8=lFyjgA+uof*qscPMr}A- zF_6inGgihLPnXPWA#V<+C-dnYaJ5|??@%5K7YMO8y6&$cD*4hVXGwy+rQC?fLvMCe z)pKEo#<`+OEyF5XdEnKyaxU)JR)W$fJya$t1bGl1f}Btt4^D_8(%8Z7G)JU7%~(!5 zk#VOT-0C=~3sswRSU2C~(7ka?NTzoxj=6m zbanUR+_!G)AKZ+<04oKnIFZGQwd%ueNb%{;P0CY@q$&p{v2+_uIcI?f?>(4u_L@l5 z?I)JPG(n5YmOfR-9H-s@HgKgS8PpbA9Fsde^%g41%~X|}yBFSUBlOj~sZ7Y- zw0H~E*$msoK=W+J9l6`V$k~qWn%3@y9Vkq4_5&dI!=P?InDp*PE#>9vaj$I8PZToN z&9-wpR2BQxe1!{IKHtrZOQCb-r77H*vritMdGVpYJ#gUt6Q?AWSL-D1jOFuQE*kBj zTQ$0$9?+iI8Sm??6dcB)Tcc;_ zKHQp><;&Yx(5iV)JLM#Vpq2A8kxznp=I2#<0L2_1w{j@|)!w`>S4`c7;2t*;sfu5I zprYYbI0UEaSK^Vc+?@~+;UZmzJ(pKxiX$qDZAtMAz$WZhUbCipeoT9iM z(iIO$F~T4zhN_2|q`IWAu6jseBLY&`i0Tn0MO{)vk9tU|5d%pzG(E;7%_RYOND(6r zQp9M~<4kIFNpZc=Ly8(rAVrOY-o&JYOKQ>+9#YI`1}SDF^=2j|T~f22^pG^81tiUA z)mxa<>XKUYRu3s|w1E^i+VwUjwY#J?y}e8d9z&!WXaG_{q=*`65b_@~Rh@gXgiF!FzcI5WH_WQEWTcm}YV5SIprB~TZZc1b9Q1qZzio51zS zuMFuX$b}Y1$dZXQYlG{Ya$1^LGm2tT6TMRuUOi2Xck+D52(m&Cx*C;BOsW(kRH!tL zb8es&^a1S!3etKcX#psNL_SMJAcabF1pl1sPvPA@0i@C^G)j{|5qbxOwGSvtf5H8J z4^WK$jWXL0q;VPsc2VmkOazgJLLl`>h)ej<$~eFiZ4@dK%A8>JluJ`Qv8j#wexBe2vlD`xv*?8eipWjBf%T z7J>j>W8Z zOjBoaxx{FoI+9mOjE<=zxk6&JNS(=)#OR4SlPe`g6V#FXn8fIMI+Cj-jx+9pn5OR9 xdi37-2g_{`I&*G7e=zqE`YiTo0f)UMTP zeV_s&ilTy#Dxwt83L;RnwqoD!ZoA!Wx3&qR_wA5B|<~ z=J);nX3m^BbAB@yzVWA{Cxj4F=!ZG}B%|n|*AaW%C@H{cOI#<^Y@L*&Jl^0-G1ve38vdY!0zG%;se_N7%f= z<|vzEY>u<}5}OljUS;zdn=i9@oy}L+e3i``IdqbH{AM0~jlRz28#(k%62*yFcU!c5 zWvn~V7Vo@b@d6TbIf;Tx;+=_}XlKvLXnSug3y+`wBN9ei3yIQ(Yoi;Y_3hEl*81f= z-EEz%Ge}s=dOLgCI$|r^5^ZbSWAi#Y<2}(H1Wk|_-Ov`VPh1~uZH;x;M}1HIysoy! zcuTB(X?MIU*4?uSak4gWlO)VjM~996P=HuD6fh(YN!dw~y~?dHeXorw?xJ+j$s;bzHdP zwzJ#!pwRL5@jFRGf+{@6?pU-14{ZZRG1k3sV;6~`2sG<2M3J`LPMz=6YiWlCSU}E zyFZ^+0}hmU`kqpTisC&3N(i_~ORQ=Ykj2ak&8_ z?D9hva4`_gh);GV#ooSyJ5FzV&Y3CM@r|2WW0*?Wr;qMIJqX?nuZZEMcsNkscVyq` zqfe9Yhhu4XERpE##$;EN(_8L3z4>8GN-w~o_W1QHW9{+gww_HMt?$syXK%ur;YYfx z7b{W{<&{^R#>}3$To_4|jT)_6F2k2#-NVQ?v~|XsdOOy}x}Eil7uR?*7UU?FWvpka zGTgJS4a12QEp-vv5U;;7+TDrwcVXv-OQVU#c;~Vh^l`kS*)!Yla?i$FHEQ%qtgNka z8H(V#$Y130QC#A!QCwQ!txY8;A!70hfx6{9-7DQYOJ5xdB*%N$g|h5F;cQei@vF{E zfFvf$K9hUh#P6+h^>|X}(_}#ON;>=(kDG1^zGfU~x%={v=oc({;md-xekERG$x10Q>oLguLEZj06PY=ftm>#n1H_i9&4Lznuu;_K8ELiJnd2F5O;aoj7 zx0y6OP*&4JA&*+5Dw1P5(*quFdH{QUl+zXhjbbotXGJGQq=$GHg9)H=VR?!7tc!J%$lkaZ&`oqMs8XHKQq$aZ;;Ihm52IZ=Pg0xX7*c9!at1^{ZTx|CmZVmR~2E=;UQi zHQ`{{1fU;Jij%6GCQ##tQ%xk*$-(Bl#&ly~(NS72z8dU6s^j*-kFIVrnC-az_lL+y zb6l z=Su1>80I@_H(82Eom(t%oZb*RONk1dTv?G!^jDbFG4(xF$&%#NXMpU7*GRHAr8R$b zN^Q;e6fEzFHec5m?Q$|E>~?eLTNsDtXy-y+&;Zv(6YFHsg>+~!)~lt<7B?=$f(D$8 zl(4rQ`E|%yt@3IE>r!s5zXavh`m0S*ZR(N|u634>e7<;3FTy4N8HH={{^F_dCBR8~ zsY7sLs=#^-<|hZiOUaeNhLUy@d9~i)B4zapUdU3v&W{|b<(Z!c>+$kY@CjM9a_&Z) zt4Atuiasq=%X2TM)}3eteq(Zy`DK5`RQQ$2^C8ex|B2@7+5oaF07aJhCxpsE_nVvi}VYkm=5^G|e8`iW&6KgO%)?izXxi=x+ z-C7^*iZ-u{sZ)c5b9yqler<1CdkYRlR;c~Ld|A$+Z%61m^xcR!N#BczuZhZ2pnWFWJ1s=2vWf&E^!F(`@?KoMH1%Y+mKQoD^?H#Cp*k5jU{;44a$T+{We( zac4x_#pWJ1TiM*p<~}y}v)Re!AvO=Qd6dl_HjlG;lFd_W_OjW><~cTBVDmhi7ubA} z%^@}~vw4NhF*aWkI6JA!d>0j=%J4 znusmLp&0KWi~S=rnK6+VpYg0%-m{4(d2!Ly+i1 z$q;e;k4c7d0_6cH^#J!K#0GIa3IOZH#+cY7K7|q{q9T_0#7~RALFJ7J@oCgymZmdq zav3*)fhnvQmLKD@U>F?Z7IAArd=40sJU!6uZlK%2z#EXx*z7VkgMrs0opHCzxEl<- zJL!xqE@KNAc(KwM+g!#rF!0u;Gq$^o?O@=QOlRzH89Tth`x}-Cna2Zd4fu$#% z@p+f=c`&dpr8Ay(8Bc?OMJt{0jLUci46JDBjAvcOvtVGkOK0qN8T-M&TA0o_;4%(? zfrT=ianNNP1OuyRI^#u`@gf*lV$&Hfxr~>cRJ&! z%Qy-Kmi2VTahGu%46OO-j1w;7gjfhKK3=e2#%~;Ni7=3$`eTAt)!|NG7NOE`-C>b+ zSY(&x0GJGN0rD8+14I}U02DGP0w`us0#M4JA3zy{a)1g3{Q)W&SO8TF1^`qu7zi+k z!C-(P3~B&|G8hI>%V0Rb2nHhoMll!-fIr!#V_?TJ7zZ$(K|R0(1``1$F_;W6g~3Gt zQyE+gFpa@<0Gq)KfSC+t0nBDF2VgFPc>wbnTmrBF;ILSD&{>#YhutEE!TwqlB30;* zOkoHTh0(|pCLv9jAk1suN5P))rcEY#g}QtNQgD!rc`m0R*XbiBVLj!UZE8u0oRC^rixc<#Yo&W;*X|^ zuhxo@@N2}&QpMM3#n>ol#LH8~?OHK57#i`4RB^XfjE#v#d_}5wqgIR!jYhmOReYmX zjE#^+d}XTmR;?HtD2@24RPko57#lB*cvY%+n^uesn?}4kRs4WfjE$Z~{IOK=BU&*w zh#K+7Q^ikc#n@PC#GgnNKcf|6L#h#fGF5y)E5=4vBVLm#en~6F23RA$I#qmBE5^oI zBaWtuU(<@Q;ns-PrixE$#n`B8#LcPVZ)wHY;A_M!sp21K#W)zyh-0bZpK8T8P|%34 zNfrM>D?W<^!^!1@jjy@EU-P;#hs34&uX}}LsINPJ`Q^@%kfLbgT$X7Zx$z{VIoddj zGmRs+r-W2V8|U&&Go(`ADX5a-6w=38lW81zx|Br{cAk~Xq&!8+wekX_LOUO%LOWvRGby4-Kmk&*T>w(CU1$|BsZfy$EF8pn z&6V0kAeGw1RuPkm6{*O=A)QAmvr9lKvrDZKCY35uiG>3^k5pmz1F6C;v-&ZqOp*Fo zINb9{m3BEum3Dc^hks30U!;stE~Y{s#c@{77i0V(hz$fNJH#F)<7l=Qlx)L+v5f zU?vSwq`?*rAw5#9T?10BJ=CgU(ojXJv2Z}?kw)0VKpJ7!TEm!Bt4PBv9A0{)QTA|< zM%g2*;Y=E#NW(20Y!~3WR$GnE9 z4ez32)P+P{cn6gLg~g@e>!}ndOEiYp^2PD6K^72xIuHGts(=c_TcMxR0H8wrC6W_3gf0|ClpQ)k1A&TZ zc<3P-1XMy}Lif>Npi;U#)I&pn`q9!*C)EIzQ9QJSh60sSZ)hQB2u zwK&=?6qWQ!D2qk_S@f#$9*qR5qF)%lq)|Wv=#=p@8Vyu!gp6ZU2Q<*gH4foOyig1> zMi~##SfIhicw-xl0~%s98tZ91P>r$NxQ^<9h8o>Q15E%LW^6PT(L|tHW2Z5aCIJmM z9yMxcGSCR)xM9!~ppnMw^bTDFG|G63eoj+?MjL17Cv-7TT_~H5&@`Yip$NT5(}Bi@ z#?XCa1C0w!qZF-K^`Vutj%EQ(2=(G`>C6V27`lNjp*cX4Lc1_3bAcv@ z9>dtq1DX_5w%?hs)G5QG5?C?ghh#G+Agl`mcsS#*y_)$?q zO+fR)Ph$L+0L`bRLeRCMImdiQ6z0%J-xU=(vf#ye@NqDU$Ltk3;|_~!ujYEw4zt4wE04*klXT_TS&j=?lOr-M{E{eL5j)#)WqU5< zQqomu=Qu8;QA(BLx{7VnahaYA$(2-<+PRJkd6iP-x~?)i&vE5>E@WF$Rbl5lE+kq? zmG8PL?TF)wc&>=+s`KQ~>A8^PN!29Va$Lyol*)2lQ|v0o zRpq&m^-0xKdw}CY!lzUNT-P+a+HqBTE~J4{W!nQC7cxMl8tA%a+JhX|AkT%oP^xCz zgB=%ALZuq)y5`zL9M=%fg+x)R=G!%n3pt`v)wr$&_E5())N>(ogsNKmnWwAe`=>th zp-_}o(v^5SvqEd=Dj-ATg;vulytyGUEHsZ+1BJ!x&G~sRgKz z8jMPc0Todzy-U{s71L+wS19pk{!w}pA20sQAEEu!2Goy!NcYmUKxOnh+CbLH?}Vw&5eT9%z8^oOp%0fvSy@VmBp# z1{!aPTc`(UknxUKN4-FUL;Xb~+QVl)G)YXN>w#)QjYuap0uANQRMG2V?tA#LK8(*4 z_Sduwi{N`0P`_+&MY+gw2`(p`T%~B)0h-TDtySclWU|lKIF!UpllUsVPYH8%LSOr5 z-AbPKXXJi_zr;{M^8b7gKhFD*R4Dw-MESfR)c$dvV_3XDPX#P^zkq%ZGoq@noc=iT zO4~`VQuQ`dwhCU9S#ZDS=O9o`6ldIo-^#gZR6`}_(vaWQIm=XYrRUh3-{J>Rsz&>r zd!v54A5g5CF8e@D`>lU)z3M>u2kn60hYuA(bpsobOx{N{s{Nzh(+?X(b*BG^>x@4# z=OK{l5_V@FW_;wJsZlyVu~f&b^U*PX#Lind)xE0o)IGn4=QE<}aBIS#O?=KtpK|_D6#lIf S-GFnF-UNM`_}@AK-1vWuA+84i literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/WaterPollEmissionsVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/WaterPollEmissionsVO.class new file mode 100644 index 0000000000000000000000000000000000000000..95fe225cdfaba4935a7e5e974a7a76c326fc4f71 GIT binary patch literal 3697 zcma)8Yj4|R6n@^sj-AA5v#?%Fy9=X0+q4V!i@OfitsR53E9>Yk+~%ex@s`A0;!NTr z5<&>Rz$YYr0Q)i|5RgfL(BQ+6_yhX^@G}_W9NTFV*AbPf^Partd5+F|ZtkD|{`4z= zXVFSw3>TA7aEZlb7H_e5o5ec{-c8Z@9*ZjsHCfwWQDU*l!eYbw3d$*DaZyEuPg})R zKCh{$s;H@`t8n;YOTl#kt=w>0TMHj7*;aK^AXmI<-Y^SQvtBN&xedEso+C`j*<7sI z&8F?tn*zf=re?a8!h&5sWtHrjStZ=C>$qlh#daG`*{XLjMm@u7#c6I;oJOnJZ8B>$ zr*4}Oti&<9Zo9_?;*(SB0@6um(-Igg+I4HCRok!{=go~O-QbZyz(@|vD@gg4S^$*eDOt_9SJ z*{o3MX-a5_&QK~>&z)Ibq+FApXjsiw)fLEu(wCX&&Cc!&7-VGP3BQvNg5u-gobe(&~OlkG#qB}2#X^)Brv(xIoI$SUeYj)yoMK9 zo58Gxqbv$6o@DVliUK3yRk+ZytDD@2N20=<>~73?4GmDQ56&F!&ZT!v8P{hHN2hdN zU@WjjB-OX}ODkE$l!iBv7s&3!?vD|b+uYi+>a^o$qt?W(%@I77)?yF7Gp~K|R1<|h zLx7AJmy5I*SIj%9Xx>S6^G+%qor4fuU6PN{uL7NdPI>w^#CIO-agqt|GL0ul*L(mb zF-5;<%Og*+m;3`_--gHokz}fW1UViiXCukfHxXnhOwL7;sox^Va+th7l1zOXK~99p z!;$2t@N_^ns5&uD?{xl0#G=zZ>?4A7b1As4T%~8|KNmmoJ$~YQ^}~I^ex8f=Bkk1> z_Z9njKH87GS3lgB?B|7OKZ(8i;l5@+v|vb5V~RVJ!wlv5UVi#($kMI+Z&1F19KV&n z17&$;x((I)NlJ2MhJ+!_{(-bE-Nn9}&}Mb1jZ_DbHe`aNjf5^UCUFlfktWc9q3LM`X#t3|4oJF1Pm3cw zryu!G-fo{ z6k4km7D!X^1(tAaroU_imE_c5&C4E?F% zK1O{t`Tr^fMjsBpn%>D%BXb$~?Xg{N_lHK_e!EOB=C=#}xcF|w-^5di{aJSIm^AN| zempx@p~9=#{7opcZ46%F`?MjkL6-uH%I)BrG(+}G)CnF*)#Z*UVeq3 zUhob+!Vpl@U6dVGw2g?ACi*1%6~_%q6@T1{KO=kTHumLmZ9K$z*QFQ!1ER+3LI3~& literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/AvgValueVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/AvgValueVo.class new file mode 100644 index 0000000000000000000000000000000000000000..10e38d7bd9a7074a922c1add8057da0db2855637 GIT binary patch literal 2438 zcma)7ZBrXn6n<{9o85#3(#YE?Y8AAE08vD315}|v#R5fW(bnp?gdMVVNif-<{)qko ze}H`9gU-}+MrR!TQfK^4*81FiAtA&WW-|9a_uS{4J@+~1-u(UVufGGB!51m?V^8PIMt)u-N%dOi21Ht}*<(2Y_&i;~JbPg<+oMgnA z7D&uFWyiZN5Fg9#2q-rydvxtxbISHc{b1Lw-m!LFS~6>uqUG*bRY$HvqvDmEnm~4~ zSk4#iqJ5b6EVo**_VP!Syj8Z`?`uvizYu1$Q{lI}_HA$J^ay=p*-nR$q{vHPC?cId ziP1vjVY+Iq!TZO~$ChW5tY&mGWVHvEOrwPC6~A7$4*e>z^Mb}H zTIFS#KYOHP)k;C3S@l(>x4E^tzRdiI6IHubcRhAVOIpd%D84}I6!Yu4R|#5=_U%f& zTC`Uj*)F{cr$wKVU25PZ3>z50pn)Nn23~|IaOHx1W1xUZ1FvJmz=TAjc*DS(a+t-O zz+n4DSgbqlo)o;Vna5Zp`@Dhs_?&$(aXC7bZ+gIjH%-&?)FW%)21W$Z%?|`MrB2r2 zpNIz5&e8v;)qH4h+yC9^x9AD-t&slI* z$Dcs_?9*Q1nDC9=c$L@)2)NAPAf~Py&pJOw?58&8bVp~FqJwk1-8s|InI-Jtth77# zb#%UhvCz3dO=9wpwM^efDs;A3L@2%T4gcbDNg*Nabz`QoLuKP%0=VIYRWk5 zaE>g8xXPT9JlCV#_>WMPliZ(Be}Ec4$^8L!ePXHnZd!_{XP&~S}ET|C230F$kdq4{D2D&iVv*&V8sPi7xGmwnJ2>S^{Wa}F*N z-J9<2ut(v560eVo2c@g_EL=P|^h=h4w)#5~;py-y-px28FT- zL8&0bbJCmZm^Ac5jR+A(Ico}Oi56Ou*={A7Y4Yg|w8NK7RZzQ`-(cK(g6>RD1HDp0 jPMLIolMP(TWCEO$_yyty`r03Z);DY>lty65uj}%EA>*y( literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoAndMaintenancePlanAllInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..882dcf78378e0c18ba866a7ee9333627c5943ae4 GIT binary patch literal 9388 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 I?*za6FLk~RQ~&?~ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceDiffuseStatusFactoryVO.class new file mode 100644 index 0000000000000000000000000000000000000000..9b6073e6f040bc7db57da9166b7c1a5e1292f9c9 GIT binary patch literal 2559 zcmbtUQEwDg6#nk+%Y6C*wlqlp%yhUg0>{ti%ngoxjn+0vcuhLD)F_nv$1cg~#iop0}-|NeXv zz$o5LVHc*7&~aRr*JYVb;Efdb6SB+*U{_ni3Q~JTyR>9iTshaBn!oBY zAoIHEpDf)%McNCNt zrM!NnpnLwRQz4DQPk-Zt(!ou{)fIxG#q6x(qTX}>jm)nz1V()A9Ch)-S$i!Q6IB){ z#Vp$8W73g=xoTHe!%1`O(=2#?VS4r$JECn=oNBG)Qz(%#JNlb+Wc5crYWiL%Icjpz zt5u55lqFai>#;@(U`|Zs;Uw!)b=No^0a{2bJmv8@c_0DHs-2L(!3mNRS(2X7o zyJgvf9)-gH5Uz!nFleC{eHI49dP=PQvb>B#3cH(si$`j1X<1}3^l(ZBwgfX~;S8v> z^l)#4{V_^^xVM3SIuuKI6@3J6eK=GkXKJslIpt-AkygKlZ9kEEr3LiyDcZ#cERL8^ zM=K`m1v?4k-Ubd2d$~TwQ;xght`FUS`aXc|<7xy>1CP_TLI9q?lRPQmk83pe2gJT> z3Qo2RCgm-HF2}$OSj4l}C7P_vXJ)>ug22d)WASjhL zGYJ8ibxZi2MyEGUjFY zc!j&DLl^p_`q;MWLviR2s@GYwRIlV63Dc+pj58R0I$b!djRlnNOBYs2xS7sgLt*G(4Sf@^iP562I?QN*Z6TYz z1hY&&g&}u%pQXy9H2MpyGdIxQ)v(s=k T9+~R|j&PR;agzT>t2p)_esbzX literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeCountVO.class new file mode 100644 index 0000000000000000000000000000000000000000..5726cab2b06facc553a5fb46cbf726d14560ff98 GIT binary patch literal 3190 zcmb7F>u(fQ6#w1bdF||MyDYS@2w1dgpDd!HY$+DXtGY{pVi9~X-45-PWoO-;ts(J? zBnrkvLjutlA2AY1q#;1GBoK&x!NmWAF8mK7o;x$UJKK&Cv+cR(p7T5Bp4Ywe=ifK) z0C*8a6{|2FfrP`HyvfNCPL9fWOQrQ~PTt|DcRBYSC&xI^xokp4PDKmG6-@Hg;N-Z1 zDFxFCOa(Jsa6(3&A+jfvJuqxl3O2*?%#1#(r}BDXDm7BDjVYrvz>qvhO7o;KZkEl7 zys^Ddux#BntwNchJ7Zd@@(219K~s7|liFT1v(}`M-(RwdM#(-!e#BWlUojZgJ-GZ; z_4KFJk1sAFvfY!7>?gnLN!$`94s=V}0Ht64DZZ4BYA?r{cTnBrt;&6ovaU*+V4Q97hknhc4I zmDBU%ddcK_Pbk>aCgr^;lPjchM$RavY&~DH^vTq$MFr6Fr^;qIHEiuPX3d;&=v2{g zLKz>W0%%i)?W=ZMS9f5&V;-zl0hRWRWNG6|P%AgNZ0`#2$dinDxVlf;H+<5@=TkD? zujqM7vd!;pbYjNH*#q528JNY3(-;*`MIE;6X`{r@!i&`DOSRQeG)d}^T1fE*rY6!H zP(99=i>UA2V|eRO%8nOAapVHZ!5L7CRe)9wV&IE+vZ`wxy} zcTtkWOC_UR$#lO)W;HvmTGy={s4mtueb~7N!_hG&S0l(m1GNR;83PcAI?I zRt1dA23}%@_5XFp$k*E8QTHa@zjEi^#WU4wx9)xS*}ZEQsuyn(ui+Uyt09Ti8lL22 zJtt3NHN(dLJI5M!<7Ewf=-05Ba~n99;$$Nyd$5;bWn(zpbazzD{3IWZbpd&H)hA_8 z!$}l4p%IJqbu=D=L8@0@hgWLaXnh^^V$+s&YuJwi4DrUv?pRV6^ z(^5qzVkD%l5`B(NNzuw^6?<-gT_YxhE~1hnl+jJR<^s@zUfMCVYCjwFVOADC+Q%=`Xt3 z)O&dyuV4%1+J<^7^q8H%AaNqHFtCj{33++|UnNdP2}AVT z0tM&j`fevKf-mXP?;uXaFvYPMt+MhLT4d~eh;|vf=ucq}vC3s5|H9JA^vHUX%A@3y zD)JWaOOX5L5j)1^ zYFglmq~K{3-bz;$O^c3-y66}wNwKEV(vqW+>MH6jS*;0f$6hxUFXAvg_#=3YA{D9N zuM-!d0v<<(vIx@yn57?Y$2J=CeZ+}4f|VF0PIAipGn7Xp5U9+IQE9>0BQk94LtM}X zu?DDNgl3TklYFoSa+eqYvz$i xEO&Vt>_lRP%SSoi=JFcn+limY%EgbL|G^*fY8=8rXLiQwU!_BIHhq=e_y?;Ja=ZWl literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/CoDeviceTypeDiffuseStatusVO.class new file mode 100644 index 0000000000000000000000000000000000000000..b578cfe10ed3c7ef93a740369ce71b55c32e363f GIT binary patch literal 2654 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 Moq}F4UtBN#9Fq&%mH+?% literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/DeviceStatusWorkStepVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d1adbfcaf384604397ff6dbaea25b3c13e1acb40 GIT binary patch literal 2383 zcmbVMZBrXn6n<{9Zwbp=3be7Ppr}BAXiK#wfJ%XivMKDB!vCYaVB&3x#vFT+;g6Da{vDK*WUrm;(ihXSWH02 zEm@XiSvIkfOT9dv5Knvsb1iwN@=S`^uARGjj6^-?{%Diht> zUR_^iCB#O}tvAY^LZU6f#8@kr-VnDgw7hCCR0_$RYNJ+gS4uJ*SC=ANJR`GcBaN4A z3}VQ}Wm&FZNa6bbm>3)HV#3AdQH&lvb=|z3YR-af3Z<2?@M1sqVpSXc52?n zJ;;nqjWo-j=d3k%O#x_Ay!Hc(D)hB33&wzgI){gDg+n?WHG&tWGR!WIQU2El_(H@H z6Pbu&qLlxoSp0TDiHcmWa+l>-@vBchf%?g(4RbYoqlK4=?SOz+@G5r{fR}VS|BTp= z9nL+G&XhUAIo|1?CXLjfZ!S_Ba_MXNWX zuIBnl+2kVC39BV z6p|H^%(T@cX(vo5j?S6-B1rU1-p80khGh)mTTF4zVi-dS)3n8TQosz6hTB--z-Bn& z>-Z3F6B#ITCf*@3QKJagh%8*^of+7s^$&VX%s#`Ai5vV`>KU#CFwqVfny*2iBHrg$ zrb8F`B>UKf?1SOZ&$8E82hx_tH3U2jfj$uxpqU$TM zCvut`q_yzGk~RcK$(-&Vu>-!7mDc^E;b>78f(yg6;@D;_Ii{my3wfd#lDLC8rW)r< zcMbDI8W#9IED-6wY>!|(r$M7^N>M5(^_=w9J|>1i=uJYCqn$T}G^35yVs=_dW}18o z1MTo7Q=M=pnAwQ|U04D_Z2RJD>#pM*2Iv<1fH*7YPMsa$iuOIyf D9aE+B literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryIndustryProblemCountVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d1ca8bb32be2e4ea8efe3ae7b43284e6b18b5a93 GIT binary patch literal 2865 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 N&%*+ra?gSFe*+-poYMdR literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/FactoryTop10ProblemCountVO.class new file mode 100644 index 0000000000000000000000000000000000000000..5df3775b2855b39f9b81e540c15ebd6825a34346 GIT binary patch literal 2235 zcmbVNO>Y}j6g|(LvB%CNaoi@UAFn4_T}tcAjNh?ox&gp1<#>9qF44ncI*F^l zEYRHmd|FXQrO9J=`lv%$YbSw?E_>>cHIEV+F+ZvrMV8v&Yx(*OGw)6gz9%4@#vuep z0;=N{%(6h2Y}G*HM3UZFlQH1|8>ZXk;~H%3Yp#+1FlUs!QIJj^E3~{}&&gB;w1QD7 z_|xQQ7nsS)>OyXgsZx)W%}TXMQnWWk*9RJ+Xs+W=Kp?*6RLgmD-jZxM8H}vOOwULr z3Zzy^I%~^Zw<;D1Gi%$9Yq*wUvx)tSmXoP`Y;2N(q{-n)X0~MI$iE_ap>7++DkGhG z_`@d;zrXED@*I5r&B2#n{Bi5f!Ka`7zIW@ANcopXadYfO@g{oEDkYhdl?~O>;b#hwAD%ME3kyG^)@XXgZl0h9= zoD@hr4dgS3qcTb*)7}smttV&jE{;BxATxHb0bir)k(W@zqo3bDNq$#__{U~?8v98Z z13Q2dTvOa-CSaAVq3^K!RtYL`L3$gM`7^W@E{R~E^ zDY(p$j8apPW7p46i;x!J(}_j3zt9oI*kklWah4xVJjMxMjq&G2zOkSK6O^*wsw`cm z7dn!jKM?gWJ(Wqw^n`qtft%lWPvz}wVsc8E_S)5#m@KeaT4Hzy(b0Xx-j{YQtH^_t z5}atVg*@tO-I{a0*C2Kn<9H3PGp0&8PA$Zr;xW9ze8MDIFD9rdUK_4Lc|wE2HVDDe zA;c4cp6)}^&<(W)s9}^w6Jd%M`6+JyOJ>ApOvud$B7K!61pf!Wpf?IY7Nh}b^im{9#VM}Y&w#FIHOlC#` zu|pt%5J*@9`M^h9MY)Qlh*B&?g%5-(K2lUsEMNE;R1wU%{d%TblNP8bs-)ZJy?gG} zd-t9Dy7l{i{o>aE-h}U2m_{!L3w<%$Vs^xQRLsZ3?27rgm`@n^q{Zi_#C%#JKO^X~ zVm>G4^I{$s^93#>BHGzHZ_hCcY`o zZyETuhE!uyLwWV8x8v2CUh7J2wcWb1q#<|NtM}X8-4(j4G531E+Xx8eroYpu`{Fkn zt6zI}8ZzS0 zP+D!Y{I%_C8-Dkqx6$NGb+ujhnwPw8L&o7`roYwbX*ji7Z`JC4-S5=;UbEZwHfuZW zn%DB0yS+xQwygGYvFo*Zm;LSqukW9i)m&uubL*V=d;W^BxgnG-WFWA zdB(kXd(~VlN{Cf)cDlrUWE3Ofc6I3Y%rO}8;Na2;9K_1 z9BFdiwEKg9hSZNof{Tg4lt@BwdNjD47))s;1ZPHrtBJvsWJ0h$8a$pDOerS>XGeo4 z6NA|T3Bkr_@X^FzwoXE@IU0ORVlZ1SAviZ0Je3%HFWw#oyA)eWR53UI0#eB;nN*BW zC88jasfg=7+@F*ueb_uAbIJ2Sa-Pg#^GKUWp0mk$^uy+nHj_Nd$$7Ge%_D6pdESwn z$2e>rX>-Z*&g4AiVe`l}A$eAk^W+YjN3I#k!&d_BN#0aXQyXKvI+o|>egHjlWBxa= zo`;^kG5->*a|?5O$Ol6Ldu@Tn%`E;7c_;HSD%W8zI+;Bb28^PslTviEjxL<+%cx#Q z!O@*;j8t+Bl1i@W7(y~blHr&!QrXRsRCX;VCnPH*_ z7D%ePMW-O7Vn`}D#TaSKEs-?lmYtH2$|0%blw+iEw?fjmTXiZzs)nSBQyq{pH`s}3 zjNZ~OsR|GJPg}++&awUz+DWYO=1yT+JAnr|m&Tknh4VxiYVRiAL!|TfAGko9MH7F) zI+1}c{)mf2{Er4N;JrjSJcl3Q5|M>HJd5`c z^DxR7xT>xhxXhu8;#W~)ZZ2?9_hD3S;2L+Wz-0|x>;^_nCCjd(_8nFyjX(3)FS9B- z{)8(;DGKEe*kZ-fxC1{&gDAuA!SCZLkxsEZPRWSu`eZeU3_L@7jlU*-$kS*MNM8qlt3tqYVFv5hlqWoFvNgUr0U6483YP@GMq%ETPW4uWD}rxRm=~l|J+APW;M)}*7kq+d W4|j}y_{2YOJE4X(JQmyo-G2j|EJyPI literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaintenancePlanAllInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..5ccff0de6ce1f57e555341f36934815934eb73dd GIT binary patch literal 10918 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MaxEmissionsVO.class new file mode 100644 index 0000000000000000000000000000000000000000..b2626636d158cad63f6bec9b959bf3a670f53f16 GIT binary patch literal 1948 zcmb7FU2hvj6g^|_+G}^6I8Kw+kU&ZU_#>_hv_R}6K-;uUiIb{9k>H7qvx>KD*1=v^ z@K^W&MXaM@igBBaLMPH)XzMVBNrNfp?O)tB^TryKc|7Jb%kN zv=wrj53NU5)wR5X>W<%Wyo0)ed1!sLe&}?&PTT7$Bvu^H@z)gMh2pM)cC)=t&&f^4 zv$uMOdv@m&YtId0wVRf^Yjqr14>mQwiTl>{V?W*Nj?$=$X zTWt(oxVudX*#q0ZAEkP}P#i~gl9t2n^zEMUohh7km0Tui8g)+CU-m4Qj3X}Fdk^iV zUoU>9pxRN@21g2d+i%$&9!kcGBRWq9hoiewfoW9jTxc2H%{RbP3b;i@KPP^A>+P57k z?ewrnyW3Z!X-v#u) zjPXMS0z?rwr@-F9EXNC6RXHopdg(FL_kr0(j)`E?K%UqP4e%0P=1Pes9HY)ZAokse zb7rhFWgO!iA9c=+b$%5K1Lsd zqbTtg?@DrRl}q13*G|g6LHh=J{G|LVw8m1Y4?S2CB(|0~)U?X)IG5L+VCooVC9n07 zJhd=tI!%mPBCm^0;t6uc$mI2W;?zhx;azczR_boZ;d#a_EaG)CoWTy>VD(~L-@=>R zi=%`!6o@q3p&msd9Sz!)h!Q9>{sK}-<8MqPvGf$PNmTeX)KgpxVT!-B@<;{>EOQpU zbxB?5#m>+R3!*=#r<0V>Q}V6`Vg96_PVZW_zM`!La?NGyEsAAi%g0Do`bd2)`$kQZ zgS<94F+@Th&5f7lS{QY3cO38GExgS;bzH|gL^1vYUFCn7NOPGby-uVBGTejqj2jwd zP>QKTsb@5Lv5v{c4D?fjQyVS1MKj*VcRtAU0q>NTSNIv}Paor4&g>&233JL#gxC-~ W$)S(z=o1-!oP|MNig}6h@Ba%BmSAK6 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/MonthTotalEmissionsVO.class new file mode 100644 index 0000000000000000000000000000000000000000..64e7adc21b25862b3d092b550db11fb8d60f1b83 GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/OutletPollutantVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/OutletPollutantVO.class new file mode 100644 index 0000000000000000000000000000000000000000..38e863596a0e4414c2fbe07f9f3c32e0e95c85fc GIT binary patch literal 1551 zcmb7ETW`}y7(L_Iu}R$$3N4fkTP_81Y3c%H7n*jtR3IVsf+(s4PfSy*F}QX~93=k5 zKJO2Jmp-u45~M{!@B-5QrsZ z;$n{bCAG}ta2da;<#!WTaD=@tHSU!`EFM~~I zHEMdnW=$YF=LKH$hd`!SS`*M0!VS6}T=W8WxxKaSHt)-IKMoG-(qEHJPo2|CJ!*I@ zf$7D1;MCo^yX{2MZ-#Qic@{b{kpAc?{aMO*F`vlvOVyPdx z!B)51NU_&T!Opr*+tMeLE{B!%$8J5Ul^zO+u$zDSlYkLM4Yx_gips=Zx$^NZT~~vv zk*q&ilG`zVHpB##v+6RqrRvjc$W|kfkb2%>`n&h;EZt&#+S#VtYWtDEKvz;L3X^WI zU8`ZcS$A)HO7YPi-KJFkY#hR{jf2PwO#PhhHqPOMjbj)iZW{%4IFF*h(fxyQv+emC zN|qBnAd0&h&D*$!>m*mQQN@_R%#Yx4n_FJAXBq_ZyXBLG$j!&lQtFOdYC7NyWnn=-$49LL&FiS+4$1J2yHuYz$lLLB$QlSyMzCM z_G(}7K;Piw_$3XVWhqUSDpy`Z>tA{_@kmQ6Sc-!}%wDB=UeU*3o`p*J1q^+s@&TE@ zU}SbG?~z%WEO(&CM;gZRB$rve`UwML`bQjk3A;L`caV)e^c|+j^zffa(tiiBfL}4r z;v<;CNot~Dg6C8GW>BU!r)lXp!(1cCn%4gqGBNQPqbAPsWAQ&lja`cVDtD!VpQQ;v^3;MWilqHXq|!fmArM*5`vT<#8-0PJ!?Xt;|oa9-DV0kWQDh|9=ySU d;amp;3M98-n@b0S`^RVR>=jaIeBiM{&Ns{SB)$Lu literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PcOutletPermitPollutantVO.class new file mode 100644 index 0000000000000000000000000000000000000000..c07a30d4bfd02b1c9117678f6358ad070319aebe GIT binary patch literal 3927 zcmcIn-ES0C6#w1bncdml>8G@G3xzEdX}2w_h=|)35u{LUX{A{CQkib2?UwECvYjO% zF+LifOnfpi@x=#83=c|dNi;F~f{A~Vh`&2`_H(wv118PAXU_edbIp!7Fg}WM|5z@cMA3&^lCtEoESHSrt%PAm(S}t6YjR&VkTtL&$=e2U z1~w&`m(bNP3IfqW*~!_?xx$Jq&^^0h-L+CVE5DXnbV}L$+Jr!4)yg=9(!H4#0i&3i zcku#;W;6Lz#?IKqlw;*e1#2a>QrNVz`P71kp=`g>zF?O&v(7>xmn%C~-dUQTvx)*8 z>bA0z&85hYS1o4O@|IIB(UxnCr;~ou{07`Dq^!J^ySJ6yN+~;iH&2}AJ#A~Yqt2Dz zdxl5+>IF1)+A*8W+n36l%XaCCwVZR~RLEGlC99N`-yTzQ*0Wmzr~cclN^ty!379l% zx)$shKPzy7A=>yH5g(|!=DWcSdRN8Oy0G79=DpZpZ#4$HXV@R>ktKRhT)p@Fta*QA z_}R`&B?HyVTD#xvU0(HG3iZx5r1M^}lG2+^=oc6ld2h(RQ?_!fnTC+eFK^fxXJX{K zfMA2x_oR0upckBVyTlffH8-T1OciUVd(yyacR_Vs+@UaaoHiFytTuPMLev-s>n>^? z*+l)tts!lTj+MF1GITqJ^UR$GRI<0q zIY%JY;9Yd6&X34Y&E$O^thFtMQ&1C*iYK%AtaDm`cQPwiThyn&VxL`(N~WREzWZNP zzu>BjE*8qAj6I!|lkPyJ1$|LGCZ7ruarB$mCzt&gFmV6}1y1_rRQ+JyRilZEc+!_G57)Y6%0v-&IB~`j)!Lb2 zU5zCw)#D=AUjt(aCFXOVRZI~vV&XCm3v|}ZQccRTvWi7J&qs5-Mb`cAjpqknrv`jw z8u%)(g2y1={yzR}&=8Q>AQg}aad+m#-I*2$BwTtB?W7rHu0!OcxC`!j@@I%2UC0rx zA(z>Qmr0unfTI}Zmyn6!+AJJs79MCR%!IZO4mJxPYAMV@pnJ_XYt6z(TL>p;dH~0G zcM7j~7Np4ukRM8pZbSU!B5KZexLSG@!gF2*Mn+l2?A6wK0?(^QW=ZNfj@P(KryA@D zKCd2`WvS-`UZ<^6&uqP4n$#1-v;9(4a*}A3@DSU1ka`p31n>qawk22IAU-80M*hRm z1aG6K~WDBiAO6S?E$U! zN292`sb={hb1^|*d+;qLS@trnUt)^9AV<;{I892!1>DA4q;$-|#u-u}o5Nrh1& z=PW4$Uonp7NJa29d-EMqQJkk8C(#i${ziKk(@)SF#s&Tv;tBc`8QF#8%^Z~~6Yef+ zSeGe~&INW!wO(~jr%Tc~A!n*mBR;2Gn9{}0iAinBP22v?iFGE;=p4O|@c0hQTaq71 zYw{qjc_)TUr8iPD?mdc*NxFyh4tkr%qZ(|g$ys4K760|j^kZgvmSu1kIuKlR6Zgp&V_v;LLo!!RS>2an9 zLmnm(HN-?AhAJ(~FPbX&LWxv#Nl9WQUrbd#=2NQjDOKXa|KKCP+qdVjGfhG)mNVzx z^E>CB*FCrY{^@(~1Gp1sbOaeFXb5sFgROWiL`Z)s$kS;qe{09z;6t^Xy7HWI;G>Zf`qrAAYVM{ z9CHd~r?Oa>3u<0vaY}(T+o%NIvODk9y(49JcctP7PT={Kx`NT7=NIZvIg5*Kt>CmJ zh22$e+Fx+XGc~{J)`H`-qaJh04OfBj;U6zwJM)$}FI91txno{A`TXj|%U4dnxO(nw z0;*2UtpxiC$gZATk-`vO_iKTI{thpTe(0n2(MvC1dG8c0R-Is}1!)9cxlr`#0gq45 zd5aY%Xw-P%z0yKUyrWpE6iRN%trh~OT=SiU!h*l-cooLvl#kcFdSRwC>o6E5VEN$j zsynrdCiB-`dF$GnuSy56Ub=AQ{bw0w&2I!eBY*Y6*^f>iI&xj&~lLr z(d~lvNuBnF)Ra|=G^0hR86`6-)uL5yE^tauOgq&u4ZJ;J2OA})vPYzso-H}`C7H?O z$mo7XH8Z<^dJn@Uuhraoqs%^1qll8jA_R3k!?C>nPnO0Ye{kgD}^J^5NW)|X^@Z6TT)u}Aq-lk4#^K-VZ z!ExhIa8Oesuh7JR1>d8==@|M$6LO!^*t9h}a&fXW9 zYr#KPjN%A`E=ExrfiGiHkeTxvwUWEn6L)K{>vGTg+r=DIug0H;n@(4&ktgn=xeKOM=`c$SB54OkmQ) zS1_btWA_NZyWy1=#FZZC33J3-*lFUoc$pQR7!v)zlQVZ>sCfgp;=ULHA?$bIQd|iN zjESM}Qjk?fP55}2W4C>_94NdxPPOV*c)un)8>HDl@%Z}0+H(grR^L+X}izL2~b}I%2|C)Q0hG6PvYyO8nXg^ zk$i*nRhbuj6W`*B8G?-|$_KED9o$Q>p#Q{9?j>2Ge_$866!zg=e4Cug>v92ik<(Dd zY3wGaqlOo7H#vhX{{-$Km&Pk_aWA-YVIXx;$N)nK5{wy8=G+-xjyWt zH$@ES#>eQ>asMY6)bRlS4CNDSl5G0_V(B-Bfb0lH#&0p6po&%ysY&#tW>5lJsZp5_ zks3wJ2x%s9A2DfapY5O8k=hxy&zAnFB{q-IKYkAS!FD46=~^BQQ9^_k8Q0Oz6BmZ7(o-oSUrC0MlAG0WJKxD_WbM=r%iSi(VaDh@Lr-zBFZz#W(;r{feh;(O!_QAXt! zn4fVY#WE@iO9w^yjK+5|K)skK`XOzVKPk=?rySYHcn<6{JoiqWIe){2)! zis?ATw(fPsRA;{V=*X_(pc890=h!7=FLpKOhVb5+5)c(l5${=#@;fl!?o!?qtIT&W zMmg85yg62x?`Mp1U$^qsSY>c!XD-Xvg%LnBM&*q~a zkl?c6h|K>kj?* zdJEi-?QAz~kE7WU9f5*9;Ctomp^U965Hf8AjzV_JhsCC%BxdpI@9qtSW(1ZA(HQoR&)1 z+^uJ^cJT5f#7B^=X*2_cX>g-84KAB$G_heP{8LL_k>zarwtdG=__^A|&{0yM+|Gc| zq`@fH=KTu0FYOq}hoy6Z-NrH*7>_r(l2Z1Topj*RMxkEi)V8N0wQwtp)Ux9Qks6fi zQBfLe^+n+~tJ8;H)V9~d+T~8pdW!+wIDWx&SUImWC8g3}&3n~(Rcd4Zf$7;P^10$y zmx?tKzH#!zK+74Ofwr?G23oSV1{xVUb&Sf+s+HBeX-FI_FI95>o`Oup)hls(s|>1x z5sW(6gv|~Hu*Jc3BCZ!PC}K#&Ft%ve_P++m!NZtxa1(BJc#my!uv?b5ind+EZ6aF-x-XJ@d3dOvzXY)#D84N2nou72@8eSLi1_xxcUr}w6gD~3Ps4H^c?C4-Hsu&s<9up-8pB^f`yz1LN*NC} zEt&yGIp7A|$dx8tq-+O&iP-rLa4Hha?ni*TE_8s`M1o0}2(aD>&PIYsv>@lNpONHB>V0X93qgOOkkL}iTqYmW?n0z*GP@;&VLVRW4z`40B%=O$uo_pT~Zo%))MJ-CM@T#G+&FYmn=Kfhv{dtH2E{et_b z={SUoxSyJVqxc*%)Z#dUcQ8xM#0z)}d#PFY5GS#ZnvIX)V?VV7e&9DeK&=};kizo_FO{#n{zxKgS1e^Qw^-^Pj`eCcYz z)Eh#K&MREq|LR&W>b2o%?`38}Grp%)nAiaZv6<xkg|ju>z2lHR`6c8xKtJhKY1js9x6$Ok`S!GV7*{ zYXv5&VIu#C+7Qi#N7Y%v6L;Y=_E#=K1E1m%YBBx;^Z_1a6}mWNui!CiI;%2|$Eg{} zv13nAi{mWcmQPYM@gDl%QM06@+9o*vu-Q60s%dN@H0>V-Yp!Fmu@*+%q3)x%Z-s90 z7PqEn=Wgh1wmUcdBMc$Lx(w1pMcYE49R+M+S2PpOdh@rH;uqd#&E;oG{u``0@)g!* z)-9t?D7K6%Gg+ncBIwIprF71FUuM11Q=)HBdRp|WmEJ4*Mx|#&zlLHN{hhDY)?Y#S NkP{kvEI+;S{{rI^yZ`_I literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/PollDisPollutantGroupVO.class new file mode 100644 index 0000000000000000000000000000000000000000..ca5913d86ffb4f57437571ba88f625c320326d92 GIT binary patch literal 2971 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualEmissionsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..03f935c9b5a15e6b50e329b7cedad258a8fffa3d GIT binary patch literal 9217 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsActualYieldVo.class new file mode 100644 index 0000000000000000000000000000000000000000..5298c60b4fe59414e8eb012c408bb4ab058689b1 GIT binary patch literal 7573 zcmcgwX>=Ra6~52bGLlA%<#kL*Z7>kW4hn(NGFeIz5(te$nuJj30ux!-0$DOzLfswG zKv)8yEGdDql!99tAhd}|oRp<4(9*r78}vtePGsO$e)qJLes|tT8jmK4+8;e9xw`Lu z-@WtZzWeUH=QsX6{UQ;aM}PIx(?JsSJr;X|w2+=*?O7JjvDnArc^2Pi@dFn7SsY+7 z#o`4P2if-!i|GJ{hglq9@k16bvUrKb%Pd}D@go*LX7Ljiud;Z}Pp=1QE=?=+Q~v## zLT@PabA^7P&@UDGl|sK(=r@e~R-xZ1^m~QgROk;1{gG{d^3$IMHKm6I#n)bEY&8-Y zBRi7VSj?xhBZ~!T8%o(?dMvd$T}W@qq?Tv1xuQ`_=duMs{cF>?MBzqbWF(bO7&RoZ zd^|mr8%|}`=X2w!d~pJCyjzV-DJ3YFPmSmD#Z43A7;K)oZSvj6@0_{)$?`q7zw`Xz z@*{UFEb2+%BE?BsTpMX&hBN#4N zc#fdJwMMd-%TKI90+pjjZaR8!59cy6p3e=JlANf^v*{v|d-UMpcb~fHo%r%<$;{K}yd1P9mYtz}(y3*K|RDP3zI^=52C5_BxBcJB6W%LwB z(+IX?Z8Dokrjn`gMA69PbH;FDYYr7^WF`vfLSo|vW4XCB8_ZfPV1P+nnNDSfH|OxS zA~$<8Skplf=Zd4LydXb6rjOTIF)gMVHI4T2j!DpNnnjY?o<%ZE5i^plu%ePJKj8KqWyR+O3{ys>B`uOBkT%@RUuHyfgoG_tF>G_k~^MqyM|Ve`EHHK>C1 z8`cc1LYYAK<%3=7^Wm^s`GB=9ADY!Mo$08|&z_K0 zi(AVFvqA_fS!PBsnw632m{FyelkblPcqwaZ zX_25#=P_$VDV-VS?@I3plQ}Ovyi}#X&|9d#!Jb;9S!y4n{4iDrd#cR_!jDkwH_FvQ(?qDf?QA3{4j{85Q(=2=08PV&)$JoNbDhR^WK4%Nem6n zpQ0vn2&H-5AcXE&@H&Mw&ui2&N$LX4Gew>X!>fBi@#;R!%N*Zp6rZH9=GA;Ql27-8 zaA~qaX$Km=2Zv{!!+q70DwOOQA zt<6RX>+K+g^$x9_NgWocUF)!sB6=rC5xq<6WKx$!>eRYyq^Pce6xF*mjY-`WNz=M3 zB+p*#iDvo)qz`LO6sHYX@0eV5+DMyV!}`AB2c$Kbzt%>@?6nzr5W|}Yd(Us6V zbg{UXu7c*JA+eJ_1Gw1+a3#~;A&~r2bEiNvlT{H@< zRjkL?APuce`D6ndH-p|3y-(5tkKz6vc!f5T?D30jE$NkeoqG*xuq3$P7ZSe!$h z^fhP^F7xJY>iPf%56WB!lr{R>1Jd0@h+S zM76?l`!wqc?kD(XR-MOewvDi@;L*l{*Jl1-IN%Z3qqrl;UP%f3@+Z?f{{?D!-qCVf z`8$elm`SiUy5MU{o%4Q*?{heJyE@}$v zI^zcB;@shMp6}|6o12Ssr_=dtS7+S#T%5a{&Wl`~aZ_}0)|}4gyE@~B>Ehh&bk<#+ zaWi#sKE>(0%+(n;S{LUzPUjV_&bSG?IG^ftUhV4q0PVJ%b$r11EaIC#aDd|OJ3}5u zeAUB<&$^=td>mclv^E+?Ug-oq=pLu7(Kzx3C}@v+oc2cJ$P1&Ohuq_IG#W?VF9kj9 z9;dU>IPy9w=$r0wx*ClmZ?6J}jYr+qU28OsyzB~kj2?H3)7@wsc{djHE%*02rO`O@ zDlO;<_xa3eG>*J^3;MSEd`@jNj=ZP~{(Fj*pEt0(_`CAhVVZm83-qCQ&lL6YSsg#| z)1;0gcW?Z3spE{@8}F04pY=1Oj#G4R{7k9i*xVaGOX@f$_r~W*9S7t7IAU{roP_)1 z15(G)w>OT-HnIFH&>R)HRgLlJUXTJL% DS#v=; literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditRecordVo.class new file mode 100644 index 0000000000000000000000000000000000000000..0b2cc9c7e0c77b359c764f42f9fac92ba741945e GIT binary patch literal 7558 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 J|3t;|KLRp)k-h)` literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaActionReportsAuditVo.class new file mode 100644 index 0000000000000000000000000000000000000000..2a77793a45bbfb21d9c88000ae00f07b9204ab07 GIT binary patch literal 7747 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaAreaTransferRateAnalysisVo.class new file mode 100644 index 0000000000000000000000000000000000000000..be60d0ef767b07fb53208da25306e1e3029c03ba GIT binary patch literal 20208 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsDiffVo.class new file mode 100644 index 0000000000000000000000000000000000000000..f912f1e11579bf76fc829288108530351bdef4f0 GIT binary patch literal 8887 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 G*na`L_%eF{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsMonitoringVarianceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..dcb9d753786972e22c1755e8edc91ab682ff0b6e GIT binary patch literal 11183 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverFactoryVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8d5e5687c5ed1c4d4e1eaa8d6cd66e6f8217c7a9 GIT binary patch literal 5008 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsOverVo.class new file mode 100644 index 0000000000000000000000000000000000000000..e49c28297ac0b2eccca03870205051f03ddbbc0a GIT binary patch literal 4839 zcmb7H-*Xe!6+Ty%v@2;P%K`x^(AtSe{X>poNZMqL(>l~?+}c2G>Oz{fS>&y~Anz*D z%E4*VBqRh9Akh4nw3!Tqb|$P(+Hjf{E9Kae#2?(WK3t(L?L zaCG+E@0@$?x!*na@{j+0be)LqrPl#{Q6zCO!PBDs( z>eJPVSzeej7)hhLu9kNcl}bge2y~i}IHAsHhRz4$C8JoZnu>1jROVDhsj&mfypk^} z`b>V(ENlAAAfwDgRX4RcbxNyf`-|$Zt{bLeB0_~x&zNT9D^DsjGio`nG)D5nC2ic8 zR*SpKMoBH33y2e%SBh0kBGpbEUV7tl?exhT=PxtLj}`QMK`p4Iyr~q+hBBQm7;|$5 zj7C{?1p`Qo|SpWgrE>Yo`UFy)+Pj?B$z6)VjR z%NIYaow~I2%BxGSU%z?u)Th^unR(^YYcDa{c&j06w7sk8)IsCyPlDA!Z9V=pe9Iep{3tF<%7 zI|t;InU@!jEdS-GCrGYys|#`cdhOU{58{D)w&XguH9$B2@WRrSa)KKLr8uROHU8}wgXXM;U<0j0oHxKfz86|0KRKa{ zfKL@p{9Rc3lmRL-Y_t2&I5~jqhB>Q(nJFGS>p5m?tU<3eZb2KQPS~i1VT~Qj!|kP@JM5@Uw)mu}6b_CnC9BHlifB)0J_SV|;kyTQ zR;kR|8`aj`Gm4t+o){e;K~bTH%W9=sG;x-_Wr}1Q6=~0UPkJ)jvb03jvj8dElxTRn zrfcSdjF80?*gd0~yPMnM+U_0~&sG{^3`i`}=|LUb&$9_B*e1LkgikQi+$j<;4Z9D0 zveJ@76W5&_c)l?}U0HBPZx*n%W&xu&3z(X+5KY6L2zSb)Q7sqLhc$kR*0-L8yZObz zsOzil1Du&`?Zij5vuFSN>~qWKPJHs=TkgiO(ra)pv|I~cei|j3AX%cvNs;IQuI=Yq zfs1J_R4#tW#U$;K=;!nciSDGVM15TJb8!zBTe-NGvRJ0~GJL426{q>B?rJSScheak zlIXYeDmEwAS!e4IqmEo>Ghbm#;LFMM zJ|F@-({ItYD|A0~00KHf4iW`|7;DGUKI`j!mqNh{eSahN7KPd_^!=6Cc&>Mm0@f## zww*Z$IoSVqie-WyQ^$Fd`ZK{r3f2)JIRr>Z4rf9f6aJV|=P8~EWx_5{SQY>Z%VI|0 zAkhH{8PNq2HDC&SBnWzgS$}xaMS<1vXNOC~XT%d>?2Ph&ZGI0({IG}hY zQ3nMtVEt{h-P&#j8Koh}-`RDc2kATbLWStNG>odH=>|OnTL8uW7wv$pje6;y^gU=n z`aWHu5ojSAr%UuOv@jLvH0;A9P?=t)N1%x~j0b5HT7=$2BlrQdC@lj2LufI&hPlR| zN%U_}aU5El{zDsSC$t3ZLN;TR7R1jeA<*v6X`Mhn!e5bnP8)1Ba$73$Mys+J0d6p? zjVQ#az)KToDa|??uu_^33c^dncqg;N1Ren<0`GT|gWH2c7JW7)2WLSZG1+&Xg#JZ} zKF;kSImibxL1#qdl(L7ya>yD2n=B_W6RHmha@ZOQuMB}>wwEXi))46BcnS5Ph%8z| z;>r+62d_>36nKoR6*%i`qd(G*X$tEL(K-4Fv;a2kZQ6^qx1mcsPy3(+fu5yDp@r~0 zPCtbfCKIRkF=+Vj5Ur=5K@<5lvO7rn0)`;Akuhu?G4=(5HNFGfkfu-_P{#zDO%5#V zf;Es{s{T_#tfD-A`4J8Een7GJJmid7 z=T@=-&ZaSb|F$^4Pts+NbBC`pu52IYxYs%D>x`@3$2sA3&iFdxiQwbh?seYm>x`#` zk8{%N+~w+V=siNv&O^H1FH^Nv*SWwBK}Uy{)6)rc)bi9St^}%Gf$OYC82bTaR#k xBg7(Y^76-hTKBHBSi?G&CF{8rLq1R7AD&xf>cl__DSjP>Z=f%C;r9-T{2#Q+gZBUc literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaEmissionsStandardVo.class new file mode 100644 index 0000000000000000000000000000000000000000..12bbaa14b7956c76a62f876e30c98f4d8343838d GIT binary patch literal 7772 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaFactoryTransferRateAnalysisVo.class new file mode 100644 index 0000000000000000000000000000000000000000..5c8508b2048562dde955f3affe3dfeac16b818a3 GIT binary patch literal 8009 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 IH7crq32so&jQ{`u literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaHandworkEmissionsGasVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a9f32cdda44963295d4c1400f3cc10a148570cb0 GIT binary patch literal 11026 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 BHckKl literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaMultiSourceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8526d880f1f70410e9d47341b380596d4c671f9d GIT binary patch literal 13314 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaOnlineEmissionsWaterVo.class new file mode 100644 index 0000000000000000000000000000000000000000..bc2c56b29a0c764c26c473eb2095d4ced0335cb1 GIT binary patch literal 11119 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 VRU6+9;;t>%-=Y<+k8jb1{{ccj(~p?v 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoVo.class new file mode 100644 index 0000000000000000000000000000000000000000..bd1ca42e28440586f83a9c5293dac808fc785927 GIT binary patch literal 9539 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCoalVo.class new file mode 100644 index 0000000000000000000000000000000000000000..fe576df59e2989dca1ad8d51ddfa4403513b1471 GIT binary patch literal 8564 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisCokeVo.class new file mode 100644 index 0000000000000000000000000000000000000000..b5db7d8b92bf23d337f970a1adf71accdfbb6d41 GIT binary patch literal 8433 zcmd5=dwdkt6+SoF$L#LxBMV6wNCIfmCO}Mm76+jsg2fV~fV65KF3Cz(LpCNGEVZ>_ zRX|0sB3QLPS}L@~h>GD66m6@vwzV%?Tdh_tn?PT-w*T~D?RVzh-JRJTWa(f1{gSii z-tYU)%$zxMX6}9dKl`5~qSNT_emW2&K~J!GGDv68LH3?v^E8`pv-u92@3MJ@&9iKt zWAi;W-)HkYn;)?GAxHTUn->BY{+P{A*!+~u&)EE&&5LY)!RD82USjhrHos=`GMiV} z{KikO2I&NPL8I6B_qQ6ouF)GBy{XafG&-bFR-+M(Mm0Lj_z{hMuhAbg`lCjF(&*1T z_m-djBFNX7$Ry@>3W_hdJh3X#)}82C(Y7Shm+DzDLy)m}peK`BnOv6YPc83G&hF_+ zXA+rIx~E@I%Ysz8t^caTiWSMewnPDGo86mgPj@D}7xkrklYN=hh~r(A=pIN4(ns#t zHL_vw(B9!An+F92E=zP|(tWG>`1+v(YYy$bD+h%Xv@o%fbrQ^O+Az9(7lxgwew<=Q zMxybN_19+a*^#|vfA-dcC7d}p7hIm5GkRdl=>2O11v`_gQXNTkjKhOZX1A@)={1R2 zrzR1ovK#m0RZCa*@|h{@k>TvUH)FUe-94}}xo}|R@?;DUU_N@!t@UGcjbsNTlN>Et=vbmyEcw&9U8fH$LRGBB5zQ1q_4<_j$#(k z5AEN6WbMZ03}Y*KdJ-Pz&&5^Fv(eCOf8 zZP_Po&#vDfrw}WY=t*?1?#~4q9lr1I-~+i}zT}kyiEflYb+hfXFIawgvLiF2-1DGI zLT(tbKwG^=C2pIE*(tK7svIOWClBMSV0AFZWR-)c%GgO%d6q<5EyoniHWjv!xTqs` z3Qt6B1XzF;^tPMq4@Pxq-ax;YMfEDvagfLXGxj6i_3+F*!uufpDWU(V<3rMnjGE)B&^Q zNN;rH!gp4xCzY8c2p75xy?8}3bFO+9jBReQJ=poTfey;NLdT92hVl}l9Kun;_8EDZ zVdmJ%GL#?lr4~?mv8-R_=%~zCWNVyp$Em8;$s}$Lx$es23vJEO!fl!1E0Ik_HM~H7 zAsLP)r*gpw)4{Q4qcBw2;26$q*k)8Vc*dTM{MgDyex$O2aZxrfW6#DIdqcL8!Dku< z%aIO@9qC})o(_y1>CiH1dEt1GEJ+XabtLDdxScl~wJD#(9}|KmAL|T>@8-ql+7}lE~vKni|m|%RCg!8&n6!=@y)Uq&D80y z^frog+N69-nu(^LA99UiB06o7y)8LsxJEG(1}9&m7>9D>`JHx@YgFp(4N5W!Z(i%f z{$>R&^ess$bS^nA^e&8X=CbQS=VK`Af`07|12I2!=Ur4%>^ z07|G7I2QoQsuY+90Hsz6d>8=AuM{{R07|kHSO5TJS_)hM0Hs?Bd=vo6xfECe03}`u zTnGSVUkZH8$}=8OKo=8v8bO>$RM9wf%7f(f?40^EiMz;KxpV4MB-*D<8KMen2&Z!4 zG#Jy<`W%G}&$Cpuo%B}2Gen*o!)tm$@tQuv%N*ac6yHu^!)y3#B%kRA$!BVYpGle` z`3=oR@|yvW{ASPyFe#`=0V8N5X=Vr{&D4z$lXOLbXCnp7Fh~J2VuYC#QKYaDv5|si z6r`XTGonn2DN@vk*+?O?3Z#%3H>#KvSEMQ43?_|NB*PeQBgM=KAjQl& zV*-=v6lsD{XCqaa^&nN54Msha8WgGCXvmQ~JMlbL(j~AyR1Z-VeS%0#m-R!Rq)%ZE zl|-MWOMzEcL@9x}3Tmt%T8_C&nj-#59q>GKo_Liy;d!ZDyhKTOKI#^G=`whJ>JyLB z3V0gbCT^!LcmdifHc$#)kcLDLT@Eiq2SgWL0Z*q_#C+<87p6DF99ju4g0|L3J@BH! zCmJXXFD9DkUFwBbC8p9p=t_8TaX!6FeelMJMf4)|!y7Bo^f+bURf_?7m7;q6LJ$>1#g_#hvR<+o*@q6DptcAFJ7a0^jUZl#34GHu7+1vQHkg7bMWdb0yKd> z53hl)LAth4t6%#!Mf~)Icc{is*WynT@6b5u2L3Nx+%LS|Wye5Q7PzNGUTzg!5*5WI zK{b+)D+%1>1TGl&gWu{hjE{SB70TzD*o?D0Gp+Vg7n{+A=Ay->ZYO{15XCR$d9UeV z!0;$Ug8QvV^H+>f5%R}fvQl*)G3qt!*Dt`_Nn3@G?c?eBOs)A;~ zg3ynYDv*OhX3&Cyc?exfs&q4CL1<7)70N+jQ@0>J59v85VumdU9ZRXgIVfsIEGUwP z(8uJlVrJBW(881|nuDs$m<7f15E>g)b*_&z?Ii2YsQXtbuBPkh2HZEVSWP#=tDvCB z&|2KnN;*+oLhImpXqGse*2DACMR?3^g6E@*2-3~){IrqYqFdl;^i4cu8{h@#8QMp; z!VA*t_$1s2FGT-Bg=~VSiyA!mx4{dGlkvX%61<35K&Q~{@SF+5po=lb4t;CHd=vMJgdllC%M3P0hB~5krY(!m=Xru zgaz$UVI>b9MP7*TUJMl^bo3yFIL9EVQ2Kj@DnvUrPX!DgD_|jJSyUC4+p|?ykiW;D zRdpV#nU}*>!K38`FP!;t2-G2BWgnt&l;hK=163W*feObuZW#`TeuU+re49`ke)*Hc zJ7o`zd8Fv26zA_0d?Q!{)zk#9P)o$SY3!~dvEeGl%GO0(T`aD56=Oy0BCaVGPj(e! zCG8@vEfzPqim?KB5sxbtx44S2a(59M#o|_1F;@I8;_=1elU>EwDR2=_C>EdYD#i|j zi@2^>e5R`y8yYU+`eN}+S24CVT*M8<;@PfZY=^jrCl-t6x{9%l;v$|@ES~Qw#`cSg zcyh70-BrAub||rl&jkKX^i7%iIE{6GCgq2sFaM$FQ!9T#-*AspU2Yt?Q6TWK;d(wb z<;Icw3WC1n9;de4IC2|8;M2i?+@KNknEUxOlp9Cx=Lp*E9%o{?apd-o zz^c?W&y&iHBX^4g4Y|jeTy7k>xg>bkQ04heJnj63-8)PtT(pNyj5iKZ6R+R!6Mvud zu?B03zhC-TbT!4BrH@rsQ@lm`SXMQ~p<^x9QBCow(#OK7DUK})p2te5DUKB)`&b$^ z#ZQuc2{SluZS?_G1X1jO6p$9}Vw{OXbV$aT3>LeI ztpY0If@0mZC=@Az#bFoiqOIL*Yiq03x=d!Eo84Pi`rUVLl9%KG!T!_VZ|3CO`+eu! z_s%`{-23jc@9%zsh)!XZ9(vA4jDE(&&wVt7e!;cpx%ed)zvAKrE`H6$Z@74oiOEHKXUOWF8<8Ln_T>b zi@$R5H!l9p#XmgsPahpeg9`nN|NdK{|0wj9LT@YdjzaG$^qxZRD|AR<1e`I2ITTi* zFsH&?3Ue#WqcDXdUJvsza(Bkkv00srwDwD5OJi-_v1C`<{B&<3*)^GwKCeHSPArKp zO!Or#?v77OCR6EHI+05DF^aY)Qf+-##JalTy=}2P(l)IpF+0^6@1EP6>WTNJm%)!~ zX{@_H&PW})ZR^nLErUDv99+AFk@u2VM>^HJjE}Dl?p;2(^Uf^fm(ZNp5^g8J%uTC@ zH*958ok(`}_oaK6O^>DHU2q^+Ee9UB0WOBO?a8csL~xrk>)~?K;J*FCYd21Kt`2OWbaH4i5@EnPbw0Ht-Xw_AjyEkTT*qym?fA(o} z95FxvM+|_e>WnWi+3)M`LGHvCAU$9_bl3Kw+qVv_8#uUbJ6@-wH=e^9Gb``P?Aa}_ z=7W3gIIv}XX5X!uRjWl8=E5Jtb1m!3Ivd_|-+?U;WSzO=m-olIk#RN6mbW|a;!EQl z>B-Rx7&%2?gYAiATs-N57_yb;bgCoPy)f3B;BDFIOfOEr+0^!qWLrnPBi_@Nj&=8@ zVx4VEQ^;ff9ErZR`SW7);<0Z2cGG0v^lY#frjXJsRk&v4^B~t#>BW31s`)sPk{PNo z;nIG;NzblERj{(nN)xoKmY~2bJs~SaHrdX1{($2);dNZzv*v7()Su#fufL z6Zv`torOfXSPF@9qJ>AxiU~=Yr7K_|@ugE~rI-cJBowWQD#0r16;D>UJ~Y8B>=g54 zSuk>*tUczi*0m!a-r5y3N!CRqNd;XdsbJ;E887Gy%umNUE}I?eG4mh0o>}*mj#%<6 zzOEQ4i(`F@MPw_QqqC5~bLY*PeHKz2y1O^t*WaB+WhqTrPb8b4zKA6g)oep#TusD2 zp-TJ3GXx@qH8tNBxIbd8m0sC0r#MnHZ-GeR^!Or{iSS3P5%))|p;aRVA#_hkBopb= z86iFkv2At5(=+6@S=}796s6q8se&>yzqwWBn<6N6=$K`@iP<4C?fI|;D<){^k-_6V zmQ~=-wat`AD_6y`HC-!s1G#C0z?@UKUGTxqE7&6VOD@Q74goaJx9kbLJ>9Yo@F0j< zD(k$rFCWK(+AhP$W37T?4P?G41Bs5q1kwhPfdo<%NK20lB=4~XGS@Z(iB?Gz$wK@9l`sOz;hG+>y7j==%=wX$n(&;Kq=i)3b&gNnk7a!wd zHW%k{@o_HZ(*l(ia_y5`T)@SrxcCeg7ZD0TUGX9L%>G1oC*SUmJ94O-MX8*sGCxz1 z)~$`Xia8aVQ?ALg8Xa}5jdoSj9^n}aB-q+$t(=8Dk`n+Ym(^hSv+Y@(XlbpDMduas zc>~De*2aR`Dx6!ZD|+x!x%!GG#>!V%(azUcwDHoGDvJ&lRq2Pc5u@d!ERI#!hhjZF z@g(-~N!C@CEfggsSWXKPw}78LG#-{uP58!|f)B(HIe7A*^-;9^_&o#v)B5O407$4( zUQ~2RVnaU09a_HK#azt6NLh@lgPOl#BoH9WXr^d z$>rSK@)WT<$yKqrK*C zTX%7e`)SfPP(XL-ZVSn6ctCO+itgbgMUp(aVj+19FGwE4r+YccCrMu2XCWzuA0)+4 zbw4Mmk_62{@)`k}tBQjIE*RHIt2;-qRxs?w`1q<~QaQoyLyYdEP^l4|r?3#rnm1F6!e*XuZ`UXtqc zdJ8FN=pY4+5xUMvBP2=JM_5Q9V0`4bWF1ij#Ub6uLtZ5=Az~Ma zOr$Paj6UQfCFoM%HI7Ae8TuR)ahyxt=&PWKjv2HBnv>3UOrRt*7tMAwQ3{%yx*ZPc zf##uJ_AXrxO`)6F%hU_aOY7JR)CbK+18gUyq4{YqdyM*_sq_-Nm6k#a&}(cpT>-5U zB{fN(gBE0NwwRVd3$gKR7F`J~%v#uV`aCp^oy#Kh1!z@lE*ni>gjUT`bcntLt%mi} zTl8gUwQMcDNLN9t!&-ZumP4y&yRZdc4NYhJu|aTXk#45qrR?!*65gx8hjnJCdYglN!LRgOE(~_yXj<)@-E@t zZuNUq>!BO*r?B^^UZ~#xV->TF!;Yw2bQ*pgcpn!pSv;W}#R)~Vf{;xpq{w9m17?$- zY=j%nmEcq%`L>59PjOB)%UnZf@?sP@CDgKkJd*~f`Xb)%GMpUHof1)a=@XFKaG4OQ zo@u1$t}Ns++$QACL8yhoN-;bpgfb|tJXy$VC?=%jAQVSoZMXdJtlZinW?p>!#&gXW?|>_WN&nw!$>4Eh>053OP2=}u@0ZDKyU z3!0a{M{m;I(0ueN7V$mM{PYg(qI;pKtQNobK?|@Gv6%0NR>|5?#2$baWL-FZJP0ks zuBMad>(IjN9;&1D&@{eGov%~lA#^ygOc}${B*qTmf%9z#@2DYHmXPH*3%exEZK36v z#l4d3DJ19lHh?ryN=))r_LwyE+8O3;4+~3k-(k%29*)G2PW*>=lJ|2Il60jW(N*5t z(RtEg;Ajr>KFgv?x4itDc?I(${FzzjG&hTK*wT5hJm>i*KL!IiM5yc`@}nG^jT|U^ zECc1oI%YFDoOX=E?guo+(5T6{ToC&(wc(c^1zi(&P|dcY?L5rS zhd7&=1X^7wl&5Lkd5)kV&hg@W856s7&jCfpI~c@8z&p%QN_lm*c#)e%EowfvGJ+4 z#<&=>F&xmpJQu`Ydjm{amB{% zw#K;rvoVeo8_%^h#CJwf5CO9PZt@!@XPH zGcnp@@29R@KjK=7(O!E$_2v2zw^)q!+56GU^&>957(HR{XGFPv#2p!<{q}xFmg`4c zsWBY1ZRe|@TtDIlj?q*0enyq+M_kx3`nJ8F(dGIP_j`=KL*KQ_!!hOh5!ZnX9|*Sb zX)M=|xIJX_w7s9Ea{Y+QMn=!r`x#rVA8|Ly===75#+B!hD$Hr zk1zG8hFb%!!|i2 zq2psZs(o1K_WP+{|k4!FLD3? literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisFurnaceVo.class new file mode 100644 index 0000000000000000000000000000000000000000..d1d1475324bfa7205d637e32d8803b2395d1997f GIT binary patch literal 6648 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisPowerVo.class new file mode 100644 index 0000000000000000000000000000000000000000..82c006f0a2c9a2fd4e6eda66492f88d6665aa49c GIT binary patch literal 6709 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 k9kdU>Crf{w`60%Jzs~&VKSEa5O8@`> literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaRealTimeAnalysisRunVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1fb7b038481b5392b019033aae5577ee9c058efc GIT binary patch literal 9259 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterFlagVo.class new file mode 100644 index 0000000000000000000000000000000000000000..feba69927da6b3c200e16ff44481ee81fc59bb4d GIT binary patch literal 567 zcmb7B%Sr<=6g}x{oLX&deRe0f@PP(ISBeWO1)(UkGOll@p{B${Cewmb-hAK&j(KN}%4;R^3b=hbpgp`G_5b>4LNlsi z5jBB>9I*n8tWz4YV|hEAs5lik&JnQlJGj$4O@AX5ka_xe_Si;&KQCK?H@}#1iItpd wpuGPE@ybR4%ZwGa!A12sX6G^*SYa-pImZ^)0BsH}u~$ZjfO&yAWUeCo2B!y+oB#j- literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/analysis/SRaWaterPermittedEmissionsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..979b9a7389c912b510ba7ab673e061c45bfabf03 GIT binary patch literal 13330 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirParmaVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirParmaVo.class new file mode 100644 index 0000000000000000000000000000000000000000..638fcd783de73be0271a0a02173191ecb28bc97c GIT binary patch literal 12226 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityData.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityData.class new file mode 100644 index 0000000000000000000000000000000000000000..d2062d33612cd71342e4a67812783a0d6479a357 GIT binary patch literal 37154 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityLevelVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/AirQualityLevelVo.class new file mode 100644 index 0000000000000000000000000000000000000000..ccc73eeb5007895e8789ac4a2a37efff04e00a70 GIT binary patch literal 5595 zcmb7H`Fk5z6+L5H)@X6OB(`ImG-{i~lI%o@lR#T1h14V@t+TW?fi^&^$P-(sqETeo zH0)*Hp`wLS_HJwe+EOKiB|qggU+`9-)peiASj8%i4~H}FmIz9sN& zfpY@i5%{ja_XHjjcwFEKf$s}EDbNr&FK|IZU5w%faqPf7Hl7muv^@NwjUU-~#>S6r zJZs}Q8$Yq}QyV|C@w|BcSf2KI&tT-hLgU650oXW4{ zbESNFA$PD`a~7QHl!aL3^yDt@H}tn}^ZaPR^*p=mPWtXr(~Y`2{D-xris!~^D{jGm zTz2pBAGtszH}^KEeiJ@cGVV(OBS}z6w0}RQ*bJ|TE0|u^YghCH|Lx@ z=@e?k6(_g1SiN~UUnDct`6;Uf0FPH18& zJms}%HMf*}c4*FI z{t#-;N~(9TnlpK5&fU%#t~~e1U^-MEM^2pL)|krNX2Ei0Zv~~}y|NH-Yl}{mNu90b z3wIvMSJa+kZ(!XO^5uOJm+oSIX;JT4Zs3EI9lhn?p?!=?zq{%zEthKiRn48PRg2{X z3v1Gu&}jN8w_|+PU9J|K{YBa9LzivXt@43M+=|uUw%nHm2yk6jU0>=b?FYpF|KM1@LH(JR3pOuuvhj4cicOW0dACveK{+z@K@KXx{ z^8${*Nr44{MS-HgDS%{@u;_zN#hf#f-YZ@#6-&PQkpG!<*R?_bwvHjZ;E6bq1hMpOTRVh zm(A{|U-}J_tY;$S4>7q@bN>SrXJqf|6tyx*d;*`e&=+JyZ&$X!cGqp%Ew4D$nxrt{ z4}QDq4jj59hlyfwZ(v3Ac+0h7DYv&;&7WmC#pfNTqH2I7lMWv~UIiH*NxdaSc%WG{ zLnf)zQFp#lamw=+wuB4UtC!15$lDjJBsIWXv);yx16*E$xROWo0p3k|(INFkuR}^q zSyq{{EHq_VYs#|Rlx4*!%c4`3b*C&#Pgz!^Vo(OwNpDx7$n>_v`m z(U!9pU}c{`M+2QST@6HNx*Len*bT&J;teEdk`46GtZJZ_rmum1nt=vZ)2wM=kY=cX zVVboKjL^KIfl-=u4XmfRqJa&MtM7ReaXxB?^Cz$~RO#%yiHRoKOE z-i?iz#wN~SGn>vB+ejL>Bg2Z%vZTlHW=2Wsncyva1Nv+iM44rdR%RK=K8eo9=yX5^ z?^X{JA#tQBW_vM+Bdy}3QOvev5Jy|ZJw`FxnL!+D6|XXi*#-^bM60;hC}#UKhQICF^?64c(_$OXcY4} zGKfc7#Y09hk1>OIv{gK86!Z8qh}XA@*BZqO`*xPmjD_&U~LhtyzpoGmA4 z2)ZU?NJ9dAB)E z=mPM+>s_ua66Za*o5-WwDzhha()N#MA4R0=-1u`yJ%C8(x$$R_Iy8|zk1G|WbJYa@ zUBuNs-$=eO#5a*|3h~Y4n?rnzd@RJ%PQKmeUFX0FK$w0Z=3J=U1ph^^#XPd>^hHE z>cqT?-oQ1QGBt``t0|MC=yjShJ&I0g$^C5~}&HMPL)OP#y FzX4e$3a$VE literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/BasYearTargetVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/BasYearTargetVo.class new file mode 100644 index 0000000000000000000000000000000000000000..c03c56cd3bea6e6ca12870fce526cfb7721b24a8 GIT binary patch literal 9114 zcmcgwcbptm9sj+%Ewk-*Z?8@+372G(TpF7K3KK%f(Sm6tF-mMqHj}$e?skvey+Eu% zQ3Sz4QHlyE5WzqINvI-NK(Ql=qF{l9V8bpb5Wc^8GqR)9o(#557tL_!lSnn-FQrHNMNrNg34P;_K?{*i0U(tuSF)VXw%xy8&5o0Y-r;{3pg zRxUqm4lNX^265Jd^x{<$U31=C|1l$zE~&=nz1xr%$CnK2L`NC)~tH6CyeBm z6*pKzD@(-@t5n&FJi#sI(5NLS!L2@b^{soaJ%7)(`|%2_FD>Ra3li%DrC5FbvUB&` zdew6m?%uoYT)Ut1=DPg^ecs$!`nd=5{X73!A>?Sj}xm+xG1}S?Q^plGvj5v=@dC(lO!lDCk zHA6x1C53`j>K`)8Wea1y;7~GV>>S7&TD@k~lI5oeisg!)w+Q8m@+Dew#oBj>78e{f z=)OgQ6%S2g-5G3#wbYh@VsXQX=GL-Hk3W0=75gsOx##+u_FjG)UdZ*!4BcLDZKmX) zWp3H(O_hB9{EPSAe%;<{E_Jgd#$sf;9$!Rl#x!?##TKjNO`6IT{ie_{`9i*Otf1z; z8EXXv`mu@yC70$4*7DKe^;T((iA^9VjYiF(wPq>Lx?>Df2J@Jy?9yBzo3nD(NVZ}Q zm5Szu?3QBI+PKlmRq|V`>|(QghGilX@4U4|%u)hirDrpC_suxac8uoB94X%!oy3-r z?CKV=L)=XfN9xtp)f~x}p-DEome;tTNmmT6{;|cZ<;(rfdf~QKU?|-wMq8{(Rx6yR z_|`y6zU-Q0P#Qs})=h7|JZ6(&9Zp0332KAAzi!$R<=O$%`_$vda~gAEWjlesb!?Og zs$(dF#s(1-&mcynDig$^ct(+Z)nSBE9ma^QNfx)~9Y=1@Gmy~SQFBK+>9NTiX;{Wa z%?(R=jWVtSCeB?ql(5$iWym^f)EvSx?r_F%$Se$GSFGQJ)w__Fn<(<~w@(YN3x%s# z8MI2+ExZjfT*t>cWqWE&Zcuf|Q*Kbz)M95sd3F;eWsJunLke{v9!tW`QmxG`GD+1S z`%?5QYo{+>Q=6T|En#kl+GVafvmHEEq1@;W8C_@ZvctJG{~UEohRW69yq2HRDJk`} zEwQ?SQ)rnvVwWr2VeDIgmNN?{@s#5z9yH5?vf`n#EWwPfT(xA`NtklrP{}Hf4&kN{ ztC>gEsuLE?c%~+r@k~M_QyuSE#yhadjDPe}nYs~bvnl>pZADVQO{)}FS4#Q9fS`7_ zjN0o|T2XDItBa$hoON=Z3wgV*8XwLJThOF~-E0=dsYK;Cok%Ce=`?y%oR%?K!RT~G zs~NqS(OVdu!Dv0B4U9H28f3JI(Ga5oqY*}D5e9wEA)O*|`YL@PPVb@j#_9bmwz2pi zi}P4~gvCc$T*zW8y*p0VG2?xVKEUE!79V2qVHW4JxPZmSSX{*70s5MtuIk>GW4d@W zKeT~&evfZ3`>I7?QCxJ2E*9NbLbH3>!{y1g>nOl%au?DfCq&j?Xz|&-V+#vv)K+b} z?HgNX(g)S?p&@tK!4+Z6@u0oxB7_f-tUKP;*}b)k5)sL&&526S?)5EHgrz)2C$2;0 zu3f1JZR7sbS;dSveV=}SOx1Cgukyq4kcHaA4QgJ66Ggom}r&0|$0@y<;sL*zxs_x59xc;5a&=tpk3W zMem|B-B&VUMUki{=ior$sCQU!pqSJ<2H-$}sdwbzK+&mpY=#4csNOLQ2Z~d@qX-8I z7N(_%YZjg}5QMr2S%H?tQ{Wk#c^8S>?XXeEkZnxT7T~xHptI>5Xo3q9WG(qlYP!uw zZc~y`{S@Tp9X@i0l8i#AAP4*{cPYszxe9X7-?FYGqxveyA%Dv~N;2xaf*kg@JV8lD z$ybmyf6Ip{$v9jTDakn86y&(S{gJI{+16{l5vbH$SHrzbCqOV7!>4If6McgWZWGTkuP(<_P)(eX=f3&n{|i zG><%@1bs@~pFpE|rg>+-M$oyb8Kp-5;&d zJn}Ra^l5c}B8}#ehqs{5pg&FaNmR3bqK)RMp7jZ=pLO_i&U!&tsJj?zG_|}U2)a@| zWbsDx$Qy;AtJM8TG@3_VKm=W_?oUgjdE|XX&}Y^CNj92CUT*|_PTikWqj}_QNYLli z{b_A9kGwnyx<=ifbfbCruEjU1Yt?z$8qLFZHO_+{fRMOsHJ^v2-i7g%E^%)%q>N7g^4i4&cf;#k0Hz>e|c{BMh=lkTEa1TZCB7Kpr z$BO9?&(ICHus6{~Vu)^pt(h(n8)-XGfOd){^d+Dm?GpWT6HtgA7a6)4C`?a^iS%V4 zjb5Vtv;!!D=Sy@8P!zr==~kc^;vc7-Kyl>QMYjPZkas8D4%8wBu_NyQN{RwLXnX}I zB`&7TbSF@&xRfk#uBWuP13wyf1GR~}>3F&es9ijPpO$w6b%>{^hwcIDq4}>3;mz#4FS-VdQ@XF?RTfBX=YnjVE78g1i;|cP;tbN#0q4?(|^5 zZ@|m&#>RIVnI?D~k|eOP??^2?Ca`FHYT+Pn;VVf?t=LY%lzFCW>r&Xd6*gUA8>g`K zC~V^uwh3Mv`ZjSncM_XkOU>F&;W@i$#+i#??==GK&;yP~<5D19lZ>G4LKUz{njUmr zlZ}w=3XQo?8zgIr5w=|@3l1ynx-y1lyRsW6 znr_5w7Yc{Nin*>nBW}CmW3IUE8n51x=gHZ0=Db<#qzCCC%ym%QLSF}JqML57GM3o4Wx8_8s%o}_$2kcT2TNGZ*-$9bVo~E`tSqL2KSlEQtbO;<%rowyS!o=r zbGT;hro+=&iE*aRP0y3Km+kWB=I!1A1m<$wjU?)bhaNaaUbIofOpek{|{~NC%b)a g38EijM4ISF_UBptwD)7^@5Eme`0Xe&?>Jt64a6LI^8f$< literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/ERmStationInfo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/ERmStationInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..aabe2812f6a2262db7b6b887fc48e6ea336f352f GIT binary patch literal 6890 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QEnvgasAreaTargetVo.class new file mode 100644 index 0000000000000000000000000000000000000000..a50dc508f8abd5b03f711d872ffaf288e00a5127 GIT binary patch literal 18575 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 YWAyQU`h>U<+FabaKSd|R4VM`I2W+9~wEzGB literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportParamVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportParamVo.class new file mode 100644 index 0000000000000000000000000000000000000000..83512ce406408f1da1d72d88ebc4c791a4dc7b13 GIT binary patch literal 6699 zcmcgwYj_lA6+U0Gm)YIfTsGNFCdCrUR&ymcAD9RP63%icZ@7Yyh z+h9z9m+-7^xLC;K#^BT@%s=zwrI}NLB2z^JzOY)D=FdMoKeKyb|J*zK&j<>exvjS0 z(z$0B4jy(4O+|BJGHVpg)%YFD7k0AO<3|?`zTzySgkZj0XhI^S4+p0@p5%gUFV5P+ zlg602VR}MP=$)gpmySGw*z?qI=0U7Bv~cj~!gJUH;xUHcu154QyCRdz6mJn!-_<=L zC?IDW*JpC^)+%$(uUn{nJJk=U=wU zja##5N-2{wA)pfPC`J8l!%%twvf8a{XQmT_ZhT=okz zk99cKp-t-s*WlcthYIG@bhe0w={e3=+Iw!z>FT3#=iKNk=~AR4mMVklIFnn7raf^| z(xsThOAnDaX1RM*ig{U8=!(Pn>B6YVZ3*{OdCOYHx0awK*Sd?)+B)R@GXKQ>w~roQ zIDG8wlh4mT{V4kG$VQbuP3u%zMguDDc8HJB%_@C@#c~!adG3=eR`GB(Yin5CPB#nc z`(JvjN{`cal{V6lN*UJfWNn1S=UCj$;vN>8XjrAqEI!NPE*76>@dSNGP@8*Q%Q)RO zoyl(H(rqt~P?uB0D^>am&$f8(pmJ8LsT4fjK4zoHiI)i*ix`W6`bB_i0#Ale<~jsgT9S6-vel1Qz8KYUevqIKS|dRpf_~E!eHaGhOts;oFd&br4IhUAxm9h@ zVL-lB8&<%89IQ6n0t520+Hflj$kl4YZ7?8zs|}xm0Xbc5SPKL49J{^_MidI<9T+iG z;BTgY3&A!{;5>!GU>K!daaBf(h@Sx!Dfb*C!G312b_#fMy9NpAHeqnLci zfl6}9my9CxAqOkT?Y?9buMas?N$&6^qc8Z7!YI zGMbnVIa*2X_9dhF`H*9ko}QvdS|K5KeZ=#Tm1cmYV{*~o1jtu_=Icq zBU_=Mt^R(LTK&k*DaiESSEN=yve63K=D(h3t$t)*7BuGXCswN;*~SHp`|nGw)em=l z?(uj}k$G5u7jj-hC!g)@d4Ym~6TPod`~U^(PxQV@@xi{HIcl(mP#QP%LFj@0Hz=kB zE>iOhsr_1Dj+z`qvmOMbSr2JJ#)K|XVus>cPz!lL2|Wx@LRYjfgA^MS))Wt@MUMc~ zqDQp|gQ7MlqD4KRRy_t#tFCG>2B|g(ng^8B;{YY~1})B@1{)OD8a$ws-Uv`iZ_*kW z)MSGiwI&a!O>YLMO;2de3`*FbW-Z|Xwd*Yawd<`~3xis1P>a^;0cm;?AWctcNd~2C zP*O{IKplD;KplF!*2bWA8`P$?JD|V`G_?AvJNjLDpiUbTvveP2aokC9geGur*HK#R zp&aJwsYmRlJhTAaE^;&pEl7i6obHDfqO4d)1!!R^h}AR&O`$y^O+{!C+AprBX=qWJ zqsz1dT8z%qzvuyID*cuILSKOvr@zx%v=dqb-YsV7L1>L4L?`L1(3-@J^bCCsTC?b- zUG#Nm32_Hj{0(R=VhE-D5VTg2r?vDjw4|7(Tj>#KDX|wXbB{u669@1r^BA;t`X*xX z7^TC?yVMY-Z@ovUFnt?8ig=IOr5gEvs0b;(3uKky zmoS_apPJyW1L-EP54;8xYk$-76@isjNiJ$yK8}J^ntEp_+&@Rx-OKaMdVmdDz_ut{ zrqYzqgO&*uYLOHz=$KmckYx&$OsHGQYSqJ*2_UZiJqImD|E8O0A2d~@sEzhRi*wr6ou$-eOazd&LLgO1 zh|74qJFer2Bn2ISg9(&R*|3lY<{~R+ZE(08?Bab4HbtqTxGaC0O^o;vUG5dlHa&U; zy6fR;2-`{Q%1&HA*8thB)T_F3y)N#u# zPTVMUT(F&q_e;Hn^$$p0V@#LSaldvZx}~0E9na+Fb}*(FVvhPMKN`H>w0rGVP)9$o S`tyO(zXg7X{ovmMKl(4y3`T?i literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportTemplate.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/QReportTemplate.class new file mode 100644 index 0000000000000000000000000000000000000000..e25bea63a6521609153a20b6fe6649304359b4c8 GIT binary patch literal 5355 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/effective/SEnvGasMonValueVo.class new file mode 100644 index 0000000000000000000000000000000000000000..cdffd1b726234680fe702b90ecb3291ce5bfb6cc GIT binary patch literal 3147 zcmb7G+in|G6kTJ_&GtAKw@GUV5FkJHTr*-V$IFWcn zLI}YNJR$J`^rc83Ae8{2!b6exfqnpd2BoY$XOh^?NCYL?XPv#*-gEZloaB#xe*6W% zQ>dqL59U*_@S2DP5wDAQL&QZ3m(pC{6!Df&-xld9s+t1L{v`NDhxIP>Due#wc z)Ok2(#c!V3P2k}0NL&iGuv8WXp`_Z&m66(Vv8bC3({a|@!uAdCjVfu{LW|-OhH<&> ziA$Y|Yx?hPcva@w7V+HT6{a{ba!G?$Z|_26Vi)Soir-)Zq*g;MJ?jn)t(vr=sB>i^ zv)WmqNg8P@y}$#Zva_)V6`@m|3dySJX+=?+>|E0;U!C#R!lrUk!|AfiUTsQp<`*m8 zdPU6zhh&;5oxdV&4$0eQEh5Sw`O7vMYES2l7n^+b)Lo;QXjXQbv3UHFjwDb zl>IY-j9dSnnK>d8?%+W@9Z3NXNY3#tBqYm$MdD6iuYAj)4Ff7OE1K&(LpCzI*ShsU?3qCBuYpT!ePUlRlGiN5o+3a+7Vx5nKRhELe>`sEKIXdCOjmBe`>K8~^9I5L+K=gIgu=6>VITuU5Y zc1qS+yU7}6S?AkhqhG<$uaEr->q{8P>ti=z%@jtrV24|R)NFym)yIEFCa>Q@?=?8% zd3_7%ZAQj5NXfWn-Vly?3%P5^=8e4BLULS-B*(S$mXPd-WaaG^Qr1n8ly%ejl#tR9 zDV0yRkh?lbYz+MCsuVFn=F<5 zaV!0Vo{Kloo6BwCfHa;wzh8@WDE1VU4NZ~HQhbgv@?|kx&mM6aywM@f> Ia7yR?1^e3$8UO$Q literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/AmVideoDevFiExport.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/AmVideoDevFiExport.class new file mode 100644 index 0000000000000000000000000000000000000000..73337075344fc970558e26d88ba01eb95ebef771 GIT binary patch literal 4910 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 CzUsjM literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/export/PcNationalCityRankingExport.class new file mode 100644 index 0000000000000000000000000000000000000000..ccde42a8e7dc539852a0ac2be9c981e867ef6c3d GIT binary patch literal 10559 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 V%YP8E|G@j0KBENvP~Kl2{vTU%kw*Xk literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/EnterpriseIssuesTopVo.class new file mode 100644 index 0000000000000000000000000000000000000000..4098deece5bfd146b5a41bf024c0a29ffd7fce09 GIT binary patch literal 3573 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 U{30h>{a-$bHeBn&^J2x10aQ@sT>t<8 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnterpriseOverviewVo.class new file mode 100644 index 0000000000000000000000000000000000000000..e4671b2d0120707706a394c0f1ed91056035889e GIT binary patch literal 9461 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 afSGptEksAKn-G0#^-(&9{o&R6?SBIg$Rk7m literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/HpmEnvironmentOverviewVo.class new file mode 100644 index 0000000000000000000000000000000000000000..bd02941db844c46ccb4825632066a95e35f93831 GIT binary patch literal 3694 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningDetailsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..1cd1aafc3a125493c56fe8ef39e81fada6f2f63a GIT binary patch literal 4934 zcmbVP-FF*T5ua;IyDNDm%d%rcJ+l{ z2+E9Q3z@8)wTl_o%9k8#I+Jzg<{Su}l3n95Gx~Ve&cjQj;6)mlcS>$E651>%k#!1L zyWp0*s01l1i)WXwUSzEzC|N8y2z%~++qH6e#H_sg+QpTl&$3z-)N;_ux=!hcOn`pv z&8M#Y?)>uUldB7_GeQW`ub=z%^;ch7e*W0%7G_kQ7cJ%kU)9bB`heF-U7Ai z@LdMPDGyv%xi*Qclf^ukY?!#z%Z0SBtD$dSC)+4v3M-`H2NtGFOuAO~k#Vc&RRqT! zM@^8HwF;wLX|S`_{H!c$b6@{1q;z8MuJKXi9K2Gp=gWClP`oyi$=*P|T6=?it@qY# zKH4kys#k!r13P*{8&lbmLqlv6gn*{d(KEI?QJo7Nef>49xi%S6K<%hMdu?nOs8$lP zowcV-g+QJ+R{3xlUMCB}lB&dR+VPAy;% ztz0-gJj|=b6RS`E{@Nc-UVrr&3?Mm%Fx!@oEy^J$XiLL@{U64FPG6*LI?d3mPFtDF zF?Wc`BTVv4=9m+IbY)J&pjdMv|<&Dc41o3aP5SzbZx`Q@)I#aJ-E@k@!LZx zHE~YC_u_gnu=)u2kIvI=)Q3esGXuM55InNp2pg`zh8cD{V5mzY?2ZcT4u*XUFjTG) zc4q~4C&TXI0K#B*S73KD>=S^Y`iB2IDzFiTZJ~BR(37C|5;Z*l zvo>7UJ%a-mDH^#n_%@026m7mV_$LzMLjz0HA?~M*s`f8Rsx)&>7em#p~iT9 zg&4O7jR!)F9V+_9CXOnPJ7r*SkrLsBmh(qow>1V3W^x}QST z`Fu~mK^+fXp$+NICF1`z qLCNE>)0O@Z$P(Qe?8(~kG3|F%6Fu(Di6h=?w*|31fnU6Kzy2Rj$m(nW literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/MonitoringPointWarningVo.class new file mode 100644 index 0000000000000000000000000000000000000000..c3581f8da13ffe53bf028609bf218e22bbcb7cff GIT binary patch literal 4962 zcmcIm>vJ1d75`mnUy>!;RU_N$M@iB&wPicvRSN5*khVz^u+tD1CoKiKmKR%ztaW8M zY0IOKJ}EP_onZzBI=srn{Sc<@Ozn0;hsT#P!$&?b!zVsCDgQ%C`Q6=>v|6noFvE;} z_Go{m;~Qz@aMr*#}>lJSAU0t>YOT&kF2Xw%6y} zYPs&#%GKr5cCE^XKyLP|ecmos?CNrHzAm8|0rS*GwO(Fz7Ru}8#fo#dT6ODoz3f)k z1tw<8ZgKsBy}azyigpVr9$qWYxl2yvWX)Z3YW2tIM?G&>HXJUpbLHn(-}vFRpT2x` z>-+!s)zk0)=90ibTR=x1D>=@RA5xh8{`NChfAO3^zKwl&vFg@V?MlS;&bt?P-g$?v zFW7ab7Pni^^;_+M3`N)-p#=O!D1#AxG?;+i2u3?tX4dZ#NRCe|2q^b3NdkSd<*IXH zV|CG~Jzz7(vJ!5|t}NKKviu#qRO%~bCjHLYQngreO3qrbZdYoqy;MB!7FXO=XU$%A zimjcVbj#IxP}~KVC2+?(3;h3kBR8lyk8ao%2AvNtegEQFr&OPrct}9F?QIu8Y!|n_ z;?&rFa?|_T3f}D3VUN=V9O*O+6>~JkGz1TK8n-Gt5@Q=eJ<~{AG(!&7?FNs<8HeJ! z#a}vN9wLm!IcNnp7Hi+av-5SkbZ*XG^IDEmh!aD=DB0B`vXE3)?DZADYuUobS*Mey zj?W!oA*pLMXMLkmXSKW3WU&2xDDHuFq!rQNzQ|^qsWhWV$lXvB3preN>i5Ntzg^=K zonHexFlrE9CyKS!k!Gj6jGmEBEaY^!6K%O2T<;cs+b0%`Z}|)&Y4Y3GDe#M~ytHc7DCN^X7}wJFmQU z?aJ@vVE@79&hyV+{n<+y6!FmvK7!pD+$P2CQcOrODaAB)3*7NP&D9LPfKO*|8fP-N zQ)&-N?I9_?EXBi8d_{^`%n1xekJ!66%9SNK=?-+uz>u^Y5 zD1tSrK!|4X-xaZu4lL|+xC0Hj6%!daI3v*C+NM9!dFk+8@xn0g@K~#qpYV@5&0bq` zs!IaX;Ul8aza1ZBkggf*;pJxx0=GazLROag9$v6|_}t6?Ti3CV0IS^z>?gnu=mf?I zuq!%&0s(ePCon~T-O~vi;Dt-bwxj$QEJaobw2k?2ZhNkBnneoNEW8IpcG7Hi=It&3tGX{wxG9G*vmwLc~Gz) zDQ>$LS8bUaSz}r0ANzS} z=KDH61B-Yb*D%BCC)mG##X-JHvQmG+A!-Wl!xrwMreY4SRPYi$M@>f!FW@jW z125wo?xvQ)kN8F2LoJPM9L2rVdhjm!N2q1+H-0onsb%qZjL^Hq{y4_yW|7y8>*&>S z`~wW=_&om%@d1W>HT7SqjGIH!?+ETvc)g^`R*39)?SfFOeGK#&(e8?9H%P0g( z2O&PBv)1o~e36IRAT&5i`>TMag=j5i^ld=a+sQ3{3=o(Y9VRWScq}kX#TmA2yTUYQ zzIk~2UBz+Rn9^?{@kXRMbFmYe=Y5QEGHRTUHRe4b##o6O55*euei37=MvaGKjd?GL zG1j8SW3k4(&%_w(QRCgQ#$UzP0%MCEE{_$>JI-21mOl%!p0z&7+w@jJl35}gS;Ac3!YpXGA%wztBVc-t%g3$%Jk0ssI2 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewOnlineMonitorsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..14ecebd06d2b0b18c395d3abb4146414ae455bc6 GIT binary patch literal 5407 zcmb_e{c~Jp6@K1iKkj~Hv%C2y*9K@yiuq&(LG-3YQ*5Q0G_}DX_{D8WulF1wpV z@DmWE&^9ep(Sk+PF^+*I3w2Qz3<)KySq1%ahx`1 z&pqck=RNnFbI*Hz_wUQU1aLdPAI6uX5crBDUyb4>d`)tXN%FWPPe}50NuHGCDM`K| zaZgKfB*MpMBzabnqmmqx~3EzrJbG7N7l@wJsBYv(Rh0Bxr2qdrwp$JER0 z&)d0j!x2{>zjWmn#{?4eFyXv%6?OULwR5LbAQe>73B(6?p&lpW88_|R#C$nx@yHui zk6!x6lgHMMKeu-NmB0V=_0^?UR~`41tS^agUCtLvQ+ZZUipRQ&cUE22iPh^h zH;DUs&5CNg-m=%?^-4XN@QS^e@XFgJ%jWb$<7UCBEyoPMY5{H9%|1uIW> zoYhHPZ{CQjr+S4QCBL}qK4Uj*`Ic#-n**n?G4QI_O5h4p7ot4cCvb)I##lYoE7Zz) z6_`MDGCyCOw)WU^pj^M+Shz*r7y?`0=^~I9$?6Z6SI;jE*XIB6<<+O3T03(>;Ew-k zCdDxYBaY8wHjWQSZccKxB!?tS_kB^67}}y- zIF+U#Ba8(CLVHw@+HULbCRw>RJhz zg@Tov5g7JfNR>`*`X=2xjbJO6l$-e13k@wY@8sXj4JpRoKK}KWFhB)s(X1Gvg7s-u z+(HFw)~t9B6|7^k;x;N++h)b>RIuL7iuX~$9%xp)A6*o(=SW9@mZJoA0AkPJz>g3N zoE`i%#AyUu&knu`F+Mb~f)?kIOzXZO5+gADTg3FhTSzSPa z6M75jWwhx*J>&s}j4(kVL({_&q`9E5u6aOVBSKKvi0Tmuin^eP9`%4UBSw&B#Pyg2 z#a$3N4=7@^5fm{JdYc3#Tu_^y@PML5J3&z+skci|(gn5aNe?JyqzH-`X+0%DX&02z z(-lzQEPJCBJ4i#!FVKdaq;IMW<1T!VPs}wwgi-3d#I4vxSqpl_Hr!2FD+WXlK1?ov zkKh`1lM7-T|HK}0A&!JUQ$C6?iueQWA*bOaE@Cga2wuRe_$aw3R&W9zBNxLPcm`wS z;`j@v$~d_;{0$cNkxMYdJ(wWZE<%iHKe?pX&aVGBxs({hW*i`w#w5c&h|OW`Ur2;; z@7w4O;}iU^iMMf`Vk7?tmT%3us5+B9Dwr7{C|gn{wxubt-3m}iEK{|M;R^oauvBhZ zw-FPg^i?W3hKSx?6l%fxE~KND?$7bpCZ@7M)^HH&5X5j$X&u`$OVW#gU^x+68!`|M=pdi z@23aJg|WmIGRbN932tLc$hP|pHes4vRJMuu8Isp12(V3rU~52#YdoO#+#&^C2vz_U zOrT!m!a^Qc4cRDl!Qpyv4ez6HO|&MHnw7uKHH`Qf)@;{RyXMh#%xfP08^U!GTi;2| z&pUwViao)-LVYj1ndCD+yMfoxcD~`WOE~i^t^jUh3Ax5J8DBu+T!V3kuQ4|tALI5$ z<8EJLZcIML$wp({*O;4@k8!HexX0I+8=8-Cy3zPXUt?}|KE@r5#@l?2xe@vpcQzVt z_ci7w>0{j0Xx!&(oJYYmHaI-wYz_?!UPQvbOVn@Il(dM8&7(pe$?(KFz@fDW21i5swlAF@27L4e$-|uu;}ln zYomVDA}Zw4?)J}Vc8?q~g`cDQ{@1W6eccLlc{lSX{Vv7xiq+Gb70)|WPxmOEm#Ch; zUh%v&_4Eyj=QXLPZ&W<*MLoSm@iED7C0W6?#ygj6KN0^v;-twd5F2*IXE{05dy!Vh3cDd&2|j_o)FVSDa9bMJY4=R4$@5oaHEoH2#`9;$xsHXKc`4QKZe2E9y{rs!F z?f3V#KfM3ryZ67lwfos^hK@Bu*DS-FFRiVpCLydT?S1j-?&i(C_r9;_N$OiAB~Oui z!*y5}R<5cUD;as6K{!ug8IH_px@tSSq7Z7Hn~_oS%ZjP-cV|(savC|Cn9JyLM$M=N z*;4YRp{&a5hMY6j)Pj;#<%M!Jr?{W89BpTzY{^ag6%ub~x=vH+uXC zp@*Tr`3RpYY57&&g=3FQKHRcBC;eDLnm8UAYAF6BHBH2i35?U;enh+T8G0&9bT_0` zI&XRHx_t&ErBG1yRfc%|>8+OXK!-TUlQ>TIS{FS*xado{lH5xdV>``#^z;`oKpT|* z!HuKfw<2*y<6~s=Cn=-!C^43-*+ZoyS~CBZ#ELPJ7`|BCjI za1UK&_~RjA3qn;xOo*f+CZv$ab)kA4o~(dRW0=-lG+w|{wB|+>XYn*i0%mCE8InY#D5Ee*5+Y zV)XN}2NhT6abHX0Ge|hb38ISES&GIs z;cboEF0@oDwB(#FhGc6$ZU5DeeHiJ#wU*2hq2V-!x8Zy3F4}|sEp+g{p()sD%OaPL e(6EI-bH4RVhaJQ&Ojam8Te}Zlq!@G`yz~#LQVX8| literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/homepage/OverviewVideoMonitorsVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8343d86e7c199c810e7198ad004a2a638cefbcef GIT binary patch literal 3944 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 Twc#~ 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 X74&`mG@hin_~kESKfph}jP3g`aneTA literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmDoorMonitorAccountFiQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bfe5fae4131ff363a07f3af704385a0112b6a6a4 GIT binary patch literal 9564 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d6d14012414af9aaac4638ea94191f19484d36df GIT binary patch literal 12897 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmProblemFiRatioQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..c21f95b1164d22a85055754cf0a1ef01a8239a06 GIT binary patch literal 7383 zcmcgwdw3jG6+buG$L#KGHrYIyDW#;a#Z8m4@>C~nrBsT=q=XiVRIyBUx5>a}XS&t7)MbrMaGWqzmlLvO%+>-n%b6bwwdHdA2dh}b8TD$zHk3m=yzSN_yB-wOK5per%n9Qkw#+kVOPO!Ik-V%d?aIBSjiT*Tv9X&SW7{LC;zb5N!nxDJXbVb(%}x z=9s(chqk3q9iI7i94~2{Q^p!M%zVSj4=lsNh1Qy*d81q@Vy(XNf8Mua9BLrDsbb`i z)SXFJDqb*hMK)a?=v|K>D36(d1v1HMLp_;a;*x!o4u9#jH9el}bp@nzDyaZh)=rO(I?nX@!7Qv1S2p$( zLU-6XDPk8ffn?gPs;IjK{4c2?jr#BJCf!v$$7N9^U9tE&r${I znn+#pIrFH}+%tjI^h{W;p9wT|GeN&@Cg|7C1Pbq&0I1DGDO++#I3U+rm0~)((&STM zuIH(93ST7zEjZd80cCQbb28t2FV5%5r|zD*cHd(6VSRY-&cjr2x^omNi(ruW}Mj1>S%#2E(vo%fz*qUvu2^O%YcK3GfMx9*PP~-qp z>GQ0N$b{IyHzt+tuvIcEY?YwYF`nHjZK2DM*D8ION4%YGQ|Sxbe36@v(lsibMekB+ z2`yFWz1%G4W(7Cra&sOxtGM|9H$${k(45*WPj2Wr6*HIN;;ngZWzx*R^e^;RZvKX# z?eB5cYgGpB(48(9=!W`xc%^J82H6#xK%@OVwW1;WwX%VJ%d~G!A1J!|dpt@9fQbB# zLleC!eS_Eg^oA8i)WCzh>Nuyhye$nIqgnf^gPU({N#uzpXg(Z`Rmzr?lctrjnM+CV zVu+ZiSz2wCS66b7o3fh(8OimoQstbCjhbV)jx8T4m5T^X=k|wO3Gg*Ak7~BqT~Df| z!u7GborPf?-x-^`vexry0bUem;^h;jCXO(?bKZ?!1i$aWf4xKl01$PJz%l@c#75w3 z0Eo^;;2Z#m*hb)e01(BEz)Ap!>_*`I01)ks!1(}>0gb>Q0AxiYu$tylh%TUE5H7^r z|4u$gL|YG$xb#tK8thv%LCpuq7x%L;L4iwH6J(9TLRAxDO&FR`RTE*23QeS{iL#~z znrKxMV@)eGv8twxHF0R#Y|VohOEaxOdospJ*d+z~G#C5Sk3CvOIz~P~BiN)ergtMW zYr*Q0bD)dpV)PXH6s@C6F!>Lnr{Y&?E`_unnkM=XB$OVsScB#cXyy=!ZGDUGBfoD? z-!s&{ll;wl`ktotp?-|5!|p<8UfqvI_bq;&BAV|xYTHHXV$C-}omECq_k$AD1Dc;X zf#)c`i=vue3%E!jJqS`rSF|9L6o(Yl6c;I?hd_$xVJ*a@utN%IVHYW?M?i||sup3A z>X0D0NHIMMQcQ2rqD*RWNKviDMQYPyAhqeOT8v4p4k@O!x=3Am8%SMxTx(-e+#$7T zaTjTh-VV|ny+dnfQinro*E(FJZoLzvZoNzEWKx$y>eRZbB;OwFm5hY|c8aLO-s@N8 zUeQPFy~eK52D%)0r?`d;=$a@Ya)^-2VY^6dq%<+3n>(rb zISR>frM{)Bnzy6#9EZ`PIjs4d6%}p~&v?Yh3PCCSa;f((dX(lqG^5aT+V!8$a}b=Q z5d8RQFn)xN()$8uxe_iFnQ5HxG{)=C!+60=heVKN8`I$FcKk{KB=uU4x z$IsS}e8=FAx88o{&(@E8_6Yi_x1SSc>qowl1db@r_34?dANi;fbeFfE1+(=d-(Z5i z?(OHq+4_-BHbHlL`#EX0e&h>J&^_LM60`LqAB2McqTs~g!-!_Crg;4=#Ov?m_&X*j z$@j7e>g6{X%eW{d<9$-b^(Ps}wVn02)Fk7$v9XNzT{3=(l<~4l##2(pn=ToDr<8H8 uPsUG`@*I{=lX5r9r=yvmGiK(ayW($kGOCHbX_xkUr{C`PVGek^@A@yTP;XEG literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AmVideoDevFiQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bc4de8e7da00f773f1dff3ee38cf6ae0b80873d4 GIT binary patch literal 10817 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 UmVAKtd$Rt3FoQYc4+yhA16$+57XSbN literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/AppVersionAddressManagementQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ffbc0dcae2132717606aef1b7b9ec1a627ed79bf GIT binary patch literal 8161 zcmc&&d3aRS6+btb<;~2SEE6Wl6SRX2nvDcRY<&S+WHXu|vZ`J1B{NM1Co^FdC|$MM z3evi?5d>UN5v)Z)3t<(ttxIidZEH8}qAf|Fn{EH=SFQcsci)?NGxLO0zOVhh`R+UK z{C?-WyPR|Gz4Ow)4<93<3+W$jI^-orhrKkOj(F)PJtfgBt~tgvPfIk1KcA6k9)CV7 z(E|SbwnQEL`5lR_;Lq<$)Wx6ANwkPRpOrS}oB%`uegi)Y#m9|D}i))GAwk4TVEYaJ} zNLidsWMci%<*{_EJ06{#NF*~_CYDU388vpsl5Od=T5oSO)u!c5n}{d1$g)(Nk$n8%#uHCHHGI$B;d^gjgIJ)iN@Sa1XTW=oObj$H0Lnhz1CYnm4 z%L}!B^uRN^Vg1NGyN7Q-z{r~&h-jJUWwAttQRT?CeIuLpj@*97=#IlD_B_U@B9@+? zO!Y(~%XAu}8p{-QBr;J99Ai6s>EUE}w0<08aLhp*VQD&JiRi*?e|I#sR6`i@U`_UD@#R`7#@`L4Q|}d{nP<{v z%<5Wm@Uzaa`?ZC=TsL6$G;=17ZH5;~_G_`ksn(p zE4n(X#gQGs21_bl*}W>-lWA|f76Fs#ivecI!g^*fP=}J4J|5OJoEI+6?{PX>qLvM^ zk;Q(KWxV@z*vwm5pysPv*rL8lh8e^vU1^pvy?9j%v_My()2y{nkSvXp@pQ2Cc+w4Up`v;jSvu|c}& zkC?R{EisQTI>bIL-6sk{c|&6d7IV?!j;?uFZOAT^pKP3$@sj0}pfQ%p9X8jcJk0kz zIb1N|-mqnAYjar9#L3};3G#)lGa-d@qc#CCJlD)vB9^&?5&FIyeeaECI?#i04ULva z&h5JufaezMkWh5ycg1=OUerBqYE)&h6 zNc#4~0Tg{Pwt#7E-GB0*6(na`jJP0mjREr+sQ_L$WGJjdw&2A>22?m?C<=y*_u?Vf zT1$vIV%`z2PBzDkm)w{k=f+%PnCFMgZT+B#4~s!dnWPvZ+%8FGahRANrkBh=;-Wu^lO8{o8OI56 z$XkRHoqjCCzLlRZv7<6N2afu(nPf69O!agS;4&OW(YIK7VKTEY8;4vLUCl^qxYknf zjGehu^IsetXLqMFDXk}C99oeQE~G>>f$}=Vn&f7&v3yLZjAe&m0pI9bX@NHRG!eJ2 znYcUpsEo%TZi*k)-xz%a^6WHS3IK6g3d{w7SS(i0+#_mOqT+e13;XY0-XR5 z`=!8@0FV!*z*PW{Bc;F+0LYtCU^xKfQYmmXO&||lL)U`vQ6e^<9FT}!IYR83160=8 z+%!bx2gwm|a$$&EE4aqZH4+z0jfZQz(0ELZk85OTe5S_FH5JhKO-&`&R6$c|YO1*= z08O>2so|P&(A1ckAlKAF6Ern-TvHECovBf{<}7FwU9%TsDyNU3y@>p17ZCmqptI<5 zYSCAv6EodK-I&x2U5RS72=((SdKA-ql$OxTn7WU{s#eSmeS%ivO`;d+I?^zy-FTDn z6q+7L5opRN3JK*8E#|iTYG@S9@&4wfo#b@vZhn@=ZzX5>?&fD`d{+zlIzfMhP`$7P zjp~^40{Ilj^HjZy86eLvqjpmY@VACv~wtNXZ_=x@7E%SexSu`+sgk*9 z53Pe##U|4o^l3=dteI}5&p-;W%hAuzLaJel5U!ttG>#={K7AfikY!OJzW}M04Wf$P z0I7~`MK!$D{ud&q6o(CwWppu~yn;D- zdht~&)6?F%Y9fuD=Bi;GuE%(=@A6}caO2nny9y-hl&bcbj#+w2PN-_{LqbYb&AZ4w zWr)tXj_Yew2L}{~fk-?}1r$`BI)n_>jU>fsLglJUhg>-bc`K~ks#}MUvW69ktbjbK zq(f2;LLv*ur+RbjcTwlO}h*m$a~F)rjb#^)CsPq#J3Mc&4^q1gB$TVwnIU}M}^ zY<#h;G5$EPF>We0o@r~mlXe-#D&moEkfZn2NMa{IW;xZN>&#NN-uvHB60 zK}O%O_jB%8{fN6G!zN`ru1RC{Bd(f^zG?3#JXSyAX3A){y`RZr^&>8_j2@%M?bhqO zvHB7BUWOB@t)KJ9>PK9Y8SS(4ot^Q2 zgN*(hLssyTK6r$haY1hh;2_$HV<@iXt${Wn1Xj`1@j>*bqH|)*=skOyg zkE*R_OQlw-7HKU7MGPotwTHI$wzk%zhb;-v%bvDcmHxjuc4v1-NTt7D1Nr97yXL+3 zz3;vE<>|K`c?`fQc*~Ek1R-Hd5RLe15L>ZL#{B~GfWT}I;z8_?@sM~KlCe`fcgc8I za6BSjcFWi!o{!2{EaNd5UlXLq1?mZ*?&|{jh9BPy;9Gby$mJxu{;m3V&B5qg`iP0K8qb5>%HnJ$K&!zn<`AL62-BNq`(TV%F?Hsw` zn&GV*MmBERzwK^QoBj2pi(OnYI8f}SVuwgjBq%gw_`19HJ+OQD&g&)A+SGZPt|pQU zi()!AeDzhsTOa1D&9H=F%*QyVCz6qQs;<#cOJHRErja`~O7LYF;T#qD_FXqLvhE6g zBde*ISl?W&H<2>6Odh#s-M$@n5ARtwy!rZ(^+N~N?`Rt2PkUEadpzDOq1qIgpNba= zj9h!){%am|6POUoXf&r&?eB@J=jF7_;IfQ5!0nT8SyN{$6^UsvZ6Knn$xK>}M^>jJ zs{~VI?);RlWd<^dthO*S*Gi^2Np5@A(9+S|8B6y^den4(BA(7g`UiWsYuSNhF3XL} zXkz!`2_vH{jn0oVI-awbN{m4#({xd;zemd~QJIM%Q_?Xtxm3+0#Jh#`8dgb|c_bz? zch=a>&pJZ$8;Y%D3R#xwN21upy?DBxN8nKV(J`ChtnSv;*vc+-z%YX)hQ*JS$&Y<3 z2J_c)kBz8| z`_ycod8R9ynin$0i_c%!HJ_V6*q70=xuh*^CUA=b@}&vI2`QrNmOBni!5s(E>_+xi3*HEI0rKVj5pbD5d1T%nSx=h=v3hl5?Ff5s2=giV>wtut7OXxU)=BD6NxKY7PxY>^b3Vw%`%zL}WtVqNa{2qT$ za0_nrdh3U|YxgUR3@Hd>L;P3c{gz=^Hxw%9#u4NRw zihpu@r_4Axdg>Ycui##x`CmfvHN39i-*`hp^qmhG3f5sITbP1Ng|%1UV+v+smV&wB z6AQ)iUa@pxk%GknI$tbHaF&F&!(~d79m|DrYJ3%M@_e*S$rq$qJO^!4Y#wn8hzS)i z)-fnyW8jGiv`sM!lPOYCnux3;gR_znC2_htxhzyn!~QgfG%- z*dMdONtj@ubZxC3S*&KVT7CeKFqz-z%jxNK($s34Ra5Q)4zDymk>#|#D3>H$p{n4a$3PB<&4E@ z68_q^2%nhNQ@kOyyQpw>EK`MbHfj2pf-Nh~IY$`P-OUNON7L76T1rB8bld7M(hA)X zZFE&S!_qN#aGsWpNjSmjQ(nExJ`_3c!dUD)j^#zUgMS2&Q6UNjZ{4%`R>kML`Fmy- zb4Xwj;VKAY`Lqc0FrOR?vN#*(kWvk43<{_UQFO|+y@&EFMCF7|5?Gwd3Fnf)f>lm9 zj|3L6azZx=ENtb33($Z7mSPzy@jgI$g>Mx!{f*s_mhVJGXKTw4DtEyX@(N%GzGVXA z-vv1o5P*#d3QQF-K^vn8Of@me5NZsmTA`8`owpUAk2QrmFZA%12Ift zX+dktz3_Urv_65x4e(ZOX?+}xU2P2P@y08G%0+ElqMr7rP!;w(iTce@+QXh9oM3bK zqh7N3qrR|L@c5oYXfvwA-muTX6pZ@G6pYGYzhIIrCVyCVFe%XhnUrWS91u)FizyHe zI+$vsRb;A-D&Z=@q*zRZ98C4mYBJSFYr@rnsm5Ze4%axC8ltsiYKYc_YXwuC#Z((+ zzT~}|5UnTEglH&SFPK6WQ++sOGkLZ!!j(p1`50dyY$VL%W`vP65{9uxKT@QRlTJdK zxC%5%Q!zkXC0e9OSVhQ#vvCj^LSB}L*N`RTqlOolk}3E}c@{ZBGH%90SWPH^_1K0r zgn}62c)6BP753md3=&fCBKQ15gsSl}v*I#BH8gPnK1`@q@-f*jCsZdL&+_;YLiJKB zCNh0f2pNgogNc6m4b(7^-$Vm5i~nWmO-wMs!2bZG*PQ6g%)}XdibCZTDJcS5Q5IP9 zBzo<@GE`}r%V9~(f~K0vsgx6E{H3~%nVwlj8c(Y0=wlMgb*-!??L#>6VuANZJ%SMS zSQJ^Lwn+*`y#|R{Z3xL>uT4^-K7-`TlbGwKRBhC6keKF{6ln0{N)sl@ZR5+7$&ym$^*5vpLKJcFwlu}U0= zhj9%d4{P6@xR#KY(Y_L&Amn4p^)Zb^+TF-xyq=JZ`!EAH5E6gA9*<8F3W_w5wxjMK z5iD6f66=@-iRG=*@m?ViD%|8M%&WJH@U&9l7FS_j&s~HgrNZs5!o1PD2v08+p6)9AIox3hN4c@0 zHv3vyA40QxmYBs^^eizZk=GivC48PG#+W`hcsca6j8>1B%texJbl1~5T0Q2lF5wIA zdfG;-$DHjY+=aW{{AwSq9`h<7;U0H;rj1sQd2^8PMRz@s(dscT8WJ|S>zO`UJ?6bc z5`X@&;JKcCQ%5PG{h| z=lh+bY^L3uQA=7vHdr+oB{5>pFKYs^gI>O&KWqQj_N0~h4q(M5)!;lldy4L~h1P>>9 z80O(^9!~Lanum9Ic$bIw?DRb+T}FFl`aXYuAk+IYeIV0^GW}4dAIbEQOh1jkip~cZiw-$}BfgS5=HI&dKlFtkcpY1u!zvt4l z*bN~y77O0LMv@*$y|gL0X=C#7jUz{f1F3i@F#(d7QV z)Id)jqX7&7C7*vIxo_ai(ALzJ{^aJ@pw!4pdwP@m_U9?hVaD#0XHM-%p6nfY;&mt` zx9m(FI*{C97)u>_In}!(wY4w#_#iA@0fp2{L!+m+CkNI;dZg#r$i7F#G|%>x>`+f{ zD(zNg30E;gUsdwdk>rl2M*G*F89olg(%RL-+9Pt~XO}4yQJ+P3`GV^}I83XeZblETNa$w>EX`$<)phskfdrBD`($$nK{B zj`pn|-LekSh~Q%q*^!Q=Yq~W_y4Dapw4GCd(AU*x@-ce!wX>VH2?6{FGaJB6N9&nX z&*?GD#*y7a$qjD_>~C-HhIn0lZXOE^HqgQt?}~tv z+n*Zg8$kJUkc071mIMCTS9VF{1m{LAt_DNcS!u0}8=H?{Lr>bb$Q&mEO$QhQWW<64W_)z+cjme8VW z?u@G4*t-&SSGBZ<{q0)2*6ok0p=deSFw=)`sQ$4i*`qYF>PVAS&QkaO}>`) zNSD7&jdTS&A_;%jnl^NdSa&E9^S4K$8isI3Q12mzncQDQudv*J=7CkT1jE{*L|2;@ zU8(|iQZu_V|TR^y2%VzuZ0oVW9I)uydVs9fq3t8$K=TiYJc+T%^WyHN!36+y72 z$k>C)kidZwiLc=Lw6oj{K2KyF(Mh)sVoPMs7b+LrF_@AT)B7HkWJJU~!xsB4%Qog2 zZLy(Cv+4pUOABQ7wL2q{h0;RV4W4y1i)CzOHhI=o2Ff_RRNv}ZhmHA?xZ1w5RqfVG z6PFD;eT=ZRtKnu&2FMj^Y=zi-#Z|tA2=e0F7q&Jd3!rULEtUwyB`VfKtjrh_N|~o3 zY&t1I}1KI)pKO4Ys+#a4 zDcH@qS$7IRIA%L?#>KQ@-AQXqcr~V$4X4=aQt-#RB>=-M zF)`dSIEGtdmUT zfrn-uZsuVjT`AE8`FHf|6TwgiH$tyzR;z*?^A!3m{SH+)`x2}$-4W-ZD0F~}Ff-vI z#Ka{y952jD^qEnFmYw`}9^d`lDQ>3kuNUgd% zr>_`?O(Aj~H=G4+v3OK%j~f>%zTSj_D>d{}zF>vX%W85@z_dd-zbPOi&rLK9ue>>U zjykA_O9$`Et1xrndo})F6QckaD5pZkTrf~#g^c-NpzI16*MWgjEM!~{2FkOLaU&Qg z*+RxmV4#c(8D9YdrCrFl1q*f1SE&U8twhpfvVbBwI84%A$Em2Lde$Hn50S-VWnz$Q zcQRsUL}nt5I2dsPaikF!BMK1LAeHD^rHqsTDNW0`87T+iP9q*hCIIoIkqSm80;xzN zm5f{fq*6x);BPT4!dQzG5jB#GRAWKYB^Z_9!+|I zti=bb-=#^dv*DvxpMoe}G#f*}Qu86Xyp|8BypNO`uVs)XrzPwGD@5!8o7c)RwhzeD zMpNKTj-Fh045c)dZ z1O7y58Qlx4h-OGP(>H(>(=2HLEeBfP%Wup*%hGMyg>=dPcQ9CG^ zo~A!g2Pg+Uhm%qR#eX?EM)!kq(c9EdouCx@BW!0ih!!1Zmh41rrPCyQ>mR+eM*(^3jbv3 zQ<@}5$N!c@P;h#R>c);i%Z3Y9E^Cf^k-p7x<1V(3H63?E@?Ln36N%4VVWxN&^b~0S z)7>=JGEd(MQ`}7}un}Z;bsyPl2I<247`F#3%nm1M6q&2j~7 zI?I+}VZR8i(turOVXGKgXjp>f4#+x7&akk71j`d}=q&6VLkmq!uqpyho#o81u%iU4 zGT_o#*i42N8Xs6w%nSA*5fUSC#qNYk)yrzFen=Wy^g*O%1+x*e2;*V(cN0};j8}F8(@mA}fHF~@p07O9R2dH~6XhBC%9ooe z<3(noJTqU}XR5pvZArf@>6d0cPHeNPkI_ZuB__@jTjo5m8TW4qC#$KQspGXHuIm!c za#K4OkJpa4-AnY0xt&YKYezf=B-&waXWDq}h_{18J?3^U9j_hn)R5>|b34<=Ye&3H zB-&|iXU2H#h=+`X8<%OmW{%g6c=t&BJ~ry`0J;-5vWJK1GCXoF_f!p%kFO>8c<^N! z_XMA(TF^NCeI8s(8ONFK^Weh5G_JrtPpzPF)Af1$g2si`=cyAk?yWvgy`b@2@p&3B g3{qqM-pOsS4;$5AM9=G;^o7jpb2t3P>vPY40k;Hy4*&oF literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrEesTypeQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..84c1a1005781fe0f7c6276d5b3c7726c8956db71 GIT binary patch literal 4809 zcmc&$YjYFV8GhE5v@2;1M!^OJL!gk>#u#Ce^dbYrP^Y1l9S0L==mpl&#$F<6ZD|E{ zuaKn1AqkM+q-pyB(jjp>B?(NaVQfz(?T2)xf1p30$c9h(15MNC>{(f|txPC<=!|{z zp7(a%`@8@6&(wzi9>s4|427UzIE3ZMg^-7%VUxfV1m?Jg6XN&B8b-wLPc-~g{QgYC z&sF?FfWHjkBu}*~^ zOTw~a`4h&#fSHRKWlF4b$m+IJX1X_L51BbA9IV=PsSM>zX0MJ*RQtB=pUnKO_}=-l_|2)gvB~*s@yw;-)Vboh89=mbfBDwUsci~YCv&FZm? zRNyoxlG#|&OqxS6$4KXFBNaPt$A$${Y)@C#F>^yXD{t=0bxCtw@s5^6($2*C4Lf6{ z>_RLv($75Rhth?7ENSOV9@&)TX4X?x`6@H$+sl+HSe~%5W=|p0Z{`jdtO!vzcG5^6 zG;)@>dq}@)j)KST$yP@6M9JNq_i1Yvo^_q)u!Fm_DU<#~|)CD-b#3oy>Zl1+!#S&RIV43XQOJuJNmzBk3U)J?GM)J9C zW5_KFj#w41)6Ari?Gnxt95nKSviNJ8TlUeZ-u?T!yXZCHK+en;(vE^!*Cl<^0@F2d zm1er2G%4s}_#>RpgWPpx=&8R-iZON6IbUOdGfMJm=DTdGkI>az>Er1`idhQhkf9YkBjmQk?b ziE-9Y4g6bR5A^6&G}j zW4Des@TLv}M>*x0y(39)Md|1lI5E+WIGiFnlJoa0XTOe=xCdRj49+9>FsF6w$8MIO zj&BNM`fxzUCOoWTvpBYhW2-o};b8@<7H{l51uLBr4Y&4lL5pUuw#rzLzud_ez`?0NZ{+0Ts;xUQxqThiH{QBC+uRT9%MDn2E%e;m8`xX8-=g~p}6S|bp zN&=I-l+Z>36Tg%YBZ0-Rl+ccP1hE~Dkl|52|2Oyu0jX&y&)h&wqIL5mYHz|9@e5!Q zfkOhL3XCRz5+*1xA!33hOjuxaV!|a%oxm(3rq0D&Ej^5NS!&;Pxw%Wj;(6NCatvy=A`Qjvp+?-0`P8u`CVD9Aan8wo-oOtPxG3579( zHRvIv<4M}niHNHG8_QJmeu_pFPw`JvKE-MY2EQ1jVVrp~o6J1>n`-?cjl%aDw~Q)% zm*wK0_uWsAh3|@(mQsy!i*g#JU#{=i;oIq^zNx-rkcrpoTPL8lO(Jqs;MKTK5TZVh zqKR^lq+s0dl2{3@kQViqNa1+EB?ab5tPd$w7gt>pOT&|5BazfpJ(2sRnVvJX7{k*z zNGJRl#UVm94E-s5j}F#yqzvL2LOymtHx3i>^S&M5Clr8#RqPy*NRgI*A@ms$KBh%c zmV(l*xzK)e*cvV(iw5l+_5UL0_EEZlR)JMr&#JrCBNwxRW7YMnzFR$Vk1OKa%8T=H zMp+bXVj58{?FS=kCeb9u8Gj;cCCvHK6j>)>uIQ%7LlWk4Zi=jzFxPTZWCM>$d}(p6 ZE1M(XWvhmJL3BZ8{>vpxJNV^d{}<>|e^~$k literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrLegalQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bd7dcb6de9fc7c9ba3584798e8f1f546c0d79f9f GIT binary patch literal 6468 zcmcgv`*&2;75;8Ak2{l_WHN-u2tIgd5&}#SYwHAPL7}A$h=L&Wfj5(Da%D0z%-q4I zt$nFzt5&U8)V7MYn$}XlS3t2;`_R@te(362U48u0wT#N2(6wsqx9_<#bD6nls9jx| zoV(ArzrF7{`|NYhzOViJg_8g-!5^ZyFAfd+lrKl|a}6!_ zu!iK|4dz}moip`8ZL~Pc0M5b1FIRl*cN*vZ#tC{<8|==zItap z+=#WOV#+p{+3VZtR}S4^Wu1Y(olFL2)TUZ1oPHR13~u6rGb))H72YD*!@7&OVuuT= z9qI1rPNnl9K8o6Eeu{_qyr_Mh@Vik^SDjSf+CEwxtP|_|dxno$M}0nP`#agdbT_?k z5?kFJ?w^E0+P64ncK1fJ=w>BP^C*77SY^%pI#~gVqh@(j?Y!3Bz734*=BqbsT*uH; zj+Cr&CFf{pb>kXe4P4*u-acQd)NTcXYWEOQr+2NZ#?@Zas*!b8`?awpsz`lwHBxPSHLohD;j$Xi zY02x2NQP`s?;lgO>y4?}-Rh00+OLnPiulIlhup=lzr>B2?iADrco%IcR7zP(j5W+V z!*RV#ZdeWT-|OP!*)r?RM;?Fc$iAr;?px}=Wi$-Dj|1Pp=kWytU&KvO{L;X$@QQ&~ z@oNKL!cEodbeF^3Yv9X1B+o0@z;A^36@lB_jNIi&C=Gm7Aa#lE8df*0fv*YJsd(2j zCcBi6n+5Lh!MraG+#;yD%;{9#^%{PwVfk5KhX!)k%FSkA3$_{{ktf9Qh@EVc1W_Ec~!C5y}bjBNQmFmXitE;TIXs;T)H6Nmk=hZ01@FaV;ENhJ6hE0~o*~ zjPxhSo~0&q7HZeL^vS;wAkj<2?BGQ7ZDe;hD%OJJfNn{3twZ4Dx69|V6 z^}meS4Xv~F6$CKFovD%w(^SI{*9V`(ZhiBy#l&4fvbW+JJu za3ZfDIf3?6I2G}cVwosOv5cOI3Q6}!(Uk5Z8JQSKMkbz$2`TQ8VyU=~)RAc;sUu^g z+Jt0yBuYL~BGXP%BGZv-7gC2uYENdqun zT|!EFq^=Z~SCK-87-6-N5ylsctgO&WD#EzNT_MIA+pwMbnc8w(ORNQpv<28ftQCv3 zdDuxQ#58^fpQ04zdj1oirWD~N@mG9?QWPcp37@5;<6b<6U6f)tfFrn$QXG@G2PUO9 zyohfwbG9=R{)XMiQfkLPU}2b22Zy+x@^*A;5$?k4DJ8TEc`%Gn>eBi#7o(JtusMq% z%#G^*LPr!gyp35=?B-9`-o_jy#{LH)XU%I+WhOJ7Cota|mXwshwzylwA6S+8;c8$R zs%tr1UNCZjDmSeQXeXQM?}>qxp;c}g&r1x9GKuv>{{*5-Cvnbof=4qUQKUkiMwir9 zs#qrMs+iTTk)8@yRYoS_svdwSnRlKI+ZlG#jaM~5syuIkO;x8zm$f$(zXY8TW!bJHa6G_r;A)ZH>Qi#XR z!#rjr?RMa1R47H*AH`luQQXaBypfWQCwWADj#7-p*ldhbic6YkPb2XTfe_O~)0i62 zw0HP|dcQ@0nFv=2RZi%1$fHGkv^uj9^~llF$#s5!!ZXpEOzKv_I?pf`WLUR7quMi% zpTWHD;oTUXleRNEsrz{k5?wJTSY50Af;69UbcGim!`!DDwq3V-p2@93f|ppDROL;^ z&tjfjYyLf(3N&T`A7FfLqw(B8W7hfs#^*H}pBre*FMabtLxAxGjmGl> zjrolcU_8IkcwwM1zeECz7c?4Q7--B7mH^|0jmABJ#<#NeaH|GZAT9g@B8&T0Nd*lo$p1>lO<`*U} znnaJ>&3q(#mCVbsC)uZDUV%MH>V?DNt|!^AWY%y!Nfu>-vsCLz@-`Ql6vBJolexMK4oZc*)7Zbx-Yc=w6PMpF`jJ50>t^X#fBK literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrNotifierproNoticeQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a58766306e816e9880262657b68992bb3eb05e86 GIT binary patch literal 8440 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BEnterpriseIrSdoeptQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..61b10b430e772da122d6647b9978d3bdbea762ee GIT binary patch literal 6595 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 B3BCXT literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainActionReportsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainActionReportsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..4f0ae857103c43df711f27ab6b6d7d8fd4569b5e GIT binary patch literal 4681 zcmcgv`*Ryt75=XE*p;+?M2(%OaodEt;Acdd@{;2aCnOM%Q`b%t8Xn0?+Sr>&T4l9z zFz-MqZBn3t^6D@=et`TE7&?HPAswdhLz&?p;13`z@IO$>clWNW)uS{aGt5|b&;8Ch z_nvdl<6i&e-@pF@fJg8{4NejQwIl{{Aqf|C9b*#lB+}5aCchVTd`5oPb$nKSKd0mK z8onUOFDCINd|3{cl6Vlc1hKEk;j40ZQVw5}!&4f*oeGdeEoxT51(9pBLL zO^JO=!*c?Cc1a+eKWDC)*|J$($u4`YU0s8s&}GFaP|ttC#=&;?387d?m!BNnAlOU;oihTAU+x z*;jk!+CP5wtl|r7FS?fLS$VTkD4CBnEO-5+Yu0F+fIFTqRlwEVO z7o<@3;DTva=Zn(cC1sVbJUfvuI+bj}bSieqX=E$w1)fR0R&La@MaQ)`R7jqFFv+y0)ALV9Ym0VDJB6sepE|>FV5FT0PQk z9ODxhc>Zn{-q-C_$*J(%dz}94ejZ+8*i{q+AHy*oBHZe3`YWtPkEc&NZ0 zEu6E8-t5FFCWE(XlP#R~5)33*I*zw0GgXsvW3ohaAMwcn9}HE}pyGv)Az!4esNJwES_I5YkrEbacQ_p!;5D1usjZut7d&wl|f{D;war* zTspdNnCCz`?ppOm*%OHPPA11f?igcjX1Aukd7D#ZMtq-LwY~jZXnf)X_gJw!*>1Lu zPlRHz+3XCmkF=W70H;COt7a4i{M|x;+AmgD8??nbSYH}okRRTG)Ak)gfZCx2s2z0A zQR@jLmz{=Nv=l!27QJe>Z0Z8L-mX`(ux9U~sTuebK5gJM&S?0yf$!jX1K-8>4461W zON02Gwo3*I5;1}xp7z*A3>4cjx^AG~cvK-;TF9-f_D$XW;wz0bQEjxtXSO0t3@KLy6iB(7!f7 zhLC`mFmPUay|>FvhNj~1o|3mq&>qzlwP>zb{_P?#)UsYR4}snPb)kl5m+Qe@|G1>2*Uy7|ZN<*>zE*e3DC`$B7;fM&6pvBiPFu; zlELKZX6(Tb5_lMUDewrl{}ZC5fYMEfCtgBderj?9ksFAnW0KfF{G>!QiRhAOA_<8k zi6ojxN+Jf4R1@i!$N-UkANe)+iQqjP?}x^53Oe1o7c(4pV?VN3q|pWJ!F$OaQFh^d zct2-4K8X(?M~7xPGx$}=K2mc;`lv5tHF2b0;uRwO#Q!=q`3uCN*Qfr7!50vVT%URc zgA3ENX~>_Fh#Z^dkc-az8L3S4RcyHiVbz?PDHDGc>1*iE#4_=a zP$H*MD3Q}MniSFlAuXeagi^T#g;Kd>CLx8Aflwlo3<>q;QWWaX8JUz6G6Eq|O`+&@ zx~7gYPKSYe{3Cl(xr}-L$ml!{;t=`64D*MG$-Mgw4ik$o(SC^|q@wsRp5yNj^Kt=~ z@exvSlv(meNoo8~z`{pK>9|VykC95Svm8L4R1zD^>IG6Myo?<5e<*=PZw`syCM^BPtq{*<_eQ4?$w3!X0&q!R$MI|E>4LG_?2gOR{Vm^zR;4A5w zSd*2?#eG(Mlg0c{TKzfAXE8MbEfx}4qrC&Uq|6MQiQs8GjuUhuhNp0nR3DH25%ioZElR%VV5rUzB5N~pc*1S&w!-zEn znljOLC=iQ>#9ES_XdtY$3%BHZFaj05OQogNn@2?+6K{PLakdmWXW~r0gnM4>NSv*H z(a2sRo3bhzAzuq!%D=@{*}TG8m+7g@heZ$N;ZEfpJ(UYRl}9?2@9U||$4ZZ#w{-;oDtDU7dpE z(9@og+g(T9v;ubTb++B^I_hE;IM;if?YFy*y2pilgazlk##5F_o4<(+FYSBNJ2o&X z+ZjLU`xMRoGMc_$(Y&HZ(+?<`m-A?Pr=oc+kEVBV*uXnFV;wGzd=RZZ-V3q{Dw{8t LD(&FQWzT;AGwu?| literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionAirQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..eb44e829e0c5bc9e6410843751ecbee925e1ba31 GIT binary patch literal 13682 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 WRm3L@-t&r}zM{s5Bfg>*#lHk7>UTl_ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainAllowablePollutionWaterQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..cd0486c4dbed5639fb5271cd7569ea5de3c38608 GIT binary patch literal 7887 zcmc&&dw3jG6+buG$L#KG9-9|SOG#)-^XRh5n@L+u3&mnm0x7L6YMAV9l7Y=mx{sC! zN{c8hBCSy6r6NA4l-g2g)ARv?4-kAHiZAd1+N7=j__v=T{_fnF-O28xiT3mJ`;t57 zp7T3r=HBzT=kBZjI`TXbT}*%V(vyB-wA)W}=qW$#q3=kfaL!)N*(cG{{JCGEXZZ73 zi4O4RL5arr^N>X2{CQZSBm8+(qGSB|oJ7y_=XWJ~!Amc4d*AcY_c`kae)=K3#D|yt zbOr79f%hXmyuyc9`S4>t{Dcob<-^bT@ERX}&WG2%^b0?=(Qb);$)9gX^ec&eEzxfz z`mIF2lju!}-je9|68%A_m)L^tXo7Pf;9gM=)=Tcd1 zII%{{X#L4VXDX#<)vTtcGK^ZgG(DQxqz(=y(owY_iFS@?-FiHc>`Ch*iF9@pcHA4) zWG=x-IzE2%)Xu&9eZB!TmetdvD?v-gk8L?V{)oXI(UZw5wG3wmPVOC_*uL-NzAao* z%_TYh^5tqaF$h&gm6Q7)pM30r6Wg9VvH$4A)~6Wx)sd0p=!&$K$uc_c#Lj0=?mIMb z_`u|S_fPJ8{?y&uPd&V2V)L=ci9LIck8g$mZ!t7_6EQu7x13(($i0S&c**J^Ej^>g z_%_>1R_M8Oc4&r|Og#Fi?IkO;ff+T9AK7VW%rRDi&5I4G>A^&oHmqgg$2DT_o5W_E z*mihw?>&N>lt$1DAe{&+1?Py((pvewt5Ho#hc{33xOL}&Q$F`T_nt73t z430ro7))E0suVICM?h>9%Y@iC^@bIP($yfWIY=rE6?+}464)uM0>~;|)i#vHv)NiL z%9Y)g#VXjcDwN%p#k1KmtCHQ8$!aXvnzj(xzH>TEus5s5Zs}G>jD*Gs>7{qzotT=s ziu)YokeV41HKDwvbtQb+bN$NhtKe+Vo^&FUOX2`1H$3TYw)xE8Z1YaYm=qlw?xlkEv03b;v-vH*WmjH6Ip)f)wZ&P>NZ{}I^>DD1-b@A0`DSB~i#}X?ve%zct z<5713@1qzs&D0*D1}~c2d{p!}=u9Gw6GtAKeA;YP?2?mDY?<7DC!>xtID%xlmp(7k zeYD+6f0pSlbdyZSX+owQv>i({6Qoaz%k%}#3GgiGi)$H!bw6i?ILq)%U(D>lWO~2= z8wt}lz`HJ)c5;?1SQ(?OlIe>!7%D^>ulbSW)l(e78PHpOQ(T4w*j4hh==Yk`F8R@F6~2 z!-p*ONjO5txh$;SC_s$!M8XdUjPV3A!w? zfsxv>-c~}*)4r7RAGD;M{h4eU)z|EX;a0z%h7*^Kc4lIX7Pj2zWWM0}e8=H|KN9?& z5wW){R(-S?5iB!SI;aWvyDM-p^-~#-L0lUbV-~=33I3O6=mQWSE=vWS5Fl1d1hlXtYYJwa~Q zp7s}M&LiY5-_!mA&FNl*&!1~dL6omrgh6pdUZz0U^%7O@A~_OvjnO$4!mGFe@hYCM zn`1mLQD_$h!|t%h2J$IhfP9J+_HvM9g1lkL1_~%XfC7p??BgK63G#*gHc(Ir02EZ@ zaDank69mczs#JmiRVo$XAO}^LpkTPd2C7yn0jgH2!j&9UWr8ZhRW?wKQVmdz5(-yy zP{;&TheI|{ol*l(ol+aF;hbXff|%LfEtwga2*HLo1nUIy#;dZfv-etc;G3b z8pGEog|A38d=0N5I%1I5vD+vPUKusBBqhKrr#3b~1E5@VHCsu8pxo5WmeUX@4<%VM zX`sB6X7lJ~P!igK_vjW-KAg^frz9vpjnSJl3@U(_dxKJ-WO|DZk`5|J@6bLP0abxd z+(8>aRWc9VLupV|YyqrgKvlDLd{Y)wh+Tt%lLJ-5dJw}KLDe!HMQ;gRAxVRwf zG9?mEF(L9PZbO9ZGL)pS+Y$v7k0J8pMaVg!6;!;22T<1`~OYD}pr{%1Y z?x4-sOE(MB7Eop6XA<3seJ-c@^f&r6C>P4(8*~>aH;Uk4`V1%!0`IFRo;=jI19dkj z2}N{>wu18EN7!!K2Fg!w(}f6K9_s%V!T2SwMEL+U^2WkmrNWNNxDPrgHx(<-aa6|D(LwpVV&!ujm2t^*P@Z3`e6FK1 z?x7CK&Be-1j>@>PIw&tFR-W&ujH|7K^7+Ne3mlbk33gCkSggFzQ5m;o2j!Mx! z+^ZdwTZ@(39hD!ZM@(e}A;r%@Ph0yzYIKfIaS(d)2cgHj!Z3Q&*-q1J?T8x>qc1z# zId8Uh#081bSDfw4pRFBnpJF QUVrwsyqzi_v4wb{5Rmj<~Hc`kJ$y^Ji;ET<#b> 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 RvjqGgg)c%s;{Uwq{$KWPc=P}O literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionOnlineMonWaterQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8295b7d681f5dd22179a2267f0dab947db724ffa GIT binary patch literal 15654 zcmds837AyXl|H9>sn^xjTlK~R8mgh2-YHQu`dA{XA*n_Ll&DEMMR(C%T3yvtRkLK7 zh(=KfiV;Oo;}#_`1eZWdgh-OfGLzXSGn1KQk}(P0jk6?^OlD1t^PhKLRlTlyLIL@{ z`M&XM?mO?C|D1c@z2}~Dm-0KmeeHE3TF8eyG{Au}TELe`u|SGT-F%scN;u%b%R&!d z&R1v@7S6kbbEU>t$cPlP`EnXj>={4aEin8&Zi#Y;X~i zzJ4^8iVTNuh$JJMqv2(-SUeR$ zIFZ^3J0;sf(a|uIcKY~>j`EB)Uj|*TcND*%XfNeF)!S#_ zoLIGGOSnH3*=BafBQK8cdw$~adnO*bo2e!d-UhFT4cg4ro<4PC63w1!t169LwPPe2 zio|4CP28Cmk4`*tA5&8#)*l^Bn&TGjAC0Ph$hK0SeC?A=)Gjqo z>raHi4Tgp{4}?t7rbK82L6GUA?H5x)$2*U0e>@QuFB*uLaoK9Jy>c07^F!cP+tck? za*-ArruHSA#p=)0#Ta%Ng@O1mdjD)=uxKg1uwp|h)PHMlXvAy=vNRSLi07+zU_{N1 zar1s8oehz}SSU4`z{Gmx|87Js{4-0#TSr4t_-nm=f?T`#7DVYq9XBy?d}=DUL~wz) z#B;cS_d~9W(iKOT|%Gkx^8c zy)p|{j5-sLm*DFaE|1@6!ZUqn%goc1hLfn?RLaly4NAp9U@D}Ox~&px3>_ruJJNzo zzP7$2k3Yw(;T)@ixvG8VKvkKh?281;G3+dl39^!Sxw31$sg~!ZKC9($>%8dRJjWgDy>klcP~A{ff-l>S?jfOKdPv+@@Ev`N1yr?1Q^C`OeSn=%9HTbviHWhP%aZFNhYW7cLZ+x(@b zCEvMxEopDC0jo32jO)y5Imf`4x7bIx)a)h1&FYrCF{`v#nPp1JU^pe)lDhVe{51zw zuMn@!ZeA+0uWAT9VDzRpDs^~Sm%lBk0Q*|oJ|z3DdcNAOrdTz~?3Cf~rCVsw@cD9h!PI=NGYPB| zFI8s>Y9D#})YB8YUhElv{Bx79owBy(=I-^(*q-rwPxYuhoR=P>XS@`rEnYex#iO)^ zY0*3Gx6ZvL_tJ0ZEjK^xjq zxlg^byk|G}ef`*g$kB(FT_P!0;l8gQ#~ofSva?cHw0pT&Sd}B`5Y?x+C0vS=1=M1B zY@eJ0dD$)C21x-hXgjp%8wjC7O{8U}bQFqSE)#}NvO(WqDA~6KClq}+<$xiNNNTgS z4y1ScUM?3=jg=Yt!s!DDFMCaE>GaTNQ>hS1bw(0a=L}x16#nc?qCnqdju-6eH8Kirb{PU5ZaiahDW#OL4ChpOWG}@z2KG1HI*= zk?4Tz0b0&Ao!TPB zXICBecL|PouePaKtQym-Enb@Kc^+Q{fkSwNm2xGK@Q61b8ag$(fmv^>C=>C(ukH5d zE=9n_*Q9;Q4u<74+X|1s`n&xZKU|! zmpjF&FUxaB1S5D+iC+%2mT7DIBaiE(@@2?k>QpoZwnE%SNR8gn`NAv=dh! zEv-o({JJ-XQ`^H~oPH(?>!sguzj@*b%>Cs%mnHjgsQAupHZK6Ip~KEYj;~@^3-{PH z((5T(6BWyfFc_vOc*|V=YC4UlW?Dc4IEJhzmqbJyM-Jkx9M2*AizMk52oNRn1yKlw zodhumkg@YMMj$|#%@-sfK#UAwVe47knH7g!g>G zCm=w`&ll{10BIm!a0diP4f%pQAwasw7wm=rDI{NT4+Kan`GP$VAl2jx_CkR4gHlGY ziHg!Act7m}`hg^UnjQqP|0a5f9tNa>xR$aqm#nZXvvsgyjsGKAC6_F}@(~BKhy{>7 zMvtR>0u_jd6ysUf`6_W|*D-Q+b|0gn&Yojb{4)41`V7hjDnWT2kn5?8Hc%yPq*}V3 zo&>j3>C;p6G~Qszax9^wwJwtVLL8D-tx1OMq8(*c;U{~iDxsQ|PD-&XjJe!15E*!5AX- z4Ng^>QzIN7I5lZbt#InVsZDe0h0_2|eVWrKoN3@Rra8KBrh}uWIWvSa6Py`oPLptE zfzy=c%odIxoY`qkvvB5s)12na6;2B{bJLtw;miZ4HO*-gPCGblX-G5kbGnXG z_oGw;R*y-!iw{w8k=bU5<}3dEF$!$z@=YJ3OEz`Agi$Lt{o)41BtmS$^)yY#2zSG; zm%=O8QG_-lETs^Z?t+g!f++L?#pon_<4DJ$msNU6w|a8zq308>M=QU`oG5zC%=@m*}N7P=(MAsx>P03ISDG zpbEXx2C6rz0ID~t^(p~XTc9ev+6HPgY5;09e0q(5d={ui_t`+YQ45f6)akVXs9*nhS8wc3#h>Y)$0v5P?OOJP?IrDZxqlp3)HAjvw>zCIzY3H>AEhU=@v-W z;k21yX*Om6)NIVuX9#Gf1)8DHw1MUtO#sa`X6a1=nq`5S^jS7gt1%m(R>QB)7LeZp z&DQ-kP@B;VP@6GFZx+xT3)HO7v4J{_xd3$-E&5ymwOF9JdW#LT&}ao{p)pTy70^5j z)T+<3fi5@N0J_|0*V_ctZh_kLb{nY6=m4n8=+rv|)My-Psd z7N|?QSb>TUV+s|SQJ@qPh%o;#Yxx^$3Z=6_Q5$`UjzV5vtV!@qsT!AT>I!Npgc6@ z+Dfm3DyNgKTj>-iFa5w3q_2XipdY(d)7L;%Vin#-Uk6pirLJcBeNffh>T=OHK-F*; z|AxK^%E#~JAJVr#)$%(29(@~B9qx^e(;tAU=TUxz{t#3HZplpGhId8LVpgb$yLU)=r2Ica<$_`<1azY zcFm{%rtgCCyL##S^jDyoT^sQHYfy7s3H0ONfST*tfiU(xP%W+lSR(u_s8-h#Sdsi4 zsCllFh`rwj)#my-qVo?xwYz>ytLg7Sb+{(!YWg9l&Z1JRFMkB8tH?_;=pR6Jn-TRF zwA`)zhAI(J-=YRLy@5ZC-=b-XEc^dQ!Vz&8p|Sy8g{LfCN+b=4ud9`i&DT|ig3qQ` zJ|!3#@pYEN3uVUhE9gyw@}lZRi;I_-sbgmKq9G&>t-9+FxqHUwiVq9F+$a`-UTjG; zNheBFVU(C6WD-+J(@WB#Dx=gCm1ac9FG{P%aGN5e7E23DA|O4MaEn4*S^2zgG4dW=R> zgcN6KVG#+@OvgZr<&)`Fmh%<4uB6j64yP+|T|pC|T;y>rph-An5kkc@Is>YhmSWbv z395u{)Z5CpxksnAEti>rO^xg0R0Q7GWsTOqo0BD&>MU+{Tx&|{hF_) ze+A{`25zNafU4jHIJW#Hs7ek3^>3i6co0GBSD>o-b_Df*2UWvQAZ7dqC?7)V9rT}| zYWcfZGX58+I{q2;BKRTDy2|KM`X5jYt`=&fUxR9tu;hN0I^PCajIhL5<-I}7Z{riQ z?=E4~Q%M?-#uQIwS+G(YEQ`$LT4487a2D?%uvD}>m8_Pt%u+0KQq1bUqu5gSyn}ky z!r2g(k@9yolC^UVkY&nyR#RDP=f+tEE6!ywYqKDzWmeLi=~qxc%b)3W#b$CW1Z^3w zD$IDc<>#SbRZ(4V71>(OPsggL=6ov3)^*-$R&~DftS(#Qg=kup)}DW**?KQf*{Ztk zf~wBee&PC71L`ld0ogWOlnJXDSa=pPA5p2}pEXY}){51b#*1rAwr73^hO8!GHGVPu zqdLv%rQeM$Gz`lS+~BGeFa_{b=X^)$U2=3}Ur75M&iGg^dmWUo%vGM_sEm7I2j#1B zm0O&Y(M~62SFZ9rM`heLJJf9CDz`f-<3id&c~P!%r=v2it{s#Y=PGwQD&vydL3v58 z@_a{S+=V+RFU?iH#8DYH<_^m5&Q-qDQ5hHN4$4>ODlc?Y#^t+%^0HjzD;$+^KkuNt zJXiTjM`hgLJ1DQnRW=-zam(+ZyfRmLv7<762;iW+Dpz@_qcVOi;Gn!ZSNUp3W!&mJ zC|{GSyxdV4zXotneowCQHIB;o^@4+PQLgg)9F_5F2M6WiT;*#Wm20`qQZ^9r^ROFxvGh?wsddrET<>h>%0lg^dqKud&9OaK6>3LaBQiHS+i?|Y zN8LIyPjj|o6lzCZQZnn#b`}+CN8M>MPj|MnxKKOl3Y2+ zYDZnLGS6~u&$|n?qwZswXFJ=ux==gn`j*-6Y-d@acGPVzbF;IZ<%QZ&m&43+ob9YA z)Q-AKW}fS8XJw&w)YUU{i?f|oh1yX!)y%EVc2*Z^M_p_)&vUkOO`&$wJveilvz_-8 zYDcckv5@3;XFElO+EEwi%pJ~lY?t0=kI(9wo#hutYM$~Hi1JuKviAh7!F}|5eeWBi zpq%*P;plBUS#-MM#qH%~A^leZyjs}Ci zjf%$2^7XzO6pcIOpl_3+ahn|Uyd(!UD%+WN`uNGB%62a9l3fAI R<+1s*7Vbem;{Q9F|G$HzZ?6CV literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionAirQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d8b788f5a82addfd86f88d9d6762c3286ce955f1 GIT binary patch literal 11805 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 O%fmn8{qdKFfB7l=t9~y4 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionPollutionSolidWasteQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..978c0fcdecec57a576c5383fb9a52d5bd8bdc8fd GIT binary patch literal 11204 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 N$C7=p0Y8=u{s*$LIxheK literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainEmissionSourceAirWaterSolidQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ae13ea5a917f5883c07f7b12150355460f37f6ce GIT binary patch literal 3011 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainExceptionTaskCheckQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ce4a3fb896a1093db2a4639f44d973b97ab48d24 GIT binary patch literal 5436 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteLeQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f4adebcb8591e510472e16f36fbeb0f202e9cee0 GIT binary patch literal 8797 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 E0O`hUbN~PV literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainHazardousSolidWasteQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..68f3f8ceec5c1b16c76e42be35775d767e3cc14e GIT binary patch literal 8219 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainMobileEnforcementQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..63b8d7fe31fc25b6af0e801bd634f96adb817feb GIT binary patch literal 6857 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainNoiseEmissionsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3a14545eeaea56866bd129c09917c8367728e130 GIT binary patch literal 6927 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisEnforcementQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ff37eff4cf142589915ad7a68536ae739a00cdd6 GIT binary patch literal 6593 zcmc&%`*##~6~B}0V|I5o+1(Iec?L*qLPEFnC7l2Ylqi}21quZp>120E1~xm(KEU{@ zs31iwf`uw-HE2tv7@#cy3ba%$)vCXEJjdhX7tbM){t2FA#m}9Y-JRVXXavvkoaDQA zKKFC)e82a5zxR9R-G9IS1`$0-zxUD+KM8cyPmT1PpT0}q6X_Tu-)H0pBK?qmpBL#z z{QF~(hWYonNI&7&BM@N0YPV;bvhqFAq z!o#aPyvD;h9!9-%-cNJss7M$1_aYCki*!k(%OYJ7=?#(I6zQr+Z;A8^R{qjUzY-{@ zrnc&txH_n&a;p*og}S#XJC#^cN%hCN^;CbSK+$#iR8AXIH)>g}FR3m|rSzPV)AUqU zptf#Jk7ai${rzetrj#_XWofNPPpHYY89l9LazpUr-l-(>szBoP3zyz|c0|M5d|Q=x zPR|VSnknmD@Vrm?im}oC{Vqr?#ie;@@gtR zR3yB2{LuKRVSxged#cL%%JH$w2N5YfH=t%#arg#}aKL6 zSC+QN@X*=T9oGkAeTqJ)CG>o3aHtP2&!&_4Yz%8vF{Bcju{)MG`-`y)t`*o8ti4-H zsjKsYeQIWdf?ehK>v1KyQORihY=LfLMglFm)9GSgb`=)AupoA>IUJjef78q_eR#H~-Jd3rImRl+iCb$trv0u&EN|sUATia}jX5A?gcwMF1 zKdFpUtp3ch>L7dav-84s^PAR{m-k2!vaO*G;2L`wZ(yKmFGAU>i8t5}h%s+op#-9B z=4GeIns|X`pE|oQP8|=GQ!hgHsRJyZIs;Wx7jwG#Vnk@Yp2ub0rEx)@bGv)wUcTnR z`Jnq7rEZq}vK@c=#EsztV8||Ea%}-S|revQg3GN`0~7#OmIKZe!IPHwZ(H)Vu?iW(r5wjX1K#>AeOj>|-9Zj~X0iXduMbZKl+9dim$M%7$ zI3k?}b#zDE&RAEm*%+-=`ckNLiJi;FDHdcVS8EGj>52v zZ_UkKNz3^(2Ok0V;oC%{8qOzti9CR(0Dd3D|3g`N7z*TAwc-&dkayLJPAHIz)ruuh zAU~@WAAtfnTdi0I1@gFBu>uO@cC}(9O(q|8(Z@jeIFaBY7bK!%mq^%ro@%<==Z{kD z1#(5)ER2$86C++mL>3B&j}bo*UjYd)A^`~$kRT&U21KZdl2LGj9-sGB*SYZN&_!Kgdx zv5|bT7bKr7M!ifDEs{4X+DHM}2U0-xM}184TO?o9ZzBce07yYuiUyb@StLj{QoS4m zsa~#&2ANc6k%G}W8!0T;gA|rS(RwC@EK+?mWFs}mVUQZ+NHol(h(!uVBL$M{6e4Wy zq6hIMM3#5xsu^K=+}I(+nl{oV=o^KF^aQXPY8K|wW?;26UzkB#Ai0pcH|bN5+}O{5 z(x)MLQ2qZxpMm714E>Ql3rVCybdGu<`RF-1O;1Ad(w#}Z(@pJM z*acwyw@~L|*AgR*XM{Qjki=rB{RDXzjMCI68TZOARzzKvMsRX*8msF2l$kr;Is zQ~}vzs60g#a^18F%3ec-G`Fl!R!mjBEE+1Ys6z6as<7-cRLFbF3Z=(XHOPKLCdE78c}i6pJ)f98YIdekVu?%^XMXFA-Pa$o=1t{wA+kUClASk z=K3jJqI-bQ0z1bC7)WHcg=+NPbQe;S~zq1mHrN2m(@r1mPxLPnuZ`lVQpBmTJq~e+%=HhubkMCxKf# zDf#&T5?moC&_|o+g<|;S(&e6io}yS&D4 z+`)KyrSWt}V>Iy&#xp97XF3|A-FGmaS!q1m(HP$b4#u-8jpsNT;}gQccy^`nJV#@E zXE+!)RT{TA8sme+!FW!k@jZ^ld+8gNv5bx7+U%L%evYO&XNg&yJ;mbeu{ukE_R-T$ zex^^2%$TSjvu_pXo6de_PSlUt<_dJc+0U$r`Z2p=fxhMJXZA$>m`$`m z&p7*Ony4SM=N3@(9pgM_qJGR4UEnV^Yu}F{d$@+AFVS4|2q9VwHJr auV-m1Q)|#sap5{#{090C=8A8iXa55{o9RLT literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisFileQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..0b80706a790059f993286d4ad4762757d73e6ab5 GIT binary patch literal 4760 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 U(b@z3Q}*KcpV1chyUf4*FA;HThyVZp literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasOoutQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8900c64734ba6fa420086e8b4875a4e058489276 GIT binary patch literal 11835 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisGasSoutQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ac1728a589e13824a299aec706ddfe61414df9fa GIT binary patch literal 8251 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 W=x@MR>`MC8soUq>oHuWu_xuN+JlNX+ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisInformationQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..da0c50f3a5d871b40f5a25cd75f3e2d4ad77766a GIT binary patch literal 6030 zcmc&&TXF-^+l}zKIhELnVADdc<}pR&pQA5 z*WPQdz4qD*{`Bv6uLD?x>p>g|L&DK8TJh~LzJp^jjtk^vfxIH)Rq^{>8Lx@o@5wkJ zeoxByzWDutj8o$GhcbQ?#E*sedKf>!PsMOLj2;{f5&M}KelCVzh~bxFctZ?l#PDVi zzY1dsj>>pT{Qg=DlQMoIP3cxwMuk=DCbAeRy*E+6y;N zT$#RhoJ)x<4ALcft=v30^})#tw~ie8`=KimBEoWmku$ZNS+<*g@$mFnD&vMZs^$AC zQL-3QH?E$z@%z&^51x}SFP+y^Q|nj9hBN9jMJ+$EGp~+w*AfnN_NQ~nw3gP!lct)@ z8)_!G-$?Egq~!VmRnKj4HdUG5nxVI=KW&U9hgD-t<tz*u*eHUKr073(2&R*Er-d zx;V6gGn;#12HUrRTb0n%ujjPE;@Gg3->&lTM3{}Vn%$x1b@Av<9x0!1C`2ls@ zx6JLU3#kocXqjw#VP*^d7CO_ zdR7&uT&M-BRLfY5#pIi7>M^11l^Ps#7-g4R1yC2~c%jbAR(D2QPKxa)B)Z(JN_)r4 z63y)=t!n)w53(3@XsDN5Kj_q+lghDR@i_PlzEUhSg$Ni&YZlR{9_NK-U-bY(_lh-FG|6PM6Dl znKcTo;+hzK$9?uJE#K)i)@S)v^E2MFRK%g&xY&&H&E{v!W;h8*pp`&P0uq(F6dV>Y zTv-<{CdinRi>97U+RA4s@^#b; zgN8X+%u;U9_DN7Xce@IR^On>j|3h=LZn$9PS$&+AiZ>x3daE33%nElMC|z;aVpYdS z!z#Yxo4ejs^U=nZx`)ku5Dg-4*vcpQ72)qk`S;-h9-)G{RIhlH3g%b6;&CdNbM=ZR zsbC(~D|)G5Zq_T-P{DkyS9}b!5W>f?j)e7e_#g050$#cbY1bt*^mi|xLgQulTKqzo zLSUyrf&!6+P(nfi2@?sGkcdDOB9Rgj6-bOow1hMXBu=EMgft7Jg-El7yiH#kv4P`* z^b-uK%z)0v!wmK#+|o*H;kJhHC`<H5|PImtRtph#uZI<;(p>eQ>L&~?} zkBB6E@1yw)lobiz6lRwg!IYnrU@DOC3r^sDw46aS;ZFoyq);kIQYa-Sf`TMFq+mjJ zks_%ONs&}I5fY@ZLkcCrE>biVAt{SFh3-@O!DflZ_`W&Sw{>JqFJf#?2Y{L+xCMkdgc#cvWDm~tbc|rMKhy^ix8*_q4 z^N%duCTfYHdlk7YJ}P!r;Yt3Ao8=ejBqG;frL{Y9cG~(&kz*{j(nr>6@f_LHG`vH* zFsu~KkhymyodD95|cAh==*bDk4;Fy#}9gwN5)A}wuIDCM_Q%t*^fPWVfz zNGf2d0%aBR)V7MIf|iOY>R9pe+p4CNY^mh3iivBhno}W5#hi7lSRklc=$$-!?9DkL zXvB4lV3b?;^JsNSV)K`~e7^MK~!2oiUf;i4fVNl|K zbYL#VDTTzbOCyMVNWjNqmn0rFBI7ctNKpzV4W zDA&7y(>Y1_D!%45PhzI?*o~INhu?Fa`7@oz?#m<`^qyzIOy{xNI0=Wm=UF(@dF-xF zV!89&*P@xuV>gKszTrL3;+f84_mqy`|HZ*&MdFblEc7!gkRfwojqEHYeTXBjaRM U1DiroC%#$k$6umW3$n^UaW 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisNoiseRequireQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d3a2bc95152e87bde68d6d7079e3c98e872a8343 GIT binary patch literal 6690 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..9706edfa5aea46832e5ccee06b175439659fca0b GIT binary patch literal 7314 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisSelfMonOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3e1e6a2cd82085d7208559e946fe2dc968cf2c7e GIT binary patch literal 12872 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterOoutQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..289a6c80351cc77289e07d55397fd4fb4cacf233 GIT binary patch literal 9850 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 pQpSla#q8}Q&@neO<${*o9aaj4|{{x%VI)VTI literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterSoutQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..83062da75c538ed997e3fac6d882017c2f42daab GIT binary patch literal 8379 zcmc&&37A_|6+U++%S-YyOJ;p-ftF5TmUg0mEN|LsX(<+G%0QtNT*{kFm}AeAg}%z){R%zE--i@> zn7?0B=gY|RquI-hp`mytY7`~W1*3_+^k6*MpGl9# zGv*rD@vb(Kxws(Zz@EK_Hta}Xw7|ti%uHw2@W>Iz$ji)3!WvsSu>pou$H9FY$JgyHh?g28CF1e**B{)rQ&3I8epU|9;9y{T7H2HQ zh@6zPKCx+RV#h8)Ek)?UbSf54nHg&b1+|vIcilYxz}7>zt{=aApL0Q3EV~HZbf+|a z=<0QOXeezC$1{uKrjbYrQpc|xJFs`-fd{utTyYQdVwt#M#(RyCfkES(Ts*U8MaCG# zsR+uo_r_AuSUeUVjhaR>lQssUtJBd{42quKXCzYna?@A9KxP^C&(iPd=#8aEq60>H zBr%xIMMu^QU^&^*WG)+xr899fslkNhBDO8(uy6&BeFnXWRD5Y}WFVe7&wy*O6QpBC za=DR7aNlNnt@#K#`Snd!kpHs$g6F-#i8q(d4~}NfG4)0a&#he8V0r|*?|ue7^Rb12 zWr?AbVdgT}wXOe;V|+c6_QhA_j3j)ysofFnXAfKwkC{Ck7s4^jVRm(qF3krv0y)HT zbU`7;wdIqRYHox9HNI@TQq z>ukq$SnSKS*E?10)i;;&itC?JA}HH|lELL3)bQX=uLxv|%WiO{25Z&4F)9#_b(iE1 zd)axIbK%h9u5;mFl`Oo_w-@eI$uGQ==U8}&pnTyaLMtF@z$#g|Vy5NnQGVduGqL#M z1mAm$^zC=#wgK zq)mSMvr2y*cwAh=O6XLL3Ihe>=tWPnkSYoX-akZ-S zX$uHzDBD)XP`9b{87C`+l1rt}GOL!&S?8R!m2YEqlaq~uTX`{;X)4{$!d8bc=B&$9 z+QRbUe6l=Il|IK@dE2ZUw5zR?UQY$3(prim&8ajp?;hm^mUY+w)`aAuDn}1?mv!@r* z<~*y*+XKH{GKg;7?CFKw;=2&6@a*aGXgD=H`y5H=*E>|KNCL09gqM#b2&Om%C6NT7 zb8t=}VAWvoVhRC6bf~nG&*#L71A%{!q*3Q`X=)c%vc&B-hT>LfiXn>ID60)YN5jx? z&P=D1QZ;8Ll2Iu1|H}G4no}jmZUXZ2J zA%MG93eJE4E?g-%69Tw(rC;TJ0O7jR|@(dKuA;y*c8H~QqT_pLZ?!2E(8dt zO2K&$AjB#K%V`<~Xa&6!fD4GkV)B3@dTK9;3wBdgZ&&9SRqr8B#LL7O`BpH;&m4t` zJSV`MAUJ_MC&U~ToKT(<5uAoRr-?bu;56kq zEzD^JrzOwPm@@?&&Eo9DnyTqSv?o&-?J1hIE;0c3FwwgT4sr{e z;|sKa_Q5-zgm=6PTFr8A=-u=l^b~rW-b*X7sTZNA;ww1@r~z=QCSpp*Z|{1DruNOoT&G!G5Y zs6mft^$d#Gpn5Ih05$0i05$22S_6X`ZBT>O=m53oO#rp%%~}(Knr%>%*6aXjdJ90B z-m0}QsMQ9wXsvmWXFCp5I*<>?Nz`CD#LMzP>0-+vaI`c;!;m+L+bIEF6}5>Q=@Rg& zsZ(4>mxA)pnIc6=P+sa2!!!cQM@g}SQlR{l5eq2|N}(G?8;ybr&?a#-tpXLKF?y9U zph9rWmnaKLrDy3Gxa}|;`+0hra-eE3#a*--RITvQJ#-nUIx&mZ)B8Zxi!QpB)_{tL zvoNRkgK7}{aMTZgY7}YYybpqE5;+9Hhd?!p4alM&2Gt@qBb$B%R4ZMMeOOCve&uDV z@zWKrP_v&tia$lXLamYv{4YpsDQXZIWr%3pV3?Sf!;4R?$_jhusmU<*=1&dhkidFy z?{f7b&3HCKuLi+7r>#@PnLM>1HnIVq@ZmeZl-S5SYAKg;VpR`Q$- z8paVec%{l5MNxeDF7kHnrep3cOLdLb1;tef0CwyNe%)3m-$&EAJaXnq%~cuCUl-*W z<;qiCmGM$`Q9ia@`6yRqys2H3XO=4;GcF9t5k9p%bhuFCjf!9}^VTzQVG@*VVf zTUm!c@-^=3?Ak@s-JM(B+-J9r=(I^hI|&$4%CbeD@04?r!J!$=Z?6WI+1Qk8pv?+jXBiCu>K(*#-X^Wc%}eLtX%)$}f4T4*%vZ1;{04L1e*kFs Bu|fa< literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainPollDisWaterToutQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3634b6a7183c1deeb52197678b3767affef793a6 GIT binary patch literal 7423 zcmc&&dvqLS75`1LkJ;VHYm>Cyw)C0GrfFFPM47bJ@@Oq4CD77J70P6@O$IhQ={|}@ zR1if$UP4s_1*_Ns#zM7(&?15gD85kf1^%JulotQ+ACKpFJV(Ueokw=EJB0|I<4N+( zoqK=x&i8%y@!c=a{rm6}08YmrqxfnZ3iie^8()j#>$p$FH-xiKIQv!HFV6>5JSfj^ zsu-8&w^SUE=R+zUmghkg-2GpOxW9Dt@fuITb%q@lzE)Q}J^ZzfkeKieHNS zS5f?0L8NR|${U6hwDw(Y>@qTWqcEK5vkJq#3Q`wV3T1ONx5X@(gZbRrLcuBZ+PJN{+o{>xyQn%vl^CA3r*I&C8D+ zQqWlg*_6v#1(~T}4&P*BYRzmOF^e8#@`gY&>#Rz#JmQ#n`R=;|&8#zbc#xxq_t=m* z*<#Kp=lYD%!6D;-To|Wv$W7pka-gLslg-x_gkmERE$WrA*c;<~S6FOxwGzE&pff#n9Pw zD>t{#EaWy;Mh9uzU{r|ztgMmWViZkzcbQ>(J_^owbCXpNz0zCo>bE%YS<~mo5OL>N zcq@ii)h}$w8s+W>`=ECXw=lNJ94;8;N|C#^@BiV(H#6x-ZfC{FGvzzezC=BL@bX-? z+}pj4fl(eYDORlMsq7+{{#JQJ0yiPJF0bBbHh1c^*%tb$LW?8!aU6)Gsap(Oh>z25 zTk&PGT@N}OQ?=|=E!bBX=GLkBg+Yp5y_grM=}7~>x!EZr!Qb?RLErR>OYk>6Y2Y{A zniKp@SJ3#{T9VO4Zf2`xD+?tn7zIgm1ais)D;(59VJlwd8f$dZ+XJ>#dhet+!s} zt+!q>wcY@cbLgsN%bB!-_$Hp!+1xr)4z-0RK1olJMoGcqH|l^`@Vor&%CUzJO*JOM z-}A(=YmU5fV6TGSw{S9RxDKDx@F`p$#cwqH7OcooDYDzmAq~I7?=^fHpW*7<)U(+) z2qz)=w|&Sg*{mCd)gmm%Mcd1)of{))cxM}+iX`nRRB+}V+(vsafX}CF9nWe1A zx!n@1yu2Ib7(on`W7BLMMW1EHwc4>Gg&d|_{RT|dF@Ln0tlHnW~ z*2(Zb8P3BhF16YtJ5h61#mo=M;kM+&@sf6qyww{1fEQ(WiAl6#(Nrm1ZNJJU+UFWy z+g2>9?y2;&cT_87GoNvU7m;N3HA@?<^2SP@bVF{Z z0wcZ6SAyLpqn`6$bh~Q@OXVW#x7%SeZ6nfZOY^_dUje=1=KI*RAfVzjygN7li7_3I z#k{+n&iiEy4HAdEO}>k72|nM=zcWkFDPU~Y3szIWc&!(_hXTfMyjmdh!1%8htfzoEQ7_m)0rR9@@P5qUBKy!!z(zosix4Sb{0NkbA4Nl7&+-X0P9l^H z3o(JnR^dd2qYB}1V#0}&6Z1F;;b`O}JWi8vn#pPMI4#0yC8x#XvCG=Y?di0WZNqIx717EI(B zB=@5!6;4HbpqL&dD5k5asDM-#6iulT@XYDzWxKy7*pL2Y_#szpGpE~q8d>I1dwZ3MOJ$yA$wk}jw% zmGpr+^>%_f^^R1#fI3`Id#b|&g~sUy$K4S+0cf|~_=4jGe9(3y9fA+x63RQ3Ex44t z26QRwv7Nj|ELYazGEyO|SGr)33Zq|Hz!13v5#;e2vZSIY;-45IrQ&mV5jj#Zd=W2T z2dOwF@Cb%UCGa>N!U!o1FX1+rq?+(&+=$CbHFJtr@aGb=C=uGolWJ9#F@Hx%wJAL; z3I$S0{Vkf$p zF|6&JLRi9D_PxPQGylFj=@a($ojZ9cXU-Ez4spj!wus5(YO(N9G(R|C zuX47;-MB{l9arMR+^{hIhTWtZ7-E0LRou)*EM?Grgj9&t>@i$TD$E*m4?apNLVsO{ zkCBS9GaJFjN%5bZtmxN}is5OTifc*5@h2W?pCFZxuxe;T@-;F-3@b%pC_zzPcqSmQYwSr}?Vk}6ps(V7Qs~$grdey?~ zAzUMg6C0`8c>|DZN_$;XRcmjIqd|rn?)UD$fg4<~=Duc|oo6NrB3|Q3WV3tW{nZsLXp;fbybR z<;8)@yp{zhFRoQy8mP=mTY&PCTIFSd%DmGBC@-y5J~>dCH@*Pnu3F{pK;_$bdfLsB z-89Q_5?S8!2<8Wem~);)rp}Xy+kY##9d`uTIccVLoOWHoo?tr*W@^Xj?iGAK*v`V4 z+Ho!e3ce6*XVFaUIClqyok`&SES{+y=c=KwIS#b5WTtkUn~8!i1>0FVQ#;N@M!{Xd zcDiP2$GP_?azA$CXCJGR6tb(2U>PqtZ%dv$fwZ(G6X=$!htTX3(#al&=INhKvMm)p z&-8SX4U5pc#-x*{I5aOX>14*Cd38xA-|o=7w4{^oaA;mv(#cafOyIQI-0>IKtKH~t Uz?bbx`jx5M=RKS^Z=d)62e+r>iU0rr literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionInorgGasQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7a3c56ba05a8f20d16f360fa46b970fc1a451a5a GIT binary patch literal 9420 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainProductionOrganizGasQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e26b249600361736e2ede8397318165d4f306b65 GIT binary patch literal 11042 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainSolidWasteOutputQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d636799545e077db3f89a6fbbe3b9ade6b8fcdeb GIT binary patch literal 12054 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 a>NUNRy69iE3DmzCpL*UvU*J>EzyBZdDQ7VN literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3f7df74119c5c3b440d19176ca8ab356149af4d0 GIT binary patch literal 18553 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 Yy(01O`SPjDA9GIF;wYM&u;tMI0GWc)X#fBK literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainThreeSupervisionEnforcRecordQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..b0bb6c6acea017162c6c6a5b72a6a09883c607f1 GIT binary patch literal 9974 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BMainTwoRandomTaskQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..b9faca048d3cbd7d8c243988848bb9631e398f26 GIT binary patch literal 4377 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceParamQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceParamQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..42802c890623ccc554ecb5c001ab937090a8770e GIT binary patch literal 11638 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 A-~a#s literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..405c90d85003adbf0059439579b033ea0128c13f GIT binary patch literal 21728 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 DEAtLS literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceSiteQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..c9660acad5620c5cc61d6d82d9ffd632f7bc0453 GIT binary patch literal 13517 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 MJQVM+t~A&FH>x?znE(I) literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasDeviceZlConfigQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f22ab5cf4b0bfa84ee5800b5d305568c3cf24f3e GIT binary patch literal 4704 zcmcguYjYFV8GhE5v@2<4J1RB^TndTP`WhvW-egQM22!`O<6r^}y}(LZ%S&XfEv-!5 zJ1Hb2Y11SnC8aZ+&NNfL&EJV>YU{0yftCx%)(U3o;OR*63+=P8ik6fKwG`J^5La7#}6q8 z&lp+9E-i_>wbgget=_yMU@d1ZT3J(|Z6EyQ+U;ka|KQDAYi~R!c#)a%p&EC)z8h=zxI2dWVU1)j(LoxE6~?2{$_3Eo%PGhA6|Y-!8XZD8*`bQ@kGTeEuAPC z^R$$S=}l*g$*h?*=aY_6DA`6Xxo9UBgi!LJ;oW|+FlHBLth}o`+?USUbIFWh&sjOU zlAK%0FhJ$`LZzI{+9i`qF=x3U^Um>K$6pP#i-g!&qj20P zSz_;jLDv=qd+y#)1?t(Vqa*idbk|1PmgcMWow=8T_cc0|v*!$}*ckia{R~}r+R7IV zr&40He*6DU-Q5}+G8ZaFfqm22>+7_~GiS`KGu(HQh2YFuWGnW@Ui2i`L$)(3iZm+Z zda7-!yJ&6O<}!V))h_uyBqsH1jnw9yPy^cK8NOcY@DA}oQpn$Co{%4kO*=;R=?P=r ztzOPB6~APQXN}@v5e$;EMtN2?Kx=Q`IGvn2IzDljQ6L>EndM5sVcpi;i}d&$3HQ`z zMYP918=^gaD?RFA`!u z<{LNRa{c@bx%Q41Ht3Y`Um#TK7YL^R0`C16XpSw9;zXRbE2XS?#1aEzNAn5wkeKTV zc7M{iW<%}uPu$g;Fa56(yZ-v`)~=slyKv+7jTHsM_b>o;d>h}n;%6F@FOgU7Lh?H_$+r({(g@Cy=C-~!K^ki z2FPHh8yQ1nF#C;+BpIxTM#dxPKp1COh%a%c;am7JQgmpTJDtB0*+*)GNDK89(IQ;wm+~Hw81a7&^#1|D zz_o$DqWubjt=9(LL;J)aZR&8hBw8m2xugO^e@8SCcpvv&g+7!BEaSeagqjLcL`{Vf zK_L@*AMvY*C4z~NPbi#HDHKj=2~`Mbo{*Z*d_vJwm_pH1BoP)u5l<+bi1>tJsVIeF zDLoMtLb@kJswxz?M%QF0Lv$F};)d+JbQz;=$ml!{VvPJwruh&tQFk|Rm{=l=wDB`O2Z?vhH`UqVrp5ULRe1vV141Y37!#Mb4Hko<$H;)a9Gz#Ba+%od}F3TlY z^F2t9h3|?OnerHAm3kVrU+fs(7Z`C<-`z1h%fxFP16QFAEhBzf;A$!$7>R(#(L^~& zRyY-OS*!$CNlOH)tY|9avO+Z$>qBbAQmV^hX?R*}B(l1jC-SH?({rX37x5&H(}^IS z#R*a^4E;HLgATTGq|D+eQUP|r1Wu9)a=!=PBo%^#t?V3;NRgI*A@VVS0Mnu zV;)i8w+NsU!Ky%2Ca@9m#6mu?y5wfm6IM40*X5fqJQb}$rLNVSM@5E-@43u4$BNjq zaQffIr~b65a5~+l5wk=LW!W@}_zq}LehXW~@bXvP_NL1GP-vpuxmmfpsdA>Na@S_% zolTYb{n6y+t(%p1HC5(^N)zR6o0acxs%&D$Q%*5LqD@2n1AoSr=HZro8mjea$a@PF zZRN#zkx>>! zn_fYJkM{QXj%9RvI#=75}X*X;;$9HVQ8Ri4C}ojUP&YzGR@~nYgtb0)$u7lC`wh3zF7ID^s_$ z1(GHtB@KB&N>W<#fP7#QG69DP8QOkHXZo?9I@3>`Vgvs}()4%tuB=5;r!dTPM!I|M zIlprs=XK9t|NZGT04s4$#m^#8a43RV_<01sz%Ml%7Mvr3b5z6A;`@w-hs5_+8kURi zvl>>4?{gZCsd!$HFGTQb92dij5j==PVe)<>hL^-}LJTj9;T18ws^YZ>7U7VF*Twgw zhEp2e(C}Lgr!~B(;Vr@bor*IGbTezFH<;sA+U(CLh!5;D#*Jjw$d4qqIt42~(x)J? zrIdH9oVnd9TEkg$Z9Z>1hGW_JqJqu=%T5*#8Y3fSA!$@3$+ctFpq(+Zn+x`sS#Tz} zPH^1FmP`drH$OOgh*OF zr0raC*sya}#x5mu6T`G%aV%RZCewDo!{gdoK&Gs=ZLg&KXwz zcANLDp~=Eqt&zOplnS)c$^WOj?&gpo^FYbSGLhzV_)_n&;eBS>>FeB0$2+4I#R_BA zpPU|oNo6~uA|Pi8TzgeEyRs@~lMD1^T(d;^IAIqeGcO{gauRa|mE>!Z!U{ub$`tc7 z<)qow^ygZO)b+DsTOA|4f6y3n!R`J(WVGFXn$RjMZ#ioeaI5W1y%E!?WVI+& zvpYI{KAS0*I)R%i1x@92$Sq<~QvEZ9OYjHXS`;I--dBa1i`6^b798G2;!HY`{;fFm zwj$-*iZgF3QvR(p$Ck^n5N@?gg|xZJ5>;hhZ3*iYFN1=`|Eu6L^X5+-d-mqp_x)x5 z`XA3uANf#0-#wH;9eXjNV-%K(Kj=7%O?*p4#P7+t57-_nqvLJ7qhlW|UdZ#h%ia%5 zM^+3uG2{gxD!si&ylo1)@1~yX*o{q$P8}PuNyiWIq>c`B>gW~2LtW6h*$;xI#=C;+^y2GExt987K_vq~IwwX9y%~IXnCL)3R)^Rkkv=Q16*jdeVQ(-Ld&FgEkz z!&m`__gqE9TzOiorW8cy@m+k6*Idh)&adRGBekBK25cb3LB4yi!TUl2_MKF6%{(0dYrN!(XPsHq?!YATcn z3QXv8#Lpv^2qr>4P&lO$6i#UgRe&@Pq$V^UD4Gfr6ir1EVF8MGpl~AM1I1ENf?_E> z5fvca1CjE9no}`?no~`Qm;g0-pje`*3<_M}{iV%Av31Ec~(U&bJ*Ajc0eL@LDccmj`+Qc=JQ^j|-H@-p`0aZ+KN zf{87pBABFCwvvkCGkS0vDINb{_B=r>lfaEG7>1!0;7Hyr(@ks%kHF-?#L5vEZ@!IsN3JW9PVwa>Nm ztqQDm!)H-T-zbAeYw0={bqq@*aE3c4ajldGg9f@M)O6>>$P z84+VlYQ<8jD`I$gT1-(XYEEgcNShHc=qOrLKLnnXH}LM+hs)0^> z3s3RxjaZ7OVUP+iG)9@AA_R6Z2-2iNOxESdkW%py=F#CI1n5R(3G}bX2+)m+Lf1i2 zzT#q)d4pigL9h%cV*^IzS25LT zZ?-2gs#pfaoWZ&56U_OjDmZ7mc`Irj0iM$o(bm)`U&35bX#J6$sH@C|r;hTxYUPD> zmDwBBQJ!C|e1BbK_EdG06V=MCb(PtR)lptht-QFdGJCi>$_uNNm)2FbG3F_!XkJlA zLd&`?V{Uz4$wCsEDI_7UKTvR>{yOvSbRF4FD6F`3&olo{*OA?af@1x35_h_eY*rK& zg1YBfaHs3Y-bO*G{yGcqbRF3WDWY%n{B@Mx5}C8}Di*Qtxj+8EBw9t?<|p1JX%^Df z_+m-3%V~`-ku>|8*7#CMv$JW9w@aEmO>6vX947Jg>iF?z>rO8M8gS4}%b(12h!Z>$ IJH(&<2V;Y3dH?_b literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasParamQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasParamQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8b554741376789f8f2782e77d85d7b63de6d45f2 GIT binary patch literal 16268 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 KR_@&KqW=Ykc>DbT literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BasThresholdConfigQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ca48b51b3a7b7db785f3d442086c8a9edb3f5032 GIT binary patch literal 8480 zcmcgw33yyp6+Sna<;~2SOfp$ty3>?qWeniLOB-lQp~WTlbJ9}F|L3D z6)lStiUqM{D`LeUB|uYF1r!xG+`t8}NvRv|iY)cN@7_1_GV@AP`98j;_nmvrf6mww^fUhbxkA6--(M>9oR^;GSx&Nnt1 zk+_lQk8~vy{T+<7RoO%)HW*zOOUHWR(M5?wGGk<7$wZn_Q&%h*NndF6_eWC^BQJ?8 z8j7t*_C@0>Q^}!dDl-f_?u|w~8^v$!dtmIqmb)1#86&-++ZY5dZ2Q^OnN-aD;qdsT z%O-BVdf(XC_!T?Guim_W=LjR;kdZP5m%uh7b^NMJCaxRVzxVq6+b_06!k`r8w9ZRK zFUUp{y~B)V9k^lB_(gjU+;Yvtt{t!J-FC7*vGw-Z%Rr5fTs5(Elu=n`AQepyB;$SS zz&W>FK5_4zm{e~nYGk5|@k74xO*f8@?b)|y z4P$*BPl8?@OlJ91Nr5{*RF|@?L07b>Z6_bUvkihB^*}2 zqZ5ngTOI397@2Ge>$UwI-@PLqt_P81#1Z_}jkc&gz32RBZ>FQ^Y&b(^AO>wdF zPNf)$6*e*@RLSuauze<2WC_23h>n=7l`iCDt*)4CK6A*)<{2T=tUZU63*&Z{u#!(E z(n_8otk~0vv|?ukS7(gg4J(WxGgxt4dFf4_){MkbzV9FhjP!tr_tM6u<=D@atCp`= ziVX*igqY68ks`gho%A*2H_b10Lukv6*a&}vZOKCog&El0AePbFV6B<2A-_BUNsCFgS!7Uc}j2FDM=DETLv`U^R{I{3n&XQoRCuYK>Yjej2mx`WTfpmUimG&q# z=f$TU03tuLNs%lk#!)Iz_NiH2IW=_cQ{yHJrv{#!8mQdVK-;F4>&dBco&3~tJt0*x zNijg2sjHLORB!Z@7(ZyHAL3{`hSxKU<{Yk2;f2olrT4yk@fJ~aw234C<+~r={}5`G zj<<0>s&q4bS*7i?!%GKMMuZ^p^0c=;)~7PYN>sXqZiPGYI9Z=SL8Q`coZ&Z9*ZN)* zJ1X67;|RD;y z$D0rE=4{@aL(3S|=1WuI0*kY;cppDWW*uVl8^z(WP-Uge#Tz$f-a6aLM+@QMt+UNV z<{8P>nnKidD~G+5WvNY1!q72w=Wi~h5(^ZELaNx!lPJlCIkqXV!>GuAdHFy zAA|s*RV?@r%_JXvnAQVuE)hG2T%d?v8Y6br{Z!J`(mYC~50ESD=ENv@&g2{~=O~=8 zI6lttgX6O}0nSmu30RyU=ahjHv^XKoDF-KHaVj_`3{Hi`spOn0a4IcMHRsfTQ*Ci- zIj0VsT8pD`PCYo9#hJ!A)4`c$az-%AQZmr$REG8hQb5&H2er}y>ZFC(#!l*?6Db3) zx(pt51AOW(_|#tb(=)V`UVuaOK(j`y81+&gdbs*il+MFa_oJucD>wt7V&Ig}`Jj*} z(VmMT+yu@vto(B=&3BO7wX5YZnz4=CrMp@lr5P()G2WSG7er}yD;nL^_7nv)*OOGS zlhiiNHA=HAgjaV1;?+Hxn`1mrQg|l?HMi!mfqc3bAfK*iUJg(s7!)_TA2-0p@#sf(95+D2bD`u zNGrF2D)kD0D)q2d!9igOs?fqVP_Ghh%LG==(Y4sM!wF|p0Jk5hWC#vLL!^*|3 z)1c`!*ndh;67p*H1Py^#LJe$`ETn%M}YK)L8tb}gkrxoHL449`rG2USLbvY@<_ zVgs}hltS0A<#Zt^A8lnz=p&%~G|C!i7*v4vvYGTzP%1r72kB#=g7hN2N*@PRh9N#j zp8yqN9(tBO396jUqx6=tW=)pRkaO16@&pi4kiu_QeE)1azZ7E$mS zP&I4|;^b0LwQQRiNlB_>4mMEZm zOpzxiLhK8zpzbwA2z#l8^esdoT`@&UPK0D2L>0Qv6d?~tEu?rMs?`0a$e$A-I|xy= z9xz2n3{nfnfDqN{swq-)BGnRUde9UhQ%Efw6+&y8US^8Qaw6mph^9M+7m~HP#&Rc0 z*;2X+?ut7s!r>ZFCFEzF^aborDb0m@Ukl1boy<>LK)LBGdWEh7+53eWS?q3Au$8j(~+du{AHCjP8f>K!x9ZNTX3bJ;pr7wXh<8EGBPjv^u zaKX(PgKHCG2QiR*zl1ZY$!!5FjB7GW!tlH;?1(5at+}X>E5Y8$;JjrAfmBh7RPtKR zGO6fuQq1cfQY_W|hfvR3cq@c75;(Mxyq&{2AKC=G;?|a;wbhi&t0x$Uw)# zD(xsz-c3jGa?hTxHAiJ!&mENK7AjA3RK``_LAjw&d4{7hZv76*^9q$`IV$6Uz(M)w zLghJ*%6M3CP@Z3?Jl9bf&kqjDjfKkd9F_5G;h@}9s65|M8P6RK%FTt!O^(WV8gWo= zDO7H8RK_EUgK}%3a+{+v9$Xxh+X|H>nV_G0|jfSXDQ{t# zkF%ZDsoD{59gN1D?X*qRj(8ej{54L-#nXr`ey(gEqhs(65(&R+l-hZ%K1#=ij}tVC z=l1aNf<{T)9)7o=QRudZ-y>+0ukGRY3L0-5?cw(c8m}Ae;S&Unca8S2E@-@Hw1+zc zjkk>U@B%^O6{9`8P|$e4Xb*Ry8Kn~o^M?IQ+%6-(gdW07O6cL-d)OnG8{Wen{U6T; BVpaeE literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseControlConcentStandardsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..6adc976b422a440a418d7d767289834ec6495c41 GIT binary patch literal 7644 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 V=yChwx3B!SmkGQZ{`T_S{{S;fU0nbG literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/BaseRegionalControlObjectivesQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..67069e9e00ecaa6902ba733769442c129fb4ce41 GIT binary patch literal 5531 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/EarlyWarningQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/EarlyWarningQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f240c8a9b2f69ae0339f97f33188268e1e43ad20 GIT binary patch literal 10623 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 Gzw}=!MC0)Q literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FacilityInformationQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FacilityInformationQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..5c15923c53d3d452aaf2cd1795e48e884c3d9d7b GIT binary patch literal 7147 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingManifestQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7d057e5862850ac1677bb6d05e97708311252b06 GIT binary patch literal 6326 zcmc&%`*##~75_}KkJ;VXYkB?tGCn5At@EmLXeCIp+NOqvHc#h{J z-?`s=Kljd^`@P?L@BZQ6XWs;H6W$Bru`m=I45Jl44&x9WSMd|UIV?C&sQ9UP9#Qe6 zc>YXuQ$b|AkuKW# zkqySMsUXq2!`Nk{GDdbVwYiwLvV%PelAB7|qBU%8wF*{$#$27v+C`&i+1Y}E&R)w- z6?PkggJwQuR3)j^IcvQ=U}iSv?VOn}j?j*Omys#)CECQfeG_9xCLeux>e#Caf~7)w z4WSC=PK`e^F}8Q=`8Oxd9hrFR=+vQ?CdQwedUl_JW-B{TDirf0YmA~fNPlVO{DXTZ zPdeTqe*|P+>+>JwaR=iq@rVgFHaN;QizU{;71{4G) z#>U@2^ooLTI&aec9sF2gCm(ona{TQ1!=vvXeqCVm0=w9aS6|-D+4&+P)K@eL_gpyo z(&YYAv~CeISDNWHhWiJM+e>DC|LhcaY@1QkL@pyWOwS%L-HOrc66>|JU4DyxBgZJoOB>>7D^cwFl~Ae z)wW8&;%)UYQQIotA1#w^x%0Ql0vBnkEo|gE-Ue1!S*y580bSXuplQ%7x)n$^gDW~Z zYm%hW4#LE3DVOXPZr0V6W&v4KF2}Lz#&s)5&RQqjQ6Z~|tRr!pYbwm}W?II&&Iq@| z1XkVQ#={+QtL{`cWp~JN-4U`{cZ9@oM=jd&oqXYDyOd9xYb{Ybmt3-DUnjaLd&WmK zNfwobvMI9bo!@t2V(h^A120UBk53*rdVXyG8h(d&nF>o6xmRU)84BMP1ME`eN zmmDQF8iS_O|5>W5A1uo_lZ}RkN=4hwNYzr&%A}-l3rV&(tFXZ?ZYX6)H<&vW7#-Vc zYJuAh>N)?#jIz3);~WPbcQoo@{Sz}%mT9r9wmFrrddji5t2O)eOw-T@xP<-%_0*;JBx$6uXdb_(u(KrTQ!Y_zX1nv}^px~&2D04!B6DB8A z=0pTXBPUYkLe2F_12k~X}G9>G{)A*E}4Ww=( zr-619ap$=*G7S%r)4~X??e2OJe&6x#chGtS{>J0oZ=-enQu;T?*^+47u#}7LTlRZI zlD_v4KL%}C(l?4L%ZQ-vCnTr`l74{+yobawM3eqxpavAug9L?iH5n8j)ddBUY7Ho& zhX{)3;bcgF!Y(M34A+37dW4{;t|cP^q`4qcHK3RtB`BshC8Gk=AZ0ZO=_crsB2`HnNf@)QG%FK~r(LT}3mW3zKYj5Y4S z7Rp#>!*2DB+la3^_<=u#HoE2MnPg%5ETDL+s0pV&q!fDHbMuaXKPk3ZpSq*OeH z)A%~65Dw!6zCkLCQ9O!1QW2cP0o+YW!{1os4N_73112+R3!3QSTBJ$ElmKto0I6oB zoz=i36<4}3AKOVKFvxG|$NZrBFEj-)^a17sVewB@KEPZ_hW-a6znWc1W+tf6o@R21w7U!Uqd+Rak~74Ak#>(T8B3&8yv!1{i&O~j;!5l$ z6&7ityoTlv$?!2v6osh)Mfs2~sO}pCqZR%#pp5ZNXSuLI4Xlcs$#ucO>EJ5fL*S~Y zbt+XYZ<(tY@=~noUR3O=hcBXDwQwnfYb0`UBUL*e0ir491czIBUpNMcJ+EEY86;26 zxOS~hJriAp05`D|F%;J+zm9pLrPbcqd7jD~m_3x|&s1LEsm$rxLwUhW<%OQgoWMPl zubQd6$WxhE0k9Xym5&s6U4RK6eI zbCq=-tf#=zwsz#qt>A~=b{5apjvUby@e9n& zpCim3QA2X$Si*Vynnc?u+C^{XBXO;y*(}==pO7?LV0)rN(ww{76P=Rg#N95YYN5+n zyFJk@X-?Vg2@Y$5&-uDN!7krEitA?Pd2Kz*xtZF4hn>RpqsnifN9Zem13mg5LTQOI literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingRemindersQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8d00c473200c8d6e994cee21270664902b76ca59 GIT binary patch literal 6599 zcmc&%YmgLI6+U-&9z8QXkDYx$1B*-8#C?&;12y&nN)V8^OO{BS(`(o39tKS(drQO>=>$qzU= z#>o#kd6kpbIC-6uH#qpsAhpqv0G7u&`4J~S=Hvt?Z*g*xlW|Ud!pTqlbSg-T=!isb z^XF-aekRcwiOx!NPNMS?y(7`jCAuKdMXsOl(NsNMsIdVPxYDE zQQgds!H;*hmMZ9sd{dVvKX~a3qri48na`SI{LRwT)%{bKj~QS?ws^Ca23i)1>BG;> zj-SIaR~Sqi`2j>w!21(IJN54Inf+&H4jrDla$@$t#LT|^_sqO{O055O_29kJm);Qz zMnO{_M(pbl9K1~*yfXd#yR%nco_%vaqnMEyD&+F!*g7q*4PdYxk=IgYRvSv}&L(zo zP-27F*M5C8Yvyr?{dyX4>t@dK(cRvY%%&5AS~hJAWebV)*dUHGH<~Ks63MKogJgyb z>ws;4&R63gJ!12sJw`^~Tu2Y<=2i`f!P6(3)Kc3t)8K1c=(S>Eq~3bKjQo3wAHMoF zgKsL2acs00r+GV$S5<%9P&Ta@nd_fL_ZnvZP|%Xui-=H^+C;-o`w9no?lqTFlS+Bf0I z`uaEZuE&{z_nCUGkV1#^7SFEL(b47NLL5N2wS1pLt4T;&l9Gekw zh^$ZZtuiu3ehnkUy$uaySkG^;?zo1wc1O0(-EuMql+r3vT8j9i5Db*vJz+@t9hXTx z)|;v>5XB*_{EqmXPsf+U%7oUp_;bbJ%PP%|oqwLp5sv6fOFMc9Dx!y^EPAY6qIXEE zqM!5WjJ`~0MK9&EB2rww1KEO^)HfLXwpf1SYwB)3iZEJsvk3!Tbg6R+n7Vvm=D=Ix zIt86QafMO$ZCrRV?WR499=O%(R;FRF`2&3$zD#r!O1r{d6JWT zob2ahgbbP5sY9j&C--u4KPMmKeGgGYlwlz(gulp2z`vtRD1|q;k?I+ z)m7Cj>>cftpW@{h-+L4vr?BExd=8ML`T>$uN%3=#WP|*Q~ zljsHd1APHpfR57p^eDI>P0&Sp3|xq=(pmZ>5KT#Vg`BzqiO9qUBWYT)ARA=K+2xO&z{izx}NfrjvXXwm_&S9w-jrLZK{J%U1zVx8mUUok<^$GP0EdbmRI*cyqKhfqnX*HWP}EF($r7F7Y& zXQ_O1D%6Xx3aWlfg;KGt{6$qrl`NGsr$PYW(|7F2> zk%X_)C^#SG>D#mmoSzP1(@k&^ox&OBzy;_xbRQ5rVgE!6r~od+)2gPH;@2SXAgvff zDiLGX@T$_fh6@_WTLcs_o^p{5^EqH8WTn&w`^&*4yowyC9cMpOa_dZgDln zEbL<3SZRERt1)J17vrW%<5pK=%-$}>3o4E8ay7=x?qa;K(zwml7_+{Mu~KQ=;cEOX zv?ps=B0kvh>%`a5d6DYeQ%u|^zPbCvXHTw-zT@sEK3_j#&}H{d zG|bnJ7^4||*WFL!eEo>2o6$4wewya%M-1tVzUS^|!F>IQnVw<(aXt5i^YtTs0x){k z-H$R~KjIey2`-Zxwu)^LGj!BXe{7E|3ZOXl3m<8|+>?`)lYqtCK!I O_q**7;>Pc`!~X^85W-^s literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FactoryReportingTaskQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..87e980b94e6fb151868d6d833ea410e14d6bbfd9 GIT binary patch literal 5235 zcmc&&>vI#=75}X)X;;$9HYx@L6a#S^8v|-W=tBltlHi8cIK&WMO-t6&VlPNqvsyvj z(k3K*Bs3|cO-o81lqTSIhG~+S#9?rzX}_d1{n$^P>8H-vPV+w`O@DXq%39gWl)#71 z*muwUopbKvyzUwO?LXK51mGV0LB;ozP;e@VMfgDyKg44i9v8@Ifjpt%N%8%Wh98UX zPc-~ge4osXbMJ_XsK zTE(@>=02-x4VTRAm5S{eu4PxM3VH@CJ6AnvjEtC0&S-FQ+sCY3cF`>DcI+|JamTq% z?1WLOnF`|5*QP#v{*MYY*Qg#FG|I&E>8YuiGnZ!0J^R7L8w!$wv&XJEg$8f-<;%0z z&ynYtBi!8An|=E6nKxgVdFJ}e#fu8sgx>vTwcuD|;)HVx&z?Q|@AtT{x8+`5hIgHL z>cyF<>vH4S^OGN*e@nr#f@2!4Ibf8Bi^fAW(;46I7-PJF0=IjhP{|d{f;pCRjgn&< z#oP%ycU%bN`i+8XJL5yR72(%@u6N z|8IC39J{a?kqhRwbomGK) zvVPsIw|VX*&Bq%bs~@p^I}2}Fc(0;eHmpjh2l}?rfQdcUNX2k#4sG_@|G|g1aOAjo zyk?Y`ULD(H9Cri|1BqO3aSNa!q*SWHL6Eq&0RA?cBA4<{}+;%xbOV67(&R=xSU#<RXHXP@v3Z ze16mR^(Ev1)M|alrl9dR6lY3NBCw@Do7^3Ouu(&_Vnx1*UrqIxhzYyg1+0Rs5*{dM8_yB6|d@e z4gCy-BhF!~sN*uO=r{^X$3|~Z#f~E7{@q24lsVGW9 z=MA0HE$YNp9TWIHFT8%WxQqzTtqRg|CY>zjjojcoBl&??A?Pn5Vudq>M>`>mvCsf? zXW8b{DxO2Xn#)&pw=rUR&mm3QxR9)J3^Q7CwC37&NvhUdtCW+>he^_lR&~&J2WutL z5%ahLqx(=G7yW9v5cw2O_V(eb>+tROy9CB~iL`mh8{D}CeH_<9pA438~%z^Hu^pmO+ep}jZWe-bqO^eqllW1XJbMp{ys7jNM~c& zct9wTS1FXpYgttYX}*w})dE7Pe1bx$d@`F5LP=jJkxd4K()kpH(s@0b5<RAyNsPhlwFlNlel! zdq}15E>lfaEF)(1!0Pd4^S^b?JMnlTcTUN@LAd3 zH_G7A+IuIUZkWX4M+L6tqk@r*`W#J!lw>9HF^|P)@|3h}tj%+F9a$^GL*Nm41OJ{acopBqcX+=TF5xh#2%Yv49_8Iza0i}* zK`P477-fQr5ID#nD3FRXS?@-Xl!~)hN{5ROpc|F7&_5v%r5hE6u7jd{!o?c%hyXee zs|(a+qRo&m77vIuBuraJA-zD7nBOQD!E zIM=;{jyLB8XNQ-!qUKS+cbX#lp#{osVTmZT!N^`7s?3%tM0x3a<&~kzY_CF;m(5pR z6{^feEJQgwUwL(?GF!F~<>m90*M=&yuM1ILF<-eWRN2OuubiiOMIDK+>wOzb!hIzR zNqnx5#Qpw2!SV2Qmfq|-vYk*^aYN6u>}J=I-G_o|_&V8}T}L)6{HY~;o#i*Xj_hp| z)WX+UakJ~lR!9+jtM9KT=q-^s2d1!+ea~kzt0vJY>NY=_)ski*?aZu^G`pP6%vwpa yzv;}}A!&9totZ94v#06Ie2&8;K0iNxg4ue&kAMhHdTIIHxejrhXJUu=z5fFG%$XDb literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FindSequenceDataQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/FindSequenceDataQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1106b59bb7ebcf00e38f3d7ea2770a2daff61eab GIT binary patch literal 2598 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

    Z#{d_n)}?C0uS{m65FLI39L=bBvo$ZG;Y z|L*K(S+0KMt%9KcaQ0*5>PKEe2>MTFKOMRHk#`mX=R%I(eR-~aZ%V7D4Yj`&pH%A9+0^=;zLUR_E$R-sT9L=sA9` zHM#oX%O7mR_%2rFF~N6tyz81eM{9BQvo3huD24dkX_T%H-XLWh1cid@rHtd9Q1C`6 zCMIK^w$FRu%Uv!a(kN^Mx literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d1dcdbd0612c6c9dc699602fc4917b02a0412e6e GIT binary patch literal 28894 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevBlOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1d100369264e8af74201b5b3e162cb764691ec5a GIT binary patch literal 28916 zcmeHw349e*mj1o>y_ZxL2t3weO&~x*HbU4^As{<}gaBa?Q0V|MM6zH=P+ZwTWQ!sQ zihv8^jth$rLG9Ldx@YO>wtF0V8Ex}k!0A?}r>CbEyPfaUz4fYiuWTR6;_v_a|C&Dc ztMi?6?ozkzQZIG=!QW1uVT=tCZ^ep~c*aGacy_($8!u8tKTY%}%>dG*X(FA{fttvm zG*c5 z*awv6YwXvQ8X9Y%v_NA)N=It!9HoUC`}5Q#wl%vnidUiMf=%K6I&_WMq;}rc4%U!CYm&HpC<0t#4b%dpo!g@*rSODHL+I{`!w;8 zCLY$reoZ{0i36HAsEI?GcvKUQY2tBBJfVrhns`zZM>O%2CZ5*BGn#l-6VGYlc}={a ziKCi$Q4=p|;$=;|qKRXgIIf8knmDP6S2b~p3UWGDG;l(@%s_JT2aF$+NRhP5kmh#HViu#;# zo5>loysD&bNk#Sa`nu&6^$n{K$G5V)y0L;YE%?CE;I`+B#&Z^TWBKBSy82a=v)_?( zSwnr5nRil4^O}~E`-;XV2R80$d2KJemsG5*T3kUM+PUY?1Rmc+fix=MtX0bqzJGAf z@$-9LX?^i@;E{WigOBWMIeF%z)oTNrH=e)mKu+N34)EF8*%S$No&`V7(qxgOXL9gh zbD()g;Gu)gNat2>4K%MsEf%fF9W;ou?!gl$0y{ScA3ha4`BdQ4;pD)!2U=d+W+eZ5 z{W@ip%UO@W_5-aOceU<&K5+7I>#k$LV{1Z&W0cuo&XR*$9tiHinZk zt=l(+EGN%brg^vafJUys%}LRfd`YEnBGaM!@4Q1i_+jD0hM4t@Yv$l2D5w}|p z<9w?s`%&rE(|b`g_cqVPbI?0@^hjX$iNMkItuLQ$J$>LyEO9HdVTn-ax#;K7)-o5j zwZ{dH5f72KGIt0HGElbZ!r-fCgD*cIFHp^v*UpC3bXg^5>Az&_Nh!OgpaN1qIA-EHa-!9DxDTy!m&y(3V| zS7kpK_hyL7Ufp#(L>rz6?0Bqo-2r-1&A|u-DjPR5RCIGl@>UL|2de-1{d=9y)WVjN ztK~x#_MDJC8vo1f!^Sdi<*-4hQ-3_(7(GMJ>_Tc`Nfrpz*U%Til|B=)_3QZ`c-mVHbvw)_v=Pt52Wbw9VP4<(uPLfEZXYz*$Q_(HD9;$2 zcV{Lh(>t+_Y+R1{v_j6OiNS|n3GO~B=TC5p>nm(7u=%0D=~EWhRdU7UHH(&%&uFZu zUp2SBd^y$(oYkZiFRsm5T(P)fc}_!lb$wm=lAM)wIX9D0PDx$u_==Tdt4kY}R@9q* z1?k0$>uPcqmDkl&EvakFsadrM%aj$%s~cD3EUv4sfT&$kWiDJ)3}<#&pm@h&#ll%q zaaC=_w8ol674@^qvEZSlN!{Y|>N(~0RdlVCKC>Jc)-JA)oWoF5_n`}g_hLSlvmYW*yaVJ&}4CCRh6~n4UP3^rQKKZc3n&%V=8WLEU(4`-6_qn z#w=ZQQ^n$jf^@8{ybVjMK=Zl_SE0%R(`_AfGR_jnF4bBpCz{&OWm}VUENGJ?@6fc7 z{-FhITNNRskOuZzRvFj|6(O{6wIYNR@n#lkjhZ0it1FwrG~l3cWm6dO9Tcu?3L}$) z!j(;7fOSx~vMCIp4hmN`g(1>G;mW44wsBCnQWRDvnCdM`UfGnRUZCuH;lfcbd1ZS! z>IKTK7cLz2l2^8uqh6rwdf~!RFL`BqIqC)Kf_h=Zchn14wigC=2ZgH;MJq6yqAQ!a zpfz%xtwD<_hZnBm%x)tWQt`6a$cqp`{viSviZB;M7GYk52=IK-=nMTf8Rv9@}ZOR(T z7cVO*Uv5qkcn=dRUc)YUae3_o8Xp0dmakYU=Ri+ddJ)FG=`)K;CSYI$j;XI$(OBJp z=_@qi#iu&PwzyP#V;+}kk66%$2B(-*H55sJUL*l-uLOAbB*4v(0PQUS+E)TRGyr&d z(Ag!BaiEcL0Aw5h83#bd0g!P3LUHh@$vC(>CZNYi0xL2-FuqjzM3^ZEq-K9NQ{+P_ z^=71I=QUI5XLe0on>`V!+40O&`kCFzyhiDenw`c>sl%i?dP730^R_3XI`41H$g0|^ zhEbg1=FLHGtgL7lkES=@t)!(pW^ClLk{?e{MoFR%%{fk~h+p$UqvXo)9ZwU}J! z?rPx1%9kS+L^D|sEnz|29SfrV7Q`L0AX>qKxJxF)4Z~frpcNNdD=wfF7to3eXvGDz z;sQG2;{IE4(cB7BAF!aE8})-&RCAKK<5UQ=iOk-h5b~FZdW4D0KB15m#q1ZR&g>Z` zGW&)?Rur>;C>`oxBD0SuggoeGj!yaRIHkfL2^UD=wfF7tj%xx`&EO-9tjNdnjnXZOJ61>FPJ&hDW# z)X95{;is&wv3_yI#46edb&1?{Wz+j&yovg%7s1#pOpxzu<)$~Qb^Gbo`_^GQe?0K~ zI`!tYH%}eBG_}N7MI)5WpoJkaCc_tc+ zW~hZ#OA^KF;*CW9CjTy~t)@0o^Y4)+PR?(p;w@7_lib1v?79;9+tPyKkT#KjpMN)z zzeD05Nc@1r4@vwZiGL#T&m{hZ#E(e)D~TVI_z8)3N&J+=&q(|miT6nSJBjy6{G7xu zNc@t-uSom{i4RD8NaEKdJ|fXVB0wTYqLsus66Z;LOyWPyiqmYfa5=paNaVjEO@f?q zRKJ z#NQw|BOyq5NyL!QNW_y!B+-^cI}&~p9Z7U1(Un9u5Ecx3F~Q{*Exwy~;u3GF7k zMLtYva&K9fDBcv`CGkBB#F@#VWmX~XMrN|?h($}}74ws)hPgHz zY{NVo4zb}-8xFJKa0M|$4zi&Y7g{SWpcNO;iVJAP1+?Mb%QA+A&j>nWJSSvt8|!-6~cHMLKchZIHaRGP&|ycAw+rL zu7#FuxNMV|Y%kp8wS0tVZp1ZDPZT}q$;yj(mN3}W)ZsN4y}?rNVdNXI>E)Fb<{K>h zYG-#c`O<>3UI?_bv7xT6TDmqiR8{9layB5wv#J%->KdjsRs)NQn>i~_o9|d8s+S*; znu~bLHfGU^hI*_p)f+ub0WtJyuNJ@EWjPle)_TH`*#*xE951j}Wpl1+FSKVV?0WV( ze&Ww$f<_m{*>`c3fb@I#|642A+aNIFL=yi10;5nQ@k0<8nIegQ0)f#glK2-87{MZm ze+7Y2Et2>N2#j=*#7{wB^ou0^4FpESNaEi?V3dp`ehva7XC(1U5ExA(iT?nB5jK+e z5ClfuNa7<97>Of^00@lEkwhy9jM$OHc@P-IBZ>b6fss9u_$>&G_L0P=ATR?&68{AP zvqB{C-ykqkL=yi40<%XX@xLH2qeK#a0)bg3lK2Y<%si3AUqN6tiX^^Zf@Y`)g5yD^ zSu2w8fWS-^N%%luc8erpL14y2sR# zc_)}C&KP){c}_B~-$&p$i{DfXxdnsB+|5l zCdtyYCygJP_LimtX*xpF!P0ahO=oC2S(+}S=?YC3OQVyf8#KD5=}wv+&~&#nJxS9G znx2-XH))cg>1}CJNYe+J6id^WG^x<^wKV-m(;u3CmSzBH(x4e&Y0^nE5SnyLlR=tH zXfiBK7HP7f$+9##q!|QFj-|;Z&0uJ9ElnP2hCq{NX@-(!7&JpI&2Z9;fM&R*$tR5g zO}?cmAk9c<3M@?_X+}X)XlX{1<{D^5TbePX84JxAOEZo%%^KKhwvnx253;rFX||3vv-Ox;H(>hNh!J`d2C>a}&hO!AYzsHoy}X!h z)k;F*>QVR*B?&k}U++pPVQEHO*>9%l7}u5euU@L(^l)NK;0!y5=xSFydg8V8rWjWE8KA;`DfjQ5z!xMs18lJ%Nl8 zl@XA`D9LC8qa>rP-iD0YDx)@fTZd75BMCTUFdQE#J{ z-jj@aDWjfxFNaZz(Hll7MzY?UjFOd6Z#~&z)YnLXQD38vo`fG{EQwqX9;Ly&oC%S4REx{tlybV*rfOjWm4#8Ko(s0eYIlD8opH zQHC*4PbZ^+$|zk&zYcZZEF%L(Sw^OwK}MO%D1(|fWRzoM;WEd_*3IW2TN!2P*$$&z zBL_yg#vnb1A`MbTIr<=nQJ#?tBmBXFo=Zl9l~Jxf*kLr($b->PV~CzdMnjZQo<783 zG~5^pqv6IdeJB|XQ$|DeVGg5wV>pcRjS>2AG8&Mbj0y}x&nF{88RhGS z!>G_GfKj0_QZFE*k;(@Ap#u;N^G|m{Sk0GP6%4m!})?qZk7zd*X#&~@k8I4y)%J>J!Ll zqB5GGPjna+8IxdCWK7m4kr<|2| zmN~0oe&X3Y2YjcP3O)!r!BS)9@LcFTY+%fEJ{ZW$CdK6OJRlz{iOJ$afMQs6Oj|w_ zD3;a7XnYuu#+rQR`EZ~(w#WAo9|084j{CmH^MMjrv+oQyfD+lyeFt~}P#gB4Z!aGS z)E2*n-Np-nl6Z`-fsX=e$NTwa^U*-fu0yo1D^+!;Ysw=^7%lSo(xYZUjUTl$@LWR>wvO7(>(+E^*}kEIi6I01JEE( zqsPY=0_A#c7hmx201fu+6Cdz$pghk(@jhP!G{kdOoaT#xhI-x-$M_PUVV)MTn^yo0 z_k1jN@*9Chc;m#)yb>tinD}g5aa&aeb0V?thM}N2#Xo_zRPvxtCruweKj_x*~ zV&CoT3w}FLiEj=26Tbs!n(rWcpWg{o>O0Kd<#z#1_r1lA@wTuc2%E?^0L_gt*fo43(6ur1SPI_+G%sc$ z`rBrp`TQQnux{NHt9{Pe#_}zHWu0UBz4)i`zp}0p#{GY2Hp%}h?ZCYB%ZS`5uzZZZ z*t9SoZ4qeD7M!+EjzL>)MVQYTw1Ebp>)=%~{iY(r^tlT`a`39+NV|fO-a>O*(W70# zQY@ylb{S8ySZtoZ^BvO18eSrFuVOUXYDg;1@R<~L8K#q_`z$KKh%u>{5QV*m^lD?o zniRGj$_uYQB$Z@nCZ&ZaY(^y2-iR|P>_e0nUXe(ugAs31@gXYSqBD9$ZG^xZ8m1t4A(Z-~(Q&C=c)gryR8*NRhZHU7DMN&PDB$L9{MS0~JL2&*)%M*xV>Dyw;J_0HdQxbqrD1@<=M( z=wwpZ?I_M~K3c;?Io#6Myg4rhA3>kBvoYeGb!x4lvh8Cnrienss14fdok%%Vhk`T zY{QfnUY|*-)JQX_v=D{OnWSbI=_ZAJnexIbHc6Ek15IjRh{CWSso6$`NnxX=yzm-M zQge+=lgbQHSb<7vo{?oz)?lOQq0wf6k!@1hAusIb;MK!*dCK3DW0)H0Jl-ex4!#p3 zoev9yCLqD$y^rwwF#35|U+)Gi3ut*d%6k*v1>|G%yrujBpcvNR9m015#j+h$!#R2WrcUJ=gI^ zfRcEnXAD08)Q+$9^ydeG+VlOM1bzs}&rgca_@h7__)o-7`C~vG`6uEOe;lZjh!Y3+ z6F{Bu{poss7^sUFEvopFKwZUrF^wMq(nX`l<4*x~6FWs${xnc`@eKbfe+Hj`I~pDpca%4P{6BYC9FM%~u7qV@74F!qW2D>{oFAJO9jH=QS7G(O9eC zNznzjOMVd!DvNeeXJO}ZaXu=e_7{_po!3RXsqFk0nVp^E*YQ-DcDVRV?R>wcv&y>T z*UH+?{pGI7AW4FvD2&9UH-TgOd zAK7TCl`c&zRWSWh6wGe1OBPNQuiGUmo?XIA8BrCo`=u+SUCv7!R28+yB`vC5+Dji- z6}ac6F0ftZ%Mw}@yVqqXwq5ee6bJNI^V#+T$S&NqfTr?@)f zt8*9U%5dktuFm*c-NkunxN|>OXME-E;#?K(Jiyf%U&p&R-xThg?&^%M>Rp_dg*#`s zI^%167w775=PXxee8unLTodk`ULNi| z)YTcM6u3Cw9PT{a)fuN7xH#8`JLkJP<5UC}=M~}31+LCGO~J*vA>6sp)fuNSxHvb4 zJCAmC#_0_%&MU*6$GAG<)CU*mTf&{kxjN&t2p8vD!<{F%I^&cH7w1*s&XZi7aXN*I z^KIeIMXt^`)xyR3_HgH^uFg0O!^QcIaOVih}+R5=?=;D7kz>wy`^*dq6ptNC3hiwXTPc8of8g7eS#f4Rk39BmwVNCoG= zbC0tm+Bot|3(o)BJx)cmapVygod4cE&W+K=ktb$w{y*+UC zj`47hQy*;{dCCgMF5I|9?HV;otA5yhG^r+GhDdvxW{RXHjX^w; zxM=GhXLYo3P~_an?l}M;=1Nh2K5S`e@_G zGmE(B;2vi~v~lDSM_hDtkFzn_IPyd!E;_l#*%WOYd4LiZo!#SXjy8@wZ;6X8?s4vk zHjX@=iQ@wm*ZE>gv~lEVPF(2jaqf*ajy(K{i*D|5wniIAo)yJKclS8kqKzYumg02U zpWGLSDcD_L7!b*)*>;>GwZp&jIBTMBHIK9V{P#?$rzZaqiE(;Ulm97+^9VmJ@le9gNIabIvl8bMeoo>7!p}>L zlbM?QFG!3tnVS4ZCB|t?P5u`p9!K~ki6;<#S>j2AUy-kGml8fH z@eIPRN?by_Zxr0*|#=69|xyjS#j}2*^$#VGE0ZN(YD`k_AJ8;>s$BY*7S3 zRu{w_7Zw3Q?bdd>XX)v-dmMWim%JBny4C6F>FLGR`A*$iuZs7|_Mt5P{=fgP>2tq2 z-#OqW14ktTX;q7P~Mk|tdf8I<)gj(yU_Bo~FHTDIi6Ew~!E!Mc8bfU(+lupuk45cL+*C;L3cs!+( zHJ(W66pgo{bgIT%Q#wuKeoCinyd9-w8t*{q3{A|Wbe1M&Q+ll?=ERD*1n0$z>%{dW zZir{EiJo!L%_s3a66GWokXT4!5s3;CH+(TkLi47#~ zC9yG9+!xQbh@P6*MCoP{TQsp%6WcV=q>1}A@qi|_YvMso?9jwcO+2KDU7FafiH9|@ zM-zKBu}>5GHE}=_2Q~4CCLYzqW14te6NfbMgeDGa;z>j}cwQ4n zH1UEaUev@(ns`|gM>TOw6UQ}iLKClO;v^O1RIE77S6`t-)yhN_y1Syjub7F1V^tgWqUC~v5$t6j!fMoCp&?y_6TD=RDNbIWZe zcjVHl(z-o+ueNP%ttF%2UnhIK5_EHm3sou?SsXKEB8_?)OrRyIZKpH)^+lJttlfe^D22LJI32c6_`PI!v%7<&$D62fqx(2rFZ@FiC%kJj_ zCl0l2KN>u`Dr7iPnGN79CAjgy;Er7gcJ9mrf%PZPKho5)WqrtU!dzvVk2Vi%e6nTz zn)8otIlq2u$f71ccd@b=$XO@K@~Nh;EZ87~X<7GJ@W^(Q=PSYtroun=WXsxPf7fgX zXQ}5`u54NLG%`GQX5;x)51f1T(D{}7?V`z&-Db90pTLPV=N`H5{I16WM;;37Ivlun zb70$+z?S<0$Da#%Of9FXzyS@|6O9(KZa%pw_{>4KW`r@C(cKu)L!oD>$Y{uJ=hnW^ za`5Tk%R7U|9t#}YzH~xh<>`>2vO{C`kao>y9u6M8=PTL^*`rMzmbjM}w(OG1P&1%q zi&WkScy}&WzA@Ww{4Maiu$u^xI zeC2HLr3d8&s@eSN*|3@}spO1&P^2v7V_Tnk0MFs4r#Ilfe0us`JkX&YQA1w&dFVMK zO!K|-Wr93lA8OX%h8@8pPXspYF!hMwo_&5Ex|Yn|5vcj=vLAqZGf-u(?m8Z#b&m(O zKH9QoKRv1DV1xpdjh-GVx;Z3yD+kd7)#v=)UCw7}e)EZy@}UZQPRJgO|JC+kW0|*d zaDUXP4<7Hp>8+t>cD}mbF1KwkJv0&a!4vCRRvig69S-iX2N4Wz-pYcZX#8x{7Pn|V zIx&*->oy0U-;N=qW%pW)vg{hcRL~2l1NRWim&UFc*CRJusJg;gOdEs}BdBeF)FmeDivH@TIlE(_4cZA3yi( zq2{v(16z+vM?B?&0(%a(oIKm|a8vN;eQFlju;bjZb-@GcrGr$4?o&-=ZVjsFtz1A4 ztkt0due=ydhh9L>ZFXSuMyI{(qfetRx_895@l|Ddx-y zYtDT5<=~DZ)|?r?u)f0P0vjFwhz*%*A$->&) zg%t}cmgY8;SJ&5-FUnnBmwPiA<(Agfj;UBas(N}wd9~?Qm{GE@t|oUud0kD_qPoW1 zniUJM7Fo8mx^Y?V!n*njh}uO}=ITU+aOQ?ph<7xWC7dOfRMl2YZmd~QQ9q*`s~TE= z)GaKpo>g97Mb}E{GmC*1zo;^D7JG|Ty`pbf-VPTQ3rieTw2E&Ncvxh87S+|1SJht7 z;)TP}U~y$tm9^y!jrC}w?N{(#T|^OMDsFBpug0_7KHag1oU-7iiiHh@8CX_%8x~iA z=5-e?GnEBq+Pa3t)E5)TF3nmCCz{&OWh;|(tXPvJ@6aSk|IiAxm5LBjNCSJZstjy} ziV#|tS`k8ucry#NJWY`C)s;i`uWZUuFHm;9aN($zyt2I<^#Wzr3m1-h$t&B-Q7=$- zy>Q{Em%OsQ9Q6WqLA@~8JL-ii+Y4j5gThsaqQ#d@(UnbI&>DHp)}Zy2!wXk&X19@R zsCe0Htmf|f5Kf-V$cu1qY#ya*B04^=30J)#J6 ztzi-7MTnpqqCCtMh9b<>gGHDZA;M8ybFmO29H9z^;vz&)k5zdT48?^a%z4`)%!?4= zsJS^)%Q3?-{i-p;sWI=2b6#yN^K`0`O(W+7tBjngq_T$cg-c4ymzpyKUbMuDSFy=m zSYA7p#z(-#<;xb!`OlM{QH*hK>h$8$u^1SEW9loGHC8uZ?h1`~@oA2+EiTR8dB>&M zBNp_b!6_z94Mh^57fFEID*+xp32-wcKzmDo_LTq+4FH}Vban}39B5=502v2B#sQFV z0Aw71P#ipJG7j#J3FtABz=}){j4w?-5oQVksoCGn6!}m}y&0+5dCgS%nOzgtW=}+F zc04ncerC5auTeUrW~VVz>M&`J-jI;yyzL2T&iflPtg5!EVK`^Fd9%{!*EwDXvKxriVJAP1+?MBB*MbcJ1$r{sm?)W2^7fg9=LLJ z50wdN(3-fix`%?)unN*`RFH0?f^-`dq}!+<-9`oJHWI`gr5mQ86&G47E}#_`(25Ia z#RatD0y^SS_fT=Edq`+@4+ZVq%K+nN_aG#@heUK^O=NZtLb7{EMBRgs>>d)K zn5Is457L>Fl+xKO>R{?*_aHlSqM^I#>>jwhpnKrj**&y|I(d&V{FK!-)-S9WS4Eqk z4iOu!9C{y&cTivVq8B@b!Sa2q-0o(#Y&q3(|C((1x;3Tw>|SiBr2%&FQY$U7C;b*% zx;Mw(x>C{es7UQgt2@b9CVYAPc&{{d;@80#IH&GhQxo6c%Q@vBt9hZ5s79J0TMwHEhNs7I8WkZ z68~vdoMxB#OKJC?$bUk?2gK zD|?%>j`r^(@(CK%SXI4gom5CdX=8(MLpwc-L=aRIHkfL2^U zD=wfT?oc~!K?vsAx#iipxBW$yXGdbw{AZjSY2m)zY=Gp{hDpk~0A@npG{ET-PwU zu^L!Z+{{^d`dr77P`&Di)Lg{-w2=#zHPmB0sb1Y-#E+qOc(wQ`F59`puvQO_%r1CT z;CO+(Dw}f!d!ao`W!JOU@QZyG6EwIm&c2VU1f)N}|KD83-U5LECzALF5Ez6ai64W& zz!XXR69^1ek;K1%zyKCW{3{3yYLUdxKwzMYBz_J8gI^@^Zy+!rMiT!H0)u2E@kJ2Ou!$MiL)^z(5>H1VCVLjwD(@V8D(f&V#@p9!dNs2n_6z z#P2|0u#Y4@1%U}5lK3wWm=q$3{|14HB9izY5STn7iT?$G2_=&FGYCvFk;Gp?VB(1+ z{ssb*Q6%vt6Es0Z5F8IOOY1%>4*3z^mO$TV&Tbhof=>$zjOQVyf zGc>xT=|Y;W&~&jh-AL0Nnr@b+2We8E>0xP7Nz)UWR7=x~G-=TEvNXL((+8T~mZmRh z(xK^VX);LD51I^1lS!H^XfiELHfeI8$+k4Pr0EY$uBFK%%>ZcfEKNRX211i>X$FyI zFf@ZK%@EQIg=UDQDIkpjO@XB;B+W2r3N1|$X@)~nWNAi_<{D^5SelWf83oNqOEa1@ zW1tyrX~vRf95iDs&3MvGfM&dyN{Q!P5cJ7nJ;Bq_-eM5Z)e;1A=boCu>1Ls*aQ4mY&-viJ&4D2 zhw!tVB8@#H2D4pa0^2R-vWG=A+avB`d&M@kPdvi*i-(qc^V2Rnf_ZXXR zS;QJXn8X?}x{qvP-eUeISd#A3V;n|tMl6it3{8(EBTX5_>YBqS!H9!Vf)TIBkx{%d ziqqpAMoC5jjFOB*J%Nl8l@XA`DA`DYQL@oWPa>mM$|y;1S(lwQAeYL-kyv) zD5Lgz2ZxbvbcB&^bkaMLQ72{8QSan1>SE|H>SA=(bu#L#jC8%T!>F6l1xDSBu6h?T z>Z**o=v^H~J&bNJ>S1)(yOB|MWzEdKsxO>SgrQ zQ^}~OGD_8ZI*fW7yu0%BZ*A$6=IV^o3D| zk*@b8qjY7|S5J2sWf~bU$~5}v8D!K?8D;3`*P-s4ZDhhI+sM*0$tX)1Wl|G|jB<@^ zT;>`%y7?UBD5GpW$6=Ib2*kM#)41rOBF;pKyMnjd+5Phh_ zsL&{YQK4bz1!QC>qXOM<7!?_XFe);J>4ju8Oc@pG!yHB%J>cwO< zQ5hBM6CFmS#v~Y(8YTK9GAdC8B_Hs zWHeP7P0^=1jLM8@Fe)>q>(j_+x-y!kPj?v2G|FH!)0m-`koA&U%z@E7W3E1jjOHq%Ir?17$omXt zB{>tvV76kcEzN44ZE{xP+2*W<`HAQ7T=4BD$i>fs)tSP1GVRkJ|7hs`|_zkJw?4&gS2^H1Ih+v7;wWDPG}zNDcJKLnO6c8c$38vz8J{x=7c`eX2-o1F4T?aJM`zT&|F9jOqeS@Fi zHv^6KzRh3c^+031E&Kt#3}~$PcX*5305r~*h!~AP<9&XVWI50TUmot{EkMP-A?Odc z0!{SI;%R&Z&?Mh=*wNhvRN}jxeaUYJD)p^mf97`pP4*pN@9{fAsJ#?py^_=KBmQ)73yTVv^Ysz6NM!OnX+r*8Iw<64E4cb8c(RJ`DnSN4{VS3($ zAh~!|akzEiFmI8$t?1gia4{BBTIqq8Z8annXZTDCyA0Dw z(|s0|V8obIOo+nXLwY3{u_lFWhw{Sf4@o5(nn`IP3Y!s0wK3vM3i}Y{g;yk!YHP%s zRD6hvx2X0;f=OXxqP*}LMS68K5=|;GL?v33ZX}r$b}GsXuUe#67o(L)wF*(#zeuW^ zk!(`fx+pKaj*(OkqqRx34pG?9NGjE6V^Y}5C@;LSkyJ0kZ&Lmcg&mHhdK+y`3Y#0{ zh1WWg>T9$!sdga>TOLVe80}38yB+0)S3i=9Jf!s|0hO)=62MutgYU#7h9icL~wMn9A4 z7ospMNNT2$X;RpzDKET+lhkY@%cQbG6jq>;nqy>}lr`9BdT6wnXXKbvPRI-UIe2w- zU7qrHp$SN^c<(-bKSn*ZaCWdSWuhkI}0+kt#+j&}-w z5GaNW?!{xA@J+x6Vf z_W&jFJkKqBFHkF9;<=9R14`zVo{@Y%P;0*0(}y1bYQy(>68J$NKR+QpRB2Mh*j{|kU=cH@-A)t<8gs9?A0Cf^`#bkaMNEeMFpFauIS!@%X z_)|b##MAt5{Ar-B;w}8t{|rz!@d5t!;8~#V;&W)81M1=Fh?aUDD8(}X%c3Jdsh(0S z7heGC=~;|r^ou~fJZtbm>m{Hx&psZ{Uk2*!d4+w-j{^1ayn{v1F`&MlPuVN{I8Zvi z|J;Yg8J4Hs-fRtj1*o6*8n&391j_WzW2O8QP?mQ&8^BKkWqX^j{C*WEhn6{A-ecE( z$vQGGmN}ebX@jZjOWa8NT9BeW^H~O#jrT&8GK+DT*_Pp2WgL5Jfl#rAUN zlw+KmqwV{Zv~rLC3U@og-?LCb623Z!9p`I|RH($i8_JIM^>!*?($@vFV@74F!qW2D z>{oFAJO9jH=QS7G(O9eC$wXv&y>NH_F=1{hRx%0<{081+dHTtwN|`U?UsN^N37c|EcHn+eT4^ z>Gouf_jYk!6z<&3)fwN0yEs>b zJNIyP#&_f{&NqfTr@A`hn{yZE%5djiuFm*Y-NkuvxN~n;XME%C;#?K(+}G6^-^RN* z-xThg;p&WU>Rp_dgga-tI^$b>7w775=WJJJe8cbJTodk`>*|be|6QDG!=3Y7opEM> zi*sGLbH1xH&KhuWUK;K^$kiEV6u3Cw9PT{C)fs0SxH#8`I~TY*<4gn>=Vjr}g|5yx zOToptA>6sh)fs0nxHvb4JCAU6#@P)n&dbA{N4h%W%m)|eTf&`3yE@~n2p8vD!=1;v zI^&E97v~k>&f{I3aW;jE^KIeI#jegc)5691_HgG(uFg0M!^QcIaOYB2XPlwo;(TYg z^AuNSoW0@Vd{?;hG*@Sw+2P`Rcerzzt255}aB*H4?mW}g8E1sJIIjwKp6%+4vqfB- zSBE>#adpO-BreWt!ky>2I^!%87w5I%&eyv-;|vrR=XK%E^Ie^Bc8ZJhJ>kyfuFg1f z#l?Ajxbs3+XPnjI;=Cc;xx&>MXS}#L-y7~+>FSKLVO*RyhC5feI^#?k7w7xJotL;e zlWeeO_uI6{4EGG2F*fHwV z3C=&`|K%2EVYG4NAr+ke-aXEuXyeE;Eja&g_c#^N#*s&0aQ+API5$QcN1m9$`Tw}b zsf;#`JYa+KKf1?R9BmwV9tY?D>mH{n+Bov~4$lAN9_OZLhUASxeEQ>adJd}mwJ1y5Z4bjGtXSi_T zagWm&Z5(;z3m0DZILo7rBTtCo!sj06mT2S117)~~agTFrv~lG5GhD>F$5|0=9C=&~ z7n*yV+oFvlPq*PB&OOfU(Z-R7;ov_Pw;xM<}bXJxc;S`OOb{2X-Q%o|HjX@1h>JGv zan?i|M;=1Nh2K5S+Gyj*GmE%r>mFxav~lDSM_jaXk8@A7apZ|eT(ozOvp(85@&F|+ zI=IK#5N#ZJ-Vzrb-Q(OFZ5(+#6UPTCuJgslXyeG!oVd{4GCH zJS&QeF79zQM;k{TEyd}yKe;au6S2F%Fd$M+u`M`9YO8he(w~{$ot@pi032z^Im3k|HaX{NveUy?grnuZNE-ic(Y0@OjmM zqI$J}@~M{uydJOD@apLCp~o=1ek=oqH;84F;f=;J#_+~sna5Dy$1<;>et=~@L;VQL zI79se%lw9V7Rv&LnvG>aLp_gWAw&HP%fg2GIhLlOet~5XL;VuVqK5i4mcUUU{Fx2m{ENQ4eVp+;if5Nh~q5gtp8AH8@Wm!XmZhh)4XJ`b=@`mQcvVx(pepNIy z)~`y2#`;y+&{)5!7#izWRYS{*{Az|4hh=p`D}ZGULo0-3yrG#`CKy^#EE5f_IF?C< zRuapQp_Rt6rlFO^vX-Hh$FjDeRm8H6p;gARuAx=MvYw$;$C4UaJeKthEfLEGh8DuI zp`q2nvXP{rJ=RNvX!B=#@ZyqoMW0vXi0p#}6=FSoSuwG%WiV+9)jh8d^G*{R}Mw%l?Ko4$A?C zHUZ0lhBgt)L54ON%fW^=1P(z!J%t0|1#XJ=AQQVGV0g8nv7NNKU#bOk9qF91rDT-w%?n1E~#R?QF zQLI9-8pYix)}Xit#aa~iqF9IGJ{0RwY(TLQ#r-HYp?CnrW)u&i*n;9A6kAa|jA9## zM^J1>u>-|U6uVIDM)4?$Jt+2~*oR_2iUTMPqBw-&Fp486j-oh*;y8*EC>}%cIEp7w zJc;5d6i=gg2E|Df&!Tt^#q%g$K=C4qmr%Tn;uRFHqIeC(>nKj4cmu_oDBePG8pYcv z-a+v$iuX{wkKzo94^VuF;v*Cvqxb~Hrzp;%$U>2g;v9hHe1*UH}nFA zUeM4B8G2zuHx0drp%*puVuoJa&`TJ4NkcDX=%o$4jG>n`^m2w?-q0%;dPPI8WayO* zy^5h%HS}tRUfs}Z7<#;+Cm4F7p(h!7$k1yVdM!h*ZRm9jy{@6xGjwX`^$op&p*J-2 zMuy(l(3==~Q$ufN=*y@R25H1tk}-r3N*7Rmsy~Wb&ls_|eH@QsX;hj7hDpDrUEdV=~jyQ+lOMNEx9J$U@n8MCr( zpLgM|_3>G|mH=L(Mh(maeeMBqs#3{nk`-Ahd&AMJqf4^ZZg6KhKjV(9qq9`SlbV>2 zs46A151q)~v-13$-RCxL8=Q6jeOY%dy0Gca?0XNNTev@a#!QQt1S6C)amBvueKSjC zEna!{*kW3$sTERFRjOSQlD%(U_Wnn+jz4_v&YjtN_MMYP)l-$ak|^Y}=Ge6)Have~ z>G_R!e0lVagoar&@6FzRKdU#fma25RB!ktptfdFDSL}yAW^G*Y<Z|A(M!w=fEj7p794_SGkWi>9z+p0B8=G@I$OEz`yoOJfY#;hd=?6`D0 zE-67(;&X^A)v0rzoC9HUs^k=SS%u|UBa>jBU|y4;$;B=Y<@58&oY@u&W+?G;7VFWu z+3T}*-JNsWV32d_6s(`Dg=@n?M~zLk>a49Q)pMv5+%WWEfxKUJq=P^I@c$b8y3%&C zxGN7n%(i6kt-u@xKLj(KaCzTY3_Kqf<}V5BTY4yd1RIqQOtoYs#QX1!2u>E1(;Ot!w z!S0Z?YtFenN6sBtANGW^GgOFe5S)MRp&1wEFLdvI_I{MZQ7DuEGg?*_F4+@92{4hh zoVLN9_1o%#sT6fV*PL)^T`+fcU8`rFKd>|Vj*Z#tPDFOZ3njqh*>$BCLee(Ysns*=mR_Kk>tmePy#&nVxqEkojA95L-yhQaCo)$DVr`nz(a}f ztcwoeo`2uN*5Ne54kg06sLR`ERp*?NBRchl65+Y8o6*pT*B*|bZ*UYcooUsxx(gK1CG0O$xFD|>^Zh+{O}UOt@%=- z_1M`&F&nrGm%20~+g5C%JrB6&7Qd9qo<^H#H4!)1ux_^r*&O@q9>U$!=COxcK0LT} z+QY+mIS&tRn0BwN4MRRWxH(=*%wc$NC$xvh%9zvez|`2oV=<+}0}~V0ZQ1bDV%yn; zb!%Yny0GQ}cwfj`^U&b42WMnIvJqU+T6;));cBae+gXJi`Io&y)<%A%^Y<@;cUUL? z`4em5&@W$7brN9A;@S3NztFPRK6vLldweYd@{y^BTVdT z&Y?c}(PJpiSwapWS3FP-#kq^mDe?-3j-fa+i8%yb`NT0a0VXY{I;{sg?Cp^6enauo zu6ho2=6r}8il2LRF9~D&;v*7LnZbL4tnFBhWLFR6DFL1c>U~i>E@k8*k1EHPd z?6DK)Ry^bmguT@}Vq7AwoU&OEdwfgwt`+Bx?Eu|cX_qWB?}!PEU4}m)$G2Dt zzP~Nqc3Em5!{RD$r?$xF?>Yz`H`)3$@Q%2JC9jZma5n5A_6Cx*U~$&cJ8{HapZi^s zvF#856_jyrXJ-%JVeMvNyAvbBl9iLgwmwFN#hRZFp0y<{m^HRd){LXPVtcdSh8q>! zl*u+KmI&67^|8R1tJZ`ut?6S-SU3%>D*4@(xO$8HaKiGyO5&ex=TF?7b?16mHeplG zKY+(3;xkzV_c<}`gWZN?4fvCX4^QioJU%&HRqErCT(}`?$t<|VEY+@i=T30lY29JM zCFt3sN54FJ&(yK$ZO7252}v|DsaisaCWWR|gGq8cvWhh)-PZ&FT;)M8N8RJtxj2WKB zF0*+GcWrQK?P(6T*wDldX=744O-vt}GQLMLT!Q0ub;hvd(Y=z#r=iWAUe*lQcz#nG zRmC@1bg$tbY;VC!n*}%GylE+aByoew`!hTvJvnX6B_m$H5e%5Wds^z4y|L|gr`zi5f!J+mDa!THXG6C4N6V1L0PGT08$S3JOomM5ZN1F$hT z02l(mmoFPY!v@^ri7!6_z}Fi)0u390&n*W4!v@@~!q*uafIZEL0K*2{&Bd1$8*n!l zUruZQK9QVMVAudmnFD}f1MYQ^&s|HD-6uK`&Js<+S7ZlpW-tlw0Uf|uqDi<&)=%;2qJ zw`~sKG?(41Ie@dSLije}08Vp5_^#jpPIKAKmjgJ>Ww%@o;BKyKqS&>TXf9q^*%4^i zfNP>ccr#@Ku8Cq7PB!4~hifBa*G5hqu72PhkpsB;fp!xXxMCQ=I~5un zU^fZ^V1^C2CW_r3*nn%I*ad+NxON714PXPV=CZeZ8*oh&dyBULS3lT0x(&Gc!QR1b zz%^0qE!zfMOO(Al2duM;^-3(xE|$e1>-|?imgPV&E-na1$vzCh^C}?gHP?Y$QPvBs z1HpK@qHuKWgfOBm2*=lkVCY;B4x|mi;JF|iN*jVvazXZ!Y`r4#bzm9RInMPS$j@KQ!OLTvWAa$` zVgf%C^y#VaW1L~hV_M>|9MloX6Gm9CU8GXwws73;(yeXBmT(>iT_2w^VdCgacxAE= z+TL>3xtf)*n6SiCGnDL*3?(}g>*e?fI8e@Y*7cWjeo*8u=bT`{Zy#1!W|((YLVvKt z4V#s`M%+-*#x0YToR7OBvw0lueawbwXC*u^th8Fp&T?quX^oXUAD+dS&GX?&i`hI6 zo}Xk zNM`eT@e>ejK0hJe5B4Pm^Yixbez4Cb=I8nF!-m;bKK4-pHv1TXl6_D>$vzjLWFG^p zw8n*P@@V6p4kg>dS!wlyZP3iN+QGJ8W?SRJHdkhgc&i<3r-T)4?TesTyP%~&YHP8> zm|2SLfl;$OP@SbfJ(dC;wiH$a-*L*hwv%8v_r4J<=iVToiEKZBl0E*cgdxxyq>V|- zY@{miDEER-wbYc%7VuoLAN*CS?0Ws?KQ@d4LM!J-f%z}t*gp#lVjBBx6fL~JvVQ-^ zF#FN<0oIybP;w0hfNRh?uE7$qG<>MJX8UmASUy}jT(h&_Yf$vk?XXnE$!1CcHz%;fEa82Z6TY=@n&46p7&1^&9 zKG9~jDR7^tgKZ3!&mI@HIdGq7a}qvS+-KK;n*{gSb>K$9d~B=WnrJh7P2fI}kG%+R zpUB6K`rPN_6K!Ujh=t-d!Zo`Nd-mB0oTH+B?0Z-4v-8<&gKaAoibrFvi7{Y@U+xoQ zz>c@vXV+nm0o!I6$~GFNv8{$_Y_nk++itif#)W;@ai16$w*4?4+km(x#(-@?+$Y-1 zHX`m5ZDyMh_lY*MvmE!qxES!fwXrrOrdr#QP@zJmT8A&8y1X!U!V3)%D%3Aj=#WsM z1w!Rh-GyyIxP>%zuE(Rn?CHAWM!UJ|UYoU@1u~88UR;9_^-pj%tT^{|A=|HTON#=A zYsb3ePLXd|NDE>jXUhW1wPo>2&;yGHEWTw~8ZIbH!zs2jT!Ktvi`LR?A6u5p#~w{f zv$L=*%ktUz*p_AaaLHI2PO+uo_*$A>2ivlkk8N3&X4k>CEX!xt!L}^RXXj&E7W1(! z3pH!YvNVy;+On9BZCRFv%hJ+Bo7pW4_lY{#J&WbD$Az6{xX-S`9v5rNVwvr6VRs=s zLW~Q$?O;A@%fbkD;^aPjlq{bZ18d8&e4@?PmSy=wo7t6v6^rK{uHoa#c=)pwu8A?Q zwk!)3?X$Kl%O~cIorA1cdu_0@5ck<_X4^K4wa38PvMirn2ivmHXKh)QCfa9hS?II2 zEYz$m%hJTSSX-9m6XRlSS?II2EK3t(U~O5JPqf+EvMiq%7i-J1e4@?PmSy>1Tnx~} zmW3+cvbc(y6RLd6;;PFFeH8@UvN!>^EUrR_gbFPXDxYe;WdYT_Wr2CgmId}DTNc=` zLx_G`TNe7*3zm_YVeLEcUfCVK2pg8tDhR$^JyfOi|N0{i_*$p7^|uz* z-$_)*->EEITiyC&ic)7!tjpSdw?#O2&m7BZG2z?EKk)rql&7%AjPexm6!qyNqVzQF z7_57IEgPIRJW3y_kBagX^Av|}^7lD(drF|kZ@ttpM@iqUeR9H;O(e`l9HEqCbiOCv z#c&iUC~iWLiedzcG!!FIj6yLQo0g8+7!(;O#-bR9VmyioC^At@L@^1)WE3}}n1bRK z6jM>$ieegy+fYnLF$2X+6tl3l*{IFI`S;+H7v-6YdH`Q?29L$B)1y4|&=a)Ybolz1 z&s^5)4tL#-i58$(h+x&<@SSuN*`ytVOOGh+sCF!hJU})_sV}K7N2#aOH=@+HP`r)e zT@>#l@BwNcq4)&Nv#4dGIFI5p6rZE`0>zgozDDsaitkW-kK#uZKcV;q#YGUBih`i< zqVPd_&5v3TMKp?76nRm^p(uc&5DF7TQ53~dltfV)MOhT(QB*`x8AVkT)ltNwNJJ6B z+G?Rz2Sq&;^-(lL(HKQj6wOhzM9~^WTNLe4bVSh^MOPHvQS?O78%19f{ZR}=F&ITM zieV^HP^6+rLoo_PI*JSwC1t=DwSd3x` zie)I4qgaVzHHtMT)}mO4wXH{OBZ^HZHlx^rVk?SmD7LF_s7fK{5A>{UzS+dI(ZliU zX!EiSzLNFbbi*ipw4RP)44hZ1m9nqD8p2AiR?6Bd+YYxZ+!FCknq&M;8Z2M6Qt*zS zXlqHfR@2t%2`#aft=Yb$1mR1vvn1JBl0r6W=S#A)B-OUjI<{8V*6cb$b{!$Rj*wkP z$gU$~*AcQahwOYIJ6}za1&*b>Hu#=VXo(^pT&vkW(Pns)wtb?_@Fs2hL>=%ZEqwO4 zz?-z~v+GE*>#)ZKj-@uwt|Lj*0mo8~!m-rWL_WBJvwfn?a1CesL_WBRvwfn?@Fp#M ziFO@{b{+QY!?D!n+4<}-2qoJ2>@k2hX%S(M0eq`u`|LK`V*tle8@21O#{iC{9ECS& zuEDXCYj7;(8XQY)P1FI$Qrjo$fMY55!LiiVL>+J}wS6KV97}DV$Op$#+vnsH;|!O3 zfEv|GvFkmq;<40Gu|g!^vD8srUTg;^U_-cy^>Y;)z*TGkS9ufg_79w}SJ?M|U`AIf z<=g;TwsQvvwzWfue#5bp``}m#np!!^^D}-}hA#WCgfn7#2K=fEf04z1SY-X6t4nff z3j0MC{AIGU?^!>@fnQrgq7f4_Gcrb7p%XLHM#o!VPf+0)m^PtPMrNmpqe0hF#;Hnj zrGBnENB)DJ%RRs0S7S|wPRJY&7nb}7YH(E6@t102;O~>GyYCCcRe-CqOSW$ayoAr& z=Ds4ml&_RlK2=|Yf9*+zqT%^LQPo$#3PSlR{QtEH>gxcUQs1~7coP6PXIu`P1^~_; zmjmwr0Oyg*f%gD_Gs@+_835qiayjrJ0C1MM9QYUjINw|jd9qz`r5lOBwJL0AI_1ZvgmK2K)zr?_|J#0r*}9`~bj@ zGT{FJ_(=x*48Sik;8y@HN&rn!G&~<(HYAz`0FeP60K76l2LR5Nm!~oS@XI0s00d<~ z6adjOAO?U~8IT8nyfPpk0C6%PKL7<}KtTWs$$-KDm@=RU07Yd$F#w9ofD!Vv%fXOo8W&ozhfLj2VDg$l>V44iL4S?w~UTXegHPffCm8BECU_{V2ccR2!O3J;9&r^ z$$&=y*e(NhC}$PFwo}^$gx!kb|3L95a3=A+eMC|F9#FInRjce*$U()E&x^`_MemIs zA9@T_gvXDb0C@bu6GTrGc!I(cjh-0rL<>(Wdh&oLR(SHFCm(q73Qrt*@`EQ%cnYAW zAb1K0Pa*Ua22Ua3G0{^5Jf`pzMNcvC6cwK0=qUl7;=)rBJ*B`?Qg}+Erwn*X3r|_} zlmky$;VF-v3g9U(JQdMX2|N{rr!sn~fTyzXR7FoU@KhC^>gcHfp6bFAkDdhZ#0yU% zdXm7CC_Ewb)C5mRcxs`iHh5|YPaX8s1y3E}sfQj4o_fMlA3Y7gQ(t%*qNfpf8VXNi z^fUoaW8rCvo@U@_Dm=~6(*iurg{LKYT7jpf@U%ux8}PIip0?;|2cEXV(;ht?z|&rM zI-;i&csdGCXY_OdPiNujik@!Z=_)+k(bEGw-G!$odU}DUr||SfPap8~7M{N7=?9*^ z!qXo;1HjW?cm|?p5O@X(&tUWn0ncFJNk-35@FWY*F!T%u&oJRhLC;O#NfDk@^o#&c zs_>+tXC!#igl80bMuTUR@T8+>40zIoCj&iW!IL38HBa~pW33D0!&%mB}H;hBk^S>Tx|JhRa= z2RyTdXD)i?foHDp%tz1d;F&Kx3(&I=JPU+p5qj z^xOrWWx}%@JuASoTzFQZXBBu>3eRfv+zp=9!m|cF_kd@O@T^78z2I3ZJnPVNA9&UY z&wBK10MB~i*@&L|!Lw0#HlgPM@N5#E&FFa$Je!4Q3wj;`&lcg?ik^qTvsHMuq303s zY!jaC=-C0D?ZUGYJ-fiOQ+Rfx=TY$N7M?xm*$bXM!m|%O`@yqMcn+ZFAb1W4&mr_2 z2G1ekIf9;};5i~Z$Ix>eJjaCR1bQ9=&k5mq96e8f=W*eA5Z|=V{?N ziJoV{b5eMoL(lWzc}{pq;c|~|$L(l8rc};juq2~?o zoD!Zl(eoB~-V~nG=y@AFr-kPo^t=n6cZBCX^t=zA_k`yRdOiTp8R7X5Js*MRL*e-t zJ)eN*W9Hcfmsdo4R8iDtlyRV6R18&7im33{)T*X5Qi;+<^(aGCuac?i$~@Jl+^rhQ z!>V67ss@yo)u8f`8l`-rMynn*MlGnus+H6{Dpm8U9n^g4AT>@MtL9f{sRh&(fIg@e zQV*(y)#p_c?yrid|5l4?idsy|rxw@BsU@`9YDuk)T1xAumexkAWwhJWvf5I$oOZuj zUfZiy(4J8%YHzERw9nMa+Rthg5~EfnrPOL9Nv%#=s5MA0HJ*%66UZ%UBDq6NBKN5w zvP-Q=o=|I%H`LlBTdhNWQ0saEYCTUem3nHZ^*v402A*zeL(g!vk!Ou>G_Y^%B!oby@k~_-YRNaZv(ZRx0Bl5J4Ef^9j|uu&QUvg zSE-%752;>S^r!es{g7E^W{;8`^u;(zMASyzE*0gua7#yH&RXW z-KviC-Kmc9ZBR%19#zwQPpM;kZ>bsD9+<^~)|pM)tL+2J@V%<-*A6JEb`Y#61+JZ$ z=MZ=fgGbZgaED)uf`l_)@$(Sf)Pu-K#8Tg=|ztIjFNAQ5^Z`--9;)ueLyNe z4bz7tgOhxw;Ud+iejwGS0n?A904Mp)fQyt$gFs59QDzWHQJe&ti?o?W18FmjF{6;jJq&%DyYvys0d^9hRd^De#7fJazDX*E&Me@@)Ao*#2GY(1l zIVsM}?;-_h0U!lwL9+mo3UX2bv!IIW)?+KF-|IK7ITpb(c(ZVL`#^(kyL_{ikl@|B$Ji|l1WRMC6QE$ zlS-PUT%@A3G?0qYGG=KcmEok)W*HZ$I4ujL;sCq_VU!kjm03W@RK*;iSqYtZRGumZw#LRGwBd zt0JiyCsoBEwn-IfbucT^8YX)VYH(6@vxbXQnZ^UDGEFe!F;fC3#hVE(QdOD=q^dN@ zOhi%=CncImE>d+G0#bEa(+nZ0CMSi=nl4g2tp%ibTHCCJq}rTR%dG7pCDJ-TN~Cqo zI!LO^Np;M+E>eir15$`mvmTNtC)G2li&Tr&2U0ECz^sp?2AoviY~Ui*p$&mlhc+@B zBB>E4H8dN!NcCuAAl0Ky%*IG+!by$ICN5G#+7w6)X*07alA3W+Q?r?i)R;C0Qe)b} zY>uQBoYdTG;UYDqErHaOwlZ5HsTC)+G+Vhy&1q{OHK%RN)<|l@Nv+K`E>cU{7Dz2= zJF_j4+Hq1_vz?37nzjd0YudqVkE9Nq)ZXmiBDJL*fz+0EGCLxv6DM^vJGn^hX=fm{ zr(Mj>Nb15#oy{&TQb*bqNF8Z6vn!IiaZ*>an~T($b_Y^t+QaOQq#m5q-R$8ab)`Ll z)Rp!!dm^b9C-pRYxk%kcdIB%|0$tPudqqJ!wC)FOvFkQeU&5i`1L; z2U2f3!0eBt0i4v|9N;4Lr2~P~mku%qB54pO4KxS2Nd4(xAoZt1%)v++!byY8AuiHD znhd0Ybf}q(q@kRYYz}pi2Ge0c8cc_q!;mzblZKhYU8H210;FVmlbM2~n>Z=Oyvaox zMpJ<_jE*omv^fe%qd94mIod@U zMbm*aijFbUku-*r(#;4oDevyg3d@<2h-ZIo?GY zM<)Pj9L+Q*ASsiRCYYHn(gZpYNE7HJb0U%^aneL{l8ZEvP6pCMdb2qhNjG!SWbJxq{;Laa|)7f;iM_%EiTd&Iu%G$=&j~dB;CqMQ_Wjlq^Wcokfzex%xOrvjgzLC zx4B5u=yV`WqchCuNSeV()6E$!(sVi#NYm*ob0(5zanek4mWwo#&IZy(%iq&b{4 z+nnPf&8BmKG@H&d=OSqyC(SkIxkz*Ad?3xGx0~~kbUP=_H*a^5=Fo%jqg} zC6ZQg(n@oci?oui2GUA;x49ZgcXQHe^KKVuHC+Rw)$|^74U+ERq&4O}F47vh7D#L8 zz2;gZ-OEX9&3j#>wR9bj*3$dTbx698lh&E{xk&5idLXT%8_e}c+Q3Qc%?&Qndb$xv z>*@XGMkL+ONgK`kU8Ie46OcC22h2@KdVrHQnGd)~o9JdBZK4mFo00S&Cv7$#bdk2u zEkN2rA2PQf=^;+qVm{;|ZKYd*w3R+=Zbj0=oV3+^*hSh#w*hGzeZ<^`q(?YuoB4=~ zw4H7T(ssJT+>WFjoV4BC;Uev%JAt&5?lN~GX%{E$GYaJwVz+_nLc$Ciq!aWp^8}I}0PPMdV#)ZzJR0`Iq3!SMHlHM`Vx>{qA!~-A?amKddYm*MS6w4 z0;E^ytL7_6dX5Tb-i}W%55J(@>kIWB| z^bse0XnrI}o=4ykfn6dgI$SO&N*rE77%y6v2->B{KXW7;#I`IPao2egx*8OpNQyR~OQ z^DC=k@6w(FEuid=ouEArT2MI}o36b8T9oo$Y$xqS(4v)(W7}vifffV*VzJ8F%b>-o zdTd$k70~jilppM_7P~MweHbxX&-}D zMjIb}K>Gx=vf9njyR}b2E2piFzDqj`T6t|<^c`9jXce@h(dk+?Xce_5qEoeVpjFa7 zj&7r!2d%PpF1nd^0kkSak1nfy23l1T6;!&q1qB5~F_5z5uNT=@Rvh z_HWSQNw26=+Lxdukcm-ywXZ-+BvYeyXkUYtMDB@NqJ0Beh-`>jpnVHkO>!b?r1l@s zYLTa-hHKw}R-2rSYN`Dfv^wOosK(m&pw;#Gqe^K%fL6~F8&yR65j4223;v}2A87SG zHG|)2KY`Z3(>?f>_A_V=J$-|(YQKQi$a8aWxArS&jXk#ow`mtaYvNfKyn`s9HT7%? z&Lb*l%{)&8Q;7yzbI-HEWI{k|;W-yU|+Fh~x#WoAIDM%NdeG$={5b|k%FN0)~WwXQV6s@dSCymq%dfG^}+tK8QVg_#`d0r8QXI5F`m_FIQUbKW`pf?Qq$FrV^e_AkNGZ^g^>6*PNomlA z`ttb;kusnS^A+~zC1pVy?yF;bL&|}c;%jJpPRfIJlW&0W5~%=Ms&A-ql2in3gm0$t z5UB)Ons2^wKdB7bNZ*6TY*GcZQNBlvX{0J>qkS(JgGe>d(tWQPeMoiC#`wN6>X90t zW%&MUgh)JSV~qkvev$y%IHRZ$LlQw7Z&2TtBnh+$Mibu!5&|vL80>qV)C6s!k>Y!b z)BtC$jOIm_9&;N)%jkE%7zW-5uGHDIk?f%#FKBNt3 z3;d_`Zlo<}3;qAqL!=#Oi~K+9)k%BM?g$jsV@Lm2OsrJ zCPP8n6g=n|M}~p+K=8Du8yODT=HMAm2a*EXgTbFY)yYkuZHdx66-g>+4@H&s7-R%! zTcav^G?E6|!%?lsr(`5(+oC#gR7qfzgY&SX4jd!jxfZOH`C_C{SKRY)di`=Y(19GM8( z{^)YVOD2JKAi9cnkxT~dV02sUBXTonhoU=c?~*B?9gZHO9U-@Xb|gAe+efB?b~Jjq zwu;;e+Og<0+EOwNwBykSwQ=M&&`v}j*G7@)pgk6SM(aRkfcALwr&=pA6SOB{;OB^B z7HCh#z<+9x%m(eLn2PW#(>b6$9aCNXnal<4nV1gh88Q#FlQG@Y(_}tq&&G^X50cwK zdoE_O`Y2fd+Ve51)a7I$XfMRvt1c#sKzlLfh&qPc0oqG3kE~}lI5Vi5!+dLm#hHo&DfsG z8)PMDZ^dRR`^YNLPRHJ&>?Er}dpmZGvXtBn+B>o9m4##tXz#`zS4NS0KzlFtDJ6xh z1?~OVPnA~WUeM0OUQn8lb)bEa$52X>`#}3JPmEHOtOxBQvO!Tiuc%#o#?MNOk8J!! zDd;2j!$0sJjZ_L-sy|m{Ly|iVx$EKn+(mHpF9OAbe-vwd>#Nj*S2OsfpW?-@d-07< z!=DAX-{`Ebl@+geqXX@6*c;(*jPTECtu)&YLz40E2Qi28)NkNvSOvc#E|#bMi0UU5 zBTv;Wim&>9C3^_^W2pxL)58%1zc#j@0@TYOuMK$xRG;b$(rri=P%8B?$Y(=70d1xR zgA5xo1oRs9Gstg4egXMtfI$Hp3JAzggA5AVP*6ZY8pWU}8;TN8G>v9Zv<*cIC@+m+ zP>c=52q=!mGAP!DVg*!)=3!7C8_FXfljdbmUK`3QprSM%gYwx>J^>Y{aSV#Hp*R7R zr1=??--hxFs5C9WpaM2jKtN?_K?W7Hp@IS`PYW@qkPQ_QP(@mpL4|Fouz)I4lR>5p znF6Xxi!i8&4HXekby}1`MQy04fZ}N}1{JfRVggE}#TiuGhKdU)L`yKJgbkGtP%T=L zK_zXdq=4$sQVc3(L!|^%kCtXoX&WjnpoX*zgUZ-Y838q>Wf@e~hRO=4DJ{pKayC>> zK+S1+29>v=@&al}D=?^n4OI|OYg&;(6>X@ZfZEbZ460;9l?2qDR%TFT8>%dzj03)T+MnO0>`RU4`*psutUgR0pOTu)h1-D!0OiOt3^?cJs)t-+ugc2o@!)tkmM zDBgzR1=N=&Fet%>5(LzrCNe0|h7tudkR~xG$%c{yG?<1M6tba^fRbrV2Gz8ongSX| zYcZ&n4b>7*3a!nc+BQ^MKxwoNgX-8&9RZD^bs1FGhUy9^oz`PeJsYYgpbSbGL~V!) zXdJE2p!zmcUqBOR0|qs)p#}n)NE4~%V`G&b+Dlh0$NEsGN_{sbrjHQ%0A}JPBzp@Kx=4c7S-8?Ityqm?ZTigHq=Ex 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..db7acf369e236d4a5650cf7e109d501503ed4604 GIT binary patch literal 91607 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 QZ=Ei}e^vRliC*RZ0ZG(kaR2}S literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlRealQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevDlRealQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..c812e57160fcf7f86d8e1011f066743891cab42f GIT binary patch literal 91558 zcmeHQ2b>he(w~{$ot@pi032z^Im3k|HaX{ZS|Lfu7ilWrkGkjh( zpr~FgpnU2j0k6mFHM}}{eCRO@uOG{R;SFLLWq6~pj4`~iSmra-_p!`xs2^Ziz)(NJ zGR{yx!Lp#Cp2f0|p=M)Q*ig@7S;SC3!?LKMevYMSs9#`N%uv6?vbdpsjb#Z#{T9oT zhWZ_rr403ZEK3{ek64y5)Ss{{YpB0qS}+VgvFu`KeX;CnX#KJ5W@rPk>~3g- zvFu@JL$T~>XvtXiGPDs`_BON>Ec+N*Dwcf>Ee*?lhBgMv{)U#0H>7GOEb&=z5tW@wAC9BpVzupDD(%di}4Xv?uoH?);ljx)5?SY{a78Z5^f+FC3p z7}`24CmPy%EGHS>Oe`lG-YHm4HM}=sInD6igynQY+luAQhPDmM8HTpq=e-5hTLa#i z-dQMa3#c!8H9z=fqnLwYE{b_5=A*bB#R3!yQ7l4n2a3fg?nJQ!#ZnZ@P~3%LIf@l1 zR-#yiVl|4pQLI664~n%Y?nSW<#eFE&qu79ABZ~V`Y(nt>ip?k*6njwYMX?XXeiR2#97J&l#bFdjP#i^Z48?I2Cr~_w;&BvD zpm-9+Qz)KB@eGQSD4s>}9E#^ryny0G6fdE88O19oUPbX5iq}z`Lh%NQH&MKW;xvl4 zQM`lVT@>%3cpt?X6d$1Y5XDC*K1T5gice9TMUjOf8^t*k=TTfh@fnJLq4*rd7byOX z;!6}?q4?V8{U)IH^=gLqTP**B;yc6pU&H&o;r+qz{%Cmr&+z_acz-s$zZl+M4ev!m zR}5V>bj{F-p?eJ7Yv{V6`wZPMbibho3_WP*QHCCE=rM*KYv}n5J-?wBF!VS>FKFn6 z485?S7cumrhHe^qF+(qI=p_ujq@kBG^wNf2#?Z?edO1TcZ|D^ay`rI4GW5!ZUd7O> z8hSNDuWsly485kI*D~~YLr*aDL_<$9^pK&~HuO4%Uf0m;8G3y~Z(!)u&>I?hBSUX& z=uHg0si8MB^yY@%!q8h9dMiV3ZRl+by{)0QGxYX`-oem28hR%~?`-H@485zNcQf?v zhTg-_dm4H#L+@?qeGI*?q4zWN{)Rrl&<7g&AVVK)=tB&BsG$!t^khRHZs;QneI$&i zp5oJQP!)Y-a%OV-k*bof)9B8$EC)1${3g0P*uzxlgDMIrKj{so0K+uY)bQS z<1#XnGt)B0O;VMrozgPmCrwRGO--2?pX?y<&Bv#8&KQ|8w%f#v@hKBCr$HX?l;p9K zQ&h#sUb!oK@s9SbRK3Fb;q7PI_vDgd)l`ulQnPk*<))U zdSuF!v=J#7VVvJ_JnMn^n8?5e_L?>x(pSk|z5l}Mz2|lx$+~Y*ne6-SIeYN2%8FGLPikU9qNOI{xsvJ9lR9*>_GF)j(D1OQMj^nq$|J*!cX3rRO)^@#WDw5*laCx;K0K z{jA=^I;zs;k_=YYvX&mqUa=qgn6+`mmq%~UzI~O|p6uNlzC5}hYu;Smyq)v14nJtu zGA1=XJ!IvDmesl>Z=1F-Wpg)YE!otwYtq>h8?%-iu;bG0xTFMCiO(gjOqZ_xau0;b zsg_${jtVQXMkc{L!Mr9xlS||b<@58&oY@u&W+*Wyi}mQ-?Dbi@?#{h!Fvz)e3f527 z!nI+cW5y?2b=Fmtnz_^oZW#KoK;Ex<(!rm9_R=v>KcH6oz2tD_t@={Q1jeCkVmRUAi}A@7j`e$EqBAQwXN&(!J>tqHLF`4ddP9 zlD0&$N7xT{m%6psbC!hrXPvCY3$qSA>TIDr)y5UDr(~@ZAn7l3VzK z+s+?feqrXU^PA?LJGLWiue8DwVFnY!YmaDCN=n2>KljkfY)eVFzt+e-RQ_xvCBp27 za*w*~<(GG=A7GeLYd%?X#* z1#@TDwR+b113R*!4P*^TXzp#+$%>Y`t6@_`4lmh8ca zKCr_cNq$TTCBSnpCMs*!iF125WFOuShgWN#vgzUjJd_B}y66z@`S(3+9Zn+xn#I>2C{Z67?`#G&|o}xgm5!2CBoRj4|WKrd*Toq!tJ}< zCA_Xl=hht0x_w^u&J{M_8gSgLOJBmxX3w!rs_h2d2gz9*Zd*9+;T0Zp((J4%^NytXl(n*M&6?!23ehnums- zJvcM_k&WPj*4jhb2UlAi+|DZH%Fpo%Sr_?L&fmW%>*x|E|M?SZ;m|K%QuPvG%;MSh zW53X{*FJdXJ9~UB0`ie*fLmpi3oGWHyKTWxt2j4*cJ`_@=Z+lBT6#Mi-R-VqT4(kK zxLoM|=h{NDBF7azbE;CmNjEnE-(oV#;A zG{$a2=e}6S@C100YF%=!WhYCvXfAUA8IEfrx46rkK8E95SIwn9`O#xI&RIe(A(uT+ z4#&BR&n@yYhmPSmGl{tbUjD=}JOL&xw>qr{JM8U{?|#Ga)2?PNb>@DE9FCuR^)Cry z`{K5&1-HT72i%5SSThH7JcG>L>|Wq-<-y)chvSD}jsu~c{6T4|RoGw-NLj9rdDA;-5^3ckNB-IgOYkYRCEv{PH; z^LHHtkDF|L8hA(D#FAIaIyf8l5PJj3TCg~4>76*@uFw5$$=G%XfC|dFx3jZ{@33~W zu-%D~VadwLVOt*~!(uJS2hZA)7Th+zUDnK_ykdK^--a6%+?2^SDwYV=k@c~_n5))= zF|FxiOjtOLtt$E5mbiM0{BXkZz)IquZs$+joptAWSTzT~!+5l3chUYsqbJQ(2}%&#qnYQgg#m*#F_G^X$>1Umm?@`uOzr z&Rh& z;XNp{x=`2{Ik%rl2p6{(zWcr0dSr3KOu{`SmXkKFus)wurKnYLr{whEBa^#NPMJ8Z z@5JQsa9yk_W2$-Wu`H}% z)lMTa(&L9GXQZc%%$OXXK5aN$P)`~^cJie75g8LxK#Uui#;&Y+3U_UAHSK8$ch%6u zPHE#(x=coOPdAv z-n?lkeHib4NcTjCQMEqI|&wV z71uWlU5AfO8Ijqr>HwJZ%u#6os~MMm_rMvj^<-p@!nGJgUIp<5Nfh(irk{b(U zvJ4x54+;kWLjZV(X9H+(fW6oXfEgTMM;`%L2CE#mX4uVwR_)x1VUX+Vl~@aQd7`a; z*LpXRyCS5gBZU=qnyzM9UM=umRW@8~_Xf;LDc{pkV{<@x+%O z0pRP69f5`oz~`0&fMEmfR^jW64Zxn}M1Wxf?&jjliVe7%i!UcO0G~)sDllvSrpy7r zumShFNOIOiVv@V(Xov{BTenl8VFT`-<2||!xO6Qm1+a7p0it00l1eay8^WV*O0IqP8)Fd+_glL@U7bJIU06^yXUSY z%I*`L2xo~V;VZHOI5U`p_ka%IEYT!fl@8!6QFezX0A}!3vD-EWaGJ|*)*QfDS0Q|x zZ~&*dA$(VG0H?X^=F0(`=CWHZ2XHsnHBszZOEed+tn3IhY``^9A-tKg0oO#a3nv?J z_rtZ3v1=oz4p%?$j>rLA{lGgR2XOTRw?PMR9<`8r!7)R$3NLx=2sCWK-4EA-3%M5@ zGwcZ0f(yA8TnM*8rw-Q)x))ps4Lg;)=eYW8z}<7#p2%)lL>1%EJa+OSA#5R{`LagPjTu4zL>q0WiY`Toc9a4{X3S zQS5@i23$J>y9TfUS9950z74o0ioM0#fU6(u9o+_8{b29lHsG2l_Lgk}t|iJ|o&(m| z#d;+cXBW%jkoEp6Aj@(f7#A0Wqhue3;CU60^_uHIt|;q;)`4I=T~Ro?c0w3Y7lh+$ zLojqM2nW)JVDMZJ4y6sjD7hf}Nw!`Q`8u!+>m28L59H@Kw}+*5zu@JwPI7KnEF-z! z^f<}w;*-T*`NV2u1_#*7o&cC(1Fp5j-u9wZxOdoh6@1N!t-_`%JH zSPtr_s-xBSWH;rsToRk zNQRP~iS-Kn1RSW~I_vr?I6oWmS8z_S;I|K}EHlhIE1^GF;)cyiUL$U(Xyca2O3ugK zk=Z;B_daIBw6hW(7*<*>W@kCH@wCQDo)6Dr%;x#HRpk$v5P_mB!R$Al2HhHvhPlu9i;jFa! z!8T}STkT-mFSD(2VVf(nMZDDxwo}52w)RC(tXBbIjnc-YWj0Y2c$E9Vr&?-CW-EBE z*w6Z^RCT?6^Pdz(0ilia)4zh3aO@xd1u>2NHi{PBUs=EMW0?Ku`T%RoE-1MM1Hd(C z9oJxqSQ%jLZ?z8jZ7GU{s6JQ$K2Dm2jv8}-J;by=!(Pp+GaGz*1+Z4D@)WJ3e%V&=Z z+Z?!0v^fbMEbg=Gz)gbt>^g9xU_Q20a80zCy(Vy<$j4p;xKHF`M}6*d@`*OHO~gWR z8{wK=hdul31kO>>KK8vU_u2XEwZXO(3&o=`*TfjG!!P%VF<{4A?z8K#$AE1!3}qV) z)7VzSG`86=jcqqv6XU`@?6^;i3)_B}k8MC)6Jx+OA?_1xW*ZUri8iy%i2FpF*;$VJ zU|bA%-r8B45>u^hNvKdEQ?0|7P+eXaJK=?f2o>rVDs)Jw&;p_IsqV(MAlyQlJJ;jU zVD@(1aiiVRb+66Z&H|anb}z2Mi25fv8&;hAx{&QxxTQq_!?j~wa;L~QETjc7k+Wri z<=V1%CFp_00~X)1EDaZwrQsA?8ZJSmu|;cXwvR1K=3|ehrP*27mSy?ud~D0Ie7IyR z4X4=BaC|Mzu7hn^%*VDYOS9`>TbAXs>tI`!<+Jm#EsOcsmW7(NWm%fYXKh)`$F?j> z!)0k{qRs3UhWkVv?4HH)+2g`aGu&s_VULToWwFfmxUjnr9wEks-F7gawPj%hJ8^O! zK1!BPjDfXfSw7KbYs<2HqRs5e!HUIm57+Q`ZdsgwTNYQLLqdfX2$fGY-?D(}-m<{FWXl5kk}V5t*dau}tt|_E>;=on%&_(y zc(3f4F?r&Mls0MjjaA_s-;UM7zvxhvvj6K(HQ;NVy4GJ*Sbqyq6Mv_&aBWTN4<^c- zJ+Urp``s4d+&yzFuf>FKC;!0rZ&9A29y7{Q%v0Q_kBZXMv}3UD@wIGd+Q=w4Wc#~h`Z1K;e1X2SPjQJyju1M{Fa%2U=;JjzqfQ!>g^9z_K- zE235jMP(FKP*g=x4MlYnHBi(o+@ zgrYHuCMcSsXojLWiWVqZqG*MpHHtPU+M;NOqCJWZC_19(grYOn)&;e$D7vBOj-m&O zo+x^u=#8QeioPiNq3Dld0E&Sq2B8>?VhD<%D2Aa(Mll@42oxhxq@cI~MJkF>DAG`j zMllA(SZrE4YU5C3pcs#00*Z+!CZWhgF&V`a6jM>$h+-Own@~(gaWje;C~iSb({5n0#GY>sM>rIERkNM1Hz3y<=?U-l*iiHSP z{|(q#rG(FMDY`fUr<~Gp{Xbc3NH#Dq}TkY1yMw!h((bf zMI4GkD2kvkQ4~i}5=ChgWl@wzQ4vLD6jf1FM^O_+Jc>jVA*`(qYV}YwK+zCIV-!tM zG)K`AMQapoQM5ICA_YY%iZm2sP^6>C zKrsQEHVL)KD5j#AhGII387OW=F$=|P6mwC`N3j6KA{2{JEJ3jh#c~uYQLIL>2E|$w z>#(-)4v@ zOG*&FBs)uzoh2z`qjtU|J4;es8?9$+^=-|rBV^YRvg-)hb%g9XLUtV?J9Eg+7qau! z7Fpm}%4>t~8HJW8^1-#5?GtT=H)-1^+6-^fwolXnZ_>hNj|;p>+djLFB)blKT;N!0 z^Xxj3L>+J}&OH+6>olwol}Pt2o;y+6-^f!k1{*k!aUp&psSWZJwRa z9)nP#ozETvc#{?p_87poO195#vpoiIEVWU)4tosXSjtg&lja&6OSuNeQm(9Y9Th7? z0v<~p)#b%@Z~``jt5`o*u>oAg7I2j}0dN1n344Wo{|9DtjWW&+pk+IEfM8oYgy=UM zOSun@rJ$)*qdY(3hh-?ohb5d5(=*^#UHFSE{=*{c2VLEgQ&ZS4vf%HJoqf;xArAc7 z8WN3~oSBg^)(V}RnKm}w0(*lB$H25nT{1GeOdbommNG$AlB*1G-8u3f^yKvXhF^^} zA3iB_B3xMVAE?1mS;t?hjf1~JuIaun5LW@N$}ZWyA@CADZ=3sy^isZ3R{2zY5&q>S z8H$GI2Srt10V@dQtMLEVCaJFja7uk6C-5c!aL&jHoCW~S9yx(`0D$vIPT)NN;Ea+J zI0FEjTXF&)0sv>3oWREb!1*R8@F@Ur=E(_U0RZQqoWMB%;B1r=xBvj0mvRFC0sziX za^MRY@NbCtQU-hlz}GV18vwqQ0sjHuI~nj_0KS(2KLGHf4ER3)ev$z{1MrIs_!WSQ z5#PF9Qky z5GMl)0#HZ>6b7J(3@8eKDFccDP+SI-0HCA{CH<(t2Gj?jfefGk zG?W320B9@&ngGyL1~dbpxeRClKua0W3V_x!pbY?RWk5Rs+RK0r0CbcAodD=81G)gv zRR(kept}s{0YFa~&-0RRk?0fPV-ECYrBFjNK%10Y!j3XPOiVU~`fK(YU3V<{jFdBd{GGHtK=`vs(02wl1JOJ?ine#E22*4y+L?!@}Wxx~w zrpkaD0hlHOZUSJs47eG988YA&0B)55GXa<-18xIgwhWj9z+4$H4}keH;C28O$bf|a zERq3t0I*mF+zG%E8L$+9WisF{0G7*u6#%T10jmI5Ed%ZbV2up82Y|IQ;9daW-XP~H zxetK#vWN`;Y?J}_1F%U3JOIFE8So$gTV%jP0Bn^34+F4G20Q}5b{VikIji`!o!TxS z>{b;22Z~35Gl}o*BZ}JpfTDG(UTwcZ4l14kUR3rgdSCST&|{z?Jbv^9z~dL5AbO&} z6BM3k^u&NCT6kj7lMg(x!jm681;CSEc;e7g5Ik|hQwTkU!Ba?hilC<`c!~&*iJoHM zF@>i%dP;z&xbT!jPbu(}6rR%PDFdF;!c!JK<-k)`c*>)v0(i;`Pet@p0#8NZsf?Z~ z;HfM;Rnb!oJXM9KI(lk=r@HXeL{Ba7)D)h0^dx{MUU(AGlLVeb;R&IqHh4n9QwKeD z!BaY=ATc_XK8R!`go($ocfS!rqnIJrq(31(CNy0N3JyXClS$L+R=SJ{M6`pD6xd}Ye zgl9T>ZU)bE;hBM+Tfj3zcy2|{Oz_+)JhRYq8+c|3&usL}0ncpVnTwuz;F&8t^U-rV zc;*Yw0`x2d&jR6Dgq}OVvq*RrqvuZWEEb+6=vfM$CBm}|J$Hd;neZ$}&kFD?7oL^q zSp}Yz!m}DZcY|lO@T@`4J>Xd*JZsT&FL>4p&pPzn2cC7pvmQMgz_VU>HlpW#@N5*G zP3U<5Je!1PGkP8b&t~D-f}V%KvqgBeqUT}oY!#ku=y?P@+k|I3dUk+kyYTEp&o1!n z6rSDac@#Xmg=Y_X_JU`R@a#j+e(>xQo&)GP2%ZDNa|k_$!E;D>j-cl#c#a6qG4vb< z&oSXSfu6^}b3%9?N6!=Bd0cp&M9)*;c~W?uM$a?gd0Kc*qUTxgoD`nt(DOWao)exI z(DNdAUJ#y_(DO2QUJ{;H(DN#IUJ;(x(DOQYUK5^E=y?M?r-bKC^t=V0H-+akdfo=l zY2kSXJ@10&9pQNoJ@13(J>fZno)5rtMtD9%&qv_-PcdLf-uhr1z_gBT#f2+kc zMJ=HfP)lkR)KXeqwY1hwEu#%k%W7lQa@s9wd2Oj$LAzhAsO?oNY0s#YwYSwO+GlE2 z?Ps+biBYSQGHMNyq}C*@)LNvE8c#;43FIaBTo;tv1g>(#4|;0>bYHQ=DA00?s-IQ;W@6h^t`IJ@_eGU z_WVa}m*H0bg8?C1KZdOP8?o`M4HmGBLkE-du zr_^!2x6}-656og=>&&L@)%Jm9_+HiaYX=lnI|x>k0@u#Wa|k?#!J}z#xWlhSLBg4@ zK_I2lC^LwpC{6;+McPcGfwY;%n9)dz;iPCY#zlIK#scXzn$L_y zQa(fu8Hc2ToD^pkbdiFz5RihjuvrL6 zg*mB^S=dF2rbU1hO^cdEkW`eDikL-Rr2NzbQhr*@G?7${lT5RiixfwT11XM{FpDFp z1Sb_YOSniyXh|Ryp{2}{NGioiCCySUl1WPg$)sh>(nu=9Nu|v)E>dw?7D&ZuIkPO1 z%5hRzvz&`ml9mTjNm{`ykE9BmRNk!MB9*2UfmE7SGAkmf5+_wOE4fHzX=NalrB%$z zNUFj~mCY(HQh8bxNablYvnrCRaZ*(i*0sHSE7Iyfsz_^?)sa+#ld9to+oa00CYY6J zEt5S5wK%D!S<6MLO5=f4l_r?+m??pi;>`pXsX9#rQgxbSCL$?`lM>A&7pW!<0jVaf zZHACko0CFjZ5Jt?)&WvHt!vgnQe94}W7c(%5@|gkCDQt4JtWoVqX|J+T)<9}b z+nBA9)P|EOFIIo zE$w7>L{cYC>S%Uyk=oPFKx$9Bn4OW-g_Am)U0kG&v@4K0(r#u~Bz5DYu4XqEsWa^k zq|UU5*&RteIH|kY!$s;!djhE|?Pc~vQZG*GY4&oFy3^i3>Q4KZy^++1lX{zdT%?|~ zFOYiDer8`J_2Zbd00a7x(!AwEY4V;u>-rypQps7F_K}VUXNE*dSspcpb zDTSs1DTR(U(~vZplhVx5E>apD1Ee%M)*OSRv79u<9P1*Dq3J*xL&urvNE*jU>E<{W zDV=5jDV>ftGmtc%lQPWlE>Z@a0Hh2$(VT#!iJUaSoaiD=pp$?!fo7VMkd(E_KY(sVilNYm*p<_sj=!bvmCTU?|W^j09vpfk-|ku;N& zZZ&7RNVn2iK)RLQX3j#=ZJadAyv;?LMP~zP7M)|xM$#Nknr+T;k!I7mK$=bGnRAge zkCWz_^IW94bUu*g(%a4XNV=Vq=9{;>Nb~6eAkC)>%>_tW$Vm&#g)Y(px(G-M=pE)F zB;CPDi_AM*q(yWwkQUK9&BaK%lam&kce+T6=@K9m?(X*pd9q~&y#xe`gMIBBK1%0*g9R|9D! zz1v)kq`Nt3wRyLTw3@B~(rS8-xduu1aMBv{9v5j1T??c&^j>o zNNeeR<~k(Z$4TqV`&^`TbUl#P(GBK$ByHfN_2vc_X+7Ntr1kWEb0d=O=cJA1{Vvi* zx(P@d=>z5_Bt5`Mo6HAXq)l`)kT%f=&CN)9kdro>54uQO=oTPtp%0l`kn|8IZ80Bm zk+#yUK-x+lHn$?_VNTj=KI|fGquYSAjXq*-L((Ihw9S0PMcPic18FE=pG>Lp?l3eNZQLu zd(6Eq(muKmNc-r1b03oSbJ9L@zl(H$9stq-deA(8q=TGvz&z+89ioSTbch}{4`PI}yY!bN(LJ_)2J=~L#DNP3Eso;06wk)Ebc1L>|BFUjfo9^i}f}B)!T>ub8j8 zNT=v)KsrTVH(x{2>zwqO`MQhrCOrkDH|ZPZDI~qYNvF&=T%^=NcxDAJ~TfPB+nyoiNG$A z6df)X6eSKXA&eKTO9bsWyM%!21nq?O7~qBS71SOFpQcpE=hdD7A5p5sUeulh&7-u9 z{X}~TG_TS*_I>SX&~#;N>@n>b(0t0o*aO;0&6v3F_Dffi8q$4=6o z2Q8=^jZN2H04+*+FSd*JB52Xd$Fc3Smq3ewf3a9q?PbtnRXw)6_6lhE)QYhl?N!k7 ztJPzE)m{UwfZ8GEL+y3Y;?!<2?`Wq$E2w6~9M;|dt&lo7X0P@pXob}kF)OvVKr5o& z6SG7+4O&t4P|SGkZO}~hM9gUI9ngxYAH;Oj-UY3=dN!uD_8w>@G!j!udmprtnm?wD zb_TRkT9p`8`vA1kTCM1xv=2cmqjipcU;7BOvRcpRx3rHzE2mA2KA?R9T6yip=-t|< zpjFUTN8hEL1+AjCF8U5F3$#kw(dcw78??&W6Va*KInb(TA4j*-&VyD}I~UzTy8v1> zqDPn4J_D^fiHa_%{R^}jq6NBcKu@uW}GDeX(p63FDJ zz1mlxC6eh;JG8GsOCt9~Ez!OKEkrg%EzrINtu{FkHCp=*Xm!ZbQ6shQK&wm6Mzz-d z3tBz$SyWT)d(i58{844JA3$s1iH$0z{RkRd*9Cvl{tvWvxLf-bw5Fb0g4?ufo+IXXaC5aANTW^725#j@_oi{P?12I5r@2wa3hWJ72 z;O!GQMFOC8^bQKVM1r7o@=g!zAW@)ohX3l)LnIosF5V4+1tbQvuHFX&vq>yy-Mmi+ zMv{D>b@#py7(()c*2DW*peZQ;8eAd<8jv{9dg-x&Vx%Bwz4bzYf}{{=ee~M???_?L z`s&pGB`E@0KfS;IRZQ^ON$R zjr7$sz9AJrOYt=}J|`7HyTLcec!^X3E!8*NI7uplHp(~4c!*R1EzLLIxSv!7ZM5$} zV>YP<+8Ey>#tc#&w6VSyj3J~3Xz9M!jDDmhXybfe84XA+&@z1gH9{mFwDCqEqaaBD zZGutUh#`rfO*E+QOOgcIB%_({0ttbZX$w&GNU@vq^K%Zu1YuwA=l!>HSDM&=&Yl>pe(&&=>tA|Jj z&=&cB)@zcEpxqHDuE&s0pe+uR)eX`av^xXMycb9p(3S++ct0gwL0cL~@jgYmfwn9# z#(SJ}2koxFLhpLg1GMFVrQS89Cul1IJH0oNUZAZE?DJ-l-k_}tyy5Ll`hd1N@UFKj z=?mK3fgimIq#tN&0vEm2NPp1o36}B($pFyS1}k{IWFTnw23vZv$so|y1>1W*B7;G@ zFF4BcI2i)k`rtUv5i%6C4Z+2pd&w}+HU^h_R*_`T?hiidnM#I(wkdefGl7f%?SbHF zPY*H@w9UaYo=zkMvo5^>oLeE(6&ZZ_Glyxw1=bGkWa~I z(6&W&B4@}L&>o2zLynWNply$uKn{|0&~`*EC2Pny&~`?xBFjkzXuG2JkxVikwB1oh z$T%_qv`3@fC0)rx(Dp=qMB0-{pzV#iNUD)c(Dp@pNd+<)wEfW)h?h(O?Lc%j?IM{9 z+QI1d+DGI@&<;g+)!rr3Ksy{gPCG(w0_{k2rnZkv2kmI|a%~m48MI^3YqX_g2585l z4{8(0Eufud#~@XwSrSQqPcipq-5Ap`Ir5L3=i4f_jkL4%%}uQ`JYw0??k1S*0!~ z3qgA!=3aF%Sp?dPF-O#KJ+ymNsu}>)}WG!g#$9}4`A@_oICia5T zjI0CggM5ZkmfQ#0hxuZZ;$%H&ACV1;;(0~w<}-d)Vti!dFG^t_xgY+4|1_jh)KdL< zDjSl#amZT__vbBwD}NCv9{i(N>sw!?0lb>QFZ~oRe%*_2bQ=CF!2L#NeXXo`#Ty-H zkHg*we`ADyPHUyvei)KWgg=Nml&@hUPvdI%6>*7t4M){HsTldHZ&7?T_bb`M&>u@Z z2$&v@82GiZ1r?%R26=7BE1-r{XOM0~x`0xtk3l{g@(E}&H5g>rkRhPgsGmW88}bXt zM*|EB*ib+~ei~#@(1wBn3eqSBMcGi4fTC$MgQ9IHT0r?}41;29C`LeWG?qcJHWVwM zA~YX^^4U;60hu&EgYw%@egPGy1sGJoh6)I%B#mQGoDIbZs5C9epn^73P(WpAAqEw) zp+W*GPYW}suniR!P(@mVK}Bq+h=3~7q6{i(Lq!Etm6{APZO9Z*by|!;#cZgUfNIj> z3@UCz#RU{kOE9Q}4V4g3A}z_Fk~UOQKp|R+L8WY{lz{5c(hMqXL!|{&kCtIj85=4i zpa!%ogUZ@aSphYsS@-|dnK+S0d234@33Ib|LD>A5}4OJ9SYg&mx zm29YzfZEc^461BHl?BwER$)*T8>%9pjLV2wI0hb!@1PfKq5(2GzBp zx&lh0^%zvohUy7u46Vn=v zkqtEx&}7<}L5*#wv4E!1CJbs~LrnxUjW%UaQyXe3py{+3gPPe;GXc$@%^B3(hMEiL zR@#C=Eo`WTfM(H_3~FgZEd?~2wqj5#8)_w>xwJKdTH8=-0nMjv7}Umw+6ZU?ZOfpx zHq=%?i)cFrwX>mi0$NPlGpM}{wHMG5+JQkGY^Z~PmeGz3>S#k91+<)YVo)a=>Lj3* zv@?S`+fZi#t)}c_-t1yST?Dj-c4bjrZK$h&*3xba>SjaT1hkHJXHa(=>Mo%5vPpy4(&TtH9K z5eyn(Ln8$AG#$yHkv23^KqqMmgHmiLML^Hd8yIwh4c#E17icPjQf(+zKrhiz3>sxa zqXhH{O=D1+4W$X_6dlc=(Ka+%KyT793>srYV+3@Xj%CnT8yYL1cW63;(rqYRK=09U z3>s%c;{xM}HFBPaY&& z;OOrS?j;X_rYV8oPO=qV2Z&NWxQaXsnn!68oKCiZ=2iL!hml7>)0NC%YqA|QpRy!a zjqCsoeoq{XB|Aa$D^CahLw11{P(BL0Lw17}RDKE^Cy#;_r4|lsB6~oKRucoalf9tD zsGS1oWFKg;YHFYd*$-Mi^|nAgasaga>bgJ)auBov>cN0Y4uKY@p7Ljt!=M#Z|LuQ) z909G6=J)R+M?ovBRq(GQ$3QEhHTB;_j)PWI8{i*GPJm`=ll`s8W1tn&mins_eElh| zZS%*FCqOHqJ!5=Jo&>F=_ObCcc?z^r+Rw%@@-%3rNfEf{eg?EMB*~ahPJ&jJbT-D4 zXF)4RMj747bD)(cvyHmsdC)45`;6k`1<)#zLxw_L1g#Qz!h8ya8G*&m+EQ z@+N5Uo|F1Fs+B*Ifc*4k%!HjvLjYvZf!nM=L^t*x)CXEgaYXzhHX zJzdF{ptbkS_0%R`f!4vd!DEuILF?!{LVhLRfY!1#MeQ*86|{c-V%mCg5w!mPI@%oggFN^$$KOp$^QfQ=^pDZH zcr?%k`R8dN4*_kkf1_5^;{k1m|ET(l#|zp}|7rCTj}F=}|2OJMj}NruK(zXZ#{g}3 zpo+T8;|Fa-prty+698>wV2C=<69g?KFb#ec9|hVCffZ^+Pc&$$ft_l=69d|)!1KzN zo>r#~uE-FP74_v#dD%`5TUteB?ZN{ zL2x{mx;RaD(Hv&Dmy>;$k{!MT;2}ni5GP8G@j$;U(230z=HY={!krA4WAG%w+>8v=M0 z`68~uspYrD@QU*PmWrIZesdVFuE1}s&Z+VDMDj}GetV@(y}vVB7dwg&dB@;iFlLX+r~dKKGvY|QTlUo z@rIdyM#G#D`_t0#<`w&sn&-6e&&yi9fZePHX@Cyu86B|Lg`k zZT?GA^JbU&3!3e;{IAN+8(;dbX}r_^zpw({g))Cx7o1-FwRP~0l>I9^;`HS&uZDN0 z++W-sr$>KBO}ta(|N2fj{ra0K<6W!pw{*?v-QQOq?_kBhtAkD-|JEvbH!J;(-E?~T zch|~0Tlw$ptkd6rpkm(TDt~*IonHSlb@Pr_{UJo_D|6Kh%9^1pdhu@Ik2l z&kcez4*zf?_)ygNM~A{0jeou!d_Zdc(*xp+$raHQJ}kAafMIb)=1OS|ADs9rV{n}D zxq=$RhbZBS86sztuBs{G{>5S)9&`>_4^{@CL zbw>5-Xe%Gs23NztI%9j)G?x!Ay-J4H8R4s`#e9$(UOj{CjPq62Xg<`9uBxGSM*He( zHy`lESKEL)V}4aOoez7Ht8mzzk-u77&j-Kh)j9ai_+P~x;8W1-s+|I77Ow6-@QG-C zHBW>y7gv2Z_;j?m%BRDbk!ztRd{SCo{gdL%%Qey&J~gebiK%gB=i2EHpP<&)$^G+VOTt+dd1HZN!52pVyoJI3oy`2-Eu1$Tur^%FV?f^W5dX?< zzC!Xw#9AS)MKUmNk%&ctqk{io508>JDE2yWEtNreOU1QRoYj&yF7DOhS}=q27R;p! z##u9YLld@UT+3!i-m=NDY@C&oH##|2j%)D@&09RO#pA4>yaAG~AJ-BZmbZj*SwhY# z${VBHR*`EVCFd=q+!vCwmhy(_GHc1ToQCHur^_xUXGP_W)a6%{Yf+8JTU7sRQ90`> zZ?OL7x^gY8k$Foif~DoGuDtPzWOca~SW4aki)?{8Yb>U@-@58t3ok8i;r;f7=d8WF z;rktH&$awU=PkeAwfvkFm^XsIZw0y*;h4Nd_3IwCk1a@NP38^dA6%2JWjQWyS^nW=>8#AW(fs2p)3rD=@)qZxu{fRe znKz(+%KCII(eZgp^iNu%&MM6t(?4sKx)$n$yoLJbEmUW%<_+tgxK>@ubzMtNRBgASDDjF4|5FriwFAmIbZFY6Aa&*}sOQR9ci!{9^6qHTvr;bg$H+*2G^5q zLn;Xm?kWwgFRj@V9^73T+&~)a4G-=q4W`myJv_L#G`OKO*cTq$R~p<%8f=6I_m>7Y zmInL7g9l23n@EEL;lYEY!A+&X!SLXr(%@#&;HdE6WNC17X>fFS@Ca#e3u$mncyNj| zxTQ2WHas|08r(`6oG&~$O&Z)<8k|2oc#Jf-jWoDGcyPKjxUDoeE<89x8r)7ATrfO% zf;70jG`LWB@FZz)2WfEO@ZibP;EvMZBH_VPrNNz~!9~M^r%8i5OLtE*Jb1b^xQn#r zV&TCvq`_UK!NtRaZ-XjejEe)<49=uN) zJVqK^FFg2wGmDGhEG9{ij%c(OFOd3f*((%>o5 z;1=P*FG+)^N`qU52frc>zEK+7Dm?f#Y49{@aO?2kQ_|p@q`_^%gWr?}PnQO_4G%so z4Zc|#+%7!$9cl0kX>j}S;P<4#w@8CKga@CI2Hz?T?ie2Yp)`1=G`LfE@W;~NS<>Ln z;lZCugKv}Wo?XI&v!ubZr8RdA4?ZUio+AzJ79M;-8a!7T+&w(_U((=t(%>H9!Cy#& z=Szcoh6jHs4Zd9(+$%izYiaNTX>jlG;BTeD3#Gw*!h^q)1~2m5!M`=4iU$9KFQ}?j z->00He_>VFV(>4lfUCZwzKq{Lt;k9eMy@_v04X`WAb zzgEfH^L3dA{Iz?v>~HKGHm2@;vM0d47mA&(}Q9eeyg%Mw;hao@c#0&;Lc5=R2NfgFMeq zk>>fH=h-OF^K+zme&l)Xm*@E<(mX%$Je%ZsevLHGFFel!@;nzK&2y3G*(}YYDiP*^ z|L}nIx$~erj~Zzn!t-pA=V8AH$@v429G|C}m*;s%y05Av()RfHzPeT39#5os{JcF6 z%ky|6%@gE#w#oD8k>-i!c^;AH@kN>^mgm_n&tpWICqK`#L!QSUX`VQqXQw<*AksXA zc%EJIJi$ow6ybSx%kxA;t+ z^Bj@qDI95@nmo@@d7dJX=85Ndj>+>BjWkap&vRVGS zJk5EYXXJUxMw+K3&vR0qr(C3YTJt>5%JYndJRNzS z7vy;=MVhBG&-0=@PvuDSbme(olIN)sX`b#p&&%>WRU^&QljnIwo~K%*d3y6augddO zk2FtTp64}ro*I$n>Cf}LF3(dl(mVrso>THXwIadFn-)CxhoXBR{v)k2KE&es1|d-kt`L=9$FX^PxNsjWo|>p64TZo`#X; znacBgEYH&@(md06o=@a?8b_LEI?wZ|JWrEI^UUCR&dT#NjWo}#JWrN9PqRq#%;I^n z<$0P%nrAl8b55S8MWlJ=@;v9|d0IxAXFkt!L7t~oq**?+w+|~Pq#?(Y~*?V zE6>wC(mb1Zp6}&(dPJIMGtcvbJWtO^^K9XHew63w6=|NWJkS5h^Yo51&o-XtCwZPe zk>=UX^ZYEnboYJ$--*NDd3yIAQTz5kp!SPX`|no=RNJqR{p!Ftb&zHFpomikTZW$* zLo6f6jG>kh&5U7|5z7)JTSk6{47ZFpW{j|mLX0-jGKw%H#WGB0++Z2SnUQK4C7ChG zGD6THI8RIOYIx{jXqb4)PTSh!HCRj!yGbUO_ zh#8YCqYg7NEu$VYCR;`WW=ye+hOFCDEu%3*ZnTW1%$Q~w&6#nNWwd0*bjxVXjGHZ^ zEi-0VMtf%5Vi_HoajRu?X2wj*=*o;)meHLVw^>F{X3VyX-prU|8GV^C*D`RS#HsTv zV<0o;TLvzaIQ4eRz_k&lF0c$-4sq&2%fJ;7r!KM#ob)*L4$FXfhQ+toGH`0+)H^K$ zXERP+Vi`Draq3dbz&VRkmsti*Q=EF2W#G)jsmm<`CnHW>VHr67aq3FTz#)%QS6K#* za-6!_GH_ty)VnPM$1+Y`V;MMnaq2ymfg={DuC)vtq&W3n%fNAoQ`cDr4n>@LpJib0 zQ>9Z>f+RgEdy(aQ@2?LB!ww?#4<2XoVwjIFf>lxVHwDdQ+HYh z65`ZdmVv%Fb+=_;5vM+C8GD$4684>a%-Cxg2bh5_Kn^iuzhxX@2I7DmW5z+tIKd1g z1M)aC4qL{P%)m%Mo@T~T%Q(plOasVs%s6ftFE9gh0`d|w9 zL$EeL-eks8mT{UHST!K;Fyk4^c#j#_4nWQ@<5|o2kQvx0Kt5*1^C0)DFNFU_%JpaY h-o5-+PMYTz{QG;)uj(sM2I03(7vaCE{Msb1^8dd&Mc)7b literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3a9c37686ae60ecb3e732a21d23d7234740769c9 GIT binary patch literal 49413 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

    ((q!&Il2`bI5 z#i?2@g*`SwwY6(=3fpVa3!kF|m2TJJR2`SXrkkKLZHrUbZHu66@XHE=2H(+R4(-H=n* zqLW_uJSM1~b|X$Ta;ZiR)!S~&DeT!vuf`75*S?rj7rPX8@R-9_( zQmq_nwB4Fhtz8PY1yT7ib{ePBTq@0>#@TH+)yAdprX{?_+if}J+-ywCz1vK%+i|L$ z>xKP7;Wg1t=M=UIWzXaDp`dc?3{GXZ6gChAm1}2m3VVmr3!fMTm1k#hD$Av?qbR6+ zJDXG3Oq5>u3@NB7c6&~>cPVT!3aY^Fz$xr5N-un>6x1}kBd0pL6!shiHN)=2DQq`N zFMQ4vRH5COQ=MH3n~;K!I&9%F6 zs+&t;n^I8o?CzYx4y7y$pH2le-|oSw9xjD_OF=ELdvXd}meLEKR|R#G-HTJbT&kBt zEwX!a3VWE+tG7cfvHNhUk4s@^Qv_UQ_vKVym%?XSL9MX+ajKt7^>e6Ic7IOwcd7mk zwZDwWM%!eH5O;hSnrpNgoXq z(0YVE(JuoE;zj0deGE`YD+!&@#{z}54WT>qaX|Q>7h0}g4iwRz4NcR>10`wihDPXD z03~bx33bpX0Hv^6p^Nk@fhw`g;OF{8pvr7W@U(svP!%>M_@bTzRFy3b9?-7_s>XH( zZ_#ssQrXeqb^0Wr>gr;U0 z=vM@Op-%;}^isSo764tOZw&0wuLY{BKNwi1PXnr_KNq-GpAJ-Ce=jgxp8?cB|1{8E zp9$2^s2#BMLZC)QmhoSG7EohjC|(F>16^!PHD1t*fSMRfjQx5sP*Y=R4;8M0vUk=m>ul6_VD}Xu&kFh!WN}w*m zx7Y-I6_6eLnDx?E19c50vu64lpl+e&EJ=lG` zG2>i3FEu9}BPvJF_X}z1p7aIoUW6~RkU^5aIEWYLD~x2QlrIhCMf++y8L-k<1@vMj zWGchb>pLG;aQ~8jeAET_%YGu(GI*85f_pXp8V<6EstFh2mGbp`WI@%wPC;H-U)xO< zm-;n}^Gf_*JY}KPzkZ=!x&NcHEV{=3RJ2$6|L!jk`zQvMkgO7R7r#mWh)$Ee^zFow6|=sLig`Wut%Z}-yXaf0o>#+f zGoq|y-EXgwUOm6%pt7p*Y{MI zY+BRrrDc0$?@*9l%f{J@ovUD4(T?Fz3qe)xLG z4r%*CcZk;~=S5Xyx3oJCy2b06^QAVjbJEX`&hh%^JgSiFqKxyVi@aVszv?7AD)W5m zD6g;1yK2eq$~w=w%j>c8v1YQHO|YuRkw)Q*ay0Uxi z3#5C!9=?!jEIYaDh11DiKVM*#mR;TLg6e9ow=cYU%MR~;p>?>|=NDwvWw-aZ0K47m z`3tr7vh#ahn4RzS{{`Ftc?o)5u$REQ3Kw=8v`1c`{y&xrgp8t@~!Ox~6Hv9(HG ztbsqSi{)LfA7R6A$?!LYaH1dn=QjF7)cl9jFTc2&O2kB)0NIRVN&6|E7mzv>5P*p70$b3owJqB zIMGt!yeHPVgVGr%VJe*Oh;{CybjAsq3g)c=IjFU_i&iBVU z4^%qi1XP9d1F_D7mCiUhRpI<#tn;NxXPmgIaNZZ|JXGn7lUfzd`(vGlE1hw|tHSv} ztn)~vGfsw8I6oBYJX-0D6J-_72Vs+98#>vGB=i{-?)0ECQ@mS$}BG!3^(itZu zE1aK*buLso5P-770y42b)K(u#);Jm=VxM_7bu-^(zU|**;wbBl+HLITjBg%tn(tJ zGfvi4I6oijyhQ1Y6S)=6FT^@8Q##`$Z-w)VvCb=$ΝF;rvpp^D3n?P7YT%zZ~nl zM(K$jdfn9bjC^L3g=g1oi`|*al*O6`PEqGo0ZNu8C~K0TCDReN@tv?u5kWY ztn;l(XPm^YaDF}3d8^VHC%7w|e;(_+P3ero-WASo#5(U#I^$S)h4Y)S&O4RPI6z+E z{8p^oIJYDk zrv<}dm5B4cI?m=qK2XQGHPJY2WSrCLI9n2p!%tpDyQ1niTN91L4{Ao7a&?^B z5{<*pbw->Db)0R9#^J|6BhDFhob8Fm;ipC;&RKPw9f`)_hfE{Rhw3=DCmM&JNsTza zSI60zXdHfoHRAk19cNdfaeByc_(ye|-HFEOCFA@_9cNFXar($OAF1Qqk!T!#{5JaM zV|AQ66OF@9>qeYEtK;02XdHgHH{yJvj&paSaW0Yl^A~lTdlHQ^M8^56I?la`#^EQ8 zqg{Vf$GI=jIQ(F8#QD2A&fY}h@N>)&=O5}g_a_>MAA62C|5V3$AkjGdlyt=Tmpaaa ziN@iFsw2+7)p7PE8i$|3jyV5O$Jw7~9DZaw;(V%(b0E<;SIKesnL5rxiN?8F#`&*0 z&cQ_EOp~YOCYCm}s2MGENLAAf}TB33G$T$tu zaekI)oI7QlhUz%4CmQE&8K;pt&d(E#bFYlkSRLn$MC0t0aV}QJc{9;C56C!8)N$TQ zG|oO5r>V2KW~{>Q7=CYK8PwrM@dLj;bn4eNSK{OOoE-;R3Dod>p7>6*GrJfNOM=O=3o)s7eCY7arC@_veDog#nz&PBf zEcFipf#&I}hss9idhuoB<{!?HaT~n6&FM)9&OD^;Yg}8O=L#$3=^5rJfn-u7@om}rt3Y9 zXK-#CWybSNP-G_X49;dFW+KnffIudPXK?-+Wpa6jh6gfvJd-3c`8-2|1=1p8Jv|ynHfAo0|}Wzp22x&l$p&l)kLP4XK>~jF{M0HU1a9+49+zpW**Pf z6q)%vgR{$sS->;3Mdl`+!TDswEaDkUWR~y@&LAUZ8PC)enH4;PbH<2S#WVFqW)08a qEU~g9tYPf7weP2HMvmNg){SQLn>M34Yl1WxuT3p*b8c2_wERD)<@+80 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevFsOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..aca2f0b165682b532fbcc3bb2521f3ab52c6715f GIT binary patch literal 49435 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 kx2-)tbu+T$#lf}3-rLZj*b0YK2|cmMzZ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..63a2a1991152770caa09a20f14f4af4289d69e04 GIT binary patch literal 120074 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 RTROn!FZ$DT+70su{sUEn*6aWP literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..5f54cab8f28c5202d1ad133553b70e588537c09f GIT binary patch literal 79996 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..64824e46863fcbc2ccca5792f7f1a61ac174c99f GIT binary patch literal 80019 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 F{{d4X>NfxY literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhRealQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevJhRealQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a86c06a0ce870078c21628e6f525939b11be26ce GIT binary patch literal 79969 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..4759365927e40ea6fe4f18209689eeb9d5992b96 GIT binary patch literal 120082 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..93c83a82afa5eaaaeabe5c4bbeb7ae078629b7c3 GIT binary patch literal 16763 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 F{{vejB7Fb= literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevSnOtherQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f1aa9215b3f390955cffc09e7cd169a006e85c2e GIT binary patch literal 16786 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∈YNk=v8^H8q%c0A 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 Rx&42-&k)jllcs{nT^6d%kl{ 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevTcRealQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonDevTcRealQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e9b2a28dac3a118fcc6dee4fe07d747835c6fb79 GIT binary patch literal 19475 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/MonitoringPointLogQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..4e5be688f7f3c737d68fa364658ffc045881bc3b GIT binary patch literal 4951 zcmbVPU2q#$75>(ic2}}w%W`a4B$T){#lID41BG=`NZX_h*om8jKnsCxqA3#CmHCrt*=l+Z9R#SD|d3Dej#PFwm?W_acao|viR@Wdl8g!0|JD{Ccfz%WUU z&OPTlXU{$7+;eaK_^<2l0@#WR8jgjbATP*l7zGpscU+LC1^KohCj|M9Am0^`?}f1$ z&xE-Az97#E@|+;g3vyDB7X*1x!w1GZ35Cc$fzb|z4#*a&L%l==KI%Y$J?(Fmcx4*w&<_i>- z&!7JAor|R#&y^NVmFJiKHvg7_SPgP#u8Lb-IbZ(ir3$V->jzHEFv7c5udbBdIQ91% zuWuPHUB6Vma-n?jWtoW7y;8z&gpQbL7VO0C2?eTktY~JL|IR*7#r7UPYNZP!{ZA+e z$i26XW^&e^;`CuFf52qzM1}3NnLTLcGh*!u1BIy!o!vK@&ZW{;+L}of%xvB^CsN1l z)Ul$KKam=%ZI@Ad@-ZQ2SrxmsZ`>$YZ@VyMn~qp4zs_4|pU|wqE+FF>}T# z7pI7Za|-mdncFGafb5hxJ03lgLApNaIa?{>b4AL&I1Y<hHi(AV$j>a{r(C4R4G z22|HF*iNDMsbojJT-LGi>oVjB6}zfOt!wr+QPvziH%PIqC=F`DTwA+ginU*u^>P^| zrFBVi!=%C!re3gR44i)Z?P5M{?aGMrzNyZ*a&YevgI+<;f1BSt;ED45o2B>W%a`7~ zx%l&&i_7J!C!MpeV9WnJFCrMjeGz;EhuFgr+$$E}#GwejCCHP4n1UP@BrV7u?2X_F zd_965+!?{A1nC!KP>^9kQi5#3oeZ`9`g*XK$xetNG<2Ih^i9_eHqn9GBX|wxS;?Wz z)uXZ9vlfNqx|8~bLQ>vQCubok?Hbx#_bpLKDk4Lh*A5AnN`C}d9O5``$Zp!6ri)bC z&ReMod)mz8-03`SPFikFV$~GLNz4gg&dgXjUK_*S+oIC44M)w**$5M^@bLj?XcEci z>MpKY_}j~WpPa?rRInh8iash>q(;R66)aq%Vu%VBvr%ym6)bS0;?q>H=!~d?N_G(`2nH?>z7OSf1e-4p{vOKM(7+O!oF$p&Jwqf$VE7McNd`VZ`vM}v z$-oi<6-3Yo5)w4jWKdw#4-j8KG#N~)9*}Bi1gVCe)C5R(L0VGxfHWgSkY+KP}qni+XN`)g4&X? z3Mg=yscXh(NL8i|h~cxOmu2#BKR(A5(}>T*puSUyV1%+J7XKEuQPzwB`~%y`1@H*| zj0eaCdA|RIFOXB&#MkgeavJhj#13*g&fzQ`Bp1RwUcp1;!dSvnc$i!ZZotA$auNIm zyZFaI6n~|UN657@#2!3Ku1!&~5xdF7@Fj-$Rdj3mKhdh;%eT;_VU&M$p-2W?jV{_!s#GKBsMwK?k)8}zRGOhWDs@f8K9yFwp*bqH zsB5KFR3SrmRQj5VjVrCfM#xdIXI-n1quS)(JV)f_+!Qq9U5w)~Zav7-?jt8Qzl{A% zOEYK58#q8Nz{Yt2Um+L7GKtoYCbgk?IuWb@Dwsg6$c3pMSQS|>b-`LKxQh2txF&joN!7|<=Ng9m46C-c zRlDZl+n859{3isRuzb9JW&d&#i#3nIz%n9N>yAOYGe9B|;P!wb?)nDfw-CKjXWZ#) z%(sD$acjMCx34kZ6h6jn^~M{0jrkVwF^<(6-{EV_H;j*Qd%bawuQA^~KF0BS<6d85 zzL|WCJL-+^_BEd1{BqovR6ioX2 zX-8g^PvSiD zx#`yZ4682A_rwY|Jid(1c-ImV;+o=5yj$|TZ4&XMU+{VJ|^6*YQnTLCvs~~Pn+@a={fUn^^r8L literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsAirRegionHourIQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a6bc817f523cd0a4e04cf51bcf218e7ab94533ef GIT binary patch literal 35584 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 Lb^P9TvEcszg2k@= literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsInorganizationWeiStationHourIQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..4baa0592bf7f4db80c7f33356ed2fa2b394ad55f GIT binary patch literal 18812 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsMeshingShStationHourIQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..2745f17d7e5d0c59640475e8591c771a6cefba74 GIT binary patch literal 21393 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlDgiinfoAQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..97c97e2c5cb41414ffba3f67c73d72cdcf44b413 GIT binary patch literal 15627 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 M@KsjM-0|xF1(pYO2mk;8 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPortinfoAQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..01d968dbb91b1c6f235f4e79b972c6a0e53036ab GIT binary patch literal 24085 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlPsinfoAQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..0149e1bc0fa3598297a3bc9cdff965eb861b72d8 GIT binary patch literal 19996 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/OdsOnlineOlStopinfoAQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..964d1576a20992f2fe5d732bca576b52e0e91cd0 GIT binary patch literal 16686 zcmeHNd7NBTl|JWHch{@x>aBXqOLr&TNp;el?xeCuULX)c0)fs#HkMXGrMpOqbXRq% ztAV&83Mz_#pa_cKMifwSA)tV$GwO`a?u^d34K9q%=Iomre&^l$UcIhdq_WI!{+Zt| zx$oTXeCOQLcRBaISNChb{@mw@Xf;0*<@4jjyeUp+@da_-%v)?aD#(R`Tx9cBd0uSu zCGs4xd7C`9+q^@bJ8iyHp1W+`EzdnR-7L?&Hr*o6eKubv&&zGTLY`OJJSxwZ+jOfu zUt#lA^4xFp)$+{PbelX6*gPiBahtR9yvF8(@;qd7PM+7=d{~|nHc!ekZ*xJOQ#K!w zXVKX8KyjhC3NO7waZi12#Ws^ZRZ7fXyGY`9n5;*ye|9K4$YrZ2qXt58M2R z&5zprF>&*8n?GUmV>W-%=1&Rm=_r4O$;yp0B}cB!T$f2tWby~oyGzAf{@{8hXV*-= zl$*@%%T4DFOk_9a^Mz8Tlq=+?nFdF4h4l3GnS%$j#dM~uNpGCWZ7YmtCw3MKQ`uta zDE!o3mzkK!GPS413KKJv`DN;{sW3U2&6k*B*JQ>@h2qhz2qZdHD3-R*OfuP?l$nHK zY`T;wmi8bN5VHAkEsc*&?>RaJ%$BAyaKThp%x0zwd8YUnq*7K<<1RuwRhy$i z8Ocl@7|&cflPw;-teBZXFENz{M#l2#vFuoODqYG<6bqU0^mT>w5h0~_j8E^#Pvr91 z9TU4tg(>Nijh^}X!I81TWcom+Fqs=K%%mre9>7$Xo|>4MPLCCeSrqy4oHseNt8lBB z1T~v5E6|H0aE|dkkS*>}9iJR2jAbVFWr{heYp~V}hiT0z#fn*Sz5nN)bDD8?%nlFp zO@}ynI*!ji@$VWhOlER<;|Q$ZfDVl9&K=BSb`;TzANoHS!&3;kE_-AqGlA*cJ`kGE zI}Ti%9V@LLyb_b5bSMWk7iMQ5%|PZTln%+9Z5Ce2TLAtFY4KFEv7|?;k^Xp4$c zwz6RVN$Ln^fepJ$nX$v$GE-iT#Q7@9k7MbKW%8RP6F@wanLea;g2=$&R;=)yyS8rI zj1&MFd-wFr1UA;h>}B1U3c6VBZi$rcMpccZWL3sfq4j5{g0&V?qPMK#WlxC3_ab7j zFk-3l8i=O+316QI&+PhCcna62!gDnWuWDmUq-IUPXv&{$Hr(o&)?5xK7-2swA7}}+ z?PGD(Luv}>?(zq=QR&Kq+Ms}7=<3eS<#VMCOc;WF7=nY@k{or~1_nb}IyeO;px#nG zpv6($>7UW+{fgJS!o&pdPin&4>>t*oa)Ezd6SEz`ku8SWE`4fifV>Hv?jO&jzBhDs zllldr1V7t$@nW_^AAuo65&JY1XUy zO^KrbP|GUdpjGdDmz>qt`h?fy8wP=js~}J{*~OI(QvtQpYWQaDv3m4mcoWcv#}C!= z`1utzey9blVL_o<9zRsd6_=&MTE=w>$ zwU@`1z1Oey!mHjW>MK)lEJvh*W$9k?H{i zG;09uQb7$Dx?H`0Y{|(R$-Eamj4zXyHKx9odI!U)vFk@S-tp5V1V2H?68t28Ho;M@!(XD4@&4R+ zf^9*(_qqM~naKplq#lzDy+4ncm*BW(GA+4de+jR739k1{viWgcPk41?>HQ@f!4urT zbqQ{iqDeIMV_wqGUKxB=7}jwV3yXL@r@ zhlpmq>R!JoI0^vS>fqbw?Dl4-*RxM!CTgP2j4Fnp2PHEqQyrEDcrd}|$m~9Gh9YxK z7VsTIzCGwyXY~nVXXaqm`}Tl8vpgHrDZyY z3)BQ;D|>_~GjL_-SfpP~Pee}Q`^d%v)1@L#RQi()vUHt%o5|x0wluu2_?vjBF$L*K z4Z~S{9ovbgIG;~_bQax!&%1NUlEq3)uR^UJ&sXFBYo_V7P+$R@6jZfjkaZsN7_v@;-ixwG-6;2wO_w1nT~5Pv z1#O@!X(x@+0eU%==oL6FT!r0zKRrxW)6O!P-ZWN?-uI)sH zWNT8?u|uSY8v`lg#+{gu;+hn5;vrJhtp_RUCY*X9B{T_Ah!k@hK#IAIPJ@sdHL1aA z43X;HCXnjgW~WI=&6?EYG>1qHZVN~aZqjKHQc{yzoMed9T9b|H0WQoGX;BDK1mAho)4oK7Ll(WFjiPKea*Iv};Xa~(%Wb2Z6v=7va} zZWla=Jq#$L#^hapyTbLYk*ZJ^|}2Z^|_0jejzQ=q<&{nh_ujM z4AMe(z*#J$0Zm%$41`Gi?jT70?hGqQs|1t~`NM7GkWA;sx7wKJqZc##MZazvyhs(-+GEZ2dRaJtjFmoNJ+lfdKWV3!_>+2z5uC{@3Xeh7a`5z&svM=OOPCX*6O3*fi#!DZ&~!akh=KC z{7d>Wq;4z1-=nWU>ak+{E&3{?dDZ~(@b5vIZ!P0b(eFd*wYKqH^fgF*)^5Iyz7A=D zRpdPV0i=c24Sb0H5K_vzhqog0KTQ4B{k)0(7}6r^X-?6fKw4~liRaOuLK?7sKrhgr zK^nAvLjObGfV3o1N8hGDhcpyP;Q1Gjh9g7h$8SPf8d-tS_!gvPk)3$a{7Xpb$UeM~ z{uQLxXGYklCb+08@8D2jv5 z*;fm`#;p;BQ=>JuY|%=!&aL%S*quEi+o|Q4Q||1#RC;~b){-@>pc}VbZvzruTr(R2~U*>R0&_z z>Na>P?C{zO$6{sG?lyX=#z2LAU#U9XCQpSeUt8hmtW=KM?5Uaq6%GPQ)#bK$Dx3kd z6^_?R)#D~TRWeZFWS~^@-BwS9LxHx!5nQSI+%`|u7N~GkP^yJ)yQjh_L0jRNu2lVQ zho|ZYR5&{*)nd2PQ{mX4t#FiAszG;-rP6s6m(RrE7RHa%?3p?`uD zqc0;%{WGLEJ;y(!e}Pm_zu>Rp2#&1?A4eahe}mM(EBH?OcSwyq!q?G%Kx*QHJWBrw zshMx$^XR`IwebDiPyY=miBHCHq-oiTzJa!W4ylcQh9vz9NbOb(o7gWQbyz7J)qe%4 z(>fQQ6Mqe9j&&s+LbAtJWX;ev?9bSWu$`@BhSX&}f^Ex!)GcW^{&QOW0(DXi(l9ep zFD|mZfKDmbEdko8)+hL!n%R)1)rDwfW+kf0(b?oO-=NSY_6a6sE3-};#!QA~+ZR=9 z^Z1LHmp%M8hIUf_;!etbUV@}uC4Q@`vbUG!X@?Cj<*@9tDynuX+q*ZfVE$YFd9$v@ zI}B9A*3O%%b6$@8Bn)&D%~dy1Zsp``bVDsC(@?pslQz@MB~P-sa*L;8sT*xQ`9{m_ zo}#gCy6u#jF1LQ__Bw#}Qw^XT!)dwDVc?)$&3Z(m#(#R9o~{=iOy}tZQ|_5F;7Esr zw~y25AJu8Pm(GkY9hh?_0xS2}8FQz@n|p@BD@S-HJ?bF4&Rme?IM1+C9cuR(4YeHY znfI#$?m5!|mt+24agDICOmS61y%AFyPx+KpyW|Nv=aUsL*6rT6aryoYf_|xBx#Dqx z@n>j*e8dmGmCrRA<2H!F_}oh4Zlf_Sju?#3t2CZxG{!9xgYm{n<6fgNZloBD&#yFI zU^K?%6@&4nO5>E#7&l!E#uro?FESeAT8zPXbEWZs(HPfh48~h3jh7gW@yXF(d|{>W zu+bP7b_~WBRT?id8sln@!FX$>@p7XvE&&;gFRnCRX*9;=A%pQHmBy=$#<*oRt`=VzZx3)%sD_aF_?oelDoi zkGi$PJZSc_xmrK!k`MC|v!5;1`cZd+n1{@MF09s%x%P&3?95 z>qp(iVqRtTv!hx+>gpErYO|l6)%sC4y_naS{ajkDA9XQ|d9B&cu4?_Ldt}V(%zk!P z>qlKXV}2RS?|rygL$mgaJ=OYAx73(jb3A*i^`kDeF|Rkrv#(k|>JA+9*=9eNRqIDx znPa&FtNMqFWI-an=qb7!_v5ZeUU{5G@%tsN8H^@hu4MesIGTKglJWE5X!0s0<43{K zc%#XTlJT?LX!3xP@nhR)a!kqi32ihvu4Mc$Hk!;T89#T8Ca+O4 ze#9D09#k@Jw2dYYDH(U!Mw2-u;}+X!@>(S?6#1}{`$e8m@?w!Em5keJqshFIaZhbD zSx_>5xE)PSDH(UuMw3UBj9Y2NH5m^Oy~`m ZFVZIxi#N!tE}!e)mc`Fla$A-+{svR942|y>l zP;e#+31_3I!?`Fv!+8}=0&_uNE~?PQcT7b_K~{i96qhhAj)^F?<7|XDQyiDYaYaEc zicL7HA}_uL6_$!g6;tA7D=10`m{|$2fy?@|p33Qk@zjW8n}zYTg!u7N!7=m3s97|} zazKSYY1qyz^~lqDu4G717v~rL zy!AlXi(Jw(j%CmG6IK_0ytX)hN1(%cwwM#R&ChP$eR}=wv#%aLyYb-nM+;BC{!-Al zW^6-ui~&7Amer4y414yJtxwX9gnY|DrjW`Q8Dlc#=sDZcv#Dt-H6@r*!FCX0rtG4!;LHbnw>2BcIjmlcUK3Lweq@I zSef&5FH;s7F~yKH2fbm9yP?@X8^OV-M% z@j2M-mNOw5QW1R3qH9$b&*E9m`{s5FN2f zcE&hjis9N)J;@znb4l3!Ukiy1xZB$_i}N?D*UQuE-~Ms!mW1?6tOX69U_iqlh7^=E zOrul746bT8iXjH#XZwPg)i5kDiby%H5|V4#T^bIelZDr?PgppF4>UAkhlW?h(Tp9; z)9Q78uw>@4qAeS%GuUEgdo;}AbCx8zYpExCSk2@vuPX>k2@NNO*ZZn`Wy z$rNuIzaHidLT?fiz*~gakUZ(Dw4ay=@i*F9zkwXO-}VdY?m!OSZ~GZ_gGu_LxmNXvQQ(!XkRZfEK1CH}@JNv^*(I?8u8AkC9|f*H zk-7k)+?F5F)gbn;clrs1n6fSSn2_wIZ3f}zM1+_&Nn)xXNzci?d=Cgj1LQJ8nJ2Uo z<+Ft=*p@k0W64Z6xyZfTvE9X;C1`z&4UblpV6)pmVj9Tc$0~^jpi1~V)QhpJtY5sQ zFyD$A!W&l$Z?7rLXQhU4Y_;%?n!?9eBzJh(;Q{_|N?O~#M}6&}y}k=C^)H6Cdb}km;Y4jcu@}|j?Nmv;T7F#T8I>qi=K?lyfo_g9%%M??13$4X9?YfL7~AT> jT$hcpIFC7OTb;wo(s%k<2w>E$@u{WV|0(Tp_n-b3o7W_J literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcAdslQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcAdslQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..35e8d1dbeb513574ca4be6b0413a6f00c4d1ccad GIT binary patch literal 4428 zcmcgv{c{v&9sfMZ-R<7p29g6pu8_90v`umer)|}GA((*FMlXSqmRPFN&E1kL-0dEF zdtkI$QCrapQl)S7#s1RbI7~|&y)x2q^cS4*?;vFSAFTEB?C#xdl2hX_<4o?^?|$Fk zpUvO?`Nuy2co^>}C?_CbCC~#qfeKEla3rQGF|LZ5e4bKqT0Xz6Vljd5;JcFJSry-t z&+jXEP7;5Rz#05d9zRN8C#*PeKbFVy@_0cWKT&WtfjeNS_^EvUOdc<)__>O6D$c9; zg+yFX@RC4GFIG#FMS<@8as8B@E$P;LHg8+=qXOweHOn>2#$mH+&XtS_%d%bFHEpXZ zFqk*(Z1uE0KW{i$y+z4RRLm*6Xp{~*cExbqMe2#3(n~c%K)reG`rj|UZ_=77%}(oO zVpAc*Gp=KLru%N4e|PEmcW=FX_13xfmp{C|^!AI(AHTBv&Y3`TA593f;aa+IZu#<6 zfrK=$-_q%~fOhM(50);xw{+oy<%_?eSiv!L*U0PTxuX7f&2ScH9lb(t1&$5m3s$yZ z6pTvN)k}`87qh4A>`BR#Jy@8aQcqxXFki6C**V=Vn?<{pEicY7Gu29|R?QY{$KYWV zO)po0aM%uW67eJ0m^UqBx>lYuoF{x=Q+d0fmk#TWDc=KR)N?@KfpvN(pqy@mGz`=pA-38fgNy)dfF@c(gZN7FjiT<2yXpwzHi^1=u z5JS*hO%07f=x*s~pt@#Uy>MbmuXwG-C8OY%9I}FL?Uzv!T+pivzQWFd!AW|5@X+Mc zeuhUl<`~sl$z{Ja{f>K(@1hU;!buO`FdN%#TBf^4fI1Je(({HZhf8jv)WBdUt-&rz z1`NL5%_~@%Tcg3`8|(^18Ybh_mW@r}%6TTF7s-IbH?pF-fsHU%U?q@gSW#Wu=j9HX zv1?Ajc+`|Ts5`VhcF9#Mu;ah&P>w*~&5zIAymo2rIusbajSZyX2%gsP4SZ9NI2%yImoTp3aU9ZcAMV$X!LWv1^7ssf1-7>CDnHqKYi6k^M`}|j z%>&Z4$>NxXxA3++eoc3W@0M6u;j!kMtR&yMe41ZLzKcN(3o^!s);Q19mu+4Ya@7ZW zE4U-{dBa=vta!^wfAR(Hq@snIYuhDXwC0+ntWSKBAoFcjr)_t-RwCSCoD|Rpj)aCG z*dS{$|HE}OF;{gRz2F9S9($~(<>;j48obfj4Bnl6;Fv(~z+`wH0}hHk5}u*|;8{z1 zz{JV09ad}a;zYF|aDN*;VT(icD z9pb5v(2>s!)zNtkkyKOyb;M>RMv)j*0u4-DViLr}8Gz=M*x!;VhRQxBNRi4v`In=9A@jQgjBr5KKvS?I9|mz zQ{nQ<9ea4s4RgDuET4CaBzO9 zqs`!=3`qtj>>>l#pKmYlMG~ zUb!B^eUWY}%+G{2!dq7hZ)+>ePl`6eeXE80+Y0mZqm6KSweVeSh38NRgmVm1&O&S` z^9S^{&zL_9vF0$uf_p)57aHyKY+bJ&{~F;xp6&JYtyhnK>j=!Z*OOka9{-XO^1CO9 z>o~I``(^w(?%<8IEw#OlemU!P+?l$|hj|P2r|$M)-aq}R9X`yPr$2QMk2>yMU6*h# Wjt80Tfax{e@#c+tg0^|%mi`4^w*Phj literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcControlRequirementsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..138bc8bf1a1abb63ac0da6315f334b35141766f6 GIT binary patch literal 4842 zcmc&%ZF3XX6@FHhv@2vdO9FIeS9Y;G#aX2U|ct9ZY0y&}JYvQ}0;OpZ14F%s6 z-)|}Swh;P`jPHv1$vB?J_r&l*96hjO#J(?vQ(`zRhBIP#QN~MgY=EucW%2!ig0l+F zDR@P}c?CZd*sC&LlMpiU5|Y`Y+Ps!7Xy#0M%CQY|W>`XMvTQm=Q9o#ujOl_tVw#qt zIfiAHB=ltsD_uIF&CKX_TB~u=BXh=>mDdXswl$~Q&H~qo%xi_REp8TowDp zp3`!UWiO19R&Ks?^5*qR0#>ZDQ_vk3T{-va@+-d-XkyMP6v~cfx{S3e*WO(D`D?dc z{MD_+v$w9@5E30#i7ATZH9J496}jVs%dh`&`RdZjnTyMBytQ)i_f=IczH;H+m0z4* zK7DHW{8EgmPFRwILD3{VX%hoxVdBeR< zf34uQyteRO-lK#yS;N%F%f)HkeoCVogtM%iRye5HhM4Zqj@(A?`$+IZxuDeZ0>{M-Mqrslrdv!PTA(IUH*T#@lFmMWh7|@=2%B> zAS(|{AJuctaNl7DhBIrBEm`$>>q{`-EN4~(t}Ntwyu1>KOSZXSApO?3(mesB)fK6w zVw)#X1KM4IYR-vtUF*rzVH@hj>Qi&$DusG(E2p_*W7?b>-K>2wF0ef0G;^Q09FntI zY1T`SmfpTm8a**NI<}9uLON>erE9h2O{8MW{om@Dh?02{{v? zh@6S0B0?tmK9Y-QO+`}CfKV(WQz({EQnC_eDJcfH$4X?PE-PAPF+Mz2Yesfi3=Ln4IYri{=8l~7j_DiI zf-^XXLo_0SQ}`mO5U>6uo}qy)xF54POe)Mg7{ixHMabEKFO!P$m*#qWg_P{ND#gYs|DAqrS9>QYUW`4nlQ+__qL zV^d|mTAC=YU#;BTRGBZFCdyr_l{Yt4=2NJNa%#2m)~3qOVa8X^@PAKx@ydEvFk~Te0>UP)h zTDl}2XZ}6U^Oi->W^Z5v`}fA=rX_TXa>h^cUXNyd=}vC;Xm;!F^=NkJ h?&N(OmT>=SUk8&T>w7DNqMHR~^$}z79DKyg{TJ=5TPFYj literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantEmissionsRankQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..513dd5b604043e759a916bd3809c544844c48835 GIT binary patch literal 7148 zcmc&&YmgjO6+U-&9z8QXJCEHB86IInHn5Z3Wq2#SNhFYm!A)2aNCd&qJ3H()na5_P zC$NYjBJvOjkEno}5S2tACPZKpSVT|(#TP2R|7aC?@WVfrRhCsEey4BuOz%uXmWowY zCAUw1=R0RkpL_1P_wMWedHzKrI*0xkq_2lb(6%tmrtM*Rly)d|E+gMy^UBu=V6M67kKy{4=?iYeI8!o;pHIxAWWyyHidr3&mSrDibAg{^qN9HR_G@Ry{^zt z75bS%KWF_fg7iy4EyjqTlUXuutSXJ<@j~kp0DNvDQ_K^dVA}h zl}iPMuGO<u*M zli)I8wO)X?y7J(C_Z;5!l%Qy?U{op`-x|HRks0?saA@m`Z{NNJ0!Tn=j3rsKs^@_m z+_UZNhi|Jf-JGFZxnP(;j_f&baLZm7r>*8^4JSlU;NU%v9@@KAP8Zn0+xxoC>_2qpt|L3{K6KY(2k*ZNs%$xj?;O+%!z22o)m(XEeOVtz#suBm zGng%Avbk(-JY(wla!DV_Y%XOsF)1^YT`n^>ghW(Ly=X3Tf3)RkAU&8Z6*9wmsbGwh zs+q#XFruuC=c|=Wwp7kxD2^D`MA}~60bs&>7hwkR-GfFkx4K#w&Xq6IQ2<;frL3M` zrzyPlI>t|!H9gXaaVOdvj>Yl9=1&|c6?CI`w0Rj=jI@T< z8ly$std^0<=l{Qxd~6>Q$Zf*nK^N%karKQ$hOf(I&4KilC?IppfLdT>xI2r@Ku0K< zV_fP%=5_PRS1iO5+bq!4AYxMILJ}5bdb3DM)^sphBg&@HRwqdyX%Sq@nHxvDWHq22 z)2U7e>1-f7cmv&OCXI9lZ=den?kgP)&TTkmk=?B(E{Sd^y4KXQ8&~P$);h)h5~Mef z=&W8`#?uFJOs|Z|rQX_;UWsWLTC;N1GRzy~Ksi^b=F$CHtw{-YyV4)+o}T59^=@al zyCH4yI^d+n1v#G|tF!EHjC8v{Ca};b8s=hz)019@NJn!f?;RaIX;%f-b}kiayH7GJ zhF9*F^_?YRBQoYV-lnxtl&u?b;+_UNktf_tJN78BrLK*@Uy6vUlr}I%l(A=Y)5YQ3( z9!#KN~K@Z6)OFP-c;!ebQ?a? zF7FM-h)TCJ66G4-khKpZD&4_g$O4NvfT(mQ1ND=@hB6KvD&56sytW25=+;3)r7t$% z=qCRG}--2UPkvf4@mpmCmK} zR2tx65f2~XVF?cx@vw}C6+En@^8_8&cuu^qYUD?_m-o!1HhPSaMJoNC{(zeA>#DVs zMMyzk7w6VlqCg@N;gZK&ysxX4R6gDTO1dCf@(rLYd4LHQ(<*sj(Y~&FgTcE!IV zE}5&VdB`ofO@j2ED_!l(-Y%Pw4{*L)GF&mss6qR5i8U7~l`&rzPAtt;vVuGg&5DIk zpdybETkteTl=8B1QxU8r-OGX-V}P0*3eqy>@vKmcuM4Q zNb7*K(0WMdNEng2mN$TOB83}!7wjazZ+Gv@H2V?qx9;wJiDs|rL%1pH6+-LkJ`9?# z|22xFe6Lbs7peUz-y|LHFoK#Nl%N(!`I!@Vm6E$Cn)0UtE>cJff)vt}RFFxEO$w$I z7b&8JK#FMLRESAon-ofgU8JZM0V%4fsR)x)n*_;4ifK`hVp>}&%A_`%6ip%jwZIcv z45Wk>PsNxNw@I;7+(l~F5+Jo}$y9<#Nt={NC0(RWtsSIJts~XWqz;?Zp6YN&zTKDx zIpqON0#Um)jc>|npewCu#Dvf%=ql(t#X7ngSPONF74%79t+YTap$(9Hv_f>#HIV$Y zO3Wc0Qh@UGE(+!<3R0Q=MOjD+-A{j_5lA8W3cX1=Nc?w?XX#o<5qg34(kLXA{!I7L z7^Eou72B%;sSP1+r0XEXL;#i>A;q!cmg9G>qJ-$B3#b4oDK16>Dne=(Lv#X_Aa&3< zzOO)Yg37*mq@hW7VMBBLqK}HRrv>T59gR%jM&D z@{UYijmWV_@s2Isv_1qoUY!4o4=nU8vX;V$@qsZc1SQ_Pi-P@=biy@^2Q?onQa)Rw z@bZwVkmk2kSQ(a)lJYyMh!(I^ftm{IMOsC*pryi6v8~X%q$;Kwn7ht>O}8?y-}vbPFySfgErIkNSL4gPB%bm zL5cm1CXmclnunsh5t0u*>pA)qBtPb88{GscfJEO)pN15qEhxUvK*C@0(4B6E6rxwq z89xgtOn;%{=oUy3E~}PSO1=xghq4laYh8$U@l*Bp76v-W?+_f0Z#rbt0xnve*@)WY z;B<1G@1d|wlqQq9mAB3|40##WZQoOEn}^@Syzb%s7`BthdpoK7ISR>krM|DLy0@eA z;1K18n}%Gal);nxsei$KI&ojaV(+k;EboUP*flHohSFsG44uTAvb$5HJdJUg@i3m# zXncaFG44Gc#wRx#pX6zb`;munSEKRCp2oOKc^J=aG@k2ej4PLi@hOeQ^E{1lFY_>- z*JwQ7(-@aG5997e6#XX-~D^aVZO?Wb#|e&oGC(1YH7=FZfQyhaGx>h0&0 znfj5p4nbe?_A_s$e&i)Z(3idabkEd}yweDrxIE`;{!IPIE0EwDvt5Tf(Ve)F-84m~ z;=XfQvS*Ugd@R9(Zy_w>oRCiTN*TL`iv{x6s2@Cw-)L5&bIS#zpjN{{=v>b?N{B literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryPollutantQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1c8f96966ced2242f2c0c8670a933479389e2711 GIT binary patch literal 4115 zcmcgu{cjs*9sfLz@5S~dP2DD~+ip!+fH*HRTVa6Rly;+Kfh5hEt!3q9yV#fH+Oy9+ z-?an=V;dVAKXe-WFliEk35fzK5@RE)=rqAEo3y{9>)?N2jL&m-cFu__S}GwW&wZco z+w*<@`h$P}^<4m;$ImoaSqLm=(T|lZR$=QHk(jd*b54gNzjYlA`E_+PHJq2AmqiP{ zJc2CtV>v_I1$kVQ$M@v1rs4Zp3}acx59IeL9Y56ZBOOoc__0Jhqv2VBlwA|Z&z?0e zm?g(-tdtgg&u*+#1PUjEhHuxcQ+CTHz=i} zO?%F*S(QQ?)ud~{`1wh{_*u%sXmLFnoT>ANkFaJhjb4}NA0^e+egxrlcUcd3HUwrh^?|c z^43m!W|NN#cw@8GMyYC5t!BwL9nUpur3-H9yksgZRF6j%EVOlp!jfvtV)|zbt&)tdQLtDM7xpmWS^oV}tFoTy_v{xFY zA9#${umA7ayKQq->wI83?1!PTLYv$YykcHdZWhL$g!oS8dD*9fbg)e0P6pf9vLo3t=9x?zkl+V!Y<$ZpvF zVTz3vPf_Da)b~5biiu!$#*smC+_7>x1Py`Itd^QX8)c zZM=19(|tFR7052SfmgMT+p?wi-DHT|E61t8f&VroS@FB0*?0ZwrOs6Q@cB1Cdh?n< zD<9B-Z0d4m%Bnv_;^IcYrg^n(@e2=Rv zUVE%5RqnqAvo@6+OYQ1UJQktifLCyUKO6S*mq{8anJWGc`4n$Ce(&M`XbYbvf$7^y z_$&!b=~hCK1g3c_VFCllU=mYgxR@=PMq;wWWZIaV#2CcnLd>72y$>axd!X_xLZ?Z4Fu~U+ahMh?(1OpAGE7@&0q(>7 z{OT;=gZz~y@CDusek05SguX~j3ST0`;^s*Y#8brNi2w7%_-~=4uT1#$9K5~Whd)R&%##AA_j%{rYt*nqmE2{-X@~H12e;NG+rJyF5 zGG&cSnX+EcB$FO9X$3vOlq+Y*lq+Wo8OfB5nKFfJn<;&TR!0$1=?kzUj7Br^29+=x z^b3bDP5Kai$*A2=Z%1(nUm>oK@q7_S2&M5goWoH<3g%$pK|(4V9LGb1GyvM49aqr5Y<<8Nd88=F$QGpt+Lsbq))CFBm= zBK#Keax5h4qR>;A>#~RNj?Kb*dkS;2_7L8=S@^D=!ra0=goic@@9!!6Eqpr`F4IZb z3+nj9Uy$z|v8Wl;PBWY^VDiZQn zKpda5jE=0ABiAs@y|XL7dmRPY>-^;RL@;+vA-^|*xn&CZeG$z4Qpn%MV;y&I&P%cu VkHnEp!3>LTsk2wBe4Bf<_8&R)oAUqw literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcFactoryQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a2fcec7a2662ae58d4bcc0e7845d80ec21c5a928 GIT binary patch literal 39243 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 J=W+JG^AE#`6&C;i literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelFactoryQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..67f364299f6d0097d974e6ce9ddcf076994b4708 GIT binary patch literal 4070 zcmcguYjYdb8Geo|?XKjF;yAHmk&p|dt>p`9fnJd8kN^p|l}(6=1L*};(nj87rBzm| zq;BaYPze11)6TSoVWu=IO(3V1tA)O3-ff;^>gD3w1N}sd4lGe65O(rv)vCqEe zy`A^|>eGLJa1Frycv(dy1pzaKewY2{E~xl%3PUh8EXnUrH2hS~@p4b%0Os3&pWuv?~pwz_il#_#?r-%Fl0%AVsc%@EdB|8;S7??%rHb)H%XF7cx<-RW3Dif6<$A7cmd!@aGi=u}D!KDc?wn-G9V-{56-NUL zeZfMuSaxc;lHt^>iqp!~mP!mnvthTIxw7M$Jn9w84^5~f`W{0Nf0!{5*jlve=3J{* zGTkSoJ2LQ2*{~N3*OK=TneYt}$laoq4B&;fi_^Dh@$h=XmKts2s<)$fYO_Zbr)F67 z4N)%~WYCiHR<&+;Ethe6{r{S=TQXBI&$SGjJux&I>7vI=XUwu!$ev>Iy+w;;;jHho zkc0i+P_p#$Mvq$I{VZ}9@E!z|5^Q}%Dh}fqc z=-8r5u=}PmWz{Y3Af-mL3shJ&J=y#_MzfJfcIJ^za@duUE5&QEGcSTmS9PKp=vtSQ zP?da3Cq1f+*RHbQ(p9E;P9Vxx=be^YHji4edq;ZAihJZF<%IfQ1Cj-PS9HituCBZq z472MmzO(ku)zy`^ZoKxcK;bqfkB)gfspA9|R6MWa1w5eRS9np!NiYPdFh|c=6&+7W zjOHhbcY(=U8jw0>@Bj-&$9Lo#Ph&yHckw+Pd$CW)SLE?Ed1SFqVCTkN^H9sOE3yN2 z_K4@GRhicD5-u@k6Z<-4HBI{`_WAbCRCr1Imv+jC5Lq41NT=@GABoY;VNShDRQUPWyYf8r(Nlh#{yIs>jL)kC&C{71c@Uiv&0`9`+4i< z_b&e5-NXSBn7Pe_uadxQZYGS9zzlCDj3JFA#xX&LNxt$2|5f17RfwnGL##MHwv4_N z#0L`+ScY;^VpNIIB+$krB_>5o(#QOry83Vr&tW8ZW}#sWcla+&;2_`1`Lr0%L-;zr z!LP;=y%+b<$oqNI`3*4NB=jv}V)!;8mN8G-DxM>zpZI@_kG+XR{L1)8=zjx=zANJ& zqJMURw&?zqK;PU1k9>Uc6ZB`|A7k5P=#!cFGPbli)O><0YF^1CB#-hj1}|evCXrDh zOv$`Tret2rsFFzwnbeFHVM^zdWJ>2#nWSV&g-ppzs?8L?LaT%5DD(x`?nk2$c!Rtj z4f=%wrbr*cA2Cf_jER4hv74go7+%JMgyMJy z%PM+=P!g|U7mg50kqeCMR#p2PX%&xtfngPo@lO+9U?c#O{{`gB94tX5{IASpLZ(1E z7xPmeb#9nAGIX3v&?V`dkkcqoBVHnpO0LF0VJbfDr)~E@VUbDG2F5Q#om|G&XC+?E z$0Z>X4=I{VWk5>i6F!Mq^o6ucqD@NY6`!PZNX#vzcK1%lV}UK9#eJxu$PjZEGT?KB zVhrGEJWenAa5wMA2*sJ6d+`LJ1V`;o94DmsVg3uWFNugV%tA1<5aLS;cJDEX7($}W z(B_G+M}=%kgsscD5gRhA>zTX!JqQ$`k6cbcPFR@o&diOyhk>^@q;`j2x3W{asTFdm zZ4!PL+vG@y)J%o2`6yDoY_!Pb$3g_vh zEOljU{GZs?J7PgID4k|d!Z|PSgWh@uZ&pvR76g9SThI2J)e~$HfgknOv*Tv<1WQNA zeILf>45K6Kg&Ssw8)kTL=Q2iQuk$mQ31C&icLXr^$;jZY08UGIH;-l9xiK%%T09g+ THil>YqBA-hw8Xc$LCgOEnVgj5 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..825c271288486485016ccb9de0fb9427e7d05175 GIT binary patch literal 7217 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelValueQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcLabelValueQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e13376a3303590595671983c0658d23351f039bf GIT binary patch literal 4606 zcmcgv3v(M+75-MzYFEK6%z@8S%GjV(m-xtdd;xiXV&biz?2jIIH5E zik}F?ODcXUzULLZEFol;B%}%_^hG^a)~oZm8OJuO^P>{dhZk9^IaARE(-qe~@}4Xe(!*x%Tqq)el}-y>Pmn zJf&CG$SdbwT)lXiXIOU0u%{Xo3DSgw=(RI1t-OC$!j__K=#Ej)D|03Nk%nO}9k%rv zEtF8s6pGbc(I^_VoTHa*OE2XXt=vh$l$$OVgr&2>16OQxuu!xrxjEgcm?f)`t1Qhi zCiPmmQO^}E+u%|ynQoMP744@n8WGQ}TMA~?pq+Du{ix39iX2!)ohR9**!xJ?HABM4 z4cW*5pK7`{c9Zt@tv73_)-=ty8O3`#{V7=$-K?&Q_~>2+EH-1#S9PahGe+nCkGZ-5 z6Qjn-hF)e{Y|6AX(!seCM$s7^Jj$dy3ns~uwZ7GS4z`HpEQnfE1m8~42C9p3LCrPLtliP)#T=F}@V~|@`=YOXa*lXYa^>j{B#hp~fYR_a zd|ksa99QtFhS%^j4X@+p8gv||A8sm-nI#Q#V&B`!=dmJ(wT5B*18b-vD6U*IVxfl0I*c`NAU&Ac( zqF~2%q#$FK#x%TvH<_&A9e(kSvA~9RwA>YSA3%xp6O|a=(Y%6OEf?7JgBr>rF!y%& z$V^o%UOwXD@aLa@@96X1eZzCtZ1?7cgx&vDQNuCIb^jWFOu%%+tWR0a{z}bR3Jj@c zwR1>?jFS@d%+a=1^9NKX<_2!T@wvKV>qW=Ea9O!=H$wZC#_L51yE2b=Qy+AiVo`Bn zSJ~<#?NhetK${W|<)@f}+u4PmNX7u)On36FCL<&Y2z=adm*97Zf7v>QNnlZR5_Xfo zLhB^lMFNYjlW-3SEXYp6XJ|wWpT+%T_#BV_t7{HmT!D1tU4#nRp=E^MLnI{&U>VWF z0;33wDu5;?CNObgVogj!U^HS9E=K+%dX9usy)#FsYi1d@9L`?mfnj`}Yd;jOS*Ub+ zE1e$3ZtSIx)3}SheK+!?_R&NdhEeR{SLMJMBaehHaHsL>VICkfPD}{<2(d-E(lO}; zViLsvDLeFQ$dOCgzaaTKAMy5nQ zo{kBoxX%dLwK0NGOJ1@%27UD2_*X_WejI>c7yd z;E?ta`V`FYSCu}(77vVl0_Yy?=Y`ql0H88iBt&=@ator}J1_Ba%R8Aq3GXB^e7TDB zo}-*7p(m50dm>}olcNhFk;li}42muDrzW!(p^PkJql;Ja5kW{te2OZv>XBl3*(EWd zu8^9Ro1{cO>XM=@64Okn?cFnTz_ZG?J&aR0?6#qd2EIZlgpK$Hj?kYl%YKrX5SclE zd+<0RnZ>^uUnLZEBmOqjkC}`JBQ8k{G9>9^3a;%#0{SL^ofztULonO z!hAGz5#AgW-qux^FN`k2TY|#3brt4Aq>FGmD13WYVLmLn2yYE`#XwhKgLUNg0;wVX z0MViBJLu~kZm*}Jt)7bdSCEAH?s_&~uO9EllCaQS&z9@e<6UqP%|74<(%7 zv(+dJ5Ly?VUslmE82GQ7wri=r)D!8YEN+f%nKqhAahep0u4Fz?6y)D92k&DftB s@L=AF{i!=VIJJyVrFIft#;1dY(%u{eKU*PG+%BlL9t;-k;De#|9~fm1=Kufz literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcManagementFacilitiesQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..409c6c7225ee05a7fd13f4e82b0929d30c793ae6 GIT binary patch literal 2643 zcmc&#-*XdH6#j0K&8A_2QrbebQjnraLs=CNAuU>JtJSm=$`3)E@n*A=E^ctO`I5IN&qBH&>=pUitcXyW(DB=hY&a`{aJ@=k-zH{z(PJaFC``Z8x z;X@s779lWGgpS!F-oo1j^efGrj(3#u-6Cq3SD%F4dmVvt&GF67 z71?asfhq5wm{VsmKmi&j+$iYk`$g&GJmkw(PbUN;mLj!(8#r%j%N3Xw6GcHf`l)R$7khgpS>b z9aPIT%Ws)=>9?GQADOMyI+1tUZqzX?Kd|}n8obV2QfJ+9i8(jTBm}nB9M4{eT6H@( zBUuAgDc_RrIT<)=pDMK&kid~AL@S_QxtH?fQz9RH5a4S29!URb98YY_tl_t$9Il^U!$HITGanc(k zydN$r_Uh{1sOqmmtck_VOQEzro|o;IJ8WAW=Xk-A-i!)Maanej6Z&OKSvAg}aPnHNGo*$EVv z{3x*OSx0ex_hUNkfEpYEd;V=6kPgP3uW$W!^^@PfynW}>9|WpT(V+&8;+TOdCUl%P z@E%GAE`U#S_=(1afmcxCI~aITc{+$g2Kq4|u;byecp`G#hI-qP$JC_cG$swaj}Q1} zWdpBcLg3&AU`)T|bGWH-l=f0O*ErMSaU{@tKYqe4fn9X89EHB`CZ0%cfQkHJi{D+Y_Rqup>w8C^w^KJ8LV0)zAcz4g-<5pL&M3t7Y ziaq>&+RooLLRA&#I>_B7t~>a@vx6ZN(1U02EH4c6=n`_2fZd{2SD0T&F8zpF_)Culxl4GicfCl^>zc?AA6ud);dz52%41_UMcs_sw*iT)Csf=Kpx-3tIsI9OhCM^e$ z*9(7Oi;kE6#GsCs`B&hyQshq2ALXj5rzzMfekLwccl@M0+IoDAQB{0WnAnmcT%}!( z)+4>uiQHtI>Tqv$nTZy9E7zcpuc7$S-mr zN^37Ncgcnv(-MLyL5RD|{r)~96gm!s6rIUc)l(b0iA`TUlw^NgWcALxkYeC0!o&vS zZ(t}QbysNUk;aoao*EzHZB^dvI#=75}X)X;;$9#sUli67y=Yv5lILzGR>!DKu_vhv4vRTC$eb_7X{Jq!q+1 zZ3;9^O3NcD353$7Zc^X_E$t+6Xh=Klmvp8d`>8Yi)EUg2X|z{CdV96xSVeQE zRk4N(=H^n#b_~a|OBDs3{g$1n95O~n&2q-5b26L9tpPi47Pgh`akK19aGl6Oqfj*! zXg981zjNldV!zmkk#p?wL?3DG#s^1kTstq|XwfWH1(vvd>caGiS8q>VcBNf-WJiUI zEV+5^>h$T0)2FZAI&-<>)}`xrUVm%)_#3y6{jrnF3c;;*uF4apq~M(wPux2Chv^sI zzWMfL1Tj!`JvMm}@U&KwXznQgfNvA?{UtJmAvpR<{lVv&!J%5y&Y14 zdZ>26jrV!rw%O;J7_XgeFwN0$2(&d*@`_oIXwv`mFIy(Dkfodq@!iCQY|IjJ4q<@nDN-C&h0XA@WK=-kQ8MomW)rUf0HK7Y-WN}X&k?}b#1(*duP36@LC zZEI6+<5rLB-#Su}d(8?BZ!2*YoqYdhoX%`kqrJ_%X>BwA)N_aC*m7wF@gcif&Y4>+ zQC}7{7PEEYjZm=Sf0cgb;2K%eZ%)2>bMhrw%WqseDM8la+egmaxb~YnXWvoKdmr^t z#|TDsjKNazD;;lQtB$wuYaRPx@j6}%?6dMZo)w5H0>PaY#55tNBm1fqQ%BL&aiJ0M zg6Jp-WL_QFXUR9C`(9oE9ec5rv8-c@INmq#w2lsR>R2a+&xqk+F+3uM&!Ll+pZgR) zTD1y!k?U=ZKIyRX8+Ba7C5A=!@|mdL$QbNiE{@)pCry@1i>Rni-KgNSRdVYgNKD~r z4vPD)Z@4TSR|jGFHAMXS~CAS;%F2f5H#)v@h@RINHzAtRYPNbn6r6mal5ls)eu)Zevs3QgA#PDKPUh3GDUr~=UhQA1(^i4%#{ zkc2>VB8eK36i73XWDRK%$UGt~F7i9>+=O0^E1_}h;kXVBF4 z4U}k;r^QBcLFp2{gfH`&n>o|@mB^!{9wQRMS4c6vIP$h3an}~&A9bz0h)DQK*I&?j z9+9RiU4KUFKsV2oa;GGk2D>?A!##gRA|3t^t(Tzpq{CB~Uz1R?5sIkUXgVTfq8}o4 z3CVOM9rX#tvMPmQSuL#!ATCzzBwPc&qNg>qi2_@6bHKFho-e1~0N~-|#UAvx>cEML&yV62<9DU?3#4UV{ zSO}{bD_5B&itA!o+q` zaZJ%GL!=V;fF68`l#YKgdv=gY;$K*bourzvi)ZY|LRI?+%_??(j5ZZ}_|ue+u~?F^ zdm?#m7G4<<%mbDb?hp~7AWRc-!_jXV8FG;s(?n%+*CQgI54=x`ANbfdBo`X>a!bfcosbx@Q~xLAE2 z62L-4Y63Nx@NCEvi~7Xsl5$?AyO?BFvor{br zmO(LRaISq13x7W+I2X8iD{3AEJf|t5<7rTS2W_Iz`Xf6XsLbXlKzY$z<)wkj?4tsd z7td9GAW)fISAcSQu5x>zGW)XtPz_#Z>D{g)TOmdCt)9P*(pw^Pc3;Ob_B{`z9-KnEsN4LcmP?w2v^}*#((H2D zQ!6FS{-!;(O496X+Ec3~&7P(`^(hWh`1IWP@n`F9F9Je1wTO6 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcMenuQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcMenuQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e8ba3991712d68bb8832a41c64de14bb3bb942ab GIT binary patch literal 4002 zcmcgu{cjs*9sfLz@5T0|$=oLGwcXmXj>UPIVS@p7Q`(J=1(K|5)|QpA>|$S%YwbJt zeAf~fjPlZTNP{Ac7fm2hA*~2i+dz<2>oje@42i#^ZQy^{*gntQId&2wf+`^;&wZco z+w*<@`XB#(`&|H^!%sEXSqRK$(TjyF7UAgFD>0`f=8TS-{ML22^6TknXgDiDKZ_;; zd4yT)!F-0ebMiPZk8jIkNyB%t7{t7e@5=A+rXM}Zv`-?jpK(yGr@ttUg< zUpnbq4ZhFN4oz0vV#Ti5jbdQce9x*D&w0hOlBsyKGDV${K)Enk@#@7n%d0z8FD%xV z=ICp)Q45>Jis#!r+^Q3Kp9pupLod^@JAIRmYfp#uIop5AV$@`8y^2*kVfl`{CrBkS zK;ZsOS|^~LZ@Dynhn5bmHE5~PGHUit6d%~=N!6=cj+;cee2_uP%s30K6@)(Ha_Rq) znN69c+Gj(n#S%-~=1$v{pj75Cz%9$yv5fvDxgoYonn<|!jMEXW>(P}Qn zHQF;&n4rx^k4;P+p;Lra-)@GrK%ghGIJ3WPTnxu{WFvg?qI$q_o!}s4h6*RBZov*F z*xK8M3LPC?U8BC`+?FG|ejd037D_{+s>L}Nwp*LdwhwX59t{M1NB}i5f%SM&E z$YpPgb&i)-MRz zGzom3H-q08^Dv<=5R<|e39*`a(gX24F*)M@GBW%cl=QWc_tE<*l%8uN@1b{Ul=f_i zt^|6fM|qUeV}D1^On-p8uEH2I)63{nntG{DMVsgir>* z#xBywk)#?Gr^p&*{DmADUi;kqV#t< z7pGcTbxxs6(m5d~Q>;c@q?|_SMt}K0dOS+o?*8&3lcx8NT!l8ajQ-~&UMr;~!AvI< zU8XW7WlBm!ViqGI-BennTuF^c>MDu3rPS{3>3BT0C9${%bq08vmMRSR6NFL>;5tN!bhP@W|hg z?;f$Z8PwHgP?PB|@U8B8wr*BWyetHs?XG9rX7$9oMPRnOo`KEkiC2-3zXFo@oMv=n zy&SrMLGGRH`5ntJWv}y--x*5{?O77rznO~Hza OZfXhEoEs73k5-{bo;@oRK;#vDF|BKmO`P(hro1qYzKB{+S%Eb z>XmmU1Y?LH(FzLMLMndv<*>cUI zF>aR3iGnd`S+=XYrfpFxl{M{jX-=P*ryPBnM@zWep3Pb5oRKr8)2?1{Y(1ZzwbL^~C_S1R zSvuU)%A~S6yO^HP?V_2t%jx3$1Y<2t7s{n{&UOqgR^IfY4=hw3#wa7cdmFN*WsH=I z6NYm_XVye+?VMg1*Bw*r15oz7kkIukE=o}5mV)blPIp^Yd&L?Ap5>p%aNpW+@^(=- zt;&372AHncm^o?bZrNdmuK$09TEBx)W2USZ*y_#g6_?}a#3du=W>RNZaCgciTe4SQ zpFo0bZ@W{X4HY5RCi-3V5RXiFU{(Kb^7&P0m8jol)uKLHKj!MW%ftG#S4)lv1ul=x z>DFNp49O|IH08^N+fzeya`gDn@L@(lI_emua)AnA&&7teDn}{+-$b;}v`lw^3hk+J z+L|=nA%@x1o~p>$@;GTEd-=}!7k(Aw+muVbkyTj_Y=}b|$*;Cj3Her3*Y;R9qf3}Zw=S;H)P zG|b_OhNBpfu))jz1(!GTg2nNuVYC{~c>}Ry{XrTCrWji(+ZR zb_tuSAA*Brvyc~k+*F;rb~E3vVIH5bDqTBQHB0|$NEC&Tl+tig1hH?8%S>a@=CBr% zHkcT}oYp4|Z_?7@ifjHQldyw^rpm5u7kt&SYZlTz^CU@*8M8EEyCdZS>5wraL2o}( z(VW3$U5h-!YcM!baveSA2Ja3#B`O{ui#MUWa&#;;am8Ui6l6GqU3{{)@gIROLZU2u z_IGes$L|aL+gYMONR(cNr-&)2?&=AAR*h7JK8oPlADd508NT=^2lP0cP21Z}WssXo~tb8WbFOf))jX{8gnV*y5A1 zN|L5|&;2a&PlHNJavVD$3xqV!g7*Vg)=UH7R?n*4jxO@DB{!3gb8qGhuvZ zI0;4SLWpyMzDHNX*v;Mi!S$FG?;o4 z#%kNyxL!N{kd$zuww=U!?f5fQ60cSe*Lg-IO4V}@n>aw563vTf5!ZpA#Acu7&}>O; l@oA3BmPC@vBDPlNu(I?$K^8(7_iB7$E^EmrY{|gO3K)?V1 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletAppQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletAppQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a647782bb33b77ca5557cb1224a4ae1aece6f7d3 GIT binary patch literal 20794 zcmeHPd3;pW^}pv$l6grc+hlztKmtJ$0)%~e2#N@bvP40snihv-BqK>CCKHq{zp8aZ ztDsUB>TZ>)2xt`}i`qqPZMFMeTdgF4F51nmT7Td3?wy%8GdDO0{{H%XKJm_Z=leb9 z-gn=*_nvp(#h3rP_gNvtG^4~z;T%EKl_Mt7#W~bXJ*M~{)f%*Df8Ji^7JT=i&)2zQVs)+;ix;?fk&BnO_$C+M;^Jj4zU`&& zr%cNKM_f?a=Ytr{j`o2j&FzJUT{m7&roAeWternRsO!~P=zcA^SCjH8!*G&4g zNxw1ab(7vO>9;1mY0^QH`b`=zY0#uYCLK2EckKB0CjEhX@sC`*<)ybt7@<}Y{v{U$ zHUt{m1D)#{S46r)o$Kb1u+Hx7jD$LZt3o}Ywe7+Aot@!GAQB39_K>Jw5(+o=ToPEf zF4)}|h$D^jyFyFDt-MIJF*deGB*U;dxIp*gMIrBZ{5lDWnUO*iG;g1E{1F# z+<*DOzHO||>k7BG_eKJpk(C>}U@>Fh@%skuxn*$E!-J3S>%aT@xA$K=xqt6H1G~4r zdD-Pt9O+3&Q}N%xZTAlDyK->fHE-|VM4~w6XnAj>J*eD`9k}u4{>=~cUwbv&!Pmf@ zo1{&OeO|C5)YHSax+vV;LBa>ifvwN>AGp7N|7P^eC2he-Td-R?KRbAFZ>T%i5$ueh zXKEC6^8<%=K0A0|=fLf|`nNnZxZ|PzE!Q4;=<)g5l_ZQ;H|KeYsVVCOry zcROx(@Wx$-t^*}E9BVjtw`{rWg*x;jdvb0DO+VOo*`aH9aJ8ErsK>o`ggZm%Ts*|4 zaHun~EYN|jtmxnMO#j}kgI~O9;Hm2euXyI*fgAd_+%UL(H;IytKxbfGa8aNo)E

    v{Itd*p$@l2w2q4S9S>2@;MRN41Bvx$trF^T zTSe>2mR+|b+$kR%9{J$D&HZ~HLfk1R5Q#&3cQ}wgcxhXpw=J>8TTp$kVA%_CIC}F%(t4?k0m<^i344&w-Wf@F zypir;Ai_bb9>~U6DEbqg;L{Ht+O!ujyCKvX46o?z-VhA6W1?u`mLJ-F_2K((V#hab zN6hxf`9aoNduV50|K?qXcE!i0F8Z>S5l;oBu~F=1lBkr!*%>au4QMi?rNKZCx(|b+ zLX8J!t~h-A6KMUwjgKH)(deFVZ#Tx*>OfBsL`FxTdp(Jc zfqSnxv~zd$vVq4Q=jER&TI->X$6V#N7FCXNKMzko(iQ^DcjC?g6a#B_nAbTx zK<3r*8f`inN6dGWuBE&{VlIu}p~O~WxvUpUT9URRkt)Mn8dymNZcNsYv|g(klC&e7 z8ji4bkCgQsfl($KnYw(Jt0tx*g^r1wmiczj-9?g|pp&<+UAxuo>oLc>egz*UtI>m& z)=*B}Ll{bMcv2T6ujeC@dm@=Iv;$ee5gbT@j62zT&ML3s&ZSA9@M@n(VNJPnAG%e) zLf(N6(io}5UuUGCVeXoeSO3a{%97Cn$5h^!oTv*W->q_!WDg~fq)JAvG)u@1ROD(9 z`Jjf*6V!tmnjq`cBo3-h4I)QNLL#9?OM*^5U!~&IK|NoWrdr0S^F}d5=1?R1@`%}m zya!Dlq3%J0WIHv>ydp#I`_Bn|!XGy86YKZ=23uymTQZ zWXM^_ZhG4hsUByx&8cS|oxtGr* zdL^s&D=cC3ShYikzrR)!;J(^~K+cI?au8Rkhd4yI`fD}8mWht%1UBo$5MKM{AzJF{ zS0Rwr1taXTq^{nz^2groeSp#J(Rc7dTs9@XdzZOY?vP^c!o=6(DyUWu{YqTIu2L7q ze5m7&u`F_xs&f-xUdtKKzNG39`Lrq%DoqZtp-^edy(3#DUn1j|9B8GuT&Q_jOwmVI zhB!Yt-11_cWx&O+Wka~<~KDBKDuk* zo(B)@y1#$t-3JfcLSoJ_>=pQ^fyVo20!{SNpMCTf@v@KpN`LcFBTdAeT_{(RHKA4? zO=3-cS9C#H6Txebk0!IWG_DOhd5Qw3I3}@VWzB`yclFU!)>f*FWsNfEcI~(NXc|-e zU9pkA1|sjM`e-^MK36T!&1GGQN)*;y=P{a(MgPzNA1=Hde%hZ zTX;S?nPIhMyQT%(r#_lb6MgiKco}ooDdBLWCxRW2rPwtNxAqid(ccT{ANcuaA^poo z|EB-==v{ixM+@1HPbCOzIqeZOCiR!p}Ph-t+*^!v5amUe3u{9lPSIkGJGs&+K zhBcSOHo$yHE%5~Zi^kFWXk7Bfzt0c`kr&#mmTSed1dj6Epb6XL2!%i`iV* zT+HF(L@rL@VgVPYa*;#1KJh=|vp#Vp7guv}Ef?2u@p&$8L-i(9$4or`T; z+{wk=T-?jW{ak#Bi-)-QG8d0YVM_d!aM z$824wb*|4a3=f{$_-Zu>7Prnt&yKH-#X9HCP?fn)eSV<+fbQ2P#C4;@=&9@ z)xeD3rBXOCFe3WEwJDYKtA=QNiyCS#Kb-FMkf`2A>v$+fXO~W%6pRcb(`RHEUJ_GN z1}f%wJaW1Ft9CJ+UE9VceC2W0ql95E_xh0k!BJapBphy+roE9+d!q!;frzcnP|vb( zWLa-JWFvSni9p?Xu6GNyXPBxviXH0tYk8h*iKxABEOa?er3*W{A{%oI)5u1s=(aLf z;p486L*isC@5itm&P#Sypanbc$n(!Us#HO}W;wlvb;bF(*SG-N?!6tsZrq3`(1|2_ zvTFPgH21rj>Q53AkNAYyQ;+&+%g+fZZ9)%4^KWeS=7hU3iJh`>eoqUDv32L`9#wqi zi`AdS-zB*56Wl!?_3LsXRcfxpEoZcc)+5iE4jy zwNZ$~sJL;cb3=H2uu*P4 z3Vaa&vX)ffE&#}6Qh|E_AiGHg?gM~~Clz=A0J5M|;6VV$j8cK^0FW)E0uKW~29*jt z3IJJED)1NpWLl}fE&#~BQh~<-AR|i!z5)PQS}O1q0Ay~dz|#Pb&7}g*h?7LN*emvd zuwMwnCo&-kYTYO3Tv#n>7`I1w`b365lZ8DZYc*@UtT9=LYO-0A15I{Rlgk<(G`Uet z9&7TU$%|?VSW^g1K~z)38b35eQB5&xN}wr@YD!sC22E*HQ_h+SXv(7+i#5Zbv7(wv z)>J`L$r}6)?-L{L5cv(`_KJ}L{Z{SVS`E`i0j`M}j%H0QG^3-MF|0WOnlVw$Sk}}* zGd8NJ?-S$v+*kFECi8$8f3C-0wc=cK<%&IG!s>?Im@P8I0hH&7GN&}f`C^!87URXo z#XRu|(InQ0wc-L15dq8>YcZr+5OuA1QbF;mxKO+<)`{PVHt~+Qh`eGwS)!d9LI2rRE!uUSM3%yW$HV&c;AxZy_U5`t&hcocTVgqK9F zmGPn|+Ae$(tc*QkQk3DfGePm%Sym=_TqgMx36hIcVCR8UVCP$TOv+cJJS*QtDzXbe zDzXc$0wxtIQh`@usANo9&uYL&T2Q|)q)rrH%&Ig=_Bsobh?k*3)eNYm_Lmc^uDiey>CT%_rCB}mil zDyx!7Rf<$;Rk=tr?BO8Iut!+KnKVL?hFc?Cq?z_ekY?J|)<`B*E7C}-+C?h0Yd|Ws zM_DyY8l^}z)+iUL+#U^5xm|0GW>T#pjkaoCB+DKHl4YM@jbYLWiZsSL!9}XH$AVO8 z*I8qkRHsN|tvVNJxLps@aC@9p&!lmRRBs`!W8pi?ZUAYPJ>F_y(s)H`;4Y4lX4?~R zIoqCSIpbiWB2BO+x=6O&2$F42vKrabBt>epCb>v8_GFN1>?zh{CQVVK$<`DXX|z2R zq|x>?YbukbDbiGHnu|2Xo(|F&dxkZgNi!5_x;4W^8f(u4X{xehMj9?DuqvpF#48UwW2{pF_$MZ+I4qUqH&o>&ZCrOGpKj z<*60Ff>cOjJelG(NJZ3Oyf1zY$xmk(uZ!P6DyAmm7nqA*5hWBh_K7zjl~S+ql=v;A zGTLg~D&B-tPTPzv;vl37dd9d|^h2`fIb*#TfHaJLZ7dOkkSgh*u}B<(RAqRKvEneK z;YPMmgSq|{F~X=b4DowNBaMlesQ&<|+E_}ji9bTBF;>t|#aoa@8Qs(;-i9>VxRjm{ ze}YtN+(x&EKSLU0+(kEtzd$;{*iW6}uaL$XU!ykhH%N8H8?+d!$}6JY7^DT_?~ulM zvZz-415$&>Mp-6^V&u8#A>hkuE_V2_dQYOB@=%py(cQ9nEn5v(Um5=_oO5EvTqiB4 zDxA}X$#LfLkv10hRrj7%#t3gy~a4wMyxkUL1L zJlpF)NE?(D(p3o+*ro%SF$l?ogo^BJ2SOg9tdP=5sMyYNpqv_S45?OX>!Vxg>% z_DX1q?Q&b2!=q5WJ;H%T#31BB zu&UB7e>6*u2{m#&#yjMrJdBu3G_)tj2grvhggfF;2>AjF%=G+gf8BrPUZOOEx}H zYm9@o8sp{3#`CnsIFhR|Zb~*jS!;|ls~Y38l8sN%8sn_1#`x@H<5RW9I3ueuUXg6P zNNbD}#Tw(4$;PK^jdAo?V|-4s@fliUoKn^puSzyvqBX|pWsULbWaDL8V;peS7=J9; zxJhe#2A!#lZ7fdwEg)-L!&73eex-9x8DK*)`Y|9&or)rCDQf-9OV^J)L`Aez@8_g+ z{m3&{M9cJkPEOa4JfcOkT<>Rox_;z|E}|yApHtHHBM*QPou&7)AYDK5ycp5hdOxS8 z>qj0hBU+*NvoKvh@-!OJO1+;&>H3j}*ND#1`#CLLKk}>_(JH;4)6?}MkH!(L*85qU zt{-`lj_6~0KWC)tM;^Q*I#=)K%yj+8b9zMQ>HRE8*N;5bNBGpBoi~=I>qnjfBx=_C zS(dIJd1#R6<9a{K)Ab|I7!rL#@24qUKk`T-(Hgys#oclb_fBqiP%-`zqCC z83&h|{cTd7&T>e~IIGm`zevh6Sza$?d}?m?w@VoxkemG-QpRWDW`C!Y@v*nrAC@vc z;Wqobq>Q6Y&Hjs}Je%ciDdRL#v%g2mI2hXOk4Skm%e_(_!}10x;}~eO{}L(V0BE!S zQWSf{#^k)qwMRe~$jqrQhmY~Ayz3l%)#SXZrosP7JPtJVQ_l<9BR-ANIn1gwDIwJ6 zBy=(*t5F9(;f5}94t{3PdfsoK_UMsy>Oh58^iZc!0093-JR{F2GV*ag=>}Y54})$L L9@

    =%)V#zjj|J literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8f8f1dc3c82a90cb2b44fa733d02d9225582cba7 GIT binary patch literal 5537 zcmb_fYj6|S6+YLNw5x|@S$@D4w=rNEKcf=pYYk~3!KoV?9H6wJudL;bEh1}$ymIQk zLlWM^kdTlP%A=VnX@`lS6HKt3HvQ3brawEK>GbiZGm%Yx@w+ok>38?8r1fec{?P%B z&OPTlXV0Gd?YWmf{de}aM6{9KkmyGtV)SD!eiEXe(z9GUz{PW1JkP}oTpZ-$5Eq9z z?nsE%($OH6$GAAo#R)E6wmFYD9eMP2MWjZ6%Ycl;zrn54= zF4H-ge$JieCAz?x`lwyfgRV>9-ax9=bJsu4RG>z%^X^sVV<7hZg+F!hED`Y>u?wAu|lb8&I*`Ng?I z3$rH|=U**M-Cz_Jxpz-yb-Z6hWLvy8S2%x+QBBrJr}L(kF}a`7&V_527B0NJc;r_C z(QTch6a%w>^CAjO3iYKcC9!!_{CALwiaO-C@19 zc=SH|Jr5tmqnGvE_4j!0gYZol$;yH@+@3$eDEO3?1XU(EM*^r$OQSc9Z4S2V7}}>N z&7StXjC`Wmwf(7#zCAxSq~~^P;0ZKKZ|O(9uVe=?Iu>PbDDFtv2f z(1sHeMq+ zQR@kgJ+Bqn9hRD1rj~qqK+9U&h#@D@MNl`XWwvp8KpoY_N5y+px3%|SX9jon4Q#{K zK@a5g@qF6E9(rv=gWD(?9d31Yw73$Fh}b^6MbXyMdx`cmlnu@%gjyZ16xfu)KzxW1 z>fOVrVMI3vDo12PTf2kyr6Ji=i56AYz#$&#UW>}3CBI#J42Hp_V}>U$nVj`U;OH%X znhoQgB`^6m7F^c0PN_7VCbUyRa7gi>7WTR&^oqufxW48bi#rCs&sV2fjz8rB;dflRyx+hfxWgJG5p>S3m(3KHtwa*LI(*d zy`L|7!44GN2n5In*+W!y98vYSGW2$K{F3~>E1kb5c9#6rS32J#Hqg~ELsixiO7-?G z2-Vm9M+z&x_o?nOMY6XuLcx9#{}M|_+_e5{7S$93aAo50aaEc4w7w< zq{t4Cqy_J_vYD5WhP{am7bAWC3bQ{zkT*w!#KVu{HECY}M4kn&}Z}K6;ey&^Bm(8lZnuFSGz=!{1@wLK5ZZ zFZ2~?GM%F9)CVm{XK0$f3N1u4bdnx}7N&VRO8w9x^bd@e0cbV!FVbl{v?xmKr5(^} zSpYQ+LW{9=Ap7Ic>R2bOqMgvPOi&kw#xeR|WHAR~0HNb=s{m)p>Cf{a@#?7&wQIJ@U zbzUZ^dxj!Ua=TykafjlwJu;`Za0OJqVlp zuAnMgF1h3a`9)Mn4O%Yn-i`_uU12q3xk4ouz6L}!d($o}-rMd@HT{jApuOmdpZ-eU zgjNNj{F%Omj#Xo}-K1|r^8tOHz5~q<^mFuGXaO>DP(2AvqA5^FgC^6jF^Yzu1?dm8 zf|AfeoF?oy6uSe14>Vy6)WH8n?%)CCbrm->lD`NjVth+YHZ0(Pm62|%4VIRI%Xklm z9U@nRl%u?Tc3{veupE0=w;dk3OL#fMy%2Vi@ZFP?^Lz{lslW+bFvRyl3H99U86P6A_8C&i}5Q>Mey4cz3K{9JcDrs@(8YV2RC~L!`B1@C-saC)u!j$s z>>M>caf4RGSI&^a&u09@KOuA+u}XZE&~c_J@n)gp5LM!z6go~#CH^U)6 oq7rWrdYJ30A!cZeo9E7XmbIB$MU&Rx`hMw({{z&DTlNqC2OUt}QUCw| literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletGasUpdateQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..2262b6304a1f8e6867db60468dea8bc13e3beb8a GIT binary patch literal 3334 zcmb7F>u(fQ6#w0JUfphA+XoDwf>iC3g^H+KiUp)lZJ|)8f~ZWlLpx==v+T}dNc^D0 z2*w10shTK86BBC;p=h8$Yf!&n;@`n`>;E9)xqGMG-Pti>(w;r{oZmV3Jn#JR_xxP| zTM<)nH~@wtoQwpp3a@eQbxw|Qa*WH~;N*A(9pB{SEl%F%P>CXF*jIA+Ah!@~|&bu;LP(s9R{GDobG zH5xN_#^bhQIF=nxF|-a?b~yEpF+Of4!$w{c-kGol?J+Ypl(Z9O(m6|hFI(uO*J3q5{@srG@Z+UoC ziKx)-HB$V%Av1d?Ge5m_?RMtU?9%M}0-2efy?^_?Wv}&~G!LImPz-CfbY|wiUc5fN zc;%z)!Ux%f^WiQbxxt{Ar_)A^vTJN9sKJ-p@}SoUjHF)hrRLXXXwqpkaT{*(gFm5`7rTfy*(poSfD;rZs=poNA z*K%2L!J0~)ipv{PzPA;Pqk9<-u8!a(*KwKWx>B#=I?b_#H-^BlolZv0K8sKD+5!g! zW4VdH5wv{&wfZ!^ZJs5|T=_mb|I5n$XMg@|>F(vsrE`m)UT4_+fA=GZ7x7dOd(am| zGw1elZXYN8oJ7za#BRJC#A@h4JkH5_PM(BL3*vq1cBQS@7~iQ@|GZmDwyYmUL`@y*JuZ0tNx@o!IDkGf%Eu%&od(=UB+NK1U1#BAwA}rY>2s6l z#s>NltfJ3}gfgB!oz~E)l783H|GE?&BL$VDRPh8Us7$4b4Wyvbl`1x(iiFexqE7?t zT>@6pZ9lcQeFs^(+Ws5Z7m&-Zw*Lw?*wHqJvfPoF^8Fn|B2wq?sMMud2A0I87*0;!RJUco^D7gV7K zmO;{0in<)n5LGA_UauCS36Tw2(MBiA3+?D2eIvd?C&|hv_lwv>vT{0IK$tj*rtuUu z6DMO3Cbkf#Acj745vL-FUOY>jhRf8et;AK}bL!1=#09X8ZrO$!Rr?FoDxQCUCKWHx zpT-_wwO}j$g{7NmEkq}XV-y`A^A_;r%1V-J5`dNDWJ-xA$N2sTH|#^gsAQd}?cOf+ z%y;2vf7K8J69|f6Ej`W;~p3so- zGqtwu7Ak)9v^JQV+n@lrg<|}rEHS=;z;%ytt*a+HWG@Uoo)^%E~e*?%T;Q;P0pMQT>RgmeDx+#uI#0 zKjLL(*zfPB>QViOhn(^6j$5BestzBh-UU=2y@i@k?Hua(uG3E_BzRicx=_8~X-Dfq l4T4uW-$-N*P2Ro~&SI}y*)j~}hVJ0XSLqPlO<$$qe*h^$#nk`+ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcOutletQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..39f7f6ad768eaa2baf1e95e11349dc65019d69a3 GIT binary patch literal 19668 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 B-5LM@ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcPollutantQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcPollutantQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8a98488153b6e351f99519576a4b5e19af05bda8 GIT binary patch literal 6362 zcmcgw`*R!B75>(iv@2<4*>d6_5+Di2wPPpZ*-|-42{fT;oe&5lg+9Vs-Z~4ir09|0 zmOdzyM=NGO;`Aca1lrN4DL)9K@v&S0DV37sjW-`Tr*SX#ggoz5h8 z&;8DK?w&pO+;flo)_-0;0pMKxLB~B2XgC-_4-Q3eFYYsNmLT^F@_>OK$n!x156Sa~ z27V;ZhYdU;&qoa$mgkQR{6wCQ8ThFfKdxg+=0A(z2|OvoQxTkrgJEJvWcaxZPs{L( z3`b=+Cd0Eb{6fcb5uA>L2A-Gaw1F24ylCJh11}pmZr~LIuNpWZ%3tbuO+%YArXewM zjkVWGWv$$JYJ0ip|JBrmJv%Fcwn!znqVS$jh+moHmoC!Z^67#MN#snR}ceB3Uk zthy$(q2O%EkJ;I6#eBgomM6JRaIclE*cyztUp)TLLr=^5%tAh!y~rxtg(XzuC5vv*F-J#@DS)sN9| zQl@D0D@Uw}(J|}Nid~%CS+oiajD~CbM>4ro#?IJ#rGt6V8ELihatHfrGxhU`5RE6WUC+~06?FB!eY&Xk7-uHuH5 zcRN&T`T2+2WAISs%ey5Fb>a2OnKWF)6}wz;{uxau^?Wc^BdW97Q70*&PEZNhKu|!P zpw4UqK>-Q(6;0>1TfL_V?NQX$GrYv3w`xq+q;{rbiddhs4rH#~VinxxLw}N&0W+#(2ys!5+A2pDowo`ji;#>LHLc#YhWto$E#`AG$7xCMqkM(s8+iLaaZ2Cmof zD-*xQZ%q6aZ07%&sxsRI=ziisNp=%{7c zt}HJ`6W>HvmSI?ibuxTLh7B@YgtIj)X>L?5tT@>*sbq_qcdOqSTW8|;c#BCjv|NHx zP4jj90)uii8D;5D8b2s30bhXcdVG(m^CvMdE^V5{XxlE8_vflLtaK2H#5QyU@abD zKsS@!qdpR!#}_!`k1C8{3!}4@Gm}q+TtaCZkv3dPiA9AYgVc5hk!}WS)8MMd5eys| zd>uUxBG`Up@HO;o8KSF8+$n|jtwS8rfz@v!nhd;wt|^$SlYwcRRAuPtASrq}lne?d z^ac`Bh$Vx`Py;EP)=3JdjifFl!z1ZQqk$Anhe?X2BgwFkA|5H6j5Ls9=_pCDw3&CR+aNSz)jp6qNOb*H;X>P{z;T|!ED zq^@M5N(vldgw;-l7+)~5vO}+_2;*{hhZt*IfgRK@*3QCCVr}TvR^p4q+ObMohASxr zxI6FRDoR1_=D+YIN+I3@f5n$6=_uk)_zEQhcjI|{l~Ne@;~DIt6u~qO;A%=yyn^q; zqGaN4yi!If#qbZ<$WZE_i<>Y;DXxWZ0nr`k)XrdG_!^}yZ4gT_PAP%i{EAU5)s26n zLx=M&dURaFe}?uhPEum{e<1R!dF`ppWVW;N^1VSxNeOJ5dqf%ot5QE$4J<>olkW0j zkqc8T)4q~+a;W~^IlMNo&Q0TGox{7C#75`f6!g{8NM0?to(_m28SpfQq_$Fp(?M6o ztagozBoD4qMbjZy6{@M2>q-?%>#mAv?pf(oRXlCDDx;=i@++&Zbl6of?>#G4A*Je0 zM_g5;rs8R!YMFo971Vco(P_tDkVBqP3F6NvP-wF)DXJWLN)UEt=o?+O}ux|UlYR^3KKIZim zK8WEh5`F(g>g#+6iAymj*g>oFf)t-px`L}-z{$s&j@=@+p2@93f|ppDblxq-&ta)t zYmH|%>1)g;-N$%Yv++`2V>a_X#-}tJpWTtX5$sU#{5Cy zW4yfC_;g=m{_gNGUeRoPhOaSyn)n#6Y&P!qHNFYo^Ngj>liD0wHTXQ1`e%tM&Y@ay z4tY(c#tz1Jon;GMNA;u{Zt-8|l!dONT38LY`mb~9Lf26puZG+F*EwyW>!=1<$Dw%C}UxE#q;B2`261>?(W~<$oSi@l& espdRytY-x;Q`>N-Te$A3{Tw<#U-@(B?*9V9K9WoT literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcProductionFacilityQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d3d7c5e0cb9e1a6b5445cc5999abc2cda69a9382 GIT binary patch literal 2617 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%0ARy55&~O?ggAh~ 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingOpsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..55a13adcf80b55d18c9888663aebc800f611266d GIT binary patch literal 7296 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 Q^lR0t?(OV1uex{q2g#R=>;M1& literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3a52c200663eb191a9bfa0700c99f2a7055bd3b9 GIT binary patch literal 7003 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 Wv%dz73h$)Pmb=gA5I4Hd=l=^?S~(K{ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/PcStationBuildingStatQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d617756d6baafc95ce8ec375a69ddb73bf422891 GIT binary patch literal 8680 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 TmwEW@p7<8^Al?n%qV~K3vHjMy literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonDayQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7541af307318ca8737f8eeca64127a5cc1641369 GIT binary patch literal 8691 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonHourQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..9f59c194d508913a9f91bf9c566007df33d97b37 GIT binary patch literal 8699 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvGasMonRealQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..608ee3bc745c904269932e566b6c1d0cca9fee2d GIT binary patch literal 8699 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 ae}DFgjt4Y* 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonDayQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f8b4d3fa3e7dcf357020d3cb5e0dacb26e714cd4 GIT binary patch literal 16240 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SEnvWaterMonRealQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..28e20d190c9996f65daac0c0e8122330cf313cc6 GIT binary patch literal 16248 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SIntegratedRoutineInspectionQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1dd062c8df73a76c4989480e80c0ce45b0804aeb GIT binary patch literal 8943 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 H#25Yp(jVb* literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SMainDynamicControlParamQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bc5ed1358648fdf377d48360b84fb3025ef587cf GIT binary patch literal 4890 zcmc&$ZF3t}6@J#1w5u1#iefua+;goc-7B`x-*lGc`1 zPR(26wv>?2#4SlF3`5B08V2;EYAgS4`%(uo)^mtV)>C+UKGoZRh$VRidhXm5zn(4&T06mhL<#) z*Kk2#iz;4L&}60+L=q?UIX#xqb5pTNJ8$Nuh7?2(6?3+kHIA4CGnp}lb2-b_ZPUsX z6!a!cD^@tAPfZ#5n7+Y@4bPZkR@%r+t;?nJOY3i6U;FjB_4i&~|ILDe7Ck>z%o;hnAcaC}7oIC!TB&D` z>sjvMvey=0T3=e>ArP!Et!MI7O*Ga=Km2GxE#-r+D6?={{q&sApJb?LAeM`FQfAk+O$+k1hOpoUMVJ-p4+5w4O$~A%d%EfqSA zUHEP3GJj_V*Ur9KI=vuAh7|wD%JZd5S9cG}387%;;IF1u4eip(-90=hO zUJXIV2?bl-+&ONuy&X?+dWDb_j4hQ6a?w-`n&XrTAuZ7GhOFTZr-yEF;Dm4p2Urau zd`TEOiNhguj7_)W%LzQ8PZ`eG_Apr8)64Z*b(n$_e}RV-kiHJ(sdvzn=QcT7L;|^K$?DXdN4%O=0JiMDzFnm$+x}uLwpxA7JYeLW5DyDz=s-)VP-- zYTOs~3K`!Ah%BKc>W%uUg#2-pLjJfGRfUk|3aL@8N+=ljQz#e@MEyc2;0pPpfhwVv zc#uLZ@lZ4@|;~=qS zCfe`t7%30Fj79!On3rQXi?5LKA;U@@C8Z({179Vj;bqEyjg+75;{Xz*0$62MkC6)E zJ?z9dsSqBgJ;R8o+P|N2&E5ayzZ*tP8 z+IN{Q-iq&DdMtcbL?e~kC^x95QTtqYXs>6V6Z+2Z&@=mYR_y#E-Y;0%ch(L<4e2Bou1Uw9j zqA(Otl#jW^#(R?h+Tkq=lw~}dAy>>-CAJ}1i@L(!J;n`C-vOxxH3-XG7&= zL*`R$+G z9{^0?EfufE!SI?~UXSAnnxmDGcUB|GhC5F-KEz33PV#R10tEQN-EZgO-VOvdx?4n_7%@29CDjbdP zf6-agNWO1O*jnw68_wNwFbQVo{Rovm+K#t zdBfvFT~Tp`^y=K2lR9Zz8SZMwv)lP{`;Q+tI~(5?_IB@dc0T|8)`qva=eNJJdAGCqQDN`nuRFIk{`_XMb9>8o zXE^`=+n2;Sj3iM&kxHJ#usl4E7m~UGaGIX=0KI;Okd#MukWLA*L-hYt6UU*_h6+LJ3Hr1{juEo6`P^5CDBJm;!M;Ew zyq*6EtUR7;Bjg=v6TUi5%cN5H6^T*h7YuG8Sr}E?P&^N1n_$9tn${?RgR+m(I^o0P z89YlTN`y4VJPJiTM|UA=(MkFnqu3lpoT8mVIzS|&YV0ozs5tXCMpT@oUyR}kOM zBH0kRMkH;SKXfSni0{zNAEB%=Ka+zHzGaV8bAD)$AWZUJM23JPbd#lB2yv2<^8`v+XAycxrB_H6V=Ma9+a|2@>BQ~ULe zcIz7r=8nl15#Y=did2w(fY`hD(Ki%tBO%L7W++KZ8~q2l^$JS|=pmf<6kO;|^#tM4 HRKM~sMZ|&L literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SRaRealTimeAnalysisRunOneQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..4d005633e1832972417c570ddb3aea05e9ed4323 GIT binary patch literal 7104 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 Ico9ANZ##O@mjD0& literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/SupermonitorDrainOutletQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bd3381f6965c42815a94baf5deb7512062ea3b66 GIT binary patch literal 12089 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 M|3JUs^6Wo<2E4L#s{jB1 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BCoDischargePlanQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3d1212e4c0cb7bcc65a9b690e42fff3682e2485c GIT binary patch literal 5160 zcmc&%`ObL;%jr-32dwq^=9?swY&;_TAP2s@-}^rA zH}C!X_{+b3{|5jc!P_dn5`%){F~srJ7`}$DYd9e|Ck5vlg8HVQp3v|uv3XK#p3?BN z_SiUQk7sc{D72l6x1&(X@f%rWm zmLF<(NyAwUKhp5BhF1jd$0}Y`pgU&ScHG^r;Z`dO7G@3^M~zg$DCJXACD+WG&ZL6m zu4>7(isoLcV$BrHjir)Jyk(cDF_N+DROOhFCp2X=C8>>NYue74g`JLFHXV14=Y)?M zg{rAw<$dp8K6~xLZ?0ZEb^X+v?_YlQUhc2I{I=XH=+8Q);hHqcarf}M3gXhPs%sTe zTPWgT35mXT`NXwzr>~!>y?5pv1rKIyC!ea69jlZ-=om%wnC%=+9kiXI;RdYp&JZVW z^CUb?EgPvY%j z?Dm2=a_#BY-h1hd8>ed5Pn@KO!po}{pOajA?M14{oiRC*$=b!#jA0k8oLx;7=VqAWO1V(2q_VbSaw+93 zFYEq!!B5k|&}OEa$;((Jb4Rr}V>){bR*Ue*&KiZihGU7n&kTDuDM;VC!OYsRy5s9_ z)A+@$HqMpnb~?9n@VfcVtUEcfpM~PiS`;gGYpMGPjtSeH6~(+j;D%ZURKk8*?u>4;-iss)#msLlD_p;jN`L-YLT^H~jRV?zPEBI~S@EANKU}Omh$%P6K83zEq4lHyX~rz zHMdz}3@+<9cJC1vu7b(in7uj!zy0a@e{CIdSnqC5ZAVjpW+Q2hj3WOn}V8! z#X6FWb)e#1{W{(flA~t`Ko8yOC8OhWn9{KwQ!IWRpT`$;3}Zyc zJxJ+%IB|JUY#+kM6)b7KMPxuXRjoo!OolZbLpdBA73+1J!_UO>b5_FmU|UnHXU^+P zKjmcgj}Hc$i5z`=u+b{qDzxoOA{-CQivSZ?w0ZZ6tI{9x^4i^L|tJizrvn@H|5iNM%%HSYr#p4b>Uf1&V97dNY2|kKP zx$EKY82^n|FhK#!#1|~$&KKN^`^db%f(OWB4b4YBk<`G~;bAEPRZZoVK*v!a;9 zIs(?ypg$o*3dmi8^4JA*WyVHp=)Q;P%oESyX8hSjAE;zm9 z=ygt?;PjKz=W%|;?{s4W*Huut-U$tBuna>O$6e&#jhzhH48!#aN*7DJ@JVdsPGfUz z!e%=R7|9x!qErdho$Nq@;S%kaKkG+fd^f+x= z;B808E+8Q(y0T-OOFA_1XY?dPSFqq5^oeAshJ|&6o(>bDrz6R*z(lSfaSpx7a554A zscDrUHLWF80n&Vsn$!ZI?sSx(?sO~}6`+_8iY8+LP+z)-puV)8>=7W{2a&3SLg(qE z3~Gd~1N~m`o{-Mt(_Zix27Cq?$_MZ_Op_-{@3+`NUN=kZ7kHRd2#??erXa(b-G@`$ zWe~wp9L6qEDvra%Zc_Yj7el^>R1~i>J&%%#;ayhzUQ#`{g5}iDFiD@KJ)5vl)&7Y- z6^}(fz+x5q`Bzguz*0#@|2s*`IA&#Hy_yyU8x|QA&Ubkg6?9%!PPpNGm@W(F6)~XY zG0F|Qk`C5GJ9Mp*#1|AoDJslE)WXP9jq9mk9O@}=Z ztHD#!lHt0jJ00;vk%ovhBDMO`swZN3_*!f$idJ+^<}PWe?@u>QzKQugv$4QAw zKM8|AcC&|O*+C+i8|ihHRG41hj~uB8j$sLtD3U2s^AE&6Wc!7f8bx6?peP^mh~~aa zFa{8=1L~MiE6ayP0i#jUviPAxNX}j{$j>>%hbWl#VD=+V;%!f}0 z=^m@s-nzkm%IN=-BVDq;t4st412F8u9N+1r92m&RKf1 z=g6y7f!q0<mJIt#F*Uw+n>|O~>WX-_`R5#Elts~IE@1_) z@Rf;GHLMontcJnF9g^mJ8BE+MX2 I*9BkxH=DH7v;Y7A literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BMaintenancePlanQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..16cf5043780ea2282b163ebc760e75397a4bbfa7 GIT binary patch literal 6668 zcmc&%Yjj*y75;8Ak2{l_WHN2iPT!9dk|t%SAmXG&TiQr9DWxr~AX;u_Zj+%ibEh+R zTH^~46>LG?)>fYKsA4S-VOnUdpaP2G16|AI(4VmT_7C<q5Kjx`XTta)o)y${ zVkwK|nBW}`;`uNZ9CHyYoNvy4%rFrXl|xs$U(YjQc0__Ud$M(7S}?C$mQlzt1mpZ~#qjWoRBF*> zmnE{!xOjM zB`nUC-VN#5k(7Q#$ta9(FX(xGHU;B7L&;n`X(Ww&+|n}zQ%}YBnDN~L#E9yd@nX6d zUpuU)nJzg!mozrfzHMWmcPMFQ<0HD6O{dIKJUc$ZtSRO*rD8m377Q-ARNBrX$DaFW z`s}-u3B+_5O6QD?rR<1N*s3%CM1;(wp4p}s(qiv0{q~&{B;NalnFo6-j<0^7m+z{- zBR`gN&%*mLylSd*DKpF9pZ!}5T*6R>wxmaMtnmV)cl7`DN#E<`1FO=xv~`Js=APbd zObcr)&5~>%HLT5b-K(>w*Ht>T{uL$i(#Dn&t$^K4B~nFJD_tD3uCA^%at3SVINOw5g!QC8WT;Y zLww=x`ll&s%Nm#xSl@OXU_GnzU8f&a{QH2f7}ePKlbrkGkO1$j)$stK2pl z>gw(766WUE5O+(DNQ|4+?gGhx*MTIfm3L3>8rJi6qv6C5#H(!cNjoQ{8GcGaE*pv3F;~^cUxsv?kL(5lZMxY=-716z5N{pBfS(EdM7%!ZMQI0B`^ijheFL=G0 z_p|476sX zXchRbII|aD?WR#4)MV^tVwwehpS9!bjABy3Iqoj)9PNJk92SdOOmR8BFe}^|mA>w} zZCx7hXKzM1u3rn-6f;!ru${@4_NJNCA`H5zOSy5nPN9lbI-D zfIL>jRK#jGg5}~MT*f~_RhH0H!CDGfR#OG*C}62g6%10q@|!BS3|$Ce13pf`C+OSj z@R0&`oq%%HF*FVJEia?_IDApRAj$}A7o1>)6D&iuIU&IbQxqzr#pY;&(@Kt3;j{@( zJ2`DOC+aUFvc2yq9@mT^u1gqbU@6yb27Vd(aSj{Fx!8mrR(UVdSdL*Ly5tqH5tnnP zvKMT^74&U0cN%{sXA7yV#5Af?4dlXQF*?nG8?*w^6WjmnEXl~XVrwLQD7w(Gr1} zUtj{SAbJ?BF@G%J0?khZ37Vf!V?hB@9Z)c)xk=Kmn$~=@v z`S=XJi#??L>;QkqUQz+(JQel*F2fje61t+l& zUnHgBFU-L&k!r=?m_^r+593UMPS`8n0)?ZW2-!W;vp>Z zy5iO3m@UmTFQHxwwf`C!Smj%7r}4bVz!;NQjr1Kxa77u5t`&SO;S++G&ylDiwWVl& z!f%V1)wYrv<3u1u!9>6o1*#(Ex)e1hg0_fh?r3ock)pPQYKzpWh{-QS3lbq)#JqR3 zIH*X`!bI2>g{vY~14Z+^(=IRlcG9jHe_|@^XH@+7BW@+t#6)=mw=rVPSc>QI4N^YN zF%RH&Qhp8-H!+Pw+F5MycajQHGK{-Osd$1T=G~-1cp0;B52>(76Xh91-X+7wG*J|$ z1{CF89#Gpi2}URU6+i{!t7kc|fD2YbHgX+supV5)dk7pAb&5(&%Uk9shP)JOx@Q$T z>fy7f*DU-ygkz-T>_%#K{sV}nm=pYSPSy(!F)zeWnLmNW9ITf_mzL2j%BGBE(Q_ot zJYE((SJE7{mqmLd&Az)V+AC?c*X}6wgzf@C_epx8pxH+Sf4;!80K3aLuW|5k54id2 Lfcs6m4;=UxnL`(h literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamAnalyseQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..04d0173071870a5e5cb3cb51acf3c4ef763eb7ad GIT binary patch literal 6396 zcmc&&Ta*;l72P${kLsS9nWkkP4JhCcongTCZR`OQ0i(%)qbNl4fST@NrnI|j=&puL z9tP1M0YxyrHNK)iA|j{^2qTFY4gGvfKIis!`hc@-~2u>`v!e0fm}FNxu0F}xy%Uy9*XF}xPW>%!%YDBi@c z#PC)aZ%45JyHp$$&qFE>tN68w->7&;#Ss6qYpl%YEnBxuD_>O5H)vYP;&y#x#3&^786>%K z%v@__jODdy0iO5F&pbAL=JA@K zHxQZr_`uZbljSF#^CAp)qX>8UwW(ttmS6sO`jtmGmFah0oZk6So!w0pyJx<_PC+zd zY%|k_%&B(n=-KjHkIUsMXqVWKUeI&v^c?e{m7m(lg_ZX|Iem!R5lLHl+bR{-Y*(;w z>V@~p`w!CKZ>RQ6J@RyU$K+>kK6dWigA1;v`Wm7NE)m-|XpNZZmBV?fkkhlmb7_sI zlkm@WoH=*)KzVX!`P8X~D6^|kZqJs|c1gF5^MsKBrapMHyytL3n2u_g)y5VxZ5sLX zxQKIQ<8-DcPnX|1KDFoV+U0bo3kH9DP|po#^t($&VSHmjA7c$Ec(`{kolmBXv@w>n z^=!e?Gs$gMa;q?6@#)#|qFGGdrWaQ`>334R(oq{upn<-@w3SN^>sHRpSfylce3*4y z9Ltu9$+T54IOH>?Q`v4%@9(pM1FKll+`>UKZ>%fjhK<6#I!}Z+H&$BDZqN&+cz2aS zXJQI&xyV^72yd^XVEIL^ptE+OJoN5lw_i-)WsNJ$SUKIy|A$=}Siz)5)|(@F-7XcF z$5a2;9loe#gqE3k(_W#VxwmfvOT`{F$&W1~hP}EsXuSxpkhk zXzO}gPd~I)A9JXK?ME2L*+r!F{2H-46i4;qsH93BhC7-3p?mIJyN0_%IaDx;rL4_! z?@4;gB6%yyJ&Cz*o(x78d2%(|@odOb$BepWshuXU5-y`(1 zT>Y5nAvWdNL}*wqfT)|KO~!T&_XbCi%xp%S z>P6?@v0kwVQCG_~oWv)}BHbRu zTXuw$J`FoXg0E{x5$h^vvBweJhUXhtep8-CcUK3nke@Y6_-z$N6IgKkcuMlEh0m+`|C%DMCBPzV1gA1insy1>6Xv2(YLdfn@|(=#9V%%ti#a;8q%}Xd81YOLX#iXFHe z-{9i!;G4#$)Z9two76PnTa-w297PV2d@6hf7oWuJogWZEXn=Lj4=92l zsi}4T5FKLnP0sA4bE~g2`P0X_v);Mg*O?^iUaMC{|-UGIE}uQNH@$2n2& z+~Mm?O80S|Q}5j6>rBG;ah_Z6obYwth;O^j;ZS^D0sj>PS=ITk<_8!JN|LHFEoy18U^3=kCV92IFgtYe9u45oC}R3c}&6g z{o~BN&^VIz6md1neQ&yhyFLq07WOYbh+yDI|0kID5`xV~`hSOcYnPCFE_GfhG_PC2 zAr)Bqd$c41pJLV_XiF1;30zjO2&aNH38zAdps)#jiufV4CW48O$0(W#(M_z%5gKW!Xd)tvqOMUS5%n0grCMmzmeLX}!bo$CD0z%xsa6`rQf-M=Vbtat zwI;~B)rrSb?KFy~Vu^NP6myN*6Qp8k6ga}eA<5UveMe;SDn~+D2%QAX&m2WVnta%V zMfd_4>YA|_|A0X$K>Ga?wonR^X8(v0N+D!%0;80|DBwMqlvEtRemqDig6FXZ4^fI@ zg3m0a7ECf)j*^BylhX5)TJcxh3X4)3DS08rD77mgUKCp?#TXgbi0-iZPqc+m`~sa} z*!-s|Ur_6ak^fcXve@{!Y;rT7f=z;=oJ8il#4m3RNhXzBL);%}&QV-8Y#C*kruXR= zrS~VXfn|Z^P6^J74UDn?)mZ-_gqKcW{$`;Mrvd^<1YATFWhtR(D(FD0NXJP{1S^o1 z3OP`y3b9V5S6eFVKrB($ilJYzCk2hgvqdh>EuLna z#Sbvfr3bmSKcplUe-b}pTAF#6zltAI3hWs+M@{0b?P!+PRZN|{vE6YrHW8L21UCuO#UJ#ohCnLvO2 Rh41anGS%MfQRgf^_HW-VTLS<9 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/BasDeviceParamQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..50b41572ab32f7d6b24b3df31fcb0f61925ae91a GIT binary patch literal 5521 zcmc&$-FH;g76092KJH9zJ{Slv3OHigCL}oWA?k$K@>$a+fCK?46>nz7u-7I5{eYV`BJ~7=A5=<6?NtkJknIL=Y$Oh8RxyaXN^( z*sJ1<`2CHFH&wi);;f2uLh)M_Z>xAmh`;mWyaF|$Tl%KqY*Im}XQw`-M^k!cAlhf; zjLbl%g7C&d#xl~$%|_nnPbF7mGNz?lhMCDLXzMY|Xnv1AFp$he^|B?pB5U-TiDYU+ z&derr)-dCEhxAl|ANkk#YnR6lUn+iZZS2j1kwsrzKec*QU-9&@@mEKrCHBSjLyM^% zd-(im+cfDD5;a5#}=&idX+M$*`1$@e^l@*Iq1MJ5UkyVOolx92-A- zeeBTdZVSUL6XCADHGcWSvD2Rv&+KC=#rNJQ?*HQ?+#@C2@&AES5KJV8jCgXLp5}73 z8<##Ed*{H|(Zj`&%L?kA)8m$z8+MGJU*Grn$EQk0RXTPjcq-DZdo@KPzdn;PG7L7& zeL#a|&f>mC#*XY48*}pgv7_g2>^sgyMjq;-%!MuLqFO;9tLOBz^GOLWeR6g@m(;Cf zkDl&N=uZ}sx#2B2Jro{7ej@nkk?>8YHlC!#}UbhiNUu=Uh%-pEH+>iO07 zayN)?*bzG0dg5j}+OL~wBViVz>EV7BOg@_`?m zxaf6-bbm6pNoVPa0yX1$YO|g*#N1JO?Ti#WdZ+0s@b4)ty6Y}epIMn9+ser@dpCiX zPhDEVOzTGGR_D<9IJYs-XAER?tB~W)z5D+;%sWfmx7^4W*5e9lTiZ6X9IQcuWK%bg zv{p}W)r{6QcQcgOs$PIx?bpEhT6fFYQEY%{GcoI)Xs_v&F`Wj}h_Q=XHc(yOoknx( z)GS2K^#bM2gY(KfCIEIGoR#yKQ4!QmL&VewawXzR?k?ylZcIfE>-%>m<5p+eHU)}V zN$HM>RBT#?O{i{hZ3AC&aM;_BvJY}nY{ zyM~)Z*_TV^3n`18>v9b1g)ZP=jf92`c#;Yuzr(ceB@G(|B4{t!@mYX&4G)Q7u^5($VHqCL@EF<^ zEW5LdMT3d$JW&llz;+E;>{c*q@{?s{!AK=UbPmp_gq)Sy#g4$sRqKdMoHY?jn}(l=?N~BpjXcw|$s1K%fewAk%XEW2khHHr z1x@AU$aYmQkAVgYmT9J>Yr!&7QE7aNA~)X1uQRPR>8v%ZpeD&p(Ob8bLWWeju!6KCA5W!d=XB^_fp=28H6Hi#ncK$awGTC5 zaq<1!!C4)D7xMqXJfbwP;HDZD(ZC{{YFI)83v;UBVH#MhQw@*Ozyh9Xh#`akIm-*#dJkD`GRF3y>yqDt~?%7=G=dpwDLq8(0xUb(PVy4U% z-@yvbRAjIctGLY7oN4@(nl+TxQd5KPQXadG=)ISyi3;u*q?baeGB!`WCcb!Sw29C5yr5oRv67*>DP; zsvc*??Z%P)sbF*UIL)^kN4B$qE!E@9yxlmm`xR`()7AE8*6qfTWT9YN^?YXEZXC%i zin!inJ~e_y8hKtf+ZUXN*K@J`F9@H4xAtQDpAqiuV9VcQPX!yS>);UcEc`3#!k*7C zZ3NoFuxAwamJqcuFCn!tU)U=!zRwUEL4DX8_PId*n4chjObz=5NOeH|u<8N@V*!GK zv0ykLKtTr-2nSstEmlX67SqCY0;D-0N-j`Ste&8zSVOp8fEpZ7eVF7X6Zc%?`X!yY z8Rewhmx(I9i67z_?pia7*g=-5K?`a4S?X$8zki2L$wT70LgIUdOw^0_5vSxs3P+Kk z%~lma+G%>bn!MoE5ylKtV8s7>u7@Gl(2oM(l;Hs%qAu*b2eqNJqBAM@HK zR+H_dhP@?IFy^yOz6ld+OnPZCzinc9IbOW|q^T*U+9q|v#G<2VPW2MlE?3}`KrP

    5|qz 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaWaterPermittedEmissionsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..dbe38794bec54b0e043d9598cccdc51ab6185506 GIT binary patch literal 18680 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 R)9B-N!ZH#GIboSr{x3Ux{I%On{*Ff?=|T@ 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/effective/MAiControlDelayAssessmentQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..b6683363791757942dcd7b3fd9be51131803caa4 GIT binary patch literal 5679 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

    ^+WpwJJ*%$Xef{OT?|w8#>qI>g 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 L`#YFP5q

    _s+U}fZFtpoN~g3I_S2FFF6;!^gi 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 J=H*sD`ws%tmiqtz literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/PcRaProblemTypeQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..3c9287f6b85fa9554a00e8ce4b48066870b85f1e GIT binary patch literal 6222 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SREStatisticsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..38efc99b52174e9446579818eec9fac4a30824ad GIT binary patch literal 4243 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 A2><{9 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsActualYieldQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7a487440464413d738c21510b27c403a2969bb1a GIT binary patch literal 9083 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 Z@lGrA%jj|Q@OxtPKI}=n8}7rt_Fp6hV$T2o literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..38cf08c4db1f21dfb66a24eb2c8f120cc3e815eb GIT binary patch literal 9277 zcmc&(33yc16+Sna<;~2SER#%G#Q=Dgjv9J zv067o-0DI_s<@`LplC5*pe}8d*0y%D8+K941nfrl*1FLDzWXNgX66Or$M?107w$Xv zod2A;_uO;NU3lre(PxP0H0HL`i%w#+&q?+4Ehl}OUXrMTbH2kl-<9Zl{QI&*-{;>S zNc2Pg{gFgJ=HFK&`U(I3RHC2p@6RRr1^@1s=vDsxr9{8t-(O4g8~%MwqSx*81}A^( zqyv=Z&6tzUqA_3*bT#n?%z1J;oWO!|;Tj(6#yFUHUaQeEt5AWSP&;nAOD5)=p#C4RvV+TB%Bag6itTWgYj@81YeXHoYxuCT<1-X-Z6H|tp`RQIu+IHnMm~vgpR%@^4L8)$L`uOwrS+eO*;V(#zW(9Ilca#^q$d-OcJsMLztqF92gx% z5Q|^X*ut2`t`X?Yz(7xL;QUl5K6F7mFo-y0bVXxlFzOG6f}ue_7BC(Q^!nGv{A)M} z0UU@7CBg}R*NQ+#kcapREmRX7+$ox&_NLBYY{1_Whz*2$V=4c@P!Dn;F&IfD{J~f} zgeD3s&ko(F@%J%l%R;0DqtecBG_))=&=ZQU3?Qp`?!|(E$m&2m%=-q=7O96iRWw9n^Z-xcnQB4p$6|K3Ln=r zY@s!&Km>W`Z8X%9^Lj1~1(WSf7a@3({b7h%EVoqa2$a}ZvY$t}m*W}=OH`F6HxVeB zf_YV{6-ws9GEFh3Xp{?l4$rQ^_!c7xDJM%crg1kY6G9^^2P7&<4oG8FWQT94l9d9O zUp%L3;G-2spHMs+L<}pZzzHQIOMr}JO`o8V<<^Fit#2j5PL?46*-EDavJ5xMb?~yK zfk7<~alEiID;ymRL>KXR0@)u(^ozPv+}N}Pak6~HlBJ6fNT6-;P$CscGAcKT3vYw@ zvdaxQ%Uj&Q*VENtT)6R`wnC-CkYRP|8jj{)SA)@!t_GvW9C}YH`#O%(wz=VGI60pY zCb=4u>L=1fqQ;@GL*yKGq#`JBz8qhA2ofbaLNDLFN z$(ShIzUu*Bc9dPa1afUJ%52bl(5no)?D+7E`z!}7H0-Ue@jmw&?+FvUXH5vFwlgCHk7<#%=JPl#B^C;ULo$OT~ks#bLg!Po4NIaSA_dGdl5DXJ~A2b;e_I z-k}V~wBtCE$aEiVmFa$Zz|L$kv(tc#i-AL?2k8L>hsfyeBzAe39?D^1y=8is9zm3A zJ56^edm5H$m!6ME(uCt*`H_-rUuS^km zk#442Wa^*=GA-uKIlMWSJ}lEx-ke9vWm>^`D|vS{T_Dqiy!j~SeT)_$Kk_eQ3sT`o zFW=v%OdM2=;of;Nb21llwZ)e$$n%VScnJN97N53ohC7I+D&wbHeB(=C6l1M*$#`bM zP<@MU;#v-QNsG_0U5Jqguk*Ws=!<31`>qzB=r0(86g`2~daOyN=lQ~&TCiA1gMk=M z_xv2LA0EZQetDoTq@BZYOUpV{9Gl=x80t?YW3h-()rx=+uEKQ%F%wQKizSz(BA|;x zYZwI@FEVT?`thrf^FHnh9X*L;JP=Ik7Zs$ujo(GWdTc;32d|H< za0krb=|nsroQby(nTmL{;^ku@dMa9o@tgX79@ z+?-PajyuCC<(x8bN;8~t&hda#p5at*P9-=M8IG58s=)DPIMtj}15R~@qi{|wI7)_7 z$2li}Q>SruV3x(ygI1*yv~x+Kc~ndDsfEr!dnOjK1M&rwL>yg*82SP&LSbJ_d+BU? z8S(NOEukPZtAxj>mqO@Cw4XjfeQHw%%bt(=Ha_S(5;xvHlstX{y zDl0Ayl64R$1IVGe0dlA%ikpK6D4XZ99&4x86^75!*Wn$GSsznXfpJFr!xtF~_ zYrrd_1~x)*@QP_B+d&CX7CM{Vj(8j-D=lR=Q3{leA}mU4LD?zJ`e_{~iEd*{=yFgF z+Qb&p5GW^&um<`hC>QNzQ|MEmWO|j3(5FGU>2-RGJ_D)*L)=eSfGTA+dWAjj7D*tv8oeGXIwTTUD3YEYFdhUmTql$WJ2higGqu{)46*MX{Ln~_!5 zgQ{Uqqgt;ArLbq=hZ{iE!Uo}}F~cssLnU^)@m;F2(?|Lr6q~m`~!s9pziA<%_ z@#VGA%2SjtYLQkx42!Cl0&8Ybu}o_)HC#{m8A_P3PJv!20^ppo_PLgMT3Vk_*4~e# zmdcuk$=*6bzDqdYty;K1vFH+sr@9bTs8&scEZ3AI#hMWnt2Rw!8y6w>g_d2lYa*n* zu7&a~L=IKbMAEnj#XyKkRfi@*9niH<;)SSOb!sB#xCqrjh`g#x6QMBZTG$4Js9KdZ zkvuMvGa^NGYa&z%T?<=<(5h2QG*QX82=xP^6HLRz7oZ35rXwLtbi5i@Oe;0 zdcC1b@O+$F!0m?%2nUn4WWySt_nC=2)L%O{}n?TvIf=|OPPp?PmUb-8UgI+-3 zZwBSWcF<4vfO65>I2vpLC9^7;OKcU-y9}4&hoz4)l?bJ4<^df^Oa9DRmKyAiSo($%F|4h@q}Tb zJR@Iux~VcAI!u%s^Oa|qD&qmfM7b$nxye)+FC`|*GxL?3O_lMcVxrufuiR>?jMoa$?j^SI!-!446*Ky(xt(c~ zwIeRkjCPvaX_%}Xapz_@TaK8`Yx-pEh$}jyUFLR9o~#{lqsRZeVWZb>XSf?0{5)f_ zcEke!qfvAJG)~rzcrReI$9!H*leHtB7Z`4?Uo)H6%*omjuMv!%F}Kq^Sv%tKg3+_) z{%M)49r4z|=s9yct&_DQo<9*duEML8_wi-0crEh7Bmje zZJtvFjU#cJ=QKg%pgYI&0YT&VI>+-tLF0{Mj^{&y#_L9#=X62iU1N?%6*OKn=6Ko# zjkk33yc16+Sna<;~2SEHjx*UO*Z&Xf_zpwAB|t1EOLBA|O_4i<4xUj8104EZDTQ z#cEwBZgs(;Rj?}7BBEkIz^z4XZEH8XX%}lrfNpkgtqc9{yZ6n!nR!b5^y}B}3-_IS z&VSC_d+s^sE0r4KFd;{~=`m>j2&>n^U z!oPo2=x+-Bos<7i=${JxOQC-&^r}MtQRp>=URUT1h2B)?ARvs~j4`T+_cIFgoF82k zjU=MUfymNqI-VTpVx%p}CA0CN*z$NL-kXSZCzGjcG#gJPGmKh$;;BgH!sx(2EFFm! zB$4jn_`+0wEU`G98jhv2Be3IK6;0$~jFfb2IF-&W!0%O!U%6@j#v?>Vq;%Yi#?&MPqT8K#%Qw>eDVIAL(# zn$hvq7k61Zuk2nwvq}Ekj{BOLnvR#fu`O%Iueg?xH#gi5e+e(Dr zR*;Qdam(1Qou*6?vbiHz2O-(Jb0^kIm^0YIn89uk=$`0MZ-4ZRTr53uRysP2#b$JA zOHW@i(iiKC4M(sv=~T2ovMLo>$w7#cXksK2&qS6kiFWt#I9g)FL#CTA{gPN;D&23G z>uT-kOASSOqp6{Ie<~Ll8tFyYWrh>EOa!19nj|!MAWGBLQ6O3z^ALfIs(a$e*rMD} zZ!Enmisj&8p6ZJxmPgZZ-j__LF+4`|-;=Q;t1dL%G5cN4qrP~!Bg5v9FM2nIXO+*h zKQ$DMCnvN*U31`I&(ion65*PLPxt&EtoeH|C0A@^E}B68g<34N@bupEV}04K)^iY4 z*}*u(ELB`BB?470l^x_c5aPJz^3qgq$ZZ6gpW&k;U|MX6taXi(8J zD!%ynfT?5M?t{QAE8E=jQ0w*{26U9J?97GOv{$a`|~W@ zD4&?MQ+LW4Y%acyr*PS!U;I7EKTLoeX*0{d}p3^s6)XFen4e3 z^-$+d>`qgyhs*t&F5SQOlJV7>#KCF*maSut-pHuyU7Rpfx{YpEX#;I^vr3gYD4{YZ zbE$L(ZN%Ov@@z%CU!||motUSQx+}6c+p2UI-HpsQc83+Q!pT*oOZ z5>PDqDi_t6b)Z;wFPEv}=QGCfQl+o)A^Akg%Q0;>SR(Hw>po*9lGQt+(iVdu)q1gz z^WKAlo=R&ef#Rvs1@IwVMOUlTO>0+l{QJt{5Y&0^jx;mtDMEa%b>^X425 zK9}Yq=u0m#b93=TKi`y_4;5Z5@&4H=b2A0b>1Z-b9nHgzt@E7=5ugvX3!~{@f9u(GzH+ z$68f-j4$7@WlM%67)s&5&JWe{3@Fa(i=zWE<4}z&Rl%v^tixyu3=QV8sZ>I!8f8id z&%~t-IS|h*N@W-25}+$$D;Y&w&avza^2}7uc?Spo?%qr`9qr4?y9d(V#V;XA>@d@< zCpfd@T7FEhWNbjO2rtK0zLA-Dnu?3}iFiX$se(r^(;z^kmkSm`faot5oDKmpqFitW1jv$d!BPm2Ipu;gAwV{j3(kT78CEVh8vTK_{R+5zE+3y>MC< zada7C=w_Nv_acCH(<$^E;^ieQK`%7xg~zCm`q9Jt62<7_aPu!LmbwzV?kRm~DO|gJ#bq_$b zx>xgXkXM2{n%4pf>OO#ix~lm&NR=Q^7Eq<`2dGl7()=7$B|(0z$^vrh)d0Em8m*dx zY9y#ytFeGQdM!X6J)qTcP(XrewSWZ_(t`kn^g1obL3I)o)aoptupR;^tk-KH4yu=+ zkXCO2X?hqSO>fY`9Mm8|VXeUenxtz0P0|}Rje{B`NYffkkYh7eT|}A-YtG{ZQNwD) zs?(4WHCTU2QVQ}Ady0m^tDt5!N-M#uq&Bvd(x4o43cH>%pq#XjU4_U@k&6;6NjXq% zO0z*)1xlgo*aEr`l!w-_dGrZTUK(Z1Gy=*;yV(@_Bq)_$q=WP+P=366zDl14RfQqG zKo^0kW-fZ3J_D+TO{0hDv!H5OJKayKK?T@pbS+&BD##Yo8u}clI+j9YUjiz`a>#;9 zLDjPxkTahL6=v&^RhNNkV2_|$Uk*xRkHZgFfNG>G;hU@JD7W%DRk>-+8&vP6FW^sM zZ%~6EJ^y189>+;YWGWqxZw1Eakcl^98#k2R2QOZ-D!xB<%W`?IZaWm z?lMHKya>53w1T?Z5FzcQ7Rt8}RqBc%Qt~1c10izj9z%pWAhl59g~+3O4Uso5LUjhr~3d+xBQkcFBs)~nsWg|5l z1jB(aXAGfDj2*;43jGSs2$9nSm>5SfOTt_hSOHnem0))BEVlrSa;C883|d9Vp-@kfXT8i&{w$eEF8?Y}-y#A1EogVdM10PgnrR zL}&c=U#7f`4(G=`YrURqtBi*N8|5QPm8aM$<59szxw%xi$yOQf4>rovN|g_{RmK~I zjq;JD%FVXQc*C$!KB`ptNLyvRa@Z)hlq$E_D&rZ%M!B_Axy@D??Ri0t1j5in?<&IM2qivP(USp#?y;S)aTjl#{t5ntz%=|3kYHNR(4!6$?aW8S@ z494~0R zYjg&5LE}ZEGtebyyk&F-W(gXv7&8O21&#NMnSnWIM(Kpox?$ZDH^|JdpvN(j3VI^{ N9`+>WhWD_q{}-3pY)JqB literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaActionReportsAuditResultQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..8ecebb0bb9221b10b7448b601daa864fdf46fcfd GIT binary patch literal 5098 zcmd5Xwe+jvf(za!A!Rq(v{ zzM$ZH;`^e4V=}%kz~f>304K!qQW%?IHxYMIEH8`YlvqxS<&2D1!dNfPJS)EE6uhe7 zH3dIZa9+WW1nzYiKbD{r^o&)=?#W7sr4MVfS~91ZlgTl=V3?DG65^vJ(>C(@0i$S4 zU9Q6cewOmP;ux{z4 z`CAuHEuH+;;<=NHmoF~8eeKreD~s=*H+X}{vs%Ws3Uhn4JXvE)XI@>pdU5ge`J3;a zUOanxdHxDnG8QjXW>FVUU0*!&=Q6R)Ftep1sl%GBPg0Qtm51HDc47JIjl~nckKQ)+%ykSmoHyjK6`xm`n*H$$`o|UrnUS;R(qnP7v>HYv}qb4;aG1vVR>3X~m9mCCsuxQ++fg^zm(E!E znr=mCl2cwd$8{* z=9xWZkStl1jltt!L0k5eD2ryn*R$G1S{%F&(dIBzRCd(msld5x71iyrRp2@tZMAjY z>8h+HtZ@XY%f8)ZuSB!S%6Nl4F{7EggnI~1X~ikG;u?GV_R#EoqkBen(JzEU1*fi= zA3k%{o(i+no{H;7dungk+EaNAD&A(8hP^`q&pg1MH>tCQl-qQBZ=Ww>D~-B^OuPN< zQy_-@&2kM9dukeFl-P7tQ;Zb-2UcW=cb>Rb3%M#!B%<;}BI=w-Z1stXZMm8ygvYE> zA*1g$L{r;*yMDS=%q$6;Za0cp*qi*L=hpnOTc=)JdVb!WLCZH@TYBqF34?dhoK-vn zUM1>gMRBWJ6XQl!#RM`cF5o9BvdGAIQ^im5mV|aMRknKHag&2j#?Mr|Ed(wK0Ua41 zqnAt$ql#w*EnZeq&aCl_H~myh3WlySgO_IGdCeTRo#{7x4k+9x>@bHvY z7-PTJ&5Z8!cHec&RTrSDJiC6*IKr|Ei8qhQ7ugoSo^tK`uIr+_AP!;^-=3TK>J6en zfpIXAFNMKIY5*|Vun)vYk3>iMl^tuRGWGMOSNB`yml#bc7=ijS!|)kLP|R5;!wn8F@YQ#|ZrYE4DR)S6P`5y7N- zOoYlzflD;4(eZ7F1_ND=50AMfW0&JY8jsz0jPwrt6<;K-0X_H~_7K;Ie*6|+A{5~7 zEWXS&h!LDbnox+bI>Oy!j9Y=-cP}9Y=cw&*LQQy`(c4ETj0L9q6NDo8BmbQmC8Rp> z8A41}K0u3%u@BKHV?X~C=|gn6VAJhEUW`4}jV6x4qEu@>WmWG5{DM))Hl0t|~JF%*!bkEmjG z-yjej2$mVjJb_A-#}@Ljt#VdlJ!ZL*d6mBo!4pwxL{_Eh(A;+;|>{CjkYZsyOr19gS@w5cP!wp#d5U12_R>IipL3qM^~ znD3xE!trY1@w&o%Bh?XJS1mkIS9l7BCoDRQDAQ1X;t%Mo?{2qFLo0O}@`j|uNl;hM z+B?TxHw#FI+;|_R9yv;m6&(g~xY122b zp3{6o>|+b)7VV6m*vDO%t*1M-(SR9`WBke`2 Tfpc3_!Su?LW`_6Rlcw-r$_~bP literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaRegulatoryIssuesQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..fd763c4b417a9b7fe02a0b6f0a1f7f7bc20cc46b GIT binary patch literal 16520 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 JIvnNGe+N-m#>oHx literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaAreaTransferRateAnalysisQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..b233fe117e4e78ef65dc57b8d827ba124c132820 GIT binary patch literal 25030 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 aq<6_`QbS)dcjGTxH%KrgJmb&Kv literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsDiffQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..a5ea24638bfba93d9eed9494ab544bb7668f9293 GIT binary patch literal 6608 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsOverFactoryQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..fcc229006eb02d813abe713fa8511e4810c34536 GIT binary patch literal 5647 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 I@$0JiA2Yh+fdBvi literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaEmissionsStandardQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..bb57907f3467a7d158449421cca1be58be38cc40 GIT binary patch literal 12055 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryRegulatoryIssuesQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d8cbf3a3f8273561fb5f6f480256bf570f358c8d GIT binary patch literal 14919 zcmds733y!9bv}12X`ZCfHd>!$StDy?t+v>g=LPQ|kd3j80keqFXs`!HGh$|BP(o6c z5X^3e#RQC55^ze5Spvq`#w4_XHr<=FNt=d-)Edcc6WVldNa%mwy>I4u=2;r!d|$t> z-zVL7-Z}p{@4k1>J?GwY=exf?c!Y?~5?^$Sh7uA&FQIv2W{GGNvos1Yr-?bUHPOsh zpC(%PI!6<&eD!M-;cJ^F=JK^&6CHf*)I=9wyEW0n*Lj+l&(~f}oW|GFHE{-C&(y?O zd_7we=kWDhO`ONq^EF}cb%7=p@^z6W7W4H2O)TN-QcWy#i{(tNC=n~gDsC<;q3eZS z4BkcD^l@`BHk((>Hxssc!xY@+b)oyW3 z39S;kCa&e{b($E^#Pym8Xkt(kK}`&4BBY5MG_hF|TQm{Y#EqJ`NfQxG3~M5)i5TmR zXyRr~#5IxNyQEu;3UY;q1bO>!3~UYbMgq~zz3Y?laCGwmLHfGUXfiw;+89oR2P2`S z(P%6gNQPt4grLs;aI80ROJMWnP`o#gk@PMd39pU~g(7R?v5`m?)w*vzr1t&?gN9PiGk3qq2OpTyfri+ zbv{14ZOk|R_8Wlv629@5zsAI{FSTnM6GOh#&KE#@eE42L#Ww_k$yj`>53i*iJ$%Q} z15cW7I1-CQR)iD%;b1752rWk+1=Xe=`bz4x=O*_Z7=QSc$ye@}IQ;nd!*8L-!?9>` zi=ZMr;OL=u1XTwHqp|pKfL{xrVmPs8bXd^r)a!>PwtsnY-;vbg?~EV5bNs-8V>|a9 zd;W=|2VP1&_Nt(k&~rg%7(tHarpu2cp5yx|K@7sOst9SF)eDsLjgdDvSny~x82~5n{5(;b`TZ_SiKg6QTF);C1 zWaX^^=^ye%8jjubAjUEE%p()~o=ZKnN7^;tqEdEYO(-<9espj+oaAA9;+663FCN=< z`{avvq#oXW^x)U+9TDV_Iu^dcE|t1cOHhTf&c4CJ%r0f~>&ZP|ntb4{)a`o&)hL@h zgA&PbFtGtMi~C}OPaJwAwR;yn>LlJ`=l)|m-+&7T<01ITvN3q}__n9U4;?&u@F3=r zWJ@EJa`xf_MS52Nj5+6#*tC_=ks-@U>ZvzUkH0FdNVc@%kpfGlK|Y~BFg!RExNI~O zAG;zR7{QztbXP}zFxndo1w$jf$v`9?3k>ycjrGF4;$sK~fyh`QoakM@F0e{Y#dV?0 zqmh6)DHDm&P{OpfptC<18}1zp#D>E|vC-b)u|fVcBazWWZ!i`Qp@|NK&2XbE+dF|* zERb`!q95}E({V5q-w?puaY|MV66+)?F_l!(DwQ~O*I@1_PxLvq|tl=_sRsX^^#kMc=?9kO5fKx<8-^1=43 zSSL;73aV@hR!a2R!4|W|23%vyh<2=vuiN13v(n;ByH2*S%v8+e#c~PGFe+>Sl_BjA z$&ywwc~M!(Fr*cGhEy}!&MHIaf;X)WjF>?iI|R4b%1JvAUCGe~g zy2&=jpU3oR@=rZ0n$*jkXhyX9^YPv)WyS8fWr}C{VWow!`Je^K^0Q)p#%oFyE#0Ho zpYeoJMN3K1!Z6nIi!o>&of|Qpn?p(7Yt(df+R{pT6IBNBI@`X-gL}0sVy#--^5Qmo zXQF|RwL5P@>Od}a+J5*USULR$qXn=_r`biYsnyeO7@7fFKjp4~5%P6UG|p{6T$IO} zzB+BmKGqd!t~J`;G{+WO>eI~Z;86<6^7N9LM@QbtvGrPmXkSaS%H`?xGpoousZyAb zmwr0RWrE0f3ms0f5NM z0n(O^bAU8A?EqY?gY#xxllR8>5CdV7wvh}gi zcrdgo%=-}kG&`XATysH@V7gKY7UPYwkbx4#`1XgeU&l6ARvJ>b9}=|S6gE;G8mE+p zCTP+vZt;j)=_!vG6QA?YF`C4S$IZ|+ki@pcL;t|65|xz(!b2YVN9NRWY8n^{Ck7(2 zxH1q#b;U#fM3Wx+nTfEn)4+(TpA1AthduOj7G`qP0J52?lE8#jCK-rh=jx%48QUUL z)s(=0W?-AlSa#qIRsm#S1Qifv^lg^BVuv003kLes=a>TbuZ){( zrm_M4E@ssNZ)27%P}fp*3-$PaW3*RUjiN>|kT8oB9{P8dlqreD{10ZTipD_HN^c(e zPv+NI;B<}~NTSBzq5ooOu}pLWgJT~0Z~7k$tzt;bFHMY0c_!u)6QdZ65wz^oH~k*^ zLwX8JBo93aN25QYKlV_720e5GH(R*5k(&rNQEo=KiF1?WW-B+ha`QQEZsX>Q+}zI1 zo!oqhn=jKn9=eyQ`w3;V`t0)Nve9s4h&OYs(@fHi@X#WU_`J9cqtT{4n$jzZ~8SGaMjj_%LH<8D=e-IwKlLhWEP?@5i?FD zYXm6g!O)h`WGohus%9FI!pl*e!!!&h*2I!)MkAnIp_>H-IyTvsjjGm=%Q=Z++0wy8 zGL8tP%5}&dMO?RwVzoKXUiq-rD7J@5mYN$-JPxn=mb=Qe@YF){=z5&))R2p3H3)M2TF%Fa(Gkxq=u3h$gv$n;}4i$rU6Z zK-9?~~|1c-pSg1aC< zRLm9J4FMu$u3#Gkh@QEE`yfC>%@sUA^Qo8~q=x`_n8@X!0#GF4he%xY7PDKP9-=M7N?3iUT~@` zPBn9Cz^S%4walplr`F=sGp7NZdW)koXC^qh#c5>DEN~hvP7`xxgVSVjnwjGRr`h7P zFlP=pEf%MhIeu_jElwMA=7Q5^aoU;F0ZzNc>10k9IGq-!n>jt;beo)4G3RE`cC?$Q z4(-LH(IqsK`l*Lj(_&gfYw1#q?OOQuWf=Z-^aQP^muLeWrpxJ1Xe0fEuApDgm7;*I z5_PmmbkNnppld`wT`R7m>%<5R&<Lv4|(S41^cPjLb#1WK-@-=UdWiD_sP45%Jf3L$ObAl+yE6Dn(k(hra*38vw=#D zVt`7G61|u~B??rmm)JmMMkzpLhDR@DkVk<)*+3OW89)_Axn9Pgas?{W%Wa@4qXM8R zqf)P6P^AJ@=#@55wNV97wc*vP801x;D&1=X)f&|R)fzQ=HG^sts9LYFf$EJ~fa;Ap zy_P|B3RJ7t*+9Bc50Gv&==BV0P@sCf!3JtHbbuO-nYzxPnF^%qGi{(IqYy0ctUPdNYH33e>FoY@k-71)x@Aj^4tc zISSOG&#{5pj8=f!48PvWAin~&>V6xj-Dm@--I%MlF=(y=wdr$hpiZM5piZMhZ)Z@4 z0=4TMHc+?G2~fAurFSx@OMyCd__cK3g1wj>a>f>6ZgBp@>=Lia*+IL^*@byRPt$J5 zYh6F1XTWoj-}NCq3*HRsa{Z8=164p5x(?CvpbBZV>rMI^s3MBE9;dH^a#P&3on8Q? z(GJ(m^dhKY+UdH9_JAs({jPrc2B=ax>{>;?4a!45a1F9S=7Z>dX zRUwMRC-gF?O3@~MO#47piEi-&dIgkMTr3XItDvgITJbu)2C4>!E056Yplb2kg9quG zpz6exN1ea#_Ivt1qZH;84sso6E3zEAIf^0`*S?h#NeuJ!2MyP)Q{;)s&p0@doemF}Z& zgYvs}(oOUps5aNr6r$e+HP>~RR?+W)YInUyOXxeGI$R%NwevoxPS*rA(g&cr==U*p zDZ0R|eM04K`h#ClotwUkKTZ6K8YEf#|Ad66VJ9aeIh~Iyay=Dt2xn(@nd!&o%raHL zDU~yWdIp~iOK{!;N;4(rK(8LkzRCp)3l^DSe^%v!EeQHrW%nL(&)ZL@UC(^CQNRMd zKuI)C1yWRO6q+Jr0aHoS3oTKpQDlmW(jw#rsa0mUO%c+9(!z2?iYg4v6lrM@l7$pi z8O5duc|vJn$s$G7Mu{mZNsEv@q^Q;?HAP4qN(;*xDXKR-rpS{Pc`T7`l$j!A5~YQu zkJM^3%1u#uT7>)}MNLM9DMD&dT38-QQL|BLiYn70BpfMfF{(@va*fi$5=x3%4X-Kk zrbWm=Qq*Qtn<6A1rG;gd6tx>Qrl=+@LQ0aNPNUWoAsZucf{57Lr^936S0K;8dNF$QnVrDAY6(%Q9?fg zRVGeH#p-WCm1EiTeflw|3b7eM>qAhL;!d=GhyN<^G~I;-7l+FO*aCe7s#<&x3$>qu zsu4e@GwAO@)grvr(@{`$9A?}l)bS}81qd@jAhh6jbD!eHGWRZK)KZ}ZurLM3vlOhz z2FoC`xeDw)9-P5D2$YJJqmt2bmMO(zC&i5J3B^jiXR>mvxGoI=BNhqjCRObDN%u`NI zM?I+OWFC}x)=8_W$9YfkahWH67ESfg>XUzH=DD9ySv|VuGd()<^v|xZI#ByrJCNza zDVb2+z(O*g`G|)){;7F-s#a8I>QAjRnJ@DjFoZ54$Kwb~t|6%xSKdMucD+TXzm~NW ztu?C_T$unsEffUd=qpG04LXC%DE4*iOh;v$k~t`!nXNp_Q5olH4$5a`E6;XR#?hOD z^4ZzSK1XF7%{eHaldU|*Q5i>i4$9|dEBhUlapdQqd|tNlTt{V`0Xit3pRL^CsEl(# z2W2B$xyw-*=Y$T*3$m4a9F=i)=%BnXTY0{tG7c0Slow?ypXR8H^F;^c#o5YdI4a`^ z(n0xxY~`~Ym2p(*pu8ko`5Z@OoM$>HFU?jy&ruo2oes*&vXu=-WgLwY%(bTX~72@~`OEO4&fr;=OoLSNEHAhI0fo>$ceFSex-8by_1( zOL4SwX1;dh;SOT5vz@c@wIk1h1PnR$=j?p#$fF}6T+VjR$=8lNX%b?Fvz>GEwIdIv z1S;!}?{!|jcH}vh5QWZm&d=A5JoXZz$k~pOuN`?x#(MzA_gavz9eJoGgyw8#VZL_c z8JrNs&UO~%Yeyd032f>e-)nKccH{}45T(v`F38u8JP;JZ<7{V1zINpKp%7)xc9!OA zM;7)=9qS7gjEzj4EJj@iL%DF!)^0gz+K85f)_h)6kcH~j15crjW zd@s?3=#20vP^w;qbI}XE7wxA$u65$#y;#yHKK6Mpku*w*ecpaaqfprAT`g&p|N6XZ zB#ok8pZ8Kpqg2=DT`Or6;QG9mNg8FfKJPk7<7~6fyI#^b)$H?bkTlLS`@EM+8Yh{3 z-i?yR8D^jN3Q6Pivd?>^q;YQ9=eHbo+j~+Ix+paZ1_ey;jmVpS;?89q9cu gke%0TYjb=anVDRoh8N+Y*7_X*P9ynu1fu?b0e(pNY5)KL literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaFactoryTransferRateAnalysisQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..1d1ea55ae70f42a41594a3c996f0e6e0d0fcde7a GIT binary patch literal 13495 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasFlagQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..30a43f0f399c11212c42e427805fcedee86d3f54 GIT binary patch literal 7562 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedEmissionsQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..56bad244ca1f9da9495b849e7034cfba8654a373 GIT binary patch literal 17626 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaGasPermittedOnlineQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e06f13a4f7454342468fc018031ee2bf4582830c GIT binary patch literal 20581 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaHandworkEmissionsGasQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d1cad723ab49164239ed78614b16f4c81dfea72a GIT binary patch literal 17239 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�nEZ`@f`psdwti+fm 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 Mm*KvDV1QTsFI~*+>i_@% literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaLowMonitoringQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..97d329317669434af9475d04ff0f811a9b179198 GIT binary patch literal 8722 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaMultiSourceQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..255fc46f3f75d8cba2cdf3b6a480779829031b74 GIT binary patch literal 19301 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 W$#t{)e1g3TSkWc+GBerB1pW&HemE@v literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOnlineEmissionsWaterQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..40fef2d51de5476d951248dc1dfef064869640d7 GIT binary patch literal 7027 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaOverWaterPollutionTraceabilityQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..9eadbf3925cb394e96f3f7e55b52bf3dff0f866a GIT binary patch literal 7422 zcmcgwdw3jG6+buG$L#KGlHF`JnYNH10oy!S1bi@|$fGR=nl`khJXFGDGb96>ov@E$ zd;$Ujl|C@GSWrP8RV+}T588$bDxmmQ^bh?9OdE|7qeWv#>H_ie!|7;T)e?)KMm5)!nBO`O7wI7 zd{d&gBzjw-Ur6*ziQbXuR}%eNqTfjLTZw)r(eF9x4?+4PqXuJ)QGD%f+7>O9(X!*I zjfI?%9Uow%Y$#?6#-zU4$Qz>>{qk(qENBJ8%;p*OuT7hisZq_GG{($gYI1rMp8Qm% zm``aXTxydB-ryKw`L}49qRz-yn4ZF;uP*xF*e0MkdvM+Gb(6zi2Ii=?c)8GV7yn5`tnHLy^&0-;=7p{b#(fM`#u=U<+3_ZhNJtFuc zX)Ay{zwME^?N2St?wZ?vxDmz*a zr4zGvpLlf-S0lDvgp(bVh!+w##ADPtX=V*X!$u98Mz$abZDs4o6gQ6uX2;x%N9K;s zEIhVz{@~VydybrV?P2Gwn)FE{pU0jK>4gasuh8NcMkXyw7b8BA`I+PMyN=AwZf6u5 z%V|bd8`oDEIX%tu0q^73M#dbYL)?F0ZricB9Xl~QJzpqlxoLZL_Q-z6{<-^}nSc2e zEUkF8ld}&jJa%Ay+cV$E-kr6@|JI8iaYJMzIbl??uDbT%)j*HJm&fIy$d_;pWAj%X$J4@ zKE(_Iml)W?OBppTU$GgLA!gFN*2wDXij$*y&dNewn`T1#Qjm)W>p;OUuIzQU^?MB!fVs-^PS-ck71l#{%vJQV&U3`1Ud8-rtYRURf_ zTUDEAJm_k78o3N&0ha=?VbSgM=fxD;meT}S}4Frnud1$lOL zTg}O`SZcFnbT`u$;dGnaAh9A9AYp2O(ax z>P+z-ivyw?3tIa2A#KWP9=LP_=}$O!(pq*k&lIQ=T7E+O7@E-_5@C45;LvJh3iLou z&lfWV^eHP1BHix&c1B{7;cnL!%FaOe65XC#(cE3V-tlga6_vXyR<1M@FRgShK6$BN ziW?1%-Hm23m)6%9864KV^|i(G_{B)3&2+s?{dAs8pX6eIi%Yq|FEDH>4Q+q2ugfDh zfQ8UYu z5|DTMW@M!eOkngW;kejAsIVbrYY~??h?PJfpKB4Hb`X~V zfn={mT;U+D1Ok;%i&*U-)&PMrsYQIoK@0+c8mdKH;~>@ofdZ>VtaA|Sfk5@uBCd51 z8-PG*)*?1Ji0iQ6j8{G64OspZo(xZa&tYOOL1~~HAp@2%OgBN71%N(FpTmgpDut{h zAE1W)RphuQ8CC5;ZmcGEc#_c#JjlLka;GO5UBrXzuO^@CNk;eaAP1_+{hnlWEe~?A zntYKb8QsoSJjv*i9^_Cpd6g#_-PMB}t|njQNk&)pAV;dn>paQm<{o6ZntYun z*`V8OGVcxzJehlX4^o47awi4CPHvv~qBSwP-8)WWy>Ue6VwCZYZBz2o@n zjU&1sqpWwFK)rE9uViF;#|hROM|4z1Q{Hi;dgF+`%jgd8IH7vui0;fN=N%_pZyeFX z8Rfm>MCy$rIz6L;cO1FiIO05D{8A9;4Xv@}jDBBi zsME&SLAsN^fbDK$PtY{Z?FQ;*JL!wCHBt}TN?(HJqpMh!z6{MzLu`V+0xdupHb`HE z7Ni`zlD-B_qMfXp?t&Jg-Rw-d8yf%5*$?R+Xc3yFf6>>W$@Dk+E8Pn%O8>wG`aWn) zxLX{g`=K?n0KG`xfY!p!p&j%9v>5B9hv-3QadtHt?nBU8*)T5mTcIVGNo(kv(Arp$ zE~AH`CD{z_k=vlPvpu-VY=_o?XoNTD4odG+Q;>FkK*=CIg1-{`fI5U4`hTccQhdkQ zr_aTB^3%u9%Zu+??afLYK7MD{un*Ii55JJ%Q$~dG?En-y_fiYi+!x#W@^ z*Ag{qxlrXcD{8rxc^Anxv5@w1H?khuMZ2-gezu$*h1Nh}b~b$nThK^nvoP&}=EK*+ zNqP*LA4T^rJq|5^o_vJ93oVEQ{2u=BB6$ue_ zT*iAiY>HGvDYLwNHZkNyEOQri+w|}v^m2q#A?zTL#eW>EZH|>nw3K%_O_2*~*3o=!LW&i*H literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitMonitorQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..d1832cf88118bbe282c2e8b52cfbcae9a43d4703 GIT binary patch literal 4662 zcmd5;>vt688UIbPyEA)(xRQ`Xs$f%_+d5WTTQ>wq5G6E;F+r%*7AL!7GGTUS*_j1n z?FCdssa7rLaE_kV(=Wy2;b>bmBI)&uJ*OY~S0n`ghg$o4=bcR^$$CsHA9@JyKJRmT zpZhca`1jR61NbH`sIU`IP)Z<;asm!28cqmIRbX5Vp7^b4I4OQlX?Rk_tN@=%;752` z96wHA2TF0`ej<*aisNVEIIZGL0&OU1ct-p_D~{(hoYnBWhI1NT5QrC5oL3Ml8lEv! zRM0j&W1KYflHpD3gVxkg*)yliYM+Aac&+SNCG)W5T9dXpP%b;3;aN`ERnRqTIl6nw zm?EogtWflUiZ$XCO?#~BRLrV3OFhw(hFvrH;=+~rPcFQp;J)F4Q_`O>T+ggNS+eyR zqj21H%DS*<(kd523iX2|Oqf;6u&t*|p{(Xw=QFl_JYZglifN za4k=`pIkh5c4_|E>%V!+;w@fs%9iI;1tlW`V;kiuUFx7@a_Nm%uYGWS>C8uhJyEEd zhG!mPloX^E&%LoYfA!kMxlb;>ub^GhhK(RjFKR%ee?jS7RJ;DyfNLRl}E1+$`i zhFx`xqJGlRPY5PDZ`iZ0|O5N@=UqB z^Z%s;Zj^H|^F+(c$`WjM#V3Dj$jo(7jwfX?-za& zoHpEP**ndhT|=~gYmd86*j7)Td%t>~Hhe&Lf#R0Ti0hJzR z$xNBv{lTDa@9g@#QJo~4oDE`drFaWwgt%_0%dMVdX(1ExIPR`Il?`&Zb}0yxlH?1$ z#armDRml&ArVvUCq0nQR7mQ`j&q{5jT)2Aa`d^-3dh5I-=ay&t!k=DReD|Yk?*?)? zxg(@1j((E4ftXMIf1JB1Jc^?!d>@agcqxUKv4^E1O8%HtOyL)JC50d0F{WSEjF0^x zjxkt4;rN)x1tux0=a|^k3J%<;y^_L1*u$DnVK?@qFouUy*ooUy=oUvWaw+J@DcI_N zJcKH1ux8ms(Z{(BrLt2tdVdP9;x%#nk}mb`kbVyp`&rGsJC?hJ*EEUCg~YqkmBN$= z#69a=rxHraH5d$RxnjqRDbrtr3R+g|my<}rtyDB!^Bl*PqBYO5bxC}LAhTk*qmDOP zvk5nuClnZ+N7v81^_c%+RS!(MUezdg!6yR?IVQdx%53Lcc)r$KEcBQ}1!9IIhHM^Bi8r4n!?`5WlC zlcFr2^@O{y32}S_caz~BzI)lX0~nu&^5};i@AyCIPS%_`K#d| zzJvQ{dY-owe!;>B;PZN_Q{trFfzeO~1x#w?4zm910<(|JHJ<>~i zHu+Zq&7-|M@{!!%k<3Ou#!Z)y%4H*S*j(pO^HH*>`B*k8cw!$Ta|!8eG#d*s#q%ne z;(0Br3MMUJQnOl!DVdLxDVa}XFvYWpI#c8_t(Fmr(HEfIk48m$gS~z<=obbs zNO~)Ng?+?{I(ZrQ6W7e@IEVd&B6twT@c^MHMqu(b$e7#293Z5kN^L`gH1_{a#&?i4 za1poQyMz)L=G*sTv#R|In^cT^iZ&Ia{L_?A(JsOG=YV{fV@zhk&zZ<%RHQ&S*W{-^ z?3_$>blJHmT@ubIVgO1t%2~>(l&-Y&?TYmKY1`h?H_fDJEj^c@=H}4yxWKFVh#+Jm z0Yww3l%#k*>XVp7Ur5VF>!f5p=96N}B<7Y<+Z(6jfV3sBxEUoD>I5x~GT?^@H8Frs z;1PP!%tju;VL}m>=iN9$D9Syw72hKi^TYf$w9kl$FwBa=&_Yo@qu|QDNg!Ggtuxel zBCAmWTP(!3!nqb3FsrMXSNIzcC_*2(LuF1lOT?Y2?fwuq{eDeqvwq!*P9;MSC`Ihv zb;9o>BgR6wE^ccm%;nrb_~y03w>K2#B5xqPWvy^WLt*ax2Ewgth3{x6Y+y1F&eKWJ z3$gB=50GgbG1&~U{l+==C{l%iJPi?wW0x?Gome$!5MHVeXe~=2jka exNU7-!nL?Jh-?$4{i3t{O)IwK4F7Y}9{&%krgsGZ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysicComsitQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f321cde5682e77293145410f2e8a397490c69609 GIT binary patch literal 6113 zcmc&&U364e75;8AKX+#CWRgID0ZJi6Oi0qPmRdUjG^NyHlawYD1b@<-nQ3zA{Dhf1 zU|N3)wgrn6P$~)*{B5ct&;sEn6x)}&md`%vlWUQry!h&iSif`6otc~D7NfY9YqjU@ zv-h|6?6dbi`|R+?e_p!*U=42g@oEqX4hAs~-wWapUQ=;caE=JhQ5D}8-yf(rCcdw$ z_@Ve7SMek9{jrJ@;(JoXPyBd8kf(w;jh~9;XF;^#V1T@zi{%$$`K4HXC6+hEGAfq0 z{P=Yc_u`<6--z#T#d1c)?^K*saZbf~6>qC}N5uspx#-6w1-_(i>YI`ZYP)voyY*OF z&kn}Aa@oNS1<~GO)-*DytwzBZNT)ip*_^4HMlM@W(9&h(Vud~W;9x2r(<_o#=djV8 zOQzDB^SR+v-W;JF?`}O^O!2pFUKzi2?5u+Mg;YY=(bLBBmcbr9LwUW!g+4QHSWajY z2VR*Pe`(^#p{ddH3IfA=Ue8FpHgS00{ zTgNXd2o~fCdWsnZk*SkMCodhG+IN-ETl)`FoXDqiGbIi1mrqWNUn{Aq`tHH4@*shU zs~0BT*gx^&bp?y0N|&A)Na{}&Q~8l?d3~5iSFo?SE0K*QQi;@X%+%BQoSuyB&c${K z5Mw5tjrH~Fy(v8{ezQ~Z5*u=vf?-<5I$F9CxlC+8&t;5ct{BUV3@~Da;dHSOOXTt? zF4?4ECB-)E^nt9w3wu;G8;xdQ*5 zQYhBl8xQftvHZh0HAgwBgt zD*;YcRDxXl#9|xnDy*>-9bFMH#^Cv%=HTB%2rnRV9I>dej@6dTO4I! zKN1TG=yT1){Aut?L#M*#N)wN8Yxh07afgLPN1GP=4UWDX5*p>`1_~7i=Q+#P@=qLL zArbB#PAhZUL7|~h!|5WoGh7rVoi1`e%|)S6c2PBR(l{TOzFaY%NIhnV4!rWtt^Ypp zAS+n$?_OH=p(iF@zVPARWAd$=x-dR9e!BhU^}RQ*oR~Ux`sTIK4}ZUZ>aBxP++Ke5 zZoYeH;@s8AbGBZ)d}$SQ+{KHdVHffm3NZb+tl)rmPW!BW2~#@`X^ajE07aW-gbOszuXC z$E5ISlFXJ-=*gKq#Wd-v)Gh^j^A1PTv0s|moc~}<>KrJTc|Bp;a~iLYPYi5X4#Dlt z22yGWjvt$rJ1S1Y+rBw_TRQq{OKc zoO*KVEY5lQQjHB)#K#U0m_Qj)o;SPHcddZRuE$RGC; zwx6wylHCE&A*h0#~1pOILlkzeVf5KK$KBRF8+erD5$2ok7l!~J`g6*UN zIF47bgH#Y>cn)7C6~c9P?XQs1@E88lS4oBOSC;qJNY&8A73e1wQG8f}XGqmTr^nl{ z$glnbHGT}-#sWVQ{7+SGlWUQI|CZ#j_@caiuNC`&2w z$Gw(_6=^A{QEy2Ui2E#&uPkDnO07`bZ;4o;bGbpg{g+3d_=RAeU)G|z*_>8FrMiw8|HJs zD#)2!8|dRR8_Ka)LU^NiYp$V{SKoJAyEai(>B%TK69a`+F%!$-RIXY8$sjD(4Ru|>PGnJRQ zDs#AXQC>1rdAX}HhhP`wr8AWqU6na5yC~l?Q@P1inS-^9^0JxAt6Y`8fp6N%app#} zJKyToOIYNdXxZ<4<$mY0Cnp8p!nfV*MCWQp4q6Hyepfq-=W0jJWeWDX+gUPKJ93QU zKO4HoXX#w+$f-|ZyK_C)J#)1qheQQ0x!YMbS37d1RK#BrcD`O?*2VQrj^kbqkjv{= zjG<9HQ)5_J-y~_i8;$j!kThR|#`;x~=AhVE|4B)6L|j?lENKphjrA>(=2+M$#>2)j ew9c$aXZuLnRaM2IQ1prY<$3%7{o_3T-G2cMxR+o6 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCementQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..e937f351b182e1f97015c4ce44efef5a953e9765 GIT binary patch literal 11107 zcmd5>4SZAAbw5|u$CLDI%Q7~8*w`ir;x7CaJZtdE28M0v?&Azv;N!kCr`y@R{ z4wZ6TbnZF-bMAfT-h1x7hp+$W%!@>{O1#5Ie-j`z zidf9>YZcMMzr8-uC&)WuAz(bY>6tubw-*@7$?J3#y={+G>omomA!@JUDywIGQ7g zEQT1%No{!MzP9oKvakziv$HT@lh-ljz5-5NUpERTp}4A!t`NP_;(~mQ$}tw1NV^%^_uGCxDF<5 zG899``0$AFp2>J-&(4f7fn_G>o}QstDjJK&;uF!Fk<6rxk?8Jp^ezTreR4z++31e# z#`d_8V3#_yUm zlGr3IJ+@{4?%_M*vE1t3JFu*BV+p85x;#%?2;|pvZjARpka3YhN>@#3vDsiMZ7H`= z>TQyc9U{|WQyIvT$!^M%u+>?au&E4aW#V$6wP7UCmX1Rf%qFV0fjBQW*deCC1lZEE z^@Vnc39)Bnt0TLp(FEBuvIVk>B*>ncEs$N*B1cq}k6Y!?s}psz-JqD5=aj*VV!sKN z`8gmVvLWZOEdN^bXp{LwzaS-Mq&D&D13PA9$K-U>_4IDWs@k@F^Oj9mcHq64cy=ljgL=l;mUpn&HZL7$tuI|P7<{ws9>MKfZC3_vZ?Ihxn%TT+*)^4<#hCaY zyTv@>`75^D&+KsFNu99r8q)n#SvUt9Gk7QUJ4_B`?Zx)$2c-l$)#n? zuswF9Co{45O$okKEWG?}W+~t3aYucti#m?hjrot9IKS_3{=mI6k3TqjVj7pdCGvtN zFSzGl+CTgB{ZhT8`U)!*f>vL}?MbC6dO@XAblN8dRIx-XMY7?eY*%7L6;ZKFrD-~i zC1YisT`4>bRQd|b>I>OsR}8mJmA*#5?Gww{$qH4h6suHvkzqlZbS%r4Smd`v=!0IN z(<=Rz*@u-(cI9wS^oh5rVoAt8|9@KFj1~ zCSPUp8%%za$*W90OP^C|GrdctcQbhplO0TMWwMjW?M&XwNRIF|V)5nIRgb)2tX0Jtu@)0D&|N$T&}=9+c?(0(IM7{~o@xniVPNWk zDQ;o3gN63y5wy@l@lcT9(y<`hrGr7XOGg9R%`mUn!jLujc!8{}nt!bP@ig8a{7SH{wesn)%@~cFuLQh-N)eY=H@th&nbD{*VZ_Gx zaltOK<{Nya^$5Qe?Css?Y;JLGY7*B4Tc-DIhd!Pp~7@N$c(@FW&v2-$t3oD*{(G5kG$B#OKJ=K+z za=eL@p!lW7YbH&*P3>=x>M;*ocHX$FY!pX-+zPvY!pLOfEWk|Jqh7e1%aEEwWE7&} z8;qv$*-L+uS!Mb0%t|nw!5+SG&&GH*hMj!rLEFcGD-ge;Q@DREv0D^QYTL?@ zA}dwkd&}_UVX@Vc3V2$8n%O&1uxlh2=Q7mPehRH1euwaHOP01mf&5mj*aii1UbSL7 z6v%_sid&#SZmd?^1_knEwc@9tKn|@|+yMphYPI5Lpg^vzR{R_k$iLN!_d$W2T&);} z0(rVxF#-j0ceUdEP#~XIE5@Kej)&p{h^~v06d^y2Qwn^VNUS3dIHG5!N!7_OTpK>JW`CE7>|ZK8Q}6AjSK zv<{1E8y3_sqLIUr`Ye{yuhAB|3&>Xasg$8CS_*v*h)INIH(DxwrQ~jKKM%=5a$Tf@ zi~%EUh*{xYVKF5=_sj7H1`zED#Rlro{Q!070nN{#fCchv0UOA#2LbZysupCBYJtGnKn;35Kn;3> zR?naY3skRRo{Iwy>5Tw|^pMubppXS>)G+l$(0siKp!s@OYhqB?0ySx28>mxn2B=e? zqct;Vjs!bC#j>k2SG*TXjF337n#GV@Wb}*XYQ}P-U!uLxx42f(KFC}YaV?^I zAgiN3R~P*6(_aDIANe2MM@ z7oaKe5PcL}kj{#ObU!$izAaMp0JwTo;Ks0B_EH1a3Fu?s8iiMEphMt7Vv&f@gW#G_ zYv`npgA0py(M9@IaLr;H{eT_y5xktgZi*rbmkAdrO)gdo@3fz2`pKhQ}gX?tlAaaj`>vAon zc6tI_x4Gk=qh&tj4QjxSf0J5$^d$Zi@g}uN*8l&F#dPB7AhQl#k6+H@9!@vBVqBFg z#>#)5!ivEf*oSY&bn%Nqy77Jsc44fpM?$ODxYwE~sw1>|3<*jJ^&chQk}108eJpR+ z-K@~umPX;UB~?D%W2%s`Oe00}6jU9$*Hn3nD&#R~<=1_t3MtI8!eJv-4Z32gl%fiW zO{zk=-&7%|SyniZq-wq%Fjaw~3Yku-I`yEbLXxwraA-+Ym#&&BwWv}Hs&2jBR3YnG zR`mr{SZ^>@4Mi1lp>)`+H<~J>LCdPKpjx1ZOjW3;LUNQ=LA}XTAun21O{S{DF&W^+ zY)+arwRPeMJw>0#lzOmvz5vce0da_qV!G>Sq1a7NgLBh5@m?H`oD6OkH_#Wsc_}9r z(KFzDbO`^E`7AgEn%C*q!TIqh{stWb7ohLaX>3ML20z4RIu1@1tw=J@gR2+IX^g%E zt^sLk3!MPhC`M@oodg#W_t0EyX(R*QcJ5K?ya<6C+fLw=eUgN@h+&r6E*7+qrvNBm z+~pz*=C#2}$V#aN_LYN6cn5`LqEwlbtekb0q2I}{WP3@qWgfVMdC9}&5SEkRrJa=g zyamW|rC!!m$=h4wEQj@P<*?+lCaC3>)492>V1AiDbJe-c>Zs{TIx6*b#b#D_;VbN})Z_og5}hI)qOd5>If~+!?^2$=7ii)0700D! zJ{R~&0DzTK1s5c%j89U8-y`<3w$srVWjzPuMU}?gj>af=Iv6jmG`_~s7_~$P<7+F8 zBaX%>syZ0=R2naKG)Ae_!ML~5xW~~LMOg>qzDnahM`M&u9gNMVqkXCd9F0+Obub>N z?0Ko9F-o-##!D)VmpK}v#Oq+Zw9-4+U2y{5(Yp}Pk|H~9{-q^AZ;4R*R zy;cEA(C<0>SyZbZS+5fG`_6tA*Xl=>w*>uxv!82g^&_icg8tCiPfx9WWbsVUA36K! zt<{gLwF&xTXFq+l`jMqML4V@xr@vM|vXUq0Po4b?)apkT{sb<^j_Ytqt$t*kP|%+_ z`&nA6A6Zru^ykigqP6;wRY*bKboR5XRzI?6Dd;bp{VcE5kF0SD`b$&^WYQS2@Ann# z$6hIs2YK~=mnG3c-4EFUMbacPh|DP828aLLu`=L6T@&kS5W?L3)I?%k(I7Mwqihrk(uq7{Bb2X*WOj z$n-^i?v?3rem)`7ll=UWOkd{bSAz6adWxy1W%^o>zE01ujc@qro6P)HkiJddVd}d~ zeJ@BVZ42P_`#k)Bhi7^CArC*|;m17ugomH<@Ei}%`{`#v>Y!~h{hXh_km;8)y&%(z zGW|-XU(2*lrcs&3WZKX212VnD&)@jzw-Wi1T3%b2lqlMJfwoSIr?hl`d|5tgr2Bg$ ziY+aq^TwdQ!pIqYDSd7_oylu?Ba_Za)ZS}k;<@!&f4`oMYb8m1?vSx4lhjj7vY8=0 zn;(W9?>a42&?QpFZrVC_?UsEzcfWMw7KuXVYl(a&JG@vMWZ}L&m+sqn>*&U7_ix@R zQInBQ7IOLQ@H{QA_X9N#MlsI=cU}Y3{%yNQH$1R^&&~VqxD={M14tv0w=iQ@T{3#x zeWTax8olmu8xu_G>x_hMee1xMy`y(uX@5%=GWLTaB+weYeuqSn^_lD%I0K7G=*dDB zGw_Y>xMy_N^^j?4Ej66em*ur=emUHP*^O?vV(j*fqkAqH-F)@frjeI6ZI`Id!p%=7 z%TQw*?muwlBQ`3O)%)RDUIDxt5!+G78>x6N76&H=mKptNEpN`DwL(0rdiUl)Wnv<$ z!+X8jU|&)@yP#)>S7x;#?21GexAi8{@r0hxhvIoHmCb0$__|DdErYO~yf7mdU$#_R zs%t5p_FRiMFJl_&Y41&B2IGBNX3$7x3h}|=K14=tC{@VC6Pc`zA)PeLSh0*czmK_j z#9r0+8fkrTVX#lnF4qua9Eq8PmRg}@4Su(nUUOm+oqB|`mdL-}cERi;TtQ3uM2Cm$ z$*w;V!?UVan9K}nM*1+j(!(1bMl2@QEYgNdx1r9Us!6o-|GL*lv>>0pwxFeu5Y26l z5I?K$0zHxMXNO`(igFMy6p6|rCrR@edJl2zw~Fr(Q7R9CJR0jw4Xh3ax8RtHSEH^4ZA zH`rXcH<;t}M)BSB2Hsq}0j`TTO5Bn+z$^1cqgAC!&fpcysN}kOgOPGRBUUa^a9O61 zP3Q{@J`;~U^g%q6`!p95N1>Zo8n*M) zV&2TmkVsa`)Fx&HEEa$CQ_N_v(suQb-Lffk3s3S-3jLY>qR_33QmjN?&F!t9{;JU5 z=sgI<+r_7OEk3VnoN@nwaQgvETCZd2$Ix>TVanx)WO9_H~dpNBJeSjfY>d0525 zSv;IgOC_36*^-}DFj7fA&5k>CJhX{3Zni@Iq}QKX#Kj`UZQa>`AqZx5*-6W1BHAhlMo%|ut!H4dvdgmlYhU`Wg6bY@7@>egt9wexJ^jKcK&eR_VquBRo+ zjn7&CW%v2`9+Sq2*6p0H?E=Tg1k1`COuP(lZEf`_Y~yJvuGlJmAqY|pXE3hsv+)+f za}NGa&Cxp{Kvq`^PJ;lMUM)Bs0%U)+U;zZE2-SjjL4YbzEjSYbRE}yvF9fJ2)q=$k zpu$uOmOy~21Hm#Zu!fdn;Q=~_R)AhfXuHS@ifCjvN$2jMn%>Ti5vtuuo~W0J5%R5M zj-NR)6C)HbIYH)xzzNzIg*jnx6q{4WoO*ETY)*tZ4d6sg&5Rg zQhv{7^3+BrfC14&!Jjxnv6Y=$F>?>S2V)1elIUcT=@fHoyRfZu;E*NQ*gjBsI+d=# zu5QP!o(p7)ST(Jp_u@^aE%ZKmKfLq-yeW7J&T3HSfisP24$^0-#!s3b<|GUU!M5M= z?6V!5fC`QXjBsyl6FxHmZr<40aW8p24|YCDlWrw%?Sq|9(4<9OSj$o7D~Q^~T^LkP z_tO-Ld7h$%&7^e4JR@|pjqs~pK>VsN=4FiUDT;2UaLgO?IY2?x4^U8*V}1t77RVoy z9Uw&w0HmnFSb#x63lxY29iTcj1W=u-#6k>GED$IMD58b|il}w5FoWtWP&kGyFHStF z)&mq(Be8l0MJ!N#3{g-7HK`2%HL1~91B0R#s3C^HD1utlMu1w>rdT6`nk-ObtjPhI ztTqEQS#60mGpNM^HOE?Pkmo_{Uac88KI{}>k2oj}h`plo&7i=pQ9lhp-Yi{226#2p zDy8TG@M@_;I-k~n^3WMbq7*1EEt2NZASfTDq*h9U@>5nihBBaJ^i&6F2vmSJ(W|r; zRFFpKIm&_x(H?r1a-bA?o*qTG4p5k0q=%>gst!}!Nb5k=OFsHItp^p6rsMk;f@+XD z5pTnwqSBePfIbMSQCfmvzX(*5ltH!o5U6IUKu6JsLA97ceIZTt%db-%g8B_=@zcfl zFH3LGL_r4rXC!=vW=doT(iNvOeDCGd;BBd?+7^+kUVB^MXakEtPr)6SFyrAw3nS5@ zk)Bze*=9N&9qAcBGRcw7&E)SMp<~WtzF+mQAm*_oGN+gj1y!#pLUx%-a?ERs6xC;n zd_@s*PH5Gsep7^Wv$Rkng(#xRrbsS|kc2`MRRg97`DbYbY*CXMG)2Lp2w5q#TGWs! zLPAsg$(bWtL*VO|hhVNU^0JJcN45!kZy1BcVeZDcLy;$TFq8si~5+!{aQ2;lmj$ z*&G)XW)aW0&58;^aXh)ydpmZ}vD+#N%|x^Q^T7{*l@t=+f~%Cb(-iJHoKx&S(iHbN6$hfPcp&<$JB&nkxZ9aJUOVE-Bhj7ic8(jb9dSdF z=yUFNrj6H*xKK%Sm%E+T@!AphFNyAUw=;dbcEoi}qI=x!96w$=;&vy|z3z5qjMt91 z3`(@w-A>zh?TEXhMEB9>tzhP>W-$)i*^aYc7WJ|^4#ic|zCx}fgpTLg{XraSspLF1;;9X&zN zxKMOQPZTun4c*a`1dZ!Kcl2$7#x0;b`gTE29-((cPX;|gr&MOF^Gw)a24fws_p??FU)3eq9 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCoalQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..408c44f539a86ad76bb01aac45c022c0306316e4 GIT binary patch literal 8456 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisCokeQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..cd3ee5a4acbc2f1f24654a186a13db7ab7672be4 GIT binary patch literal 12795 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisConverterQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7f7acbfee1f07c4a7e1a898e024185817f960d6c GIT binary patch literal 8550 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 N6z<0w@IhhQe*qyu6T<)i literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisFurnaceQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..7db063c3995a1d45adc1395e83766d625275d6e3 GIT binary patch literal 10539 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 TxPbVZ((~}&V$OIT{>IM$D_E}@ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisGlassQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..98aa79edeec134d22a7a03fc1015535f24168fd2 GIT binary patch literal 12241 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisKwhQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..68ac57acac91c4a81ea0eef79c624fcf4c61e692 GIT binary patch literal 13888 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 H|MGtTmj=g1 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRubbishQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..f5b0f3ce5401f6c1c67d2cb62107d66f847daf98 GIT binary patch literal 11142 zcmd5>4SZAAbw5{@tS9M7mSt@Gu(3@MU}GBvNJ#S_G=z_o&QJ(;JammwSWQTDxcO-ldg-6!cu zdIT}H-}d{Nt8>r!pL6d!_uO;uJ$&QGCto3=tHry#^w)k8^oF0>>2LgWh6)NzGiQc5 zXB9ffzkjRH-|_F?`{^I(2P{6%-G5Z*pZNEm75W$c{a0@OO`(7H(|^!^GVF)k{Fj%0 z#F97t^cMY?sS9WXaU-~Kanrz!n;Q>sqR~(9rZ;@(dbv@!@p0qlCcur#O^}-qH%;7x zxoPGm!c7Y|v$$#XiZ(wjr#BQa8^5Am5t<_AD566Vor;*Nh%QBRE22jc^Azz8Ma)-3 zR1pglv5?`56w%ASeO|FxP~%8EAKy44C^B?sd}lnCil;|o+w$3DdUT~AZR=z@pBy)C zP3DrrDPv7Koyo`Z$xJ#YsBb8liRJEzkB%DISiCHWt(iz}%8VGPE!oV3km6wFQz4<~bDnx-St4tcWIctwPZmy{l(OD)r#^A^$a94+ zKU&zgU$XiHh2!aXYFEzKmXBxi(qd%h)H7#~e6n!*-ooLBigrU5Zhd;B0yVw&b7%Lw zR73^uFpLqb@g^fbmSOJ~9{9}6efy>lohY0>AjqBHHGwI|>3(9-FL_Z636 zFNQsT`r&0@6}`qRL4m9>itu2cBSgY7rY7^rRBQ-KhDh*jOOB@F`N=HIN2|oEYC~`} zRNAGdhT`MHBk}i58rfajv+)UpmZ1B4hZ5;n!blhsv3xw0&BRAyJ2SDn8HAW*hb42d zZCm48jd+UPvBu(Ul}l(^TiG|1$c)E^E0pr{tO|IE9WlXGY1;avDz49j z%9QPw)?`PnYDG%6R@KJyihe;#BA#B)u?TW3o*R>k)6m&8v%5rm){vqo+* zl}FksMVCKnizBtzk?|6YR-V-5z8oMBwV%K~t7k58v})Y~QTqY~qV|<&j@CN6smLpN zG!(7!n&z-%J6Pcs+x>$3Yi)Om7WCzDXTLKvm$@a!u<;F* z_W>_hH=B0={+O-yLp@UTf&ExtSi`)?VeZS7y;+g;EN8OERbcGyEO#w;vW-f2+BlXw znPYcnsc*Uyy=r%YRpCzbE8K~`gFDOIvOB@6b|+YtJ3&>rv&G8%WpACjI_rd9>ADMaS6mErs z@+LTQ@R>6w51)N?&&=}=N%3ISWms|rt-OLOmP%9fvP#G4gjWoxVo)qW{^7H3M{-0J zF>#ejr|1OY#!5sx(s(qe^kwD+iwS5)0(VlCzD~d86-(L3GF2=WSF7|2!vZo7S(>jh z%V)7L2K@$|Q0X;u3@g*@$m2HY71yX@g}7D~?-bXmLKkq>jaPmlRq2!TVWef1K13f@ z=_C(+nwzh1^HpxX#?5bX^Ex-5qED-|k=~=yd%1ZZH`}D>bKyHlgZQwUo;k7BCLAl9prjdtP0x)e2nefFuxdwhUio2FF8_{*8~E#z<37F6@F7#cVPKa*%BW$%r^x_EPGyF z^01RL+0j^hBAyuIrwE(Kna}j));s+cJg;y^^e1zhGx_!76Zu_&I_&q!wPW$@HrzCg zbiy!il`i9MLGj+(ZD*Nvqpamz#^Y$sFka<22Ce5AHbXCbFgBUbWK#006PZ*BS6jRg zV{1z!&mW}*d&VmZ<$RNALB_@BYvxY7PW=y-+Bpxr?Yi+$xft#PhUIqOL_C`_n1PkD zd%bvzmo7D@$S8QlJ8b0dF${cD?&9BM7GnN)Rwaib%Ssve-U@uBTWsZ~BA(`LV&zkEBI*$kV|U?w?lyZS}XV&2#|AY1wRJ? z@^G!-0}voL*9wLqK)$XOj6i@KUMsi*0_62t!59R{^$^?z@46^OQS#9^r9o$i#A@<@ zBKrI(61TlfuA%(!6*+<9q?(+-6a`JK5M!Ev z2^BG6<}`y7E^;E^JWkANF)6S6Fu5Bdv%r9;Rq|V>sBL?HWY!eT-rj!{({r$gU;J6}xL@f1 zDz!gBo`x6tze4Ss2JlIm*#*(Cc>s;>9{f55H23S&e3;Zh%{@hPiii%~14xJ7sCgLE z_&P-nQ&970jW&>1_X6bA70t^a#R7RX#RlrseE@ape$B@qzXkGXejCWA2LSTvsup07 zYJou6Kp{N{P)HAHK?a2^P*B4BKmBAB6_WJI&GkN`donK>0R1f26b7W zxmuSE6wtc?3g|srH-maCP`B1o1i4>8*fp3D--r++(m0yMkPI^VMKhWaZuCoZFXXMR zt7$iQE{eJq(0$-F&|+6N-4Du5H@RH&5l|l5B;KS4Ks8cIe3u>s<)y6n7VQD0(8t7a z+6&4@kBKkRK2Uy|5|7d^g9^}Tv7a6SrP6mqnjQufM73@V+vQ#gaSee!3aUvoinVkA zR9Gw!QF;VaGwKjs^f6Eo@gBNBzXGa7Y@r|0qo8Jq41Jppf@&3$^iBFWs5WtszC?#W z%@$A47w9oi?cxNieFBswUd5aq2Q^204@vF`P#xk7(&Uq%I$aIO3r~TX>+;bJ^sAt{ zT)ptz)1bOtOQ?gM0o7yf_%F~^Ugb>+VaLBkZC-j7e~NgE+9m1x|3+dt@r00Bhpxjf zXL1jx8;%%Pb;MZt&r^&T#K3NRJC=)I7Sc@Px1kq7bUhwkxypULnW8$wE60$alyLuH z@(xbXJ3het4&BWH&232(PFqss)jg&N8Ou~sG*3~~sW+OU#*zqmOltXbuPH(bv$Sy7 zNKr^vOp#I&A+bqOSofJC2ze zYEcx?gQf^s&(aDOMJ;;B6opD6 zCT^h5foi0@SU{f#<)s7ozs?sxDUh6}UkByGWAvMJ1eBk?PbaV$IT`#2o9QShRkR_= zya*~NmeLq~5mX3iY7@N#s!5E}GCBq-EbgP(*wRP_yzShh)O7(2H@2O?Df=u5aRJjT z_g&0rB~KAh#JDS27Oc?*DoS&BX<#j@^2#g@ANBI;!e zZ-=mq1TJo*Z08an%ar=IrpneXjk62}FJ-W7vo5G*meaWzS5SYOKQrpwX7aBGZ5eN> z&v<#}m!V({5w3fP@+g<5V-3`NIRll)x@@PhIw&uyR$kz!jOwa`a&NWrB1dJ^Tpg7As+Id3l~J8_P+nZE-0!H25~_o;`E;}| z)u5v?O0N#e1JxtP9F~GNTSToRJjIY6si~GMs zQRj^<>i~_VdvK#wfD-h(&UO~mYe&|r1pS_~orU$xExzwc~kQN4C#HB8VSINRy1 z*N!Zn3Hn24JAL)qk+n8Kf8=aualLkAX-?1|JKO26*N&{@3HlRfI|KFFk%d2j%duk| z4%TZ&)(Hjusk5CW_1ckTML~b&Y$sN)9a)7G^etyQSJi7r7A*z+xwD<6_1cj&PC)PD$g{x*~F&q)`o85z!@$cj=1AN=f5!xFWJj(s=T%h+Hq} zxlFH?G>SwkBJYxPH`6yr8l|xnku{QTVfsc%_b|Oy(({;JCuzKF*GD#ho}!zov#R}~ a^O}_pUG!ait&6@_D#-s8z8?ko@Baic09$YX literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisRunQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..fb6ecedf8287e26f451e5ce8f4dace75166567a6 GIT binary patch literal 6224 zcmc&&U365{75;8AKX+#CWRih^gNQ+=nvj91|8+vBs90%}hy+ z{`Q`I_St9e9scz1)8_!(jthS53_`)KAlmU_5HDf3iamn!vf#WD#9q9r;x)nfso?BW z@w)iFp<=)I{!GQs#rI7WzYyQIRQ%G91A=@zh?-o5kuhmI+jYvwYgqE#5bPq&O=qVA(n`g!Ty-9$|vKU3cM(e&9jrr+5{)r?7` znYJ9v)UK`Nw>~KEK3#tKd+$L`A zEpK~^bmF$&^4_DQ6SoTv>BJqqG9uGwPnQoKPu%Hjr?$OT-g-81*HS4hpM9=8Imw^A zCS5QXjXr&JD5F1IG794x3i=q`Q1EPLUpkje8);)KY3bQQUe6@AgnoB=SP!6dVbW*CHlj(fH;F8Oj_T@WP zYaQSvdt~q^cUMx<6gt!LNk1yk%Drq}jN!97>&wgUgtl_2z9jyVkSSTo4GH$m!1_2YhchE&N06VjO6M6?5u8m9}Ys92j$=6pS2f-?mw?;&&hXgKODO{S(t!`UwVO?QqlZZNA%!av_ zm<1B=E^L!OUSDq<7wVW{39J^K76(*iL}~!C_O#YQBx|k>YN#~r64}5HvlOMD>et8Y zyk!^hV?u$N)^n>w@JWv7#S!^Xn>)K!GpK9UuI^vOsFU^;jAAKk@kLd`sm1HU)*g3{ zN;qC$fdlcGY8!HB=Zx_Nr+v%KoN294K#$fl;fD?Dey1zV?d+<_m1@JD-Z7ty z)vo;_BCOS2Oh|C5w-B!Gq<>NFADUg*1H~Da>ay4INVwfXOubKJe1T8GT)j_%GviZr z=lH~ZgHNiJm%q*iHkdCJ(#8X(sJ0!KsqxE1k5{nx%UUiO;E z9Vg324ovNzDDT`cbzrZ8o~!5?8aAV#p$N;5QyL~Qz|0fRdXt&a@OzxrP!h5;8qVSm zY}-yMZpv|9&~Q!wwt(q6uacCT($1`~Da~O)!_z_GC%EK8W)U^!?0NN zHGE&NTC175spxe06<60|HDoZrC#j(y0~!oGppsbK!> z(d^!mnazk&c;jU*yHi%kUJd8*3G*}2QS+30X*JPNiCgW6MM)&lQHhx-7374-anh5! zaAhablly3*qZ%qX3z4aGX?R|Q@wSGTF=s~e99G0s;dDYdr>xP34ST9!@Mq2}8-RjE zG&EAO^7*V(Em>wZDTR-a+2aWxId<6twQ!RCEoghWYIMvRpVbR1)kO5dtoallvrkNSIgYGLYkOt|S921{ za`K{w<9$2-UI6@P5(&mXJ-*6ah~HcI|E)#bMgfzqQE&$ZOvFaPT@)}m8wGb$z=UlS z^iaSgZWQ!Vz{GA8d>wNUz&%(=z`b<%AMlU@cAkOq=qWVybuXDf^CUb`uOKGi+aNgp zNvP3)ASMvBIU&K($O%<2VZmu3CtSfq1gDjpNCnd-I8k!iDx5ijGnbq>Hs=_9X~unA zZ=#=IP*nzW0d7Tt5naKEuE8A`VgN1Ng&mC7{Y1@^XTT~vz@3V%_y!*2;a78~@hdss zB=s$Fn$Smz^?@s6(DWcVZGf`4d&&FodJcDAK>M5UHXrW(1nvC^`Zmwrl4u@Ca7lTV z{t=;==To#Dg0?i~nZW!C!k_XI;!pWvUV-s_is&JPW8Rpr1{6y92@0jum|uWY2jq{b zHK1@RKu|apj0FTJ=zs#TU=1je3K0}ZX|a$1X%2`~4X7;@Ca5jd5(^7ZivtSBT53RZ zQW1jYq*`MU0cv$XkyvX5gal-Cw9BW)!$ z=B{) zU$m@uzG}VmIg^uuAGzDP_Db!@K}*4p-R&&AQaf@kbMG(n*2VM9oWWuakT*ncoIqT(DSo0~ zku>{8JbII)IWESdH%pp>Vm#U@X^x2TXqTip9LB|vDC}@7j7PhuKC T{KT#k+pF{V4*JJ={DuDj@I=;@ literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaRealTimeAnalysisStopQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..ea42d0f4708645eff214a6be3f4680704d854c3c GIT binary patch literal 8338 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 literal 0 HcmV?d00001 diff --git a/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.class b/szhpt-fixed-task/target/classes/cn/cecep/talroad/vo/query/analysis/SRaSelfMonitoringDataQuery.class new file mode 100644 index 0000000000000000000000000000000000000000..878f67963c15455fa7b81ab11f59316506a4fa5a GIT binary patch literal 22828 zcmeHOd3+Vs^}lD{OEO7bwwHAvK!68?BoH1D=NWFnIy#V!;hJ z6f25i6|_}c5vw2qYHO>uc3Mmr;i?#~lM59Em%^yNJI3O%UPL#)}snum3IgpZHv^cWu> z*Xap9?$qf?KJL=#DL#HRkDjJy*lahS?$PO4KJL}&IX>>wX+Iwi==3}vU(o4AK7LK7 zuk-OGUF_oHH+1?YA79q#6+XVIi#>e&mQLU1<7+y7hmYUY>3e+qzD_^j;}3QE5g&i7 z(@*&LQ=MMta%l#4%d@h2|+%*9{0_$wEG@E{>tl1Q*1G#)XFqFBe%{WOI?jh0aB8j+U1vE~5u@ zEgwhCr)veeR;X)5x>l@fCA#Lqg1 z=~|7h_1Colx;9YP0=hOx*9Pm_5M8U)wV}FJ$L{NOtwGm@u{b8i``G%e|YEKu3MixeE-dG-Sxzl?wz|2J+;5<`p2ZF+ODsl!bcB2|Kg#| z4-a`~-TEQjHy!A{<-wsYRZPbvkvNVj4js7j(DwBoQH8HHjB5zD#ANIJ-8Zc3`qIN) zH}C7Zo@1 zjEAuRj~h4q-3=SMw?EsxWzV}?o*|Lf(jLOCR#?}y4|eUl-Ntg2AwR_YL-*X)z5Av^ zS3MWTS)oD@OR8ZGY&XoitS!2RL~-}-_3v)D_2_}?SB`F6arD3qBuZnUl?b0;tg}6I zR_DraYdE%+L_zo7N4oYs1mYlzRS>;m?eb7$dNdLXMPhK&wdt|$T|1;NNzqq_+M+F% zbrDyyZW~wA*kRchu4<3AcD8UxH%EhLbLpYY+YavAarl{Shc`a!R8xvL?F_b|nif=p zMuCr;)V1?ITy6L6+tDNv715=uL+u@aQhD7s-gRi_7MqvXxe6DyQ1ys+@7~n4?!dvl zH$uRT#_dSQZnCg~W$mHMJ42C{wddhU@iThhw(iI8@7j3B!RI%UC<$HB5(>5AX3s|~ zv<0tTPsFYivf( z!myJ&KfF9*MG%QV3Oq4=yqgS@gr2fs?JC@gK2B%ik>kFbjvm-LvU}GvxP_y-cWow7 zCA&s*aOKk0;JKZl_O*-JgZzL=Tv^-P5@~D+wS-nR#)56_2(ZT0(MCMO_O%!>`A&p8 z8t2ao&JVRMn=QK^9^V-lku66PhBmiES2ivUMiKte&c>B%mm=~yR<(6@G`2+BLntEX z7Pti+%4uT#xEQbM?9JgwXin$KrJ?o(K@8(O*hgD}Z3~0#VLn&NEURH8rkr4_N#v}t zZ^5J!yn>44hT@5+#;!RL#}m`9ur<0e7><0*Q<=aKQh?xXxomcDmDLiY9>~i`?EOD| z)+cm9*%(!VZRkPewF!OVoTZnBT4EE1E=Cx|R)hglG&xI949xD)*b0vKeC7r0gu-WO zozp@KOqlSCB%YutPNc{gqa=wWb%sTAPXT&KzB}k{DEmkch7v517nVF-tIJDLCKIKx zKba_%rIyFkiMvcvQ`MRhW*Ipycc>f}k41-Q=mhUB?oe#70to}G&pwd@X?ehXoJ`lt3JU_sZ!Gb1 zi5CS@N3KMT^|DejstY$+JOgtg%m=Q6(!NM~kw6>u69INa^#rfq3^uOH%r9 zS-`cARt9=XvnGe-M=k3yJZ%UA{w?Qv`+Bx zlbDwnettWm65q-Orzv}Q7qf1t696)Nb35Yknv}1qaOIfxfs+`p@lzGBQ1lS6E{F